О свойствах булевых полиномов, актуальных для криптосистем

О СВОЙСТВАХ БУЛЕВЫХ ПОЛИНОМОВ, АКТУАЛЬНЫХ ДЛЯ КРИПТОСИСТЕМ

Гордеев Э.Н.1, Леонтьев В.К.2, Медведев Н.В.3

Булевы функции вообще и булевы полиномы (полиномы Жегалкина, АНФ - алгебраические нормальные формы), в частности, - предмет теоретических и прикладных исследований в различных областях информатики. Свойства булевых полиномов - это классические разделы дискретной математики и комбинаторного анализа. Теоретические основы информационной безопасности включают изучение свойств булевых полиномов в связи с вопросами криптографии. Например, в ряде популярных криптосистем с открытым ключом используются коды Рида-Маллера, а их представление, алгоритмы кодирования и декодирования базируются на булевых полиномах, спектральные свойства определяются количеством нулей полиномов и исследуются с помощью леммы о рандомизации. Известно, что в общем случае задача нахождения числа нулей полинома g(x) является NP-трудной. Поэтому алгоритмы, учитывающие «комбинаторную структуру полинома», хотя и переборные, представляют прикладной интерес. В работе предлагается такой алгоритма на основе свойств матрицы мономов. Представлена формула для нахождения числа нулей полинома. Приведены формулы для матожидания числа нулей для нескольких классов булевых полиномов, позволяющие путем вариации параметров получить результаты сколь угодно далекие от свойства «сбалансированности». Теоретические результаты работы могут быть основой методик оценки применимости полиномов в различных задачах защиты информации.

Ключевые слова: криптосистемы с открытым ключом, булев полином, корни полиномов, трудные задачи, сбалансированность, матожидание.

РО!: 10.21581/2311-3456-2017-3-63-69

1.Введение

Пусть Б={0,1}, Б" - "-мерный булев куб, g(x) - булева функция: Бп^ В в базисе {1,л, Ф}. Как обычно, ||х||- норма булевого вектора - это его вес Хэмминга, т.е. число единиц в этом векторе. Весом матрицы из нулей и единиц С =||с^|| - это вес Хэмминга одной строки, которая является суммой строк этой матрицы.

Функцию g(x) можно представить в виде (здесь и далее всюду сложение - это сложение по тоЬ2):

g

ыеВ"

где

с? еВ,а = (4,...,М,п)еВ",ха = х?,...,х?,х? =

Представление (1) н азывается булевы м полиномом, полиномом Жегалкина, алгебраической

нермальсой формой (АНФ). Очевидно, что число

2П

булевых полиномов от п переменных равно 2 . Конъюнкция х" назыеается моном ом, а число

п

degxw называется степенью этого моно-

к=1

ма. Степенью в сего полинома g(x) называется число ск^£(х) = тах{с^х№}.

Исследование свойств булевых полиномов является классической задачей дискретной математики и комбинаторного анализа. Булевы полиномы широко применяются, в частности, в криптографии и криптологии. (См., например, [1]-[4]). В 1994 г. Появилась известная криптосистема Си-дельникова [1] на основе двоичных кодов Рида-Маллера . Она представляет собой модернизацию системы Мак-Элиса, которая к тому времени уже вскрывалась с полиномиальной трудоемкостью. Появились и другие модернизации и криптосистемы на основе кодов Рида-Маллера. В 2013 году (см. [2]) уже была выявлена уязвимость и этого подхода.

Наиболее удобный способ задания кодов Рида-Маллера ( см., например, гл. 13 в классической книге по теории кодирования [5]) - это их представление в виде булевых полиномов определенного вида. Нахождение числа нулей этих полиномов, а также полиномов для вспомогательных конструкций! необходимо для исследования спектральных ха рактеристик кодов (см., например, в [5] теорему 5, стр.425). А здесь важным инструментом служит лемма о рандомизации ([5], стр. 360).

При этом булевы полиномы применяются в самых разных криптосистемах и актуальным явля-

xk, если wk = 1 1, если wk = 0

1 Гордеев Эдуард Николаевич, д.ф.-м.н., профессор, МГТУ им. Н.Э.Баумана, Москва, Россия. E-mail: werhorn@yandex.ru

