Схемы хэширования, использующие алгоритмы блочного шифрования
Идея использовать алгоритм блочного шифрования, в стойкости которого мы уверены, для построения надежных схем хэширования выглядит естественной. Напрашивается мысль использовать алгоритм блочного шифрования в режиме "с зацеплением" при нулевой синхропосылке. При этом считать хэш-кодом последний шифрблок. Именно такой подход, использующий DES-алгоритм, описан в предложенном стандарте США: FIPS 113 . Очевидно, что на роль DES-алгоритма здесь годится произвольный блочный шифр. 
Однако при таком подходе возникают две проблемы. Во-первых, размер блока большинства блочных шифров (для DESа -- 64 бита) недостаточен для того, чтобы хэш-функция была устойчива против метода на основе парадокса дня рождения. Во-вторых, предлагаемый метод требует задания некоторого ключа, на котором происходит шифрование. В дальнейшем этот ключ необходимо держать в секрете, ибо злоумышленник, зная этот ключ и хэш-значение, может выполнить процедуру в обратном направлении. Следующим шагом в развитии идеи использовать блочный шифр для хэширования является подход, при котором очередной блок текста подается в качестве ключа, а хэш-значение предыдущего шага -- в качестве входного блока. Выход алгоритма блочного шифрования является текущим хэш-значением (схема Рабина). Существует масса модификаций этого метода, в том числе хэш-функции, выход которых в два раза длиннее блока. В ряде модификаций промежуточное хэш-значение суммируется покоординатно по модулю 2 с блоком текста. В этом случае подразумевается, что размер ключа и блока у шифра совпадают. В литературе встречаются 12 различных схем хэширования для случая, когда размер ключа и блока у шифра совпадают: 
    1) (схема Дэвиса -- Мейера); 
    2) (схема Миягучи); 
    3) (схема Матиаса, Мейера, Осиаса); 
    4) ; 
    5) ; 
    6) ; 
    7) ; 
    8) ; 
    9) ; 
    10) ; 
    11) ; 
    12) , 
где обозначает результат применения алгоритма блочного шифрования с ключом к блоку . 
Во всех подобных схемах полагают , где  -- начальное значение. 
Для алгоритмов блочного шифрования с размером ключа в два раза большим чем размер шифруемого блока (например, IDEA) в 1992 году была предложена модифицированная схема Дэвиса -- Мейера: , где  -- начальное значение; 
. 
Стойкость подобных схем зависит от криптографических и иных свойств алгоритмов блочного шифрования, лежащих в их основе. В частности, даже если алгоритм шифрования является стойким, некоторые из предложенных схем обладают коллизиями. К подобным эффектам могут приводить такие свойства алгоритма шифрования как комплиментарность (шифрование инвертированного открытого текста на инвертированном ключе приводит к инвертированному шифртексту), наличие слабых и полуслабых ключей и т. п. 
Еще одной слабостью указанных выше схем хэширования является то, что размер хэш-кода совпадает с размером блока алгоритма шифрования. Чаще всего размер блока недостаточен для того, чтобы схема была стойкой против атаки на базе "парадокса дня рождения". Поэтому были предприняты попытки построения хэш-алгоритмов на базе блочного шифра с размером хэш-кода в раз (как правило, ) большим, чем размер блока алгоритма шифрования: 

Схема Приниля -- Босселэра -- Гувертса -- Вандервалле 
, где  -- начальное значение; 
, где  -- еще одно начальное значение; 
; 
, где ,  -- левая и правая половины очередного блока хэшируемого текста. Хэш-кодом является конкатенация последних значений , . 
Вскоре после опубликования данной схемы появились работы, показавшие, что схема слабая. 

Схема Кискате -- Жиро
, где  -- начальное значение; 
, где  -- еще одно начальное значение; 
; 
; 
, где ,  -- соседние блоки хэшируемого текста. Хэш-кодом является конкатенация последних значений , . 
В 1989 году данный алгоритм рассматривался в качестве проекта стандарта ISO. В дальнейшем были выявлены его слабости и от него отказались. 

Сдвоенная схема Дэвиса -- Мейера
, где  -- начальное значение; 
, где  -- еще одно начальное значение; 
; 
; 
. 
Хэш-кодом является конкатенация последних значений , . 
В оригинальной работе предложено в качестве алгоритма шифрования использовать схему IDEA. В таком варианте, на сегодняшний день не известно результатов, предлагающих метод построения коллизий, эффективнее, чем метод, основанный на "парадоксе дня рождения". 

Последовательная схема Дэвиса -- Мейера 
, где  -- начальное значение; 
, где  -- еще одно начальное значение; 
; 
. 
Хэш-кодом является конкатенация последних значений , . 
В оригинальной работе предложено в качестве алгоритма шифрования использовать схему IDEA. В таком варианте, на сегодняшний день не известно результатов, предлагающих метод построения коллизий, эффективнее, чем метод, основанный на "парадоксе дня рождения".