SHA-3 ( Secure Hash Algorithm 3 ) — это последний член семейства стандартов Secure Hash Algorithm , выпущенный NIST 5 августа 2015 г. [4] [5] [6] . -3 внутренне отличается от MD5 - подобной структуры SHA - 1 и SHA-2 .
SHA-3 является подмножеством более широкого семейства криптографических примитивов Keccak ( / ˈ k ɛ tʃ æ k / или / ˈ k ɛ tʃ ɑː k / ), [7] [8] , разработанного Гвидо Бертони , Джоан Даемен , Микаэлем Петерсом, и Gilles Van Assche , основанный на RadioGatún . Авторы Keccak предложили дополнительные варианты использования функции, не (пока) не стандартизированные NIST, включая потоковый шифр , аутентифицированное шифрование .система, схема хеширования «дерево» для более быстрого хеширования на определенных архитектурах, [9] [10] и шифры AEAD Keyak и Ketje. [11] [12]
Keccak основан на новом подходе, называемом конструированием губки . [13] Конструкция губки основана на широкой случайной функции или случайной перестановке и позволяет вводить («поглощать» в терминологии губки) любое количество данных и выводить («сжимать») любое количество данных, действуя как псевдослучайная функция. относительно всех предыдущих входов. Это приводит к большой гибкости.
В настоящее время NIST не планирует отзывать SHA-2 или удалять его из пересмотренного стандарта Secure Hash. [ требуется обновление? ] Назначение SHA-3 состоит в том, что его можно при необходимости напрямую заменить SHA-2 в текущих приложениях, а также значительно повысить надежность общего набора инструментов алгоритма хеширования NIST. [14]
Создатели алгоритмов Keccak и функций SHA-3 предлагают использовать более быструю функцию KangarooTwelve с настроенными параметрами и новым режимом хеширования дерева без лишних накладных расходов для небольших размеров сообщений.
Алгоритм Keccak — работа Гвидо Бертони, Джоан Деймен (которая также совместно разработала шифр Rijndael с Винсентом Рийменом ), Майкла Питерса и Жиля Ван Аше . Он основан на более ранних разработках хеш-функций PANAMA и RadioGatún . PANAMA была разработана Daemen и Craig Clapp в 1998 году. RadioGatún, преемник PANAMA, был разработан Daemen, Peeters и Van Assche и был представлен на семинаре NIST Hash Workshop в 2006 году. [15] Исходный код эталонной реализации был посвящен в общественное достояние через отказ от CC0 . [16]