2 Леонтьев Владимир Константинович, д.ф.-м.н., профессор, МГТУ им. Н.Э.Баумана, Москва, Россия. E-mail: vkleontiev@yandex.ru

3 Медведев Николай Викторович, к.т.н, доцент, МГТУ им. Н.Э.Баумана, Москва, Россия. E-mail: medvedevnick54@eandex.ru

ется исследование их свойств с точки зрения степени пригодности для прикладных криптосистем.

Можно называть две основные причины актуальности исследования свойств булевых полиномов для криптографии:

1. Сами функции представляются в виде булевых полиномов. (В прикладных пакетах программ обязательно присутствуют программы построения полиномов Жегалкина, преобразования Мебиуса и т.п.).

2. Теоретическая аргументация применения булевых с точки зрения их надежности для криптосистем включает несколько важных критериев (сводку результатов можно найти, например, в [3]): «нелинейность», «сбалансированность» («уравновешенность»), «корреляционная имунность», «г-устойчивость», «алгебраическая имун-ность» и др. Ряд этих критериев прямо или косвенно связан со свойствами множеств значений булевой функции и свойствами ее АНФ.

По ходу изложения мы прокомментируем связь полученных результатов с упомянутыми критериями.

Полученные в работе результаты имеют и другие применения. В качестве примеров задач дискретного моделирования, где возникает проблема нахождения числа его нулей, можно привести также работы [6]-[8].

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

В третьем разделе описан алгоритма нахождения числа нулей полинома. В четвертом представлены формулы для среднего числа нулей некоторых классов булевых полиномов.

Хотя данная работа носит преимущественно теоретический характер, явные формулы и описанный алгоритм могут быть легко запрограмми-рованы и применены.

2. Базовые понятия и утверждения

Сначала приведем несколько известных базовых результатов. Они будут либо прямо использованы нами, либо необходимы для понимания проблематики.

Утверждение 1. Если степень булева полинома больше двух, то задача нахождения числа его нулей является ЫР-трудной.

Доказательство можно найти, например, в [6]. Простой переборный алгоритм нахождения числа нулей булевого полинома - перебор по всему булеву кубу - имеет сложность 0(п2п).

Пусть /(х) = Е екхк . Рассмотрим классический частичный порядок на векторах булевого куба:

х = (Х —хп) <У = (Уп) х- <У>г = п.

Из того, что х"=1 очевидным образом следует, что 1=1,...,п. Отсюда получаем формулу:

/ (х) = Е ^ .

и>< х

Используя формулу Мебиуса (см., например, [6]), получаем классический результат.

Утверждение 2. Справедлива явная формула для с :

= 1 / (х).

Пример 1. Пусть £(х1,.,хп)=х1 Ух2У.Ухп. Тогда

С... =

11 (X) =11 (X)=1.

Определение: Многочлен от нескольких переменных называется симметрическим, если он не изменяется ни при какой перестановке неизвестных.

Пример: Г(х1+х2+х3)=х1+х2+х3, т.к. (х1+х2+х3)=х1+х2 +х3 не изменился при перестановке переменных.

Следующие п многочленов от п неизвестных называются элементарными симметрическими:

°Г^(х1,.--,хп)= х1+х2+.+хп , &г&>(х1,.--,хп) = х1х2 + хх +...+ х ,х , ..., G =G (х,...,х )= хх ...х ,х .

13 п-1 п ' ' п пу 1' ' п 12 п-1 п

Пусть Gk=Gk(x1,...,xn) - к-й элементарный симметрический полином.

Так как в сумме (3) ровно (2^ -1) слагаемых равны единице и, по условию с0...0=0, то булев полином для нашей функции имеет вид:

п

Хп) = ЕX © Е Xх]  •••  ХХ-Х =

г =1 1<г'< <п

= ох + а2+...+а„.

Утверждение 3. Каждый полином степени 1 имеет ровно 2п-1 нулей.

Доказательство просто следует из определений полинома, степени полинома, а также из следующего простого факта: для любого 1<к<п ровно половина всех точек Вп имеет среди своих компонент (х , х ..., х } четное число единиц, а поло-'1 '2 '

вина - нечетное.

