Конкурс на Advanced Encryption Standard

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

временных методов вскрытия блочных шифров. Датчанин Ларс Кнудсен уже упоминался в данном обзоре в связи с шифром DEAL (Кнудсен - единственный криптограф, фигурирующий сразу в двух проектах). Англичанин Росс Андерсон из Кембриджского университета с начала 90-х годов известен своими неординарными криптоаналитическими работами.

Бытует распространенное мнение, что по-настоящему хороший шифр может создать только тот, кто до этого добился серьезных успехов в криптоанализе. Специалисты не усматривают слабых сторон в SERPENT, так что можно быть вполне уверенным - данный криптоалгоритм является очень сильным шифром и имеет большие шансы оказаться среди финалистов конкурса.

 

.15 TWOFISH (США)

 

Еще один потенциальный финалист. Шифр основан на хорошо известном, популярном и широко используемом в Интернете криптоалгоритме Blowfish, разработанном в 1993 году Брюсом Шнайером, автором книги-бестселлера "Прикладная криптография". За прошедшие годы в открытой литературе не появилось ни одной работы о сколь-нибудь успешном вскрытии Blowfish. В команду создателей нового шифра Twofish почти в полном составе входит консалтинговая криптофирма Шнайера Counterpane Systems (сам Шнайер, Джон Келси, Крис Холл и Нильс Фергюсон), а также шеф по технологиям фирмы Hi/fn Дуг Уайтинг и Дэвид Вагнер, исследователь из калифорнийского университета Беркли, известный по ряду заметных криптоаналитических работ.

По оценкам специалистов, новый алгоритм Twofish эффективно реализуется на 32-битных микропроцессорах, 8-битных смарт-картах и ожидаемых в будущем 64-битных архитектурах, предложенных фирмами Intel и Motorola. Дабы подчеркнуть криптостойкость своего творения, создатели Twofish объявили об учреждении приза в 10 тысяч долларов за лучшую криптоаналитическую атаку против Twofish.

3. Основные этапы конкурса на AES

 

Бесспорно, на конкурс AES представлено самое лучшее из того, чего достигли открытая академическая и промышленная криптография за четверть века своего развития. Теперь предстоит период тщательного изучения выставленных на конкурс кандидатов. Как мрачно пошутил один из участников конкурса Брюс Шнайер, вся эта история напоминает ему некое гигантское "дерби на выживание": на трассу выходит полтора десятка претендентов, которые крушат друг друга до тех пор, пока не останется сильнейший.

Практически сразу же вслед за публикацией в Интернете описания шифра LOKI97, появились и результаты его криптоанализа, выполненного Ларсом Кнудсеном и Винсентом Рэменом (из команд "Serpent" и "Rijndael", соответственно). Из этих результатов следовало, что цикловая функция шифра не обладает достаточной криптографической стойкостью, и с довольно высокой вероятностью можно подбирать криптоаналитические методы вскрытия шифра.

Команда "Twofish" (Вагнер, Фергюсон и Шнайер) нанесла мощный удар по команде "Frog". Было показано, что ключ шифра Frog можно вскрывать при трудозатратах около 257. Для DES, к примеру, с его 56-битным ключом это было бы прекрасным показателем стойкости (поскольку на лобовое вскрытие ключа тотальным перебором требуется 256 опробований), однако, для шифра с длиной ключа по меньшей мере 128 бит этого уже слишком мало. О том, как в ходе конференции AES1 совместными усилиями участников команд "Twofish" и "Serpent" был завален германский проект "Magenta", уже упоминалось.

Период первичной оценки шифров продолжался вплоть до конца апреля 1999 года, вехой завершения этого этапа стала конференция AES2 в Риме. Выбрав для проведения форума итальянскую столицу, организаторы конкурса явно хотели подчеркнуть международный характер мероприятия (действительно, в конференции приняли участие свыше 180 человек из 23 стран). Как надеялись в НИСТ, период времени между AES1 и AES2 достаточен для того, чтобы исследователи криптографического сообщества проверили стойкость и быстродействие всех алгоритмов, в результате чего количество претендентов естественным образом сократилось бы до пяти или менее того. Однако, нельзя сказать, чтобы все прошло гладко и в соответствии с первоначальным планом.

 

.1 Предварительные итоги первого раунда

 

Одна из самых больших проблем при сравнении разнообразных алгоритмов - это два конфликтующих между собой требования к конструкции шифра: стойкость и скорость. Упор на усиление одного из этих параметров неминуемо ослабляет другой. Поскольку разработчики разных шифров вольно или невольно отдавали предпочтение одному из этих показателей, задача сравнения получившиеся в итоге конструкций оказывается достаточно нетривиальной.

Предварительные испытания эффективности алгоритмов-кандидатов провел сам НИСТ. Под эффективностью шифра понимаются два основных показателя: скорость шифрования/расшифрования и скорость формирования криптографических ключей.

В качестве первой тестовой платформы был выбран IBM-совместимый ПК с процессором Intel-Pentium Pro 200 МГц, с 64 Мб RAM и ОС Windows 95[5]. Тестирование проводилось с оптимизированными кодами на языке ANSI C, представленными самими разработчиками алгоритмов. (Сразу же было подчеркнуто, что предусмотрены и другие тесты на различных платформах и с различными компиляторами.)

Испытания на скорость шифрования/расшифрования (компилятор Borland) выявили 6 более-менее очевидных лидеров, продемонстрировавших скорость свыше 25 Мбит/сек: Crypton (40 Мбит/сек); Rijndael; RC6; E2; Twofish и Mars (26 Мбит/сек). На последних местах оказались Magenta и HPC со скоростью около 2 Мбит/сек, остальные алгоритмы показали результаты от 6 до 10 Мбит/сек.