
ОСНОВЫ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ
Лабораторная работа №1
Исследование криптосистем на основе схемы Файстеля
Цель работы: Изучить и проанализировать свойства операций продукционных шифров, которые преобразовывают данные согласно схеме Файстеля на основе выбранного мультипримитивного шифра.
Задание:
Определить криптографические интерфейсы шифра MARS в соответствии с требованиями, предъявляемыми конкурсом AES.
С использованием языка программирования высокого уровня реализовать примитивы шифра MARS в соответствии с документацией IBM MARS.
Реализовать процедуры шифрования, расшифрования и генерации раундовых ключей в MARS в соответствии с положениями криптосистемы MARS.
Провести подробное документирование криптоалгоритма в соответствии с современными стандартами по разработке программного обеспечения.
Провести исследование скорости работы алгоритма при длинах ключей 128, 192 и 256 битов.
Указать возможности злоумышленника относительно криптоанализа шифра MARS.
Теория:
MARS является блочным симметричным шифром, формирующим 128-битовый шифртекст. Для MARS возможно применение ключей различной длины от 128 до 400 битов. Основной целью шифра было достижение наилучшей стойкости / производительности путем использования наилучших примитивов преобразования данных, разработанных на сегодняшний день.
Полностью оптимизированная программная реализация MARS позволяет достигать скорости шифрования в 65 Мбит/c на 200 MHz Pentium Pro и 85 Мбит/c на 200 MHz PowerPC. При реализации шифра на специализированных криптографических процессорах возможно увеличение скорости на порядок.
При проектировании шифра были использованы следующие принципы.
Выбор операций. MARS был спроектирован для использования на современных и будущих аппаратных платформах. В шифре используется полный набор «сильных операций», которые поддерживаются современными компьютерами и обеспечивают хорошие криптографические свойства (например, умножение чисел). Данный подход позволяет достичь высоких скоростей на аппаратных платформах общего назначения.
Структура шифра. Две декады накопления опыта в криптоанализе показали, что стойкость системы зависит от стойкости ее отдельных составляющих. Различные раунды преобразования играют различную роль, поэтому необходимо концентрироваться на создании шифра с одинаково влияющими на результат преобразования раундов.
Анализ. Важным аспектом MARS является то, что его компоненты спроектированы таким образом, чтобы возможно было проведение криптоанализа. Для каждого шага преобразований были выбраны такие операции, которые можно было бы легко проанализировать. Это позволило произвести декомпозицию шифра и проанализировать шифр «по частям».
|
Высокоуровневая структура
Для описания преобразований шифра используются следующие обозначения: D[] – массив из 4 32-битовых слов. Сначала он заполняется словами открытого текста, а в конце содержит слова шифртекста. K[] – массив расширенного ключа, содержащий 40 32-битовых слов. S[]– таблица подстановки состоящая из 512 32-битовых слов. Она разделяется на две последовательные 256-элементные части, обозначаемые соответственно S0 иS1. |
Другими особенностями шифра являются:
Работа с 32-битовыми словами. Большинство компьютеров на сегодняшний день и в ближайшем будущем являются и будут 32-разрядными, все операции в MARS применяются к 32-битовым словам. На текущем этапе развития технологии такой выбор обеспечивает хороший компромисс между способностью использования современных архитектур (а также и 8-разрядных) и способностью получать преимущества от архитектур более высокой разрядности.
Использование сети Файстеля 3 типа. Так как MARS имеет длину блока в 128 битов и оперирует над 32-разрядными словами, это означает, что каждый блок состоит из 4 слов. Наилучшей конструкцией, обеспечивающей компромисс между скоростью, стойкостью и пригодностью для анализа, является сеть Файстеля третего типа.
Такая сеть состоит из множества раундов, в каждом из которых одно слово данных (и несколько слов ключа) используются для модификации всех остальных слов данных. Эта конструкция обеспечивает улучшенные диффузионные свойства.
Дополнительно, сеть Файстеля 3-го типа имеет преимущества над другими структурами, модифицирующими данные, в том аспекте, что сеть 3-го типа намного проще для криптоанализа. Причиной этого является то, что в других структурах необходимо точно определять соответствие входов и выходов, что зачастую является проблематичным; в схеме же Файстеля 3-го типа зависимость между входами и выходами легко прослеживается.
Симметричность процедур шифрования и расшифрования. MARS был разработан с возможностью противостояния атакам с выбранным шифртекстом и выбранным исходным текстом. Это требование привело к высокой симметричности шифра, так что последняя половина раундов является «зеркальным отображением» первой половины.