Стандарты Хеш-функций. Основные определения и требования безопасности к функциям хеширования, страница 5

На основе алгоритма MD4 получено несколько алгоритмов, которые используют дополнительные механизмы, обеспечивающие увеличение стойкость прообраза, стойкость к коллизии. Эти идеи включают увеличение числа циклов, некоторые изменения побитовых операции на шаге вычислений и увеличение длины цепочечных переменных, что приводит к более длинному хеш результату. Так SHA-1 семейство использует процедуру расширения блока сообщения, вычисляющую разницу слов на каждом шаге. RIPEMD семейство функций хеширования использует две параллельных схемы вычисления, которые являются модифицированными версиями MD4. В таблице 3 представлены сравнительные данные MD4 подобных алгоритмов [11].

Таблица 3

Параметры MD4 подобных функций хеширования.

Алгоритм

Размер хеш кода (бит)

Размер блока (бит)

Размер слова (бит)

Число циклов на число шагов в цикле

MD4

MD5

RIPEMD-128

RIPEMD-160

SHA-1

SHA-2/256

SHA-2/384

SHA-2/512

128

128

128

160

160

256

384

512

512

512

512

512

512

512

1024

1024

32

32

32

32

32

32

64

64

3×16

4×16

4×16×2

5×16×2

4×20

1×64

1×80

1×80

Функция хеширования SHA-1 входит в стандарт FIPS 180-1 и рекомендован NIST для  цифровых подписей совместно с DSA стандартом. NIST обновил этот стандарт, представив FIPS 180-2 [13], который включает, помимо SHA-1, три новых хэш-функции SHA-2/256, SHA-2/384 и SHA-2/512 с функциями хеширования большей длинны, чтобы соответствовать уровню защиты нового стандарта блочного шифра AES. ANSI принял банковские стандарты криптографии с открытыми ключами: стандарт X9.30 [14], который определяет алгоритм SHA-1 совместно с DSA и стандарт X9.31 [15] который определяет алгоритм MDC-2 с сигнатурной схемой RSA.

Ниже подробно рассмотрим спеціалізовані хеш-функції стандарту ISO/IEC 10118-3 та перспективные функции хеширования: Whirlpool и SHA-2/256, SHA-2/384, SHA-2/512.

3.3 Спеціалізовані хеш-функції стандарту ISO/IEC 10118-3.

Третя частина стандарту ISO/IEC 10118-3 визначає три спеціалізовані хеш-функції, а саме функції RIPEMD-128, RIPEMD-160 і SHA-1.

Європейський консорціум RIPE, спираючись на свої дослідження властивостей цих алгоритмів, запропонував посилену версію MD4, що одержала назву RIPEMD. Хеш-функція RIPEMD по суті складається з двох паралельно працюючих і модифікованих функцій MD4 (тобто функція має дві лінії). Суть модифікації полягає в зміні аргументів операторів циклічних зрушень і порядку проходження на вхід циклів хеш-функції слів повідомлення, яке хешується. Паралельні лінії, крім того, відрізняються використанням різних констант. Версії RIPEMD-128 і RIPEMD-160 виробляють хеш-код довжиною, відповідно, 128 і 160 біт.

Іншою альтернативою алгоритмам MDх є алгоритм SHA-1, розроблений спільно Агентством національної безпеки США і NIST і прийнятий як американський національний стандарт (FIPS 180-1).

3.3.1 Описание и анализ алгоритма SHA-1.

Функция хеширования SHA-1 [393] является стандартом NIST (FIPS 180-1 обновлён на FIPS 180-2) и включен в ISO/IEC стандарт 10118-3. Несмотря на то, что длина результата хеширования 160 бит является недостаточной для функции стойких к коллизиям в соответствии с требованиями проекта NESSIE, существует достаточно практических применений, которые использует функции хеширования с 160 битами. Алгоритм SHA-1 оперирует с 512 битами блока данных, разделенными на 32 битные слова и производит хеш длиной 160 бит.

Описание проекта.

SHA-1 является усиленной версией алгоритма MD4 и определяется как итерационная функция сжатия. Вычисление начинается с начальных значений

.

На каждом шаге вычисления функции сжатия используется пять слов  и 16 слов сообщения, в результате образуются пять выходных слов, которые используются вместо начальных значений  на следующем шаге. Последнее вычисление функции сжатия определяет значение хеш результата. Длина обрабатываемых данных должна быть кратной 512 битам и включать данные своей длины.