Глава 4. Блочные шифры
4.5.5
Другие финалисты AES
Итак, три из пяти финалистов AES уже рассмотрены. Осталось еще два:
RC6 [77] и MARS [13]. Эти алгоритмы нравятся нам гораздо меньше, а потому
ограничимся лишь кратким обзором их особенностей.
Алгоритм RC6 интересен тем, что применяет умножение 32-битовых зна-
чений. В процессе состязания кандидатов на звание AES наиболее результа-
тивной атаке удалось взломать 17 раундов RC6. По сравнению с 20 раундами
полной версии шифра это выглядит слишком угрожающе, чтобы ощущать
себя в безопасности.
Алгоритм MARS обладает весьма запутанной структурой. В нем исполь-
зуется большое количество разных операций, в результате чего реализация
MARS обходится дороже, чем реализация каждого из предыдущих алгорит-
мов. Помимо этого, нас беспокоят еще две ошибки. Ошибка в коде программы,
которая генерировала S-матрицу для MARS, привела к тому, что полученная
S-матрица не удовлетворяла требованиям, выдвинутыми самими разработчи-
ками алгоритма. Но что гораздо важнее, в аргументе, приводимом авторами
MARS как доказательство устойчивости алгоритма к линейному криптоана-
лизу (особый тип атаки на шифр), обнаружилось серьезное упущение. На
данный момент хорошего анализа чувствительности MARS по отношению
к линейным атакам еще нет. Поскольку линейные атаки являются доволь-
но мощным и весьма популярным инструментом нападения на шифр, такой
анализ должен проводиться для каждого серьезного шифра.
Вообще-то и RC6 и MARS — неплохие шифры. Нам просто кажется, что
AES, Serpent и Twofish намного лучше, поэтому советуем выбирать именно
из этих трех шифров.
4.5.6
Атаки с помощью решения уравнений
Во время работы над этой книгой в мире стремительно набирал обороты
новый тип атак. Он уже наделал довольно много шума в криптографическом
сообществе. Основная идея этого метода заключается в том, чтобы предста-
вить блочное шифрование в виде системы линейных и квадратных уравнений
над некоторым конечным полем, а затем решить эти уравнения, используя
новые методы наподобие XL, FXL и XSL.
В 2002 году Николас Куртуа (Nicolas Courtois) и Йозеф Пьепжик (Josef
Pieprzyk) объявили, что могут использовать указанные методы для нападе-
ния на Serpent и AES [17]. В криптографическом сообществе это заявление
произвело эффект разорвавшейся бомбы. Наибольшую известность получило
описание атаки на AES. Нас же гораздо больше потрясло сообщение об атаке
на полную 32-раундовую версию Serpent, так как мы считали этот алгоритм
самым надежным из всех кандидатов на AES.
4.5. Современные блочные шифры
83
Через некоторое время результаты Куртуа и Пьепжика получили несколь-
ко опровержений. Проблема заключается в том, что и те и другие заявления
остаются чисто теоретическими. Алгоритм XSL очень сложен и слишком чув-
ствителен к конкретной форме уравнений, для решения которых он предна-
значен. Оценка количества работы, необходимой для взлома AES и Serpent,
построена на основе целого ряда эвристик. Так или иначе, пока что предпо-
лагаемое количество шагов намного превышает
2
128
, поэтому наши системы,
которые всегда обладают 128-битовым уровнем безопасности, могут не боять-
ся XSL-атак. Пока XSL-атаки не претерпят значительных улучшений, они не
представляют угрозы реальным системам. Тем не менее, как и все новые
типы атак, они вполне могут быть усовершенствованы в самом недалеком
будущем.
Насколько мы знаем, такие атаки еще не реализованы на практике. Хоте-
лось бы увидеть компьютерную программу, которая использует эти методы
для взлома сокращенных версий AES и Serpent. Получив хоть какие-то ре-
альные данные, мы бы смогли оценить производительность алгоритма XSL
по отношению к этим шифрам. Без этого мы не можем судить, действитель-
но ли прямые атаки методом решения уравнений могут привести к взлому
шифра.
Что из этого выйдет? Это не известно. Спросите нас через пять лет — воз-
можно, тогда мы будем знать больше. На данный момент мы можем лишь
высказывать свое мнение, а не приводить научно обоснованные факты. Это
абсолютно новый тип атак, для которого пока что не придумано противо-
ядия. Если XSL-атаки действительно работают, они взломают все существу-
ющие на данный момент шифры. Спасти шифр от взлома может лишь чистая
случайность. С другой стороны, вполне возможно (а с нашей точки зрения,
и наиболее вероятно), что XSL-атаки не применимы на практике или же при-
менимы только к небольшому числу высокоструктурированных шифров.
А как насчет Twofish? Никто никогда не пытался применять эти методы
к Twofish. Осуществить атаку подобного рода на Twofish гораздо сложнее,
чем на AES или Serpent, так что никто и не пытался. Поэтому мы не знаем,
насколько данные методы эффективны по отношению к нашему алгоритму.
Если кому-нибудь удастся применить XSL-атаку для взлома AES или Serpent,
она, без сомнения, будет применена и к Twofish.
4.5.7
Какой блочный шифр выбрать
Вот
в чем вопрос. Не забывайте, что наше мнение несколько субъективно,
потому что мы принадлежим к команде разработчиков Twofish. Мы также
провели массу времени, пытаясь взломать другие шифры из числа финали-
стов AES, что еще сильнее повлияло на нашу точку зрения.
|