Исследование констант ключевой функции шифра кузнечик

Блочный шифр "Кузнечик" (Kuznechik) как симметричный алгоритм блочного шифрования с размером блока 128 бит и длиной ключа 256 бит. Проверка на криптостойкость и анализ процесса выработки раундовых подключей и константы, использующихся в этом процессе.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 15.04.2019
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Исследование констант ключевой функции шифра кузнечик

Ищукова1 Е.А., Картонис2 А.В.

ГОСТ Р 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

b

e7

69

4

30

a4

4f

7f

3

С4

7b

cd

1b

b

73

e3

2b

a5

b7

9c

b1

40

f2

55

15

4

С5

15

6f

6d

79

1f

ab

51

1d

ea

bb

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

b

С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

bb

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.

Размещено на http://www.allbest.ru/

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

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.

Размещено на Allbest.ru

...

Подобные документы

  • Разработка программы кодирования текстового файла при помощи блочного алгоритма шифрования ТЕА типа "Сеть Фейштеля", который основан на битовых операциях с 64-битным блоком и имеет 128-битный ключ шифрования. Результаты кодирования и декодирования.

    лабораторная работа [299,9 K], добавлен 18.07.2013

  • Простейшие шифры и их свойства. Криптостойкость шифра как его основной показатель эффективности. Шифратор Ч. Уитстона. Размер ключа перестановки. Алгоритм сложной замены – шифр Гронсфельда. Ассиметричная криптографическая система с открытым ключом.

    курсовая работа [512,3 K], добавлен 18.01.2013

  • Шифрование и дешифрование с помощью сети Фейстеля. Процесс блочного преобразования открытой информации в зашифрованную информацию. Таблица перевода чисел и букв. Криптостойкость шифра как показатель его эффективности. Подстановки и перемещение битов.

    курсовая работа [475,6 K], добавлен 30.12.2013

  • Назначение алгоритма "Blowfish", особенности длины ключа и степени криптостойкости. Обоснование программной реализации расширения ключа и сцепления блоков шифра "Blowfish". Проверка использования инициализирующего вектора и распространения ошибок шифра.

    курсовая работа [1,3 M], добавлен 30.01.2014

  • Сущность метода зонного сжатия буквенной информации. Описание классов, определяющих место хранения символов и алфавита. Реализация асимметричного алгоритма RSA. Логика построения шифра и структура ключевой информации в криптографическом алгоритме ГОСТ.

    контрольная работа [3,2 M], добавлен 30.11.2013

  • История появления симметричных алгоритмов шифрования. Роль симметричного ключа в обеспечении степени секретности сообщения. Диффузия и конфузия как способы преобразования бит данных. Алгоритмы шифрования DES и IDEA, их основные достоинства и недостатки.

    лабораторная работа [335,9 K], добавлен 18.03.2013

  • Алгоритм ГОСТ 28147-89 симметричного шифрования на основе сети Фейстеля, основные режимы его работы. Атаки на системы защиты информации. Метод грубой силы. Атаки класса "встреча посередине". Характеристики ГОСТ 28147-89 и американского шифра Rijndael.

    курсовая работа [510,7 K], добавлен 17.01.2012

  • Симметричные криптосистемы как способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. Разбор и реализация шифрования алгоритма: простая и двойная перестановка, перестановка "магический квадрат".

    курсовая работа [3,3 M], добавлен 11.03.2013

  • Формирование ключей для шифрования сообщения. Описание алгоритма RSA: шифрование и дешифрование. Понятие и история изобретения криптосистемы с открытым ключом. Свойства односторонней функции и сложность раскрытия шифра. Сущность цифровой подписи.

    лабораторная работа [326,0 K], добавлен 04.11.2013

  • Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.

    курсовая работа [314,2 K], добавлен 27.01.2015

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

    отчет по практике [445,6 K], добавлен 22.11.2016

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

    курсовая работа [1,3 M], добавлен 07.08.2012

  • Программа на языке Turbo Pascal для шифрования данных с помощью шифра Тритемиуса. Входные, выходные данные. Схема алгоритма и текст программы. Порядок ввода исходных данных и описание получаемых результатов. Тестовых задания и анализ их функционирования.

    курсовая работа [4,0 M], добавлен 06.01.2011

  • Понятие информационной безопасности. История развития криптографии. Функции информационных моделей. Переменные, используемые при разработке прикладной программы для шифрования и дешифрования сообщений с помощью шифра Цезаря. Блок-схема общего алгоритма.

    курсовая работа [975,5 K], добавлен 11.06.2014

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

    курсовая работа [301,9 K], добавлен 29.10.2017

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

    курсовая работа [45,0 K], добавлен 13.11.2009

  • Разработка программы "Шифр Цезаря", позволяющая зашифровывать тексты методом Юлия Цезаря и дешифровать тексты, закодированные данным способом. Имеет возможность автоматического нахождения или выбора ключа и самостоятельного ввода ключа пользователем.

    курсовая работа [710,9 K], добавлен 23.12.2010

  • Реализация алгоритма DES и режимов шифрования для любой длины сообщения и любой длины ключа. Шифрование сообщений различной длины и ключа с замериванием времени и скорости шифрования. Реализация алгоритма RSA. Сохранение зашифрованного файла на диск.

    курсовая работа [398,4 K], добавлен 26.01.2010

  • Стандарт шифрования Advanced Encryption Standard как официальный стандарт правительства США для симметричного шифрования. Таблицы подстановки для S-Box и InvS-Box. Преобразование MixColumns, SubWord, RotWord. Процедура расширения ключа 128, 192, 256 бит.

    презентация [2,2 M], добавлен 12.12.2013

  • Комбинированное использование симметричного и асимметричного шифрования. Зависимость между открытым и закрытым ключами. Основные недостатки симметричного шифрования. Схема двухстороннего конфиденциального обмена. Концепция шифрования по алгоритму DES.

    презентация [1,4 M], добавлен 20.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.