к

Пусть Бкп = ЕС -мощность шара радиуса к из Вп.

1=0

Утверждение4. Число булевых полиномов от п

як Я^-^

переменных, имеющих степень к, равно 2 " - 2 " .

Утверждение 5. Число булевых полиномов, имеющих ровно к мономов , равно С* .

Утверждение 6. Число булевых полиномов, обращающихся в ноль в заданной фиксированной точке булева куба , равно 2 .

Утверждение 7. Число булевых полиномов степени не больше к, обращающихся в ноль в заданной фиксированной точке булева куба , равно 25"-1.

Утверждение 8. Множество минимальноН мощности в Бп такое, что любой булев полином степени не больше к, имеет ноль в этом множе-

стве равно Бкп = £ Скп .

А =

g

1 0

0

0 1 0... 0

0 0... 0 1

хх +••• + х ,х то А =

2 3 п-1 п g

. Если g(x1,•..,xn)= х1х2

11 0 ... 0 0 11 0... 0

содержит ровно j переменных из множества x1,•.., xn . Эта матрица в дальнейшем называется матрицей весов матрицы А^ (Вариабельность обозначений в ведена для удобства минимизации индексации. Везде из контекста яс но, о чем и дет речь.) Пример 3. Если хр+нвИ-...+хп

10 ... 0

то А =

0 1 0... 0

0 0... 0 1

. [3 этом простейшем слу-

чае число ср. равно 0 про и при 1=) оно равно числу мономов, содержащий ровню j переменен 0

3. Алгоритм нахождения числа нулей на основе матрицы мономов

Пусть полином g(x1,•..,xn)= у^,...^... +

УшЦ- • где У^р . • -,ХпХ . • - УтЦ- •• ,ха) - мономы этого полинома. Заметим, что представлание булв-вой функции в виде булева полинома однозначно. Любая переменная либо входит в заданный мон о м, либо не входит, поэтому каждому моному вожно сопоставить п-мерный характеристический двои ч-ный вектор с единицами на местах тех переменных , которые входят в моном. Взяв эти вектора в виде строк длины п можно построить двоичную матрицу А!? (матрицу мономов) размеров mxn.

Положим по определению, что моному «1» сопоставляется матрица из нулей размером 1хп.

Пример 2. Если g(x1,•..,xn)= х^..^ то А(5 =||П,...,1||. Если g(x1,•,xп)= х^+.+Хп то

ных, т.е. С =

о е2

0 0)...

^ • •• х ^ то А = =

1 2 п-1 п g

0

0... 00

. Если g( ,х о с п

0 еп

10.. 0 10.. 1

, аС= =

11.. 1 g 00. 1

Если А!? состоит из одних единиц, то с ра0но 0 при а в остальных случаях спп = С.. Поэтому

0 0 ... б 0 0 0... С

С =

0 0... 0 с

+

0 0... о 11

Определение. Весом матрицы называется число ненулевых столбцов этой матрицы.

Определение. Подматрицей исходной матрицы назовем подмножество ее строк.

С матрицей А!? связана матрица СА = СА(Й = С =||а||, где с^ - число Охп) подматриц матрицы А!? таких, что любая из этих подматриц имеет вес j. Другими словами, матрица С^ устроена следующим образом с^ - число таких совокупностей из ¡-мономов множества у^,...^),..., у^,...^), что объединение мономов каждой совокупности

Напомним, что - число нулей булева полинома g(x), а |^(х)|| - ч исло единиц полинома g(x).

При^едем следующее утверждение, проливающее свет на смысл матрицы С^

Теорема 1. Справедлива формула для числа нулей булева полинома

= 2" + £

,5=1 Г=1

Даказательство теоремы приведено в [7].

Но е теореме речв идет о нул ях. А для едо ни ц полинома очевидно, что справедливо ее след-ствне.

Следствие 1.

Ы (х )|| = £ (-1)'1 £ ^ 2

п=1 Г=1

Очевидно, что

±0гг = Ск, S = 1,..., к.

П+£-Г-1

Теперь мы подошли к практическому применению вышеприведенных теоретических построений.

Начнем с формулы (4). С ее помощью можно построить алгоритм для нахождения числа нулей булевого полинома.

