Алгоритм LOKI97 История создания алгоритма

Алгоритм LOKI был разработан в 1989 г. профессорами Лоуренсом Брауном (Lawrence Brown), Йозефом Пьепржиком (Josef Pieprzyk) и Дженнифер Се- берри (Jennifer Seberry) из Академии Вооруженных Сил Австралии [110]. Интересно происхождение названия алгоритма — от имени скандинавского бога Локи, которого издание [20] описывает как «Злобный бог, отец чудовищ. Приносил богам много вреда…». Впоследствии первоначальный алгоритм LOKI получил название LOKI89 для отличия от последующих версий алгоритма.

Алгоритм LOKI был замечен мировым криптологическим сообществом, в частности, благодаря его участию в австралийском конкурсе криптоалгоритмов Auscrypt90, проходившем в Сиднее в январе 1990 г. В 1991 г. появился алгоритм LOKI91 [107, 108], являющийся усилением предыдущего (разработан вышеперечисленными авторами при участии Мэтью Квана). Однако в алгоритме было найдено несколько недостатков, не способствующих широкому распространению данного алгоритма, в частности [28, 182]:

?      64-битный секретный ключ алгоритма не мог противостоять атакам, выполняемым методом «грубой силы»;

?      возможность атаки, базирующейся на связанных ключах и происходящей из-за слабости схемы расширения ключа, которая устанавливала повышенные требования к генераторам ключей шифрования, используемых в данном алгоритме;

?      была обнаружена эффективность линейного криптоанализа против алгоритма LOKI91 с усеченным количеством раундов (до 12 раундов вместо 16 у основного варианта алгоритма).

В результате дальнейших исследований авторов алгоритма LOKI появился алгоритм LOKI97, которому и посвящен данный раздел.

Основные характеристики и структура алгоритма

Алгоритм LOKI97 шифрует данные блоками по 128 битов и использует ключи размером 128, 192 или 256 битов, что соответствует основным требованиям конкурса AES (см. разд. 2. /).

Структура алгоритма представлена на рис. 3.112 [109]. Как видно из рисунка, алгоритм базируется на сети Фейстеля: данные шифруемого блока разбиваются на два субблока по 64 бита, над одним из которых выполняются следующие операции:

1.       Сложение с первым фрагментом ключа раунда по модулю 264. Процедура расширения ключа шифрования относительно сложна и подробно описана далее.

2.        Наложение функции /(), выполняющей нелинейное преобразование данных и использующей в качестве аргумента второй фрагмент ключа раунда.

3.        Снова сложение по модулю 264 с третьим фрагментом ключа’раунда.

После выполнения перечисленных действий обработанный субблок накладывается на другой применением операции XOR, после чего субблоки меняются местами (за исключением последнего раунда).

Функция /() является достаточно сложной, она предусматривает следующие преобразования данных (рис. 3.113):

1. КР (keyed permutation) — простая перестановка входных данных на основе младших 32 битов используемого функцией /() фрагмента ключа раунда АГ3/_!, где / — номер раунда. Перестановка выполняется так:

• входные данные разбиваются на 2 субблока по 32 бита;


Рис. 3.114. Процедура расширения ключа

Почему LOKI97 не вышел в финал конкурса AES

При детальном рассмотрении алгоритма в рамках конкурса AES экспертами были сделаны выводы о том, что данный алгоритм не имеет каких-либо преимуществ в криптостойкости по сравнению с другими алгоритмами, участвовавшими в конкурсе. При этом в алгоритме были найдены следующие недостатки [223, 284]:

?      очень низкая (по сравнению с другими участниками конкурса) скорость шифрования;

?      очень высокие требования к ресурсам, особенно к энергонезависимой памяти, что делает практически невозможной реализацию алгоритма в смарт- картах или аналогичных устройствах, имеющих ограниченные ресурсы (а возможность применения алгоритма в смарт-картах была одним из важных требований конкурса);

?      возможность криптоатаки в случае наличия у злоумышленника порядка 256 пар «открытый текст — зашифрованный текст».

Любого из этих недостатков было достаточно для отсутствия алгоритма LOKI97 во втором раунде конкурса AES.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100