Научная статья на тему 'ВЫЯСНЕНИЕ КРИПТОГРАФИЧЕСКИХ СВОЙСТВ БУЛЕВЫХ ФУНКЦИЙ ШИФРА «МАГМА»'

ВЫЯСНЕНИЕ КРИПТОГРАФИЧЕСКИХ СВОЙСТВ БУЛЕВЫХ ФУНКЦИЙ ШИФРА «МАГМА» Текст научной статьи по специальности «Математика»

CC BY
358
39
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БУЛЕВЫ ФУНКЦИИ / УРАВНОВЕШЕННОСТЬ / АЛГЕБРАИЧЕСКАЯ СТЕПЕНЬ / ФИКТИВНЫЕ ПЕРЕМЕННЫЕ / КОРРЕЛЯЦИОННАЯ ИММУННОСТЬ / M-ОПТИМАЛЬНОСТЬ / НЕЛИНЕЙНОСТЬ / ЛАВИННЫЙ КРИТЕРИЙ

Аннотация научной статьи по математике, автор научной работы — Шемякин С. Н., Ахметшина М. Э., Катасонов А. И., Манкаев Р. М.

В данной статье описываются криптографические характеристики булевых функций, которые влияют на блок замен действующего алгоритма шифрования ГОСТ 28147-89 «Магма». Также разбирается таблица замен, определяются свойства используемых в ней булевых функций.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FINDING OUT THE CRYPTOGRAPHIC PROPERTIES OF BOOLEAN FUNCTIONS OF THE «MAGMA» CIPHER

This article describes the cryptographic characteristics of Boolean functions that affect the substitution block of the current encryption algorithm GOST 28147-89 «Magma». The substitution table is also analyzed, and the properties of Boolean functions used in it are determined.

Текст научной работы на тему «ВЫЯСНЕНИЕ КРИПТОГРАФИЧЕСКИХ СВОЙСТВ БУЛЕВЫХ ФУНКЦИЙ ШИФРА «МАГМА»»

9. Ха Л.М. Сверточная нейронная сеть для решения задачи классификации // Труды Московского физико-технического института, 2016. - Т. 8. - № 3 (31).

10. Пайвин Д.Н., Глазкова А. В. Исследование методов векторного представления естественного языка на примере классификации коротких текстов //Математическое и информационное моделирование: материалы Всероссийской конференции молодых ученых, г. Тюмень, 18 апреля 2019 г. - Изд-во Тюм. гос. унта, 2019.

ВЫЯСНЕНИЕ КРИПТОГРАФИЧЕСКИХ СВОЙСТВ БУЛЕВЫХ ФУНКЦИЙ ШИФРА «МАГМА»

С.Н. Шемякин, доцент, Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича, к.т.н., [email protected]; М.Э. Ахметшина, Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича, [email protected]; А.И. Катасонов, Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича, [email protected]; Р.М. Манкаев, Санкт-Петербургский государственный университет телекоммуникаций им. проф. М.А. Бонч-Бруевича, [email protected].

УДК 003.26_

Аннотация. В данной статье описываются криптографические характеристики булевых функций, которые влияют на блок замен действующего алгоритма шифрования ГОСТ 28147-89 «Магма». Также разбирается таблица замен, определяются свойства используемых в ней булевых функций.

Ключевые слова: булевы функции; уравновешенность; алгебраическая степень; фиктивные переменные; корреляционная иммунность; m-оптимальность; нелинейность; лавинный критерий.

FINDING OUT THE CRYPTOGRAPHIC PROPERTIES OF BOOLEAN FUNCTIONS OF THE «MAGMA» CIPHER

Sergei Shemyakin, Associate Professor, St. Petersburg state university of telecommunications n/a prof. M.A. Bonch-Bruevich;

Milena Akhmetshina, St. Petersburg state university of telecommunications n/a prof. M.A. Bonch-Bruevich;

Alexander Katasonov, St. Petersburg state university of telecommunications n/a prof. M.A. Bonch-Bruevich;

Rasul Mankaev, St. Petersburg state university of telecommunications n/a prof. M.A. Bonch-Bruevich.

Annotation. This article describes the cryptographic characteristics of Boolean functions that affect the substitution block of the current encryption algorithm GOST 28147-89 «Magma». The substitution table is also analyzed, and the properties of Boolean functions used in it are determined.

Keywords: boolean functions; balance; algebraic degree; dummy variables; correlation immunity; m-optimality; non-linearity; avalanche criterion.

