Relleno de cifrado asimétrico óptimo - Optimal asymmetric encryption padding

En criptografía , el relleno de cifrado asimétrico óptimo ( OAEP ) es un esquema de relleno que se utiliza a menudo junto con el cifrado RSA . OAEP fue introducido por Bellare y Rogaway , y posteriormente estandarizado en PKCS # 1 v2 y RFC 2437.

El algoritmo OAEP es una forma de red Feistel que utiliza un par de oráculos aleatorios G y H para procesar el texto sin formato antes del cifrado asimétrico . Cuando se combina con cualquier permutación unidireccional de trampilla segura , se demuestra que este procesamiento en el modelo de oráculo aleatorio da como resultado un esquema combinado que es semánticamente seguro bajo el ataque de texto plano elegido (IND-CPA) . Cuando se implementa con ciertas permutaciones de trampilla (por ejemplo, RSA), OAEP también se demuestra seguro contra el ataque de texto cifrado elegido . OAEP se puede utilizar para construir una transformación de todo o nada .

OAEP satisface los siguientes dos objetivos:

  1. Agregue un elemento de aleatoriedad que pueda usarse para convertir un esquema de cifrado determinista (por ejemplo, RSA tradicional ) en un esquema probabilístico .
  2. Evite el descifrado parcial de textos cifrados (u otra fuga de información) asegurándose de que un adversario no pueda recuperar ninguna parte del texto sin formato sin poder invertir la permutación unidireccional de la trampilla .

La versión original de OAEP (Bellare / Rogaway, 1994) mostró una forma de " conciencia de texto plano " (que, según ellos, implica seguridad contra el ataque de texto cifrado elegido ) en el modelo de oráculo aleatorio cuando OAEP se usa con cualquier permutación de trampilla. Los resultados posteriores contradecían esta afirmación, mostrando que OAEP solo era seguro para IND-CCA1 . Sin embargo, se demostró que el esquema original en el modelo de oráculo aleatorio es IND-CCA2 seguro cuando se usa OAEP con la permutación RSA usando exponentes de cifrado estándar, como en el caso de RSA-OAEP. Victor Shoup ofreció un esquema mejorado (llamado OAEP +) que funciona con cualquier permutación unidireccional de trampilla para resolver este problema. Un trabajo más reciente ha demostrado que en el modelo estándar (es decir, cuando las funciones hash no se modelan como oráculos aleatorios) es imposible probar la seguridad IND-CCA2 de RSA-OAEP bajo la supuesta dureza del problema RSA .

Algoritmo

OAEP es una red Feistel

En el diagrama,

Para codificar,

  1. los mensajes se rellenan con k 1 ceros para que tengan una longitud de n  -  k 0 bits.
  2. r es una cadena de k 0 bits generada aleatoriamente
  3. G expande el k 0 bits de r a n  -  k 0 bits.
  4. X = m 00 ... 0 ⊕ G ( r )
  5. H reduce los n  -  k 0 bits de X a k 0 bits.
  6. Y = rH ( X )
  7. La salida es X || Y donde X se muestra en el diagrama como el bloque más a la izquierda e Y como el bloque más a la derecha.

Uso en RSA: el mensaje codificado se puede cifrar con RSA. La propiedad determinista de RSA ahora se evita mediante el uso de la codificación OAEP.

Para decodificar,

  1. recuperar la cadena aleatoria como r = YH ( X )
  2. recuperar el mensaje como m 00 ... 0 = XG ( r )

Seguridad

La seguridad de " todo o nada " proviene del hecho de que para recuperar m , uno debe recuperar la X completa y la Y completa ; X se requiere para recuperar r de Y , y r es necesaria para recuperar m de X . Dado que cualquier bit modificado de un hash criptográfico cambia completamente el resultado, la X completa y la Y completa deben recuperarse por completo.

Implementación

En el estándar PKCS # 1, los oráculos aleatorios G y H son idénticos. El estándar PKCS # 1 requiere además que los oráculos aleatorios sean MGF1 con una función hash apropiada.

Ver también

Referencias

  1. ^ M. Bellare , P. Rogaway . Cifrado asimétrico óptimo: cómo cifrar con RSA . Resumen ampliado en Advances in Cryptology - Eurocrypt '94 Proceedings, Lecture Notes in Computer Science Vol. 950, A. De Santis ed, Springer-Verlag , 1995. versión completa (pdf)
  2. ^ Eiichiro Fujisaki, Tatsuaki Okamoto, David Pointcheval y Jacques Stern . RSA: OAEP es seguro bajo el supuesto de RSA . En J. Kilian, ed., Advances in Cryptology - CRYPTO 2001, vol. 2139 de Lecture Notes in Computer Science, SpringerVerlag, 2001. versión completa (pdf)
  3. ^ Víctor Shoup. OAEP reconsiderado . IBM Zurich Research Lab, Saumerstr. 4, 8803 Ruschlikon, Suiza. 18 de septiembre de 2001. versión completa (pdf)
  4. ^ P. Paillier y J. Villar, Comercio unidireccional contra la seguridad del texto cifrado elegido en el cifrado basado en factoring , Avances en criptología - Asiacrypt 2006.
  5. ^ D. Brown, ¿Qué hashes hacen que RSA-OAEP sea seguro? , IACR ePrint 2006/233.
  6. ^ Brown, Daniel RL (2006). "¿Qué Hashes hacen que RSA-OAEP sea seguro?" (PDF) . Archivo ePrint de criptología IACR . Consultado el 3 de abril de 2019 .