Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шемякин лекции 2023 / Л6. Стандарты шифрования ГОСТ, AES. ред.1.ppt
Скачиваний:
18
Добавлен:
30.05.2023
Размер:
3.84 Mб
Скачать

Алгоритм шифрования 128 битного блока

M

1

2

3

4

5

6

7

8

• • •

121

122

123

124

125

126

127

128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ключ i-ого раунда Ki

1

2

3

• • •

14

15

16

 

 

 

16 подблоков по 8 бит каждый

 

 

 

 

V8 Z256

 

 

V8 Z256

 

 

': Z256

Z256

 

 

': Z256 Z256

 

 

 

 

• • •

 

 

 

Z256 V8

V8 GF(28 )

Z256 V8

V8 GF(28)

L : (a0 , a1,..a15 ) (b0 ,b1,..b15 ); a,b GF(28)

1

2

GF(28) V8

7

8

 

121

122

GF(28) V8

127

128

 

 

 

 

 

i=1,2,..9

i=10

 

K10

22

 

E

 

Основные обозначеня

25

S - блок подстановок

26

0 1 2 3 255

π'=(252, 238, 221, 17… , 182)

27

Схема линейного преобразования

 

 

 

15

 

 

 

 

aij Aj

 

 

 

j 0

 

A

A

A1

A0

15

14

 

 

 

a15i

a14i

 

a1i

a0i

ТИ

 

 

 

 

b15

b14

 

b1

b0

1 цикл: (a0,a1,…,a15)→(a01,a11,..,a151), где a141 = a15, a131 = a14,..., a01 = a1, a151 = l(a0,a1,..a15).

2 цикл: (a01,a11,..,a151)→(a02,a12,…,a152), где a142=a151, a132=a141,..., a02=a11, a152=l(a01,a11,..a151).

И так далее до 16 цикла, где:

(a015,a115,…,a1515)→(a016,a116,…,a1516), где a1416=a1515, a1316=a1415,…,a016=a115, a1516=l(a015,a115,…,a1515).

Здесь l(a0i+1,a1i+1,..a15i+1) = А15a15i + А14a14i + А13a13i + А12a12i + А11a11i + А10a1028i

+ А9a9i + А8a8i + А7a7i + А6a6i + А5a5i + А4a4i + А3a3i + А2a2i + А1a1i .

L-преобразование

1 цикл:

(a0,a1,…,a15)→(a01,a11,..,a151), где a141 = a15, a131 = a14,..., a01 = a1, a151 = l(a0,a1,..a15).

2 цикл:

(a01,a11,..,a151)→(a02,a12,…,a152), где a142=a151, a132=a141,..., a02=a11, a152=l(a01,a11,..a151).

И так далее до 16 цикла, где:

(a015,a115,…,a1515)→(a016,a116,…,a1516), где a1416=a1515, a1316=a1415,…,a016=a115, a1516=l(a015,a115,…,a1515).

Здесь l(a0i+1,a1i+1,..a15i+1) = А15a15i + А14a14i + А13a13i + А12a12i + А11a11i + А10a10i + А9a9i + А8a8i + А7a7i + А6a6i + А5a5i + А4a4i +

А3a3i + А2a2i + А1a1i .

А790=1, А115=148, А214=32, А313=133, А412=16, А511=194, А610=192, А8=251. Все

операции выполняются в поле GF(28), аi Є GF(28), (см. 29 раздел 3.1.9.)

L- преобразование при расшифровании

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

aij Aj

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

j 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a15i

a1i 4

 

 

 

a1i

a 0i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Из этой схемы непосредственно видим, что a15i-1= a14i, …,

a i-1= a

j-1

i,…,a i-1=a i. Остаётся найти только элемент a i-1. Этот

j

1

0

 

 

 

 

 

 

 

 

0

элемент может быть восстановлен из уравнения Из этого уравнения находим

Поскольку в конечном поле GF(28) операция вычитания совпадает с операцией сложения, а коэффициент

, то из последнего равенства получаем:

30

Принцип выработки раундовых ключей

(K2i+1, K2i+2)=F[C8(i-1)+8]…F[C8(i-1)+1](K2i-1, K2i).

F[C]( , ) здесь означает один цикл схемы Фейстеля, а

именно: F[C](a1, a0)=(LSX[C](a1) a0, a1).

a1

 

a0

C

LSX[C](a1)

 

 

a'1=LSX[C](a1) a0

a'0=a1

31

Схема выработки раундовых ключей алгоритма шифрования

K2i 1

C8(i-1)+1

LSX[C8(i-1)+1](K2i-1)

LSX[C8(i-1)+1](K2i-1) K2i

 

 

 

 

 

 

C8(i-1)+j

 

a1(1,i)

 

• • •

 

 

 

 

 

 

 

 

LSX[C8(i-1)+7](a1(j,i))

C8(i-1)+8 LSX[C8(i-1)+8](a1(j,i))

K2i

K2i 1

a0(1,i)

• • •

a0(j,i)

K2i 1

K2i 2

32

36