Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Algoritmul RSA



Algoritmul RSA


Algoritmul RSA

The RSA algorithm was publicly described in 1978 by Ron Rivest, Adi Shamir, and Leonard Adleman at MIT; the letters RSA are the initials of their surnames, listed in the same order as on the paper.

RSA involves a public key and a private key. The public key can be known to everyone and is used for encrypting messages. Messages encrypted with the public key can only be decrypted using the private key.

Descriere

Generarea cheilor

  1. Generam doua numere prime mari, p si q
  2. Fie n = pq
  3. Fie m = (p-1)(q-1)
  4. Alegem cel mai mic numar e, astfel incat e si m sa fie prime intre ele. (cmmdc(e,m)=1)
  5. Gasim numarul d, astfel ca: de % m = 1

Publicam e si n ca si public key.
Pastram d si n ca si secret key.

Criptarea

C = Pe % n

Decriptarea

P = Cd % n

x % y inseamna restul impartirii intregi a lui x la y

Pentru siguranta metodei numerele p si q trebuie sa fie foarte mari (cel putin 100 cifre)

EXEMPLU

Generarea cheilor

1) Generarea (alegerea) numerelor  p si q (numere prime si fff mari)

Pentru usurinta calculelor in acest exemplu numereor vor fi de valori mici.:



p = 7
q = 19

2) Fie n = pq

n = 7 * 19
  = 133

3) Fie m = (p - 1)(q - 1)

m = (7 - 1)(19 - 1)
  = 6 * 18
  = 108

4) Cautam numarul e - intreg cel mai mic, ai e si m sa fie prime intre ele

e = 2 => gcd(e, 108) = 2 (no)
e = 3 => gcd(e, 108) = 3 (no)
e = 4 => gcd(e, 108) = 4 (no)
e = 5 => gcd(e, 108) = 1 (yes!)

5) Gasim d, astfel ca de % m = 1

Aceasta este echivalent cu a gasi d astfel ca de = 1 + nm unde n este integer. Rescriem astfel: d = (1 + nm) / e. Acum cautam succesiv pe n astfel ca d sa fie intreg:

n = 0 => d = 1 / 5 (no)
n = 1 => d = 109 / 5 (no)
n = 2 => d = 217 / 5 (no)
n = 3 => d = 325 / 5
           = 65 (yes!)

Public Key

n = 133
e = 5

Secret Key

n = 133
d = 65

Comunicarea

Criptare

Pentru exemplificare se cripteaza valoarea '6' (mesajul ce trebuie trimis; trebuie sa fie mai mica decat minimul dintre p si q).

C = Pe % n
  = 65 % 133
  = 7776 % 133
  = 62

Decriptarea

P = Cd % n
  = 6265 % 133
  = 62 * 6264 % 133
  = 62 * (622)32 % 133
  = 62 * 384432 % 133
  = 62 * (3844 % 133)32 % 133
  = 62 * 12032 % 133

Se repeta secventa de operatii care a redus 6265 la pana cand se reduce exponentul la .





Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright