Академический Документы
Профессиональный Документы
Культура Документы
512.
Алгоритмы этих хеш-функций отличаются только значением одного внутреннего параметра —
длины (в битах) выходного значения (которая и указана после дефиса в названии). Далее в
статье при описании алгоритма я буду считать этот параметр частью входных данных для
удобства, говоря о JH, как об одном алгоритме или одной хеш-функции.
Хеш-функция JH входит в пятёрку финалистов второго тура SHA-3. В процессе этого конкурса
она была улучшена. В статье рассматривается последняя на данный момент версия, которую
также можно назвать JH42 (так как главное изменение состояло в том, что число раундов в
функции компрессии стало равно 42). Дата выхода документации по ней — 16 января 2011
года.
При хешировании входное сообщение дополняется и разделяется на части, которые далее
последовательно обрабатываются так называемой функцией компрессии. Эта функция
описана в спецификации в общем виде — то есть с переменным параметром d, меняя
который можно конструировать JH-подобные хеш-функции (тем более криптостойкие, чем
больше d). В JH исходно d=8.
При выборе финалиста в конкурсе SHA решающую роль играют не криптографические
характеристики (они у всех функций отличные), а гибкость и оптимальность в программной и
аппаратной реализации. На тему аппаратной реализации существует много исследований,
например[1].
Содержание
1Алгоритм[2]
o 1.1Уточнения
1.1.1О названии элементов битовых векторов
1.1.2Обозначение конкатенации
o 1.2Используемые функции — обобщённый случай
1.2.1S-box — Si(x)
1.2.4Преобразование-раунд — Rd(A,C)
1.2.5Преобразование Ed
1.3.3Константы C раундов R8
Пример[показать]
0 1 2 3 4 5 6 7 8 9 a b c d e f
9 0 4 b d c 3 f 1 a 2 6 7 5 8 e
3 c 6 d 5 7 1 9 f 2 0 4 b a e 8