Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
71
Добавлен:
19.02.2016
Размер:
902.14 Кб
Скачать

9.2 Функции хэширования

Хэш-функции являются одним из важнейших элементов криптосистем, реализующих ЭЦП.

Реальные хэш-функции представляют собой сложные алгоритмы, рекомендованные в соответствующих стандартах. Методика их обоснования выходит за рамки данной книги.

Определение хэш-функции. Хэш-функция – преобразование битовой строки произвольной длины в битовую строку (блок) фиксированной длины (обычно, 128-512 битов), обладающее следующими свойствами.

1. Восстановление по, исходя из соотношения, вычислительно нереализуемо.

2. Исходя из и, вычислительно нереализуемо определение второго прообраза для, т.е. такого сообщения, что.

В криптографической практике, как правило, используются т.н. свободные от коллизий хэш-функции, удовлетворяющие следующему, более жесткому, чем предыдущее, условию 3.

3. Требуется, чтобы нахождение произвольной коллизии, т.е. пары сообщений , (), таких, что, было вычислительно нереализуемо.

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

Их называют кодами аутентификации сообщений – Message Authentication Code (MAC). Коды MAC могут быть постороены как хэш-функции с секретным параметром в виде.

Вычисление MAC для формируемых в сеансе связи случайных текстов позволяет абонентам продемонстрировать друг другу обладание общим симметричным ключом, не позволяя злоумышленнику получить пару открытый-шифрованный текст.

Для аутентификации сообщений в симметричных криптосистемах MAC передается вместе с сообщением. Абонент, которому известен симметричный ключ, перевычисляет MAC и сравнивает его с принятым значением.

В компьютерных системах и сетях широко используется типовой алгоритм HMAC вычисления кода МАС, с использованием произвольной встроенной хэш-функции .

Это связано с тем, что стандартные хэш-функции непосредственно не предусматривают использование секретных параметров.

Однако желательно иметь возможность применять их для выработки кодов аутентификации сообщений, поскольку криптографическая стойкость хэш-функций высока, а время их вычисления меньше, чем время шифрования данных, скажем, блочными шифрами при построении кодов аутентификации на их основе.

Хэш-функции также стандартизированы. Кроме того, существует общая методика построения хэш-функций на основе блочных шифров.

Характеристики некоторых стандартизованых хэш-функций приведены в таблице 9.1.

Наиболее известные из хэш-функций: MD2, MD4, MD5 и SHA-1.

Три алгоритма серии MD разработаны Ривестом в 1989-м, 90-м и 91-м годах соответственно. Все они преобразуютбитовые строки произвольной длины произвольной длины в 128-битный хеш-код (дайджест).

Таблица 9.1 Характеристики хэш-функций

Название

Характеристика функции

MD2

Длина хэш-кода - 128 бит. Самая медленная, рассчитана для 8-битовых машин. Используется относительно редко.

MD4

Длина хэш-кода 128 бит. Быстрая, оптимизирована для 32-битовых машин. Не популярна, т.к. имеются сообщения о ее дешифровании

MD5

Длина хэш-кода - 128 бит. Наиболее распространенное применение – совместно с RSA. Похожа на MD4. Более надежна, но средства повышения безопасности делают ее на треть медленнее, чем MD4.

SHA-1

Длина хэш-кода-160 бит. Предназначена для использования в стандарте DSS. Использует принципы, заложенные в MD4, MD5.

ГОСТ 34.311

Длина хеш-кода 256 бит. Построена на основе оригинальных преобразований. Использует, в том числе алгоритм шифрования ГОСТ 28147-89. Применяется совместно с Национальным стандартом ДСТУ 4145-2002.

В алгоритме MD4 довольно быстро были найдены слабые места, поэтому он был заменен алгоритмом MD5, в котором каждый блок участвует не в трех, а в четырех различных циклах.

Алгоритм SHA (Secure Hash Algorithm), разработанный NIST, повторяет идеи серии MD. В SHA используются тексты более битов. Данный алгоритм первоначально предназначался для использования в рамках государственной программы США – «Capstone», предполагающей централизованное хранение всех ключей, используемых организациями и частными лицами.

Соседние файлы в папке Гулак_по_главам