Relleno de cifrado asimétrico óptimo


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 , [1] 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 aleatorio de Oracle da como resultado un esquema combinado que es semánticamente seguro bajo el ataque de texto sin formato elegido (IND-CPA) . Cuando se implementa con ciertas permutaciones de trampilla (p. ej., RSA), OAEP también se demuestra seguro contra el ataque de texto cifrado elegido . OAEP se puede utilizar para crear una transformación de todo o nada .

La versión original de OAEP (Bellare/Rogaway, 1994) mostró una forma de " conciencia de texto sin formato " (que, según afirmaron, 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 contradijeron esta afirmación, mostrando que OAEP solo era seguro para IND-CCA1 . Sin embargo, se demostró que el esquema original en el modelo aleatorio de Oracle 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. [2] Victor Shoup ofreció un esquema mejorado (llamado OAEP+) que funciona con cualquier permutación unidireccional de trampilla para resolver este problema.[3] Trabajos más recientes han 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 . [4] [5]

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.

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

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 adecuada. [6]


OAEP es una red Feistel