Однонаправленные хэш-функции


Основы

Однонаправленная функция H(M) применяется к сообщению произвольной длины M и возвращает значение фиксированной длины h.

h= H(M), где h имеет длину m

Многие функции позволяют вычислять значение фиксированной длины по входным данным произвольной длины, но у однонаправленных хэш-функций есть дополнительные свойства, делающие их однонаправленными [1065]:

Зная M, легко вычислить h.

Зная H, трудно определить M, для которого H(M)=h.

Зная M, трудно определить другое сообщение, M', для которого H(M)= H(M').

Если бы Мэллори умел делать трудные вещи, он смог бы разрушить безопасность любого протокола, использующего однонаправленную хэш-функцию. Смысл однонаправленных хэш-функций и состоит в обеспечении для M уникального идентификатора ("отпечатка пальца"). Если Алиса подписала Mс помощью алгоритма цифровой подписи на базе H(M), а Боб может создать M', другое сообщение, отличное от M, для которого H(M)= H(M'), то Боб сможет утверждать, что Алиса подписала M'.

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

Должно быть трудно найти два случайных сообщения, Mи M', для которых H(M)= H(M').

Помните вскрытие методом дня рождения из раздела 7.4? Оно основано не на поиске другого сообщения M', для которого H(M)= H(M'), а на поиске двух случайных сообщений, Mи M', для которых H(M)= H(M').

Следующий протокол, впервые описанный Гидеоном Ювалом (Gideon Yuval) [1635], показывает, как, если предыдущее требование не выполняется, Алиса может использовать вскрытие методом дня рождения для обмана Боба.

(1) Алиса готовит две версии контракта: одну, выгодную для Боба, и другую, приводящую его к банкротству

(2) Алиса вносит несколько незначительных изменений в каждый документ и вычисляет хэш-функции. (Этими изменениями могут быть действия, подобные следующим: замена ПРОБЕЛА комбинацией ПРОБЕЛ-ЗАБОЙ-ПРОБЕЛ, вставка одного-двух пробелов перед возвратом каретки, и т.д. Делая или не делая по одному изменению в каждой из 32 строк, Алиса может легко получить 232 различных документов.)

(3) Алиса сравнивает хэш-значения для каждого изменения в каждом из двух документов, разыскивая пару, для которой эти значения совпадают. (Если выходом хэш-функции является всего лишь 64-разрядное значение, Алиса, как правило, сможет найти совпадающую пару сравнив 232 версий каждого документа.) Она восстанавливает два документа, дающих одинаковое хэш-значение.

(4) Алиса получает подписанную Бобом выгодную для него версию контракта, используя протокол, в котором он подписывает только хэш-значение.

(5) Спустя некоторое время Алиса подменяет контракт, подписанный Бобом, другим, который он не подписывал. Теперь она может убедить арбитра в том, что Боб подписал другой контракт.

Это заметная проблема. (Одним из советов является внесение косметических исправлений в подписываемый документ.)

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



Дата добавления: 2021-01-26; просмотров: 417;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.008 сек.