ECIES

ECIES (eng. Elliptic Curve Integrated Encryption Scheme ) es un esquema de cifrado de clave pública basado en curvas elípticas. Este esquema fue propuesto por Victor Shoup en 2001. ECIES se utiliza en varios estándares como ANSI X9.63, IEEE 1363a, ISO 18033-2 y SECG SEC 1.

Antecedentes históricos

En 1997, los científicos Mihir Bellare y Phillip Rogaway inventaron el esquema DLAES ( Discrete Logarithm Augmented Encryption Scheme ), que posteriormente pasó a llamarse DHAES ( Diffie-Hellman Augmented Encryption Scheme ) en 1998, y posteriormente, para evitar confusión con la abreviatura AES , rebautizada como DHIES ( Diffie-Hellman Integrated Encryption Scheme ). DHIES es un esquema avanzado de ElGamal que utiliza curvas elípticas, varios algoritmos de inserción de simulación y funciones hash. [una]

DHIES fue evaluado por ANSI y, con algunas modificaciones, el esquema fue incluido en el estándar ANSI X9.63 en 2001. Además, de forma independiente, con algunas modificaciones, el esquema se incluyó en el estándar IEEE 1363 en 2000. En 2004, cuando el estándar ANSI X9.63 se hizo público, el IEEE revisó el esquema para tener en cuenta los méritos de los dos estándares ANSI X9.63 e IEEE 1363 anteriores, e incluyó el nuevo esquema en el estándar IEEE 1363a en 2004.

Todos los esquemas anteriores se denominan colectivamente ECIES ( Esquema de cifrado integrado de curva elíptica ).

En 2009, una de las versiones ECIES se incluyó en la norma ISO/IEC 18033-2, y en 2009 en la norma SECG SEC 1. [1]

Descripción del algoritmo

ECIES (Esquema de cifrado integrado de curva elíptica) incluye varias funciones:

  1. Key Agreement (KA) es una función para generar un secreto compartido. Por ejemplo, el protocolo Diffie-Hellman o sus modificaciones.
  2. Key Derivation Function (KDF) es una función para generar claves comunes a partir de un conjunto de datos y parámetros.
  3. El cifrado (ENC) es un algoritmo de cifrado utilizado por ambas partes.
  4. Código de autenticación de método (MAC): una función para generar datos de autenticación (inserción de imitación).
  5. Hash (HASH) es una función hash (usada en MAC y KDF).

Parámetros de entrada del algoritmo

Primera cara - Alicia : [2]

Segunda cara - Bob: [2]

Cifrado

Supongamos que Alice quiere enviar un mensaje a Bob. Alice tiene la clave pública de Bob, Bob tiene la clave privada correspondiente y Alice genera un par temporal de sus claves pública y privada . Las claves privadas son los elementos del campo final (el campo sobre el que se da la curva elíptica), y las claves públicas son los puntos que pertenecen a la curva elíptica y se calculan como el producto de la clave privada y el generador g de la curva elíptica. [3]

Para enviar un mensaje, Alice hace lo siguiente: [3]

Descifrado

En cuanto al proceso de descifrado, los pasos que debe seguir Bob son los siguientes: [4]

Comparación con otros algoritmos

La seguridad de ECIES se basa en la complejidad computacional del problema de logaritmo discreto de grupo de curva elíptica ( ECDLP ). Los algoritmos criptográficos también pueden basarse en la complejidad computacional de los problemas de factorización (ejemplo de algoritmo: RSA ) y logaritmo discreto ( esquema ElGamal ). Sin embargo, ECDLP se considera la más difícil [5] de estas tres tareas, lo que lleva a una importante ventaja de ECIES: el tamaño de la clave.

Comparación de longitudes de clave ECIES y RSA [6]
Nivel de seguridad (bits) Longitud de clave RSA (bits) Longitud de clave ECIES (bits)
80 1024 160-223
112 2048 224-255
128 3072 256-283
192 7680 384-511
256 15360 512-571

La ventaja en el tamaño de la clave le permite exigir menos al hardware (por ejemplo, en el tamaño del búfer, RAM y memoria física; en el ancho de banda del canal en el caso de transferir claves a través de la red).

Una desventaja importante de ECIES en comparación con otros algoritmos criptográficos es la existencia de varias versiones de ECIES descritas por diferentes estándares ( ANSI X9.63, IEEE 1363a, ISO/IEC 18033-2 y SECG SEC 1). Las diferencias entre estos estándares son la elección de funciones y parámetros específicos para la implementación de los componentes ECIES (KA, KDF, ENC, MAC, HASH). La desventaja es que no es posible implementar una versión de ECIES que satisfaga todos los estándares [6] .

Ataques notables a ECIES

"Vulnerabilidad suave"

Victor Shope probó [7] que si la clave pública U no está incluida en la entrada de KDF y si solo se usa la coordenada x del secreto compartido en el KDF, entonces ECIES es susceptible a ataques de texto cifrado elegido adaptativo (CCA2 )). La vulnerabilidad se denomina "suave" porque ningún ataque pudo obtener información significativa utilizando esta vulnerabilidad.

Una posible solución sugerida por Shoup es agregar la clave pública U a la entrada del KDF.

Vulnerabilidad al usar la función XOR

Shoup también demostró [8] que el esquema ECIES puede ser vulnerable cuando se utiliza la función XOR al cifrar mensajes de longitud variable. En particular, esto puede generar una vulnerabilidad a los ataques de texto cifrado adaptativo elegido (CCA2) . Soluciones posibles:

Ataque de subgrupo pequeño (ing. '' Ataque de subgrupo pequeño '')

Este tipo de ataque es posible cuando un adversario proporciona específicamente una clave pública incorrecta. Si el remitente no autentica la clave pública de la otra parte, el adversario podrá reemplazar la clave pública con una clave más pequeña para obtener un secreto compartido u obtener información sobre la clave privada del remitente. Soluciones posibles:

Posibles configuraciones ECIES

Un ejemplo [12] de una implementación eficiente y segura de ECIES que cumple con IEEE 1363a e ISO/IEC 18033-2:

Notas

  1. 1 2 V. Gayoso Mart´ınez, F. Hernandez Alvarez, L. Hernandez Encinas , pp. 1-2.
  2. 1 2 V. Gayoso Martínez, L. Hernández Encinas, C. Sánchez Ávila , p. 9.
  3. 1 2 V. Gayoso Martínez, L. Hernández Encinas, C. Sánchez Ávila , pp. 9-10.
  4. V. Gayoso Martínez, L. Hernández Encinas, C. Sánchez Ávila , p. diez.
  5. N. Koblitz , págs. 3-4.
  6. 1 2 V. Gayoso Martínez, L. Hernández Encinas, C. Sánchez Ávila , p. 2.
  7. V. Shoup , pág. 13
  8. 12 V. Shoup , pág. 38.
  9. J. Stern , págs. 20-21.
  10. Quisquater, J., Koeune, F. , pág. veinte.
  11. 1 2 V. Gayoso Martínez, L. Hernández Encinas, A. Queiruga Dios , pp. 7-8.
  12. V. Gayoso Martínez, L. Hernández Encinas, A. Queiruga Dios , pp. 17-18.

Literatura

Artículos