Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos de Cifrado
Algoritmos de Cifrado
“Diffie – Hellman”
1. Objetivo
El algoritmo Diffie-Hellman tiene el objetivo de:
- Acordar una clave secreta entre dos máquinas, a través de un canal inseguro
y enviando únicamente dos mensajes.
- Acordar una clave simétrica con la que posteriormente cifrar las
comunicaciones entre dos máquinas.
- Lograr la dificultad de descifrado a través de calcular logaritmos discretos en
un campo finito.
2. Desarrollo
2.1. Historia del Algoritmo.
2.1.1. Creadores del Algoritmo.
- Bailey Whitfield “Whit” Diffie
- Martin Hellman
Martin Edward Hellman, nació el 2 de octubre de 1945, es un criptólogo
estadounidense. Hellman es famoso por ser el inventor junto a Whitfield Diffie,
de un sistema de criptografía de clave pública. Ambos publicaron en 1976, ‘New
Directions in Cryptography’, que introducía un cambio radical, un nuevo método
de distribución de claves que solucionó uno de los mayores problemas de la
criptografía hasta entonces, la distribución de claves.
2.1.3. Ataques
- Ataques Pasivos
Existe cuando una tercera persona obtiene los valores primos de generador y
referencia; también podría calcular la llave si tuviera solo uno de los valores
privados simplemente invirtiendo la función a=log discp (A) y b=log discp (B).
- Ataques Activos
El protocolo es sensible a ataques activos del tipo Man-in-the-middle. Si la
comunicación es interceptada por un tercero, éste se puede hacer pasar por el
emisor cara al destinatario y viceversa, ya que no se dispone de ningún
mecanismo para validar la identidad de los participantes en la comunicación. Así,
el "hombre en el medio" podría acordar una clave con cada participante y
retransmitir los datos entre ellos, escuchando la conversación en ambos
sentidos. Una vez establecida la comunicación simétrica, el atacante tiene que
seguir en medio interceptando y modificando el tráfico para que no se den
cuenta. Observar que para que el ataque sea operativo, el atacante tiene que
conocer el método de cifrado simétrico que será utilizado.
2.2. Funcional
El algoritmo Diffie-Hellman no es un algoritmo de cifrado como los otros, este es un
algoritmo de intercambio de claves.
1. Los dos usuarios A y B seleccionan públicamente un grupo multiplicativo finito,
G, de orden n y un elemento de G.
2. A genera un número aleatorio Xa, calcula Ya en G y transmite este elemento a B.
3. B genera un número aleatorio Xb, calcula Yb en G y transmite este elemento a A.
4. A recibe Yb y calcula (Yb)^Xa en G.
5. B recibe Ya y calcula (Ya)^Xb en G.
6. La llave es (Yb)^Xa = (Ya)^Xb.
Ahora, vemos que cualquier comunicación entre Alice y Bob puede ser leída por
Charlotte, así que sabemos que tendrán que cifrar la conversación.
Imaginemos que Alice y Bob van a usar un cifrado simétrico para generar su canal
cifrado, este va a ser RC4 128 bits. Alice y Bob tendrían que acordar una clave por
esa red insegura (Esta sería la clave 128 bits del RC4), ¿cómo pueden hacerlo sin
que Charlotte averigüe esa clave? Ahí es donde entra el algoritmo de intercambio
de claves de Diffie-Hellman.
2. Alice elige un número cualquiera menor que “p” y lo guarda en secreto. A ese
número lo vamos a llamar x, luego a partir de x saca A de esta forma:
A = k^x (mod p)
3. Ahora le toca a Bob elegir un número secreto (y menor que “p”) y realizar la
operación de antes para conseguir B.
Supongamos que y = 26
B = k^y (mod p)
B = 12^26 (mod 31) = 10
Y así ambos han llegado a la misma clave. Se puede observar que como Charlotte
no conoce ni “x” ni “y”, no puede obtener la clave.
Quizás con estos números no tardará mucho, pero normalmente se cogen números
de 300 dígitos, por lo que se tardaría un tiempo enorme en encontrar solución a esta
ecuación.
B^x (mod p) = g^y^x (mod p) = g^(yx) (mod p) = g^(xy) (mod p) = g^x^y (mod p) =
A^y (mod p)
(Siendo g el segundo numero elegido y p el número primo del principio)
2.3.1. Ventajas
- Genera una clave privada a ambos extremos de un canal de comunicación
inseguro.
- Su seguridad radica en la dificultad de calcular el logaritmo discreto de
números grandes.
- No necesita encriptar ni desencriptar ninguna información que debe ser
transmitida.
2.3.2. Desventajas
- No proporciona autenticación, no puede validar la identidad de los usuarios.
- Los usuarios tienen que seleccionar llave en secreto antes de empezar a
comunicarse.
- La especificidad de la función hecha por este protocolo es lo que lo hace
impráctico para su uso en dispositivos portátiles, ya que además de la
implementación del protocolo se requiere la implementación de los
algoritmos simétricos que se usarán durante la comunicación.
3. Conclusiones
4. Ejemplos
1. El protocolo "Off-The-Record Messaging", comúnmente llamado OTR, es un
protocolo criptográfico que proporciona un cifrado fuerte para conversaciones de
mensajería instantánea. OTR utiliza una combinación del algoritmo AES de claves
simétricas, el protocolo de intercambio de claves Diffie-Hellman y la función hash
SHA-1. Además de la autenticación y el cifrado, OTR aporta una confidencialidad
directa perfecta y cifrado maleable.
5. Bibliografía
- https://sergvergara.files.wordpress.com/2011/03/diffie-hellman.pdf
- http://wiki.elhacker.net/seguridad/criptografía/algoritmo-diffie-hellman
- https://www.youtube.com/watch?v=zW9vFS4Edcg
- https://www.redeszone.net/2010/11/16/criptografia-algoritmos-de-cifrado-de-
clave-asimetrica/
- http://cryptomex.org/SlidesCripto/CriptoAsim.pdf