14
Результат перестановки объединяется с помощью операции XOR с левой
половиной первоначального 64-битового блока данных. Далее левая и правая
части меняются местами, и начинается следующий раунд.
На втором этапе блок делится на две части (ветви) по 32 бита каждая.
Правая
ветвь
преобразуется,
используя
некоторую
функцию
и
соответствующий частичный ключ, который получается из
основного ключа
шифрования по специальному алгоритму преобразования ключей. Далее
производится обмен данными между левой и правой ветвями блока. Это
повторяется в цикле 16 раз.
Наконец, на последнем третьем этапе производится перестановка
результата, полученного после шестнадцати шагов основного цикла. Эта
перестановка обратна начальной перестановке.
После выполнения всех шагов блок данных считается полностью
зашифрованным и можно переходить к шифрованию следующего блока
сообщения.
1.3.1.2 Advanced Encryption Standard (AES)
Advanced Encryption Standard (AES) представляет собой симметричный
шифр блочного типа, выбранный правительством США для защиты секретной
информации и реализованный в
программном и аппаратном обеспечении во
всем мире для шифрования конфиденциальных данных.
Национальный институт стандартов и технологий (NIST) начал
разработку AES в 1997 году, когда объявил о
необходимости использования
алгоритма преемника для устаревшего алгоритма Data Encryption Standard
(DES), который стал уязвимым для брут-форс атак.
В
качестве расширенного стандарта AES был выбран алгоритм Rijndael,
разработанный бельгийскими криптографами Винсентом Рэйменом и Йоаном
Дайменом и отличавшийся повышенной безопасностью, производительностью
и гибкостью.
15
Алгоритм Rijndael представляет собой симметричный блочный шифр,
который поддерживает размеры ключей 128, 192 и 256 бит, причем данные
обрабатываются в 128-битных блоках, однако, помимо критериев
проектирования AES, размеры блоков могут быть зеркальными для ключей[3].
Rijndael использует переменное количество раундов, в зависимости от размера
ключа и блока, следующим образом:
9 раундов, если размер ключа и блока составляет 128 бит;
11 раундов, если размер ключа и блока составляет 192 бита;
13 раундов, если размер ключа и блока составляет 256 бит.
Rijndael - это
шифр линейного преобразования подстановки, не
требующий сети Фейстеля. Он использует тройные сдержанные обратимые
равномерные преобразования (слои). В частности, это:
Линейное преобразование;
Нелинейное преобразование;
Преобразование ключа.
Еще до первого раунда выполняется простой уровень добавления ключа,
что добавляет безопасности. После этого - раунды Nr-1, а затем финальный
раунд. Преобразования образуют форму при запуске, но до завершения всего
процесса.
Форму можно рассматривать как массив, структурированный с 4
строками, а номер столбца - длина блока, деленная на длину бит (например,
деленная на 32). Ключ шифрования аналогичным образом представляет собой
массив с 4 строками, но длина ключа делится на 32, чтобы указать количество
столбцов. Блоки могут быть интерпретированы как одномерные массивы 4-
байтовых векторов.
Точные
преобразования
происходят
следующим
образом:
субтрансформация байтов нелинейна и работает на каждом из байтов формы
независимо - обратимая таблица подстановок состоит из двух преобразований.
Трансформация сдвига видит, что форма смещена по переменным смещениям.
Значения смещения сдвига зависят от длины блока формы. Преобразование с
16
помощью функции, которая смешивает данные внутри каждого столбца формы,
видит, что столбцы формы берут полиномиальные характеристики по
значениям поля Галуа (28), умноженные на x4 + 1 (по модулю) с
фиксированным многочленом. Наконец, происходит преобразование в форму с
помощью уникального ключа, который применяется в
каждом отдельном
раунде, и функции XOR. Расписание ключей помогает ключу шифрования
определять уникальные ключи посредством расширения ключа и выбор раунда.
В целом, структура Rijndael демонстрирует высокую степень модульной
конструкции, которая должна сделать модификацию для противодействия
любой атаке, даже с
учетом будущих технологий, намного проще, чем с
использованием устаревших алгоритмов.
Достарыңызбен бөлісу: