NESSIE
NESSIE (англ. New European Schemes for Signatures, Integrity, and Encryptions, Новые европейские алгоритмы для электронной подписи, целостности и шифрования) — европейский исследовательский проект для определения безопасных шифровальных алгоритмов.
Проект был сравним с NIST AES и японским проектом CRYPTREC, хотя и были значительные отличия от обоих. В частности, есть и совпадения и разногласия между выборами и рекомендациями от NESSIE и CRYPTREC. Участники как проекта NESSIE, так и CRYPTREC, включали в себя передовых криптографов всего мира. NESSIE был предназначен, чтобы определить и оценить качество шифровальных проектов в нескольких категориях, и в марте 2000 года был объявлен общественный публичный конкурс. Сорок две заявки на участие были получены, и в феврале 2003 года было отобрано двенадцать алгоритмов. Кроме того, были отобраны и пять алгоритмов, уже широко известных, но не представленных проекту. Проект NESSIE публично объявил, что «никакие слабости не были найдены в отобранных алгоритмах»[1].
Криптоаналитики из более чем десяти различных стран всячески пытались атаковать предоставленные 42 алгоритма шифрования, обнаружить их слабости и уязвимости. Вдобавок к этому, оценивалась также и производительность алгоритмов (насколько они быстрые). И к 2001 году устояли только 24 из 42 алгоритмов шифрования. После второй стадии отбора, которая завершилась в феврале 2003 года, были отобраны 12 алгоритмов. К тому же, проект NESSIE рекомендовал 5 алгоритмов из широко известных и существующих в свободном доступе, для которых не была предоставлена заявка на участие в проекте.
История и цели проекта NESSIE
В начале 2000-х был проведен конкурс NESSIE, на который было прислано 42 заявки. Главной задачей проекта было определить наиболее сильные криптографические алгоритмы. Как видно из названия алгоритма, цели конкурса NESSIE были заметно шире, чем у конкурса AES.[2] Как и на конкурсе AES, алгоритмы-участники конкурса были присланы практически со всех концов Света. Причём, абсолютным лидером по количеству рассмотренных на конкурсе алгоритмов оказалась Япония — из 39 участников конкурса в Японии было разработано 8.[2] Одним из отличий NESSIE (касательно алгоритмов блочного шифрования) от конкурса AES является то, что не был установлен какой-либо конкретный размер блока шифруемых данных, поэтому в конкурсе рассматривались 64-, 128-, 160- и 256-битные блочные шифры.[2] Главными критериями, по которым оценивались алгоритмы в конкурсе NESSIE были конфиденциальность, целостность данных и аутентификация.[3]
В рамках конкурса NESSIE рассматривались алгоритмы следующих категорий: блочное симметричное шифрование (на конкурс принято 17 алгоритмов), потоковое шифрование (6 алгоритмов), вычисление кодов аутентификации сообщений (Message Authentication Code — MAC, 2 алгоритма), хеширование (1 алгоритм), асимметричное шифрование (5 алгоритмов), электронная цифровая подпись (7 алгоритмов), идентификация (1 алгоритм). Во второй раунд прошли лишь 17 алгоритмов, у которых не было явных недостатков (CS-Cipher, Hierocrypt-L1, Hierocrypt-3, IDEA, Khazad, Anubis, MISTY1, Nimbus, NUSH, SAFER++, Grand Cru, Noekeon, Q, RC6, SC2000, Camellia, SHACAL).[2] Целью проекта являлось широкое распространение результатов конкурса и достижение консенсуса на основе этих результатов с помощью проведения соответствующих форумов (a project industry board, 5th Framework programme[4], and various standardisation bodies). Заключительная цель состояла в том, чтобы сохранить сильную позицию европейских исследований при одновременном укреплении позиций европейской промышленности в криптографии.[3]
Общие требования NESSIE
В этом разделе описаны общие критерии отбора, тип требуемых алгоритмов, и требования безопасности для каждого типа алгоритмов шифрования, которые были опубликованы на сайте NESSIE при приеме алгоритмов на рассмотрение.
Критерии отбора
Главные критерии отбора — алгоритмы должны быть безопасны на протяжении долгосрочного периода, они должны удовлетворять рыночными требованиями, быть высокопроизводительными и гибкими.
Безопасность — самый важный критерий, потому что безопасность алгоритмов шифрования — главное назначение этих алгоритмов. Процесс оценки безопасности учитывал и влияние событий вне проекта NESSIE (таких как новые нападения или методы анализа).
Второй критерий имеет отношение с рыночными требованиями. Рыночные требования связаны с потребностью в алгоритме, его удобстве и простоте использования, возможности международного использования.
Третий критерий — производительность алгоритма шифрования на определённом оборудовании. Для программного обеспечения рассматривали 8-битовые процессоры (как в недорогих платежных карточках со встроенным микропроцессором), 32-битовые процессоры (например, старое семейство Pentium), современные 64-битовые процессоры.
Четвёртый критерий — гибкость алгоритма. Очевидно, что желательно использование алгоритма на различном оборудовании.
Требования безопасности для различных типов шифров
Симметричные шифры
Есть два главных уровня безопасности для симметричных шифров — нормальный и высокий. Минимальные требования для симметричного шифра для достижения уровня безопасности указаны ниже.
Блочные шифры
a) Высокая безопасность. Длина ключа по крайней мере 256 бит. Размер блока по крайней мере 128 бит
b) Нормальная безопасность. Длина ключа по крайней мере 128 бит. Размер блока по крайней мере 128 бит.
c) Нормальная на момент исследований. Ключ по крайней мере 128 бит. Размер блока 64 бита
Синхронные поточные шифры
a) Высокая. Длина ключа по крайней мере 256 бит. Внутренняя память по крайней мере 256 бит.
b) Нормальная. Длина ключа по крайней мере 128 бит. Внутренняя память по крайней мере 128 бит.
Самосинхронизующиеся поточные шифры
a) Высокая. Длина ключа по крайней мере 256 бит. Внутренняя память по крайней мере 256 бит.
b) Нормальная. Длина ключа по крайней мере 128 бит. Внутренняя память по крайней мере 128 бит.
Message Authentication Codes (коды подлинности сообщения)
Алгоритм должен поддержать выходные сообщения любой длины до ключевой длины (включительно).
a) Высокая. Ключевая длина по крайней мере 256 бит.
b) Нормальная. Ключевая длина по крайней мере 128 бит.
Стойкие к коллизиям хеш-функции
a) Высокая. Выходная длина по крайней мере 512 бит.
b) Нормальная. Длина на выходе по крайней мере 256 бит.
Односторонние хеш-функции
a) Высокая. Выходная длина по крайней мере 256 бит.
b) Нормальная. Выходная длина по крайней мере 128 бит.
Асимметричные шифры
Параметры безопасности должны быть выбраны таким образом, чтобы самое эффективное нападение на шифр потребовало вычислительного усилия порядка 280 3-DES шифрований.
Асимметричные алгоритмы шифрования (детерминированные или рандомизированные).
Минимальное вычислительное усилие для нападения должно быть порядка 280 3-DES шифрований
Асимметричные цифровые подписи
Минимальное вычислительное усилие для нападения должно быть порядка 280 3-DES шифрований.
Асимметричные схемы идентификации
Минимальное вычислительное усилие для нападения должно быть порядка 280 3-DES шифрований. Вероятность ошибки должна быть меньшей, чем 2−32.
Алгоритмы шифрования — эквивалент замков, печатей и идентификационных документов в интернете. Они используются, чтобы защитить личную информацию, банковские сделки онлайн, кредитные карты, электронную торговлю и управление по интернету. Именно поэтому проект NESSIE имеет такое большое значение. Что же такое алгоритмы шифрования? Алгоритмы шифрования — это математические формулы и операции, которые используются, чтобы защитить электронную информацию. Алгоритмы шифрования являются необходимыми для защиты важной информации, такой как медицинские данные, финансовая информация и Personal Identification Numbers (Личные Идентификационные номера, ПИН) от любопытных глаз. Проект NESSIE выделяет три различных типа алгоритмов шифрования: блочные шифры, поточные шифры и алгоритмы шифрования с открытым ключом. Цифровые алгоритмы подписи (в комбинации с хеш-функциями), заменяют ручные подписи в электронных сделках. A подобная роль может выполняться алгоритмами MAC. Протоколы идентификации позволяют надёжно проверять идентичность стороны в другом конце линии.
Отобранные алгоритмы
Стандарты играют важную роль в выборе шифровального алгоритма. Но проект NESSIE — это не стандартизованный проект (стандарты NESSIE не написаны). NESSIE — это мост между сообществом исследователей, разработчиков и пользовательским сообществом, который проверяет и сравнивает алгоритмы прежде, чем они стандартизированы. Как уже было отмечено выше, проект NESSIE выбрал 12 алгоритмов из 42 предложенных разработчиками: кроме того, 5 хорошо известных стандартизованных алгоритма были добавлены к отобранным 12 (обозначены *):
Блочные шифры
Шифры с открытым ключом
- ACE Encrypt — научно-исследовательская лаборатория IBM, Швейцария, Цюрих;
- PSEC-KEM — Nippon Telegraph and Telephone Corp., Япония;
- RSA-KEM* — проект ISO/IEC 18033-2
MAC алгоритмы и хеш-функции
- Two-Track-MAC — K.U.Leuven, Бельгия и Debis AG, Германия;
- UMAC — Intel Corp., США, университет Невады, США, научно-исследовательская лаборатория IBM, США, Technion, Израиль и университет Калифорнии в Дэвисе, США;
- CBC-MAC* (ISO/IEC 9797-1);
- HMAC* (ISO/IEC 9797-1);
- Whirlpool — Scopus Tecnologia S.A., Бразилия и K.U.Leuven, Бельгия;
- SHA-256*, SHA-384* и SHA-512* (USA FIPS 180-2).
Алгоритмы цифровой подписи
Методы идентификации
- GPS — Ecole Normale Supérieure, Париж, Франция и Télécom and La Poste,Франция.
Остальные участники
64 битные блочные шифры
- CS-Cipher — Serge Vaudenay и Oualid Ammar, CS Communication & Systèmes.
- Hierocrypt-L1 — Кэндзи Окума, Фумихико Сано, Хирофуми Муратани, Масахико Мотояма и Синъити Кавамура.
- Specification of Hierocrypt-L1 (revised September 2001).
- IDEA — Xuejia Lai, James Massey, Ascom.
- Khazad — Винсент Рэймен (автор шифра Rijndael) и Пауло Баррето.
- Nimbus — Alexis Warner Machado, Gauss Informatica.[5]
128 битные блочные шифры
- Anubis — Винсент Рэймен.
- Grand Cru — Йоханом Боретом (Johan Borst) специалистом бельгийского Католического Университета в г. Лювен на базе общепризнанного шифра Rijndael и является его усиленной и глубоко модифицированной версией.
- Hierocrypt-3 — Toshiba, Kenji Ohkuma, Fumihiko Sano, Hirofumi Muratani, Masahiko Motoyama, Shinichi Kawamura.
- Noekeon — семейство из двух блочных шифров, разработанных Йоаном Дайменом, Michaël Peeters, Gilles Van Assche и Винсентом Рэйменом.
- Q — автор Leslie 'Mack' McBride.
- SC2000 — Takeshi Shimoyama (Fujitsu Laboratories LTD.), Hitoshi Yanami (Fujitsu Laboratories LTD.), Kazuhiro Yokoyama (Fujitsu Laboratories LTD.), Masahiko Takenaka (Fujitsu Laboratories LTD.).[5]
Блочные шифры переменной длины
- NUSH: 64, 128, and 256-бит (в том числе имеющие другую длину). Анатолий Лебедев и Алексей Волчков, LAN Crypto. Данный шифр не прошёл во второй раунд, так как китайские учёные У Вэньлин (Wu Wenling) и Фэн Дэнго (Feng Dengguo) предложили атаку, которая методом линейного криптоанализа вычисляла 128-битный ключ шифрования алгоритма NUSH при наличии 258 известных открытых текстов (и соответствующих им шифртекстов) выполнением 2124 тестовых операций шифрования.[2]
- RC6: как минимум 128 бит — Ronald L. Rivest, Matthew J.B. Robshaw, Raymond M. Sidney, and Yiqun Lisa Yin.
- SAFER++: 64 и 128 бит — Джеймс Мэсси[5]
Синхронные потоковые шифры
- BMGL — Johan Hastad, Mats Naslundy, BMGL Revision 1 (06/03/01), Generalized interface for BMGL (15/03/01)
- Leviathan — авторы David A. McGrew и Scott R. Fluhrer, Cisco Systems, Inc.
- LILI-128 — авторы L. Simpson, E. Dawson, J. Goli´c, and W. Millan.
- SNOW
- SOBER-t16 — Greg Rose and Philip Hawkes
- SOBER-t32 — Greg Rose and Philip Hawkes[5]
Шифры с открытым ключом
- ECIES
- EPOC — Eiichiro Fujisaki (NTT), Tetsutaro Kobayashi (NTT), Hikaru Morita (NTT), Hiroaki Oguro (NTT), Tatsuaki Okamoto (NTT), Satomi Okazaki (MCL), David Pointcheval, (ENS), Shigenori Uchiyama (NTT)
- RSA-OAEP — Mihir Bellare and Phillip Rogaway, with enhancements by Don B. Johnson and Stephen M. Matyas. [5]
Примечания
Ссылки
- NESSIE (англ.). — Официальный сайт NESSIE.
- Требования NESSIE (англ.). — Описание основных требований NESSIE.
- пресс-релиз (англ.). — пресс-релиз NESSIE (февраль 2003 года).
- Описание отобранных алгоритмов (англ.). — Краткое описание отобранных алгоритмов шифрования.
- AES block cipher standardisation process (англ.).
- 5th Framework programme (англ.).
- Other participants (англ.).
- Алгоритмы шифрования – участники конкурса NESSIE. Часть 1 .
- Алгоритмы шифрования – участники конкурса NESSIE. Часть 2 .
- Алгоритмы шифрования – участники конкурса NESSIE. Часть 3 .