Вперед: 5.2.2 MD4
Вверх: 5.2 Методы построения криптографических хэш-функций
Назад: 5.2 Методы построения криптографических хэш-функций
  Содержание
  Предметный указатель
Алгоритм разработан фирмой Nippon Telephone &
Telegraph. Впервые опубликован в
1990 году [MOI1], [MOI2].
-хэш использует блоки длиной 128 битов, размешивающую
функцию, аналогичную функции алгоритма шифрования FEAL и
вырабатывает блок хэш-кода длиной 128 битов. На вход
пошаговой хэш-функции в качестве аргументов поступают
очередной блок сообщения длиной 128 битов и хэш-код
предыдущего шага также размером 128 битов.
, где -- синхропосылка;
.
Хэш-кодом всего сообщения объявляется хэш-код, получаемый в
результате преобразования последнего блока текста.
Функция вначале меняет местами старшие и младшие части
(по 64 бита каждая) хэш-кода предыдущего шага,
покоординатно складывает полученное значение с величиной
(длина 128 битов) и текущим блоком текста
. Полученная величина поступает на вход каскада из
() преобразующих функций. Вторым аргументом каждой из
преобразующих функций является хэш-код предыдущего шага,
сложенный покоординатно с одной из восьми констант.
На рисунке 1 использованы следующие условные
обозначения:
EXG -- старшая и младшая части (по 64 бита каждая)
входного блока меняются местами;
(128 битов) в двоичной записи;
;
здесь
обозначает конкатенацию бинарных строк;
(24 бита) в двоичной записи;
(; длиной
8 битов);
PS -- преобразующая функция.
Рис. 1
|
На рисунке 2 представлена схема
преобразующей функции. Каждый из аргументов при этом
разбивается на 4 блока по 32 бита каждый:
,
.
Рис. 2
|
Схема вычисления функции представлена на
рисунке 3.
Рис. 3
|
Функции и определяются аналогично таким же
функциям криптографического алгоритма FEAL:
левый циклический сдвиг на 2 бита;
левый циклический сдвиг на 2 бита.
Результат действия преобразующей функции PS предыдущего
шага становится входным аргументом очередной преобразующей
функции PS. Процесс, показанный на рис. 1,
завершается покоординатным суммированием по модулю 2
результата действия последней преобразующей функции PS,
хэш-кода предыдущего шага и блока хэшируемого текста.
Известные результаты анализа
Ден Бур предложил способ построения коллизии для
однораундовой схемы -хэша. Бихам и Шамир успешно
применили дифференциальный метод [BiS2] для
компрометации 6-раундовой схемы -хэша [BiS1],
[Bi]. Более того, предложенный ими способ построения
коллизий срабатывает для любого значения кратного трем
и при этом для
он оказывается эффективнее
подхода основанного на "парадоксе дня рождения" (см. раздел 5.4). Для 6-раундовой схемы Бихам и Шамир
указали явно несколько пар текстов, имеющих один и тот же
хэш-код. Для 12-раундовой схемы сложность построения
коллизий предложенным методом оценивается величиной
операций (для сравнения: трудоемкость метода
основанного на "парадоксе дня рождения" есть
операций).
Вперед: 5.2.2 MD4
Вверх: 5.2 Методы построения криптографических хэш-функций
Назад: 5.2 Методы построения криптографических хэш-функций
  Содержание
  Предметный указатель
|