Primero, mis disculpas por las matemáticas, y por simplificar demasiado las matemáticas.
La diferencia entre DHE y ECDH en dos viñetas:
- DHE utiliza aritmética modular para calcular el secreto compartido.
- ECDH es como DHE pero, además, utiliza curvas algebraicas para generar claves (una curva elíptica es un tipo de álgebra curva).
El método general en ambos casos sigue siendo Diffie – Hellman . (¿O lo estamos llamando Diffie – Hellman-Merkle en estos días?)
El secreto hacia adelante perfecto se logra utilizando pares de claves temporales para asegurar cada sesión; se generan según sea necesario, se guardan en la RAM durante la sesión y se descartan después de su uso.
Los pares de claves "permanentes" (los validados por una autoridad de certificación) se utilizan para la verificación de identidad y para firmar las claves temporales a medida que se intercambian. No para asegurar la sesión.
¿Eso explica un poco mejor las cosas?
Editar: para examinar sus ejemplos en detalle ...
clave de sesión secreta que nunca se comparte
Bueno, esta es la definición de intercambio de claves DH, pero no está relacionada con el perfecto secreto hacia adelante. DH permite que ambas partes calculen de forma independiente que el secreto compartido será , sin transmitir el secreto compartido de forma clara, a través del canal aún inseguro.
clave de sesión que cambia según la entrada aleatoria de ambos usuarios
... Ciertamente, ambos lados de la conexión utilizarán fuentes locales de aleatoriedad para derivar sus claves de sesión temporales, pero creo que las frases anteriores no captan el punto: el secreto hacia adelante perfecto se logra descartando las claves de sesión después de su uso.
clave de sesión que se deriva de un secreto compartido que solo los 2 usuarios saben
Ya estás pensando "¿Cómo nos da este hecho el secreto perfecto hacia delante?" Para enfatizar el punto: el secreto hacia adelante perfecto se logra descartando las claves de sesión después de su uso.