Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.ХФ.doc
Скачиваний:
19
Добавлен:
02.12.2018
Размер:
1.62 Mб
Скачать
    1. Ключевые функции хеширования

В криптографических приложениях к ключевым функци­ям хеширования предъявляются следующие основные требо­вания:

невозможность фабрикации;

невозможность модификации.

Первое требование означает высокую сложность подбора сообщения с правильным значением свертки. Второе — высо­кую сложность подбора для заданного сообщения с извест­ным значением свертки другого сообщения с правильным значением свертки.

Заметим, что здесь и всюду ниже слова "высокая слож­ность" означают такую вычислительную сложность задачи, при которой ее решение с использованием вычислительной техники за реальное время невозможно.

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

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

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

В качестве примера рассмотрим широко распространен­ную хеш-функцию, построенную на основе одношаговой сжимающей функции вида

где — алгоритм блочного шифрования.

Для вычисления значения сообщение представ­ляется в виде последовательности n-битовых блоков . Если при этом длина сообщения не кратна длине блока, то последний блок неким специальным образом допол­няется до полного блока. Алгоритм вычисления свертки име­ет следующий вид:

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

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

Пусть, например, ключ k добавляется к началу сообщения согласно формуле . Если функция h построена на основе одношаговой сжимающей функции по формуле (1), то по известным значениям M и можно вычис­лять значения этой функции для любых сообщений вида с дописанным произвольным окончанием . Это объясняется итеративностью процедуры вычисления функции, в силу которой для нахождения значения не требуется знание ключа k, достаточно воспользоваться уже вычисленным "промежуточным" значением Н. Поэтому такая функция не устойчива к модификации.

В случае когда ключ добавляется в конец сообщения со­гласно формуле , знание коллизии для функции h, то есть пары , такой, что , позволяет вычислять значения для любого ключа k .

В связи с этим более предпочтительными являются спо­собы введения ключа, при которых ключ вставляется в сооб­щение не один, а, по крайней мере, два раза. Ука­зывается два таких способа:

где — дополнения ключа k до размера, кратного длине блока п. Для определенных бесключевых хеш-функций h такой подход позволяет строить эффективно вычислимые и устойчивые к атакам ключевые хеш-функции. Недостатком такого метода является слишком большая длина п свертки. Дело в том, что для целей проверки целостности обычно вы­бирают длину свертки п в пределах 32-64, а для аутентифи­кации необходимо условие и n>128.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]