Articulo de referencia

MULTI2

MULTI2 es un cifrador de bloques , desarrollado por Hitachi en 1988. Diseñado para criptografía de propósito general, su uso actual es el cifrado de transmisiones de televisión ...

MULTI2 es un cifrador de bloques , desarrollado por Hitachi en 1988. Diseñado para criptografía de propósito general, su uso actual es el cifrado de transmisiones de televisión de alta definición en Japón .

Detalles del cifrado

MULTI2 es un algoritmo de clave simétrica con un número variable de rondas. Tiene un tamaño de bloque de 64 bits y un tamaño de clave de 64 bits. Durante la programación de claves se utiliza una constante de cuadro de sustitución de 256 bits que depende de la implementación . La codificación y decodificación se realiza repitiendo cuatro funciones básicas (involuciones).

Historia

  • Patente MULTI2 de 1988 solicitada por Hitachi, Ltd el 28 de abril
  • Algoritmo de 1989 anunciado a la Sociedad de Procesamiento de Información DPS-SIG de Japón
  • Número de patente 4982429 concedido en 1991 para el algoritmo MULTI2 en Estados Unidos
  • Algoritmo de 1994 registrado en ISO/IEC 9979 y con número de registro asignado 9
  • 1995 Se adopta MULTI2 como cifrado estándar para la transmisión CS-Digital en Japón
  • Patente japonesa número 2760799 otorgada en 1998 para el algoritmo MULTI2

Criptoanálisis

Hay una gran clase de claves equivalentes en el cifrado de bloques Multi2. La clase más grande (encontrada hasta ahora) surge del hecho de que la función de redondeo Pi3 en la programación de claves no es biyectiva . Por ejemplo, con la siguiente clave de entrada de 40 bytes para la programación de claves:

45 ec 86 d8
b6 5e 24 d5
38 por 1 d 90
este fc a4 22
3e 39 1b e3
desde 03 0f cb
9c 9e d7 c6
1c e4 73 61
d0 de 39 86
58 5d 5b 90

Puede realizar las siguientes modificaciones de un solo byte (modificación aquí significa XOR contra el byte de clave original):

¿Se puede modificar el byte 5 con CF?
¿Se puede modificar el byte 7 con 77?
¿Se puede modificar el byte 20 con 9A?
¿Se puede modificar el byte 20 con A9?
¿Se puede modificar el byte 20 con D7?
¿Se puede modificar el byte 21 con 35?
¿Se puede modificar el byte 21 con 6A?
¿Se puede modificar el byte 21 con 9F?
¿Se puede modificar el byte 21 con CC?
¿Se puede modificar el byte 22 con 4D?
¿Se puede modificar el byte 22 con 7A?
¿Se puede modificar el byte 22 con A7?
¿Puede modificar el byte 23 con 53?
¿Se puede modificar el byte 23 con AE?

En este caso, hay 15 claves diferentes que se programarán en las mismas 8 claves de 32 bits para la ruta de cifrado masivo de los cifrados. Las claves son todas diferentes en la primera palabra clave utilizada en la función de redondeo de Pi3 (claves k[1] y k[5]). La colisión se produce porque una diferencia de un solo byte se convierte en un patrón como 0X0X0000 (rotado por 0, 8, 16 o 24 bits) que luego se expande a una variación de 0X000X00 y finalmente en la segunda última línea (con la rotación por 16 y el XOR) las diferencias se cancelan. Convirtiéndose en un delta cero.

El problema surge del hecho de que la función

x = ROL(x, y) ^ x

Donde ROL significa rotar a la izquierda en y bits, no es biyectivo para ningún valor de y. Existen problemas similares con las funciones Pi2 y Pi4, pero aparentemente son más difíciles de explotar porque el valor de rotación es menor.

Hay también otras observaciones, por ejemplo

x = ROL(x, 1) - x

Se encuentra en Pi3, una función de identidad para el 50% de los valores de x (donde el byte más significativo es cero).

Esto también significa que es posible tener claves débiles donde, en lugar de forzar diferencias de un solo byte en la clave, están en el texto simple, lo que produce una salida delta cero en Pi3 y posiblemente conduzca a un diferencial de 1R.

Véase también

  • ENTRADA DE REGISTRO DE ALGORITMOS, registrada en 1994
Obtenido de "https://es.wikipedia.org/w/index.php?title=MULTI2&oldid=1084903461"