RSA

 informacja
Secure Internet Connections ISS Passwords Hackers Encryption Espionage NSA CIA S/Key SSL Information Security Priavacy Information PGP Digital signage

Generowanie kluczy

  1. Wybieramy losowo dwie liczby pierwsze p i q
  2. n = p * q
  3. Ø = (p - 1)(q - 1) // tocjent
  4. e gdzie NWD(e, Ø (n)) oraz e < n
  5. d * e % Ø (n)) == 1, d < Ø (n)

Generowanie kluczy

  1. p = 11 q = 17
  2. n = 11 * 17 = 187
  3. Ø = (11 - 1)(17 - 1) = 160
  4. e = 11, dla NWD(11, Ø (187) == 1
  5. 131 * 11 % 160 = 1

Klucz publiczny

[11, 187 ]


Klucz prywatny

[ 131, 187 ]

Szyfrowanie

c = m^e % n

m - to wiadomość do zaszyfrowania, m < n


m = 1918

8 = 19^11 % 187

18 = 18^11 % 187

Deszyfracja

m = c ^d % n


19 = 8 ^131 % 187

18 = 18 ^131 % 187

m = "19" + "18"

Dziękuję za uwagę
 github.com/informacja/rsa