Защита информации в компьютерных сетях. Кулябов Д.С. - 93 стр.

UptoLike

Составители: 

ЗАЩИТА ИНФОРМАЦИИ В КОМПЬЮТЕРНЫХ СЕТЯХ 93
SHA1, российский алгоритм, описанный стандартон ГОСТ Р 34.11–94.
Наиболее часто используются MD5, SHA1 и в Росии ГОСТ Р 34.11–94.
4.2.3.1. MD2, MD4, MD5
Хэш-функции в алгоритмах MD2, MD4, MD5 преобразуют входное
сообщение произвольной длины в сжатый 128-битный образ.
Основные операции: сложение по модулю 2
32
, циклический сдвиг, ло-
гические операции , , .
Алгоритм MD2 отличается от MD4, MD5 способом дополнения сооб-
щения применением 16-байтной контрольной суммы), значением стар-
тового вектора хэширования и использованием 256-байтной перестановки,
а обработка одного сообщения в нем выполняется за 18 раундов.
В алгоритме MD4 обработка одного блока выполняется за три раунда,
каждый из которых включает в себя 16 операций. На каждом раунде
используется своя цикловая функция f
j
, 1 6 j 6 3, где f
1
= (XY)(
¯
XZ),
f
2
= (X Y ) (X Z) (Y Z), f
3
= X Y Z.
Наиболее используемым является алгоритм MD5, который и будет рас-
смотрен.
Пусть исходное сообщение m задано t-битной строкой m
1
, m
2
, . . . , m
t
.
Строка сообщения m дополняется до длины, сравнимой с 448 по моду-
лю 512 (т.е. длине сообщения не достает ровно 64 бит, чтобы быть кратной
512), а именно: к сообщению присоединяется одна „1“, а затем необходи-
мое количество нулей. Причем дополнение строки выполняется даже в том
случае, если ее длина уже сравнима с 448 по модулю 512 этом случае
к сообщению добавляется 512 бит).К полученной строке присоединяется
64-битное представление числа t. Если t > 2
64
, то используются только
младшие 64 бита числа t .
Пусть M = M
1
M
2
. . . M
n
де M
i
16-словный блок с размером слова
32 бита) дополненное сообщение, а n кратно 16.
Стартовый вектор хэширования MD
0
имеет длину 128 бит и представ-
ляет собой конкатенацию четырех 32-битных слов md
0
||md
1
||md
2
||md
3
, где
md
0
= 01234567, md
1
= 89abcdef , md
2
= f edcb a98, md
3
= 76543210.
В алгоритме MD5 используются четыре цикловые функции f
j
, 1 6
j 6 4, где f
1
(X,Y , Z) = (X Y ) (
¯
X Z), f
2
(X,Y , Z) = (X Z) (Y
¯
Z),
f
3
(X,Y , Z) = X Y Z, f
4
(X,Y , Z) = Y (X
¯
Z).
Все операции в этих функциях выполняются побитно, т.е. каждый
выходной бит зависит только от соответствующих ему входных битов.
Вычисление хэш-функции:
Вход: M = M
1
M
2
. . . M
n
(n блоков по 512 бит).
Алгоритм: Для всех i = 1, . . . , n MD
i
g(MD
i1
, M
i
).
Выход: h(M) = MD
n
.
При вычислении используется накопитель E, содержаий четыре 32-
битных слова A, B, C, D. Исходным заполнителем накопителя E являются
слова стартового вектора хэширования MD
0
.
Обработка 16-словного блока M
i
, 1 6 j 6 n, сообщения M осуществля-
ется за четыре раунда, каждый из которых включает в себя 16 шагов.