Методические указания к лабораторной работе




Скачать 430.89 Kb.
страница5/6
Дата06.06.2016
Размер430.89 Kb.
1   2   3   4   5   6

4.2. Дешифрование


Все преобразования шифрования однозначны и, следовательно, имеют обратное преобразование, т.е. могут быть инвертированы и выполнены в обратном порядке, чтобы выполнить дешифрование для алгоритма AES.

Схема криптопреобразования может быть записана так.

1. Расширение ключа KeyExpansion.

3. 9 раундов из четырех шагов каждый.

3.1. AddRoundKey — суммирование с раундовым ключом.

3.2. InvMixColumns — обратная перестановка столбцов state.

3.3. InvShiftRows — обратный циклический сдвиг строк state.

3.4. InvSubBytesобратная замена байтов state по таблице замен.

4. Заключительный 10-й раунд

4.1. AddRoundKey — суммирование с раундовым ключом.

4.2. InvShiftRows — обратный циклический сдвиг строк state.

4.3. InvSubBytes — обратная замена байтов state по таблице замен.

Далее подробно описано каждое из преобразований.

4.2.1.  Преобразование InvMixColumns


Преобразование InvMixColumns является обратным для преобразования MixColumns. В преобразовании InvMixColumns, столбцы состояния (state) рассматриваются как полиномы над полем F(28) и умножаются по модулю x4 + 1 с постоянным полиномом d(x) = a-1(x), в поле F(28):

d(x) = 0Bhx3 + 0Dhx2 + 09hx + 0Eh. (4.3)

Подробнее о процессе умножения см. пункт .

4.2.2. Преобразование InvShiftRows


Преобразование InvShiftRows обратно преобразованию ShiftRows. Байты последних трех рядов массива state циклически сдвигаются вправо. Строка 1 (нумерация с нуля) смещается на 1 байт, строка 2 – на 2 байта, строка 3 – на 3 байта.

Преобразование обратного сдвига AES  InvShiftRows

Рис. 4.5

4.2.3. Преобразование InvSubBytes


Преобразование InvSubBytes выполняет обратную замену байт с помощью обратной таблицы замен, назовем ее InvS-box. Обратная таблица замен приведена в

Таблица 4.2



Таблица InvS-box для обратной замены байт




0

1

2

3

4

5

6

7

8

9

a

b

c

d

e

f

00

52

09

6a

d5

30

36

a5

38

bf

40

a3

9e

81

f3

d7

fb

10

7c

e3

39

82

9b

2f

ff

87

34

8e

43

44

c4

de

e9

cb

20

54

7b

94

32

a6

c2

23

3d

ee

4c

95

0b

42

fa

c3

4e

30

08

2e

a1

66

28

d9

24

b2

76

5b

a2

49

6d

8b

d1

25

40

72

f8

f6

64

86

68

98

16

d4

a4

5c

cc

5d

65

b6

92

50

6c

70

48

50

fd

ed

b9

da

5e

15

46

57

a7

8d

9d

84

60

90

d8

ab

00

8c

bc

d3

0a

f7

e4

58

05

b8

b3

45

06

70

d0

2c

1e

8f

ca

3f

0f

02

c1

af

bd

03

01

13

8a

6b

80

3a

91

11

41

4f

67

dc

ea

97

f2

cf

ce

f0

b4

e6

73

90

96

ac

74

22

e7

ad

35

85

e2

f9

37

e8

1c

75

df

6e

a0

47

f1

1a

71

1d

29

c5

89

6f

b7

62

0e

aa

18

be

1b

b0

fc

56

3e

4b

c6

d2

79

20

9a

db

c0

fe

78

cd

5a

f4

c0

1f

dd

a8

33

88

07

c7

31

b1

12

10

59

27

80

ec

5f

d0

60

51

7f

a9

19

b5

4a

0d

2d

e5

7a

9f

93

c9

9c

ef

e0

a0

e0

3b

4d

ae

2a

f5

b0

c8

eb

bb

3c

83

53

99

61

f0

17

2b

04

7e

ba

77

d6

26

e1

69

14

63

55

21

0c

7d

Процесс замены байта по таблице подробно описан в пункте .

4.2.4. Преобразование обратное AddRoundKey


Преобразование AddRoundKey, описанное в пункте , является обратным для самого себя, так как использует операцию XOR.
1   2   3   4   5   6


База данных защищена авторским правом ©uverenniy.ru 2016
обратиться к администрации

    Главная страница