Методы и средства защиты компьютерной информации. Хамидуллин Р.Р - 94 стр.

UptoLike

Прежде всего, дополняется исходное сообщение, так чтобы его
длина стала кратной 512 бит. В сущности, используется та же
процедура дополнения сообщения, как и в MD5: сначала добавляется
единица, затем столько нулей, сколько необходимо для получения
сообщения, длина которого на 64 бит меньше числа, кратного 512 бит, и
затем добавляется 64-битовое представление длины исходного
сообщения.
Далее инициализируются пять 32-битовых переменных (в MD5
используется четыре переменных):
А = 0x67452301;
В = 0xefcdab89;
С = 0x98badcfe;
D = 0x10325476;
Е = 0xc3d2elf0.
Затем начинается основной цикл алгоритма. Он обрабатывает блоки
сообщения по 512 бит и осуществляет этот процесс поочередно для
всех 512-битовых блоков сообщения. Сначала пять переменных А, В,
С, D, E копируются во вспомогательные переменные а, b, с, d, e:
А a, В b, Cc, D d и E е.
Основной цикл состоит из четырех этапов по 20 операций, каждая
операция из которых реализует нелинейную функцию над тремя из пяти
переменными а, b, с, d, e, а затем производит сдвиг и сложение.
В алгоритме SHA используется следующий набор нелинейных
функций:
f
i
(X, Y, Z) = (X Y) (X Z ) для i = 0 ÷ 19,
f
i
(X, Y, Z) = X Y Z для i = 20 ÷ 39,
f
t
(X, Y, Z) = (X Y) (X Z) (Y Z) для i = 40 ÷ 59,
f
i
(X, Y, Z) = X Y Z для i = 60 ÷ 79,
где i- номер операции (i = 0 ÷ 79).
В алгоритме используются следующие четыре
шестнадцатеричные константы:
96