Победитель AES ? шифр Rijndael
Данный алгоритм разработан двумя специалистами по криптографии из Бельгии. Он является нетрадиционным блочным шифром, поскольку не использует сеть Фейштеля для криптопреобразований. Алгоритм представляет каждый блок кодируемых данных в виде двумерного массива байт размером 4х4, 4х6 или 4х8 в зависимости от установленной длины блока. Далее на соответствующих этапах преобразования производятся либо над независимыми столбцами, либо над независимыми строками, либо вообще над отдельными байтами в таблице.
Все преобразования в шифре имеют строгое математическое обоснование. Сама структура и последовательность операций позволяют выполнять данный алгоритм эффективно как на 8-битных так и на 32-битных процессорах. В структуре алгоритма заложена возможность параллельного исполнения некоторых операций, что на многопроцессорных рабочих станциях может еще поднять скорость шифрования в 4 раза.
Алгоритм состоит из некоторого количества раундов (от 10 до 14 ? это зависит от размера блока и длины ключа), в которых последовательно выполняются следующие операции :
- ByteSub ? табличная подстановка 8х8 бит (рис.1),
Рис.1. - ShiftRow ? сдвиг строк в двумерном массиве на различные смещения (рис.2),
Рис.2. - MixColumn ? математическое преобразование, перемешивающее данные внутри столбца (рис.3),
Рис.3. - AddRoundKey ? добавление материала ключа операцией XOR (рис.4).
Рис.4.В последнем раунде операция перемешивания столбцов отсутствует, что делает всю последовательность операций симметричной.
Содержание раздела