Los pares de claves se utilizan para dos cosas:
- Cifrar un valor secreto para el cifrado simétrico
- Datos de firma para validación
Ambos RSA y DH se basa en algoritmos asimétricos. Así que tenemos dos casos para que ocurra un intercambio seguro.
RSA
Alice firma un mensaje a Bob y lo cifra con la clave pública de Bob. Envía un mensaje a Bob. Bob descifra con su clave privada. Verifica la firma para asegurarse de que Alice la envió. El mensaje va a ser una clave de cifrado simétrica. Esto es lo que se usa para asegurar la conexión.
DH
El intercambio Diffie Hellman se basa en dos entidades separadas que generan un valor secreto. A través de algo de math magic ambos pueden generar un valor secreto común. Este secreto común es lo que se utiliza como clave simétrica o para derivar claves simétricas. Pero estos valores secretos que se generan por cada lado se generan en el momento de la necesidad. No tienen una identidad asociada con ellos.
La última parte es por qué es posible que necesite ambos. Usando RSA puede tener un par de claves que hará tanto el cifrado como la firma. Con DH solo realiza el cifrado, no hay ningún mecanismo de firma . Por lo tanto, necesita un certificado RSA para poder validar los datos DH que está enviando.
Entonces, ¿por qué usar Diffie Hellman? Porque DH es la base para el perfecto secreto hacia adelante. Que es explicado mejor en esta respuesta .