JH (хеш-функция) - JH (hash function)

JH
Общий
ДизайнеровХунцзюнь Ву
СертификацияФиналист SHA-3
Деталь
Размеры дайджеста224, 256, 384, 512
Скорость16.1 cpb на Ядро 2 в 64-битном режиме с использованием SSE2; 37,3 cpb с использованием ANSI C.

JH это криптографическая хеш-функция представлен в Конкурс хеш-функций NIST пользователя Hongjun Wu. Хотя JH был выбран в качестве одного из пяти финалистов конкурса, в конечном итоге он проиграл кандидату хеширования NIST. Кечак.[1] JH имеет 1024-битное состояние и работает с 512-битными входными блоками. Обработка входного блока состоит из трех этапов:

  1. Выполните XOR входного блока в левой половине состояния.
  2. Примените к состоянию 42-раундную перестановку без ключа (функцию шифрования). Он состоит из 42 повторений:
    1. Разбейте вход на 256 4-битных блоков и сопоставьте каждый с одним из двух 4-битных блоков. S-боксы, выбор делается с помощью 256-битного расписания ключей, зависящего от цикла. Точно так же объедините каждый входной блок с ключевым битом и сопоставьте результат через 5 → 4-битный S-блок.
    2. Смешайте соседние 4-битные блоки, используя код максимального расстояния над GF (24).
    3. Переставьте 4-битные блоки так, чтобы они были смежными с разными блоками в следующих раундах.
  3. Выполните XOR входного блока в правой половине состояния.

Результирующий дайджест - это первые 224, 256, 384 или 512 бит от конечного 1024-битного значения. Он хорошо подходит для битовая нарезка реализация с использованием SSE2 набор команд, дающий скорость 16,8 циклов на байт.

Рекомендации

  1. ^ «NIST выбирает победителя конкурса алгоритмов безопасного хеширования (SHA-3)» (Пресс-релиз). NIST. 2012-10-02. Получено 2012-10-02.

внешняя ссылка