id: Гость   вход   регистрация
текущее время 16:11 28/03/2024
Автор темы: Гость, тема открыта 19/10/2014 14:08 Печать
Категории: криптография, алгоритмы, хэширование
создать
просмотр
ссылки

Keccak


Добрый день, хотелось бы узнать про алгоритм Кессак, все что я нахожу слишком расплывчато.
Если вам не сложно приведите пожалуйста логику работы данной Хэш функции.
Т.е. считываем блок размера 256, ксорим получившийся блок с генерируем ключом, после чего делаем то-то и то-то.


 
Комментарии
— unknown (19/10/2014 22:36)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664
Алгоритм очень подробно разбирался в статьях и новостях: Хэш-функция Keccak и конструкция Sponge как универсальный криптопримитив, Перспективные режимы Sponge-шифрования, Низкая алгебраическая сложность Keccak/Keyak облегчает кубические атаки.
— Корд (21/10/2014 14:16)   <#>
Насколько я понял по записям(поправьте,если я не прав) Есть блок размера 1600=r+c берем кусок сообщения размера r) матрица и по ней происходит 24 раунда перестановки. Дальше берется второй блок сообщения и т.д. Пока сообщение не кончиться.
— unknown (21/10/2014 14:38, исправлен 21/10/2014 14:39)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Keccak работает по принципу губки (Sponge).


Бесключевая перестановка f-Keccak, действительно 24 раунда, маскимальным размером 1600 бит (предусмотрено и меньше). На вход сначала поступает нулевой вектор, к нему заксоривается в r входящее сообщение p, дополняется паддингом; что не влезло — заксоривается в часть r к состоянию f-Keccak после 24 раундов; и так для всего сообщения (заксоривается с дополнением часть r, перемежаясь 24 раундами f-Keccak), после чего ещё раз 24-раунда f-Keccak. Это фаза поглощения губкой.


На выходе выводится z от части размером r; если не хватает, то ещё 24 раунда перестановки f-Keccak и очередной блок z размером r. Это фаза отжатия губки.


Так выглядит основной режим работы губки. Есть масса других, какие-то ещё продолжают изобретать и исследовать.

— Гость (21/10/2014 15:18)   <#>
1) имеем начальный нулевой вектор размера 1600
2) входящее сообщение р ксорим с r частью вектора
Тут же вопрос каков будет размер сообщения p которое мы ксорим.
И как определить размер r.
3) Дальше происходит 24 раунда f-Keccak.
Что конкретно из себя эта функция представляет.
Т.е на вход этой функции подается вектор после нашего (p xor r) соединенный с нулевым вектором размера с.
И что происходит с этим вектором дальше?
— unknown (21/10/2014 15:54, исправлен 21/10/2014 15:57)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

1) Хорошо, выбрали именно такой битрейт внутреннего состояния b = r + c = 1600.
2) Сообщение ксорится блоками, размером r, или дополненными до r с округлением до байта. В случае, если всегда брать b = 1600, а c — размер выхода (т.е., 256, 512 или 1024; всё, что больше 1024 считается как 1024), то r = bc.
3) Функция представляет собой бесключевую перестановку. Конкретно смотрите работу, код, даже фрагмент псевдокода в новости. С вектором дальше ничего не происходит, он ушёл во внутреннее состояние. Если нужно ещё добавить блоки на вход губки в фазе поглощения, то они ксорятся не с начальным вектором, а с результатом выхода предыдущей 24-раундовой перестановки.

— Корд (21/10/2014 20:05)   <#>
Смотрел в новостях. Проблема в том, что там идет работа с какой-то матрицей, что за матрица? Откуда она взялась или имеет какой-то определенный вид?
— SATtva (22/10/2014 08:29)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
работу не читай @ вопросы задавай
— unknown (22/10/2014 09:53, исправлен 22/10/2014 10:14)   профиль/связь   <#>
комментариев: 9796   документов: 488   редакций: 5664

Во внутренней функции для двумерных объектов есть plane, slice и sheet по терминологии авторов (naming conventions for parts of the Keccak-f state). В официальной fileKeccak specifications слово «матрица» нигде не встречается. Что из этого кто-то где-то мог назвать матрицей — неизвестно.


Есть ещё fileKeccak implementation overview — там описаны матрицы, которые вас интересуют. Они как раз формируются из стандартных наименований частей Keccak уже для различных особенностей реализации.

Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3