Шаг 4: обработка сообщения в 512-битных блоках

Основной алгоритм состоит из 80 циклических операций (4 этапа по 20 операций в каждом) и обозначен как HSHA.

Каждый цикл получает на входе текущий 512-битный обрабатываемый блок Yq и 160-битное значения буфера ABCDE, и изменяет содержимое этого буфера.

В каждом цикле используется дополнительная константа Kt, которая принимает только 4 различных значения в зависимости от номера текущей операции t:

0 ≤ t ≤19 Kt = 5A827999 (целая часть числа [230´√2])

20≤ t ≤39 Kt = 6ED9EBA1 (целая часть числа [230´√3])

40≤ t ≤59 Kt = 8F1BBCDC (целая часть числа [230´√5])

60≤ t ≤79 Kt = CA62C1D6 (целая часть числа [230´√10])

Для получения SHAq+1 выход 80-го цикла складывается со значением SHAq. Сложение по модулю 232 выполняется независимо для каждого из пяти слов в буфере ABCDE с каждым из соответствующих слов в SHAq.

Рис 2. Обработка очередного 512-битного блока


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: