CIPHERUNICORN-A — в криптографии симметричный блочный криптоалгоритм, разработанный фирмой NEC в 2000 году. В алгоритме используется 128-битный блок и ключ длиной от 128 до 256 бит (совместим со стандартом AES и поддерживает типовые длины ключа - 128/192/256). Был рекомендован комитетом CRYPTREC в 2003 году для использования государственными учреждениями Японии, однако в 2013 году был перемещён в список "кандидатов" в рекомендованные шифры.[1]
Структура шифра
Алгоритм основан на сети Фейстеля с 16 раундами, как и его предшественник CIPHERUNICORN-E, но с некоторыми изменениями. Раундовая функция заменена на более комплексную, но дополнительное смешивание между раундами было исключено. Раундовая функция также разделена на два практически параллельных вычисления, каждое из которых выполнено в виде сети Фейстеля. Первая часть (основной поток) - 10-раундовая сеть Фейстеля, использующая четыре таблицы замены размером 8x8 бит, почти также как и у предшественника. Два последних раунда основного потока подвергаются изменению зависимо от вывода второй части (генерации временного ключа). Вторая, 6-раундовая сеть Фейстеля использует умножения по модулю и две из таблиц замены. В отличие от предшественника, подключи используются только в начале каждого раунда.
Ключевое расписание состоит из повторяющегося использования функции, именуемой MT, используя умножения по модулю и все таблицы подстановки. Уязвимость, найденная в ключевом расписании, состоит в том, что некоторые ключи могут быть идентичны (эквивалентны), но не известно, насколько это критично.
Безопасность
Шифр довольно сложен для анализа, но некоторые исследования показывают, что он устойчив к линейному и дифференциальному криптоанализу.
Ссылки