El algoritmo Diffie-Hellman

  1. Introducción
  2. Algoritmo de ejemplo
  3. Ejemplo práctico


1. Introducción

En 1976 W. Diffie y M.E. Hellman encontraron un algoritmo de intercambio de claves de forma segura. Para ello es necesario encontrar un sistema de cifrado computacionalmente fácil de forma que el descifrado sea computacionalmente difícil, a menos que se disponga de la clave.


2. Algoritmo de ejemplo

Paso 1:
El usuario A elige una clave pública Apub y el usuario B elige una clave pública Bpub.

Paso 2:
El usuario A elige una clave privada Apriv y el usuario B elige una clave privada Bpriv.

Paso 3:
A partir de las claves públicas el usuario A calcula Atx=(Bpub^Apriv) % Apub y se lo envía a B, mientras que B calcula Btx=(Bpub^Bpriv) % APub y se lo envía a A.

Paso 4:
Finalmente los usuarios A y B pueden calcular una clave conocida por ambos.

Aclave = (Btx^Apriv) % Apub
Bclave = (Atx^Bpriv) % Apub

donde CA = CB = C.


3. Ejemplo práctico

Supongamos un usuario A con clave pública Apub=7 y clave privada Apriv=9, y un usuario B con clave pública Bpub=5 y clave privada Bpriv=11.

El usuario A calcula Atx=(Bpub^Apriv) % Apub = 5^9 % 7 = 6 y lo envía al usuario B.

El usuario B calcula Btx=(Bpub^Bpriv) % APub = 5^11 % 7 = 3 y lo envía al usuario A.

Los usuarios A y B calculan la clave:

- Aclave = (Btx^Apriv) % Apub = 3^9 % 7 = 6
- Bclave = (Atx^Bpriv) % Apub = 6^11 % 7 = 6


daniellerch.com