Intercambio de claves Diffie-Hellman (intercambio de claves exponencial)

El intercambio de claves Diffie-Hellman, también llamado intercambio de claves exponencial, es un método de cifrado digital que utiliza números elevados a potencias específicas para producir claves de descifrado sobre la base de componentes que nunca se transmiten directamente, lo que hace que la tarea de un interruptor de código potencial sea matemáticamente abrumadora.

Para implementar Diffie-Hellman, los dos usuarios finales Alice y Bob, mientras se comunican a través de un canal que saben que es privado, acuerdan mutuamente números enteros positivos p y q, de modo que p es un número primo y q es un generador de p. El generador q es un número que, cuando se eleva a potencias de número entero positivas menores que p, nunca produce el mismo resultado para dos números enteros cualquiera. El valor de p puede ser grande, pero el valor de q suele ser pequeño.

Una vez que Alice y Bob han acordado p y q en privado, eligen claves personales de números enteros positivos a y b, ambas menores que el módulo de números primos p. Ninguno de los usuarios divulga su clave personal a nadie; lo ideal es que memoricen estos números y no los escriban ni los almacenen en ningún lugar. A continuación, Alice y Bob calculan las claves públicas a* y b* en función de sus claves personales de acuerdo con las fórmulas

a* = qa mod p

y

b* = qb mod p

Los dos usuarios pueden compartir sus claves públicas a* y b* a través de un medio de comunicación que se supone que es inseguro, como Internet o una red de área extendida (WAN) corporativa. A partir de estas claves públicas, cualquier usuario puede generar un número x sobre la base de sus propias claves personales. Alice calcula x usando la fórmula

x = (b*)a mod p

Bob calcula x usando la fórmula

x = (a*)b mod p

El valor de x resulta ser el mismo de acuerdo con cualquiera de las dos fórmulas anteriores. Sin embargo, las claves personales a y b, que son críticas en el cálculo de x, no se han transmitido a través de un medio público. Debido a que es un número grande y aparentemente aleatorio, un hacker potencial casi no tiene ninguna posibilidad de adivinar correctamente x, incluso con la ayuda de una computadora poderosa para realizar millones de pruebas. Por lo tanto, los dos usuarios pueden, en teoría, comunicarse de forma privada a través de un medio público con un método de cifrado de su elección utilizando la clave de descifrado x.

La limitación más grave de Diffie-Hellman en su forma básica o “pura” es la falta de autenticación. Las comunicaciones que usan Diffie-Hellman por sí mismas son vulnerables a los ataques de man in the middle. Idealmente, Diffie-Hellman debe usarse junto con un método de autenticación reconocido, como las firmas digitales, para verificar las identidades de los usuarios a través del medio de comunicación público. Diffie-Hellman es muy adecuado para su uso en la comunicación de datos, pero se usa con menos frecuencia para datos almacenados o archivados durante largos períodos de tiempo.

Leave a Reply