Байты. Основной
единицей обработки в алгоритме AES является байт, т.е.
последовательность из восьми битов, рассматриваемая как неделимое целое. Вход,
выход и ключ шифрования обрабатываются как массив байтов, которые формируются
разделением последовательностей на группы по восемь смежных битов. Для входа,
выхода и ключа шифрования, принимается обозначение  ,
а байты представляются в двух формах,
,
а байты представляются в двух формах,  или
 или
 ,
где
,
где  принимает
следующие значения:
 принимает
следующие значения:
Длина ключа =
128 битов,  ;                              Длина
блока = 128 битов,
;                              Длина
блока = 128 битов,  .
.
Длина ключа =
192 бита,  ;
;
Длина ключа =
256 бит,  .
.
Все значения байтов алгоритма AES представляются
как конкатенация индивидуальных значений битов (0 или 1) между скобками в
порядке  .
Эти байты интерпретируются как элементы конечного поля:
.
Эти байты интерпретируются как элементы конечного поля:
 .
.
Например,  идентифицируется
элементом конечного поля
 идентифицируется
элементом конечного поля  .
.
Также удобно определять значения байтов посредством шестнадцатиричной нотации.
Массивы битов.
Массивы битов могут быть представлены в последовательной форме:  .
Байты и биты, упорядоченые внутри байтов получаются из 128-битовой
последовательности
.
Байты и биты, упорядоченые внутри байтов получаются из 128-битовой
последовательности  следующим
образом
 следующим
образом
 ;
;
 ;
;
...
 .
.
Шаблон может быть расширен для длинных последовательностей (например, для 192- и 256-битовых ключей), как
 .
.
Состояние. Внутренне,
операции алгоритма AES выполняются на двумерных
массивах байтов, называемых состояниями. Состояния являются четырьмя
рядами байтов, каждый из которых содержит  байтов,
где
 байтов,
где  является
длиной блока, деленной на 32. Для состояния такой массив обозначается символом
 является
длиной блока, деленной на 32. Для состояния такой массив обозначается символом  ;
каждый индивидуальный байт имеет два индекса, где
;
каждый индивидуальный байт имеет два индекса, где  –
номер строки (
 –
номер строки ( )
, а
)
, а  –
номер столбца (
 –
номер столбца ( ).
В этом случае байт может индексироваться как
).
В этом случае байт может индексироваться как  или
 или
 .
Для этого стандарта
.
Для этого стандарта  ,
т.е.
,
т.е.  .
.
Преобразования в алгоритме можно представить преобразованием элементов массива.
| in0 | in4 | in8 | in12 | s0,0 | s0,1 | s0,2 | s0,3 | out0 | out4 | out8 | out12 | ||
| in1 | in5 | in9 | in13 | s1,0 | s1,1 | s1,2 | s1,3 | out1 | out5 | out9 | out13 | ||
| in2 | in6 | in10 | in14 | s2,0 | s2,1 | s2,2 | s2,3 | out2 | out6 | out10 | out14 | ||
| in3 | in7 | in11 | in15 | s3,0 | s3,1 | s3,2 | s3,3 | out3 | out7 | out11 | out15 | 
Рисунок – Массив состояний входа и выхода
В начале шифрования и инверсного шифрования, входной массив  копируется
в массив состояний согласно схеме
 копируется
в массив состояний согласно схеме
 ,
, 
 ,
,  ,                         
                            (1)
,                         
                            (1)
а в конце
шифрования и инверсного шифрования состояние копируется в выходной массив  согласно
схеме
 согласно
схеме
 ,
,  ,
,  .                        
                            (2)
.                        
                            (2)
Состояние как
массив столбцов. Четыре байта в каждом столбце массива состояний формирует        32-битовые
слова, где номер строки  индексирует
четыре байта каждого слова. Состояние таким образом может интерпретироваться
как одномерный массив 32-битовых слов,
 индексирует
четыре байта каждого слова. Состояние таким образом может интерпретироваться
как одномерный массив 32-битовых слов,  ,
где номер столбца
,
где номер столбца  является
индексом массива. Таким образом, состояние может рассматриваться как массив из
четырех слов
 является
индексом массива. Таким образом, состояние может рассматриваться как массив из
четырех слов



 .                                                                            
                            (3)
.                                                                            
                            (3)
Алгоритмы AES. Для алгоритма AES длина
входного и выходного блоков, а также состояния составляет 128 битов. Это
представляется  как  ,
что означает количество 32-битовых слов в состоянии.
,
что означает количество 32-битовых слов в состоянии.
Для алгоритма AES длина ключа шифрования  равняется
128, 192 или 256 битам. Длина ключа представляется как
 равняется
128, 192 или 256 битам. Длина ключа представляется как  =
4, 6 или 8 32-битовых слов (число столбцов).
 =
4, 6 или 8 32-битовых слов (число столбцов).
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.