MARS структура: образующая функция, схемы входного и выходного перемешивания.

МАRS: структура

Он представляет собой блочный шифр с размером блока, равным 128 битам, и переменной длиной ключа. Схема расширения материала ключа такова, что в качестве него может использоваться последовательность бит произвольной длины от 128 до 1248 бит. Сами авторы отмечают, что такая большая возможная длина ключа выбрана ими не с точки зрения стойкости шифра (очевидно, что барьер в 256 бит будет еще очень долго оставаться недосягаемой величиной), а ради удобства использования шифра совместно с другими криптографическими примитивами. Так, например, во многих системах распространения ключей уникальная ключевая информация, получаемая в результате выполнения всех положенных действий, имеет длину в 512, 768 или 1024 бита.

Алгоритм МАRS можно классифицировать как среднего уровня сложности и реализации. Он представляет собой традиционную сеть Файштеля 3-го типа с 4-мя ветвями. Однако для повышения стойкости шифра к известным и, возможно, новым схемам криптоанализа разработчики значительно усложнили дополнительные входное и выходное преобразования сети Файштеля. В результате весь процесс шифрования удобно представить в виде 6 последовательных i преобразований.

1) Входное сложение с материалом ключа (первичное “забеливание”).

2) Входное перемешивание данных (8 раундов преобразования Е_ТRANS).

3) Первые 8 раундов сети Файштеля (первая схема наложения).

4) Завершающие 8 раундов сети Файштеля (вторая схема наложения).

5) Выходное перемешивание данных (8 раундов преобразования D_TRANS).

6) Выходное сложение с материалом ключа (выходное забеливание).

Все шесть преобразований спроектированы авторами практически симметрично. За исключением двух центральных этапов исполнение шифра является почти зеркальным. Подобная структура проликтована желанием защитить шифр от криптоатак абсолютно симметрично как «со стороны» входных данных, так и “со стороны” выходных данных.

Схемы входного сложения с материалом ключа выходного “забеливания”:

MARS структура: образующая функция, схемы входного и выходного перемешивания. - student2.ru

Входное сложение алгоритма МАRS

MARS структура: образующая функция, схемы входного и выходного перемешивания. - student2.ru

Выходное «забеливание» алгоритма МАRS

Схемы входного и выходного перемешивания. Обе процедуры состоят из 8-кратного повторения типовых схем Е_ТRANS и D_ТRANS. “Разнообразят” данное восьмикратное повторение только операции арифметического сложения (в обратном проходе- вычитания), выполняемые после 1, 2, 5 и 6 применения схем перемешивания. Подобная «нестройность» алгоритма лежит в полном соответствии с общей концепцией авторов сделать шифр легко анализируемым и понятным, но не при димым к простому аналитическому виду.

MARS структура: образующая функция, схемы входного и выходного перемешивания. - student2.ru

Входное перемешивание МАRS

Как видим, на данном этапе полностью отсуттвует взаимодействие с материалом ключа. Главная цель перемешивания: подготовка информации к основному циклу криптопреобразований, улучшение статистических характеристик входного блока. Даже в том случае, если на вход криптоалгоритма подаются сильно коррелированные между собой данные, например, ASCII-текст, входное перемешивание (с учетом уже добавленной первой порции материала ключа) выравнивает все статистические характеристики блока. Кроме того разработчики полагают, что использование в шифре разнородных этапов (перемешивание плюс сеть Файштеля повышает потенциальную стойкость алгоритма к еще не открытым методам криптоанализа.

Выходное перемешивание МАRS

Табличные подстановки S0 и S1 на этапе перемешивания имеют разрядноcть 8х32 бита (то есть в качестве индекса в табличной выборке используются только младшие 8 бит из каждой ветви). Эти же две таблицы, но объединенные вместе, образуют табличную подстановку S разрядностью 9х32 бита, используемую в основных раундах сети Файштеля.

MARS структура: образующая функция, схемы входного и выходного перемешивания. - student2.ru Образующая функция F, используемая в алгоритме во всех 16 раундах сети Файштеля. Как видим, в ней разработчики использовали проактически все применяемые на сегодняшний день криптопримитивы: арифметическое сложение, исключающее ИЛИ, 32-разрядное умножение, сдвиги на фиксированное и переменное число бит, табличные подстановки. Подобный “винегрет” авторы снова объясняют повышением потенциальной стойкости алгоритма к еще неизвестным методам криптоатак. Вероятность того, что какая-либо закономерность потока данных, используемая в подобной атаке, пройдет через все виды криптопреобразований, очень мала- уверяют они.

MARS структура: образующая функция, схемы входного и выходного перемешивания. - student2.ru

Образующая функция МАRS

Схема наложения трех результатов образующей функции на остальные ветви отличается в первых восьми и во вторых восьми раундах сети Файштеля.

Процедура дешифрования отличается от шифрования только заменой арифметического сложения на вычитание в схеме наложения результата образующей функции F на остальные ветви блока и инверсным направлением размена ветвей. Это позволяет при процедурной реализации шифра уместить обратный алгоритм (при наличии готовой “прямой” реализации) всего в несколько десятков байт кода.

Наши рекомендации