МУЛЬТИ2
Общий | |
---|---|
Дизайнеры | Хитачи |
Впервые опубликовано | 1988 |
Деталь шифрования | |
Размеры ключей | 64 бита |
Размеры блоков | 64 бита |
Структура | Сеть Фейстеля |
Раунды | Переменная |
MULTI2 — блочный шифр , разработанный компанией Hitachi в 1988 году. Разработанный для криптографии общего назначения, в настоящее время он используется для шифрования высокой четкости телевизионных передач в Японии .
Детали шифра [ править ]
MULTI2 — это алгоритм симметричного ключа с переменным количеством раундов. Он имеет размер блока 64 бита и размер ключа 64 бита. 256-битная константа подстановки используется Во время ключевого расписания , зависящая от реализации . Скремблирование и дескремблирование осуществляется путем повторения четырех основных функций (инволюций).
История [ править ]
- Патент MULTI2 1988 г. подан компанией Hitachi, Ltd 28 апреля.
- 1989 Алгоритм объявлен Японскому обществу обработки информации DPS-SIG.
- 1991 г. Патент номер 4982429 выдан на алгоритм MULTI2 в США.
- 1994 г. Алгоритм зарегистрирован в стандарте ISO/IEC 9979 и ему присвоен регистрационный номер 9.
- 1995 г. MULTI2 принят в качестве стандартного шифра для цифрового вещания CS в Японии.
- Патент Японии № 2760799, 1998 г., выдан на алгоритм MULTI2.
Криптоанализ [ править ]
В блочном шифре Multi2 существует большой класс эквивалентных ключей. Самый большой класс (найденный на данный момент) обусловлен тем, что функция раунда Pi3 в ключевом расписании не является биективной . Например, со следующим 40-байтовым входным ключом для расписания ключей:
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
Вы можете выполнить следующие однобайтовые модификации (здесь модификация означает XOR против исходного ключа байта):
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
В этом случае имеется 15 различных ключей, которые будут назначены одним и тем же 8 32-битным раундовым ключам для пути массового шифрования шифров. Все ключи различаются в первом ключевом слове, используемом в функции раунда Pi3 (клавиши k[1] и k[5]). Коллизия возникает потому, что разница в один байт превращается в шаблон типа 0X0X0000 (с поворотом на 0, 8, 16 или 24 бита), который затем расширяется до варианта 0X000X00 и, наконец, во предпоследней строке (с поворотом на 16 и XOR) различия компенсируются. Превращаемся в ноль-дельту.
Проблема связана с тем, что функция
x = ROL(x, y) ^ x
Где ROL означает поворот влево на y бит, не является биективным для любого значения y. Аналогичные проблемы существуют и с функциями Pi2 и Pi4, но их сложнее использовать, поскольку значение вращения меньше.
Есть и другие наблюдения, например
x = ROL(x, 1) - x
В Pi3 это тождественная функция для 50% значений x (где старший байт равен нулю).
Это также означает, что возможны слабые ключи, где вместо того, чтобы принудительно использовать однобайтовые различия в ключе, они находятся в открытом тексте в Pi3, что дает выходной сигнал с нулевой дельтой и, возможно, приводит к дифференциалу 1R.