En criptografía , una transformación de todo o nada ( AONT ), también conocida como protocolo de todo o nada , es un modo de cifrado que permite que los datos se entiendan solo si se conocen todos. Los AONT no son cifrados, pero con frecuencia utilizan cifrados simétricos y pueden aplicarse antes del cifrado. En términos exactos, "una AONT es una transformación aleatoria, invertible y sin clave, con la propiedad de que es difícil de invertir a menos que se conozca toda la salida". [1]
Algoritmos
El AONT original, la transformación del paquete , fue descrito por Ronald L. Rivest en su artículo de 1997 "Cifrado de todo o nada y la transformación del paquete" . [2] La transformación que Rivest propuso implicó preprocesar el texto plano haciendo XOR cada bloque de texto plano con el índice de ese bloque cifrado por una clave elegida al azar, luego agregando un bloque extra calculado por XORing esa clave aleatoria y los hashes de todos los bloques preprocesados. El resultado de este preprocesamiento se denomina pseudomensaje y sirve como entrada al algoritmo de cifrado. Deshacer la transformación del paquete requiere hash de cada bloque del pseudomensaje excepto el último, XORing todos los hash con el último bloque para recuperar la clave aleatoria, y luego usar la clave aleatoria para convertir cada bloque preprocesado de nuevo en su bloque de texto plano original. De esta manera, es imposible recuperar el texto sin formato original sin tener primero acceso a cada bloque del pseudomensaje.
Aunque el artículo de Rivest solo proporcionó una descripción detallada de la transformación del paquete que se aplica al modo CBC , se puede implementar utilizando un cifrado en cualquier modo . Por lo tanto, existen múltiples variantes: el paquete de transformación ECB , el paquete de transformación CBC, etc.
En 1999, Victor Boyko propuso otro AONT, demostrablemente seguro bajo el modelo de oráculo aleatorio . [1]
Aparentemente, aproximadamente al mismo tiempo, DR Stinson propuso una implementación diferente de AONT, sin suposiciones criptográficas. [3] Esta implementación es una transformación lineal, quizás resaltando alguna debilidad de seguridad de la definición original.
Aplicaciones
Los AONT se pueden utilizar para aumentar la fuerza del cifrado sin aumentar el tamaño de la clave. Esto puede ser útil, por ejemplo, para proteger secretos mientras se cumple con las regulaciones gubernamentales de exportación de criptografía . Los AONT ayudan a prevenir varios ataques.
Una de las formas en que los AONT mejoran la fuerza del cifrado es evitando que los ataques que revelan solo una parte de la información revelen algo, ya que la información parcial no es suficiente para recuperar nada del mensaje original.
Otra aplicación, sugerida en los documentos originales, es reducir el costo de la seguridad: por ejemplo, AONT puede procesar un archivo y luego solo una pequeña parte del mismo se puede cifrar (por ejemplo, en una tarjeta inteligente). AONT se asegurará de que, como resultado, todo el archivo esté protegido. Es importante usar la versión más fuerte de la transformación (como la de Boyko anterior).
AONT puede combinarse con corrección de errores hacia adelante para producir un esquema de compartición de secretos computacionalmente seguro . [4]
Otros usos de AONT se pueden encontrar en el relleno de cifrado asimétrico óptimo (OAEP).
Referencias
- ↑ a b Boyko, Victor (1999). Sobre las propiedades de seguridad de OAEP como una transformación de todo o nada . Actas de CRYPTO . Apuntes de conferencias en Ciencias de la Computación. 1666 . págs. 503–518. doi : 10.1007 / 3-540-48405-1_32 . ISBN 978-3-540-66347-8.
- ^ Rivest, Ronald (1997). Cifrado de todo o nada y transformación del paquete . Procedimientos de CIFRADO RÁPIDO DEL SOFTWARE . Apuntes de conferencias en Ciencias de la Computación. 1267 . págs. 210–218. doi : 10.1007 / BFb0052348 . ISBN 978-3-540-63247-4.
- ^ Stinson, DR (1 de enero de 2001). "Algo sobre todo o nada (transforma)". Diseños, Códigos y Criptografía . 22 (2): 133-138. doi : 10.1023 / A: 1008304703074 .
- ^ Resch, Jason; Plank, James (15 de febrero de 2011). AONT-RS: Combinación de seguridad y rendimiento en sistemas de almacenamiento dispersos (PDF) . Usenix FAST'11 .
enlaces externos
- Staple , un prototipo de código abierto Implementación de transformación de todo o nada.