2022 Математические методы криптографии № 57
УДК 621.391.7 DOI 10.17223/20710410/57/2
О СТРУКТУРНОЙ СТОЙКОСТИ КРИПТОСИСТЕМЫ ТИПА МАК-ЭЛИСА НА СУММЕ ТЕНЗОРНЫХ ПРОИЗВЕДЕНИЙ БИНАРНЫХ КОДОВ РИДА — МАЛЛЕРА
Ю. В. Косолапов, Е. А. Лелюк Южный федеральный университет, г. Ростов-на-Дону, Россия E-mail: [email protected], [email protected]
Актуальной задачей криптографии является разработка криптосистем, стойких к атакам с использованием квантовых вычислений. Одной из перспективных схем шифрования считается система Мак-Элиса на кодах Гоппы. Однако эта система обладает рядом недостатков, обусловленных структурой кодов Гоппы, что делает актуальным поиск других кодов для схемы Мак-Элиса. Важными требованиями для этих кодов являются наличие быстрого декодера и обеспечение стойкости соответствующей криптосистемы к известным атакам, в том числе с использованием произведения Шура — Адамара. Многие попытки заменить коды Гоппы не привели к успеху, поскольку соответствующие криптосистемы оказались нестойкими к структурным атакам. В настоящей работе в качестве кода предлагается использовать D-конструкцию (D-код) на бинарных кодах Рида — Маллера. Эта конструкция является суммой специального вида тензорных произведений бинарных кодов Рида — Маллера. Для неё имеется быстрый алгоритм декодирования. С целью анализа стойкости схемы Мак-Элиса на D-кодах построена структурная атака с использованием произведения Шура — Адамара D-кода. Для выбора параметров, обеспечивающих стойкость криптосистемы к построенной атаке, исследуется разложимость степени D-кода в прямую сумму кодов Рида — Маллера и делается вывод о множестве стойких ключей криптосистемы.
Ключевые слова: криптосистема типа Мак-Элиса, структурная стойкость, бинарные коды Рида — Маллера, сумма тензорных произведений, произведение Шура — Адамара.
ON THE STRUCTURAL SECURITY OF A McELIECE-TYPE CRYPTOSYSTEM BASED ON THE SUM OF TENSOR PRODUCTS OF BINARY REED — MULLER CODES
Yu. V. Kosolapov, E. A. Lelyuk Southern Federal University, Rostov-on-Don, Russia
The current task of cryptography is the development of cryptosystems resistant to attacks using quantum computing. One of the promising encryption schemes is the McEliece system based on Goppa codes. However, this system has a number of disadvantages due to the structure of Goppa codes, which makes it relevant to search for other codes for the McEliece scheme. Important requirements for these codes are the presence of a fast decoder and ensuring the resistance of the corresponding cryptosystem to known attacks, including attacks with the Schur — Hadamard product. Many attempts to replace Goppa codes have failed because the corresponding cryptosystems
have proven to be unstable against structural attacks. In this paper, it is proposed to use the D-construction (D-code) on binary Reed — Muller codes in the McEliece cryptosystem. This construction is a sum of a special kind of tensor products of binary Reed — Muller codes. There is a fast decoding algorithm for it. To analyze the security of the McEliece scheme on D-codes, we have constructed a structural attack that uses the Schur — Hadamard product of a D-code. To select the parameters that ensure the resistance of the cryptosystem to the constructed attack, we investigate the decomposition of the degree of the D-code into the direct sum of Reed — Muller codes and conclude about the set of strong keys of the cryptosystem.
Keywords: McEliece-type cryptosystem, structural security, binary Reed — Muller codes, sum of tensor products, Schur —Hadamard product.
Введение
В 2016 г. Национальным институтом стандартов и технологий США был объявлен конкурс на разработку криптосистем, стойких в постквантовую эпоху [1]. Одним из основных претендентов является кодовая криптосистема Мак-Элиса на кодах Гоппы, стойкость которой основана на сложности декодирования кода в предположении неотличимости его от случайного [2]. Однако её недостатками являются большой размер ключа (от 260 кбайт до 1,3 Мбайт) и относительно высокая (хотя и полиномиальная от размера входных данных) вычислительная сложность алгоритма декодирования [3]. Для уменьшения размера ключа исследователями предлагалось заменить коды Гоппы другими помехоустойчивыми кодами [4 - 7]. Однако эти системы оказались неустойчивы к атакам на ключ [8-13], а именно: для предложенных кодов найдены эффективные криптоаналитические алгоритмы структурных атак, которые по публичному ключу находят подходящий секретный ключ. Позднее были предложены некоторые модификации взломанных криптосистем. В частности, в [6] в качестве помехоустойчивого кода используется случайно выбранный подкод известного кода с эффективным алгоритмом декодирования. Однако слабость такого подхода показана в [10, 14]. В [15] для усиления предложено добавлять к порождающей матрице используемого кода случайные столбцы. Эта конструкция также оказалась нестойкой [16, 17].
Заметим, что имеющийся прогресс в области криптоанализа кодовых криптосистем позволяет предположить, что не исключено появление в будущем эффективных структурных атак и на оригинальную криптосистему на кодах Гоппы. Такое предположение подкрепляется, в частности, результатами работы [18], в которой построена эффективная структурная атака для одного класса подпространственных подкодов кодов Рида — Соломона. При этом известно, что коды Гоппы также являются классом подпространственных подкодов кодов Рида — Соломона, и возможно, что идеи, используемые в [18], могут применяться и в случае кодов Гоппы. Поэтому, несмотря на имеющиеся стойкие схемы, актуальна задача поиска других эффективно декодируемых кодов, обеспечивающих высокую стойкость кодовых криптосистем.
Один из подходов построения эффективно декодируемых кодов — комбинирование известных кодов [19]. Однако стоит отметить, что для некоторых известных кодовых конструкций уже получены результаты успешного криптоанализа систем типа Мак-Элиса, основанных на таких конструкциях. В частности, использование в такой криптосистеме прямой суммы известных кодов, как предложено в [20], не усиливает стойкость системы по сравнению со стойкостью системы Мак-Элиса на кодах-слагаемых. Вычислительная эквивалентность структурных атак для таких систем показана
в [21]. Использование повторения [4] и псевдоповторения (соединения) [22] кодов также не позволяет усилить стойкость криптосистемы, что показано в [23].
Представляется, что потенциально стойкой системой типа Мак-Элиса может являться система на произведении кодов. Такие коды и их обобщение — D-коды [24] — относятся к эффективно декодируемым: для некоторых классов этих кодов имеются быстрые алгоритмы мажоритарного декодирования [25, 26]. При этом анализ криптосистемы типа Мак-Элиса на произведении кодов, проведённый в [25], показал её высокую стойкость к структурным атакам. Заметим, что при анализе в [25] не использовалось произведение Шура — Адамара, преобразующее публичный ключ и часто позволяющее получить дополнительную информацию о ключе по свойствам такого преобразования [27, 10, 9, 28]. Позднее для кодов произведения в [29] исследованы некоторые свойства квадрата Шура — Адамара, которые могут быть использованы для построения структурной атаки на соответствующую кодовую криптосистему.
В настоящей работе исследуется стойкость криптосистемы Мак-Элиса на одном обобщении произведения кодов — D-кодах на основе кодов Рида — Маллера. Проводится анализ стойкости этой системы к атаке на основе произведения Шура — Адамара. Для этого исследуются свойства степеней Шура — Адамара D-кодов на основе кодов Рида — Маллера. Соответствующие результаты приводятся в п. 1. В п. 2 строится структурная атака с использованием произведения Шура — Адамара и на основе результатов п. 1 делается вывод о параметрах D-кодов, позволяющих противодействовать построенной атаке.
1. Свойства произведения Шура — Адамара D-конструкции на основе бинарных кодов Рида — Маллера 1.1. Бинарные коды Рида — Маллера Пусть F^" — векторное пространство над полем Галуа Fq. Для вектора x Е F^ множество его ненулевых координат называется носителем вектора x и обозначается supp(x). Вес wt(x) вектора x определяется как |supp(x)| (здесь и далее символом |A| обозначается мощность множества A). Линейное подпространство C размерности k пространства F^ называется линейным [n, k]q-кодом [30]; [n, k]q-код C с минимальным кодовым расстоянием d = min {wt(c)} называется [n,k,d]q-кодом. Порождающую матрицу
c€C,c=0
кода C обозначим через Gc , а двойственный код к коду C — через C. Коды C и D длины n и размерности k называются перестановочно эквивалентными, если в симметрической группе перестановок Pn, действующей на множестве {1,... ,n}, найдётся перестановка а, такая,что
a(C) = {(cCT-i(i),... ,cCT-i(n)) : (ci,.. .,Cn) Е C} = D.
Напомним, что код C называется разложимым, если он перестановочно эквивалентен прямой сумме двух или более кодов ненулевой длины. Для двух векторов a = (а1,... , an) и b = (b1,... , bn) из Fn произведением Шура — Адамара называется вектор a*b = (a1b1,... , anbn); произведением Шура — Адамара k х n-матрицы A = (a^) и l х n-матрицы B = (bj) называется матрица A*B = (a*bj), i = 1,..., k, j = 1,... ,l. Для кодов C и D из Fn их произведение Шура — Адамара определяется следующим образом:
C*D = L({x* y|x Е C, y Е D}).
Здесь и далее через £(и) обозначается линейная оболочка множества и. Известно [27], что С * О = С(Ос * Оп). Произведение С * С далее обозначается С2 и называется квадратом кода С.
Для х п^-матрицы А = (ага-) и (к2 х п2)-матрицы В их тензорное произведение А 0 В определяется как (к1к2 х п1п2)-матрица вида
/апВ •••
\ак1,1В ак1,гахВ/
Тензорное произведение С1 0 С2 двух [пг,кг,^г]Я-кодов Сг С Fni, где г € {1, 2}, можно определить как £(СС1 0 ОС2). Известно, что С1 0 С2 является [п1 п2, к1к2, -кодом [19, п. 6.2.3], а из [31, теорема 5] вытекает, что
С1 0 С2 = Fnl 0 С2 + С1 0 Fn2.
Действительно, согласно [31, формула (7)], порождающая матрица кода С1 0 С2 может быть представлена в виде
/°ст 0 = I А1 0 ОС2
\Ссг 0 А2
где А1, А2 — такие к1 х п1- и к2 х п2-матрицы, что
С I °СЛ = Fral С I = Fra2 ^ А, = ^ , М А2 ) = ^^ .
Следовательно,
С1 0 С2 = С1 0 С2 + £(А1) 0 С2 + С1 0 £(А2) =
= С0 С + £(А1) 0 С + С0£(А2)+ С0 С = = (С + £(А1)) 0 С + С0 (С + £(А2)) =
= F:;l 0 С + С0 F:;2.
Отметим, что порождающая матрица кода Fn 0 С имеет блочно-диагональный вид: = diag(GC,... , ОС). Поэтому код Fn 0 С можно представить как прямую (внешнюю) сумму п кодов С:
Fn 0 С = С ф ... ф С. (3)
Я --^-✓ ^ '
п
Широко известным классом линейных кодов является класс бинарных кодов Рида — Маллера. Для их определения и исследования некоторых их свойств рассмотрим F2[x1,... , хт] —кольцо полиномов от т переменных над полем F2. Полиномы из F2 [х1,... , хт] будем записывать в виде
f (х1, . . . , хт) Уах ,
а=(аь...,ат^т
где Ха = ж?1... хт —моном степени wt(а). Для вектора а = (а1,...,ат) € Fm символом f (а) будем обозначать значение полинома f (х1,... ,жт), вычисленное при хг = аг, г = 1,...,т. Степень полинома f определяется как максимальная степень
его ненулевых мономов. Пусть е2'")[х1, ... , хт] —линейное пространство полиномов из Е2[хь... ,хт] степени не выше г. Определим оператор Е(т,г) : Е^х!,... , хт] ^ следующим образом:
Е(т,г)(/) = (/(а!),...,/ (а2™ )),
где ai, а^ € Ет, а^ = а^ для г = ], п = 2т. Бинарный код Рида —Маллера И,М(т, г) с параметрами т и г определяется следующим образом:
ИМ(ш,г) = {Е(т,г)(/) : / € Е2Г)[Х1, ...,Хт]},
при этом ЯМ(т, г) = И,М(т, т) = ЕП для г ^ т. Известно, что ИМ(т, г) = И,М(т, т — г — 1), а в [9] доказано, что
И,М(т, г!) * И,М(т, г2) = ИМ(т, г! + г2). (4)
Из (4) и определения кода Рида — Маллера вытекает, что ЯМ(т, г!) * ЯМ(т, г2) = Е при г! + г2 ^ т.
Лемма 1. Пусть И,М(т^г^ — бинарный код Рида — Маллера, г = 1, 2. Тогда
ЯМ(т!, г!) 0 И,М(т2, г2) С ЯМ(т! + т2, г! + г2).
Доказательство. Рассмотрим тензорное произведение пространств е2Г1) [х!,..., хт1 ] и е2Г2) [у1,... ,ут2], которое, по определению, имеет вид
Е2Г1)[х!,...,хт1 ] 0 Е2Г2)[у!,...,Ут2 ] = = {/ • д : / € Е2Г1)[х1, . . . ,хт1 ], д € Е2Г2)[У1, . . .,Ут2 ]},
где / • д — произведение полиномов в кольце Е2[х!,... , хт1, у!,... , ут2]. Очевидно, что
Е2Г1) [х! ,...,хт1 ] 0 Е2Г2) [у!,...,ут2 ] С Е2"1+Г2) [хЪ . . . ,хт1 ^1,...^ ]. Пусть / € е2Г1)[хь ... ,хт1 ], д € е2Г2)[у!,... ,ут2]. Покажем, что
Е(т1+т2,Г1+Г2)(/ • д) = Е(т1,п)(/) 0 Е(т2,Т2)(д).
Так как (/ • д)(а, в) = /(а)д(в) для а € Ет1, в € Ет2, то, с одной стороны,
Е(т1+т2,Г1+Г2)(/ • д) = ((/ • д)(а^ вз )) ^...^т ,^ = 1,...,2т2 = = (/(аi)g(вj )) i=l,...,2т 1 ,^'=!,...,2т2 , с другой стороны, по определению тензорного произведения (1), получаем
Е(тьп)(/) 0 Е(т2,Г2)(д) = (/(аг)д(в^ )) ^...¿т ,^ = 1,...,2™2 ,
что доказывает утверждение. ■
1.2. О-конструкция на кодах Рида — Маллера Рассмотрим два семейства двоичных кодов Рида — Маллера:
= {С1(0)=КМ(ш1, Ш1), С1(1)=КМ(ш1, Ш1 - 1),..., С1(т1)=КМ(ш1,0), С1(Л)={0}}, ¿2 = {С2(0)=КМ(т2, т2), С2(1)=КМ(ш2, т2 - 1),..., С2(т2)=КМ(т2,0), С2(^)={0}},
где ^ = тг + 1, Ь = 1, 2. Будем считать, что Сг(г) = Сг(тг + 1) для г ^ тг + 1, Сг(г) = Сг(0) для г ^ 0, Ь =1, 2. Эти семейства для Ь € {1, 2} удовлетворяют условиям
Ct(0) D Ct(1) D Ct(2) D ■ ■ ■ D CJ);
Ct(0) С Ct(1) С Ct(2) с ■ ■ ■ С Ct(Jt).
Поэтому для ii ^ ¿2, ji ^ j2 получаем
Ci(ii) 0 C2(ji) D Ci (¿2) 0 C2(j2),
(5)
(6)
Ci(ii) 0 C2(ji) С Ci(¿2) 0 C2(j'2). Пусть D0 = {(i, j) : i = 0,..., Ji, j = 0,... , J2}. Для любого D С D0 определим код
C (D) = L
U Ci (i) 0 C2 (j)
Ai,j)eD
Ci(i) eSi, C2(j) GS2.
Далее будем рассматривать только такие множества О С О0, которые удовлетворяют следующему условию: если (г,^) € О и существует пара (к, в) € О0, такая, что к ^ г, 5 ^ то (к, в) € О. Набор таких множеств О обозначим через Г(О0). Если О € Г(О0), то О-кодом называется код С (О), двойственный коду С (О) вида (8). Отметим, что семейства ¿1, ¿2 удовлетворяют условиям для построения мажоритарного декодера [26, пример 3], поэтому рассматриваемые О-коды могут быть эффективно декодированы.
Рассмотрим определённые в [24] подмножества О*, О5, О* множества О0, которые строятся по О € Г(О0):
О* = О* и О* и О*, (9)
где
Dl = {(¿, j) : (i - 1, j - 1) e Do, (i - 1, j - 1) e D};
D*
D2
D*
D3
{(i, 0): i = 0, {(i, 0): i = 0, '{(0,j): j = 0, {(0,j): j = 0,
, min (v)), если min (j) = 0, M)eD (i,j)eD
, Ji} иначе;
. , min (v)), если min (i) = 0,
(o,v)eD (i,j)eD
, J2 } иначе;
Db = {(i, j) : (i, j) e D Л (i - 1, j) e D Л (i, j - 1) ф D}; D* = {(i, j) : (i, j) e D* Л (i, j + 1) e D* Л (i + 1, j) e D*}.
flü)
Эти подмножества и условия вложенности (5) и (6) для рассматриваемых семейств позволяют определить О-код как сумму тензорных произведений кодов, двойственных к кодам из , ¿2, а также использовать простую формулу для вычисления размерности О-кода. Согласно [24, леммы 2 и 3], справедлива следующая
Теорема 1. Пусть В € В(В0), С^г) € С2(]) € ^ Тогда
1) а1ш(С(В)) = Е Мг^]), где кг(г) = а1ш(С4(г)) - йш(а(г + 1)), Ь = 1, 2;
2) С(В) = £( У С:(г) 0 С2(и) ,С(В) = £ У ^(г) 0 С2(и) |.
К(г,з)еоь ) \(г,з)ео*ь
Замечание 1. Приведённое определение множества В* немного отличается от оригинального из [24], тем не менее теорема 1 остаётся справедливой. Определение В* уточняет поведение этого множества на границах В0, что, в свою очередь, влияет на определение В*. Это множество может отличаться от определённого в [24] в точках (г, ]), таких, что г = 0 или ] = 0. В этих точках С\(г) 0 С2(]) = {0} С Е"1"2, поэтому в теореме 1 такие точки не влияют на вид кода С (В). Так как £2 — семейства кодов Рида — Маллера, то
кг(1) = а1ш(И,М(т4,т4 - I)) - diш(RM(mí,mí - I - 1)) =
тг—1 тг-1—1 т*-I-1 т*-I-1 (11)
ЕСР - Ср = С™*-' + Ср — Ср = с™*-' = С1
р=0 р=0 р=0 р=0
где I = г для Ь =1 и I = ] для Ь = 2. Поэтому в соответствии с п. 1 теоремы 1
а1ш(С(В))= е Ст Ст. (12)
Лемма 2. Если В = {(г, ]) : г + и > р}, то С (В) = ЯМ(т1 + т2, т1 + т2 - р - 1), где р € {0,..., т1 + т2 - 1}.
Доказательство. Для заданного В, по формуле (9), В* = {(г,и) : г + ] ^ р + 2}. В соответствии с замечанием 1 можно предполагать г,] > 0, а по п. 2 теоремы 1 код С(В) представим в виде
С (В) = £( У ИМ(т1,т1 - г) 0 И,М(т2,т2 - ])
где В* = {(г,]) : г + ] = р + 2} по определению (10). Из свойства кода, двойственного к коду Рида — Маллера, и леммы 1 для любого (г,]) € В* выполняется
И,М(т1,т1 - г) 0 И,М(т2,т2 - ]) = КМ(тьг - 1) 0 И,М(т2,] - 1) С С ИМ(т1 + т2, г + ] - 2) = ИМ(т1 + т2, р).
Из этого следует, что
С (В) С ИМ(т1 + т2,р). (13)
Теперь покажем, что
&ш(С (В)) = а1ш(ЯМ(т1 + т2, р)). (14)
Из [24, формула (30)] с учётом (11) получаем
а1ш(С(В))= Е к1(г)к2(])= Е СтСт2 = ЕЕС^Ст-г.
(г,])/В г+Км Л=0 г=0
л
Из тождества Вандермонда следует формула Е Ст 1 Ст-г = Ст 1+т2. Следовательно,
г=0
diш(C(В)) = Е СД 1+т2. С другой стороны, ^ш(КМ(т1 + т2,р)) = Е СД1+т2. Отсю-л=0 1 2 л=0 1 2
да получаем (14). Из (13) и (14) следует, что С (В) = ИМ(т1 + тг,р) и С (В) = С (В).
1.3. О разложимости степеней О -конструкции на бинарных
к о д а х Р и д а — М а л л е р а
Далее нам понадобится следующая техническая лемма:
Лемма 3. Пусть О* = {(к1,/1), (к2,/2),..., (к«,/«)} для некоторого О € Г (О0), где 5 ^ ш1п{т1,т2} + 1, кг € {0,... ,т1 + 1}, /г € {0,... ,т2 + 1}. Последовательность (кг)|=1 — возрастающая тогда и только тогда, когда (/г)|=1 — убывающая последовательность.
Доказательство. Пусть (кг)|=1 —возрастающая последовательность. Предположим, что последовательность (/¿)|=1 при этом не является убывающей. Это означает, что для ] > г существуют такие точки (кг,/г), (к, ) € О*, что к > кг и ^ /г. По определению множества О* имеем (кг, /г), (к, ) € О*, при этом (кг + 1, /г) € О*, где кг + 1 ^ к. По определению множества О* если (к, ) € О*, то (к — 1, — 1) € О, а так как О € Г(О0), то (кр,/р) € О для любых кр ^ к — 1, /р ^ — 1. Это означает, что (кр,/р) € О* для любых кр ^ к, /р ^ по определению О*. Поэтому если (к) € О*, к' ^ к» + 1, ^ /г, то и (к + 1, ) € О*. Приходим к противоречию, значит, (/¿)|=1 — убывающая последовательность. Аналогично утверждение доказывается в обратную сторону. ■
Рассмотрим семейства кодов ¿1, ¿2, определённые в п. 1.2. Пусть
О* = № ,/1), (к2 ,/2),..., Л)}, (15)
где 5 ^ шш{т1,т2} + 1; кг € {0,... ,т1 + 1}; /г € {0,... ,т2 + 1}; (кг)|=1 — возрастающая последовательность. Тогда по лемме 3 (/¿)|=1 —убывающая. Поэтому в соответствии с п. 2 теоремы 1
C(D) = £ Ci(fci) 0 C2(Zi). (16)
i=i
Для s ^ 2 и i < s во введённых обозначениях получаем
Ci(ki) с Ci(fci+i), C2(1i+i) С C2(1i). (17)
Пусть г1 = т1 — кг — порядок кода Рида —Маллера С1(кг) = КМ(т1,г^.), гг2 = т2 — /г — порядок кода Рида —Маллера С2(/г) = КМ(т2,гг2), а
г^ = т1 — (т1 — кг) — 1 = к» — 1, Г2 = т,2 — (т2 — /г) — 1 = /г — 1 (18)
— порядки двойственных кодов Ci(ki) = RM(rk ,mi) и C2(/i) = RM(r2, m2) соответственно. Тогда с учётом (4), (16) и (18) получаем
C(D)2 = (t Щк) 0 Щ/if) =
s-2 -2 s - - - -
ECi(fci) 0C2(ii) +E(Ci(fcP)*Ci(fcj))0(C2(ip)*C2(j))= (19)
i=i p,j=l
P=j
= E RM(2rk, mi) 0 RM(2r2., m2) + E RM(rkp + rk , mi) 0 RM(ifp + rf., m2) =
i=i P,j = 1
p=j
t RM(2ki - 2, mi)0RM(2/i - 2, m2)+ " RM(kp + kj - 2, mi)0RM(/p + j - 2, m2) =
i=i p,j=1
p=j
E Ci(2ki - 1) 0 C2(21i - 1) + E Ci(kp + kj - 1) 0 C2(1p + j - 1). (2ü)
i=i p,j=l
p=j
Таким образом, код С(О) представляет собой сумму тензорных произведений двойственных кодов к кодам из семейств £1, £2. Отметим, что формула для нахождения размерности квадрата произвольного кода неизвестна. Но в случае кода С(О) эту формулу можно получить. Перепишем (20) в виде
С(О) = Е С1(Ш1 - 2кг + 2) 0 С2(т2 - 2/г + 2) +
г=1
+ Е С1(Ш1 - (кр + ку) + 2) 0 С2(т2 - (/р + /у) + 2).
рл=1
р=У
Пусть X = {(Ш1 - 2к + 2,т2 - 2/г + 2) : г € {1,... , в}} и {(т1 - (кр + ку) + 2,
т2 - (/р + /у) + 2) : р, € {1,... , = ]} —множество точек из О0, которое соответ--2
ствует коду С(О) . Построим множество О' С О0 следующим образом. Для каждой точки (г,^) € X добавим в О' все точки (к,/) € О0, такие, что к ^ г и / ^ ^. Отметим, что О' € ^ (О0). Множеству О' соответствует код С (О') вида (8). При этом коды, соответствующие точкам из О', либо совпадают с кодами, соответствующими точкам из X, либо, согласно (7), являются их подкодами. Следовательно,
С (О') = С (О) .
Так как О' € ^ (О0), то, согласно (12), размерность кода С (О) вычисляется по формуле
-2
а1ш(С(О)) = а1ш(С(О'))= е С^У. (21)
Рассмотрим случаи, при которых удаётся упростить представление (19).
Теорема 2. Пусть О^ вида (15), С (О) вида (16) и г\. , гг2 вида (18).
-2 -2
1) Если гк1 ^ Ш1/2 и г21 < Ш2/2, то С (О) = ГП1 0 С2(/1) .
-2 -2
2) Если т\в < Ш1/2 и гг2 ^ та/2, то С (О) = С^кв) 0 ГП2.
Доказательство.
1) Согласно (4), если г^ ^ т1/2 и гг2 < т2/2, то С1(к1) = ГП1 и С2(/1) = ГП2. Так как (кг)|=1 —возрастающая последовательность, из леммы 3 и (18) последовательность (г*.)|=1 возрастающая, а (г2)|=1 —убывающая. Поэтому из (19) следует
2
С (О) =52 ЕП1 0 С2(/г) + Е ЕП1 0 (С2(/р) * С2(/у)) =
г=1 р,^'=1
р=у
ЕП1 0 | Е С2(/г) + Е С2(/р) *С2(/у) | = ЕП1 0 С2(/1)
г=1 р,]=1
р=у
2 „ ., . 2
где последнее равенство вытекает из вложений С2(/р) * С2(/у) С С2(/1) и С2(/г) С
2
С С2(/1) , которые следуют из (4) и (17).
2) Согласно (4), если г^ < т1/2 и гг2 ^ т2/2, то С^) = Е"1 и С2(/*) = Е"2. Поэтому из (19) следует
-2 * ———2
С (О) = £ С1 (кг) 0 Е"2 + £ (С1 (кр) * С1(к)) 0 Е"2
г=1 р,^'=1
р='
= | £ С1(кг) + £ С1(кр) *С1(к7-) I 0 Е"2 = С^) 0 Е"2.
г=1 р,^'=1
р='
Теорема 2 доказана. ■
Согласно [23], двоичные коды Рида — Маллера И,М(т,г) для г < т являются
-2
неразложимыми. Так как С2(/1) —код Рида — Маллера, не совпадающий со всем пространством при выполнении условий первого утверждения теоремы 2, то, как следует -2
из (3), код С (О) раскладывается в прямую сумму неразложимых кодов. При выполне-
-2
нии условий второго утверждения теоремы 2 код С1(к*) также является кодом Рида — Маллера, не совпадающим со всем пространством. Согласно [32, формула (10)], для любых двух матриц А и В найдутся такие перестановочные матрицы Р и Q подходящих размеров, что А 0 В = Р(В 0 А^. Тогда найдётся такая перестановка а € РП1П2,
-2 -2 -2
что а(С1(к*) 0 Е"2) = Е"2 0 С1(к*) . Следовательно, в этом случае код С (О) является
перестановочно эквивалентным прямой сумме неразложимых кодов.
Теорема 3. Пусть С (О) —код вида (16) и выполняется хотя бы одно из условий:
1) существует г € {1,... , в}, что г^. ^ т1/2 и гг2 ^ т2/2;
2) существуют р€ {1,..., в}, 3 € {1,..., в}, р = 3, что г{р + ^ т1 и г^ + гг2 ^ т2.
-2
Тогда С (О) = Г?1"2.
Доказательство. Пусть выполняется первое условие, тогда из (4) следует, что ■2 „ ,, , 2
С1(кг) = Е"1 и С2(/г) = Е"2. Значит, одно из слагаемых в (19) имеет вид Е"1 0 Е"2. -2
В этом случае С (О) = Е"1"2. Пусть теперь выполняется второе условие, тогда из (4)
следует, что С1 (кр) * С1(к^-) = Е"1 и С2(/р) * С2(/^-) = Е"2. Таким образом, одно из
-2
слагаемых в (19) имеет вид Е"1 0 Е"2, поэтому С (О) = Е"1"2. ■
-2
Отметим, что при выполнении условий теоремы 3 код С (О) совпадает с Е"1"2 и поэтому не эквивалентен прямой сумме нетривиальных кодов Рида — Маллера.
Теорема 4. Пусть С (О) —код вида (16) и выполняются условия г^ < т1/2, г^ ^ т2/2 и гк ^ т1/2, гг2 < т2/2 для любых 3 ^ 2. Если для любых р € {1,... , в}, 3 € {1,... , в}, р = 3, выполняются неравенства г^ + г^ ^ т1 и + гг2 < т2, то
С (О) = (71 0 С2, С (О) = Е"1"2,
г2 ~ ———т—^2
где С7х = С1(к1) ; С2 = С2(/2) + £ С2(/р) *С2&).
р='
Доказательство. При выполнении условий теоремы, согласно (4), формула (19) примет вид
С (О) = С1(к1) 0 Е"2 + Е"1 0 С2 (/2) +Е(С1(кр) *С1 (ку)) 0 (С2 (/р) * С2 (/у))
р=у -2 "
С1(к1) 0 Е"2 + Е"1 0 С2(/2) + Е ЕП1 0 (С2(/р) * С2(/у))
р=у
г2 „„„ - „ ,, , 2
= С1(к1) 0 Е"2 + Е"1 0 (С2(/2) + Е С2(/р) *С2(/у)).
р,^=1
р=у
Согласно (2), во введённых в условии теоремы обозначениях получаем доказываемое утверждение. При этом
-з , „ ,, ч2 „ ,, . 2 "
С (О) =(С1(к1) 0 Е"2 + Е"1 0 (С2(/2) + Е С2(/р) * С2 (/у))) * С (О)
р,^=1
р=у
= (С1(к1)2 0 еп2 ) * ( е СЩ 0 Сщ) + -2 "
+ 0 (С2(/2) + Е С2(/р) * С2(/у))) * Е С1(кг) 0 С2(/г) ) .
р,]=1 \г=1
р=у
Рассмотрим первое слагаемое:
(С1(к1) 0 Е"2) ^^С1(кг) 0 С2(/г^ = (С1(к1) *С1 (кв)) 0 Е"2 = Е"1"2,
где последнее равенство вытекает из гкр + г\. ^ т1. Тогда С (О) = Е"1"2. ■ Следующая теорема доказывается аналогично.
Теорема 5. Пусть С (О) —код вида (16) и выполняются условия т\ < т1/2, гг2. ^ т2/2 для любых < в и г\я ^ т1/2, г^ < т2/2. Если для любых р € {1,... , в}, € {1,... , в}, р = , выполняются неравенства гк + т\. < т1 и гг2 + г2 ^ т2, то
С (О) = (71 0 С2, С (О) = Е"1"2,
где С1 = С1(кв-1) + Е С1(кр) *С1(ку), С2 = С2(/в) .
р,^=1
р=у
Отметим, что в теоремах 4 и 5 коды С71, С2, С1, С2 — коды Рида — Маллера. По-2
этому при выполнении условий теорем 4 и 5 код С (О) является неразложимым и не
эквивалентен прямой сумме нетривиальных кодов Рида — Маллера.
В случаях, не рассмотренных в теоремах 2-5, представление (19) пока не удаёт-
-2
ся упростить и сделать выводы о разложимости кода С (О) в прямую сумму кодов
-2
Рида — Маллера. Но можно вычислить размерность кода С (О) с помощью (21) и
оценить возможность разложения этого кода в прямую сумму одинаковых кодов Ри-
-2
да — Маллера. Если код С (О) раскладывается в прямую сумму 2т1 (2т2) одинаковых
кодов Рида — Маллера К длины 2т2 (2т1), то, согласно (3), его размерность равна
-2
2т1 &ш(К) (2т2 &ш(К)). Поэтому если размерность кода С (О) не делится на 2т1 (2т2), то этот код не раскладывается в прямую сумму 2т1 (2т2) одинаковых кодов Рида — Маллера и не является перестановочно эквивалентным такому коду.
2. Криптосистема типа Мак-Элиса на О-кодах и анализ её структурной стойкости 2.1. Криптосистема типа Мак-Элиса на О-кодах Кодовая криптосистема, предложенная Р. Мак-Элисом в [2], строится на основе порождающей матрицы С с линейного [п, к, -кода С С и случайно выбранных невырожденной (кхк)-матрицы Б и перестановочной (пхп)-матрицы Р [2]. Пара (С, Ь), где С = БСсР, Ь = — 1)/2_|, является публичным ключом, с помощью которого вектор т € шифруется по правилу с = тС + е, где вектор е обычно выбирается случайно и равновероятно, '^(е) ^ Ь. Для расшифрования применяется секретный ключ (Б, Р, С): т = Б-1Эесс(сР-1), где Оесс : ^ — эффективный декодер для кода С. Криптосистему типа Мак-Элиса на коде С обозначим МсЕ(С).
В настоящей работе обобщается криптосистема из [25] путём применения О-кон-струкции вместо тензорного произведения кодов, а именно: в качестве декодируемого кода используется код С (О) с быстрым мажоритарным декодером [26]. Отметим, что этот код может быть секретным для дополнительного усиления стойкости криптосистемы. Другими словами, множество О может быть частью секретного ключа. Перестановочная матрица Р имеет размер п1п2 х п1п2, а невырожденная матрица Б — размер &ш(С(О)) х &ш(С(О)). Матрица публичного ключа тогда имеет вид
С = Б (Ссщ)Р. (22)
Обозначим эту криптосистему МсЕ(С(О)).
Отметим, что в соответствии с леммой 2 код С (О) может быть кодом Рида — Маллера. Учитывая результаты работ [9, 13], ключи криптосистемы МсЕ(С(О)) при таких параметрах О-кода являются слабыми. Для выявления других возможных слабых ключей системы МсЕ(С(О)) в настоящей работе используется произведение Шура — Адамара, а именно: строится атака для системы МсЕ(С(О)), в которой используется разложимость степени Шура — Адамара О-кода, и на основе результатов п. 1.3 проводится анализ стойкости к разработанной атаке.
2.2. Атака на основе произведения Шура — Адамара Рассмотрим код С (О) вида (16). Пусть К = &ш(С (О)), к = ё1ш(С2(/1)). Так как код С (О) имеет вид (16), то для тг = {(г — 1)п2 + 1,... ,гп2} проекция кода С (О) на множество тг, получаемая путём отбрасывания в кодовых словах всех координат, за исключением координат из множества тг, совпадает с С2(/1), г = 1,...,п1. Поэтому найдутся такие (К х к)-матрицы М1, ..., Мга1 ранга к, что
Сщщ = (м1|... 1МЩ)а1а§(Сс^,..., Саду). (23)
Для кода C2(/i) и криптосистемы McE(C2(/i)) обозначим через Attack алгоритм, принимающий на вход публичный ключ G' криптосистемы Мак-Элиса на коде Рида— Маллера C2(/1) с порождающей матрицей GCa^) и возвращающий невырожденную (k х к)-матрицу Б' и перестановочную (n2 х п2)-матрицу P', для которых ^ч _ с' П_Р'
G — Б Gc2(il)P .
_______v
Теорема 6. Пусть Attack — алгоритм полиномиальной сложности. Если C(D) =
-V -V
= Fn 0 C2(/i) для некоторого v(e N) и код C2(/i) неразложимый, то существует алгоритм полиномиальной сложности, который по публичной матрице G вида (22) находит такую перестановку п, что n(L(G)) С Fn 0 C2(/1).
Доказательство. Публичная матрица G вида (22), с учётом представления (23), имеет вид
G = S(Gcd))P = (MiGCftyl... |M„1 G^P, (24)
где Mi = SMj, i = 1,... ,n1. Обозначим через Pnin2 симметрическую группу из n1n2 элементов. Для удобства перестановку из этой группы, соответствующую матрице P в (24), обозначим ф. Вместо P иногда будем писать Рф.
Из условия вытекает, что код с матрицей Gv перестановочно эквивалентен тен-
-V -V
зорному произведению Fn 0 C2(/1) . Так как по условию код C2(/1) неразложимый, то, применяя полиномиальный алгоритм Decomposition из [21] для разложения кода L(Gv) в прямую сумму подкодов, по матрице Gv можно получить такую перестановку а(е Pra1„2), что
Gv Рст - diag(G 1,..., G„1), (25)
где матрицы полного ранга порождают коды С2,г = С,(((ч) ~ С2(/1) . Тогда
L(GvРст) = а(ф^ 0 C2(l1) )) = a(0(C2(/1) 0 ... 0 C2^) )) = C^ 0 ... 0 C2.n1. (26)
П1
Из неразложимости кода С2(/1) вытекает, что группа перестановочных автоморфиз-
-V
мов кода 0 С2(/1) в этом случае состоит из перестановок вида
= 1 1, ..., П2, П2 + 1, ..., 2П2, ..., (П1 - 1)П2 + 1, ..., П1ПЛ
. . . , xn2, ХП2 + Ъ . . . , x2ra2, . . . , x(n1- 1)n2+1
с двумя ограничениями: 1) для каждого i е {0,... , n1 — 1} найдётся единственное j е е {0,... — 1}, такое, что {ж^+ъ ... ,X(i+1)„2} = {jn-2 + 1,..., (j + 1)^}; 2) каждый
-v
набор (xin2+1,... , X(i+1)n2) упорядочен так, что проекция кода 0C2(/1) ), получае-
мая путём отбрасывания в кодовых словах всех координат, за исключением координат
-v
из множества {xin2+1,..., x(i+1)n2}, совпадает с C2(/1) [29, лемма 11]. Отсюда вытекает, что перестановка £ = а о ф в (26) имеет вид (27). Так как алгоритм Decomposition по разложимому коду находит перестановку, переводящую этот код в прямую сумму неразложимых кодов с точностью до перестановки координат в кодах — слагаемых, то для £ выполняется только ограничение 1. Учитывая (24), получаем
G= S(GC2M)PVP^ = S(GC2^)P? = (M1Gc2^1 ... |МП1 GC2(17)P? =
= (M,-1(1)Gc^P711... |M,-1(n1)GcMP7„1) = (28)
= ( ... |((щ], Yj ePn2, j = 1,...,n1,
где в — некоторая перестановка из Pn1, соответствующая £, а Gi = M^-1(j)GCa(^)PYi. При этом запись e-1(i) обозначает порядковый номер j матрицы Mj, которая после действия Pg находится в блочном представлении (28) на месте i-го блока.
Очевидно, что гапк((¿) = к для всех г = 1,... , п. По ^ легко построить соответствующую невырожденную (к х п2)-матрицу ((¿, состоящую из к линейно независимых строк матрицы Обозначим через Р^ такую невырожденную (К х К)-матрицу, что
Fi G i
GGi
о
где O — нулевая ((K — k) x n2)-матрица. Матрица Gi может рассматриваться как публичная матрица криптосистемы McE(C2(/i)). Применяя к каждой матрице Gi алгоритм Attack, можно найти перестановочную матрицу Pj. G Pn2) и невырожденную матрицу Si, что Gi = S'Ge^)P^. Отсюда получаем
(5 PCT diag(P(-
i '
■P- ) = G iPl 1| ... IG ni P-1 ]
F- "g i" о P-1 P i Fn-1 ni G ni O P-1 P ni
F-1
S '
(
о
[Si^coi)... |Sni
C2(Zi)
G
F
-i
ni
S '
ni
ö7
(
C2(Zi)
rC2(ii)1 . . . |Sn1 (C2(1i)] где O' — нулевая ((K — k) x к)-матрица; S i
[S i|... |S ni ](1ni ® Gc^)
F
i
Si O'
Следовательно, искомая пере-
становка имеет вид п = i-1 о ... о 11 о а. Так как Decomposition, Attack — алгоритмы полиномиальной сложности, то описанный алгоритм нахождения п также имеет полиномиальную сложность. ■
Отметим, что для произвольных линейных кодов C1, C2 над полем Fq существует такая перестановка а, зависящая только от длин кодов C1, C2, что C1 ® C2 = a(C2 ®
-v -V
® C1). Поэтому теорема 6 остаётся справедливой, если вместо C(D) = Fni ® C2 (/1) рассмотреть произведение C(D) = C1(ks) ® F™2.
Рассмотрим криптосистему Мак-Элиса McE(C(D)). Теорема 6 показывает, что в ряде случаев по публичному ключу криптосистемы за полиномиальное время может быть найдена перестановка, позволяющая преобразовать этот ключ к более простому виду. Этот вид даёт возможность, например, использовать для дешифрования сообщений декодер кода Fni ® C2(/1), заключающийся в применении декодера кода Рида — Маллера C2(/1) к каждому из n1 блоков длины n2. Ясно, что с большой вероятностью такой декодер будет ошибаться, так как кодовое расстояние кода Fni ® C2(/1) меньше кодового расстояния D-кода, используемого в криптосистеме. Представляется, что уменьшить вероятность неправильного декодирования можно, например, применяя метод декодирования по информационным совокупностям и учитывая структуру кода. Для D-кода C(D), удовлетворяющего условиям теоремы 2, выполняются условия теоремы 6. Это позволяет сделать вывод, что коды с такими параметрами не подходят для использования в криптосистеме Мак-Элиса. С другой стороны, D-коды с параметрами, удовлетворяющими условиям одной из теорем 3-5, обеспечивают устойчивость к нахождению перестановки п. Это вытекает из того факта, что их квадрат совпадает со всем пространством или является неразложимым кодом. При этом, в случае неразложимости квадрата D-кода, его третья степень совпадает со всем пространством.
ЛИТЕРАТУРА
1. http://csrc .nist.gov/projects/post-quantum-cryptography — National Institute Standards and Technology (NIST). Post-Quantum Cryptography, 2021.
of
2. McEliece R. J. A public-key cryptosystem based on algebraic coding theory // DSN Progress Report. 1978. P. 42-44.
3. https://classic.mceliece.org/nist/mceliece-20201010.pdf. 2020.
4. Sidel'nikov V.M. Open coding based on Reed — Muller binary codes // Discr. Math. Appl. 1994. V.4. No. 3. P. 191-207.
5. Niederreiter H. Knapsack-type cryptosystems and algebraic coding theory // Problems Control Inform. Theory. 1986. V. 15. No. 2. P. 159-166.
6. Berger T. and Loidreau P. How to mask the structure of codes for a cryptographic use // Des. Codes Cryptogr. 2005. V.35. No. 1. P. 63-79.
7. Janwa H. and Moreno O. McEliece public cryptosystem using algebraic-geometric codes // Des. Codes Cryptogr. 1996. V. 8. P. 293-307.
8. Couvreur A., Marquez-Corbella I., and Pellikaan R. Cryptanalysis of McEliece cryptosystem based on algebraic geometry codes and their subcodes // IEEE Trans. Inform. Theory. 2017. V.8. No. 63. P. 5404-5418.
9. Chizhov I. V. and Borodin M. A. Effective attack on the McEliece cryptosystem based on Reed — Muller codes // Discr. Math. Appl. 2014. V.24. No. 5. P. 273-280.
10. Wieschebrink C. Cryptanalysis of the Niederreiter public key scheme based on GRS subcodes // LNCS. 2010. V.6061. P. 61-72.
11. Sidel'nikov V.M. and Shestakov S. O. On an encoding system constructed on the basis of generalized Reed — Solomon codes // Discr. Math. Appl. 1992. V. 4. No. 2. P. 439-444.
12. Деундяк В. М., Дружинина М. А., Косолапов Ю. В. Модификация криптоаналитическо-го алгоритма Сидельникова — Шестакова для обобщенных кодов Рида — Соломона и ее программная реализация // Изв. вузов. Северо-Кавказский регион. Сер.: Технические науки. 2006. №4. С. 15-19.
13. Minder L. and Shokrollahi A. Cryptanalysis of the Sidelnikov cryptosystem // LNCS. 2007. V. 4515. P. 347-360.
14. Бородин М. А., Чижов И. В. Классификация произведений Адамара подкодов коразмерности 1 кодов Рида — Маллера // Дискретная математика. 2020. Т. 32. №1. С. 115-134.
15. Wieschebrink C. Two NP-complete problems in coding theory with an application in code based cryptography // IEEE Intern. Symp. Inform. Theory. 2006. P. 1733-1737.
16. Couvreur A., GaboritP., Gauthier-Umana V., et al. Distinguisher-based attacks on public-key cryptosystems using Reed — Solomon codes // Des. Codes Cryptogr. 2014. V. 73. P. 641-666.
17. Otmani A. and Kalachi H. Square code attack on a modified Sidelnikov cryptosystem // LNCS. 2015. V. 9084. P. 173-183.
18. Couvreur A. and Lequesne M. On the security of subspace subcodes of Reed — Solomon codes for public key encryption // IEEE Trans. Inform. Theory. 2022. V. 68. No. 1. P. 632-648.
19. Morelos-Zaragoza R. H. The Art of Error Correcting Coding. John Wiley & Sons, Ltd. 2006. 263 p.
20. Деундяк В. М., Косолапов Ю. В. Криптосистема на индуцированных групповых кодах // Модел. и анализ информ. систем. 2016. Т. 23. №2. С. 137-152.
21. Деундяк В. М., Косолапов Ю. В. Анализ стойкости некоторых кодовых криптосистем, основанный на разложении кодов в прямую сумму // Вестн. ЮУрГУ. Сер. Матем. моделирование и программирование. 2019. Т. 12. №3. С. 89-101.
22. Egorova E., Kabatiansky G., KroukE., and Tavernier C. A new code-based public-key cryptosystem resistant to quantum computer attacks // J. Phys. Conf. Ser. 2019. V. 1163. P. 1-5.
23. Deundyak V. M., Kosolapov Yu. V., and Maystrenko I. A. On the decipherment of Sidel'nikov-type cryptosystems // LNCS. 2020. V. 12087. P. 20-40.
24. Kasami T. and Lin S. On the construction of a class of majority-logic decodable codes // IEEE Trans. Inform. Theory. 1971. V.IT-17. No. 5. P. 600-610.
25. Deundyak V.M., Kosolapov Yu. V., and Lelyuk E. A. Decoding the tensor product of MLD codes and applications for code cryptosystems // Automatic Control Comput. Sci. 2018. V. 52. No. 7. P. 647-657.
26. Deundyak V. M. and Lelyuk E. A. A graph-theoretical method for decoding some group MLD-codes //J. Appl. Industr. Math. 2020. V. 14. No. 2. P. 265-280.
27. Randriambololona H. On products and powers of linear codes under componentwise multiplication // Algorithmic Arithmetic Geometry Coding Theory. 2015. V. 637. P. 3-78.
28. Deundyak V. M. and Kosolapov Yu. V. On the strength of asymmetric code cryptosystems based on the merging of generating matrices of linear codes // XVI Intern. Symp. Prob. of Redundancy in Information and Control Systems. Russia, 2019. P. 143-148.
29. Деундяк В. М., Косолапов Ю. В. О некоторых свойствах произведения Шура — Адамара для линейных кодов и их приложениях // Прикладная дискретная математика. 2020. №50. С. 72-86.
30. Сидельников В. М. Теория кодирования. М.: Физматлит, 2008.
31. Grassl M. and Rotteler M. Quantum block and convolutional codes from self-orthogonal product codes // Proc. IEEE Int. Symp. Inf. Theory. 2005. P. 1018-1022.
32. Henderson H. V. and Searle S. R. The vec-permutation matrix, the vec operator and Kronecker products: A review // Linear and Multilinear Algebra. 1981. No. 9. P. 271-288.
REFERENCES
1. http://csrc.nist.gov/projects/post-quantum-cryptography — National Institute of Standards and Technology (NIST). Post-Quantum Cryptography, 2021.
2. McEliece R. J. A public-key cryptosystem based on algebraic coding theory. DSN Progress Report, 1978, pp. 42-44.
3. https://classic.mceliece.org/nist/mceliece-20201010.pdf, 2020.
4. Sidel'nikov V.M. Open coding based on Reed — Muller binary codes. Discr. Math. Appl., 1994, vol. 4, no. 3, pp. 191-207.
5. Niederreiter H. Knapsack-type cryptosystems and algebraic coding theory. Problems Control Inform. Theory, 1986, vol. 15, no. 2, pp. 159-166.
6. Berger T. and Loidreau P. How to mask the structure of codes for a cryptographic use. Des. Codes Cryptogr., 2005, vol.35, no. 1, pp.63-79.
7. Janwa H. and Moreno O. McEliece public cryptosystem using algebraic-geometric codes. Des. Codes Cryptogr., 1996, vol.8, pp.293-307.
8. Couvreur A., Marquez-Corbella I., and Pellikaan R. Cryptanalysis of McEliece cryptosystem based on algebraic geometry codes and their subcodes. IEEE Trans. Inform. Theory, 2017, vol. 8, no. 63, pp. 5404-5418.
9. Chizhov I. V. and Borodin M. A. Effective attack on the McEliece cryptosystem based on Reed — Muller codes. Discr. Math. Appl., 2014, vol.24, no. 5, pp.273-280.
10. Wieschebrink C. Cryptanalysis of the Niederreiter public key scheme based on GRS subcodes. LNCS, 2010, vol.6061, pp. 61-72.
11. Sidel'nikov V.M. and Shestakov S. O. On an encoding system constructed on the basis of generalized Reed — Solomon codes. Discr. Math. Appl., 1992, vol.4, no.2, pp.439-444.
12. Deundyak V. M., Druzhinina M. A., and Kosolapov Yu. V. Modifikatsiya kriptoanaliticheskogo algoritma Sidel'nikova — Shestakova dlya obobshchennykh kodov Rida — Solomona i ee programmnaya realizatsiya [Modification of the Sidelnikov — Shestakov cryptanalytic
algorithm for generalized Reed — Solomon codes and its software implementation]. Izv. Vuzov. Severo-Kavkazskiy Region. Ser. Tekhnicheskie Nauki, 2006, no. 4, pp. 15-19. (in Russian)
13. Minder L. and Shokrollahi A. Cryptanalysis of the Sidelnikov cryptosystem. LNCS, 2007, vol.4515, pp. 347-360.
14. Borodin M. A. and Chizhov I. V. Klassifikatsiya proizvedeniy Adamara podkodov korazmernosti 1 kodov Rida — Mallera [Classification of Hadamard products of codimension 1 subcodes of Reed — Muller codes]. Diskretnaya Matematika, 2020, vol. 32, no. 1, pp. 115-134. (in Russian)
15. Wieschebrink C. Two NP-complete problems in coding theory with an application in code based cryptography. IEEE Intern. Symp. Inform. Theory, 2006, pp. 1733-1737.
16. Couvreur A, GaboritP., Gauthier-Umana V., et al. Distinguisher-based attacks on public-key cryptosystems using Reed — Solomon codes. Des. Codes Cryptogr., 2014, vol. 73, pp. 641-666.
17. Otmani A. and Kalachi H. Square code attack on a modified Sidelnikov cryptosystem. LNCS, 2015, vol.9084, pp. 173-183.
18. Couvreur A. and Lequesne M. On the security of subspace subcodes of Reed — Solomon codes for public key encryption. IEEE Trans. Inform. Theory, 2022, vol.68, no. 1, pp. 632-648.
19. Morelos-Zaragoza R. H. The Art of Error Correcting Coding. John Wiley & Sons, Ltd, 2006. 263 p.
20. Deundyak V. M. and Kosolapov Yu. V. Kriptosistema na indutsirovannykh gruppovykh kodakh [Cryptosystem on induced group codes]. Model. i Analiz Inform. Sistem, 2016, vol. 23, no. 2, pp. 137-152. (in Russian)
21. Deundyak V.M. and Kosolapov Yu. V. Analiz stoykosti nekotorykh kodovykh kriptosistem, osnovannyy na razlozhenii kodov v pryamuyu summu [Analysis of the stability of some code cryptosystems based on the decomposition of codes into a direct sum]. Vestn. YuUrGU. Ser. Matem. Modelirovanie i Programmirovanie, 2019, vol.12, no. 3, pp. 89-101. (in Russian)
22. Egorova E., Kabatiansky G., KroukE., and Tavernier C. A new code-based public-key cryptosystem resistant to quantum computer attacks. J. Phys. Conf. Ser., 2019, vol.1163, pp. 1-5.
23. Deundyak V. M., Kosolapov Yu. V., and Maystrenko I. A. On the decipherment of Sidel'nikov-type cryptosystems. LNCS, 2020, vol.12087, pp. 20-40.
24. Kasami T. and Lin S. On the construction of a class of majority-logic decodable codes. IEEE Trans. Inform. Theory, 1971, vol.IT-17, no. 5, pp. 600-610.
25. Deundyak V.M., Kosolapov Yu. V., and Lelyuk E. A. Decoding the tensor product of MLD codes and applications for code cryptosystems. Automatic Control Comput. Sci., 2018, vol. 52, no. 7, pp. 647-657.
26. Deundyak V. M. and Lelyuk E. A. A graph-theoretical method for decoding some group MLD-codes. J. Appl. Industr. Math., 2020, vol.14, no. 2, pp. 265-280.
27. Randriambololona H. On products and powers of linear codes under componentwise multiplication. Algorithmic Arithmetic Geometry Coding Theory, 2015, vol.637, pp. 3-78.
28. Deundyak V. M. and Kosolapov Yu. V. On the strength of asymmetric code cryptosystems based on the merging of generating matrices of linear codes. XVI Intern. Symp. Prob. of Redundancy in Information and Control Systems. Russia, 2019, pp. 143-148.
29. Deundyak V. M. and Kosolapov Yu. V. O nekotorykh svoystvakh proizvedeniya Shura — Adamara dlya lineynykh kodov i ikh prilozheniyakh [On some properties of the Schur — Hadamard product for linear codes and their applications]. Prikladnaya Diskretnaya Matematika, 2020, no. 50, pp. 72-86.
30. Sidel'nikov V.M. Teoriya kodirovaniya [Coding Theory]. Moscow, Fizmatlit Publ., 2008.
31. GrasslM. and Rotteler M. Quantum block and convolutional codes from self-orthogonal product codes. Proc. IEEE Int. Symp. Inf. Theory, 2005, pp. 1018-1022.
32. Henderson H. V. and Searle S. R. The vec-permutation matrix, the vec operator and Kronecker products: A review. Linear and Multilinear Algebra, 1981, no. 9, pp. 271-288.