Изначально организаторы конкурса предполагали заменить старые хеш-функции победителем, так как в
2006 году
возникло предположение, что в будущем надежность хеш-функции
SHA-2
значительно снизится из-за роста мощности и производительности устройств, а также из-за появления новых методов
криптоанализа
. Но к
2013 году
так и не было предложено ни одной достаточно серьёзной атаки на
SHA-2
, и, по мнению
Брюса Шнайера
, переход на
SHA-3
не являлся необходимым
.
В отчётах NIST описывались критерии оценки конкурсантов; основными критериями оценки были безопасность, производительность и алгоритм хеш-функции
.
Безопасность
Рассматривая безопасность алгоритмов-конкурсантов, NIST оценивал применимость хеш-функции, её устойчивость к атакам, соответствие общим для хеш-функций требованиям, а также соответствие требованиям для участников, использующих
HMAC
,
псевдослучайные функции
или рандомизированное хеширование. Этот критерий учитывался в первую очередь.
Производительность
Производительность — второй по важности критерий оценки после безопасности. При его проверке смотрели на скорость работы и требования к памяти. Сравнение происходило следующим образом:
В тесте
ECRYPT Benchmarking of All Submitted Hashes
(сокращённо eBASH) производились замеры скорости вычисления для большого числа 32- и 64-битных платформ.
Тест
eXternal Benchmarking eXtension
(сокращённо XBX) предоставил результаты для портативных устройств.
Дополнительно проверялась производительность и возможность оптимизации на многоядерных архитектурах. Тесты производились на архитектурах
Cell Broadband Engine
(сокращённо
Cell
) и
NVIDIA Graphics Processing Units
(сокращённо
GPU
)
.
Основными параметрами оценки алгоритма были гибкость и простота дизайна. Гибкость включает в себя возможность использования хеш-функции на большом числе платформ и возможности расширения набора инструкций процессора и распараллеливания (для увеличения производительности). Простота дизайна оценивалась по сложности анализа и понимания алгоритма, таким образом простота дизайна дает больше уверенности в оценке безопасности алгоритма.
Участники
NIST выбрали 51 хеш-функцию в первый тур
. 14 из них прошло во второй раунд
, из которых было выбрано 5 финалистов. Неполный список участников представлен ниже.
Победитель
Победитель был объявлен
2 октября
2012 года
, им стал алгоритм
Keccak
. Он стал самым производительным на аппаратной реализации среди финалистов, а также в нём был использован нераспространённый метод шифрования —
функция губки
. Таким образом, атаки, рассчитанные на
SHA-2
, не будут работать. Ещё одним существенным преимуществом
SHA-3
является возможность его реализации на миниатюрных встраиваемых устройствах (например,
USB-флеш-накопитель
).
Финалисты
NIST выбрал пять кандидатов, прошедших в третий (и последний) тур
:
Организаторами были опубликованы некоторые критерии, на которых основывался выбор финалистов
:
Производительность: «Некоторые алгоритмы были уязвимы из-за очень больших требований к производительности.»
Безопасность: «Мы предпочли быть консервативными в безопасности и в некоторых случаях не выбрали алгоритмы с исключительной производительностью, потому что они менее безопасны в значительной степени.»
Анализ: «NIST устранено несколько алгоритмов из-за неполной проверки или незрелости проекта.»
Разнообразие: «Хеш-функции, прошедшие в финал, основаны на различных режимах работы, в том числе и на принципе
криптографической губки
. С разными внутренними структурами, в том числе на основе
AES
,
Bit slicing
и на переменных
XOR
с дополнением.»
Также был выпущен отчёт, поясняющий оценку алгоритмов
.
Хеш-функции, не прошедшие в финал
Следующие хеш-функции попали во второй раунд, но не прошли в финал. Также было при объявлении финалистов: «Ни один из этих кандидатов не был явно взломан». В скобках указана причина, по которой хеш-функции не стала финалистом.
SIMD
(проблемы с производительностью, возможны проблемы с безопасностью)
Хеш-функции, не прошедшие во второй раунд
Следующие представители хеш-функций были приняты для первого раунда, но не прошли во второй. У них не было существенных криптографических уязвимостей. Большинство из них имеют слабые места в дизайне компонентов или у них были замечены проблемы с производительностью.
На протяжении первого раунда некоторые конкурсанты сами отказались от участия в конкурсе, потому что были взломаны на веб-сайте первого раунда конкурса
:
Abacus
Boole
DCH
Khichidi-1
MeshHash
SHAMATA
StreamHash
Tangle
WaMM
Waterfall
Отклонённые участники
Некоторые хеш-функции не были приняты в качестве кандидатов после внутреннего обзора NIST
. NIST не сообщил подробностей относительно того, почему эти кандидаты были отклонены. NIST также не дал полный список отклонённых алгоритмов, но 13 из них известны
, но только следующие из них были опубликованы.
HASH 2X
Maraca
NKS 2D
Ponic
ZK-Crypt
Классификация кандидатов
В таблице перечислены известные участники конкурса с указанием основных атрибутов хеш-функций и найденных атак.
В ней используются следующие аббревиатуры:
—
Ewan Fleischmann, Christian Forler и Michael Gorski. "Classifcation of the SHA-3 Candidates"
Примечания
(неопр.)
(PDF).
Federal Register
. Government Printing Office (2 ноября 2007).
Дата обращения: 6 ноября 2008.
31 марта 2011 года.
(неопр.)
.
Computer Security Resource Center
. National Institute of Standards and Technology (2 ноября 2007).
Дата обращения: 6 ноября 2008.
5 мая 2010 года.
↑
(неопр.)
. NIST (2 октября 2012).
Дата обращения: 2 октября 2012.
30 апреля 2017 года.
(неопр.)
.
Дата обращения: 9 апреля 2015.
15 апреля 2015 года.
↑
(неопр.)
(9 декабря 2008).
Дата обращения: 10 декабря 2008.
27 мая 2009 года.
National Institute of Standards and Technology.
(неопр.)
(9 декабря 2008).
Дата обращения: 23 декабря 2008.
12 ноября 2013 года.
↑
(неопр.)
. National Institute for Standards and Technology (24 июля 2009).
Дата обращения: 24 июля 2009.
10 апреля 2012 года.
National Institute of Standards and Technology.
(неопр.)
(30 июня 2010).
Дата обращения: 12 ноября 2013.
5 марта 2010 года.
(неопр.)
. NIST (10 декабря 2008).
Дата обращения: 15 сентября 2009.
4 июня 2009 года.
(неопр.)
.
Дата обращения: 12 ноября 2013.
14 марта 2011 года.
(неопр.)
.
Дата обращения: 10 декабря 2013.
24 января 2014 года.
(неопр.)
.
Дата обращения: 12 ноября 2013.
29 декабря 2009 года.
(неопр.)
.
Дата обращения: 3 октября 2017.
29 января 2018 года.
(неопр.)
.
Дата обращения: 10 декабря 2013.
13 декабря 2013 года.
(неопр.)
.
Дата обращения: 28 декабря 2016.
30 апреля 2017 года.
Svein Johan Knapskog; Danilo Gligoroski, Vlastimil Klima, Mohamed El-Hadedy, Jørn Amundsen, Stig Frode Mjølsnes.:
(неопр.)
(4 ноября 2008).
Дата обращения: 10 ноября 2008.
12 ноября 2013 года.
Søren S. Thomsen.
(неопр.)
(PDF) (2009).
Дата обращения: 19 мая 2009.
Архивировано из 2 сентября 2009 года.
Henri Gilbert; Ryad Benadjila, Olivier Billet, Gilles Macario-Rat, Thomas Peyrin, Matt Robshaw, Yannick Seurin.:
(неопр.)
(PDF) (29 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Özgül Kücük.
(неопр.)
(PDF) (31 октября 2008).
Дата обращения: 11 декабря 2008.
11 апреля 2012 года.
Dai Watanabe; Christophe De Canniere, Hisayoshi Sato.:
(неопр.)
(PDF) (31 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Jean-François Misarsky; Emmanuel Bresson, Anne Canteaut, Benoît Chevallier-Mames, Christophe Clavier, Thomas Fuhr, Aline Gouget, Thomas Icart, Jean-François Misarsky, Marìa Naya-Plasencia, Pascal Paillier, Thomas Pornin, Jean-René Reinhard, Céline Thuillet, Marion Videau.:
(неопр.)
(PDF) (28 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Eli Biham; Orr Dunkelman.:
(неопр.)
(PDF).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Jongin Lim; Donghoon Chang, Seokhie Hong, Changheon Kang, Jinkeon Kang, Jongsung Kim, Changhoon Lee, Jesang Lee, Jongtae Lee, Sangjin Lee, Yuseop Lee, Jaechul Sung.:
(неопр.)
(PDF) (29 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Philip Hawkes; Cameron McDonald.:
(неопр.)
(30 октября 2008).
Дата обращения: 11 ноября 2008.
12 ноября 2013 года.
Jacques Patarin; Louis Goubin, Mickael Ivascot, William Jalby, Olivier Ly, Valerie Nachef, Joana Treger, Emmanuel Volte.:
(неопр.)
.
Дата обращения: 14 ноября 2008.
Архивировано из 29 января 2009 года.
Hirotaka Yoshida; Shoichi Hirose, Hidenori Kuwakado.:
(неопр.)
(PDF) (30 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Kerem Varıcı; Onur Özen and Çelebi Kocair.:
(неопр.)
.
Дата обращения: 12 октября 2010.
Архивировано из 11 июня 2011 года.
Daniel Penazzi; Miguel Montes.:
(неопр.)
.
Дата обращения: 29 ноября 2008.
(недоступная ссылка)
(неопр.)
(PDF) (31 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
(неопр.)
(PDF) (2009).
Дата обращения: 10 июля 2009.
10 мая 2012 года.
Colin Bradbury.
(неопр.)
(PDF) (25 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Craig Newbold.
(неопр.)
(PDF).
Дата обращения: 23 декабря 2008.
12 ноября 2013 года.
Florian Mendel.
(неопр.)
(PDF).
Дата обращения: 23 декабря 2008.
12 ноября 2013 года.
Dmitry Khovratovich; Alex Biryukov, Ivica Nikolić.:
(неопр.)
(PDF) (30 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Danilo Gligoroski.
(неопр.)
(12 декабря 2008).
Дата обращения: 21 декабря 2008.
12 ноября 2013 года.
Zijie Xu.
(неопр.)
(PDF).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Vlastimil Klima.
(неопр.)
(14 декабря 2008).
Дата обращения: 21 декабря 2008.
12 ноября 2013 года.
Zijie Xu.
(неопр.)
(PDF). NIST.
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Vlastimil Klima.
(неопр.)
(14 декабря 2008).
Дата обращения: 21 декабря 2008.
12 ноября 2013 года.
Danilo Gligoroski; Rune Steinsmo Ødegård, Marija Mihova, Svein Johan Knapskog, Ljupco Kocarev, Aleš Drápal.:
(неопр.)
(4 ноября 2008).
Дата обращения: 10 ноября 2008.
12 ноября 2013 года.
(неопр.)
(2008).
Дата обращения: 10 июля 2009.
12 ноября 2013 года.
Sean O'Neil; Karsten Nohl, Luca Henzen.:
(неопр.)
(31 октября 2008).
Дата обращения: 10 ноября 2008.
9 декабря 2008 года.
Sebastiaan Indesteege.
(неопр.)
(6 ноября 2008).
Дата обращения: 7 ноября 2008.
Архивировано из 18 февраля 2009 года.
Jason Worth Martin.
(неопр.)
(PDF) (21 октября 2008).
Дата обращения: 8 ноября 2008.
Архивировано из 12 июня 2010 года.
(неопр.)
(PDF).
Дата обращения: 12 ноября 2013.
12 ноября 2013 года.
Ivica Nikolić; Alex Biryukov, Dmitry Khovratovich.:
(неопр.)
(PDF).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Mikhail Maslennikov.
(неопр.)
.
Дата обращения: 8 ноября 2008.
Архивировано из 2 мая 2009 года.
(неопр.)
(PDF).
Дата обращения: 14 ноября 2008.
(недоступная ссылка)
Peter Maxwell.
(неопр.)
(PDF) (сентябрь 2008).
Дата обращения: 9 ноября 2008.
Архивировано из 12 ноября 2013 года.
Peter Maxwell.
(неопр.)
(5 ноября 2008).
Дата обращения: 6 ноября 2008.
Архивировано из 9 ноября 2008 года.
Michael Gorski; Ewan Fleischmann, Christian Forler.:
(неопр.)
(PDF) (28 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Florian Mendel, Christian Rechberger, Martin Schläffer.
(неопр.)
(PDF) (2008).
Дата обращения: 19 мая 2009.
12 ноября 2013 года.
Michael Kounavis; Shay Gueron.:
(неопр.)
(3 ноября 2008).
Дата обращения: 11 ноября 2008.
2 декабря 2013 года.
Jean-Philippe Aumasson, Orr Dunkelman, Florian Mendel, Christian Rechberger, Søren S. Thomsen.
(неопр.)
(PDF) (2009).
Дата обращения: 19 мая 2009.
12 ноября 2013 года.
(неопр.)
.
Дата обращения: 12 ноября 2013.
4 июня 2009 года.
Neil Sholer.
(неопр.)
(PDF) (29 октября 2008).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Gregory G. Rose.
(неопр.)
(PDF).
Дата обращения: 8 ноября 2008.
6 июля 2011 года.
Gregory G. Rose.
(неопр.)
(PDF) (10 декабря 2008).
Дата обращения: 23 декабря 2008.
13 июля 2009 года.
David A. Wilson.
(неопр.)
(PDF) (23 октября 2008).
Дата обращения: 23 ноября 2008.
12 ноября 2013 года.
Natarajan Vijayarangan.
(неопр.)
(PDF).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
Björn Fay.
(неопр.)
(PDF).
Дата обращения: 30 ноября 2008.
12 ноября 2013 года.
Orhun Kara; Adem Atalay, Ferhat Karakoc and Cevat Manap.:
(неопр.)
.
Дата обращения: 10 ноября 2008.
Архивировано из 1 февраля 2009 года.
Michal Trojnara.
(неопр.)
(PDF) (14 октября 2008).
Дата обращения: 15 декабря 2008.
12 ноября 2013 года.
Rafael Alvarez; Gary McGuire and Antonio Zamora.:
(неопр.)
(PDF).
Дата обращения: 11 декабря 2008.
12 ноября 2013 года.
John Washburn.
(неопр.)
(PDF).
Дата обращения: 9 ноября 2008.
Архивировано из 19 ноября 2008 года.
(неопр.)
(PDFauthor=John Washburn) (20 декабря 2008).
Дата обращения: 23 декабря 2008.
13 июля 2009 года.
Bob Hattersly.
(неопр.)
(PDF) (15 октября 2008).
Дата обращения: 9 ноября 2008.
12 ноября 2013 года.
Bob Hattersley.
(неопр.)
(PDF) (20 декабря 2008).
Дата обращения: 23 декабря 2008.
13 июля 2009 года.
Bruce Schneier.
(неопр.)
(19 ноября 2008).
Дата обращения: 23 декабря 2008.
12 ноября 2013 года.
Jason Lee.
(неопр.)
.
TI BASIC Developer
(6 ноября 2008).
Дата обращения: 6 ноября 2008.
2 мая 2009 года.
(неопр.)
.
TI BASIC Developer
(6 ноября 2008).
Дата обращения: 6 ноября 2008.
2 мая 2009 года.
Robert J. Jenkins Jr.
(неопр.)
.
Дата обращения: 15 декабря 2008.
22 декабря 2008 года.
(неопр.)
(PDF).
Дата обращения: 15 декабря 2008.
12 ноября 2013 года.
Geoffrey Park.
(неопр.)
(PDF).
Дата обращения: 9 ноября 2008.
Cristophe De Cannière.
(неопр.)
(13 ноября 2008).
Дата обращения: 14 ноября 2008.
12 ноября 2013 года.
Brandon Enright.
(неопр.)
(14 ноября 2008).
Дата обращения: 14 ноября 2008.
12 ноября 2013 года.
Peter Schmidt-Nielsen.
(неопр.)
(PDF).
Дата обращения: 9 ноября 2008.
12 ноября 2013 года.
María Naya-Plasencia.
(неопр.)
(PDF).
Дата обращения: 30 ноября 2008.
22 июля 2011 года.
(неопр.)
.
Дата обращения: 1 марта 2009.
Архивировано из 9 февраля 2009 года.
(неопр.)
.
Дата обращения: 12 ноября 2013.
10 мая 2012 года.