Финалист AES – шифр MARS
Шифр состоит из трех видов операций, которые повторяются сначала
в прямом, а затем в инверсном порядке. На первом шаге идет классическое
входное забеливание : ко всем байтам исходного текста добавляются
байты из материала ключа.
Второй этап : прямое перемешивание, однотипная операция, имеющая
структуру сети Фейштеля повторяется 8 раз. Однако, на этом этапе
не производится добавление материала ключа. Цель данного преобразования
– тщательная рандомизация данных и повышение стойкости шифра к некоторым
видам атак (рис.1).
Третий этап : собственно шифрование. В нем используется сеть
Фейштеля треьего типа с 4 ветвями, то есть значения трех функций,
вычисленных от одной ветви накладываются соответственно на три других,
затем идет перестановка машинных слов. Эта операция также повторяется
8 раз (рис.1). Именно на этом этапе происходит смешивание текста
с основной (большей) частью материала ключа. Сами функции, накладываемые
на ветви, изображены на рис.2. Как видим, в алгоритме MARS использованы
практически все виды операций, применяемых в криптографических преобразованиях :
сложение, "исключающее ИЛИ", сдвиг на фиксированное число бит, сдвиг
на переменное число бит, умножение и табличные подстановки.
Во второй части операции шифрования повторяются те же операции,
но в обратном порядке : сначала шифрование, затем перемешивание,
и, наконец, забеливание. При этом во вторые варианты всех операций
внесены некоторые изменения таким образом, чтобы криптоалгоритм
в целом стал абсолютно симметричным. То есть, в алгоритме MARS для
любого X выполняется выражение EnCrypt(EnCrypt(X))=X
Рис.1.
Рис.2.
Назад | Содержание
| Вперед
|