Криптографическая защита информации. Яковлев А.В - 25 стр.

UptoLike

.
0
1
1
0
0
0
1
1
1111
0111
0011
0001
1000
1100
1110
1111
1000
1100
1110
1111
1111
0111
0011
0001
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
+
=
x
x
x
x
x
x
x
x
y
y
y
y
y
y
y
y
Это аффинное преобразование может быть описано в полиномиаль-
ном виде как b(х) = (х
7
+ х
6
+ х
2
+ х) + а(х) (х
7
+ х
6
+ х
5
+ х
4
+ 1) (mod х
8
+
1). Полином, на который производится умножение, выбран взаимно про-
стым с модулем, так что умножение является обратимым.
Обратным будет преобразование, состоящее из обратного аффинного
преобразования и взятия мультипликативного обратного в GF(2
S
).
Следующее преобразование является циклическим сдвигом влево
строк массива состояния на различную величину. Строка 0 не сдвигается,
строка 1 сдвигается на С1 позиций, строка 2 – на С2 и строка 3 – на С3 по-
зиций. Величины сдвига приведены в таблице:
Nb С1 С2 С3
4 1 2 3
6 1 2 3
8 1 3 4
Обратным преобразованием будет циклический сдвиг строк массива
вправо на то же количество позиций.
"Перемешивание столбцов". В этом преобразовании столбцы массива
состояния рассматриваются как полиномы над полем GF(2
8
). Преобразова-
ние заключается в умножении столбца по модулю (х
4
+ 1) на фиксирован-
ный полином с(x). Этот полином является взаимно простым с (х
4
+ 1) и по-
этому умножение обратимо. В матричной форме данное преобразование
можно представить как
.
02010103
03020101
01030201
01010302
3
2
1
0
3
2
1
0
=
a
a
a
a
b
b
b
b
Обратное преобразование представляет собой умножение на полином,
мультипликативно обратный к с (х) по модулю (х
4
+ 1) – d(x).
Преобразование добавление ключа итерации осуществляется простым
побитовым сложением по модулю 2 каждого байта массива состояния с
соответствующим байтом массива ключа. Это преобразование является
обратным самому себе.
Ключи итерации получаются из ключа шифрования с помощью алго-
ритма обработки ключа, состоящего из двух компонентоврасширения
ключа и выбора ключа итерации. Основные принципы его построения сле-
дующие:
общее число бит ключей итерации равно длине блока, умноженной
на количество итераций плюс один (например, для блока 128 бит и 10 итера-
ций потребуется 1408 бит ключей итерации);
ключ шифрования расширяется до расширенного ключа. Ключи
итерации берутся из расширенного ключа следующим образом: первый
ключ итерации состоит из первых Nb слов, второйиз следующих Nb слов
и т.д.