Articulo de referencia

Esquema de cifrado integrado

El esquema de cifrado integrado ( IES ) es un esquema de cifrado híbrido que proporciona seguridad semántica contra un adversario que puede usar ataques de texto simple o cifrad...

El esquema de cifrado integrado ( IES ) es un esquema de cifrado híbrido que proporciona seguridad semántica contra un adversario que puede usar ataques de texto simple o cifrado elegido . La seguridad del esquema se basa en el problema computacional 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), 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 variantes son idénticas hasta el cambio de un grupo subyacente [ aclaración necesaria ] .

Descripción informal de DLIES

Como descripción y descripción general breve e informal de cómo funciona IES, se utiliza un esquema de cifrado integrado de logaritmo discreto (DLIES), centrándose en iluminar la comprensión del lector, en lugar de detalles técnicos precisos.

  1. Alice obtiene 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 . g x {\displaystyle g^{x}}
    x {\displaystyle x}
  2. Alice genera un valor fresco, efímero , y su valor público asociado . y {\displaystyle y} g y {\displaystyle g^{y}}
  3. Luego, Alice calcula una clave simétrica utilizando esta información y una función de derivación de clave (KDF) de la siguiente manera: k {\displaystyle k} k = KDF ( g x y ) {\displaystyle k={\textrm {KDF}}(g^{xy})}
  4. Alice calcula su texto cifrado a partir de su mensaje real (mediante el cifrado simétrico de ) cifrado con la clave (utilizando un esquema de cifrado autenticado ) de la siguiente manera: c {\displaystyle c} m {\displaystyle m} m {\displaystyle m} k {\displaystyle k} c = E ( k ; m ) {\displaystyle c=E(k;m)}
  5. Alice transmite (en un solo mensaje) tanto el efímero público como el texto cifrado . g y {\displaystyle g^{y}} c {\displaystyle c}
  6. Bob, sabiendo y , ahora puede calcular y descifrar desde . x {\displaystyle x} g y {\displaystyle g^{y}} k = KDF ( g x y ) {\displaystyle k={\textrm {KDF}}(g^{xy})} m {\displaystyle m} c {\displaystyle c}

Tenga en cuenta que el plan no proporciona a Bob ninguna garantía sobre quién envió realmente el mensaje: este plan no hace nada para impedir que alguien se haga pasar por Alice.

Descripción formal de ECIES

Información requerida

Para enviar un mensaje cifrado a Bob mediante ECIES, Alice necesita la siguiente información:

  • La suite 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 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 ) — indicado . E {\displaystyle E}
  • Parámetros del dominio de la curva elíptica: para una curva sobre un campo primo o para una curva sobre un campo binario. ( p , a , b , G , n , h ) {\displaystyle (p,a,b,G,n,h)} ( m , f ( x ) , a , b , G , n , h ) {\displaystyle (m,f(x),a,b,G,n,h)}
  • La clave pública de Bob , que Bob genera de la siguiente manera: , donde es la clave privada que elige al azar. K B {\displaystyle K_{B}} K B = k B G {\displaystyle K_{B}=k_{B}G} k B [ 1 , n 1 ] {\displaystyle k_{B}\in [1,n-1]}
  • Alguna información compartida opcional: y S 1 {\displaystyle S_{1}} S 2 {\displaystyle S_{2}}
  • O {\displaystyle O} que denota el punto en el infinito .

Encriptación

Para cifrar un mensaje, Alice hace lo siguiente: m {\displaystyle m}

  1. genera un número aleatorio y calcula r [ 1 , n 1 ] {\displaystyle r\in [1,n-1]} R = r G {\displaystyle R=rG}
  2. deriva un secreto compartido: , donde (y ) S = P x {\displaystyle S=P_{x}} P = ( P x , P y ) = r K B {\displaystyle P=(P_{x},P_{y})=rK_{B}} P O {\displaystyle P\neq O}
  3. utiliza un KDF para derivar claves de cifrado simétrico y claves MAC : k E k M = KDF ( S S 1 ) {\displaystyle k_{E}\|k_{M}={\textrm {KDF}}(S\|S_{1})}
  4. encripta el mensaje: c = E ( k E ; m ) {\displaystyle c=E(k_{E};m)}
  5. Calcula la etiqueta del mensaje cifrado y : S 2 {\displaystyle S_{2}} d = MAC ( k M ; c S 2 ) {\displaystyle d={\textrm {MAC}}(k_{M};c\|S_{2})}
  6. Salidas R c d {\displaystyle R\|c\|d}

Descifrado

Para descifrar el texto cifrado, Bob hace lo siguiente: R c d {\displaystyle R\|c\|d}

  1. deriva el secreto compartido: , donde (es el mismo que Alice derivó porque ), o genera una salida fallida si S = P x {\displaystyle S=P_{x}} P = ( P x , P y ) = k B R {\displaystyle P=(P_{x},P_{y})=k_{B}R} P = k B R = k B r G = r k B G = r K B {\displaystyle P=k_{B}R=k_{B}rG=rk_{B}G=rK_{B}} P = O {\displaystyle P=O}
  2. Deriva claves de la misma manera que lo hizo Alice: k E k M = KDF ( S S 1 ) {\displaystyle k_{E}\|k_{M}={\textrm {KDF}}(S\|S_{1})}
  3. utiliza MAC para verificar la etiqueta y genera una salida fallida si d MAC ( k M ; c S 2 ) {\displaystyle d\neq {\textrm {MAC}}(k_{M};c\|S_{2})}
  4. utiliza un esquema de cifrado simétrico para descifrar el mensaje m = E 1 ( k E ; c ) {\displaystyle m=E^{-1}(k_{E};c)}

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 , 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.
  • IEEE 1363a (estándar no público) especifica DLIES y ECIES
  • ANSI X9.63 (estándar no público)
  • ISO/IEC 18033-2 (norma no pública)
  • 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.
  • Abdalla, Michel y Bellare, Mihir y Rogaway, Phillip: DHIES: un esquema de cifrado basado en el problema Diffie-Hellman, IACR Cryptology ePrint Archive, 1999.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Integrated_Encryption_Scheme&oldid=1141966890"