Изменения

Перейти к навигации Перейти к поиску
Строка 234: Строка 234:
Как сказано выше, хэш-функция из длинного сообщения строит свёртку фиксированной длины (число от 0 до N). Если хэш-функции от двух посланий не равны, послания гарантированно не совпадают. Если равны — вероятно, совпадают. Криптографическая хэш-функция должна обладать двумя свойствами:
Как сказано выше, хэш-функция из длинного сообщения строит свёртку фиксированной длины (число от 0 до N). Если хэш-функции от двух посланий не равны, послания гарантированно не совпадают. Если равны — вероятно, совпадают. Криптографическая хэш-функция должна обладать двумя свойствами:
# Трудно обратить: для данного числа ''y'' трудно подобрать послание ''s'', для которого h(''s'')=''y''.
# Трудно обратить: для данного числа ''y'' трудно подобрать послание ''s'', для которого h(''s'')=''y''.
# Трудно найти коллизию: для тел ''p'' и ''q'' трудно подобрать суффиксы ''r'' и ''s'', чтобы h(''p''+''r'') = h(''q''+''s'').
# Трудно найти коллизию: для тел ''p'' и ''q'' трудно подобрать суффиксы ''r'' и ''s'', чтобы h(''p'' . ''r'') = h(''q'' . ''s''). (Точка — склеивание байтовых строк.)


Что такое обратить — это понятно. Кто-то подготовил документ, нужно подготовить другой с заданным хэшем — и желательно с заданной осмысленной частью. Впрочем, хэш — штука блочная, и если дать полную свободу хотя бы на одном блоке (и достаточно вычислительной мощи), остальные блоки можно сделать любые наперёд заданные.
Что такое обратить — это понятно. Кто-то подготовил документ, нужно подготовить другой с заданным хэшем — и желательно с заданной осмысленной частью. Впрочем, хэш — штука блочная, и если дать полную свободу хотя бы на одном блоке (и достаточно вычислительной мощи), остальные блоки можно сделать любые наперёд заданные.
20 184

правки

Навигация