![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Рассмотрим один общий метод построения хэш-функций. Пусть – любая функция, Vj – векторное пространство над полем F2
при некоторых натуральных . Требуется построить функцию
.
Сообщение разбивается на блоки
,
где . Если длина сообщения
в битах не кратна
, то последний блок
дополняется таким образом, что
. Тогда
, где последовательность
вычисляется по следующему правилу. Блок
фиксирован, например,
. Далее
.
Функцию часто получают применением стойкого блочного шифра. Основная идея использования здесь шифра заключается в том, что трудно вычислить ключ, зная открытый текст и соответствующий ему шифртекст. То есть трудно восстановить
из равенства
, где
известны. Иначе говоря, функция
является однонаправленной при фиксированном
. Пусть для дальнейшего
и имеется блочный шифр
. Тогда в качестве
при
берут
где операция покоординатного суммирования по
векторов из
. Возможны также и другие варианты для
. Однако неосмотрительность при выборе функции
может привести к тому, что итоговая хэш-функция не будет однонаправленной. Это так при
.
Общий рецепт таков. В качестве выбирать функцию, для которой трудно найти коллизию. То есть для
должно выполняться условие
. по-видимому, для функций (1) условие
выполнено. Очевидно, что для функций
и
при постоянном это условие не выполняется.
Дата публикования: 2015-02-18; Прочитано: 484 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!