SHA-1
Оглавления
Описание
Инициализация
Операции и константы
Главный цикл
Пример
Secure Hash Algorithm 1 — алгоритм криптографического хеширования.
Описан в RFC 3174. Для входного сообщения произвольной длины
алгоритм генерирует 160-битное хеш-значение, называемое также
дайджестом сообщения. Используется во многих криптографических
приложениях и протоколах. Также рекомендован в качестве основного
для государственных учреждений в США. Принципы, положенные в основу
SHA-1, аналогичны тем, которые использовались Рональдом Ривестом при проектировании MD4.
Инициализация
Исходное сообщение разбивается на блоки по 512 бит в каждом. Последний блок дополняется
до длины, кратной 512 бит. Сначала добавляется 1 а потом нули, чтобы длина блока стала
равной 512 — 64 бит. В оставшиеся 64 бита записывается длина исходного сообщения в битах.
Дополнение последнего блока осуществляется всегда, даже если сообщение уже имеет нужную
длину. Таким образом, число добавляемых битов находится в диапазоне от 1 до 512.
Инициализируются пять 32-битовых переменных
A = a = 0x67452301
B = b = 0xEFCDAB89
C = c = 0x98BADCFE
D = d = 0x10325476
E = e = 0xC3D2E1F0
Определяются четыре нелинейные операции и четыре константы.
Главный цикл.
Главный цикл итеративно обрабатывает каждый 512-битный блок. Итерация состоит из четырех
этапов по двадцать операций в каждом. Блок сообщения преобразуется из 16 32-битовых
слов Mi в 80 32-битовых слов Wj по следующему правилу:
Пример
SHA-1("В чащах юга жил бы цитрус? Да, но фальшивый экземпляр!")
= 9e32295f 8225803b b6d5fdfc c0674616 a4413c1b
Виды
MD6
MD4
MD5
SECURE HASH ALGORITHM (SHA)
RIPE-MD
HAVAL
MDC
|