Protocolo Diffie-Hellman sobre curvas elípticas

El protocolo Diffie-Hellman de curva elíptica ( Ing.  Elliptic curve Diffie–Hellman , ECDH ) es un protocolo criptográfico que permite a dos partes que tienen pares de claves pública/privada en curvas elípticas obtener una clave secreta compartida utilizando un canal de comunicación desprotegido [1] [ 2] . Esta clave secreta se puede usar tanto para cifrar intercambios posteriores como para formar una nueva clave , que luego se puede usar para el intercambio posterior de información utilizando algoritmos de cifrado simétrico . Esta es una variación del protocolo Diffie-Hellman que usa criptografía elíptica [3] .

Descripción del algoritmo

Que haya dos suscriptores: Alice y Bob . Supongamos que Alice quiere compartir una clave secreta con Bob, pero un tercero puede escuchar el único canal disponible entre ellos. Inicialmente, se debe acordar un conjunto de parámetros ( para el caso general y para el campo característico ). Además, cada parte debe tener un par de claves, que consisten en una clave privada ( un número entero seleccionado al azar del intervalo ) y una clave pública (donde  es el resultado de hacer la operación de suma de elementos una vez ). Sean entonces el par de claves de Alice y el par de claves de Bob . Antes de ejecutar el protocolo, las partes deben intercambiar claves públicas.

Alicia calcula . Bob calcula . Secreto compartido  - (coordenada x del punto resultante). La mayoría de los protocolos estándar basados ​​en ECDH utilizan funciones de derivación de claves para obtener una clave simétrica a partir de un valor [4] [5] .

Los valores calculados por los participantes son iguales, ya que . De toda la información asociada con su clave privada, Alice solo revela su clave pública. Por lo tanto, nadie más que Alice puede determinar su clave privada, excepto un participante que pueda resolver el problema del logaritmo discreto en una curva elíptica . La clave privada de Bob es igualmente segura. Nadie excepto Alice o Bob puede calcular su secreto compartido, excepto un participante que pueda resolver el problema de Diffie-Hellman [6] .

Las claves públicas son estáticas (y respaldadas por un certificado) o efímeras (ECDHE para abreviar). Las claves efímeras se utilizan temporalmente y no necesariamente autentican al remitente, por lo que si se requiere autenticación, la prueba de autenticidad debe obtenerse de alguna otra manera [3] . Se requiere autenticación para eliminar la posibilidad de un ataque de intermediario . Si Alice o Bob usan una clave estática, se elimina la amenaza de un ataque de intermediario, pero no se puede proporcionar confidencialidad directa ni resistencia a la suplantación de identidad cuando la clave está comprometida , así como algunas otras propiedades de resistencia a ataques. . Los usuarios de claves privadas estáticas se ven obligados a verificar la clave pública de otra persona y utilizar la función de derivación de clave secreta compartida para evitar la fuga de información sobre la clave privada estática [7] . Para el cifrado con otras propiedades, se suele utilizar el protocolo MQV .

Cuando se usa un secreto compartido como clave, a menudo es deseable codificar el secreto para deshacerse de las vulnerabilidades que surgieron después de la aplicación del protocolo [7] .

Ejemplo [8]

La curva elíptica E sobre un campo tiene orden , donde P49  es un número primo , que consta de 49 dígitos en notación decimal.

Elegimos un polinomio irreducible

Y toma el punto de la curva elíptica

.

Comprobemos que su orden no es igual a 2

.

Por lo tanto, su orden es igual al orden del grupo , es decir, el número , y puede usarse para construir una clave. Deje , . Luego, las claves públicas de los participantes del protocolo se calculan como

. .

Y el secreto compartido será:

.

El valor (o parte de él) se utiliza como clave de un sistema simétrico .

Software

Véase también

Notas

  1. Un protocolo eficiente para el acuerdo de claves autenticadas, 2003 , p. 119.
  2. Barker et al., 2013 , pág. once.
  3. 1 2 Guía del implementador de Suite B para NIST SP 800-56A, 2009 , p. ocho.
  4. SEC 1: Criptografía de curva elíptica, 2009 , p. 63.
  5. Barker et al., 2013 , pág. 40
  6. Barker et al., 2013 , pág. veinte.
  7. 1 2 SEC 1: Criptografía de curva elíptica, 2009 , p. treinta.
  8. Una introducción elemental a la criptografía elíptica. Protocolos de criptografía de curva elíptica, 2006 , p. 85.

Literatura