Иллюстрированный самоучитель по Protection to information




Однонаправленные функции - часть 2


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

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

образами,

в строки фиксированной длины, которые принято именовать

хэш-значениями.

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

однонаправленной: нетрудно подобрать строку символов, суммирование которых по модулю 2 даст заранее заданное значение.

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

Процесс хэширования в криптографии — не тайна. Однонаправленная

хэш-

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




Содержание  Назад  Вперед