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