Алгоритм Crypton

разработан в 1998 г. Че Хун Лимом (Chae Hoon Lim) из южнокорейской компании Future Systems. Изначально на конкурс AES была представлена версия алгоритма Crypton v0.5 — по словам разработчика алгоритма, ему не хватило времени на подготовку полноценной версии. Уже в процессе анализа алгоритмов в рамках первого этапа конкурса AES Crypton v0.5 был заменен на Crypton v 1.0. Версия 1.0 отличалась от предыдущей измененными таблицами замен и модифицированной процедурой расширения ключа, именно она и описана в данной книге.

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

Как и другие участники конкурса AES, Crypton шифрует 128-битные блоки данных. Используются ключи шифрования нескольких фиксированных размеров — от 0 до 256 битов с кратностью 8 битов.

Структура алгоритма Crypton во многом повторяет структуру алгоритма Square (см. разд. 3.54), разработанного в 1997 г. будущими авторами алгоритма Rijndael (см. разд. 3.3) — победителя конкурса AES — Винсентом Риджменом и Джоан Деймен.

представляет 128-битный блок шифруемых данных в виде байтового массива размером 4×4, над которым в процессе шифрования производится несколько раундов преобразований. В каждом раунде предполагается последовательное выполнение нижеперечисленных операций [239, 240]:

1. Табличная замена у (рис. 3.41). использует 4 таблицы замен, каждая из которых замещает 8-битное входное значение на выходное такого же размера. Все таблицы S0…S3 являются производными от основной таблицы S (см. рис. 3.42, на котором «п обозначает циклический сдвиг влево значения обрабатываемого байта на п битов) и приведены в Приложении 1.

Рис. 3.41. Операция у

 

Как видно, процедура расширения ключа позволяет генерировать ключи раундов «на лету», т. е. в процессе шифрования по мере необходимости. Это является достоинством алгоритма хотя бы потому, что не требуется память для хранения ключей раундов. Спецификация алгоритма содержит также описание процедуры расширения ключа «на лету» для расшифровывания. Однако для расшифровывания возможно и выполнение прямой процедуры расширения ключа и использование полученных ключей раундов в обратном порядке.

Достоинства и недостатки алгоритма

При анализе исходной версии алгоритма — Crypton v0.5 — сразу двое экспертов [103, 284] независимо обнаружили класс слабых ключей: таковых оказалось 232 256-битных ключей. Кроме того, была обнаружена атака, аналогичная известной атаке на алгоритм Square, на 6-раундовую версию алгоритма Crypton [170]. Возможно, именно эти результаты привели к появлению следующей версии алгоритма.

По правилам конкурса AES разрешалось модифицировать алгоритмы в процессе конкурса, чем воспользовались некоторые разработчики [284]. Однако изменения не должны были быть значительными, чтобы к модифицированной версии можно было применить результаты анализа исходной версии алгоритма. В отношении алгоритма Crypton эксперты посчитали изменения значительными, поскольку они затрагивали как таблицы замен, так и процедуру расширения ключа. Поэтому версия 1.0 не была принята в качестве замены версии 0.5.

На самом деле упомянутые здесь недостатки алгоритма Crypton v0.5 не были существенными, как признали эксперты института NIST (Институт стандартов и технологий США — организатор конкурса AES). При этом список достоинств алгоритма оказался весьма внушительным [284]:

?      достаточно высокая скорость на всех целевых платформах;

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

?     алгоритм не подвержен атакам по времени выполнения и потребляемой мощности;

?      быстрое расширение ключа;

?      возможность распараллеливания операций в процессе шифрования;

?     алгоритм поддерживает дополнительные размеры ключей (помимо установленных конкурсом обязательных размеров: 128, 192 и 256 битов).

Признавая отсутствие у алгоритма Crypton существенных недостатков и наличие явных достоинств, эксперты NIST все же не пропустили Crypton во второй раунд конкурса. Причиной тому было наличие двух алгоритмов со схожими характеристиками: Rijndael (будущий победитель конкурса) и Twofish, каждый из которых быстрее алгоритма Crypton на целевых платформах. Кроме того, проблем, аналогичных слабым ключам алгоритма Crypton, у Rijndael и Twofish не оказалось. Поэтому эксперты логично предположили, что при подведении итогов конкурса AES Crypton проиграет одному из этих алгоритмов, и исключили его из рассмотрения во втором раунде конкурса.

Вы можете следить за любыми ответами на эту запись через 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