Що таке хеш-функція SHA-3?
SHA-3 (Secure Hash Algorithm 3) - останній член сімейства стандартів Secure Hash Algorithm, випущений NIST 5 серпня 2015 р. Хоча частина тієї ж серії стандартів, SHA-3 внутрішньо відрізняється від MD5-подібної структури SHA-1 і SHA-2.
SHA- 3 є підмножиною ширшого криптографічного примітивного сімейства Keccak, спроектованого Гвідо Бертоні, Джоан Дамен, Міхаелем Пітерсом та Жилем Ван Аше, спираючись на RadioGatún. Автори Keccak запропонували додаткове використання функції, ще (не) стандартизованої NIST, включаючи потоковий шифр, автентифіковану систему шифрування, схему хешування "tree " для швидшого хешування на певних архітектурах та шифри AEAD Keyak та Ketje.
Keccak заснований на новому підході, який називається конструкція губки. Конструкція губки заснована на широкій випадковій функції або випадковій перестановці і дозволяє вводити ("поглинаючи " в термінології губки) будь-яку кількість даних та виводити ("стискаючи ") будь-яку кількість даних, виконуючи при цьому роль псевдовипадкової функція щодо всіх попередніх входів. Це призводить до великої гнучкості.
На даний момент NIST не планує вилучати SHA-2 або видаляти його з переглянутого стандарту Secure Hash. Призначення SHA-3 полягає в тому, що він може безпосередньо замінити SHA-2 у поточних додатках, якщо це необхідно, і значно покращити надійність загального набору інструментів алгоритму хеш-алгоритму NIST.
Творці Keccak алгоритми та функції SHA-3 пропонують використовувати швидшу функцію KangarooTwelve із скоригованими параметрами та новий режим хешування дерева без зайвих накладних витрат для невеликих розмірів повідомлень.