ИССЛЕДОВАНИЕ КОНСТАНТ КЛЮЧЕВОЙ ФУНКЦИИ ШИФРА КУЗНЕЧИК - Студенческий научный форум

VIII Международная студенческая научная конференция Студенческий научный форум - 2016

ИССЛЕДОВАНИЕ КОНСТАНТ КЛЮЧЕВОЙ ФУНКЦИИ ШИФРА КУЗНЕЧИК

Картонис А.В. 1, Ищукова Е.А. 1
1Южный Федеральный Университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
ГОСТ Р 34.12–2015, он же - блочный шифр "Кузнечик" (Kuznechik) — симметричный алгоритм блочного шифрования с размером блока 128 бит и длиной ключа 256 бит, для генерации которого используется сеть Фейстеля [1, 6]. Данный шифр входит в состав проекта Национального стандарта РФ, который разработан Центром защиты информации и специальной связи ФСБ России с участием ОАО «Информационные технологии и коммуникационные системы» (ОАО «ИнфоТеКС») [2, 2].

Поскольку данный шифр был разработан недавно, важным аспектом его изучения является проверка на криптостойкость и поиск слабых ключей, для чего необходимо в первую очередь проанализировать процесс выработки раундовых подключей и константы, использующиеся в этом процессе.

Алгоритм развертывания ключа шифра «Кузнечик» использует итерационные константы Ci∈ V128, i = 1, 2, …, 32, которые определены следующим образом:

Ci = L(Vec128(i)), i = 1, 2, …, 32.

L(a) = R16(a), где a ∈ V128.

R(a) = R(a15||…||a0) = ℓ(a15, …, a0)||a15||…||a1, где a = a15||…||a0∈ V128, ai∈ V8, i = 0, 1, …, 15.

ℓ (a15, …, a0 ) = ∇(148 ∙ ∆(a15) + 32 ∙ ∆(a14) + 133 ∙ ∆(a13) + 16 ∙ ∆(a12) + 194 ∙ ∆(a11) + 192 ∙ ∆(a10) + 1 ∙ ∆(a9) + 251 ∙ ∆(a8) + 1 ∙ ∆(a7) + 192 ∙ ∆(a6) + 194 ∙ ∆(a5) + 16 ∙ ∆(a4) + 133 ∙ ∆(a3) + 32 ∙ ∆(a2) + 148 ∙ ∆(a1) + 1 ∙ ∆(a0)).

В ходе реализации шифра «Кузнечик», был сгенерированиспользуемый набор констант(табл. 1) [3, 168].. В табл. 1 каждая строка представляет собой 16 байт константы Сi в шестнадцатиричном виде, где i-номер константы. Крайняя левая ячейка строки представляет собой старший байт.Согласно спецификации шифра, данный набор остается неизменным, независимо от входных данных и ключа.

Таблица 1. Константы

С1

6e

a2

76

72

6c

48

7a

b8

5d

27

bd

10

dd

84

94

1

С2

dc

87

ec

e4

d8

90

f4

b3

ba

4e

b9

20

79

cb

eb

2

С3

b2

25

9a

96

b4

d8

8e

 

e7

69

4

30

a4

4f

7f

3

С4

7b

cd

1b

 

73

e3

2b

a5

b7

9c

b1

40

f2

55

15

4

С5

15

6f

6d

79

1f

ab

51

1d

ea

 

c

50

2f

d1

81

5

С6

a7

4a

f7

ef

ab

73

df

16

d

d2

8

60

8b

9e

fe

6

С7

c9

e8

81

9d

c7

3b

a5

ae

50

f5

b5

70

56

1a

6a

7

С8

f6

59

36

16

e6

5

56

89

ad

fb

a1

80

27

aa

2a

8

С9

fb

98

40

64

8a

4d

2c

31

f0

dc

1c

90

fa

2e

be

9

С10

2a

de

da

f2

3e

95

a2

3a

17

b5

18

a0

5e

61

c1

a

С11

44

7c

ac

80

52

dd

d8

82

4a

92

a5

b0

83

e5

55

 

С12

8d

94

2d

1d

95

e6

7d

2c

1a

67

10

c0

d5

ff

3f

c

С13

e3

36

5b

6f

f9

ae

7

94

47

40

ad

d0

8

7b

ab

d

С14

51

13

c1

