246
Затем к состоянию применяются следующие операции в серии четырех этапов
во время каждого раунда:
Этап 1 – Добавить ключ раунда: В каждом раунде AES, 128-битный вспомо-
гательный ключ получается из главного ключа, и интерпретируется как массив
байтов 4 на 4. Массив состояния обновляется посредством операции исключа-
ющего ИЛИ с помощью этого вспомогательного ключа.
Этап 2 – Вспомогательные байты: На этом этапе каждый байт массива со-
стояния заменяется другим байтом в соответствии с единой фиксированной
таблицей перекодировки S. Эта таблица замены (или S-блок) является взаимно-
однозначным соответствием по {0, 1}8.
Этап 3 – Сдвиг строк: На этом этапе байты в каждой строке массива сдвигают-
ся влево следующим образом: первая строка массива остается нетронутой, вторая
строка сдвигается на одну позицию влево, третья строка сдвигается на две позиции
влево и четвертая строка сдвигается на три позиции влево.
Все сдвиги - цикличе-
ские, например, во второй строке первый байт становится четвертым байтом.
Этап 4 – Перемешивание столбцов: На этом этапе применяется обратимое
преобразование к четырем байтам в каждом столбце. (С
технической точки
зрения это линейное преобразование, т. е. матричное умножение над соответ-
ствующим полем). Это преобразование обладает таким свойством, что если два
входа отличаются в b > 0 байтах, то применение преобразования дает два вы-
хода, отличающихся,
как минимум, в 5 − b байтах.
В конечном раунде Перемешивание столбцов заменяется Добавить ключ ра-
унда. Это препятствует оппоненту просто инвертировать последние три этапа,
которые не зависят от ключа.
Рассматривая вместе этапы 3 и 4 в качестве этапа «смешивания», мы видим,
что каждый раунд AES имеет структуру сети замены-перестановки: вспомо-
гательный ключ раунда сначала обрабатывается исключающим ИЛИ вместе с
входом в текущий раунд; далее небольшая обратимая функция применяется к
«порциям данных» результирующего значения; наконец, биты результата сме-
шиваются, чтобы получить диффузию (преобразование открытого текста для
нарушения его статистической структуры). Единственная
разница состоит в
том, что в отличие от нашего предыдущего описания сетей замены-переста-
новки, в данном случае этап смешивания не состоит из простой перетасовки
битов, а вместо этого проводится перестановка плюс обратимое линейное пре-
образование. (Немного упрощая дело и рассматривая тривиальный 3-битный
пример, перетасовывая биты x = x1»x2»x3 можно, например,
отобразить x к xr
= x2»x1»x3. Обратимое линейное преобразование можно отобразить x к x1 ⊕
x2»x2 ⊕ x3»x1 ⊕ x2 ⊕ x3.)
247
Количество раундов зависит от длины ключа. Десять раундов используется
для 128-битного ключа, 12 раундов для 192-битного ключа и 14 раундов для
256-битного ключа.
Достарыңызбен бөлісу: