El paso de "encriptación" es lo que convierte a EKE en un algoritmo de Password Authenticated Key Exchange ; el secreto compartido de baja entropía (la contraseña) se puede tolerar precisamente debido a ese paso.
Tenga en cuenta que es un cifrado especial; No estamos hablando de algo como AES aquí. La idea se puede expresar aproximadamente en los siguientes términos:
- Hay un algoritmo de intercambio de claves no autenticado, por ejemplo, Diffie-Hellman .
- Ambas partes cifran sus mensajes con la contraseña compartida como clave.
- El "cifrado" debe ser tal que convierta cada mensaje en lo que podría ser estructuralmente otro mensaje válido para el algoritmo de intercambio de clave base.
- Cada cifrado representa un compromiso .
El último punto es el más importante y, sin embargo, el más difícil de comprender. Cuando Alice envía su E p (g a ) (su mitad de DH, cifrada con la contraseña p ), ella confirma la contraseña p . Puede completar el cálculo de DH, es decir, encontrar el secreto de DH compartido gab , solo si ella asume que Bob también usó la misma contraseña p . Una Alicia falsa, tratando de adivinar p , puede intentar cambiar de opinión luego y pensar: bueno, envié E p ( g a ) pero tal vez Bob estaba usando la contraseña p ', por lo que Bob calculó D p' (E p (g a )) y terminó con un elemento de grupo ga' en el que se basó sus cálculos de DH ... y allí Alice falla, porque ella no puede saber ese valor a '. La capa de "cifrado con p y luego descifrado con p '" coloca a Alice fuera del DH interno. El resultado neto es que una transcripción de un solo protocolo de intercambio entre Alice y Bob puede servir para probar solo una contraseña, la contraseña p que Alice usó inicialmente. Esto es lo que protege la contraseña contra ataques de diccionario sin conexión.
(Todo sobre EKE y PAKE se encuentra en el párrafo anterior. Léalo una y otra vez hasta que lo entienda o su cabeza se caiga).