Crittografia Asimmetrica
L'idea alla base delle crittografia asimmetrica è quello di avere due chiavi diverse, una pubblica per la criptazione e una privata per la decriptazione, che deve essere mantenuta segreta.
Naturalmente le due chiavi devono essere tra loro indipendenti, in modo che dalla prima non si possa in nessun modo ricavare la seconda.
Con la crittografia asimmetrica:
-
si risolve il problema della riservatezza: criptando il messaggio con la chiave pubblica solo il possessore della chiave privata è in grado di decriptarlo;
-
si risolve il problema della autenticità del mittente: criptando il messaggio con la chiave privata solo con la corrispettiva chiave pubblica questo può essere decriptato.
Abbiamo quindi due modalità di funzionamento:
-
modalità confidenziale: sono garantite la riservatezza e l'integrità del messaggio;
-
modalità autenticazione: garantisce l'integrità e il non ripudio ma non viene garantita la riservatezza.
RSA
A e B due numeri primi molto grandi dell’ordine di 100 cifre.
G = A*B
H = (A-1) * (B-1)
KEYR: chiave privata
KEYT: chiave pubblica
(KEYR * KEYT) Mod H =1
Esempio:
A=3, B=11
G=33
H=20
* KEYR e KEYT devono essere numeri primi e il resto del KAYR*KEYT diviso H deve essere uguale a 1.
KEYR=3, KEYT=7, KEYR * KEYT=21
Il T è il messaggio da trasmettere ed è uguale al resto del messaggio elevato alla KEYT diviso G.
T=(M Exp KEYT) Mod G
2 elevato alla N deve essere maggiore di G
2 Exp N > G
N=6
Trasmettiamo M=“ABC”
In ASCII A=65, B=66, C=67
A=01000001
B=01000010
C=01000011
*raggruppiamo per 6 bit alla volta
I dati elaborati sono : 010000, 010100, 001001, 000011
In decimale M: 16, 20, 9, 3
Applichiamo la regola: (16 Exp 7) Mod 33, (20 Exp 7) Mod 33, (9 Exp 7) Mod 33, (3 Exp 7) Mod 33
Cioè : 268435456 Mod 33, 1280000000 Mod 33, 4782969 Mod 33, 2187 Mod 33
Cioè: 268435456 – 268435431, 1280000000 – 1279000074, 4782969 – 4782954, 2187 - 2178
Risultato Messaggio da trasmettere cifrato T= 25, 26, 15, 9
In ricezione
R=(T Exp KEYR) Mod G
Applichiamo la regola: (25 Exp 3) Mod 33, (26 Exp 3) Mod 33, (15 Exp 3) Mod 33, (9 Exp 3) Mod 33
Risultato Messaggio decodificato M= 16, 20, 9, 3