Après avoir lu la réponse sélectionnée de "Échange de clés Diffie-Hellman" en anglais clair 5 fois, je ne peux pas, pour la vie de moi, comprendre comment cela me protège d'une attaque MitM.
Compte tenu de l'extrait suivant (de la réponse de tylerl):
- Je trouve deux nombres premiers g et p et vous dire ce qu'ils sont.
- Vous choisissez ensuite un numéro secret ( a ), mais vous ne le dites à personne. Au lieu de cela, vous calculez ga mod p et me renvoyez ce résultat. (Nous appellerons cela A car il provient de a ).
- Je fais la même chose, mais nous appellerons mon numéro secret b et le nombre calculé B . Je calcule donc gb mod p et vous envoie le résultat (appelé " B ")
- Maintenant, vous prenez le numéro que je vous ai envoyé et faites exactement la même opération avec it . C'est donc Ba mod p .
- Je fais la même opération avec le résultat que vous m'avez envoyé, donc: Ab mod p .
Voici les 5 mêmes étapes avec Alpha contrôlant le réseau:
- Vous essayez de m'envoyer
g
etp
, mais Alpha intercepte et apprendg
etp
- Vous venez avec
a
et essayez de m'envoyer le résultat dega mod p
(A
), mais Alpha intercepte et apprendA
- Alpha propose
b
et vous envoie le résultat degb mod p
(B
) - Vous exécutez
Ba mod p
- Alpha exécute
Ab mod p
Pendant tout ce processus, Alpha fait semblant d'être vous et crée un secret partagé avec moi en utilisant la même méthode.
Maintenant, vous et Alpha, et Alpha et moi avons chacun des paires de secrets partagés.
Vous pensez maintenant qu'il est prudent de me parler en secret, car quand vous m'envoyez des messages cryptés avec votre secret Alpha les déchiffre en utilisant le secret créé par vous et Alpha, les crypte en utilisant le secret créé par Alpha et moi, puis me les envoie. Lorsque je vous réponds, Alpha fait la même chose en sens inverse.
Suis-je en train de manquer quelque chose ici?