Sunteți pe pagina 1din 3

Ana Maria Buta gr.

223 Informatica anul II Algoritmul RSA

Algebra computationala Prof. Sacarea Christian

Algoritmul de criptare RSA foloseste o cheie public si o cheie privata. Acest algoritm a fost descoperit in 1977 de un grup de cercettori de la MIT - Ronald Rivest, Adi Shamir, Leonard Adelman - si s-a numit cu initialele creatorilor lui: RSA.
Generarea cheilor 1. Se aleg doua numere prime suficient de mari P si Q 2. Se calculeaza N = P * Q si () phi = (P - 1)*(Q - 1). 3. Se alege un intreg E, 1 < E < phi astfel incat cmmdc(E, phi) = 1 4. Se calculeaza exponentul secret D, 1 < D < phi, astfel incat E * D 1 (mod

phi).

D = E^-1 mod phi (modular inversion).


5. Cheia publica este formata din perechea (N, E) iar cheia privata este (N, D). De asemenea valorile lui P si Q ar trebui sa fie private Criptarea Cel care trimite mesajul, inidividul A face urmatoarele: 1. Obtine cheia publica a celui care primeste mesajul, individul B 2. Transforma textul de trimis intr-un sir de octeti 3. Fiecare octet m din sirul de octeti generat anterior se va transforma in text cifrat C astfel: C = m^E mod N.

4. Trmite sirul de caractere criptate catre individul B


Decriptarea Cel care primeste mesajul, individul B face urmatoarele: 1. Foloseste cheia privata (N, D) pentru a calcula caracter din textul cifrat Nota: Implementarea se afla in fisierul RSA.java

m = C^D mod N, Pentru fiecare C

2. Extrage caracterele din fiecare intreg m generat la punctul 1 si obtine textul initial.

Fisierele aplicatiei
Directorul aplicatiei contine urmatoarele fisiere: RSA.java - implementarea algoritmului de criptare RSA - vezi pag 1 RSAFrame.java - implementarea Graphical User Interface RSAMain.java - punctul de intrare in aplicatie ExitListener.java - clasa auxiliara folosita in RSAFrame JDialogException.java - clasa pentru afisarea exceptiilor folosita in RSAFrame JPanelLargeText.java - clasa pentru afisarea unui text lung (ex. textul criptat) folosita in RSAFrame build.bat - executabil compileaza clasele aplicatiei. Conditie necesara: calea catre utilitarul javac trebuie sa fie pusa in PATH start.bat - dupa compilarea claselor de mai sus, acest executabil deschide aplicatia.

Ana Maria Buta gr. 223 Informatica anul II Manualul utilizatorului

Algebra computationala Prof. Sacarea Christian

1. Porniti aplicatia folosind executabilul start.bat dupa ce, in prealabil, ati rulat cu succes executabilul build.bat 2. Daca plicatia porneste corect veti vedea urmatoarea interfata grafica:

3. Introduceti numarul de biti al numerelor prime ce se vor genera. Apasati butonul Genereaza chei. Rezultatele acestei operatii vor aparea in casutele: Numarul prim P in baza 16 Numarul prim Q in baza 16 Cheia publica Cheia privata

Ana Maria Buta gr. 223 Informatica anul II


A se vedea in imaginea urmatoare.

Algebra computationala Prof. Sacarea Christian

4. Dupa generarea cheilor se poate initia operatia de criptare. Introduceti textul pe care doriti sa-l criptati in casuta Text de criptat si apasati butonul Cripteaza. Casuta Textul criptat va contine textul criptat, iar Textul decriptat dupa criptare va contine rezultatul decriptarii mesajului criptat anterior. A se vedea imaginea urmatoare.

S-ar putea să vă placă și