El esquema de cifrado integrado ( IES ) es un esquema de cifrado híbrido que proporciona seguridad semántica contra un adversario capaz de utilizar ataques de texto plano elegido o texto cifrado elegido . La seguridad del esquema se basa en el problema computacional de Diffie-Hellman . Se especifican dos variantes de IES: el esquema de cifrado integrado de logaritmo discreto (DLIES) y el esquema de cifrado integrado de curva elíptica (ECIES), también conocido como esquema de cifrado aumentado de curva elíptica o simplemente esquema de cifrado de curva elíptica. Estas dos variantes son idénticas salvo por el cambio de un grupo subyacente .
Descripción informal de DLIES
Como descripción breve e informal del funcionamiento de IES, se utiliza un esquema de cifrado integrado de logaritmo discreto (DLIES), centrándose en facilitar la comprensión del lector, en lugar de en detalles técnicos precisos.
- Alice descubre la clave pública de Bob.a través de una infraestructura de clave pública o algún otro método de distribución. Bob conoce su propia clave privada..
- Alice genera un valor fresco y efímero.y su valor público asociado.
- Alice calcula entonces una clave simétrica.utilizando esta información y una función de derivación de clave (KDF) de la siguiente manera:
- Alice calcula su texto cifradode su mensaje real(mediante cifrado simétrico de) cifrado con la clave(utilizando un esquema de cifrado autenticado ) de la siguiente manera:
- Alice transmite (en un solo mensaje) tanto el público efímeroy el texto cifrado.
- Bob, sabiendoy, ahora puede calculary descifrarde.
Tenga en cuenta que este sistema no le ofrece a Bob ninguna garantía sobre quién envió realmente el mensaje: este sistema no impide que nadie se haga pasar por Alice.
Descripción formal de ECIES
Información requerida
Para enviar un mensaje cifrado a Bob usando ECIES, Alice necesita la siguiente información:
- El conjunto de criptografía que se utilizará, incluyendo una función de derivación de clave (por ejemplo, ANSI-X9.63-KDF con opción SHA-1 ), un sistema de código de autenticación de mensajes (por ejemplo, HMAC-SHA-1-160 con claves de 160 bits o HMAC-SHA-1-80 con claves de 80 bits ) y un esquema de cifrado simétrico (por ejemplo, TDEA en modo CBC o esquema de cifrado XOR ) — anotado.
- Parámetros del dominio de la curva elíptica:para una curva sobre un campo primo opara una curva sobre un campo binario.
- Clave pública de Bob, que Bob genera de la siguiente manera:, dóndees la clave privada que elige al azar.
- Información compartida opcional:y
- que denota el punto en el infinito .
Cifrado
Para cifrar un mensajeAlice hace lo siguiente:
- genera un número aleatorioy calcula
- deduce un secreto compartido:, dónde(y)
- Utiliza una función de derivación de clave (KDF) para obtener claves de cifrado simétricas y claves MAC :
- cifra el mensaje:
- calcula la etiqueta del mensaje cifrado y:
- resultados
Descifrado
Para descifrar el texto cifradoBob hace lo siguiente:
- deduce el secreto compartido:, dónde(es el mismo que el que derivó Alice porque), o las salidas fallaron si
- Deduce las claves de la misma manera que lo hizo Alicia:
- utiliza MAC para comprobar la etiqueta y muestra que falló si
- utiliza un esquema de cifrado simétrico para descifrar el mensaje.
Referencias
- SECG , Estándares para criptografía eficiente, SEC 1: Criptografía de curva elíptica , Versión 2.0, 21 de mayo de 2009.
- Gayoso Martínez, Hernández Encinas, Sánchez Ávila: Un estudio del esquema de cifrado integrado de curva elíptica , Journal of Computer Science and Engineering, 2, 2 (2010), 7–13.
- Ladar Levison: Código para usar ECIES para proteger datos (ECC + AES + SHA) , lista de correo openssl-dev, 6 de agosto de 2010.
- La norma IEEE 1363a (no pública) especifica DLIES y ECIES.
- ANSI X9.63 (norma no pública)
- ISO/IEC 18033-2 (norma no pública)
- Victor Shoup, Propuesta de una norma ISO para el cifrado de clave pública , Versión 2.1, 20 de diciembre de 2001.
- Abdalla, Michel y Bellare, Mihir y Rogaway, Phillip: DHIES: Un esquema de cifrado basado en el problema de Diffie-Hellman , Archivo de preimpresiones de criptología de la IACR, 1999.
- protocolos criptográficos