Integrado esquema de cifrado ( IES ) es un cifrado híbrido sistema que proporciona la seguridad semántica contra un adversario que está permitido el uso de texto plano escogido y -texto cifrado elegido ataques. La seguridad del esquema se basa en el problema computacional de Diffie-Hellman . Se estandarizan dos encarnaciones del IES: Esquema de cifrado integrado de logaritmo discreto (DLIES) y Curva elípticaEsquema de cifrado integrado (ECIES), que también se conoce como Esquema de cifrado aumentado de curva elíptica o simplemente Esquema de cifrado de curva elíptica. Estas dos encarnaciones son idénticas hasta el cambio de un grupo subyacente y, para ser concretos, nos concentramos en este último.
Descripción informal
Como descripción breve e informal y descripción general de cómo funciona IES, utilizamos un ejemplo basado en el esquema de cifrado integrado de logaritmo discreto (DLIES), que se centra en iluminar la comprensión del lector, en lugar de detalles técnicos precisos.
- Alice aprende la clave pública de Bob ,a través de una infraestructura de clave pública u otro método predistribuido. Suponemos que Bob conoce su propia clave privada.
- Alice genera un valor fresco y efímero , y su valor público asociado, .
- Alice luego calcula una clave simétrica utilizando esta información y una función de derivación clave KDF de la siguiente manera:.
- Alice calcula su texto cifrado de su mensaje real , es decir, el cifrado simétrico de , encriptado bajo clave (utilizando un esquema de cifrado autenticado ) de la siguiente manera:.
- Alice transmite (en un solo mensaje) tanto el público efímero y el texto cifrado .
- Bob, sabiendo y , ahora puede calcular y descifrar de .
Tenga en cuenta que el esquema no le da a Bob ninguna garantía sobre quién envió realmente el mensaje: el esquema no hace nada para evitar que alguien pretenda ser Alice.
Descripción formal
Informacion requerida
Para enviar un mensaje encriptado a Bob usando ECIES, Alice necesita la siguiente información:
- conjunto criptográfico que se utilizará, incluida una función de derivación de claves (p. ej., ANSI-X9.63-KDF con opción SHA-1 ), un código de autenticación de mensajes (p. ej., 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 (p. Ej., TDEA en modo CBC o esquema de cifrado XOR ) —notado;
- parámetros de dominio de curva elíptica: para una curva sobre un campo principal o para una curva sobre un campo binario;
- Clave pública de Bob: (Bob lo genera de la siguiente manera: , dónde es la clave privada que elige al azar: );
- información compartida opcional: y .
- denota el punto en el infinito
Cifrado
Para cifrar un mensaje Alice hace lo siguiente:
- genera un número aleatorio y calcula ;
- deriva un secreto compartido: , dónde (y );
- utiliza un KDF para derivar claves de cifrado simétricas y claves MAC :;
- cifra el mensaje: ;
- calcula la etiqueta del mensaje cifrado y : ;
- salidas .
Descifrado
Para descifrar el texto cifrado Bob hace lo siguiente:
- deriva el secreto compartido: , dónde (es el mismo que el derivado de Alice porque ), o las salidas fallaron si;
- deriva las claves de la misma manera que lo hizo Alice: ;
- usa MAC para verificar la etiqueta y las salidas fallaron si;
- utiliza un esquema de cifrado simétrico para descifrar el mensaje .
Referencias
- Victor Shoup, Una propuesta para un estándar ISO para el cifrado de clave pública , Versión 2.1, 20 de diciembre de 2001.
- Certicom Research, 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 , Revista de Ingeniería y Ciencias de la Computación, 2, 2 (2010), 7–13.
- Ladar Levison: Código para usar ECIES para proteger datos (ECC + AES + SHA) , lista de correo openssl-devel, 6 de agosto de 2010.
- Abdalla, Michel y Bellare, Mihir y Rogaway, Phillip: DHIES: Un esquema de cifrado basado en el problema Diffie-Hellman , IACR Cryptology ePrint Archive, 1999.