Uporaba kriptografije v internetu
Kazalo   
 

Številski primer za RSA

Vzemimo majhna števila, da bomo lahko računali na pamet oziroma s kalkulatorjem:

p=7

q=11

pq=77

(p-1)(q-1)=60

e=13

Za rešitev 13.d 1 mod 60

uporabimo Evklidov algoritem:

8 = 60 - 4.13

5 = 13 - 8

3 = 8 - 5

2 = 5 - 3

1 = 3 - 2

Zdaj postopek obrnemo tako, da dobimo 1 izraženo s faktorjema 60 in 13:

1 = 3 - (5 - 3) = (8 - 5) - (13 - 8 - 8 + 5) = 8 - 13 + 8 - 13 + 2.8 - 13 + 8 =

= 5. (60 - 4.13) - 3.13 = 5.60 - 23.13

- 13. 23 1 mod 60 , d = -23 -23 + 60 mod 60 37 mod 60

V tem primeru lahko šifriramo lahko bloke, manjše od 77 (kar ne zadostuje niti za en ASCII znak). Vzemimo, da zašifriramo sporočilo 15.

Potenciranje si olajšamo, če ga izvedemo po korakih in že vmes iščemo kongruenčna števila. To lahko naredimo, ker velja izrek:

Če je a b mod m in c d mod m, potem velja:
a+c b+d mod m, a-c b-d mod m, ac bd mod m.

15 37 x mod 77

154 = 50625 36 mod 77

1512 36.36.36 46656 71 -6 mod 77

1536 -216 -62 15 mod 77

1537 15.15 = 225 71 mod 77

Rezultat šifriranja sporočila 15 je torej 71.


Dešifriranje:

71 13 x mod 77

71 2 = 5041 36 mod 77

71 4 36.36 = 1296 64 -13 mod 77

71 12 -2197 -41 mod 77

71 13 -41.71 = -2911 -62 15 mod 77