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
замен, на ее примере описаны возможные недостатки, в том числе приведены рекомендации.
Литература
1. Коржик В.И., Яковлев В.А. Основы криптографии: учебное пособие - СПб., ИЦ Интермедия, 2016. - 296 с.
2. Панкратова И.А. Булевы функции в криптографии: учебное пособие - Томск: Издательский Дом Томского государственного университета, 2014. - 88 с.
3. Коржик В.И., Просихин В.П. Основы криптографии: учебное пособие по специальности 210403 "Защищенные телекоммуникационные системы связи". -Санкт-Петербург, 2008.
4. Тихонов С.В., Коржик В.И. Метод защиты аппаратной реализации шифра гост от атаки измерения потребляемой мощности в цепи питания // Проблемы информационной безопасности. Компьютерные системы, 2013. - № 3. - С. 62-72.
5. Лось А.Б., Нестеренко А. Ю., Рожков М. И. Криптографические методы защиты информации для изучающих компьютерную безопасность: учебник для академического бакалавриата // 2-е изд., испр. - М.: Издательство Юрайт, 2019. -473 с.
6. Коржик В.И., Тихонов С.В. О возможности взлома аппаратной реализации шифра гост // Проблемы информационной безопасности. Компьютерные системы, 2012. - № 3. - С. 53-62.