Дло начала вспомним проверочную матрицу Нк размеров кх(2к-1) кода Хэмминга, в которой столбы - это двоичные записи чисел от 1 до 2к-1.

Определение. Назовем ф(А) ф-преобразова-нием бинарно1 матрицы А размеров кхп мотрецу СА = Я[А1, где А1 получается из А приписываеием слева столбца оз единиц.

Лемма 1. Строки матрицы фВА), и меющие п ер-вым элементом оисло г, по|Эй)ждцалю"г а-ю атроку Гй атрицы СА 3 том смысле, что экемкот Сц рлваи <ТИ чеслу строо ф(А), имеющох вес, равный! в,т.е. ров-нт св ненулевыми элементами. При этом элементы п ерво го сторбцо С\ не учитываются.

Дооазатцльство. Из опред еления матрицНк и ф(Ако следует, что строки матрицы С1 = Н1кА1 - это суммы подм ноже ств ст р ок А1, озятых ео од но р , по две, по три и т.д. Отьюдь следуоо, что для той стру-ки СА, которая образпвана зуммой г ст|эок матро-цы А.1, первым элементом будет сисло й.

Лемма доказана.

кзе1оазио 0 0

Пример 4, Пусть А = в ч 0 , Тогда к=3 и

1 1 1

1 1 Л 1

1 1 1 (0

1К 0 0 2 2 2 3

11 1 0 , -у-^язл^ 1 1 0 0

11 1 1 2 2 1 1

2 2 1 0

3 3 2 1

Первая, вторая и четвертая строки начинаются с 1. Без учета первого стол бца им еем среди них пот одной! строне веса 1, 2 и 3. Третья, пятая и шестая строки начинаются с 2. Без учета первогт столбца имеем среди них одну строку/ веса 2 и две стриио веча 3т Седьмзя строка начиеаются с 3. Без учета первого столбца имеем одну строку веза 3. Отсю-

1 1 1

да следует Са = 0 1 2

0 0 1

Из теоремы 1 и леммы 1 следует алгоритм нахождения число нулуй булевого солинома. АЛЛОРИТМ 1

Шаг 1. По §(х) заданному полиному §(х) строим матрицу мономов Аё. Трудоемкость 0(тп).

С1 = ИкА1

Шаг 2. По матрице А= Ag строим А к . Трудоемкость 0(пт2т).

Шан 3. По формуле (4) находмм число аулей полинома. Трудоемкость 0(п2).

Теорема 2. Алгоритм 1 наооюит число нулей йу-лева поли нома за время 0(п2+пт2т).

Доказательство просто следует из описания алгори тмсы

По сравнению с тривдал ьным алгоритмом поллого перебора по всем векткрам булева куба алгоритм имеет преимущества для случая ле-^льшого числа мономов т=о(п) или даже т<сп пра малых конатантох с за счет учета комбинаторики задачи при большой! доле нулей в матрице мономоз.

Обратим воимаоие на то, что вычисление упо-мкнутых выше примеров характеристик булевых функ°1е: «нелинейность», «сбалансиролатн ость» («уравновешенность»), «корреляционная имун-ность », «г-устойчивость», «алгебраическач имут-новть» - это не только ^-оыудныо оадачи, но и ^гыдцаачи.. лежащле за пределами класса ЫР. На этом фоне описанный алгоеитм представляется срав-н иттльно эф фекти вным.

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

Б-леда функция с нужны ми овойствами кон-c"г|э;/-|э //€(тcя. Для этого вычисляются подклассы «хороших» функций (напрумер, ззвестные бент-функции).

Булева функцтя выбирается с помощью некоторой эвристики, а затем вычисляются ее наракте-сиитики.

Все Оыло бы хорошо, если бы не противоречивость критериев. Высокая нелинейность означает несТалансирнова нность, а сбалансированность нинкую нелинейность. Удобное и эффективное описание «хорошесо» подаласса уменьшает его мощность и повышает вероятность распознавания, а обшсрные подклассы описывать неудобно и гвриходится проверять ередполагаемые (с большой вероятностью) характеристики эврзстически вы бранной функции.

В свете это го замечания поедложесный алгоритм непосредственно может быть использован для про терки «сбалансироза нно сти», а также применяться дл я анализа «корреляционной имунно-сти » с «г-устойчивости».

В следующих двух разделах мы представим инструменты как для описания подклассов «хороших» функций, так и для описания эвристик их выбора.

4. Формулы для среднего числа нулей булевых полиномов

Пусть -И^п) - число единиц булевой функции Дх)=Дхь...,хп). Если = 2п-1, то функция f называется уравновешенной или равновероятной, так как она при случайном выборе аргумента х принимает оба значения с одинаковой вероятностью: Рг[Дх)=1] = Рг[Дх)=0], где по определению Рг[Дх)=1] = w(fn)/ 2п и Рг[Дх)=0] = 1 - Рг[Дх)=1]. В криптографических приложениях очень часто рассматриваются именно уравновешенные функции.

