Кто владеет информацией — тот владеет миром.

Ротшильд

Пока другие только пытаются понять законы рынка, используй их!

Терморектальный криптоанализTM



Алгоритм Mercy

Алгоритм Mercy разработан в 2000 г. Полом Кроули (Paul Crowley) из английской компании DataCash.

Структура алгоритма
Алгоритм Mercy шифрует данные блоками переменного размера, но рекомендуемый размер блока составляет 4096 битов (т. е. соответствует размеру сектора диска). Помимо 128-битного ключа шифрования, существует еще один параметр алгоритма— 128-битная величина, которая может быть случайной, а может и обозначать, например, номер шифруемого сектора. Главное — эта величина должна быть известна при рашифровании данных, но не обязательно должна быть секретной (далее будет обозначена как Sp).

Несмотря на то, что простота дизайна алгоритма, по словам его автора, была одним из основных факторов при разработке алгоритма, структура алгоритма (по сравнению с многими другими алгоритмами блочного симметричного шифрования) оказалась достаточно сложной. Рассмотрим структуру «снизу вверх», т. е. от простейших операций — к комплексным.

Основным преобразованием алгоритма Mercy является функция выполняющая преобразование 8-битных слов х в 32-битные по следующему закону. Теперь рассмотрим полностью процедуру шифрования в алгоритме Mercy. По своей структуре алгоритм представляет собой сеть Фейстеля с частичным предварительным и заключительным отбеливанием, т. е. наложением на обрабатываемые субблоки операцией XOR псевдослучайной последовательности, полученной из ключа шифрования в процессе выполнения процедуры расширения ключа.
Как видно из рисунка, алгоритм выполняет 6 раундов преобразований, в которых в качестве функции раунда используется описанная выше функция F(). Перед первым раундом на правый субблок открытого текста накладывается зависящее от ключа шифрования 2048-битное значение W0 (предварительное отбеливание), а после шестого раунда таким же образом на левый субблок накладывается также зависящее от ключа значение WI (пост-отбеливание). Расшифровывание данных выполняется аналогично их зашифровыванию, за исключением того, что пре- и пост-отбеливание меняются местами, т. е. наложение WI выполняется до первого раунда, a W0 используется по завершении шести раундов.

Процедура расширения ключа
Процедура расширения ключа алгоритма Mercy подразумевает использование любого генератора псевдослучайных чисел, в качестве которого автором алгоритма рекомендуется использовать потоковый шифр RC4, разработанный известнейшим криптологом Рональдом Ривестом. Генератор псевдослучайных чисел инициализируется ключом шифрования, а первые 256 байтов псевдослучайных чисел отбрасываются.

Криптостойкость алгоритма
Относительно широкую известность получила лишь одна работа, посвященная криптоанализу алгоритма Mercy, автор которой — Скотт Фларер (Scott R. Fluhrer) из компании Cisco Systems. Однако какие-либо практически осуществимые атаки на алгоритм Mercy в этой работе не были предложены. Несмотря на то, что в алгоритме не были найдены значительные уязвимости, весьма маловероятно, что Mercy найдет достаточно широкое применение из-за весьма узкого назначения.

Остапенко Денис aka Sharp, 2006

Соглашение о приватности информации

 

Hosted by uCoz