f9

4d

76

89

9f

a0

29

a9

e0

ac

34

d4

e

С15

3f

b1

b7

8b

21

3e

f3

27

fd

e

14

f0

71

b0

40

f

С16

2f

b2

6c

2c

f

a

ac

d1

99

35

81

c3

4e

97

54

10

С17

41

10

1a

5e

63

42

d6

69

c4

12

3c

d3

93

13

c0

11

С18

f3

35

80

c8

d7

9a

58

62

23

7b

38

e3

37

5c

bf

12

С19

9d

97

f6

ba

 

d2

22

da

7e

5c

85

f3

ea

d8

2b

13

С20

54

7f

77

27

7c

e9

87

74

2e

a9

30

83

bc

c2

41

14

С21

3a

dd

1

55

10

a1

fd

cc

73

8e

8d

93

61

46

d5

15

С22

88

f8

9b

c3

a4

79

73

c7

94

e7

89

a3

c5

9

aa

16

С23

e6

5a

ed

b1

c8

31

9

7f

c9

c0

34

b3

18

8d

3e

17

С24

d9

eb

5a

3a

e9

f

fa

58

34

ce

20

43

69

3d

7e

18

С25

b7

49

2c

48

85

47

80

e0

69

e9

9d

53

b4

b9

ea

19

С26

5

6c

b6

de

31

9f

e

eb

8e

80

99

63

10

f6

95

1a

С27

6b

ce

c0

ac

5d

d7

74

53

d3

a7

24

73

cd

72

1

1b

С28

a2

26

41

31

9a

ec

d1

fd

83

52

91

3

9b

68

6b

1c

С29

cc

84

37

43

f6

a4

ab

45

de

75

2c

13

46

ec

ff

1d

С30

7e

a1

ad

d5

42

7c

25

4e

39

1c

28

23

e2

a3

80

1e

С31

10

3

db

a7

2e

34

5f

f6

64

3b

95

33

3f

27

14

1f

С32

5e

a7

d8

58

1e

14

9b

61

f1

6a

c1

45

9c

ed

a8

20

В ходе исследования шифра была выявлена взаимосвязь между константами, которая отображает свойства работы функции L. Далее приведена таблица (табл. 2), в которой каждая строка – набор позиций элементов из списка констант, получившихся при сложении по модулю 2 константы с индексом данной строки и константы с индексом элемента в этой строке. Если в результате получается строка, отсутствующая в списке констант – добавляется «?», если константа складывается по модулю 2 сама с собой – «0»

Таким образом, из табл. 2 следует, что при сложении по модулю 2 первой и второй константы в результате получается третья, то естьС1 xor С2 = С3. Как видно из таблицы, в каждой строке и между соседними строками появляются зачастую четко просматривающиеся закономерности. Исключением является 32-я строка, соответствующая поочередному сложению по модулю 2 32-й константы со всеми предыдущими.

Дальнейшее исследование показало, что если в качестве исходных данных для генерации константы использовать произвольный набор байтов, зависимости между константами исчезают.

Таблица 2. Сложение констант по модулю 2.

Подобное поведение произвольной строки подтверждает, что зависимости в наборе констант появляются исключительно благодаря тому, что изначально меняется только один байт, а остальные остаются равными нулю. Это наглядно отражает свойство используемой функции:

L(axorb) = L(a)xor L(b)

Выявленные свойства будут направлены на поиск возможности практического применения полученных данных для реализации слайдовой атаки на шифр [4, 192], а именно на поиск циклически повторяющихся раундовых подключей.

Работа выполнена при поддержке гранта РФФИ №15-37-20007-мол_а_вед.

Литература:

1. Р 34.12-2015 - Блочные шифры. URL: http://www.tc26.ru/standard/ gost/GOST_R_3412-2015.pdf

2. Сайт «Infotecs», пресс-центр. URL: http://infotecs.ru/press/news/15/14508/

3. Бабенко Л.К., Ищукова Е.А., Ломов И.С.Математическое моделирование криптографического алгоритма «Кузнечик»//Информационное противодействие угрозам терроризма. 2015. № 24. С. 166-176.

4. БабенкоЛ. К., Ищукова Е. А. Современные алгоритмы блочного шифрования и методы их анализа - М.: Гелиос-АРВ, 2006 - 376.

Просмотров работы: 1033