Таким образом, булев полином при 2& = 2" /2 является уравновешенной (сбалансированной) функцией.

Для исследования числа нулей булева полинома g(x) рассмотрим сумму характеров \

g

^g

Смысл этого рассмотрения в том, что по ней автоматически можно вычислить 7п. Действительно

^

5 ( х )=0, хе Б"

= 7^ - (2й - 7^) = 27^ - 2й.

Z (-1)g (х) =

( х )=1, хе Bn

То есть

Zg = + ) •

Но не это главное. Дело в том, что сумму характеров вычислять, как правило, легче, чем число нулей полинома.

Ну _а что можно сказать о среднем числе корней 2г(п) булева полинома от п переменных? Очевидно, что 2%(п) = 2п /2. Действительно, для среднего числа единиц (так удобнее) (п) имеем:

Ng (п) = 2п = 22т ££g (х).

2 g 2 хеВп g

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

+Z cx +Z cxj + ••• =1

i=1

'< ]

получить что-то интересное? Ведь нелинейность и сбалансированность противоречит друг другу. Пусть среднее числе корней 2% (п, к) булева полинома степени к от п переменных.

Число полиномов степени не выше к, обращающихся в единицу в фиксированной точке x булева куба, равно числу решений линейного равнения

С + Z c x + + Z c x x x = 1

0 ^^^ i i ^^^ ¿12  ik ¿1 ¿2

i =1 i, <i2, , ik

с Z C'n неизвестными . А это уравнение имеет

i=0

k

ZC'~

2'=° / 2 решений. Отсюда получаем, что число полиномов степени ровно k, обращающихся в единицу в фиксированной точке x булева

k k-1 ZC ZC

куба, равно числу 2'=° /2- 2г=° /2. А так как

общее число полиномов степени k (Утверждение

k k-1 Zcn zc

4) равно 2'=" - 2'=" , то вновь получаем, что Zg-n,k) = 2n /2.

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

Пусть Lnkp - класс булевых полиномов от n переменных ровно c k мономами, каждый из которых имеет степень p.

Пусть теперь полином из этого класса g(xp..., xn)= y1(x1,...,xn)+...+ yk(xj,.,xn) выбирается случайным образом путем выбора мономов степени p из множества мономов степени p с равномерным распределением. Рассмотрим случайную величину

z

У\+У2++Ук

хеВ"

_И ее матожидание (к). Пусть также Z(n,к, p) - среднее число нулей полинома из

класса L . То есть

n,k,p

1

с 2п неизвестными {с,,...,с,}, к=0,...,п. А это

1 к

уравнение имеет 2 /2 решений (по аналогии с Утверждением 3). Отсюда и получаем

(п) = 2п/2.

Но, может быть степень поли нома поможет

Z (n, k Р) = T^TTF Z Zg .

УУп / geL

Теорема3. Справедлива формула

Z

m= p m=p

Доказательство приведено в [9]. Следствие2. Справедлива формула

zea,p)=H:Zc;

У ;=p ^ ;=p

Мы получили, что матожидание числа нулей отличается от Zg (п,р) = 2" /2.

Мы можем варьировать это отклонение от «сбалансированности» подбором параметров р и к.

Но теперь построим еще более обширный класс полиномов как с более тонкими настройками параметров, так и с большими затруднениями для угадывания выбранного полинома.

