Состояния, ключи и число циклов шифрования

Введем следующие обозначения:

Nb – число 32-битных слов, содержащихся во входном блоке

(в AES Nb = 4);

Nk - число 32-битных слов, содержащихся в ключе шифрования

(в AES Nk = 4, 6,8);

Nr – число раундов шифрования как функция от Nb и Nk (Nr = 10,12,14).

Входные (input), промежуточные (state) и выходные (output) результаты преоб­разований блоков данных, называются состояниями (State). Состояния удобно представить в виде прямоугольных массивов байтов, имеющих 4 строки и Nb сто­лбцов, где Nb есть длина блока, деленная на 32.

Рисунок 4.14 демонстрирует такое представление, носящее название архитек­ту­ры «Квадрат», для 128-битовых входных блоков определенных в стандарте AES. Последовательность битов состоя­ния записывается по колонкам сверху вниз, колонки следуют слева направо. Столбец матрицы образует 32-битовый вектор (слово), вся матрица содержит один блок данных и описывает состояние.

 

input

 

state

 

output

in0 in4 in8 in12   s0 s4 s8 s12   out0 out4 out8 out12
in1 in5 in9 in13   s1 s5 s9 s13   out1 out5 out9 out13
in2 in6 i10 in14   s2 s6 s10 s14   out2 out6 out10 out14
in3 in7 in11 in15   s3 s7 s11 s15   out3 out7 out11 out15

Рисунок 4.14. Пример представления блока в виде матрицы для Nb=4

Ключ k также можно представить в виде прямоугольного массива байтов, который имеет 4 строки и Nk столбцов, где Nk есть длина ключа, деленная на 32. Если колонку каждого из массивов рассмат­ривать как 4-байтовое слово, то можно считать, что ключ и всякое состояние есть последовательность 4-байтовых слов.

Длины блока и ключа могут выбираться независимо друг от друга и составля­ют, как правило, 128, 192 или 256 бит.

Ключ k может иметь любую длину, кратную 4 байтам, но если его длина отличается от 128, 192 или 256 бит, необходимо доопределить число Nr циклов шифрования.

Длина блока также может быть любой, кратной 4 байтам, но не ме­нее 16 байт. При этом необходимо доопределить 3 константы сдвига.

Число Nr циклов шифрования (раундов) определяется на старте и зависит от Nb и Nk:

Nr Nk=4 Nk=6 Nk = 8
Nb=4 10(AES-128) 12(AES-192) 14(AES-256)
Nb =6 12 12 14
Nb = 8 14 14 14

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: