En criptoanálisis , el lema de apilamiento es un principio utilizado en criptoanálisis lineal para construir aproximaciones lineales a la acción de los cifrados de bloque . Fue introducido por Mitsuru Matsui (1993) como una herramienta analítica para el criptoanálisis lineal. [1] El lema establece que el sesgo (desviación del valor esperado de 1/2) de una función booleana lineal (cláusula XOR) de variables aleatorias binarias independientes está relacionado con el producto de los sesgos de entrada: [2]
o
¿Dónde está el sesgo (hacia cero [3] ) y el desequilibrio : [4] [5]
- .
Por el contrario, si el lema no se cumple, entonces las variables de entrada no son independientes. [6]
Interpretación
El lema implica que la operación XOR de variables binarias independientes siempre reduce el sesgo (o al menos no lo aumenta); además, la salida es imparcial si y solo si hay al menos una variable de entrada imparcial.
Nótese que para dos variables la cantidad es una medida de correlación de y , igual a ; puede interpretarse como la correlación de con .
Formulación del valor esperado
El lema de apilamiento se puede expresar de forma más natural cuando las variables aleatorias toman valores en . Si introducimos variables (asignando 0 a 1 y 1 a -1), entonces, por inspección, la operación XOR se transforma en un producto:
y como los valores esperados son los desequilibrios, , el lema ahora establece:
que es una propiedad conocida del valor esperado de las variables independientes .
Para las variables dependientes, la formulación anterior obtiene un término de covarianza (positiva o negativa) , por lo que el lema no se cumple. De hecho, dado que dos variables de Bernoulli son independientes si y solo si no están correlacionadas (es decir, tienen covarianza cero; ver falta de correlación ), tenemos el recíproco del lema de acumulación: si no se cumple, las variables no son independientes (no están correlacionadas).
Derivación booleana
El lema de acumulación permite al criptoanalista determinar la probabilidad de que la igualdad:
se cumple, donde las X son variables binarias ( es decir, bits: 0 o 1).
Sea P (A) "la probabilidad de que A sea verdadera". Si es igual a uno , A es seguro que ocurrirá, y si es igual a cero, A no puede ocurrir. En primer lugar, consideramos el lema de apilamiento para dos variables binarias, donde y .
Ahora, consideremos:
Debido a las propiedades de la operación xor , esto es equivalente a
X 1 = X 2 = 0 y X 1 = X 2 = 1 son eventos mutuamente excluyentes , por lo que podemos decir
Ahora, debemos hacer la suposición central del lema de la acumulación: las variables binarias con las que estamos tratando son independientes ; es decir, el estado de una no tiene efecto sobre el estado de ninguna de las otras. Por lo tanto, podemos desarrollar la función de probabilidad de la siguiente manera:
Ahora expresamos las probabilidades p 1 y p 2 como 1/2 + ε 1 y 1/2 + ε 2 , donde los ε son los sesgos de probabilidad: la cantidad en la que la probabilidad se desvía de 1/2 .
Por lo tanto, el sesgo de probabilidad ε 1,2 para la suma XOR anterior es 2ε 1 ε 2 .
Esta fórmula se puede extender a más X de la siguiente manera:
Tenga en cuenta que si alguno de los ε es cero, es decir, una de las variables binarias es imparcial, toda la función de probabilidad será imparcial, igual a 1/2 .
Una definición ligeramente diferente del sesgo es, de hecho, menos dos veces el valor anterior. La ventaja es que ahora con
tenemos
Añadir variables aleatorias equivale a multiplicar sus sesgos (segunda definición).
Práctica
En la práctica, las X son aproximaciones a las cajas S (componentes de sustitución) de los cifrados de bloque. Normalmente, los valores X son entradas a la caja S y los valores Y son las salidas correspondientes. Con solo mirar las cajas S, el criptoanalista puede determinar cuáles son los sesgos de probabilidad. El truco consiste en encontrar combinaciones de valores de entrada y salida que tengan probabilidades de cero o uno. Cuanto más cercana sea la aproximación a cero o uno, más útil será la aproximación en el criptoanálisis lineal.
Sin embargo, en la práctica, las variables binarias no son independientes, como se supone en la derivación del lema de apilamiento. Esta consideración debe tenerse en cuenta al aplicar el lema; no se trata de una fórmula automática de criptoanálisis.
Véase también
- Varianza de una suma de variables reales independientes
Referencias
- ^ Matsui, Mitsuru (1994). "Método de criptoanálisis lineal para el cifrado DES". Avances en criptología – EUROCRYPT '93 . Apuntes de clase en informática. Vol. 765. págs. 386–397. doi :10.1007/3-540-48285-7_33. ISBN 978-3-540-57600-6.S2CID 533517 .
- ^ Li, Qin; Boztaş, S. (diciembre de 2007). "Criptoanálisis lineal extendido y lema de apilamiento extendido" (PDF) . ISC Turquía . S2CID 5508314. Archivado desde el original (PDF) el 17 de enero de 2017.
- ^ El sesgo (y desequilibrio) también puede tomarse como un valor absoluto; si se utiliza el sesgo con signo invertido (sesgo hacia uno), el lema necesita un factor de signo adicional (-1)^(n+1) en el lado derecho.
- ^ Harpes, Carlo; Kramer, Gerhard G.; Massey, James L. (1995). "Una generalización del criptoanálisis lineal y la aplicabilidad del lema de apilamiento de Matsui". Avances en criptología – EUROCRYPT '95 . Apuntes de clase en informática. Vol. 921. págs. 24–38. doi :10.1007/3-540-49264-X_3. ISBN 978-3-540-59409-3.
- ^ Kukorelly, Zsolt (1999). "El lema de la acumulación y las variables aleatorias dependientes". Criptografía y codificación . Apuntes de clase sobre informática. Vol. 1746. págs. 186-190. doi :10.1007/3-540-46665-7_22. ISBN 978-3-540-66887-9.
- ^ Nyberg, Kaisa (26 de febrero de 2008). "Criptoanálisis lineal (conferencia de criptología)" (PDF) . Universidad Tecnológica de Helsinki, Laboratorio de Ciencias Informáticas Teóricas .