No Mercy (2001)
- 1 year ago
- 0
- 0
Mercy — криптоалгоритм , реализующий блочное шифрование и предназначенный для шифрования жестких дисков . Разработан британцем Полом Кроули в 2000 году. Размер блока нетипично объемен и составляет 4096 бит . Шифрование проводится с использованием 16-байтового ключа. Помимо кодируемой информации и ключа алгоритмом используются "твики" (tweaks) — подобия ключей, применяющиеся для обеспечения дополнительной безопасности. Блоки в каждом раунде кодируются общим ключом, при этом каждому блоку соответствует "твик", привязанный к индексу блока и никак не зависимый от ключа.
Основой для Mercy выступает 6-раундная сеть Фейстеля . Функция преобразования каждого раунда использует привязанную к ключу модель конечного автомата , которая заимствует часть своей структуры у архитектуры потокового шифра WAKE . В качестве преобразующей функции используются зависимые от ключа идеальные S-блоки замены . Используемые S-блоки схожи по конструкции с блоками, использующимися в стандарте AES .
В 2001 году против Mercy была проведена успешная публичная атака с использованием дифференциального криптоанализа . Алгоритм крайне неустойчив — статистическая атака успешно работает против шести-, а также семи-раундной разновидностей алгоритма. На использование алгоритма не накладывается никаких лицензионных ограничений, исходный код находится в открытом доступе.