Un esempio numerico minuscolo mostra tutti i passi di RSA con conti eseguibili a mano.

Esempio — RSA giocattolo p=11p=11, q=13q=13

n=143n = 143, φ(n)=1012=120\varphi(n) = 10\cdot 12 = 120. Scegliamo e=7e=7 (coprimo con 120120). L’inverso di 77 modulo 120120 si trova con l’algoritmo di Euclide esteso: 7103=721=6120+17\cdot 103 = 721 = 6\cdot 120 + 1, quindi d=103d=103.

Codifica del messaggio m=9m=9: c=97mod143c = 9^7\bmod 143. Calcolo: 92=819^2 = 81, 94=812=6561=45143+1261269^4 = 81^2 = 6561 = 45\cdot 143 + 126\equiv 126, quindi 97=94929=126819(mod143).9^7 = 9^4\cdot 9^2\cdot 9 = 126\cdot 81\cdot 9 \pmod{143}. Si trova c48(mod143)c \equiv 48\pmod{143}.

Decodifica: 48103mod14348^{103}\bmod 143. Si verifica numericamente (esponenziazione veloce) che restituisce 99. ✓

Il messaggio m=9\boxed{m=9} viene cifrato in c=48c=48 con la chiave pubblica (n,e)=(143,7)(n,e)=(143,7) e recuperato con la chiave privata d=103d=103: è l’intero meccanismo di RSA in scala di giocattolo.

Collegamenti

Argomenti: Distribuzioni probabilita
Concetti: Aritmetica modulare · Crittografia rsa
Metodi: Rsa cifratura
Competenze: Calcolare · Usare formule