Исследование констант ключевой функции шифра кузнечик
Блочный шифр "Кузнечик" (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