На основе алгоритма 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.
Третя частина стандарту 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).
Функция хеширования 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 битам и включать данные своей длины.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.