Algoritmo Diffie

Anuncio
Universidad de Buenos Aires
Facultad de Ingeniería
66.69 – Criptografía y Seguridad Informática
Algoritmo Diffie-Hellman
Descripción
Es un algoritmo de intercambio seguro de claves.
La dificultad de computar logaritmos discretos hace que el algoritmo sea efectivo.
Opero en módulo p .
Raiz primitiva
Se dice que a es raiz primitiva de p si las potencias de a generan todos los enteros desde 1 hasta
p −1:
⎫
⎪
a mod p ⎪ Son diferentes y consisten en los enteros
⎬ desde 1 hasta p − 1 con alguna permutación.
...
⎪
p −1
a mod p ⎪⎭
a mod p
2
Elementos públicos
Un número primo q .
Un número α tal que α < q y α es raiz primitiva de q .
Generación de claves de usuario
Usuario A
Selecciona clave privada X A < q
Calcula clave pública Y A = α X A mod q
Usuario B
Selecciona clave privada X B < q
Calcula clave pública YB = α X B mod q
Cálculo de clave compartida
Intercambio
El usuario A transmite al usuario B su clave pública YA . El usuario B le envía su clave pública YB
Usuario A
Calcula K = (YB )
10/10/2007
XA
mod q
Pág. 1 de 2
66.69 – Criptografía y Seguridad Informática
Algoritmo Diffie-Hellman
Usuario B
Calcula K = (Y A )
XB
mod q
Demostración
Se verifica que
(YB ) X
A
(
mod q = α X B
)
XA
(
mod q = α X B • X A
) = (α )
XA XB
mod q = (Y A )
XB
mod q
Y por lo tanto ambas claves K resultan idénticas.
10/10/2007
Pág. 2 de 2
Descargar