En criptografía , el efecto de avalancha es la propiedad deseable de los algoritmos criptográficos , normalmente cifrados de bloque [1] y funciones hash criptográficas , en las que si una entrada se cambia ligeramente (por ejemplo, voltear un solo bit), la salida cambia significativamente (p. Ej., La mitad los bits de salida se invierten). En el caso de cifrados en bloque de alta calidad, un cambio tan pequeño en la clave o en el texto sin formato debería provocar un cambio drástico en el texto cifrado . El término real se utilizó por primera vez por Horst Feistel , [1] aunque las fechas concepto nuevo por lo menos Shannon s'difusión .
Si una función de cifrado de bloque o hash criptográfico no exhibe el efecto de avalancha en un grado significativo, entonces tiene una mala aleatorización y, por lo tanto, un criptoanalista puede hacer predicciones sobre la entrada, y solo se le da la salida. Esto puede ser suficiente para romper parcial o completamente el algoritmo. Por tanto, el efecto de avalancha es una condición deseable desde el punto de vista del diseñador del algoritmo o dispositivo criptográfico.
La construcción de un cifrado o hash para exhibir un efecto de avalancha sustancial es uno de los principales objetivos del diseño, y matemáticamente la construcción aprovecha el efecto mariposa . [2] Esta es la razón por la que la mayoría de los cifrados en bloque son cifrados de producto . También es la razón por la que las funciones hash tienen grandes bloques de datos. Ambas características permiten que los pequeños cambios se propaguen rápidamente a través de iteraciones del algoritmo, de modo que cada bit de la salida debería depender de cada bit de la entrada antes de que termine el algoritmo. [ cita requerida ]
Criterio estricto de avalancha
El criterio estricto de avalancha ( SAC ) es una formalización del efecto de avalancha. Se satisface si, siempre que se complementa un solo bit de entrada , cada uno de los bits de salida cambia con una probabilidad del 50%. El SAC se basa en los conceptos de integridad y avalancha y fue introducido por Webster y Tavares en 1985. [3]
Las generalizaciones de orden superior de SAC involucran múltiples bits de entrada. Las funciones booleanas que satisfacen el SAC de orden más alto son siempre funciones dobladas , también llamadas funciones no lineales máximas, también llamadas funciones "no lineales perfectas". [4]
Criterio de independencia de bits
El criterio de independencia de bits ( BIC ) establece que los bits de salida j y k deben cambiar independientemente cuando se invierte cualquier bit de entrada i , para todo i , j y k . [5]
Ver también
Referencias
- ↑ a b Feistel, Horst (1973). "Criptografía y privacidad informática" . Scientific American . 228 (5): 15-23. Código Bibliográfico : 1973SciAm.228e..15F . doi : 10.1038 / scientificamerican0573-15 .
- ^ Al-Kuwari, Saif; Davenport, James H .; Bradford, Russell J. (2011). Funciones de hash criptográficas: tendencias de diseño recientes y nociones de seguridad . Inscrypt '10.
- ^ Webster, AF; Tavares, Stafford E. (1985). "Sobre el diseño de S-boxes". Avances en criptología - Crypto '85 . Apuntes de conferencias en Ciencias de la Computación. 218 . Nueva York, NY: Springer-Verlag New York, Inc. págs. 523–534. ISBN 0-387-16463-4.
- ^ Adams, CM ; Tavares, SE (enero de 1990). El uso de secuencias dobladas para lograr un criterio estricto de avalancha de orden superior en el diseño de caja S (informe). Informe técnico TR 90-013. Universidad de Queen . CiteSeerX 10.1.1.41.8374 .
- ^ William, Stallings (2016). Criptografía y seguridad de la red: principios y práctica (Séptima ed.). Bostón. pag. 136. ISBN 9780134444284. OCLC 933863805 .