4.4. Определение безопасности блочного шифра
69
Применяя такие операции, довольно сложно получить нечетную перестанов-
ку. В результате практически все известные блочные шифры генерируют
только четные перестановки.
Упомянутый выше факт позволяет построить простой различитель прак-
тически для каждого блочного шифра. Мы называем такой алгоритм
ата-
кой с проверкой четности (parity attack)
. Для заданного значения ключа
постройте перестановку, зашифровав по порядку все возможные варианты
открытого текста. Если перестановка является нечетной, значит, перед на-
ми идеальный блочный шифр, так как реальный блочный шифр никогда не
генерирует нечетную перестановку. Если же перестановка четная, соответ-
ствующий блочный шифр рассматривается как реальный. Такой различитель
будет давать правильные ответы в 75 случаях из ста. Он ошибется только то-
гда, когда ему попадается идеальный блочный шифр, генерирующий четную
перестановку. Чтобы повысить вероятность получения правильного ответа,
этот же алгоритм можно применить и к другим значениям ключа.
Несмотря на всю привлекательность атаки с проверкой четности, она не
имеет практического применения. Чтобы определить четность перестановки,
необходимо с помощью функции шифрования вычислить все пары “открытый
текст–шифрованный текст”, кроме одной. (Последняя пара определяется три-
виально: единственный оставшийся вариант открытого текста отображается
на единственный оставшийся вариант шифрованного текста.) В реальных си-
стемах никогда не следует допускать такое количество запросов к блочному
шифру, поскольку успешное завершение других типов атак будет происхо-
дить еще быстрее. В частности, как только злоумышленник получит б´ольшую
Достарыңызбен бөлісу: