Dopo aver letto la risposta selezionata di "Diffie-Hellman Key Exchange" in inglese semplice 5 volte non riesco, per la vita di me, a capire come mi protegge da un attacco MitM.
Dato il seguente estratto (dalla risposta di tylerl ):
- I come up with two prime numbers g and p and tell you what they are.
- You then pick a secret number (a), but you don't tell anyone. Instead you compute ga mod p and send that result back to me. (We'll call that A since it came from a).
- I do the same thing, but we'll call my secret number b and the computed number B. So I compute gb mod p and send you the result (called "B")
- Now, you take the number I sent you and do the exact same operation with it. So that's Ba mod p.
- I do the same operation with the result you sent me, so: Ab mod p.
Ecco gli stessi 5 passaggi con Alpha che controlla la rete:
- Tenti di inviarmi
g
ep
, ma Alpha intercetta e imparag
ep
- Hai trovato
a
e prova a inviarmi il risultato diga mod p
(A
), ma Alpha intercetta e imparaA
- Alpha viene fornito con
b
e ti invia il risultato digb mod p
(B
) - Esegui
Ba mod p
- Alpha viene eseguito
Ab mod p
Durante l'intero processo Alpha fa finta di essere te stesso e crea un segreto condiviso con me usando lo stesso metodo.
Ora, sia tu che Alpha, e Alpha e io abbiamo entrambi dei segreti condivisi.
Ora pensi che sia sicuro parlare con me in segreto, perché quando mi mandi messaggi cifrati con il tuo Alfa segreto li decifra usando il segreto creato da te e Alpha, li crittografa usando il segreto creato da me e da Alpha, quindi invia loro a me. Quando ti rispondo, Alpha fa la stessa cosa al contrario.
Mi manca qualcosa qui?