Введение

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

Для начала введем основные определения и обозначения.

Булевы функции определяются на множестве из двух элементов, обозначающих ложность или истинность, которые обычно принимаются за значения 0 и 1. Определим булеву функцию, как функцию, аргументы которой и сами ее значения принадлежат множеству Бе {0,1}. Булевым отображением от п переменных называется отображение /: ОЕ(2 п) ^ ОЕ(2 т) и обозначается через /(Х1,Х2,...,Хп). Другими словами, булева функция ставит в соответствие каждому упорядоченному набору из п числа элементов со значениями Б.

Весом Хэмминга булевой функции / называется количество единиц в векторе значений этой функции. Булева функция /от п переменных называется уравновешенной, если ее вес составляет 2п-1, то есть функция одинаково часто принимает значение 0 и 1 при случайном выборе аргумента х. Уравновешенные функции используются в нелинейных узлах усложнения шифров гаммирования и блоках замены блочных шифров. В первом случае обеспечиваются хорошие статистические свойства, а во втором обеспечивается взаимная однозначность дешифрования [1-3].

Полином Жегалкина - многочлен с коэффициентами из множества Бе {0,1} над полем Галуа &Р(2). Для каждой функции он записывается через операции конъюнкции (&), сложения по модулю 2 (0) и константы 1. Представление булевой функции в виде полинома Жегалкина единственно с точностью до перестановок слагаемых и порядка переменных в конъюнкциях.

Ниже в формуле 1 представлен общий вид разложения по всем переменным. Далее X — , %2, ■■ ■, обозначает наборы, которые принимаются на вход функции, XI - компоненты из 22.

/Ох

, ■ ■ ■, Хп) — 2а1_апе7™0 0 а1 0 1) • ■■■ • (хп 0ап01)/(а1.....ап) (1)

Алгебраической степенью булевой функции / называется максимальное количество переменных в самом длинном слагаемом полинома Жегалкина, имеющем ненулевой коэффициент, и обозначается degf). Функция, степень которой не превышает 1, называется аффинной. Если в полиноме Жегалкина свободный член равен 0, то функция называется линейной. Понятно, что подобные функции нельзя использовать в нелинейных преобразованиях шифров, таких как блоки.

Переменная хг в функции /(х1,....,хг,...,хп) является фиктивной или несущественной переменной, если имеются такие значения а1,...,аг-1,аг+1,...,ап переменных Х1,...,Хг-1,Хг+1,...,Хп, что выполняется соотношение 2.

f(al, х, 0, а{+1, ■, ап) — f(al, ■.., а{-Ъ 1, щ+х, ■.,ап) (2)

То есть значения функций совпадают. В противном случае Хг называется существенной переменной функции /. Следовательно, если булева функция g

зависит от аргумента xk фиктивно, то g(xl,...,xn,xk) = Дх1,...,хп), тогда и вес функций соотносятся как wt(g)=2wtf). При вычислениях в криптосистемах используются функции, которые существенно зависят от переменных, то есть те, в которых присутствуют только существенные переменные. В ином случае уменьшается вычислительная стойкость шифра.

Булевы функции называются статистически независимыми, если для любых а,Ье B события fl(x)=a и f2(x)=b являются независимыми, то есть при случайном равновероятном выборе аргумента x из множества выполняется равенство 3.

Рг[Д(ж) = а,/2(х) = Ъ] = Рг[Д(ж) = а] • Рт^х) = Ь], (3)

где: Pr - вероятность. Под функцией /' булевой функции f от переменных Xl,...,Xn называется булева функция, получаемая из f подстановкой вместо некоторых переменных хц,...хш, где 0<т<п конкретных констант al, ..,ат^В.

Функция f от п переменных статистически не зависит от подмножества своих переменных Xil, ...,хш, при условии 0<т<п, если для любой ее подфункцииf' имеет место равенство Pr[f'=1]=Pr[f=1] и означает, что знание m входных бит не дает информации о значении функции.

Булева функция называется корреляционно-иммунной порядка m и 0<т<п, если она статистически не зависит от любого т-элементного подмножества своих аргументов, то есть вес подфункцииf' удовлетворяет соотношению wt(f')=wt(f)/2m. Обозначается еогф. Данная характеристика показывает, что выход булевой функции, не зависит от комбинации любых т входов.

Согласно неравенству Зигенталера:

• если еогф=т, то выполняется degf)+m < п;

• если f - уравновешенная функция, еогф=т и т< п-2, то выполняется deg(f)+m < п-1.

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

