УДК 519.1
БСТ: 10.14529/ mmp230107
МНОГОСТОРОННЕЕ ЗАЩИЩЕННОЕ ВЫЧИСЛЕНИЕ ПОЛИНОМОВ ОТ НЕСКОЛЬКИХ ПЕРЕМЕННЫХ
Ю.В. Косолапое, Южный федеральный университет, г. Ростов-на-Дону, Российская Федерация
Целью децентрализации вычислений, выполняемых участниками протоколов информационного взаимодействия, обычно является повышение надежности и защищенности информационных систем. Основу децентрализованных вычислений составляют протоколы многосторонних защищенных вычислений (ПМЗВ), которые обычно не являются универсальными, а строятся для конкретных вычисляемых функций. В настоящей работе строится ПМЗВ для вычисления значений полиномов от нескольких переменных над конечным полем. Построенные протоколы основаны на линейных схемах разделения секрета, а их характеристики, такие как мощность правомочных и неправомочных коалиций, могут быть описаны в терминах характеристик линейных кодов и их степеней Шура - Адамара. В работе приводятся некоторые коды и кодовые конструкции, для которых удается такие характеристики найти аналитически.
Ключевые слова: многосторонние защищенные вычисления; линейные коды.
Введение
Для функции f : X х ... х X ^ У рассмотрим задачу ее многостороннего защищенного вычисления группой из п участников, каждый из которых владеет секретом хг £ X, г £ {1,...,п}. Под защищенным вычислением здесь и далее понимается такой протокол вычисления, в ходе которого участник с номером г не получает новой информации о секретных аргументах других участников, кроме той, которую он может извлечь только из пары ^(х1 , ...,хп),хг). Классическим примером является задача определения, кто из двух миллионеров богаче [1]. В этом случае п = 2, X = К+ -множество положительных действительных чисел, У = {0,1}, где у = 1 означает, что у первого участника состояние не меньше, чем у второго, а у = 0 означает, что богаче второй участник. В качестве функции f : х ^ {0,1} можно рассмотреть f (х1, х2) = в1§п(х1 — х2). На практике протоколы многосторонних защищенных вычислений (ПМЗВ) находят применение при защите биометрических данных в системах аутентификации, при защите данных, обрабатываемых в облачных сервисах, в системах голосования [2]. Также такие протоколы находят применение и в машинном обучении [3].
ПМЗВ обычно строятся для заранее определенного класса функций и не являются универсальными. В настоящей работе множества X и У являются полем Галуа мощности д, а класс вычисляемых функций имеет вид
Тп,ч,т =| f (хь...,х„ )= ^ аа • х?1 • ... • хГ, аа £ , deg(f) ^ г|, (1)
Ш0х...хШ0
где N0 = N и {0} и deg(f) = шах{зит(а) = ^П=1 аг}. Число deg(f) назовем степенью
аа =0
функции f, тогда ТПЛГ - это множество полиномов от п переменных степени не выше г с коэффициентами из . Отметим, что задача незащищенного вычисления функций из ТПЯ)Г возникает, например, в асимметричных криптографических системах, основанных на применении полиномов от многих переменных [4]. Ряд исследований
таких криптографических схем [5-7] показывают неустойчивость некоторых из них к атакам по побочным каналам [8]. Одним из способов защиты является способ на основе схем разделения секрета, когда секретные данные разделяются на доли: с ростом числа долей экспоненциально растет сложность атак на основе побочных каналов [9]. Так как ПМЗВ обычно строятся на основе схем разделения секрета, причем вычисления выполняются над долями, то ПМЗВ для Fn,q,r могут представлять интерес, например, для проектировщиков защищенных криптографических модулей, основанных на вычислении полиномов из .
В работе построены ПМЗВ для функций из ТПЯ)Г на основе линейных кодов. Найдена связь таких характеристик ПМЗВ, как мощности правомочных и неправомочных коалиций, с параметрами линейных кодов и параметрами n, q, r. Рассмотрены коды и кодовые конструкции, для которых удалось аналитически оценить такие характеристики.
1. Предварительные сведения
В этом разделе приведем необходимые сведения о линейных кодах, а также линейных схемах разделения секрета, которые являются основой для строящегося ПМЗВ.
Диапазон натуральных чисел от a до b включительно обозначим [a,b]. Носителем вектора a = (ai,...,an) назовем множество supp(a) = {i : a^ = 0}, а число wt(a) = |supp(a)| - весом вектора a. Скалярное произведение векторов a и b обозначим (a, b). Линейное подпространство C пространства Fn размерности k, такое, что минимальный вес ненулевого вектора из C равен d, называется [n, k, d]q-кодом или просто [n, k]q-кодом, когда минимальный вес d не играет роль в описании свойств кода. Длину, размерность и минимальный ненулевой вес кода C иногда будем обозначать n(C), k(C) и d(C), когда потребуется подчеркнуть, к какому коду относятся эти характеристики. Код Cх = {x G Fn : (x, c) = 0 Vc G C} называется дуальный к коду C. Любая k х n-матрица G ранга k над полем Fq, такая, что линейная оболочка L(G), натянутая на строки матрицы G, совпадает с C, называется порождающей матрицей [n, k]q-кода C, а (n — k) х n-матрица Н ранга n — k, такая, что L(H) = C±, называется проверочной матрицей этого кода. Множество всех порождающих матриц кода C обозначим G(C). Отметим, что C = L(G) для всех G из G(C). Иногда произвольную порождающую матрицу кода C будем обозначать Gc .
Пусть [1,n] - множество участников. Схема разделения секрета (СРС) Е для n участников состоит из двух протоколов: протокола разделения секрета Share и протокола восстановления секрета Recon. Секретом в СРС могут быть векторные величины, как, например, в [10], но обычно секретом являются скалярные величины, так как СРС часто являются базисом для построения ПМЗВ. В настоящей работе множество возможных значений секрета совпадает с Fq .В этом случае линейная СРС (ЛСРС) может быть описана с помощью e х (n + 1)-матрицы H = (ho, hi..., hn), в которой столбец h0 имеет вид (1, 0,..., 0)T. Такую ЛСРС будем обозначать Е(Н), а соответствующие протоколы разделения и восстановления секрета - Е(Н).Share и Е(Н).Recon соответственно. Протокол Е(Н).Share для секрета s G Fq состоит в случайном выборе e — 1 значений r1 ,...,re-1 из Fq и передаче по защищенному каналу участнику i его доли [s]j = ((s, r1,..., re-1), hT). Здесь и далее под защищенным каналом передачи понимается канал, защищенный от несанкционированного наблюдения и изменения/подмены содержимого.
Множество участников т = {t1, ...,tc} ^ [1,n] может восстановить секрет s по набору долей [s]tl,..., [s]tc, если для столбцов матрицы Н с номерами из т найдутся в Fq такие c элементов w1, ...,wc, что h0 = C=1 Wjhti. Такая коалиция называется правомочной, а соответствующий ей вектор w = (w1,..., wc) - ее вектором реконструкции.
Таким образом, протокол Е(Н).Ресоп заключается в вычислении правомочной коалицией т скалярного произведения векторов ..., и>с) и ([в]41,..., [в]4с):
с
((Wl,...,Wc), ([5]41[в]4с )) = ^ wг((s,гl,...,гe-1), ЬТ) = ((5 г1, ге-1) , Ь„> = 5.
г=1
Если набор столбцов матрицы Н с номерами из множества т не порождает столбец Ь0, то для коалиции т их набор долей не несет новой информации о секрете. В этом случае коалиция называется неправомочной. Множество всех правомочных коалиций называется структурой доступа и обозначается Г(Е(Н)), а множество всех неправомочных - структурой противника и обозначается А(Е(Н)). Минимальной правомочной коалицией называется такая правомочная коалиция, ни одно собственное подмножество которой не является правомочной коалицией. Множество всех таких коалиций обозначим $(Г(Н)).
Для [п, к]д-кода С известно, что в его проверочной матрице любые ¿(С) — 1 столбцов линейно независимы, при этом подматрица проверочной матрицы, составленная из любых п — ¿(С+ 1 столбцов, имеет ранг п — к [11]. Отсюда вытекает простое утверждение.
Утверждение 1. Пусть H проверочная матрица [п +1,п +1 — в]д-кода C, ¿(С) ^ 2. Тогда для Е(Н) любая коалиция мощности ¿(С) —2 и менее является неправомочной, а любая коалиция мощности п — ) + 2 и более является правомочной.
Рассмотрим в качестве примера Е(Нп), где п х (п + 1)-матрица Нп имеет вид
Нп
/10 ••• 0 1 \
0 1 ••• 0 —1
..... 0 —1
\0 0 ••• 1 —1/
Так как любые п столбцов этой матрицы линейно независимы, то Нп - проверочная матрица [п + 1,1,п + 1]д-кода. Следовательно, любая коалиция из п — 1 участника является неправомочной, в то время как все участники образуют правомочную коалицию. Отметим, что протокол Е(Нп).Ресоп заключается в суммировании всех долей участников, так как первый по счету столбец матрицы Нп есть сумма последних п столбцов этой матрицы.
2. Защищенное вычисление функций из ТПЛ,Г
Прежде чем построить ПМЗВ, напомним определение произведения Шура - Ада-мара и тензорного произведения. Для а = (a1,...,an) и Ь = (61,...,6п) из ¥'п вектор а * Ь = (а1 Ь1,...,ап Ьп) называется произведением Шура - Адамара а и Ь [12]. Произведением Шура - Адамара к^ х п-матрицы А = (аги кв х п-матрицы В = (Ьг) к=в1 называется к^кв х п-матрица, обозначаемая А* В и состоящая из строк вида (аг * Ц), г £ [1,кА], ] £ [1,кв]. Произведение А* А будем обозначать А2. Для [п, к а]9-кода Са и [п, кв]д-кода Св их произведение Шура - Адамара определяется так: СА*Св = £({а*Ь : а £ СА, Ь £ Св}). Известно также, что СА*Св = *Св), для £ О(СА), £ О(Св) [12,13]. Квадратом кода С называется пространство (код) С* С, которое далее обозначается С2. Аналогично может быть определена любая степень в кода С: С5 = С5-1 * С. Тензорным произведением двух векторов а = (а1,..., ап) и Ь назовем вектор а® Ь := (а1Ь,..., апЬ), представляющий собой соединение п копий вектора Ь, умноженных на соответствующие элементы вектора а.
Рассмотрим линейную ЛСРС Е(Н), где Н - проверочная матрица кода С. Если и, V - секреты, ([и] 1,..., [и]п) и ([V] 1,..., [^]га) - наборы соответствующих долей, то г-й участник без обращения к другим участникам может вычислить свою долю, соответствующую секрету и + V: [и + V]* = [и]* + [V]*. В этом случае говорят, что ЛСРС Е(Н) обладает свойством аддитивности. Свойство аддитивности непосредственно вытекает из того, что векторы [и] = (и, [и]1,..., [и]п) и [V] = (V, [и]^ ..., [V]™) являются кодовыми векторами кода С^, поэтому и их сумма также принадлежит этому коду. Отсюда также вытекает, что каждый участник может вычислить долю секрета а ■ и + в ■ V, где а, в € - известные участникам скаляры. Однако для выполнения многосторонних защищенных вычислений часто необходимо также уметь «умножать> доли: получать такие доли, которые в протоколе восстановления секрета позволяют найти произведение секретов и ■ V. Так как [и]г ■ [V]* = ((и, г1,..., ге-1) ® ...,ре-1), (тг ® тг)Т), то (uv, [и] 1 [V] 1,..., [и]пМп) = (и, [и] 1,..., [и]™) * (V, [v]l,..., [V]™) € С± * Сх. Следовательно, секрет ^ не может быть восстановлен в рамках Е(Н). Однако он может быть восстановлен в рамках Е(Н2) на основе матрицы Н2 = Н * Н, которая может быть вычислена каждым участником по несекретной матрице Н. Таким образом, а [и] + в [V] = [аи + вv] € С±, [и] * [V] € (Сх)2. Умножение двух секретов обобщается на умножение I € N секретов.
Утверждение 2. Пусть Н - проверочная матрица [п + 1, п +1 — е]д-кода С, I € N ^(((Сх)г)х) ^ 2. В рамках ЛСРС Е(Нг) любая коалиция мощности ^(((С^)1)^) — 2 и менее является неправомочной, а коалиция мощности п — )г) + 2 является
правомочной.
Вычисление функции f € могло бы сводиться к выполнению трех шагов:
1) вычислению каждым участником значений А^^ = аа П¿е[1га][хгдля ненулевых слагаемых (аа = 0), где [жг]а = [жг]г ■ ... ■ [жг]* € ^, 2) суммированию значений А* = ^аа=о а4* ,а, а затем 3) к применению протокола восстановления секрета по
значениям А* в рамках ЛСРС с подходящей степенью матрицы Н. Однако заметим, что в функции f слагаемые в общем случае имеют разную степень. Поэтому простое суммирование значений А^^ является некорректным: числа и ,
где Бит(а1) = Бит(а2), являются долями из векторов долей [аа1 ■ ж^1,1 ■ ... ■ ж^1'"] и [аа2 ■ ж^2'1 ■ ... ■ ж«2'"], полученных в рамках ЛСРС с разными матрицами НБит(а1) и Н5ит(аз). Поэтому в ПМЗВ ЯМРС^ „ г перед суммированием выполняется приведение всех значений А^а к значениям , которые для всех аа = 0 являются долями из векторов долей, полученных в рамках ЛСРС Е(Нае^)):
= Л,« ■ [1]fg(/)-sum(a), [1] = (1,0,.., 0) ■ Н.
Протокол 1. SMPCFn,q,r
Входные данные. Каждый участник i G [1, n] имеет секретный аргумент xj, ЛСРС E(H) и вид вычисляемой функции f G Fn)q>r, w = (w1,...,wn) - вектор реконструкции для коалиции из n участников в рамках ЛСРС E(Hdeg(/)). Цель. Вычислить значение f (x1,...,xn) всеми участниками. Протокол.
1. Этап обмена. Каждый участник i G [1,n]
(a) используя E(H).Share для Xj, строит [xj];
(b) передает [xj]j по защищенному каналу участнику j G {1, ...,n} \ {i}.
2. Этап вычислений. Каждый участник i € [1, n] вычисляет
(a) = £„а=0 (aa(П^ХГ) [lfg(/)-sum(a)) ;
3. Этап реконструкции. Каждый участник i € [1,n]
(a) используя X(Hn).Share для секрета Ai строит [Ai] = (Ai, ai;1, ...,ai>n);
(b) каждому j € [1,n] \ {i} по защищенному каналу передает ai;i, l = j;
(c) для l = i(mod n) + 1 вычисляет Bi = (w, (a1;i, ...,an>i)) и передает его остальным участникам по защищенным каналам;
(d) используя X(Hn).Recon находит f(x1,...,xn) = Y^n=1 Bi.
Теорема 1. Каждый участник SMPCF r находит значение функции f € F
Доказательство. На шаге этапа реконструкции каждый участник имеет набор ..., Вп. При этом в протоколе Е(Нга).Ресоп восстановление секрета выполняется суммированием всех долей. Учитывая это, а также то, что Аг = Для г £ [1, п],
получаем
^ В* = ^ (ам, ...,а„,г)) = / w, ( ^ а1,»,^ \ = (w, (АЬ...,А„)).
г€[1,га] г€[1,га] ^ ^ г€[1,га] €[1,га] ''
Так как Аг можно рассматривать как долю ¿-ого участника в Е(НГ) для секрета f (х1, ...,хп), и w - вектор реконструкции для этой ЛСРС, то (А1,...,АП)) = ¡(х1,...,хп). □
Теорема 2. Участник г € [1,п] протокола ЯМРС^^ для функции f € не
получает новой информации о значениях секретов х, ] € [1,п] \{г}, за исключением той, которую он может получить из пары ^(х1,...,хп),хг).
Доказательство. На этапе обмена каждый участник не узнает какой-либо информации о секретах других участников в силу того, что располагает только одной долей от каждого секрета. Этап вычислений каждый участник выполняет локально без обмена данными с другими участниками, поэтому на этом этапе информация о секретах не добавляется. На этапе реконструкции значения Аг разделяются на доли в соответствии с Е(Нга), для которой правомочной коалицией является только коалиция из всех участников, поэтому полученные на шаге (Ь) этапа реконструкции п — 1 долей не несут новой информации о значениях Аг и соответственно о секретных аргументах. Осталось показать, что наборы (В1, ...,ВП), полученные после выполнения шага (с) участником г € [1, п], не дают новой информации о секретах, за исключением той, которую он может получить из пары ^(ж1,...,жга),хг). Предположим, что перед выполнением шага (с) участник г получает от оракула значение f(ж1,...,жга). Тогда участник г может найти набор (В1,...,ВП). Действительно, значения Вг для I = г участник г может вычислить после завершения шага (Ь) этапа реконструкции, а Вг = f (х1, ...,хп) — г=г Вг. Это и означает, что лишней информации о секретах в протоколе ЯМРС^ г участники не получают.
□
В ЯМРС^„ ч г только при взаимодействии всех участников может быть вычислена функция f € . Построим протокол ОЯМРС^ >ч, г, когда на этапе реконструкции взаимодействует только некоторая коалиция 0 С [1, п], являющаяся правомочной для и 0 € $(Г(Нае^))). Пусть w - вектор реконструкции для 0, очевидно, что ^ |0|.
Протокол 2. GSMPCFn ,q
Входные данные. Для всех i G [1,n], участник i имеет секретный аргумент Xi, E(H) и вид вычисляемой функции f G Fn,qrr, w = (wi, ...,wg) - вектор реконструкции для G = {ji,..., jg} G ¿(r(Hdegf))) участников в рамках ЛСРС E(Hdegf)), ji < ... < jg. Цель. Вычислить f(xi,...,xn) участниками коалиции G• Протокол.
1. Этап обмена. Как в SMPCf„ q r •
2. Этап вычислений. Как в SMPCf„ q r •
3. Этап реконструкции. Каждый участник ji G G
(a) используя E(Hdeg(f)).Share для секрета Aj строит [Aj] = (Aj, aji;1, ...,aji;ra);
(b) каждому j G G \ {ji} по защищенному каналу передает a^, l G G, l = j;
(c) для l = i( mod |G|) + 1 вычисляет Bj = (w, (ajj,..., ajgj)) и передает его остальным участникам из G по защищенным каналам.
(d) используя E(Hdeg(f)).Recon находит f (жь ...,ж„) = те[1>д] м™Bj
m
Теорема 3. Каждый участник GSMPCFn r находит значение функции f G F
Доказательство. На шаге Э(^) протокола 08МРС^П ч г каждый участник д имеет набор В,, . По правилу восстановления секрета коалицией д в Е(НГ).Ресоп,
получаем
те[1,й] те[1,й]
= одода^ , + ^1^2 а,2, + ... + од а, , +
+ ^ од, , + ^ од а,2, + ... + ^ ^ , , = X (а,т,,1 '...'а,т,,д )) = X = / (Х1'...'ХП).
те[1,й] те[1,й]
Предпоследнее равенство вытекает из того, что [А,т] = (А,т' а,т>1'...'а,т>га) и w -вектор реконструкции для
Е(# deg(/)). Значение можно рассматривать как долю участника в рамках ) для секрета /(ж^ ...' жп). Отсюда вытекает последнее
равенство. □
Теорема 4. Пусть д £ )). Участник г £ д протокола 08МРС^П для
/ £ ^^ не получает новой информации о значениях секретов ж,, £ [1'П] \ {г}, за исключением той, которую он может получить из пары (/(жь ...'жп)'ж^).
Доказательство. Так как GSMPCFn ч г отличается от SMPCFn ч г только в этапе реконструкции, то покажем, что наборы (В,'...'В,), полученные после выполнения шага (с) участником ^ £ д, не дают новой информации о секретах, за исключением той, которую он может получить из пары (/(ж1' ...'ж^ж^). Предположим, что перед выполнением шага (с) участник ^ получает от оракула значение /(ж1'...'жп). Тогда ^ может найти набор (В,' ...'В,): значения В, для I = г участник ^ может вычислить после шага (Ь) реконструкции, а В, = и>г_1(/(ж1'...'жп) = ^В,), причем од ^ 0, так как д е ¿(Г(Яае§(Л)). ' □
Протокол ОЯМРС2^п ч г является обобщением ОЯМРС^п ч г на случай произвольной коалиции из Г(Нае®(/)), а теоремы 5 и 6 доказываются по аналогии с теоремами 1 и 2.
Протокол 3. 08МРС2^П ,,,г
Входные данные. Для всех г € [1,п], участник г имеет секретный аргумент жъ, £(Н) и вид функции / € ТП)д)Г, w = ('ш1,...,-шд) - вектор реконструкции для 0 = ,..., } € Г(Нае§(/)) участников в рамках СРС £(Нае§(/)), ^ < ... < ^. Цель. Вычислить /(ж1,...,жп) участниками коалиции 0• Протокол.
1 Этап обмена. Как в ВМРС^п ч г •
2. Этап вычислений. Как в 8МРС^„ ч г •
3. Этап реконструкции. Каждый участник ^ € 0
(a) используя Х(Н|д|).5Иэге для А^ строит А] = (А^, ..., ,„);
(b) как в СЯМРС^п , г •
(c) как в СЯМРС^п ,,•
(ё) используя £(Н|д|).Рееоп находит /(жь ...,ж„) = £ше[1>д] •
Теорема 5. Каждый участник 08МРС2^п ч г находит значение функции f € Т
га,д,г •
Теорема 6. Пусть 0 € $(Г(Нае®(/))). Участник г € 0 протокола 08МРС2^п , ?для f € Тга,д)Г не получает новой информации о значениях секретов х, € [1, п] \ {г}, за исключением той, которую он может получить из пары ^(х1,...,хп),хг).
Теорема 7. Пусть f € Тга,д)Г, Н - проверочная матрица кода С С (Сх)г =
Тг = ш1п{^(С),^(((С±)Г)±)} ^ 2, Яг = ш1п{^(Сх),^((СХ)Г)} ^ 2. Тогда существует ПМЗВ такой, что любые п — Яг + 2 могут вычислить значение функции f, а любая коалиция мощности не более Тг — 2 является неправомочной.
Доказательство. Доказательство вытекает из утверждений 1 и 2 и того, что для любой правомочной коалиции может быть применен ПМЗВ С8МРС2;гп г. □
Оценим сложность построенных ПМЗВ. При этом сложность построения степеней матрицы Н не будет учитываться, так как такие матрицы могут быть построены заранее. Пусть f € ТП)д;Г. Через ) обозначим количество операций алгебраического сложения, а через пх ^) - количество операций умножения в представлении (1). При этом будем считать, что для а € N выражение вычисляется за а — 1 операцию умножения (варианты оптимизации вычисления степеней здесь не рассматриваются), а умножение на скаляр выполняется за одну операцию. Тогда
п+ (Я = шах| (£ 1) — 1, о|,пх Ш= £ (1 + £шах{аг — 1, 0}).
^ аа=0 ^ аа=0 1=1
Для удобства обозначим через (f) и ) соответственно количество сложений и умножений, выполняемых каждым участником на этапе вычислений (в каждом из построенных протоколов этот этап одинаковый). Эти величины выражаются следующим образом:
^) = п+а),ВД)= (шax{deg(f) — зит(а) — 1, 0})+ пх^)= ^ + nх(f).
а«=0
В табл. 1 ЛГ+, N х и N4 обозначают соответственно число операций сложения в поле , число операций умножения в этом поле, а также объем пересылаемых данных, где единицей объема является объем, необходимый для представления одного элемента поля . Таким образом, для вычисления функции f Е каждому участнику
требуется выполнить не более е + 3п — 4 + N+ ^) операций сложения и не более е + п + ^^) операций умножения в поле , а также отправить по защищенным каналам данные в объеме, необходимом для раздельной передачи (п — 1)2 + 2(п — 1) элементов поля .
Таблица 1
Вычислительные и коммуникационные затраты одного участника ПМЗВ
Шаг N+ Nx Nt
1(a) ^ е - 1 ^ e 0
1(b) 0 0 n — 1
2(a) N+(f) N,(f) 0
3(a) ^n- 1 0 0
3(b) 0 0 l)2
3(c) ^n- 1 ^ n ^n- 1
3(d) ^n- 1 0 0
Отметим, что при незащищенном вычислении функции, когда каждый участник располагает полным набором аргументов (например, после публикации аргументов от остальных участников), каждому участнику потребуется выполнить не более п+ ^) операций сложения и не более пх ^) операций умножения в поле . Поэтому Д+ = е + 3п — 4, Дх = е + п + —/ и Д4 = (п — 1)2 + 2(п — 1) — 1 можно рассматриваться как накладные расходы, требуемые для обеспечения защищенности вычислений. Заметим, что количество дополнительных операций сложения и число пересылок не зависит от функции f, а число операций умножения зависит, так как выполняется процедура приведения долей к долям в рамках схемы СРС (см. этап вычис-
лений ПМЗВ).
3. Примеры кодов и кодовых конструкций для ПМЗВ
Как вытекает из теоремы 7, характеристики построенных ПМЗВ определяются с помощью минимальных кодовых расстояний кодов С и Сг, а также минимальных кодовых расстояний дуальных к ним кодов. Отметим, что для произвольного линейного кода С в общем случае неизвестно не только кодовое расстояние, но и размерность кода Сг. То же относится и к (Сг . Поэтому для получения протокола с гарантированными свойствами требуются классы кодов, для которых отмеченные выше характеристики можно легко найти. Далее рассматриваются некоторые такие классы кодов и кодовых конструкций.
3.1. Обобщенные коды Рида — Соломона
Напомним, что обобщенным кодом Рида - Соломона (ОРС-кодом) размерности к и длины п называется подпространство Е™ размерности к вида:
СЯЯ^(х, у) = (аЫуь...^(хгаЫ : f (х) Е Ед[х], deg(f (х)) < к},
где x = ) - вектор с попарно различными элементами поля Fq, а y =
G F^ - вектор без нулевых координат. Из определения вытекает вложение
GRS„;fcl (x, y) С GRS„;fc2 (x, y), k2 ^ fcb (2)
Известно, что GRSra>k(x, y)x = GRSn;ra-k(x, y) для некоторого y, а также
GRS„ ki (x, y) * GRS ra,fc2 (x, y) GRSra,min{fc1 +fc2- 1,n }(x, y * y^ (3)
GRS„)fc(x, y)r = GRSra>min{r(fc-i)+i,n}(x, yr), yr = y * ... * y. (4)
Лемма 1. Пусть Н - проверочная матрица [п + 1,к]д-кода GRSra+1)k(х,у), г € М, г< |_п/(п — к)]. Тогда Тг = п — к + 2, Яг = п — г(п — к) + 1.
Доказательство. По свойствам ОРС-кодов и из условия леммы получаем
¿(((^„+1,*(х, у))х)г) = г(п — к) + 2, (х, у))х)г) = п — г(п — к) + 1.
Так как d(GRSra+1)fc(х, у)) = п — к + 2, то из теоремы 7 получаем Тг = п — к + 2. С другой стороны, d(GRSra+1)k(х, у)х) = к + 1, поэтому из теоремы 7
Яг = шт{к + 1, п — г(п — к) + 1} = п — г(п — к) + 1 ^ 2,
где последнее неравенство вытекает из условия г < [п/(п — к)\. □
Теорема 8. Пусть f € , п ^ д, г, Ь € М, гЬ < п. Существует ПМЗВ для f, в котором любая коалиция мощности Ь является неправомочной, а любая коалиция мощности не менее гЬ +1 является правомочной.
Доказательство. Для доказательства достаточно найти параметры обобщенного [п + 1,к]д-кода Рида - Соломона для GSMPC2Fn , ч. По теореме 7 с учетом леммы 1 получаем, что любая коалиция мощности Тг — 2 = п — к не является правомочной. Отсюда Ь = п — к. Подставляя вместо Яг его выражение из леммы 1, из теоремы 7 получим, что любые г(п — к) + 1 = гЬ + 1 участников являются правомочной коалицией. □
3.2. Коды Рида — Маллера
Для определения бинарных кодов Рида - Маллера и исследования некоторых их свойств рассмотрим F2[ж1,..., жт] - кольцо полиномов от т переменных над полем Полиномы из F2[ж1, ...,жт] будем записывать в виде:
У(х1,...,хт) ^ ^ Уаж ,
а=(ах ,...,0"^"
где жа = ж?1 ...ж^1" - моном степени wt(а). Для вектора а = (а1, ...,ат) € Fm символом У (а) будем обозначать значение полинома У (ж1,..., жт), вычисленное при ж = г = 1,...,т. Степень ¿ед(У) полинома У определяется как максимальная степень его ненулевых мономов. Пусть F2r) [ж1, ...,жт] - линейное пространство полиномов из
F2[жl,...,жm] степени не выше г. Определим оператор С(т,г) : F2r)[ж,... Е2
следующим образом: С(т,г)(У) = (У (а1),...,У (а2")), где а*, а^ € Fm, а* = а^ для г = ]. Бинарный код Рида - Маллера RM(/,m) с параметрами т и / определяется
7«.
следующим образом: И,М(ш,/) = {С(т>1)(/)|/ € X, ...,хт]}. Из определения и [14] вытекает, что
ИМ(тЛ) С ИМ(ш,/2), к ^ к, (5)
д(ЯМ(1,ш)) = 2т-1, КМ(1,ш)± = ИМ(ш - I - 1,т), (6)
ИМ(/ьт) ★ ИМ(/2,ш) = ИМ(тт{т,/1 + \2},ш). (7)
Лемма 2. Пусть Н - проверочная матрица кода Рида - Маллера ЯМ(/,ш), г € М, г < \ш/(ш - I - 1)]. Тогда Тг = 2т-1, Яг = 2т_г(т_1-1).
Доказательство. Из свойств кода Рида - Маллера получаем:
д(((ЯМ(1,ш)±)г)±) = 2г(т-1-1)+1, д((ЯМ(1,ш)±)г) = 2т-г(т-1-1).
Так как ^(ИМ(/,ш)) = 2т-1, д(ВМ(1,ш)±) = 21+1, то Тг = 2т1п{т_1>г(т_1_1)+1} = 2т-1 и, с учетом условия леммы, Пг = тт{2|+1, 2т-<т-1~1Ц = 2т~^т~1~1) ^2. □
Теорема 9. Пусть / € Т2т_1)2)Г, Ь € М, гЬ < ш. Существует ПМЗВ для /, в котором любая коалиция мощности Ь является неправомочной, а любая коалиция мощности не менее 2т - \2т+г/(Ь + 2)г] + 1 является правомочной.
Доказательство. Найдем подходящие параметры кода ЯМ(/, ш). По теореме 7 и лемме 2 получаем, что любая коалиция мощности Тг-2 не является правомочной. Отсюда Ь = 2т_1 -2 или I = ш- (Ь+2)]. Подставляя вместо Яг его выражение из леммы 2 и учитывая 2т = п+1, по теореме 7 получим п-Нг + 2 ^ 2т- |_(2т+г )/((;£ + 2)г)] + 1. □
Характеристики степеней ОРС-кодов и кодов Рида - Маллера приведены в табл. 2 и могут быть использованы для оценки характеристик ПМЗВ в соответствии с теоремой 7.
Таблица 2
Характеристики степеней ОРС-кодов и двоичных кодов Рида - Маллера
с
GRSra;fc(x,y) RM(/,m)
d(C) n-k + 2 2 m—l
k + 1 2l+l
¿(((c^T) r(n — k) + 2 2 r(m—l—1)+1
n — r(n — к) + 1 2 m—r(m—l— 1)
3.3. Тензорное произведение кодов
Напомним, что тензорным произведением к а х па-матрицы А и к в х Пв-матрицы В называется какв х папв-матрица, состоящая из строк вида а^ ® Ъ, г € [1,кА], ] € [1,кв]. Тензорное произведение матриц обозначается А ® В. Внешнюю прямую сумму пространств V и Ш обозначим V ф Ш. Если V, Ш С Е^, то внутренняя сумма подпространств V и Ш обозначается Ш + V. Тензорным произведением [па , к а, -кода С а и [пв, кв, йв ]д-кода Св называется код, обозначаемый Са®Св и порождаемый матрицей СА ® Св, где СА € Я (Са), Св € Я (Св). Известно, что код СА ® Св является
[папв, кв, dAdB]q-кодом [11], а произведение Шура - Адамара для кодов Ca 0 CB и DA 0 DB, где CA, DA С , CB, DB С , обладает следующим свойством [13]:
(Ca 0 CB) * (Da 0 Db) = (Ca * Da) 0 (Cb * Db). (8)
Следующая теорема позволяет определить d((CA 0 CB)A).
Теорема 10. Пусть CA - [nA, kA, dA]q-код, CB - [nB, kB, dB]q-код, dA - минимальное кодовое расстояние кода CA, d¿ - минимальное кодовое расстояние кода C¿, d -минимальное кодовое расстояние кода (CA 0 CB)A. Тогда d = min{dA, d¿}.
Доказательство. Так как, (Ca 0 Cb)a = 0 C¿ + CA 0 , где 0 C¿ = ®nAiC¿", а код CA 0 перестановочно эквивалентен прямой сумме 0ПВ1СА, то d ^ min{dA, d¿}. Докажем равенство. Пусть Ga = (gA,..., дПА) - порождающая матрица кода Ca , GB = ($B,..., gB) - порождающая матрица кода CB, где gA - столбцы высоты kA, gB - столбцы высоты кв. Тогда порождающая матрица Ga 0 Gb кода Ca 0 CB является проверочной матрицей кода (Ca 0 CB)A. Следовательно, любые d — 1 столбцов матрицы Ga 0 Gb линейно независимы, при этом найдутся d линейно зависимых столбцов. Пусть такими столбцами являются
gA 0 gB ,...,gAd0 gB, (9)
для некоторых i1,...,id G [1,Па], j, ...,jd G [1,n2]. Отметим, что в наборе i1,...,id могут быть совпадающие элементы; аналогично и в наборе j,..., jd также могут быть совпадающие элементы. Пусть ti = {а1,..., atl} - множество разных номеров из набора ii,... , id, а т2 = {b1,..., bt2} - множество разных номеров из набора j,..., jd. Пусть G1 - матрица, состоящая из t1 столбцов матрицы Ga , номера которых принадлежат Т1, G2 - матрица, аналогично строящаяся по матрице Gb и множеству т2. По определению тензорного произведения все столбцы из набора (9) содержатся в наборе столбцов матрицы G1 0 G2 (заметим, что в матрице G1 0 G2 могут быть и другие столбцы).
Предположим, что d < min{dA, d¿}. Так как любые dA — 1 столбцов матрицы Ga и любые d¿ — 1 столбцов матрицы Gb линейно независимы, то rank(G1) = t1 ^ d, rank (G2) = t2 ^ d. По свойству тензорного произведения в этом случае получаем rank (G1 0 G2) = rank(G1) • rank (G2) = t1 • t2. Таким образом, в матрице G1 0 G2 все столбцы линейно независимы, и поэтому любое подмножество столбцов этой матрицы также линейно независимо. Отсюда получаем, что набор (9) должен быть линейно независимым, что противоречит предположению. Таким образом, d не может быть меньше min{(¿А, <i¿}. □
Пусть C - [n + 1, k, d]q-код, причем C = (V1 0 V2)A, где V - [n, k¿, d¿]q-код, i = 1, 2. В этом случае n = n1 n2 — 1, k = n — k1k2, CA = V1 0 V2, d(CA) = d(V1)d(V2) и, как следует из теоремы 10, d(C) = min{d(V1A), d(V2A)}. Из (8) вытекает равенство: (CA)r = (V1 0 V2)r = Vr 0 V2r. Поэтому d((CA)r) = d(Vf )d(V2r), d(((CA)r)A) = min{d((Vf )A),d((V2r )A)}.
Теорема 11. Пусть C - [n +1,k]q-код, причем C = (V10 V2)A, где Vi - [n, kj,d¿]q-код, i =1, 2, n = n1 n2 — 1. Тогда любые min{d(VA), d(V2A), d((V/Lr)A), d((V2r)A)} — 2 участников образуют неправомочную коалицию, а любые n — min{d(V1)d(V2), d(V1T")d(VJ)} + 2 участников образуют правомочную коалицию.
Характеристики тензорного произведения рассмотренных кодов, позволяющие по теореме 7 найти мощности неправомочных и правомочных коалиций, приведены в табл. 3.
Таблица 3
Характеристики степеней тензорного произведения
С = {V! <g> V2)1-
Fi = GRSra.,fc.(xi,yi), ¿ = 1,2 Vi = RM(/¿,m¿), i = 1,2
d(C) minjfci, fc2} + 1 2min{Zi,Í2}+l
(m - ki + 1) • (712 - +1) 2ml—'l+m2—'2
diac^m minjrfci — r + 1, ni, rfc2 — r + 1, n2} + 1 2min{mi ,rl\,m2 ,r¿2}+l
d{{cAY) max{n2 — {rk\ — r), 1} max{n2 — (rfc2 — r), 1} 2"ii — minjmi ,rli }+m,2 — min{m,2 ,rÍ2 }
3.4. Конструкция (и|и + г)
Еще одной кодовой конструкцией, для которой можно в ряде случаев найти характеристики степеней кода, является конструкция (м|м + г). Для двух кодов С и С2 одинаковой длины с порождающими матрицами и С2, код С = [/V(С,С2), соответствующий (и|и + г)-конструкции, имеет следующие характеристики [11,15]:
С1 Не = Г Я1
2 / , е V —Н2 Н2
Gc = ( о Gi ' = —H HJ (10)
k(C) = k(Ci) + fc(C2), n(C) = 2n(Ci), d(C) = min{2d(Ci), d(C2)}. (11) Из вида (10) проверочной матрицы H вытекает, что d(Cr) = d(UV(C^r, Cj1)):
d((UV(Ci, C2))r) = min{2d(Cj), d(Cj)}. (12)
Так как C2 = L(G2), то из вида (10) вытекает, что C2 = L(G2), где
/G2 G2 G2 = O Gi ★ G2 Vo G2
Утверждение 3. Пусть r G N, C = UV(Ci, C2). Тогда
Cr = U V(Ci, C2), Ci = C[, C2 = C2r + X Ci1 ★ C2r2. (13)
ri ,r2 GN: Г1+Г2 =r
Доказательство. Доказывается построением r-й степени матрицы G вида (10). □
Теорема 12. Пусть C - [n +1,k]q-код, C = (UV(Vi, V2))r, где V, - [(n + 1)/2, fc,, -код, i = 1, 2. Тогда любые min{2d(V2r), ¿(V^), 2d(V2r), ¿(V^)} — 2 участников образуют неправомочную коалицию, а любые n — min{2d(Vi),d(V2), 2d(Vi), d(V2)} + 2 -правомочную коалицию.
Доказательство. Так как C = (UV(VL,V2))r, то из (11) и (12) следует: d(C) = min{2d(V2r),d(Vir)}, d(Cr) = min{2d(Vi),d(V¡)}. Из (12) и (13) получаем:
d((Cr)r) = d(UV(Vi, V2)) = min{2d(Vi), d(V2)}, d(((Cr)r)r) = min{2d(V2r), ¿(Vj)},
где V][ и V2 имеют вид Ci и C2 из (13) при C2 = V, C2 = V2. Следовательно, по теореме 7, любые min{2d(V2r), ¿(Vf1), 2d(V2r), ¿(V^)} — 2 участников образуют неправомочную
коалицию, а любые n — min{2d(V), d(V2), 2d(Vi), d(V2)} + 2 - правомочную коалицию.
□
Для двоичных кодов Рида - Маллера и ОРС-кодов следующие утверждения позволяют найти характеристики степеней соответствующих (м|м + г)-конструкций.
Утверждение 4. Пусть С, = СИЙ^(х, у), г = 1, 2, С = иУ(СЬС2). Тогда
Сг = иУ(Сй^к(х, уг), GRSn,к2(х, уг)),К = шт{г&1 - г + 1,п}, К2 = шт{п, шах{гк2 — г, г1к1 — г1 + г2к2 — г2|г1, г2 € М, г1 + г2 = г} + 1}.
Доказательство. Рассмотрим представление (13). Из (4) получаем: к(С[) = к(ОК8П)т1П{гк1-г+1)П}(х, уг)) = ш1п{гк1 — г + 1,п}. Слагаемые в представлении (13)
для кода С2 имеют вид ОКЯП;к(х, уг) для некоторого соответствующего этому слагаемому К, что следует из (3). Тогда из (2) получаем, что С2 совпадает с максимальным по мощности слагаемым. Откуда получаем выражение для К2. □
Утверждение 5. Пусть С, = ИМ(ш, I,), г = 1, 2, С = иУ(Сь С2). Тогда
Сг = иУ(ИМ(ш,Ь1), ИМ(ш,Ь2)), ¿1 = шт{г/ьт}, ¿2 = шт{шах{г/2, г1/1 + г2/2|г1, г2 € М, г1 + г2 = г}, т}.
Доказательство. Рассмотрим (13). Из (7) получаем: С[ = ИМ(т,ш1п{г/1,т}. Слагаемые в представлении (13) для С2 имеют вид ИМ(т,Ь) для соответствующего что следует из (7). Тогда С2 = ЯМ(т, ш1п{шах{г/2, г1/1 + г2/2|г1,г2 € М, г1 + г2 = г},т}). □
Формулы, приведенные в табл. 4, позволяют с помощью теоремы 7 найти характеристики построенных ПМЗВ в случае применения конструкции (и|и + г).
Таблица 4
Характеристики степеней (u|u + г)-конструкции
C=(UV(V1,V2))±
Vi = GRS^ (x, у), г = 1, 2 Vi = RM(/j, m), i = l,2
d(C) min{2fc2, k\} + 1 2min{!2+2,!i + l}
(¡(С-1) min{2(n — k\),n — k2} + 1 2m-max{li-l,l2j
d(((cA)T) mm{2K2,K1} + 1 2min{L2+2,Li+l}
d((c^y) min{2(n - Кг), n- K2} + 1 2m— maxjLi — l,L2j
Литература
1. Yao, A. Protocols for Secure Computations / A. Yao // IEEE Computer Society. - 1982. -P. 160-164.
2. Archer, D.W. From Keys to Databases-Real-World Applications of Secure Multi-Party Computation / D.W. Archer, D. Bogdanov, Y. Lindell et al // The Computer Journal. -2018. - V. 61, № 12. - P. 1749-1771.
3. Garg, S. Outsourcing Private Machine Learning via Lightweight Secure Arithmetic Computation / S. Garg, Z. Ghodsi, C. Hazay et al - URL: https://arxiv.org/abs/1812.01372 (дата обращения 04.05.2022)
4. Jintai Ding. Multivariate Public Key Cryptography / Jintai Ding, Bo-Yin Yang // PostQuantum Cryptography. - New York: Springer, 2009. - P. 193-241.
5. Bruneau, N. Optimal Side-Channel Attacks for Multivariate Leakages and Multiple Models / N. Bruneau, S. Guilley, A. Heuser // Journal of Cryptographic Engineering. - 2017. -№ 7. - P. 331-341.
6. Aesun Park. Side-Channel Attacks on Post-Quantum Signature Schemes Based on Multivariate Quadratic Equations / Aesun Park, Kyung-Ah Shim, Namhun Koo et al // IACR Transactions on Cryptographic Hardware and Embedded Systems. - 2018. - № 3. -P. 500-523.
7. Weijian Li. Fuzzy Matching Template Attacks on Multivariate Cryptography: a Case Study / Weijian Li, Xian Huang, Huimin Zhao et al // Discrete Dynamics in Nature and Society. -2020. - V. 2020. - P. 1-11.
8. Haibo Yi. On the Importance of Checking Multivariate Public Key Cryptography for Side-Channel Attacks: the Case of enTTS Scheme / Haibo Yi, Weijian Li // The Computer Journal. - 2017. - V. 60, № 8. - P. 1-13.
9. Carlet, C. Polynomial Evaluation and Side Channel Analysis / C. Carlet, E. Prouff // The New Codebreakers. - 2016. - V. 9100. - P. 315-341.
10. Косолапов, Ю.В. Схема разделения секрета типа схемы Блэкли, основанная на пересечении подпространств / Ю.В. Косолапов // Математические вопросы криптографии. -2017. - Т. 8, № 1. - С. 13-30.
11. MacWilliams, F.J. The Theory of Error-Correcting Codes / F.J. MacWilliams, N.J.A. Sloane. - North Holland, North Holland Publishing, 1977.
12. Randriambololona, H. On Products and Powers of Linear Codes under Componentwise Multiplication / H. Randriambololona. - URL: http://arxiv.org/abs/1312.0022 (дата обращения 04.05.2022)
13. Деундяк, В.М. О некоторых свойствах произведения Шура - Адамара для линейных кодов и их приложениях /В.М. Деундяк, Ю.В. Косолапов // Прикладная дискретная математика. - 2020. - № 50. - С. 72-86.
14. Chizhov, I.V. Effective Attack on the McEliece Cryptosystem Based on Reed-Muller Codes / I.V. Chizhov, M.A. Borodin // Discrete Mathematics and Applications. - 2014. - V. 24, № 5. - P. 273-280.
15. Roumaissa, M. A Novel Niederreiter-Like Cryptosystem Based on the (u|u + v)-construction Codes / M. Roumaissa, L.C. Pierre, A. Sedat et al // RAIRO - Theoretical Informatics and Applications. - 2021. - № 55. - P. 1-16.
Юрий Владимирович Косолапов, кандидат технических наук, кафедра алгебры и
дискретной математики, Южный федеральный университет (г. Ростов-на-Дону, Российская Федерация), [email protected].
Поступила в редакцию 6 мая 2022 г.
MSC 94A60, 68P25 DOI: 10.14529/mmp230107
MULTI-PARTY SECURE COMPUTATION OF MULTI-VARIABLE POLYNOMIALS
Yu. V. Kosolapov, Southern Federal University, Rostov-on-Don, Russian Federation, [email protected]
The goal of decentralizing the calculations performed by participants in information interaction protocols is usually to improve the reliability and security of information
systems. Decentralized computing is based on multi-party secure computing protocols (MSCP), which are usually not universal, but are built for pre-specific functions calculated by participants. In this work, an MSCP is constructed to calculate polynomial values from several variables over a finite field. The constructed protocol is based on linear secret separation schemes, and its characteristics, such as the power of valid and unauthorized coalitions, can be described in terms of the characteristics of linear codes and their Schur-Hadamard degrees. Some codes and code constructs for which such characteristics can be determined analytically are described.
Keywords: secure computation; linear codes.
References
1. Yao A. Protocols for Secure Computations. IEEE Computer Society, 1982, pp. 160-164.
2. Archer D.W., Bogdanov D., Lindell Y. et al. From Keys to Databases-Real-World Applications of Secure Multi-Party Computation. The Computer Journal, 2018, vol. 61, no. 12, pp. 1749-1771.
3. Garg S., Ghodsi Z., Hazay C. et al. Outsourcing Private Machine Learning via Lightweight Secure Arithmetic Computation. Available at: https://arxiv.org/abs/1812.01372 (accessed 04.05.2022)
4. Jintai Ding, Bo-Yin Yang. Multivariate Public Key Cryptography. Post-Quantum Cryptography, New York, Springer, 2009, pp. 193-241.
5. Bruneau N., Guilley S., Heuser A. Optimal Side-Channel Attacks for Multivariate Leakages and Multiple Models. Journal of Cryptographic Engineering, 2017, no. 7, pp. 331-341.
6. Aesun Park, Kyung-Ah Shim, Namhun Koo et al. Side-Channel Attacks on Post-Quantum Signature Schemes Based on Multivariate Quadratic Equations. IACR Transactions on Cryptographic Hardware and Embedded Systems, 2018, no. 3, pp. 500-523.
7. Weijian Li, Xian Huang, Huimin Zhao et al. Fuzzy Matching Template Attacks on Multivariate Cryptography: A Case Study. Discrete Dynamics in Nature and Society, 2020, vol. 2020, pp. 1-11. DOI: 10.1155/2020/9475782
8. Haibo Yi, Weijian Li. On the Importance of Checking Multivariate Public Key Cryptography for Side-Channel Attacks: the Case of enTTS Scheme. The Computer Journal, 2017, vol. 60, no. 8, pp. 1-13. DOI: 10.1093/comjnl/bxx010
9. Carlet C., Prouff E. Polynomial Evaluation and Side Channel Analysis. The New Codebreakers, 2016, vol. 9100, pp. 315-341.
10. Kosolapov Yu.V. [Blakley Type Secret Sharing Scheme Based on the Intersection of Subspaces]. Mathematical Aspects of Cryptography, 2017, vol. 8, no. 1, pp. 13-30. (in Russian)
11. MacWilliams F.J., Sloane N.J.A. The Theory of Error-Correcting Codes. North Holland, North Holland Publishing, 1977.
12. Randriambololon H. On Products and Powers of Linear Codes under Componentwise Multiplication. Available at: http://arxiv.org/abs/1312.0022 (accessed 04.05.2022)
13. Deundayk V.M., Kosolapov Yu.V. [On Some Properties of the Schur-Hadamard Product for Linear Codes and their Applications]. Applied Discrete Mathematics, 2020, no. 50, pp. 72-86. (in Russian)
14. Chizhov I.V., Borodin M.A. Effective Attack on the McEliece Cryptosystem Based on Reed-Muller Codes. Discrete Mathematics and Applications, 2014, vol. 24, no. 5, pp. 273-280.
15. Roumaissa M., Pierre L.C., Sedat A. et al. A Novel Niederreiter-Like Cryptosystem Based on the (u|u + v)-construction Codes. RAIRO - Theoretical Informatics and Applications, 2021, no. 55, pp. 1-16.
Received May 6, 2022