MULTI2
MULTI2 is a block cipher, developed by Hitachi in 1988. Designed for general-purpose cryptography, its current use is encryption of high-definition television broadcasts in Japan.
Cipher details
MULTI2 is a symmetric key algorithm with variable number of rounds. It has a block size of 64 bits, and a key size of 64 bits. A 256-bit implementation-dependent substitution box constant is used during key schedule. Scramble and descramble is done by repeating four basic functions.History
- 1988 MULTI2 patent applied by Hitachi, Ltd on April 28
- 1989 Algorithm announced to DPS-SIG Information Processing Society of Japan
- 1991 Patent number 4982429 granted for MULTI2 algorithm in United States
- 1994 Algorithm registered with ISO/IEC 9979 and assigned registration number 9
- 1995 MULTI2 adopted as standard cipher for CS-Digital broadcasting in Japan
- 1998 Japanese Patent number 2760799 granted for MULTI2 algorithm
Cryptanalysis
45 ec 86 d8
b6 5e 24 d5
38 fe 1d 90
ce fc a4 22
3e 39 1b e3
da 03 0f cb
9c 9e d7 c6
1c e4 73 61
d0 fa 39 86
58 5d 5b 90
You can perform the following single byte modifications :
Can mod byte 5 with CF
Can mod byte 7 with 77
Can mod byte 20 with 9A
Can mod byte 20 with A9
Can mod byte 20 with D7
Can mod byte 21 with 35
Can mod byte 21 with 6A
Can mod byte 21 with 9F
Can mod byte 21 with CC
Can mod byte 22 with 4D
Can mod byte 22 with 7A
Can mod byte 22 with A7
Can mod byte 23 with 53
Can mod byte 23 with AE
In this case there are 15 different keys which will schedule to the same 8 32-bit round keys for the ciphers bulk encryption path. The keys are all different in the first keyword used in the Pi3 round function. The collision occurs because a single byte difference turns into a pattern like 0X0X0000 which then expands to a variation of 0X000X00 and finally in the second last line the differences cancel out. Turning into a zero-delta.
The problem stems from the fact that the function
x = ROL ^ x
Where ROL means rotate left by y bits, is not bijective for any value of y. There are similar problems with the Pi2 and Pi4 functions but they are seemingly harder to exploit because the rotation value is smaller.
There are other observations too, for example
x = ROL - x
Found in Pi3, is an identity function for 50% of the values of x.
This also means it is possible to have weak keys where instead of forcing single byte differences in the key, they are in the plaintext into Pi3 produces a zero-delta output and possibly leading to a 1R differential.