Controllo del partner
Supponiamo che A e B condividano una chiave segreta K.
A vuole comunicare con B e essere sicuro che sia lui.
- A genera un valore casuale r e lo manda a B.
- L’altro partner (possibilmente B) esegue la cifratura di r con la chiave K e ritrasmette il messaggio ad A.
- A confronta il messaggio ricevuto con quello che ottiene cifrando lui stesso r con K.
- Se sono d’accordo, allora A è “sicuro” che l’altro sia B.
Un avversario che ascolta la comunicazione, sa la cifratura di r in accordo alla chiave K, ma è difficile che A rimandi lo stesso r (casuale).
Questo protocollo permette di utilizzare il metodo di distribuzione delle chiavi di Diffie-Ellman nel caso che l’avversario sia passivo.
- Con un dialogo pubblico A e B stabiliscono un primo p e un generatore g del gruppo moltiplicativo Z[p].
- A e B scelgono segretamente due chiavi private a e b.
- Si scambiano i valori GA=g^a mod p e GB=g^b mod p .
- A e B calcolano la chiave segreta K=g^{ab} mod p .
Un avversario dovrebbe calcolare K dalla conoscenza di GA e GB, e ciò risulta apparentemente intrattabile (pur sapendo p e g ).