«SHA-3» — конкурс Национального института стандартов и технологий (NIST) на новую криптографическую хеш-функцию, предназначенную для дополнения и замены SHA-1 и SHA-2. Проводился в течение в 2007—2012 годов, в результате был избран алгоритм для реализации SHA-3.
Официально объявлен в журнале Federal Register 2 ноября 2007 года[1]. Подобный конкурсный процесс алгоритма был использован ранее для шифрования Advanced Encryption Standard («AES»)[2]. 2 октября 2012 года объявлены результаты: хеш-алгоритмом под наименованием SHA-3 стал алгоритм Keccak[3].
Изначально организаторы конкурса предполагали заменить старые хеш-функции победителем, так как в 2006 году возникло предположение, что в будущем надежность хеш-функции SHA-2 значительно снизится из-за роста мощности и производительности устройств, а также из-за появления новых методов криптоанализа. Но к 2013 году так и не было предложено ни одной достаточно серьёзной атаки на SHA-2, и, по мнению Брюса Шнайера, переход на SHA-3 не являлся необходимым[4].
Подача заявок была завершена 31 октября 2008 года. Список кандидатов, прошедших в первый раунд, был опубликован 9 декабря 2008 года[5]. В конце февраля 2009 года NIST провели конференцию, где представили заявленные в конкурс хеш-функции и обсудили критерии прохождения во второй раунд[6]. Список из 14 кандидатов, прошедших в раунд 2, был опубликован 24 июля 2009 года[7]. Ещё одна конференция состоялась 23 и 24 августа 2010 года в University of California, Santa Barbara, где были рассмотрены кандидаты, прошедшие во второй раунд[8]. О последнем туре кандидатов было объявлено 10 декабря 2010 года.[9] И только 2 октября 2012 года NIST объявил победителя — Keccak, его создатели: Guido Bertoni[en], Joan Daemen, Gilles Van Assche[en] из STMicroelectronics и Michaël Peeters[en] из NXP[3].
В отчётах NIST описывались критерии оценки конкурсантов; основными критериями оценки были безопасность, производительность и алгоритм хеш-функции[10][11][12].
Рассматривая безопасность алгоритмов-конкурсантов, NIST оценивал применимость хеш-функции, её устойчивость к атакам, соответствие общим для хеш-функций требованиям, а также соответствие требованиям для участников, использующих HMAC, псевдослучайные функции или рандомизированное хеширование. Этот критерий учитывался в первую очередь.
Производительность — второй по важности критерий оценки после безопасности. При его проверке смотрели на скорость работы и требования к памяти. Сравнение происходило следующим образом:
Также оценивалась скорость работы на конечных устройствах: ПК, мобильных устройствах (точки доступа, роутеры, портативные медиаплееры, мобильные телефоны и терминалы оплаты) и виртуальных машинах[14].
Основными параметрами оценки алгоритма были гибкость и простота дизайна. Гибкость включает в себя возможность использования хеш-функции на большом числе платформ и возможности расширения набора инструкций процессора и распараллеливания (для увеличения производительности). Простота дизайна оценивалась по сложности анализа и понимания алгоритма, таким образом простота дизайна дает больше уверенности в оценке безопасности алгоритма.
NIST выбрали 51 хеш-функцию в первый тур[5]. 14 из них прошло во второй раунд[7], из которых было выбрано 5 финалистов. Неполный список участников представлен ниже.
Победитель был объявлен 2 октября 2012 года, им стал алгоритм Keccak[15]. Он стал самым производительным на аппаратной реализации среди финалистов, а также в нём был использован нераспространённый метод шифрования — функция губки. Таким образом, атаки, рассчитанные на SHA-2, не будут работать. Ещё одним существенным преимуществом SHA-3 является возможность его реализации на миниатюрных встраиваемых устройствах (например, USB-флеш-накопитель).
NIST выбрал пять кандидатов, прошедших в третий (и последний) тур[16]:
Организаторами были опубликованы некоторые критерии, на которых основывался выбор финалистов[17]:
Также был выпущен отчёт, поясняющий оценку алгоритмов[18][19].
Следующие хеш-функции попали во второй раунд, но не прошли в финал. Также было при объявлении финалистов: «Ни один из этих кандидатов не был явно взломан». В скобках указана причина, по которой хеш-функции не стала финалистом.
Следующие представители хеш-функций были приняты для первого раунда, но не прошли во второй. У них не было существенных криптографических уязвимостей. Большинство из них имеют слабые места в дизайне компонентов или у них были замечены проблемы с производительностью.
Не прошедшие в первый раунд хеш-функции имели существенные криптографические уязвимости:
На протяжении первого раунда некоторые конкурсанты сами отказались от участия в конкурсе, потому что были взломаны на веб-сайте первого раунда конкурса[59]:
Некоторые хеш-функции не были приняты в качестве кандидатов после внутреннего обзора NIST[5]. NIST не сообщил подробностей относительно того, почему эти кандидаты были отклонены. NIST также не дал полный список отклонённых алгоритмов, но 13 из них известны[5][73], но только следующие из них были опубликованы.
В таблице перечислены известные участники конкурса с указанием основных атрибутов хеш-функций и найденных атак.[84] В ней используются следующие аббревиатуры:
Хеш-алгоритм FN WP KEY MDS OUT SBOX FSR ARX BOOL COL PRE Abacus - X - 4 x 4 X 8 x 8 X - - ARIRANG X X X 4 x 4, 8 x 8 - 8 x 8 - - - - - AURORA - - X 4 x 4 X 8 x 8 - - - BLAKE X - X - - - - X — - - - Blender - X - - - - - X - BMW - X X - - - - X - - - *Boole - - - - X - X - Cheetah - - X 4 x 4, 8 x 8 - 8 x 8 - - - - - Chi X X X - - 4 x 3 - - , - - CRUNCH X - X - - 8 x 1016 - - - - - CubeHash8/1 - - - - - - - X - - *DHC - - X - - 8 x 8 - - - DynamicSHA X - X - - - - - , , - DynamicSHA2 X - X - - - - X , , - - ECHO - X - 4 x 4 - 8 x 8 - - - - - ECOH - - X - - - - - - - - Edon-R - X X - - - - X - - EnRUPT - X - - - - - X - - Essence - - - - - - X - - - - FSB - X - - X - - - - - - Fugue - X - 4 x 4 X 8 x 8 - - - - - Gr0stl - X - 8 x 8 X 8 x 8 - - - - - Hamsi - - X - - 4 x 4 - - - - - JH X X - 1.5 x 1.5 - 4 x 4 - - - Keccak - X - - - - - - , - - *Khichidi-1 - - X - - - X - - LANE - - X 4 x 4 X 8 x 8 - - - - - Lesamnta X - X 2 x 2, 4 x 4 X 8 x 8 - - - - - Luffa - - - - X 4 x 4 - - - - - Lux - X - 4 x 4 , 8 x 8 X 8 x 8 - - - - - MCSSHA-3 - - - - - - X - - MD6 - X - - - - X - - - *MeshHash - - - - X 8 x 8 - - - - NaSHA X - - - - 8 x 8 X - - - SANDstorm - - X - - 8 x 8 - - , - - Sarmal X - - 8 x 8 - 8 x 8 - - - - Sgail - X X 8 x 8, 16 x 16 - 8 x 8 - X - - - Shabal - - X - - - X - , - - *SHAMATA X X X 4 x 4 - 8 x 8 - - - SHAvite-3 X - X 4 x 4 - 8 x 8 X - - - - SIMD X X X TRSC+ - - - - , , - - Skein X X X - X - - X - - - Spectral Hash - - - - X 8 x 8 - - - - - *StreamHash - - - - - 8 x 8 - - - - SWIFFTX - - - - - 8 x 8 - - - - - *Tangle - X X - - 8 x 8 - X , , - TIB3 U - X - - 3 x 3 - - - - - Twister - X - 8 x 8 X 8 x 8 - - - Vortex - - - 4 x 4 X 8 x 8 - - - *WAMM - X - - X 8 x 8 - - - - - *Waterfall - X - - X 8 x 8 X - - - — Ewan Fleischmann, Christian Forler и Michael Gorski. "Classifcation of the SHA-3 Candidates"
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .