MALLA | |
---|---|
Creador | Nakahara , Raimen , Prenelle , Vandewalle |
publicado | 2002 |
Tamaño de clave | 128, 192, 256 bits |
Tamaño de bloque | 64, 96, 128 bits |
Número de rondas | 8.5, 10.5, 12.5 |
Tipo de | basado en IDEA , una modificación de Feistel Network |
En criptografía , MESH es un cifrado de bloque que es una modificación de IDEA . Diseñado por Georges Nakahara , Vincent Raimen , Bart Presnel y Joos Vandewalle en 2002. A diferencia de IDEA, MESH tiene una estructura redonda más compleja. Un algoritmo de generación de claves diferente permite a MESH evitar el problema de las claves débiles [1] .
Cada ronda en IDEA y MESH consta de operaciones de suma y multiplicación. La secuencia de tales cálculos dentro de una ronda forma el MA-box. Todas las cajas MA en MESH usan al menos tres niveles alternos de sumas y multiplicaciones (según el esquema "zig-zag"), mientras que en IDEA solo hay dos. Esto hace que MESH sea más resistente a los ataques criptográficos lineales y diferenciales . Además, para evitar el problema de las claves débiles, MESH utiliza los siguientes dos principios:
Al igual que IDEA, MESH utiliza las siguientes operaciones:
Las operaciones se enumeran en orden descendente de prioridad. En informática, un registro representa una palabra de 16 bits. Los índices se describen a continuación.
MESH se describe en tres tamaños de bloque: 64, 96, 128 bits. El tamaño de la clave se toma el doble de grande [2] .
En esta variación, el tamaño del bloque es de 64 bits, la clave es de 128 bits. El cifrado tiene lugar en 8,5 rondas. Half round se refiere a transformaciones de salida [3] .
Denote la información de entrada para la -ésima ronda:
Cada ronda consta de dos partes: mezclar datos de entrada con subclaves y cálculos MA. En rondas pares e impares, el barajado ocurre de manera diferente:
Las transformaciones realizadas por las cajas MA son las mismas para todas las rondas. Los datos de entrada para ellos se obtienen de la siguiente manera:
Los cálculos de MA se describen mediante las siguientes fórmulas:
Usando los resultados obtenidos por las cajas MA, encontramos los datos de entrada para la siguiente ronda:
Según el esquema, para recibir un mensaje encriptado, después de la octava ronda es necesario realizar una mezcla según un esquema impar [4]
Para generar claves se utiliza una clave de usuario de 128 bits, así como constantes de 16 bits : , , se calculan en el campo de Galois módulo el polinomio . La clave de usuario se divide en 8 palabras de 16 bits .
Las subclaves se calculan de la siguiente manera [5] :
donde .
Para el descifrado, MESH, como IDEA, usa un esquema existente, pero con subclaves redondas modificadas. Designemos las subclaves utilizadas en el cifrado de la siguiente manera:
- subclaves de rondas completas;
- Conversiones de salida de enchufe.
Luego, las subclaves de descifrado se dan de la siguiente manera [6] :
En esta variación, el tamaño del bloque es de 96 bits, la clave es de 192 bits. El cifrado tiene lugar en 10,5 rondas. Half round se refiere a transformaciones de salida [7] .
Denote la información de entrada para la -ésima ronda:
Cada ronda consta de dos partes: mezclar datos de entrada con subclaves y cálculos MA. En rondas pares e impares, el barajado ocurre de manera diferente:
Las transformaciones realizadas por las cajas MA son las mismas para todas las rondas. Los datos de entrada para ellos se obtienen de la siguiente manera:
Los cálculos de MA se describen mediante las siguientes fórmulas:
Usando los resultados obtenidos por las cajas MA, encontramos los datos de entrada para la siguiente ronda:
Para recibir un mensaje encriptado, después de la décima ronda, es necesario mezclar según un patrón impar [8]
Se utiliza una clave de usuario de 192 bits para generar claves, así como constantes de 16 bits, al igual que para MESH-64.
Las subclaves se calculan de la siguiente manera [9] :
donde .
Para el descifrado, MESH, como IDEA, usa un esquema existente, pero con subclaves redondas modificadas. Designemos las subclaves utilizadas en el cifrado de la siguiente manera:
- subclaves de rondas completas;
- Conversiones de salida de enchufe.
Luego, las subclaves de descifrado se dan de la siguiente manera [10] :
En esta variación, el tamaño del bloque es de 128 bits, la clave es de 256 bits. El cifrado tiene lugar en 12,5 rondas. Half round se refiere a transformaciones de salida [11] .
Denote la información de entrada para la -ésima ronda:
Cada ronda consta de dos partes: mezclar datos de entrada con subclaves y cálculos MA. En rondas pares e impares, el barajado ocurre de diferentes maneras:
Las transformaciones realizadas por las cajas MA son las mismas para todas las rondas. Los datos de entrada para ellos se obtienen de la siguiente manera:
Los cálculos de MA se describen mediante las siguientes fórmulas:
Usando los resultados obtenidos por las cajas MA, encontramos los datos de entrada para la siguiente ronda:
Para recibir un mensaje encriptado, después de la ronda 12, es necesario mezclar según un patrón impar [12]
Se utiliza una clave de usuario de 256 bits para generar claves, así como constantes de 16 bits, al igual que para MESH-64 y MESH-96.
Las subclaves se calculan de la siguiente manera [13] :
donde .
Para el descifrado, MESH, como IDEA, usa un esquema existente, pero con subclaves redondas modificadas. Designemos las subclaves utilizadas en el cifrado de la siguiente manera:
- subclaves de rondas completas;
— conectar transformaciones de salida.
Luego, las subclaves de descifrado se dan de la siguiente manera [14] :
A continuación se muestra una tabla que contiene información calculada sobre posibles ataques criptográficos. Se trata de algoritmos truncados, el número de rondas se puede ver en la columna correspondiente. Los textos sin formato seleccionados se toman como datos , se indica el número requerido de tales (en bloques). El tiempo se mide en número de cálculos. La memoria refleja la cantidad de celdas de memoria requeridas para almacenar cualquier dato durante un ataque criptográfico. Como puede verse en la tabla, todas las variantes de MESH son más difíciles de descifrar con los criptoataques presentados que IDEA, en la que se basa [15] [16] .
Cifrar | criptoanálisis | rondas | Datos | Memoria | Tiempo |
---|---|---|---|---|---|
IDEA (8.5 rondas) |
Integral | ||||
Diferencia truncada. | |||||
diferencia imposible | |||||
diferencia imposible | |||||
MALLA-64 (8,5 vueltas) |
Integral | ||||
Diferencia truncada. | |||||
diferencia imposible | |||||
diferencia imposible | |||||
MALLA-96 (10,5 vueltas) |
Integral | ||||
Diferencia truncada. | |||||
diferencia imposible | |||||
diferencia imposible | |||||
MALLA-128 (12,5 rondas) |
Integral | ||||
Diferencia truncada. | |||||
diferencia imposible | |||||
diferencia imposible |
Criptosistemas simétricos | |
---|---|
Cifrados de flujo | |
Red Feistel | |
red SP | |
Otro |