Intercambio de claves Diffie-Hellman y protocolo ElGamal para un intercambio seguro de claves
En los números enteros, los logaritmos discretos son operaciones logarítmicas basadas en la congruencia y las raíces primitivas. En números reales, un logaritmo se define como un número x que = a para a y b dados. Asimismo, en cualquier conjunto G, para todos los números enteros k, la potencia se puede definir como , y el logaritmo discreto se refiere a un número entero k que = a.
En algunos casos especiales, los logaritmos discretos se pueden calcular rápidamente. Sin embargo, normalmente no existe una forma muy eficaz de calcularlo. Varios algoritmos importantes en criptografía de clave pública se basan en el supuesto de que encontrar una solución al problema de logaritmos discretos en un grupo cuidadosamente elegido no es un algoritmo eficiente.
Diffie-Hellman es un método de creación de claves en lugar de cifrado.
Algoritmo de intercambio de claves Diffie-Hellman y su optimización
El primer algoritmo de clave pública publicado apareció en el artículo de Diffie y Hellman, un artículo influyente que codifica la criptografía de clave pública sentó las bases.
El propósito de esta tecnología de intercambio de claves es permitir que dos usuarios intercambien de forma segura claves secretas para luego cifrar información. La eficacia del algoritmo de intercambio de claves Diffie-Hellman depende de la dificultad computacional de los logaritmos discretos.
De WIKI:
En su forma más simple, el primer protocolo propuesto utiliza el conjunto multiplicativo de números enteros módulo n del primo p) y su raíz primitiva g. El algoritmo se muestra a continuación, la parte verde es información no secreta y la parte roja es información secreta.
Luego, Alice y Bob negocian simultáneamente el elemento de grupo, que puede usarse como ** **-secreto agradable.
Alice y Bob terminarán con el mismo valor, porque en el modo p, y son iguales. Todos los demás valores (p, g, y) se pueden transmitir a través del canal público. Una vez que Alice y Bob descubren el secreto público, pueden usarlo como clave simétrica para comunicaciones cifradas entre las dos partes, ya que solo ellos pueden usarlo.
En 1984, T. Elgamal propuso un sistema de clave pública basado en logaritmos discretos, un algoritmo de cifrado asimétrico basado en el intercambio de claves Diffie-Hellman. El criptosistema ElGamal se utiliza en muchos estándares técnicos, como el Estándar de firma digital (DSS) y el estándar de correo electrónico S/MIME. Al igual que Diffie-Hellman, el usuario **** del sistema ElGamal es el mismo usuario que elige el número primo q y es seguidor primo de q.
El algoritmo de cifrado de ElGamal consta de tres partes: generación de claves, cifrado y descifrado.
Los pasos para la generación de claves son los siguientes:
Otros usuarios pueden utilizar la clave pública de Alice para el cifrado.
El algoritmo de cifrado que utiliza la clave pública de Alice para cifrar un mensaje que le envío es el siguiente:
Alice utiliza su clave privada para descifrarlo.
Si la información debe agruparse y luego enviarse como una serie de bloques de claves cifradas, entonces cada bloque de claves debe tener una x (clave privada) única. Si x se usa para múltiples fragmentos, el atacante usará el fragmento para calcular otros fragmentos.
La seguridad de ElGamal se basa en la dificultad computacional de los logaritmos discretos.
[1]Editor de Wikipedia.
Intercambio de claves Diffie-Herman [G/OL]. Wikipedia, 2018 (20180503) [2018-05-03]. 5
[2] "Principios y práctica de criptocodificación y seguridad de redes" (6ª edición), por Stallings
[3] Wikipedia, editor. Algoritmo criptográfico ElGamal [G/OL].Wikipedia, 2016(20161214) [2016-12-14]. https://zh.wikipedia.org/w/index.php?title=ElGamalE58AA0E5AF86E7AE97E6B395amp;oldid=42453545.