Проектировать блочный шифр нетрудно. Если вы рассматривает 64-битовый блочный шифр как перестано в-ку 64-битовых чисел, ясно, что почти все эти перестановки безопасны. Трудность состоит в проектировании блочного шифра, который не только безопасен, но также может быть легко описан и просто реализован.
Легко можно спроектировать блочный шифр, если вы используете память, достаточную для размещения S-блоков 48*32. Трудно спроектировать небезопасный вариант DES, если вы собираетесь использовать в нем 128 этапов. При длине ключа 512 битов не стоит беспокоиться о том, нет ли какой-либо зависящей от ключа ко м-плиментарности.
14.11 Использование однонаправленных хэш-функций
Сымым простым способом использовать для шифрования однонаправленную хэш-функцию является хэш и-рование предыдущего блока шифротекста, объединенного с ключом, а затем выполнение XOR результата с т е-кущим блоком открытого текста:
Q = Pi®H{K,Q.i)
Pi = Ci®H{K, Pi.l)
Установите длину блока равной длине результата однонаправленной хэш-функции. По сути это приводит к использованию однонаправленной хэш-функции как блочного шифра в режиме CFB. При помощи аналогичной конструкции можно использовать однонаправленную хэш-функцию и в режиме OFB:
Ci = Pi®Si; Si = H(K, Ci.1)
Pi = Ci®Si = H(K, Ci.{)
Надежность такой схемы определяется безопасностью однонаправленной хэш-функции.