Булева функция от п переменных называется т-оптимальной, если она является уравновешенной, степень устойчивости, которой удовлетворяет условию т< п-2, а степень ее полинома Жегалкина равна п-т-1. Корреляционная иммунность и связанное с ней понятие оптимальности являются криптографически значимыми свойствами булевых функций, так как позволяют обеспечивать стойкость к некоторым видам корреляционных атак.

Нелинейностью булевой функции f от п переменных называется величина Щ, которая равна расстоянию Хэмминга от функцииf до класса аффинных функций Лп. Множество аффинных функций обычно состоит из аффинных и линейных функций. Аффинная добавка к функции не изменит величину ее нелинейности. Расстояние между f и линейной функцией выражается соотношением 4.

Пг = 2п-1 - ЮТ(а)/2, (4)

где: И^(а) - преобразование Уолша-Адамара - некоторая целочисленная функция, которая сопоставляется каждой булевой функции и более наглядно характеризует ее свойства, определяется уравнением 5.

Щ(а) — Ехе2«(-1)/(х)Ф(а'х) ,

(5)

где: (а,х) - скалярное произведение двух векторов длины п, принимает значение

а1Х10... 0апХп.

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

Каноническим базисом векторного пространства будем называть множество: векторов еу = (0,...,1,...,0), где 1 являетсяу-ой координатой,]=1,...,п. Для булевой функции выполняется строгий лавинный критерий (СЛК), если для любого вектора канонического базиса еу из 22 выполняется равенство (6).

\\Г(х)+Г(х + е])\\ — 2п-1 (6)

Левая часть этого равенства показывает количество совпадений и несовпадений значений функций /(х) и ее значения при изменении бита у-ой позиции на противоположный /(Х+еу). Если выполняется условие лавинности, то изменение одного бита входной последовательности функции / приведет к тому, что значение функции изменится с вероятностью 1/2 (примерно половина бит изменится, что наблюдается из самого определения), а именно реализуется один из принципов Шеннона - рассеивание. Единичная ошибка в аргументе функции тоже изменит ее значения с той же вероятностью. Для нахождения булевых функций, отвечающих строгому лавинному критерию, удобно пользоваться функцией взаимной корреляции (7).

