Diffie – Hellman - Ing. Aldo Jiménez Arteaga

Anuncio
Criptografía - Criptografía de Clave Pública
2016
Diffie – Hellman
es un grupo multiplicativo de los enteros módulo un número primo. También eligen una raíz
primitiva 𝛼 de 𝐺. La selección se hace a través de un medio inseguro.
Fue uno de los primeros de clave pública desarrollado por Whitfield Diffie y Martin Hellman en
1976. Se le conoce como el algoritmo de Intercambio Exponencial Diffie-Hellman, el cual basa
su seguridad en la dificultad de calcular logaritmos discretos en un campo finito y se emplea
para distribución de claves, pero no para cifrar y descifrar información.
Paso 2. Alice de manera privada selecciona o genera un número aleatorio 𝑎, el cual debe ser
un número primo. De igual forma Bob debe seleccionar o generar un número aleatorio 𝑏.
El algoritmo permite que dos entidades se pongan de acuerdo en un número, a través de un
canal público, y con la ventaja de que dicho número no pueda, de ninguna manera, ser
conocido por cualquier atacante que esté vigilando la comunicación, lo cual es de suma
importancia ya que dicha cantidad representa la clave simétrica que compartirán ambas
entidades en el intercambio confidencial de información. Matemáticamente, se basa en las
potencias de los números y en la función módulo discreto, de manera que el cálculo de
potencias discretas es fácil, pero la obtención de su función inversa (el logaritmo discreto), no
tiene una solución analítica para números grandes.
Descripción
El algoritmo basa su robustez en la dificultad para calcular logaritmos en grupos finitos. Utiliza
una raíz primitiva 𝛼 que pertenece a un grupo 𝐺 finito en módulo 𝑛; es decir, todas las
potencias de 𝛼 generan a los elementos del grupo desde 1 hasta 𝑛 − 1. Esto quiere decir,
que al elevar 𝛼 a una potencia se puede calcular su inverso; es decir
𝛼 𝑖 mod 𝑛 = 𝑥 ⇒ (log 𝛼 𝑥) mod 𝑛 = 𝑖
Este problema es conocido como el logaritmo discreto en un grupo cíclico (finito) lo cual
computacionalmente es muy costoso; requiere de una gran capacidad informática y mucho
tiempo para poder resolverlo.
Generación de Claves
El proceso de la generación de claves se indica en los siguientes pasos:
Paso 1. Los usuarios Alice y Bob seleccionan un grupo 𝐺 de orden 𝑛 tal que 𝐺 = ℤ∗𝑛 (𝑛 es un
número primo) y ℤ𝑛∗ el conjunto de los enteros menores que 𝑛 (primos relativos); es decir, 𝐺
1
Ing. Aldo Jiménez Arteaga
Paso 3. Alice calcula 𝛼 𝑎 mod 𝑛 ∈ 𝐺 y lo transmite a Bob; mientras tanto, Bob calcula
𝛼 𝑏 mod 𝑛 ∈ 𝐺 y lo transmite a Alice. Las transmisiones correspondientes se realizan de
manera pública.
Paso 4. Alice recibe 𝛼 𝑏 mod 𝑛 y calcula (𝛼 𝑏 )𝑎 mod 𝑛; por su parte B recibe 𝛼 𝑎 mod 𝑛 y
calcula (𝛼 𝑎 )𝑏 mod 𝑛.
Paso 5. Alice y Bob comparten una clave privada 𝑘𝑝 y están listos para intercambiar
información confidencial mediante el algoritmo simétrico de su elección.
En un inicio este algoritmo no fue concebido para cifrar información, sino para la distribución
segura de claves simétricas. Evidentemente, las claves están expuestas a ataques como el
hombre en medio, en el cual se puede sufrir una suplantación de identidades; el ataque se
nulifica por medio de firmas digitales.
𝛼, 𝑛 ⇒ ℤ∗𝑛
Alice
Bob
Número secreto 𝑎
𝑥𝐴 = 𝛼 𝑎 mod 𝑛
𝑘 = (𝑥𝐵 )𝑎 mod 𝑛
Número secreto 𝑏
𝑥𝐵 = 𝛼 𝑏 mod 𝑛
𝑘 = (𝑥𝐴 )𝑏 mod 𝑛
Criptografía - Criptografía de Clave Pública
Ejemplo
Alice y Bob quieren comunicarse a partir de un algoritmo de clave privada. Para acordar la
clave de cifrado utilizarán el intercambio de claves por Diffie-Hellman con parámetros públicos
𝑛 = 6899 y 𝛼 = 200.
Alice selecciona su número secreto 𝑎 = 2588, en tanto que Bob hace lo mismo y genera su
número 𝑏 = 6503. A continuación, cada quien genera su número público
𝐴 = 2002588 mod 6899
𝐴 = 6520
𝐵 = 2006503 mod 6899
𝐵 = 5767
y los hacen públicos. Cada quien de manera individual eleva el número público a su propio
número secreto para obtener la clave de descifrado
𝑘 = 57672588 mod 6899
𝑘 = 2793
𝑘 = 65206503 mod 6899
𝑘 = 2793
Ahora que ambos poseen un secreto compartido, la clave puede usarse para cualquier
algoritmo de clave privada como Rijndael, Twofish, RC6 o Serpent.
2
Ing. Aldo Jiménez Arteaga
2016
Descargar