En criptografía , la confusión y la difusión son dos propiedades de un cifrado seguro identificadas por Claude Shannon en su informe clasificado de 1945, Una teoría matemática de la criptografía . [ 1 ] Estas propiedades, cuando están presentes, trabajan juntas para frustrar la aplicación de la estadística y otros métodos de criptoanálisis .
La confusión en un cifrado simétrico consiste en ocultar la correlación local entre la entrada ( texto plano ) y la salida ( texto cifrado ) al variar la aplicación de la clave a los datos, mientras que la difusión consiste en ocultar las estadísticas del texto plano al distribuirlas sobre un área mayor del texto cifrado. [ 2 ] Aunque los cifrados pueden ser solo de confusión ( cifrado de sustitución , libreta de un solo uso ) o solo de difusión ( cifrado de transposición ), cualquier cifrado de bloques "razonable" utiliza tanto confusión como difusión. [ 2 ] Estos conceptos también son importantes en el diseño de funciones hash criptográficas y generadores de números pseudoaleatorios , donde la decorrelación de los valores generados es la característica principal. La difusión (y su efecto de avalancha ) también es aplicable a funciones hash no criptográficas .
Definición
Confusión
La confusión implica que cada dígito binario (bit) del texto cifrado debe depender de varias partes de la clave, ocultando las conexiones entre ambas. [ 3 ]
La propiedad de confusión oculta la relación entre el texto cifrado y la clave.
Esta propiedad dificulta encontrar la clave a partir del texto cifrado, y si se cambia un solo bit de la clave, el cálculo de la mayoría o de todos los bits del texto cifrado se verá afectado.
La confusión aumenta la ambigüedad del texto cifrado y es utilizada tanto por los cifradores de bloques como por los de flujo.
En las redes de sustitución-permutación , la confusión la proporcionan las cajas de sustitución . [ 4 ]
Difusión
La difusión significa que si cambiamos un solo bit del texto plano, entonces aproximadamente la mitad de los bits del texto cifrado deberían cambiar, y de manera similar, si cambiamos un bit del texto cifrado, entonces aproximadamente la mitad de los bits del texto plano deberían cambiar. [ 5 ] Esto es equivalente a la expectativa de que los esquemas de cifrado exhiban un efecto de avalancha .
El propósito de la difusión es ocultar la relación estadística entre el texto cifrado y el texto plano. Por ejemplo, la difusión garantiza que cualquier patrón en el texto plano, como bits redundantes, no sea evidente en el texto cifrado. [ 3 ] Los cifrados de bloques logran esto "difundiendo" la información sobre la estructura del texto plano a través de las filas y columnas del cifrado.
En las redes de sustitución-permutación, la difusión se proporciona mediante cajas de permutación (también conocidas como capa de permutación [ 4 ] ). A principios del siglo XXI, surgió un consenso en el que los diseñadores preferían que la capa de permutación consistiera en funciones booleanas lineales , aunque también se pueden usar funciones no lineales. [ 4 ]
Teoría
En las definiciones originales de Shannon, la confusión se refiere a hacer que la relación entre el texto cifrado y la clave simétrica sea lo más compleja y enrevesada posible; la difusión se refiere a disipar la estructura estadística del texto plano en la mayor parte del texto cifrado . [ 6 ] Esta complejidad generalmente se implementa a través de una serie bien definida y repetible de sustituciones y permutaciones . La sustitución se refiere al reemplazo de ciertos componentes (generalmente bits) por otros componentes, siguiendo ciertas reglas. La permutación se refiere a la manipulación del orden de los bits según algún algoritmo. Para ser efectiva, cualquier no uniformidad de los bits del texto plano debe redistribuirse en estructuras mucho más grandes en el texto cifrado, lo que hace que esa no uniformidad sea mucho más difícil de detectar.
En particular, para una entrada elegida al azar, si se invierte el i -ésimo bit, la probabilidad de que el j -ésimo bit de salida cambie debe ser de un medio, para cualquier i y j; esto se denomina criterio de avalancha estricto . [ 7 ] De manera más general, se puede exigir que invertir un conjunto fijo de bits cambie cada bit de salida con una probabilidad de un medio.
Uno de los objetivos de la confusión es dificultar enormemente la búsqueda de la clave, incluso si se dispone de un gran número de pares texto plano-texto cifrado generados con la misma clave. Por lo tanto, cada bit del texto cifrado debe depender de bits diferentes de la clave. En concreto, modificar un bit de la clave debería cambiar completamente el texto cifrado.
Aplicaciones prácticas
El diseño de un cifrado de bloques moderno utiliza tanto confusión como difusión, [ 2 ] donde la confusión cambia los datos entre la entrada y la salida aplicando una transformación no lineal dependiente de la clave (los cálculos lineales son más fáciles de revertir y, por lo tanto, son más fáciles de romper).
La confusión implica inevitablemente cierta difusión, [ 8 ] por lo que un diseño con una caja S de entrada muy amplia puede proporcionar las propiedades de difusión necesarias, pero será muy costoso en su implementación. Por lo tanto, los cifrados prácticos utilizan cajas S relativamente pequeñas, que operan en pequeños grupos de bits ("paquetes" [ 9 ] ). Por ejemplo, el diseño de AES tiene cajas S de 8 bits, Serpent de 4 bits, BaseKing y 3-way de 3 bits. [ 10 ] Las cajas S pequeñas proporcionan casi ninguna difusión, por lo que los recursos se gastan en transformaciones de difusión más simples. [ 8 ] Por ejemplo, la estrategia de rastro amplio popularizada por el diseño de Rijndael , implica una transformación de mezcla lineal que proporciona una alta difusión, [ 11 ] aunque las pruebas de seguridad no dependen de que la capa de difusión sea lineal. [ 12 ]
Una de las estructuras de cifrado más investigadas utiliza la red de sustitución-permutación (SPN), donde cada ronda incluye una capa de permutaciones no lineales locales ( cajas S ) para la confusión y una transformación de difusión lineal (generalmente una multiplicación por una matriz sobre un campo finito ). [ 13 ] Los cifrados de bloques modernos siguen mayormente el modelo de capa de confusión/capa de difusión, con la eficiencia de la capa de difusión estimada mediante el llamado número de rama , un parámetro numérico que puede alcanzar el valorpara s paquetes de entrada para la transformación de difusión perfecta. [ 14 ] Dado que las transformaciones que tienen un alto número de ramificaciones (y por lo tanto requieren muchos paquetes como entradas) son costosas en la implementación, la capa de difusión a veces (por ejemplo, en el AES) se compone de dos subcapas, "difusión local" que procesa subconjuntos de los paquetes de forma de ladrillo (cada subconjunto se transforma de forma independiente) y "dispersión" que hace que los bits que estaban "cerca" (dentro de un subconjunto de paquetes) se vuelvan "distantes" (se extienden a diferentes subconjuntos y por lo tanto se difunden localmente dentro de estos nuevos subconjuntos en la siguiente ronda). [ 15 ]
Análisis de AES
El Estándar de Cifrado Avanzado (AES) posee excelentes mecanismos de confusión y difusión. Sus tablas de búsqueda de confusión son muy no lineales y eficaces para destruir patrones. [ 16 ] Su etapa de difusión distribuye cada parte de la entrada a cada parte de la salida: en promedio, al cambiar un bit de la entrada, se modifica la mitad de los bits de la salida. Tanto la confusión como la difusión se repiten varias veces para cada entrada, lo que aumenta la cantidad de cifrado. La clave secreta se incorpora en cada etapa, de modo que un atacante no puede precalcular el funcionamiento del cifrado.
Nada de esto ocurre cuando se utiliza un cifrado simple de una sola etapa basado en una clave. Los patrones de entrada se transmitirían directamente a la salida. A simple vista podría parecer aleatorio, pero un análisis revelaría patrones evidentes y el cifrado podría descifrarse.
Véase también
Referencias
- ↑ "Teoría de la información y entropía". Inferencia basada en modelos en las ciencias de la vida: una introducción a la evidencia . Springer Nueva York. 1 de enero de 2008. págs. 51–82 . doi : 10.1007/978-0-387-74075-1_3 . ISBN 9780387740737.
- 1 2 3 Stamp & Low 2007 , pág. 182.
- 1 2 Shannon, CE (octubre de 1949). "Teoría de la comunicación de los sistemas de secreto*" . Bell System Technical Journal . 28 (4): 656– 715. doi : 10.1002/j.1538-7305.1949.tb00928.x .
- ^ Liu, Rijmen y Leander 2018 , pág .1.
- ↑ Stallings, William (2014). Criptografía y seguridad de redes (6.ª ed.). Upper Saddle River, NJ: Prentice Hall. págs. 67–68 . ISBN 978-0133354690.
- ↑ Shannon, CE (1949). "Teoría de la comunicación de los sistemas de secreto". Bell System Technical Journal . 28 (4): 656–715.
- ↑ Webster, AF; Tavares, SE (1986). "Sobre el diseño de cajas S". Avances en criptología – CRYPTO '85 . Notas de clase en ciencias de la computación. 218 : 523–534.
- ^ Daemen y Rijmen 2013 , pág. 130.
- ↑ Daemen y Rijmen 2013 , pág. 20.
- ↑ Daemen y Rijmen 2013 , pág. 21.
- ↑ Daemen y Rijmen 2013 , pág. 126.
- ^ Liu, Rijmen y Leander 2018 , pág. 2.
- ^ Li y Wang 2017 .
- ↑ Sajadieh et al. 2012 .
- ↑ Daemen y Rijmen 2013 , pág. 131.
- ↑ William, Stallings (2017). Criptografía y seguridad de redes: principios y práctica, edición global . Pearson. pág. 177. ISBN 978-1292158587.
Fuentes
- Claude E. Shannon, "Una teoría matemática de la criptografía" , Memorando técnico del sistema Bell MM 45-110-02, 1 de septiembre de 1945.
- Claude E. Shannon, " Teoría de la comunicación de los sistemas de secreto ", Bell System Technical Journal , vol. 28–4, páginas 656–715, 1949.Archivado el 5 de junio de 2007 en Wayback Machine.
- Wade Trappe y Lawrence C. Washington, Introducción a la criptografía con teoría de la codificación. Segunda edición. Pearson Prentice Hall, 2006.
- Li, Chaoyun; Wang, Qingju (2017). "Diseño de capas de difusión lineal ligeras a partir de matrices cercanas a MDS" (PDF) . IACR Transactions on Symmetric Cryptology . 1 : 129–155 . doi : 10.13154/tosc.v2017.i1.129-155 .
- Sajadieh, Mahdi; Dakhilalian, Mohammad; Mala, Hamid; Sepehrdad, Pouyan (2012). "Capas de difusión recursivas para cifrados de bloques y funciones hash". Cifrado rápido de software (PDF) . Notas de clase en ciencias de la computación. Vol. 7549. Springer Berlin Heidelberg. págs. 385–401 . doi : 10.1007/978-3-642-34047-5_22 . eISSN 1611-3349 . ISBN 978-3-642-34046-8ISSN 0302-9743
- Daemen, Joan; Rijmen, Vincent (9 de marzo de 2013). El diseño de Rijndael: AES - El estándar de cifrado avanzado (PDF) . Springer Science & Business Media. ISBN 978-3-662-04722-4OCLC 1259405449
- Stamp, Mark; Low, Richard M. (15 de junio de 2007). Criptoanálisis aplicado: Descifrando códigos en el mundo real . John Wiley & Sons. ISBN 978-0-470-14876-1OCLC 1044324461
- Liu, Yunwen; Rijmen, Vincent; Leander, Gregor (20 de enero de 2018). "Capas de difusión no lineales" (PDF) . Designs, Codes and Cryptography . 86 (11): 2469– 2484. doi : 10.1007/s10623-018-0458-5 . eISSN 1573-7586 . ISSN 0925-1022 .
- Criptografía de clave simétrica