Рассмотрим общую ситуацию. Пусть теперь Цп,р0,рр...,рп) - класс булевых полиномов от п переменных ровно с р0 мономами степени 0, ровно с р1 мономами степени 1,..., ровно с рп мономами степени п. То есть здесь к= р0+р1+_+рп.

Пусть теперь полином из этого класса §(хр..., х)= у1(х1,...,хп)+...+ ук(х1,.,хп) выбирается случайным образом путем выбора мономов степени нужной степени р из множества мономов степени р с равномерным распределением. Рассмотрим ту же случайную величину

y + У2 ++Ук

- 2С1 / C1)й...(1 - 2C" / C")p") .

m n / V m n / /

классическими соотношениями анализа булевых функций в криптографии. Одним из наиболее распространенных инструментов здесь является нахождение спектра Уолша-Адамара булевой функции £(х1,.,хп). Преобразование Уолша-Адамара для вектора у из Вп:

9

f

a x) =x

и ее матожидание. В [9] доказана следующая теорема. Теорема4. Справедлива формула

Z

m=0

Пусть Z (p0,..., pn) - матожидание числа нулей полинома из класса L(n,p0,pj,...,pn). Из теоремы 4 и формулы (7) следует.

Следствие 3. Справедлива формула

Z( p0,..., pn) = -2(2" + tc: (! - CjО'-

2 m=o

дает 2п чисел - компонент спектра функции. (Ясно, что и время, и память нахождения спектра одной функции экспоненциальны по п в общем случае). (Обозначим через '(Л) максимальную по модулю компоненту спектра.) Через эти числа выражаются многие криптографические характеристики функций (кстати, в большинстве случаев, см., например, [3], с ними работают как с булевыми полиномами): сбалансированность, порядок корреляционной имунности, нелинейность и др. Например, нелинейность N (расстояние до класса аффинных функций):

N = 2"/2-W (f)/ 2.

Здесь мы вновь получили, что матожидание числа нулей отличное от (п,р) = 2" / 2 . Мы можем варьировать это отклонение от «сбалансированности» подбором параметров р0,...,рп.

Пример 5. Пусть р=п, к=1. То есть мы имеем единственный полином степени п §(хр...,хп)= х1х2.хп. Очевидно, что число его нулей равно 2п-1. Именно это и дают наши соотношения.

Мы имеем

*) = ¿с;(1 - С / с:)1 + 2:-¿с; = 2: - 2,

;=р т=:

а 1 (п, к, р) =2п-1.

Замечание. Обратим внимание на сходство полученных нами формул (10) и (12) с некоторыми

Замечание. Известны простые оценки для числа нулей, связанные еще с одним широко применяющемся в криптографии объектом: аннигилятором - ненулевым полиномом, при умножении на который, функция становится тождественным нулем. Если ё- минимальная степень аннигилятора, то

--1 П -

¿ С" < 2" - с:.

1=0 1=0

5. Выводы

В раб оте дана явная ф ормула для числа нулей булевых полиномов в общем случае.

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

Описаны два класса булевых полиномов, для которых матожидание числа нулей может быть как угодно отличным от 2п-1. Приведены явные формулы для среднего числа нулей в обоих случаях.

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

Рецензент: Цирлов Валентин Леонидович, кандидат технических наук, доцент МГТУ им. Н.Э. Баумана. E-mail: v.tsirlov@cnpo.ru

Литература:

1. Сидельников В.М. Открытое шифрование на основе двоичных кодов Рида-Маллера // Дискретная математика. 1994. № 2 (4). С. 3-20.

2. Чижов И.В., Бородин М.А. Уязвимость криптосистемы Мак-Элиса, построенной на основе двоичных кодов Рида-Маллера // Прикладная дискретная математика. Приложение. 2013. № 6. С.48-49.

3. Панкратова И.А. Булевы функции в криптографии: учебное пособие. Томск.: Томский Университет, 2014. 88 с.

4. Сизоненко А.Б. Параллельная реализация криптографических блоков подстановок и перестановок арифметическими полиномами // Доклады ТУСУРа. 2012. Т.26. № 2. С. 140-144.

5. Мак-Вильямс Дж., Слоэн Н. Теория кодов, исправляющих ошибки. М.: Связь, 1979. 745 с.

6. Леонтьев В.К. Комбинаторика и информация. Часть 1. Комбинаторный анализ. М.: МФТИ, 2015. 174 с.

7. Леонтьев В.К., Морено О. О нулях булевых полиномов // Ж. вычисл. матем. и матем. физ. 1998. Т. 38. № 9. С. 1608-1615.

8. Леонтьев В.К. Симметрические булевы полиномы. // Ж. вычисл. матем. и матем. физ. 2010. Т. 50. № 8. С. 1520-1531.

9. Леонтьев В.К., Гордеев Э.Н. О числе нулей булевых полиномов. // Ж. вычисл. матем. и матем. физ. 2017. В печати.

THE PROPERTIES OF BOOLEAN POLYNOMIALS THAT ARE RELEVANT TO CRYPTOSYSTEMS

E. Gordeev 4, V. Leontiev5, N. Medvedev6

Boolean functions and Boolean polynomials (polynomials Zhegalkin, ANF - algebraic normal forms), in particular, is the subject of theoretical and applied research in various areas of computer science. Properties of Boolean polynomials is a classical topics of discrete mathematics and combinatorial analysis. Theoretical foundations of information security include the study of properties of Boolean polynomials in connection with the issue of cryptography. For example, in some popular public key cryptosystems are used Reed-Muller codes and their representation, the algorithms of encoding and decoding are based on Boolean polynomials, spectral properties are determined by the number of zeros of polynomials and investigated with the help of the Lemma on the randomness. It is known that in General case the problem of finding the number of zeros of the polynomial Zg of the polynomial g(x) is NP-hard.. Therefore, algorithms that take into account«the combinatorial structure of the polynomial», though exhaustive, are of applied interest. This paper proposes such an algorithm based on the properties of the matrix of monomials. Presents a formula for finding the number of zeros of the polynomial. Formulas for the expected value of the number of zeros for several classes of Boolean polynomials. The theoretical results can be the basis of methods to assess the applicability of the polynomials in various tasks of information security.

Keywords: cryptosystem with a public key, Boolean polynomial, roots of polynomial, NP - hard problem, expected value of the number of zeros.

References

1. Sidelnikov V. M. Public key cryptosystems based on binary reed-Muller codes // Discrete mathematics. 1994. No. 2 (4). P. 3-20.

2. Chizhov I. V., Borodin M. A. The vulnerability of the cryptosystem Mac-Elys based on binary reed-Muller codes // Applied discrete mathematics. App. 2013. No. 6. P. 48-49.

3. Pankratova I.A. Boolean functions in cryptology. Tomsk: Tomskiy Universitet, 2014. 88 p.

4. Sizonenko A. B. Parallel implementation of cryptographic units of substitutions and permutations arithmetic with polynomials // Proceedings of TUSUR. 2012. T. 26. No. 2. P. 140-144.

5. Mac Williams J., Sloan, N. The theory of error-correcting codes. M.: Sviaz, 1979. 745 p.

6. Leont'ev V. K. Combinatorics and information. Part 1. Combinatorial analysis. Moscow: MIPT, 2015. 174 p.

7. Leont'ev V. K., Moreno O. On the zeros of Boolean polynomials // Zh. Vychisl. matem. and matem. Fiz.. Vol. 38. No. 9. P. 1608-1615.

8. Leont'ev V. K. Symmetric Boolean polynomials. // Zh. Vychisl. matem. and matem. Fiz. 2010. V. 50. No. 8. P. 1520-1531.

9. Leont'ev V. K., Gordeev E.N. Number of zeroes of Boolean polynomials. // Zh. Vychisl. matem. and matem. Fiz. 2017. In preparatin.

4 Eduard Gordeev , Dr.Sc. (in Math,), professor, BMSTU, Moscow, Russia, E-mail: werhorn@yandex.ru

5 Vladimir Leontiev, Dr.Sc. (in Math,), professor, BMSTU, Moscow, Russia, E-mail: vkleontiev@yandex.ru

6 Nikolay Medvedev, Ph.D. (in Tech.), professor, BMSTU, Moscow, Russia, E-mail: medvedevnick54@yandex.ru