Davies–Meyer and DES. Как упоминалось выше, при реализации конструк-
ции Дэвиса-Мейера следует соблюдать осторожность с любым реальным блоч-
ным шифром, поскольку шифр должен обладать дополнительными свойствами
(помимо пригодности к строгой псевдослучайной перестановке), чтобы в ре-
зультате построения быть безопасным. В упражнении 6.21 мы исследуем, что
происходит не так, когда DES используется в конструкции Дэвиса-Мейера.
Это должно служить предупреждением, что доказательство безопасности для
конструкции Дэвиса-Мейера в модели идеального шифра не обязательно преоб-
разуется в реальную безопасность, если реализуется пример с реальным шиф-
ром. Тем не менее, как мы опишем ниже, эта парадигма была использована для
построения практических хэш-функций, которые противостояли атаке (а кон-
кретно, когда блочный шифр в центре конструкции был предназначен специаль-
но для этой цели).
В конструкции Дэвиса-Мейера есть полезная парадигма для конструирова-
ния функций сжатия, устойчивых к коллизиям. Однако ее не следует применять
к блочным шифрам, предназначенным для шифрования, подобно DES и AES.
6.3.2 MD5
MD5 - это хэш-функция с длиной выходных данных 128 битов. Она была
разработана в 1991 г. и в течение некоторого времени считалась устойчивой к
коллизиям. В течение нескольких лет в MD5 начали обнаруживаться различ-
ные недостатки, но они, по всей видимости, не приведут к какому-либо просто-
му способу поиска коллизий. Поразительно, но в 2004 году группа китайских
криптоаналитиков представила новый метод нахождения коллизий в MD5; они
легко смогли убедить других, что их подход был правильным, демонстрируя
недвусмысленную коллизию! С тех пор атака была улучшена и сейчас коллизии
можно обнаружить в течение одной минуты на настольном ПК. Кроме того,
атаки были расширены таким образом, что можно было обнаружить даже «кон-
тролируемые коллизии» (например, два файла в формате postscript, генериру-
ющих видимый контент). Из-за этих атак MD5 не следует использовать нигде,
где требуется криптографическая защита. Отметим MD5 только потому, что она
по-прежнему обнаруживается в унаследованном программном коде.
258
Достарыңызбен бөлісу: |