Расписание клавиш AES
редактировать
AES использует расписание клавиш, чтобы развернуть краткую клавишу в несколько отдельных циклов ключи. У трех вариантов AES разное количество раундов. Каждый вариант требует отдельного 128-битного раундового ключа для каждого раунда плюс еще один. Расписание ключей производит необходимые ключи раунда из исходного ключа.
Содержание
- 1 Круглые константы
- 2 Ключевое расписание
- 3 Примечания
- 4 Ссылки
- 5 Внешние ссылки
Круглые константы
Значения rc i в шестнадцатеричном форматеi | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|
rci | 01 | 02 | 04 | 08 | 10 | 20 | 40 | 80 | 1B | 36 |
---|
Постоянная округления rcon i для цикла i расширения ключа представляет собой 32-битное слово:
где rc i - восьмибитное значение, определяемое как:
где - это побитовый оператор XOR и такие константы, как 00 16 и 11B 16 , даны в шестнадцатеричном формате. Эквивалентно:
, где биты rc i рассматриваются как коэффициенты элемента конечное поле , так что, например, представляет собой многочлен .
AES использует до rcon 10 для AES-128 (поскольку требуется 11 раундовых ключей ), до rcon 8 для AES-192 и до rcon 7 для AES-256.
Ключевое расписание
Ключевое расписание AES для 128-битный ключ.
Определите:
- N как длину ключа в 32-битных словах: 4 слова для AES-128, 6 слов для AES-192 и 8 слов для AES-256
- K0, K 1 ,... K N-1 как 32-битные слова исходного ключа
- R как необходимое количество ключей раунда: 11 раунд ключи для AES-128, 13 ключей для AES-192 и 15 ключей для AES-256
- W0, W 1 ,... W 4R-1 как 32- битовые слова расширенного ключа
Также определите RotWord как однобайтный круговой сдвиг влево :
и SubWord как приложение AES S-box к каждому из четырех байтов слова:
Тогда для :
Примечания
Ссылки
Внешние ссылки