Криптографические хэш-функции

Понятие хэш-функций было определено в 1979 году в работах американского математика Р. Меркля, однако еще ранее в автоматизированных системах широко использовались некриптографические хэш-функции для оптимизации размещения и поиска данных [1, 31].

Хэш функции (хэширующие функции (ХФ)) произвольного вида принадлежат к классу однонаправленных функций без потайного хода.

ХФ Криптографические хэш-функции - student2.ru отображает сообщение Криптографические хэш-функции - student2.ru произвольной длины Криптографические хэш-функции - student2.ru в последовательность символов (хэш-код Криптографические хэш-функции - student2.ru ) фиксированной длины Криптографические хэш-функции - student2.ru ; для снижения скорости выбирают Криптографические хэш-функции - student2.ru .

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

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

Одной из важнейших характеристик ХФ является индекс хэширования (склеивания) Криптографические хэш-функции - student2.ru функции Криптографические хэш-функции - student2.ru , где Криптографические хэш-функции - student2.ru – словарь множества сообщений Криптографические хэш-функции - student2.ru . Если Криптографические хэш-функции - student2.ru , то коллизий не происходит; каждое сообщение хэшируется в свой, отличный от других, хэш-код. ХФ, обеспечивающие Криптографические хэш-функции - student2.ru , называются совершенными ХФ. Криптографические хэш-функции - student2.ru

Если в процессе хэширования сообщений используется секретный ключ Криптографические хэш-функции - student2.ru , то такая функция Криптографические хэш-функции - student2.ru называется криптографической ХФ с секретным ключом (рис. 10.5,а). Криптографические ХФ, не использующие секретного ключа для хэширования сообщений Криптографические хэш-функции - student2.ru , называются бесключевыми криптографическими ХФ (рис. 10.5,б). Бесключевые криптографические ХФ могут быть разделены на однонаправленные ХФ и устойчивые к коллизиям ХФ.

Большинство известных бесключевых ХФ основано на разбиении произвольно длинных сообщений на блоки фиксированной длины и их последовательной обработке криптографической ХФ. Этот метод называется итеративным хэшированием. Хэшируемое сообщение Криптографические хэш-функции - student2.ru делится на Криптографические хэш-функции - student2.ru блоков от Криптографические хэш-функции - student2.ru до Криптографические хэш-функции - student2.ru длиной по Криптографические хэш-функции - student2.ru бит. Если длина сообщения не кратна длине блока, то сообщение должно дополняться до длины, кратной длине блока. Для инициализации процесса итеративного хэширования необходимо задать стартовый вектор хэширования Криптографические хэш-функции - student2.ru длиной Криптографические хэш-функции - student2.ru бит. Хэширование сообщения осуществляется на основе функции Криптографические хэш-функции - student2.ru , которая образует выходное значение длиной Криптографические хэш-функции - student2.ru при задании блока исходного текста Криптографические хэш-функции - student2.ru и хэш-значения Криптографические хэш-функции - student2.ru предыдущего блока текста:

Криптографические хэш-функции - student2.ru ,  

где Криптографические хэш-функции - student2.ru – значение хэш-кода на Криптографические хэш-функции - student2.ru -й итерации хэширования.

Значение хэш-кода Криптографические хэш-функции - student2.ru всего сообщения Криптографические хэш-функции - student2.ru определяется как значение хэш-кода на последней итерации хэширования.

В настоящее время разработано много способов хэширования. В качестве примера рассмотрим однонаправленную ХФ вида:

Криптографические хэш-функции - student2.ru . (10.1)

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

Криптографические хэш-функции - student2.ru , Криптографические хэш-функции - student2.ru ,  

где Криптографические хэш-функции - student2.ru – произвольное начальное число.

Пример 10.2. Пусть Криптографические хэш-функции - student2.ru , а сообщение «ДВА» представлено номерами букв в русском алфавите, т.е. Криптографические хэш-функции - student2.ru . Выберем произвольно Криптографические хэш-функции - student2.ru . Тогда из (10.1) получим:

Криптографические хэш-функции - student2.ru , Криптографические хэш-функции - student2.ru , Криптографические хэш-функции - student2.ru .  

Сообщение после хэширования имеет вид Криптографические хэш-функции - student2.ru или «НЩЧ».

Криптографические ХФ в настоящее время широко используются для обеспечения безопасности информации (установление подлинности сообщений) и аутентификации пользователей криптографических систем и сетей.

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

Стандарты хеширования

Наши рекомендации