Il passaggio "crittografia" è ciò che rende EKE un algoritmo di scambio di chiavi autenticato con password ; il minimo condiviso di entropia (la password) può essere tollerato precisamente a causa di quel passaggio.
Si noti che si tratta di una crittografia speciale; non stiamo parlando di qualcosa come AES qui. L'idea può essere espressa approssimativamente nei seguenti termini:
- Esiste un algoritmo di scambio di chiavi di base, non autenticato, ad es. Diffie-Hellman .
- Entrambe le parti crittografano i loro messaggi con la password condivisa come chiave.
- La "crittografia" deve essere tale da convertire ogni messaggio in quello che potrebbe essere strutturalmente un altro messaggio valido per l'algoritmo di scambio della chiave di base.
- Ogni crittografia rappresenta un impegno .
L'ultimo punto è il più importante e tuttavia il più difficile da capire. Quando Alice invia il suo E p (g a ) (la sua metà di DH, crittografata con la password p ), lei si impegna nella password p . Può completare il calcolo DH, cioè trovare il segreto DH condiviso g ab , solo se suppone che anche Bob abbia usato la stessa password p . Una finta Alice, cercando di indovinare p , può provare a cambiare idea dopo e pensare: beh, ho inviato E p ( g a ) ma forse Bob stava usando la password p ', quindi Bob ha calcolato D p' (E p (g a )) e finisce con qualche elemento di gruppo g a ' su cui ha basato i suoi calcoli DH ... e lì Alice fallisce, perché non può sapere quel valore a '. Il livello di "crittografia con p quindi decodifica con p" "mette Alice al di fuori del DH interno. Il risultato netto è che una trascrizione di uno scambio di protocollo singolo tra Alice e Bob può servire per testare solo una password, la password p che inizialmente Alice usava. Questo è ciò che protegge la password dagli attacchi del dizionario offline.
(Tutto ciò che riguarda EKE e PAKE è nel paragrafo precedente. Continua a leggerlo finché non lo capisci o la tua testa cade.)