Криптографическая защита информации. Яковлев А.В - 75 стр.

UptoLike

=<<<
=
=
...79.16 1,)(
...19;0 ,
161483
tWWWW
tM
W
tttt
t
t
После окончания главного цикла значения а, b, с, d и е складываются с
содержимым А, В, С, D и Е соответственно и осуществляется переход к
обработке следующего 512-битового блока расширенного сообщения. Вы-
ходное значение хэш-функции является конкатенацией значений А, В, С, D
и Е.
4.3.2. ФУНКЦИИ ХЭШИРОВАНИЯ SHA-256, SHA-512 И SHA-384
Стойкость функции хэширования к поиску столкновений, примерно,
равна 2
n/2
, где пдлина выходного значения функции. В связи с разработ-
кой в США нового стандарта шифрования с длиной ключа 128, 192 и 256
бит потребовалось создать "сопровождающие" алгоритмы, обеспечиваю-
щие такой же уровень стойкости. В качестве нового стандарта США пред-
полагается принять алгоритмы вычисления функций хэширования с длиной
выходного значения 256, 384 и 512 бит.
Работа алгоритма SHA-256 может быть разбита на две частиописа-
ние функции сжатия и алгоритма обработки сообщения. Функция сжатия
представляет собой по сути алгоритм блочного шифрования с размером
блока 256 бит промежуточного значения функции хэширования с исполь-
зованием очередного текстового блока в качестве ключа. Размер слова ра-
вен 32 битам. Сложение производится по модулю 2
32
. Стартовый вектор
хэширования H
0
представляет собой набор из 8 32–разрядных слов, полу-
чаемых взятием дробной части квадратных корней первых 8 простых чи-
сел. Далее вычисление происходит по схеме подобной SHA, более подроб-
но алгоритм изложен [7]. В SHA-256 используются шесть логических функ-
ций, аргументы и значения которых – 32-битовые слова. Слова-константы
K
0
, ..., K
63
берутся как первые 32 бита дробных частей кубических корней
первых 64 простых чисел в 16-ричном виде.
Функция SHA-512 подобна по своей структуре SHA-256, но работает с
размером слова 64 бита. Вначале текст дополняется так, чтобы его длина
была кратна 1024. Процедура дополнения аналогична: добавляется 1, затем
столько нулей, что длина текста станет на 128 меньше, нежели кратная
1024, а затем 128-битовое представление длины исходного текста. Старто-
вый вектор хэширования задается следующим образом: берутся первые 64
бита дробных частей квадратных корней первых 8 простых чисел. Далее
исходный текст разбивается на блоки по 1024 бита. Слова-константы K
0
, ...,
K
79
берутся как первые 64 бита дробных частей кубических корней первых
80 простых чисел в 16-ричном виде.
Функция SHA-384 определяется точно так же, как и функция SHA-512
с тем исключением, что в качестве стартового вектора хэширования берут-
ся первые 64 бита квадратных корней простых чисел с девятого по шестна-
дцатое. Далее выход функции обрезается до 384 левых бит и эти биты бе-
рутся в качестве значения функции хэширования SHA-384.
4.3.3. ФУНКЦИЯ ХЭШИРОВАНИЯ ГОСТ Р 34.11–94
При описании функции хэширования будут использоваться те же обо-
значения, что использовались при описании алгоритма выработки цифро-
вой подписи согласно ГОСТ Р 34.10. Кроме того, пусть Мпоследователь-
ность двоичных символов, подлежащих хэшированию; hхэш-функция,
отображающая последовательность М в слово h(M) V
256
(2); Е
K
(А) – ре-
зультат шифрования слова А на ключе K с использованием алгоритма шиф-
рования по ГОСT 28147–89 в режиме простой замены; Нстартовый век-
тор хэширования.
Под хэш-функцией h понимается отображение .)2(:
256
*
VBh
Для определения хэш-функции необходимы: алгоритм вычисления шаго-
вой функции хэширования κ, где )2()2()2(:
256256256
VVV
×
κ
; описание
итеративной процедуры вычисления значения хэш-функции h.