Д/,» — 1хе2?(-1)т0в(х0\ (7)

где: /^ е Р2(п). В нашем случае формула является автокорреляционной функцией (АКФ), будем обозначать через Д^, и является каноническим вектором еу. Функция / будет удовлетворять строгому лавинному критерию, если — 0, при

условии, что вес вектора и принимает значение 1. Данный вывод делается из определения СЛК и АКФ: так как на выходе должна измениться половина значений функции, то количество изменившихся бит равно количеству нетронутых на выходе бит.

Функция / будет удовлетворять строгому лавинному критерию порядка да, если любая подфункция /' от п-да переменных удовлетворяет СЛК. Функции порядка меньше чем да будут также удовлетворять условию СЛК. Криптографический алгоритм, обладающий достаточным лавинным эффектом, будет более устойчив к предположениям о входной информации.

Алгоритм шифрования, описанный в ГОСТ 28147-89, до сих пор является действующим, и носит название «Магма». Схема данного алгоритма представлена на рис. 1 . Он предназначен для аппаратной и программной реализации, удовлетворяет необходимым криптографическим требованиям, следовательно, его анализ является актуальной задачей [4-6].

Нас будут интересовать узел замены, поэтому более подробно опишем нелинейные преобразования с использованием 5-блоков. Другое название данной части алгоритма - табличные замены. 32-битный аргумент, после попадания в 5-блок, разбивается на 8 последовательных векторов в каждом из которых 4 бита.

Рисунок 1

Каждый 4-битный входной вектор преобразуется с помощью узла замен в выходной вектор, также состоящий, из 4 бит. Каждый узел замены можно представить в виде таблицы-перестановки шестнадцати чисел от 0 до 15, представленных в виде двоичных векторов длины 4. Посредством данной таблицы происходят нелинейные преобразования. В конце восемь преобразованных S-блоками векторов последовательно соединяются в 32-битовый вектор. S-блок является единственным нелинейным элементом в шифре. От него будет зависеть насколько шифр сможет противостоять линейному и дифференциальному криптоанализу.

В Таблица 1 представлена сравнительная характеристика функций S-блока «Магма». Первые два столбца показывают распределение функций по S-блокам и их порядок следования в них. Далее в столбцах перечисляются свойства: уравновешенность - bal, алгебраическая степень - deg, присутствие фиктивных переменных - фикт., корреляционная иммунность - cor, оптимальность - opti, нелинейность - Nf, лавинность - СЛК. «+» или «-» обозначают наличие или присутствие названного свойства у функции, цифра показывает степень соответствующей характеристики функции. Например, функция «8D72», находящаяся в первом блоке, является уравновешенной, ее алгебраическая степень равна 3, фиктивные переменные отсутствуют, присутствует корреляционная иммунность 1 порядка, имеет нелинейность 4, строгий лавинный критерий отсутствует.

Таблица 1.

№S- f bal deg фикт. cor opti Nf СЛК

4B65 + 3 - 0 0 4 -

1 D839 + 3 - 0 0 4 -

8D72 + 2 - 1 1 4 -

96E1 + 3 - 0 0 2 -

26DA + 3 - 0 0 4 -

2 5A99 + 2 - 1 1 4 -

691E + 3 - 0 0 2 -

9D92 + 3 - 0 0 4 -

№5- / Ьа1 deg фикт. сог орй N СЛК

929£ + 3 - 0 0 4 -

3 7А49 + 3 - 0 0 4 -

Б46С + 3 - 0 0 4 -

Е61А + 3 - 0 0 4 -

£962 + 3 - 0 0 2 -

4 5А96 + 2 - 1 1 4 -

4C.F1 + 3 - 0 0 4 -

9Е58 + 3 - 0 0 4 -

Б4С6 + 3 - 0 0 4 -

5 Е827 + 3 - 0 0 4 -

92Л£ + 3 - 0 0 4 -

994Б + 3 - 0 0 4 -

964£ + 3 - 0 0 2 -

6 2ЕБ8 + 3 - 0 0 4 -

5879 + 3 - 0 0 4 -

1БЕ4 + 2 - 1 1 4 -

992Б + 3 - 0 0 4 -

7 5А99 + 2 - 1 1 4 -

8679 + 3 - 0 0 2 -

4Б63 + 3 - 0 0 4 -

2АЕ5 + 3 - 0 0 4 -

8 9С27 + 3 - 0 0 4 -

8771 + 3 - 0 0 4 -

Б16С + 3 - 0 0 4 -

По результатам исследования все представленные функции для «Магма» удовлетворяют условию уравновешенности, в них отсутствуют фиктивные переменные, однако 5 функций имеют небольшую нелинейность, как видно, в таблице есть функции с другими аналогичными свойствами, которые имеют нелинейность 4. Следовательно, можно найти похожие функции с более хорошими характеристиками. Из всех 32 функций только у 5-ти алгебраическая степень равна 2, зато у этих функций присутствует оптимальность и корреляционная иммунность порядка 1, что очевидно является плюсом. Ни одна функция не удовлетворяет строгому лавинному критерию, что ослабляет шифр.

Одна функция «5А99» дважды используется, во 2 и в 7 5-блоках, имеет преимущества в виде корреляционной иммунности и оптимальности, нелинейность 4 порядка.

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

Заключение

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

72

замен, на ее примере описаны возможные недостатки, в том числе приведены рекомендации.

Литература

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Коржик В.И., Яковлев В.А. Основы криптографии: учебное пособие - СПб., ИЦ Интермедия, 2016. - 296 с.

2. Панкратова И.А. Булевы функции в криптографии: учебное пособие - Томск: Издательский Дом Томского государственного университета, 2014. - 88 с.

3. Коржик В.И., Просихин В.П. Основы криптографии: учебное пособие по специальности 210403 "Защищенные телекоммуникационные системы связи". -Санкт-Петербург, 2008.

4. Тихонов С.В., Коржик В.И. Метод защиты аппаратной реализации шифра гост от атаки измерения потребляемой мощности в цепи питания // Проблемы информационной безопасности. Компьютерные системы, 2013. - № 3. - С. 62-72.

5. Лось А.Б., Нестеренко А. Ю., Рожков М. И. Криптографические методы защиты информации для изучающих компьютерную безопасность: учебник для академического бакалавриата // 2-е изд., испр. - М.: Издательство Юрайт, 2019. -473 с.

6. Коржик В.И., Тихонов С.В. О возможности взлома аппаратной реализации шифра гост // Проблемы информационной безопасности. Компьютерные системы, 2012. - № 3. - С. 53-62.

i Надоели баннеры? Вы всегда можете отключить рекламу.