Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1.2. Электронная цифровая подпись и функция хэш...docx
Скачиваний:
16
Добавлен:
25.11.2019
Размер:
162.49 Кб
Скачать

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

Как видно из схемы на рис. 7, в качестве исходного значе­ния для вычисления ЭЦП берется не сам электронный доку­мент, а его хэш-значение, или дайджест.

Хэш-значение h (М) — это дайджест сообщения М, т. е. сжа­тое двоичное представление основного сообщения М произ­вольной длины. Хэш-значение h(М) формируется функцией хэ­ширования. Функция хэширования (хэш-функция) представляет собой преобразование, на вход которого подается сообщение переменной длины М, а выходом является строка фиксирован­ной длины h(М). Иначе говоря, хэш-функция h(*) принимает в качестве аргумента сообщение (документ) М произвольной дли­ны и возвращает хэш-значение (хэш) Н=h(М) фиксированной длины (рис. 8).

Рис. 8. Схема формирования хэша Н=h(М)

Функция хэширования позволяет сжать подписываемый до­кумент М до 128 и более бит (в частности до 128 или 256 бит), то­гда как М может быть размером в мегабайт или более. Следует от­метить, что значение хэш-функции Н(М) зависит сложным обра­зом от документа М и не позволяет восстановить сам документ М.

Функция хэширования должна обладать следующими свой­ствами.

1. Хэш-функция может быть применена к аргументу любого размера.

2. Выходное значение хэш-функции имеет фиксированный размер.

3. Хэш-функцию h(х) достаточно просто вычислить для лю­бого х. Скорость вычисления хэш-функции должна быть такой, чтобы скорость выработки и проверки ЭЦП при использовании хэш-функции была значительно больше, чем при использовании самого сообщения.

4. Хэш-функция должна быть чувствительна к всевозмож­ным изменениям в тексте М, таким как вставки, выбросы, пере­становки и т. п.

5. Хэш-функция должна быть однонаправленной, т. е. обла­дать свойством необратимости, иными словами, задача подбора документа Л/', который обладал бы требуемым значением хэш-функции, должна быть вычислительно неразрешима.

6. Вероятность того, что значения хэш-функций двух различ­ных документов (вне зависимости от их длин) совпадут, должна быть ничтожно мала; т. е. для любого фиксированного х с вы­числительной точки зрения невозможно найти х'≠ х, такое, что h(х') = h(х).

Теоретически возможно, что два различных сообщения могут быть сжаты в одну и ту же свертку (так называемая коллизия, или «столкновение»). Поэтому для обеспечения стойкости функ­ции хэширования необходимо избегать столкновений. Полно­стью столкновений избежать нельзя, поскольку в общем случае количество возможных сообщений превышает количество воз­можных выходных значений функции хэширования. Однако ве­роятность столкновения должна быть низкой.

Свойство 5 эквивалентно тому, что h(*) является односторон­ней функцией. Свойство 6 гарантирует, что не может быть най­дено другое сообщение, дающее ту же свертку. Это предотвра­щает фальсификацию сообщения.

Таким образом, функция хэширования может использовать­ся для обнаружения изменений сообщения, т. е. может служить Для формирования криптографической контрольной суммы (также называемой кодом обнаружения изменений или кодом аутентифи­кации сообщения). В этом качестве хэш-функция используется для контроля целостности сообщения при формировании и про­верке ЭЦП.

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

Известные алгоритмы хэширования:

• отечественный стандарт ГОСТ Р34.11—94 [12]. Вычисляет хэш размером 32 байта;

• МD — ряд алгоритмов хэширования, наи­более распространенных в мире. Например, алгоритм МD5 применяется в последних версиях Мiсгоsоft Windows для преобразования пароля пользователя в 16-байтное число;

• SНА-1— это алгоритм вычисления дайджеста сообщений, вырабатывающий 160-битовый хэш-код входных данных, широко распространен в мире, ис­пользуется во многих сетевых протоколах защиты инфор­мации.

Хэш-функции широко используются также для аутентифи­кации пользователей.