2020 Прикладная теория кодирования №50
ПРИКЛАДНАЯ ТЕОРИЯ КОДИРОВАНИЯ
удк 621.391.7
О НЕКОТОРЫХ СВОЙСТВАХ ПРОИЗВЕДЕНИЯ ШУРА — АДАМАРА ДЛЯ ЛИНЕЙНЫХ КОДОВ И ИХ ПРИЛОЖЕНИЯХ
|В. М. ДеундяК, Ю. В. Косолапов Южный федеральный университет, г. Ростов-на-Дону, Россия
Произведение Шура — Адамара активно используется при криптоанализе асимметричных кодовых криптосистем типа Мак-Элиса, основанных на линейных кодах. Именно, это произведение успешно применяется при криптоанализе кодовых систем на подкодах обобщённых кодов Рида — Соломона, на двоичных кодах Рида — Маллера и их подкодах коразмерности 1, на соединении некоторых известных кодов. В качестве способа усиления стойкости криптосистемы авторами ранее предложена система на тензорном произведении линейных кодов. С целью анализа стойкости этой системы в настоящей работе исследуются свойства произведения Шура — Адамара для тензорного произведения произвольных линейных кодов. В результате получены необходимые и достаточные условия, когда s-я степень тензорного произведения кодов перестановочно эквивалентна прямой сумме кодов. Этот результат позволяет, в частности, выбирать параметры линейных кодов так, чтобы произведение Шура — Адамара для тензорного произведения совпадало со всем пространством, в котором это произведение определено. Таким образом, могут быть определены параметры линейных кодов, при которых атака на основе произведения Шура — Адамара, применённого к публичному ключу, не проходит. Получены некоторые новые свойства произведения Шура — Адамара для линейных кодов, которые позволили, в частности, доказать неразложимость двоичных кодов Рида — Маллера. Как следствие, доказана теорема о структуре группы перестановочных автоморфизмов прямой суммы неразложимых кодов.
Ключевые слова: тензорное произведение, разложимость кодов, криптосистемы типа Мак-Элиса.
DOI 10.17223/20710410/50/5
ON SOME PROPERTIES OF THE SCHUR — HADAMARD PRODUCT FOR LINEAR CODES AND THEIR APPLICATIONS
|V. M. Deundyak[ yu. y. Kosolapov Southern Federal University, Rostov-on-Don, Russia E-mail: vl.deundyak@gmail.com, itaim@mail.ru
The Shur — Hadamard product is actively used in the cryptanalysis of asymmetric code cryptosystems like McEliece based on linear codes. Namely, this product is successfully used in cryptanalysis of code systems on subcodes of generalized Reed — Solomon codes, on binary Reed — Muller codes and their subcodes of codimension 1, on the combination of some well known codes. As a way to enhance the security of
a cryptosystem, the authors have previously proposed a system based on the tensor product of linear codes. In order to analyze the security of this system, in this paper we study the properties of the Schur — Hadamard product for the tensor product of arbitrary linear codes. As a result, necessary and sufficient conditions are obtained when the sth power of the tensor product of codes is permutationally equivalent to the direct sum of codes. This result allows, in particular, to choose the parameters of linear codes so that the Schur — Hadamard product for the tensor product coincides with the entire space in which this product is defined. Thus, the parameters of linear codes can be determined, at which the attack based on the Shur — Hadamard product applied to the public key fails. Also, some new results on the Schur — Hadamard product for linear codes were obtained, which made it possible, in particular, to prove the indecomposability of binary Reed — Muller codes. A theorem on the structure of the group of permutation automorphisms of a direct sum of indecomposable codes is proved.
Keywords: tensor product codes, decomposability of codes, McEliece type systems.
Введение
Асимметричные кодовые криптосистемы типа Мак-Элиса [1] характеризуются более высокой скоростью операций шифрования и расшифрования по сравнению с соответствующими операциями используемых в настоящее время асимметричных криптосистем. Это связано с тем, что в операциях шифрования и расшифрования кодовых систем используются, как правило, только матричная арифметика и алгоритмы решения систем линейных уравнений над полями небольшой мощности. В системах RSA или Эль-Гамаля выполняются операции с большими числами, что в вычислительном отношении более затратно. Кодовые криптосистемы устойчивы также к атакам с использованием квантовых компьютеров [2], поэтому они рассматриваются как альтернатива современным асимметричным криптосистемам [3].
Многие успешные атаки на кодовые криптосистемы основаны на применении произведения Шура — Адамара к публичному ключу [4-11]. В [12] предложена кодовая криптосистема типа Мак-Элиса, основанная на тензорном произведении кодов C1 ® C2. Настоящая работа посвящена исследованию свойств произведения Шура — Адамара для тензорного произведения линейных кодов. Работа имеет следующую структуру. В п. 1 исследуются свойства произведения Шура — Адамара для тензорного произведения кодов, в частности получены необходимые и достаточные условия того, что s-я степень тензорного произведения кодов перестановочно эквивалентна прямой сумме кодов. В п. 2 на основе некоторых результатов из п. 1 доказана неразложимость бинарных кодов Рида — Маллера, а также вычислена группа перестановочных автоморфизмов прямой суммы неразложимых кодов.
1. Свойства произведения Шура — Адамара для тензорного произведения кодов
Пусть Fq — поле Галуа мощности q. Под линейным [n, k, d]q-кодом будем понимать подпространство размерности k пространства F^ над конечным полем Fq, имеющее кодовое расстояние d. Такой код иногда будем называть [n, k]q-кодом. Тензорное произведение A ® B для (ki х п^-матрицы A и (k2 х п2)-матрицы B определяется равенством
( ацВ
А 0 В
а1 ,
В
. акг, иг В/
, 6п) из ЕП рассмотрим покоординатное
\акь 1В
Для векторов а = (а1,..., аи) и Ь = (61, умножение а * Ь = (а161,..., ап6п), также называемое произведением Шура или произведением Адамара [13]. Произведением Шура — Адамара (к а х п)-матрицы А = (а^)^ и (кв х п) -матрицы В — (Ьг)к=В1 называется (кАкв х п)-матрица вида
( а1 * Ь1 \
А * В
а1 * Ькв а2 * Ь1
\акА * ЬквУ
Произведение А * А будем обозначать А2. Для натурального п симметрическую группу перестановок множества п = {1,... , п} обозначим Би. Под действием перестановки о Е Би на вектор а = (а1,... , аи) будем понимать перестановку координат этого вектора в соответствии с о:
о(а) = (аст(1), . . . , аа(и))',
о (и) = {о (и) : и Е и}, где и — множество векторов длины п. Композицию перестановок о, 8 Е 5и обозначим о о 8, причём (о о 8)(г) = о(8(г)). Пусть г(А) —ранг матрицы А. Единичную (п х п)-матрицу обозначим /и.
Лемма 1. Произведение Шура — Адамара обладает следующими свойствами:
1) Уа, Ь Е Щ (а * Ь = Ь * а);
2) Уа, Ь Е ¥'и У о ЕБи Уа, 6 Е Е (о(аа *6Ь) = а6(о(а) *о(Ь)));
3) Уа, Ь, с Е ¥пя ((а + Ь) * с = (а* с) + (Ь * с));
4) для любых матриц А и В размера (ка х п) и (кв х п) соответственно
г(А * В) ^ кАкв;
5) Уа, Ь Е ЕпУс, в Е ((а 0 с) * (Ь 0 а) = (а* Ь) 0 (с * а));
6) для любых матриц А и В размера (кА х п) и (кв х п) соответственно и любой (п х п)-матрицы перестановки д выполняется равенство
(Ад) * (Вд) = (А*В
Доказательство. Свойства 1-4 вытекают из определения произведения Шура — Адамара для векторов и матриц.
Докажем свойство 5. Пусть а = (а1,... , ап), Ь = (61,..., 6п). По определению тензорного произведения и произведения Шура — Адамара получаем
(а 0 с) * (Ь 0 в) = (а1с,..., апс) * (61в,..., 6па) =
= (а161с * в,..., ап6пс * в) = (а * Ь) 0 (с * а),
где запись (х, у) означает приписывание вектора у справа к вектору х.
Докажем свойство 6. Из определения (1) произведения Шура — Адамара для матриц получаем, что
(Ад) * (вд) = ((а*д) * (Ъ ,
где аг и Ъj — строки матриц А и В соответственно. Из свойства 2 вытекает, что (агф) * * (Ъjд) = (аг * Ъj)д. Отсюда получаем требуемое равенство. ■
Множество всех порождающих матриц кода С обозначим С (С). Отметим, что С = С(Со) для всех Со из С (С), где С(А) —линейная оболочка, натянутая на строки матрицы А. Для [п, -кода С и [п, к2]д-кода С2 их произведение Шура — Адамара определяется как линейная оболочка, натянутая на множество векторов {а * Ъ : а € Сь Ъ е С2}:
С1 *С2 = С ({а * Ъ : а е С1, Ъ е С2}). (2)
Квадратом кода С называется пространство (код) С* С = С2. Аналогично может быть определена любая степень ^ кода С: С5 = С5-1 * С. Для т С п через ) обозначим |т|-мерное координатное подпространство пространства Щ^, полагая, что все векторы из ) на координатах из п \ т имеют нулевые значения.
Носителем вектора х = (х1,...,хп) е назовём множество вирр(х) = {г е п : хг = 0}, а носителем А С — множество вирр(А) = и вирр(а). Говорят, что [п, к, -
а еА
код С не имеет фиктивных или нулевых координат, если вирр(С) = п. Заметим, что [п, -код С для п > 1 не имеет фиктивных координат тогда и только тогда, когда кодовое расстояние кода С±, дуального к коду С, не менее двух.
Лемма 2. Пусть С — [п, -код, т С п — множество ненулевых координат кода. Тогда С * ^ = Щ * С = ^(т).
Доказательство. Пусть Мо и МЕ п матрицы, строками которых являюются все кодовые слова кода С и пространства соответственно. По условию в матрице Мо столбцы с номерами из т ненулевые, а остальные нулевые, следовательно, в матрице Мо * М^п все столбцы с номерами из п \ т нулевые, а с номерами из т — ненулевые, причём в Мо*МЕп найдутся |т| строк, образующих базис пространства ). Последнее следует из того, что для каждого г е т в матрице Мо найдётся строка с ненулевой г-й координатой и найдётся строка в матрице М^п веса один также с ненулевой г-й координатой. Поэтому из (2) имеем С * ^ = ^ * С = С(Мо * МЕп) = Щ^т). ■
Из леммы 2 получаем, что если [п, -код С не имеет фиктивных координат, то
С*= *С = (3)
В соответствии с [14] введём определение внешней (прямой) и внутренней суммы двух кодов. Для этого понадобятся понятия проекции вектора и проекции пространства. Под проекцией вектора х = (х1,... ,хп) на множество т С п будем понимать п-мерный вектор у = Пт(х), такой, что уг = хг для г е т, и уг = 0, если г е т. Проекцию кода С на множество номеров т определим по правилу
Пт (С) = {Пт (с) : с е С}. (4)
Отметим, что вирр(Пт(х)) С т. Прямой суммой кодов С С и В С назовём код
С 0 В = {(с, а): с е С, а е В} С Г+т. (5)
Порождающая матрица кода С ф Д может быть представлена в блочно-диаго-
нальном виде:
' 0
Сс= diag(Gc, ) = ^ )
Пусть т = {1,... , п}, V = {п + 1,... , п + т}. Коду С сопоставим подкод С = Пт(Сф Д) кода С ф Д, а коду Д — подкод Д = П(С ф Д). Тогда
С ф Д = С + Д, 8ирр((7) П 8ирр(Д) = 0, ^(С) = dim(C), ^ш(Д) = ^ш(Д), (6)
где
(7 + Д = {а + Ь : а е С, Ь € Д} С Щ^™ (7)
— внутренняя сумма кодов. Таким образом, прямая сумма Сф Д кодов С и Д предста-вима в виде внутренней суммы подкодов С С С ф Д и Д С С ф Д с непересекающимися носителями. При этом заметим, что могут найтись два подкода С' С СфД и Д' С СфД с пересекающимися носителями, такие, что С' + Д' = С ф Д.
По аналогии с (5) и (7) определяется внешняя и внутренняя сумма и кодов, и е N.
Лемма 3 [13]. Для кодов С1, С2 и С3 из выполняются следующие равенства:
(С! + С2) * Сз = С1 * Сз + С2 * Сз. (8)
Из леммы 3 и представления (6) вытекает, что
(С ф Д) * Е = (С + Д) * Е = С * Е + Д * Е = С * п8ирр((5) (Е) + Д * П8ирр(д} (Е)
для любых кодов С С Щ^, Д С и Е С Щ^™. Тогда
(С ф Д) * Е = (С * Е1) ф (Д * Е2), (9)
где код Е1 С получается из кода Е отбрасыванием последних т координат в кодовых словах из Е, а код Е2 С Е™ — отбрасыванием первых п координат. Из (9),
(С ф Д)2 = С2 ф Д2.
В общем случае
(С1 ф ... ф Сга)5 = С1 ф ... ф СП.
Лемма 4. Для любых = ^1)к= 1 е б(С1) и = ^2)гк=2 е б(С2) выполняется равенство
С1 * С2 = £ (Сс1 * ).
Доказательство. По определению кода С1 *С2 произвольный вектор с е С1 *С2 представляет собой некоторую линейную комбинацию вида
1с
с = Е 7г(аг * Ьг), = 0, а* е С1, Ь е С2,
г=1
к а кв
где 1С для каждого с в общем случае своё. Так как аг = ^ о^1, Ьг = ^ вгg2, то из
1=1 г=1
п. 3 леммы 1 получаем
1с 1с / кА кв \ 1с / кА кв \
с = Е 7г(аг * Ьг) = Е 7г Е ^gLl * Е вg2 = Е 7г Е Е ^&^ * g2) . г=1 г=1 \г=1 г=1 / г=1 \г=1 г=1 /
кА кв
Вектор афг ^ * g1) представляет собой линейную комбинацию строк матрицы
1=1Г=1
Со1 * Со2, поэтому вектор с также является линейной комбинацией строк этой матрицы. Следовательно, С1 * С2 С С (С01 * С02). Обратное вложение очевидно. ■
Пусть Сг — [пг,кг,^г]д-код, 001 —его порождающая матрица, г = 1, 2. Тензорным произведением кодов С1 и С2 называется [п1п2, к1к2, -код, обозначаемый С1 0 С2, порождающая матрица которого имеет вид С01®02 = С01 0 С02. Дуальным к тензорному произведению кодов является код
(С10 с?)х = 0 С2х) + (С^ 0 ). (10)
По определению тензорного произведения получаем
С10 С2 с ш; 0 С2 = С2 0... 0 С2. (11)
4 4-^-'
П1
Лемма 5 [15]. Пусть С — [п, к]д-код, тогда
&ш(С2) ^ шт {п,к(к + 1)/2} . (12)
В [15] для случайного линейного кода С получены теоретические оценки вероятности выполнения равенства в (12).
Исследуем свойства произведения Шура — Адамара для кода С1 0 С2.
Лемма 6. Пусть Сг — [пг, кг, -код с порождающей матрицей , г = 1, 2. Тогда
а1ш((С10 С2)2) ^ ш1п {п2а1ш(с2), п &ш(с22), №(№ + 1)/2}. (13)
Доказательство. Неравенство diш((C1 0 С2)2) ^ п1 diш(C|) ^ п1п2 вытекает из (11) и того, что diш(C|) ^ п2. В [16] показано, что для любых матриц А и В всегда найдутся две такие матрицы перестановок р и Рг подходящих размеров, что
А 0 В = Р(В 0 А)РГ. (14)
Поэтому код С1 0 С2 перестановочно эквивалентен некоторому подкоду кода Ш;2 0 С1 и dim((Cl 0 С2)2) ^ п2 diш(C12). Тогда (13) следует из (12). ■
Важной для дальнейшего является
Теорема 1. Пусть С1, В1 С , С2, В2 С Ш;2. Тогда
(С1 0 С2) * (Д 0 В?) = (С1 * В1) 0 (С2 * В2).
Доказательство. Как следует из леммы 4, для доказательства теоремы 1 достаточно показать, что для любых порождающих матриц Со1, Со2, , Сд2 выполняется равенство
С ((Со1 0 Со2) * (СД1 0 )) = С ((Со1 * ) 0 (Со2 * )).
Пусть с1, с?, а1, ат — произвольные строки матриц С01, С02, и Сд2 соответственно. Тогда из п. 5 леммы 1 получаем
(с10 с?) * (а10 ат) = (с1 * а1) 0 (с? * а^). (15)
Заметим, что в левой части равенства (15) стоит представление некоторой строки из (СС1 0 ) * 0 ), а в правой — некоторой строки из (СС1 * ) 0 (СС2 * Сд2). Таким образом, каждая строка матрицы 0 Сс2) * (Сд1 0 Сд2) является строкой матрицы (СС1 * ) 0 (Сс2 * ), и наоборот. ■
Из (3) и теоремы 1 вытекает, что если С = Fnl и код ^ не имеет фиктивных координат (или = Fnl и код С1 не имеет фиктивных координат), то
(С1 ® А) * (С2 0 А) = F:;l 0 с2 * б2.
Теорема 2. Пусть т С п — множество фиктивных координат -кода С!,
г = 1, 2. Тогда
1) (С1 0 С2)2 = С2 0 С22;
2) ((С1 0 С2)х)2 = Fnl 0 (С2!)2 + Fnl (п1 \ Т1) 0 Fn2 (п2 \ Т2) + (С!)2 0 Fn2. Доказательство. Утверждение 1 вытекает непосредственно из теоремы 1 при = С1 и В2 = С2. Докажем утверждение 2. Из (10) и (8) получаем
((С10 С2)х)2 = 0 с2! + С! 0 F:;2 )2 =
= 0 С2!)2 + 0 С2!) * (С! 0 F:;2) + (С! 0 F:;2 )2.
Из теоремы 1 следует, что (Ш^1 0 С2!)2 = Fnl 0 (С2!)2, (С! 0 Fn2)2 = (С!)2 0 Fn2, а по лемме 2 имеем
(Ш^1 * С^) 0 ^ * Fn2 ) = Fnl (П1 \ Т1) 0 Fn2 (П2 \ Т2). Собрав вместе представления слагаемых, получаем утверждение 2 теоремы. ■ Из п. 1 теоремы 2 для натурального в ^ 1 получаем равенство
(С1 0 С2)? = С? 0 С2?. (16)
Коды С и В из Fn будем называть перестановочно эквивалентными и писать С — В, если найдётся такая перестановка а Е что а (С) = В. Подгруппа таких перестановок а, что а (С) = С, называется группой перестановочных автоморфизмов и обозначается здесь как РАи^С).
Следствие 1. Пусть т С щ — множество фиктивных координат [п, -кода С!, г = 1, 2, 3. Имеют место следующие свойства:
1) если Т1 = 0, то ((С1 0 С2)х)2 - (Ш^ (Т2) 0 ((С!)2)!)!;
2) если Т2 = 0, то ((С1 0 С2)!)2 = (Ш^1(п) 0 ((С2!)2)!)!;
3) если Т2 = 0, П1 = пз и п = тз, то ((С1 0 С2)!)2 = ((Сз 0 С2)!)2;
4) если т1 = т2 = 0, то ((С1 0 С2)!)2 = Fnlra2.
Доказательство.
Докажем свойство 1. Из утверждения 2 теоремы 2 и условия т1 = 0 вытекает цепочка равенств
((С10 С2)х)2 = F:;l 0 (С2!)2 + F:;l 0 F:;2 (п. \ Т2) + (С!)2 0 F:;2 = = F:;l 0 ((С2!)2 + F:;2 (п. \ т2)) + (С^)2 0 F:;2 = F:;l 0 F:;2 (п. \ т2) + (С1±)2 0 F:;2.
Отсюда, последовательно применяя (10) и (14), получаем
((С10 С2)1 )2 = (((С!)2)10 (г? (п, \ Т2))1)1 - ^ (Т2) 0 ((С!)2)1)1.
Свойство 2 доказывается по аналогии со свойством 1 с естественными упрощениями; свойство 3 вытекает из свойства 2.
Докажем свойство 4. Из п. 2 теоремы 2 и условия 4 получаем
((С 0 с^)2 = 0 (с2 )2 + 0 + (с^)2 0 = 0 = е^1™2 .
Следствие 1 доказано. ■
Рассмотрим некоторые примеры.
Пример 1. Пусть СИЯ^,™ — обобщённый [п, -код Рида — Соломона [17], 5 € N. Известно [4], что СИЯ)*™ — СК8т1П{2к-1,п},п. Отсюда следует
= СИЯтт(«(к:-1)+1,га},
С17)
Из (16) следует, что 5-я степень тензорного произведения обобщённых кодов Рида — Соломона есть тензорное произведение обобщённых кодов Рида — Соломона. Пусть С — СИЯ^,™, г — 1, 2. Если существует такое 5, что
п - 1 ^ 5 < П2 - 1
к1 - 1 ^2 - 1
Г18)
то из (16), (17) и СИ88(к1-1)+1,п1 — СИЯ
-"пьШ.
Е™1 получаем
(СИЯ^0 СИЯ^ Г — (СИЯ^ г 0 (СИЯ^ Г — С 0 СИ85(й2-1)+1,П2 — С 0 .
Другими словами, 5-я степень тензорного произведения обобщённых кодов Рида — Соломона, при выполнении неравенств (18), равна прямой сумме нетривиальных обобщённых кодов Рида — Соломона. Так как обобщённый код Рида — Соломона не имеет фиктивных координат, из п. 4 следствия 1 получаем, что ((СИ8к1,га1 0 СИ8к2,™2)±)5 — — Е^1™2 для всех 5 ^ 2. '
Пример 2. Пусть ИМ(г, т) —бинарный код Рида — Маллера порядка г и длины 2т. Из результатов работы [5] следует, что (ИМ(г, т))5 — ИМ(тт{т, 5г}, т). Тогда из (16) получаем, что 5-я степень тензорного произведения бинарных кодов Рида — Маллера есть тензорное произведение бинарных кодов Рида — Маллера, но большего порядка. Пусть С — ИМ(гг,т^), г — 1, 2. Если существует такое 5 € N что
2^1 Г1
^ 5 <
2^2 Г2
то из равенства ИМ(т1,т1) — Е^1 вытекает, что 5-я степень тензорного произведения бинарных кодов Рида — Маллера есть прямая сумма нетривиальных кодов Рида — Маллера большего порядка:
?2™2
(ИМ(г1,т1) 0 ИМ(г2,т2))5 — (ИМ(гьт1))в 0 (ИМ(г2,т2))5
— Е2т1 0 ИМ(вг2, т2) — Е2т1 0 Е
Учитывая, что бинарный код Рида — Маллера не имеет фиктивных координат, из п. 4 следствия 1 получаем, что ((ИМ(г1,т1) 0 ИМ(г2, т2))х)5 — Е
?2т1+т2
для всех 5 ^ 2.
2. Группа перестановочных автоморфизмов прямой суммы неразложимых кодов 2.1. Неразложимые коды
Говорят, что код С разложимый, если он перестановочно эквивалентен прямой сумме двух или более нетривиальных кодов [18, 19]. В противном случае код называется неразложимым. Под полным разложением кода понимается представление перестановочно эквивалентного ему кода в виде прямой суммы неразложимых кодов. Разложимый код в этом случае перестановочно эквивалентен коду с порождающей матрицей, представимой в блочно-диагональном виде с двумя или более блоками на главной диагонали. В [6] построен эффективный алгоритм, позволяющий определить, является ли произвольный линейный код С разложимым, и найти для перестановочно эквивалентного ему кода порождающую матрицу в блочно-диагональном виде. Из (9) вытекает
Лемма 7. Пусть С — п-мерный код. Тогда
1) если С — разложимый, то для любого натурального в ^ 2 код С? разложимый;
2) если С — разложимый, то для любого В С Fn код С* В разложимый;
3) если С? — неразложимый, то и Сг — неразложимый код для всех г = 1,... , в — 1.
С использованием леммы 7 доказывается
Теорема 3 [11, лемма 5]. Бинарный код Рида — Маллера И,М(г, т) для г = 0,... , т — 1 является неразложимым.
2.2. Г р у п п а п е р е с т а н о в о ч н ы х а в т о м о р ф и з м о в
Д. Слепианом в работе [18] доказана следующая
Теорема 4 [18, теорема 2]. Для каждого [п, к]д-кода X существует т неразложимых кодов С1, ..., Ст, таких, что код X перестановочно эквивалентен прямой сумме С = С1 ф ... ф Ст. Это разложение единственно в следующем смысле: если X — С' = С1 ф ... ф Ст, где С1, ..., Ст — неразложимые коды, то т = т' и С1 — С^, ... , Ст — Ст, где г1,... , гт — натуральные числа от 1 до т в некотором порядке.
В [14] построен алгоритм разложения произвольного линейного кода в прямую сумму неразложимых подкодов. Однако, кроме разложения произвольного кода в прямую сумму кодов, интерес представляет описание группы перестановочных автоморфизмов прямой суммы неразложимых кодов.
Пусть п Е N. Для а, Ь Е п, а < Ь, обозначим £га[а; Ь] подгруппу симметрической группы £га, такую, что всякая перестановка а из £га[а; Ь] переставляет элементы из множества {а,... , Ь} С п, а остальные элементы из п оставляет на месте: а(г) Е {а,... , Ь}, если г Е {а,..., Ь}, и а(г) = г, если г Е {а,..., Ь}.
Пусть г Е и, Сг — [пг, кг]д-код с группой перестановочных автоморфизмов РАШ;(Сг),
и и г
к = ^ кг, п = ^ пг, пг = ^ п, п0 = 0. Рассмотрим [п, к]д-код С = С1 ф ... ф Си.
г=1 г=1 .7=1
Отметим, что для произвольного вектора
X (х1, . . . , ХП1, ХП1 + 1 , . . . , ХП2 , . . . , хпи-1 + 1, . . . , хпи ) Е С
выполняется условие сг = (жП4_1+1,..., ) Е Сг (см. (5)). Пусть
С = П{п4_1 + 1,...,п4}(С1 ф ... ф Си) (определение проекции П{п4_1+1,...,пг}(С1 ф ... ф Си) см. в (4)),
РАпи)К-1+1;п;](Сг) = РАи^С*) П 5„[пг-1 + 1; Пг].
Отсюда вытекает, что группы РАШ;(Сг) и РАи1п,[щ_1+1;щ](Сг) естественно изоморфны; соответствующий изоморфизм обозначим так:
£п,С4,п4_1+1,п : РАи1(С'г) ^ РАи1га,[П4_1+1;П4]((7^).
Отметим, что РАШ;(Сг) — в случае < — , поэтому перестановки из группы 1+1 п ) переставляют произвольным образом координаты с номерами из множества {п^-1 +1,... , и^}, а другие оставляют неподвижными. Нетрудно проверить, что произведение подгрупп
РАи1™,[по+1;п1]((С'1) ■ ... ■ РАи1;,[пи_1 + 1;пи]((с«)
не зависит от порядка следования и является подгруппой группы 5п.
Лемма 8. Пусть < — неразложимый -код без фиктивных координат, г —
— 1, 2, С1 / С2. Тогда
РАи!(С1 ф С2) — РАи1щ +п2,[по+1;п 1 ] (С1)'РАи1п1 +П2,[п1+1;п2] (С2).
Доказательство. Очевидно вложение
РАи1щ +п2,[по+1;п 1 ] (С1)'РАи1щ +п2,[п1+1;п2](<2) С РАи^С Ф С2).
Докажем равенство. Предположим, что существует такая перестановка п в группе РАи^С! Ф С2), что
П € РАи1п1+п2,[п0+1;п1] (<С,1)-РАи1п1+п2,[п1+1;п2] (С2). (19)
Пусть — нулевой вектор длины п^, г — 1, 2. Без потери общности, предположим, что п1 ^ п2. Из определения РАШ;« ф С2) вытекает, что
П{1,...,щ}(п(С1 Ф С2)) — П{1,...,щ}(< Ф С2) — < Ф {О2}. (20)
Рассмотрим множество номеров координат т С п1 вида
г — € : П-1(^') € П1}
и его дополнение г — п1 \ г до множества п1. По предположению, выполняется (19), поэтому из условия п1 ^ п2 вытекает
0 < |г|, |т| < п1.
Так как п € РАи1(С1 Ф С2), из определения г и т получаем
п(С1 Ф {О2}) С С1 Ф С2, п({01} Ф С2) С < Ф С2, Пт(п(С1 Ф {О2})) С < Ф {О2}, Пт(п({01} Ф С2)) С < Ф {О2}.
Тогда
Пт(С1 Ф С2) — Пт(п(С1 Ф С2)) — Пт(п(С1 Ф {О2})) С < Ф {О2}; (21)
Пт(С1 Ф С2) — Пт(п(С1 Ф С2)) — Пт(п({О1} Ф С2)) С С1 Ф {О2}. (22)
Из (21) и (22) следует
Пт(п(С1 ф С2)) + Пт(п(С1 ф С2)) = Пт(С1 ф С2) + Пт(С1 ф С2) С С1 ф {О2}. (23)
Так как для любого линейного кода В длины п и любого множества т С п выполняется неравенство
а1ш(Пт(В)) + &т(Пт(В)) ^ &ш(В), то ^т(Пт(С1 ф С2)) + ^т(Пт(С1 ф С2)) ^ ё1ш(С1), откуда с учётом (23) имеем
Пт(С1 ф С2) + Пт(С1 ф С2) = С1 ф {О2}. (24)
Так как коды С1 и С2 не содержат фиктивных координат, то ^т(Пт (С1 ф С2)) > 0 и diш(Пт(С1 ф С2)) > 0. Отсюда и из (20) получам, что dim(Пт(С1 ф С2)) < к1 и dim(Пт(С1 ф С2)) < к1. Тогда (с учётом (24)) код С1 изоморфен внешней прямой сумме двух нетривиальных кодов, так как носители кодов Пт(С1 ф С2) и Пт(С1 ф С2) не пересекаются. Однако это противоречит неразложимости кода С1. ■
Из леммы 8 вытекает
Лемма 9. Пусть и Е N Сг — неразложимый [пг, кг]д-код С1, г = 1,... , и, Сг — С^ для всех I = ]. Тогда
РАи^С ф ... ф Си) = РАпи;[по+1;п1](С1)- ... ■ РАи1„;[пи_1+1;п„](<5и),
и
где п = пг.
г=1
Рассмотрим группу (п х п)-матриц перестановок и естественный изоморфизм ап : — Рп. Для натуральных п и т в группе Рпт рассмотрим подгруппу
{В 0 /„ : В Е Рт},
где /га — единичная (пхп)-матрица. Пусть = а_т(Рп,т). Отметим, что группа £га>т изоморфна группе причём изоморфизм вп,т :
—^ т можно записать в виде
вп,т(т) = а-т(а«(т) 0 1п),7 Е 5т.
Лемма 10. Пусть Сг = аг(С) — [пг, кг]д-код, где С — неразложимый [п, к]д-код без фиктивных координат, аг Е 5И, г = 1, 2. Тогда
.4 7г = 6гаДп,п;_1+1,п ^¿^ I
((71 О О а1)0 а = . 9 ,_1 ) I
(72 О ^ О а2)0 : а = I (25)
: К ' г =1,2,7 Е^2. J
Доказательство. Сначала заметим, что множество, определённое в правой части равенства (25), является подгруппой группы £2га. Непосредственная проверка показывает, что любая перестановка из правой части (25) не меняет код С1 ф С2, а композиция двух перестановок из этого множества представима в таком же виде. Отсюда следует, что это множество является подгруппой и содержится в РАи1(С1 фС2). Для доказательства совпадения этих групп достаточно повторить рассуждения из доказательства леммы 8, положив п1 = п2 = п и заменив РАи^+^вд+^^С!) х х РАи1га1+га2)[п1+1;п2] (С2) на правую часть из равенства (25). ■
Лемма 10 может быть обобщена на случай суммы и одинаковых кодов.
Лемма 11. Пусть Сг — аг(С) — [пг, -код, где С — неразложимый [п, -код без фиктивных координат, аг € 5п, г € и, и € N. Тогда
{(а1 О О (71)о — ^ип^п^ + ^п (аг) , I
(л ... . ) : * — ^;п_1+1,пК1^ I (26)
(<7и ◦ ◦ <7„)о € РАи;ип,[п4_1 + 1;п4]((С), I
Д™,и(7) г € и, 7 € ]
Следствие 2. Пусть и € N С1 — ... — Си — ИМ(1, т), тогда
РАи^и 0 ИМ(1, т)) — ... — РАи^и 0 ИМ(т - 2, т)) —
— РАи;и2т,[1,2т]((С'1) ' ... ' РАи;«2т,[пи_1 + 1;пи]((См) ^2т,«.
Доказательство. Из (11) получаем, что для ] — 1,..., т - 2 Еи 0 ИМ(7, т) — ИМ^, т) Ф ... Ф ИМ^, т).
4-V-'
и
Как следует из теоремы 3, все бинарные коды Рида — Маллера неразложимые. Поэтому из леммы 11 (см. представление (26) группы перестановочных автоморфизмов перестановочно эквивалентных неразложимых кодов) вытекает, что
РАи^и 0 ИМ(1,т)) — РАи;и2т,[1,2т](С1) ■ ... ■ РАи^™,^+1;п„](Си) ^2т,и.
Известно, что РАи;(ИМ(1,т)) — ... — РАи;(ИМ(т - 2,т)) [20, с. 400, теорема 24]. Отсюда следует доказываемое утверждение. ■
Теорема 5. Пусть и € N I € и, гг € N, Дг —неразложимый [N1 , Кг]д-код без
г
фиктивных координат, при этом ^ Д. для всех г — ], Гг — ^ г., Го — 0, N1 —
.7 = 1
I и
— Е г.N., N — 0, п — ^ г.N., пг,г — + г ■ N1. Рассмотрим набор из ги линейных . =1 . =1 -[п^, -кодов Сг, г € Ги, где СП_1+1 — агд(Д), ..., Сгг — аг,П(Д) для I € и, € , т € гг. Тогда код С вида
С — Сг0+1 Ф ... Ф Сг1 Ф Сг1+1 Ф ... Ф Сг2 Ф ... Ф Сг_ 1+1 Ф ... Ф Сги (27)
4-V-' 4-V-' ^-V-'
Г1 Г2 Ги
имеет группу перестановочных автоморфизмов РАШ;(С) — Р1 ■ ... ■ Ри, где для I € и
(аг,1 О шц О (7г,1)о — ,пм_1+1,пм(аг,г),
г
г—
. , ^ — ,пм_1+1,пм (аг,71_1(г)),
,кг_1+1,кг (^)) г € г, 7 € £Гг.
Доказательство. Из (26) вытекает, что группа РАи;(ФГ=1Сг4_1+.) С изоморфна группе р С £п для г — 1,... , и. Поэтому Р1 ■... ■ Ри С РАШ;(С). Предположим, что существует перестановка а из РАШ;(С) \ {Р1 ■ ... ■ Ри}. Тогда такая перестановка в представлении (27) для г — ] меняет координаты между двумя слагаемыми-суммами
Сг4_1 + 1 Ф ... Ф Сг4 , Сг,'_1 + 1 Ф ... Ф Сг, .
4-V-' 4-V-'
П ^
Но в силу леммы 9 таких перестановок не существует. ■
Заключение
В работе [12] авторами предложена кодовая криптосистема типа Мак-Элиса McE(Ci ® C2) на основе тензорного произведения кодов C1 и C2. Проведённый в [12] анализ криптосистемы McE(C1 ® C2) позволил сделать вывод о её высокой стойкости к структурным атакам. При этом в [12] получено, что высокая стойкость достигается даже при использовании кодов C1 и C2, для которых известны структурные атаки для систем McE(C1) и McE(C2), например в случае использования двоичных кодов Рида — Маллера.
Результаты [4-11] показали, что произведение Шура — Адамара позволяет в ряде случаев построить эффективную структурную атаку для рассмотренных в этих работах криптосистем. В настоящей работе с целью уточнения стойкости к структурным атакам системы McE(C1 ® C2) из [12] исследуются свойства произведения Шура — Адамара для тензорного произведения C1 ® C2. Полученные результаты, в частности формула (16) из п. 1, позволяют с помощью произведения Шура — Адамара построить по публичной матрице системы McE(C1 ® C2) код, перестановочно эквивалентный прямой сумме кодов. Представляется, что это позволит, например, используя алгоритм из [14], найти такую матрицу перестановки Рп, с помощью которой публичная матрица системы McE(C1 ® C2) может быть преобразована к более простому для анализа виду. При этом если группа перестановочных автоморфизмов прямой суммы кодов имеет вид (26), то применение матрицы Рп, полученной по некоторой степени (в смысле произведения Шура — Адамара) публичной матрицы, к матрице публичного ключа будет корректным. Результаты по уточнению стойкости системы McE(C1 ® C2) планируется опубликовать отдельно.
Ю. В. Косолапов признателен рецензенту за внимательное прочтение статьи, в особенности за полезные советы по исправлению найденной ошибки в первоначальном варианте доказательства леммы 8 и обобщению полученных результатов.
ЛИТЕРАТУРА
1. McEliece R. J. A public-key cryptosystem based on algebraic coding theory // DSN Progress Report. 1978. P. 42-44.
2. Sendrier N. and Tillich J. P. Code-Based Cryptography: New Security Solutions against a Quantum Adversary. ERCIM News. ERCIM, 2016.
3. Alagic G., Alperin-Sheriff J., Apon D., et al. Status Report on the First Round of the NIST Post-Quantum Cryptography Standardization Process. US Department of Commerce, NIST, 2019.
4. Wieschebrink C. Cryptanalysis of the Niederreiter public key scheme based on GRS subcodes // LNCS. 2010. V.6061. P. 61-72.
5. Бородин М. А., Чижов И. В. Эффективная атака на криптосистему Мак-Элиса, построенную на основе кодов Рида — Маллера // Дискретная математика. 2014. Т. 26. №1. С. 10-20.
6. 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.
7. Бородин М. А., Чижов И. В. Классификация произведений Адамара подкодов коразмерности 1 кодов Рида — Маллера // Дискретная математика. 2020. Т. 32. №1. С. 115-134.
8. Высоцкая В. В. Квадрат кода Рида — Маллера и классы эквивалентности секретных ключей криптосистемы Мак-Элиса — Сидельникова // Прикладная дискретная математика. Приложение. 2017. №10. С. 66-68.
9. Vysotskaya V. and Chizhov I. Equivalence classes of McEliece — Sidelnikov-type cryptosystems // Sixteenth Intern. Workshop Algebraic Combinat. Coding Theory. Svetlogorsk (Kaliningrad region), Russia, 2018. P. 121-124.
10. Давлетшина А.М. Поиск эквивалентных ключей криптосистемы Мак-Элиса — Сидель-никова, построенной на двоичных кодах Рида — Маллера // Прикладная дискретная математика. Приложение. 2019. № 12. С. 98-100.
11. 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.
12. Deundyak V.M., Kosolapov Y. V., and Lelyuk E. A. Decoding the tensor product of MLD codes and applications for code cryptosystems // Aut. Control Comp. Sci. 2019. V. 52. No. 7. P. 647-657.
13. Randriambololona H. On Products and Powers of Linear Codes under Componentwise Multiplication. arXiv:1312.0022. 2014.
14. Деундяк В. М., Косолапов Ю. В. Анализ стойкости некоторых кодовых криптосистем, основанный на разложении кодов в прямую сумму // Вестн. ЮУрГУ. Сер. Матем. моделирование и программирование. 2019. Т. 12. №3. С. 89-101.
15. Cascudo I., Cramer R., Mirandola D., and Zemor G. Squares of random linear codes // IEEE Trans. Inform. Theory. 2015. V.61. No.3. P. 1159-1173.
16. Henderson H. V. and Searle S. R. The vec-permutation matrix, the vec operator and Kronecker products: A review // Linear and Multilinear Algebra. 1981. V. 9. P. 271-288.
17. Сидельников В. М. Теория кодирования. М.: Физматлит, 2008. 324c.
18. Slepian D. Some further theory of group codes // Bell Syst. Tech. J. 1960. V. 39. No. 5. P. 1219-1252.
19. Assmus E. F. The category of linear codes // IEEE Trans. Inform. Theory. 1998. V. 44. No. 2. P. 612-629.
20. Мак-Вильямс Ф. Дж., СлоэнН.Дж.А. Теория кодов, исправляющих ошибки. М.: Связь, 1979. 746c.
REFERENCES
1. McEliece R. J. A Public-Key Cryptosystem Based On Algebraic Coding Theory. DSN Progress Report, 1978, pp. 42-44.
2. Sendrier N. and Tillich J. P. Code-Based Cryptography: New Security Solutions against a Quantum Adversary. ERCIM News, ERCIM, 2016.
3. Alagic G., Alperin-Sheriff J., Apon D., et al. Status Report on the First Round of the NIST Post-Quantum Cryptography Standardization Process. US Department of Commerce, NIST, 2019.
4. Wieschebrink C. Cryptanalysis of the Niederreiter public key scheme based on GRS subcodes. LNCS, 2010, vol.6061, pp. 61-72.
5. Borodin M. A. and Chizhov I. V. Effective attack on the McEliece cryptosystem based on Reed — Muller codes. Discrete Math. Appl., 2014, vol.24, no. 5, pp.273-280.
6. 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.
7. Borodin M. A. and Chizhov I. V. Klassifikacija proizvedenij Adamara podkodov korazmernosti 1 kodov Rida — Mallera [Classification of Hadamard products of codimension 1 subcodes of Reed — Muller codes]. Diskret. Matem., 2020, vol.32, no. 1, pp. 115-134. (in Russian)
8. Vysotskaya V. V Kvadrat koda Rida — Mallera i klassy ekvivalentnosti sekretnykh klyuchey kriptosistemy Mak-Elisa — Sidel'nikova [The Reed — Muller code square and equivalence
classes of McEliece — Sidelnikov cryptosystem private keys]. Prikladnaya Diskretnaya Matematika. Prilozhenie, 2017, no. 10, pp. 66-68. (in Russian) 9. Vysotskaya V. and Chizhov I. Equivalence classes of McEliece — Sidelnikov-type cryptosystems. Sixteenth Intern. Workshop Algebraic Combinat. Coding Theory, Svetlogorsk (Kaliningrad region), Russia, 2018, pp. 121-124.
10. Davletshina A. M. Poisk ekvivalentnykh klyuchey kriptosistemy Mak-Elisa — Sidel'nikova, postroennoy na dvoichnykh kodakh Rida — Mallera [Search for equivalent keys of the McEliece — Sidelnikov cryptosystem built on the Reed — Muller binary codes]. Prikladnaya Diskretnaya Matematika. Prilozhenie, 2019, no. 12, pp. 98-100. (in Russian)
11. 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.
12. Deundyak V.M., Kosolapov Y. V., and Lelyuk E. A. Decoding the tensor product of MLD codes and applications for code cryptosystems. Aut. Control Comp. Sci, 2019, vol. 52, no. 7, pp.647-657.
13. Randriambololona H. On Products and Powers of Linear Codes under Componentwise Multiplication. arXiv:1312.0022, 2014.
14. Deundyak V. M. and Kosolapov Yu. V. Analiz stoykosti nekotorykh kodovykh kriptosistem, osnovannyy na razlozhenii kodov v pryamuyu summu [The use of the direct sum decomposition algorithm for analyzing the strength of some McEliece type cryptosystems]. Vestn. JuUrGU. Ser. Matem. Modelirovanie i Programmirovanie, 2019, vol.12, no. 3, pp. 89-101. (in Russian)
15. Cascudo I., Cramer R., Mirandola D., and Zemor G. Squares of random linear codes. IEEE Trans. Inform. Theory, 2015, vol.61, no.3, pp. 1159-1173.
16. Henderson H. V. and Searle S. R. The vec-permutation matrix, the vec operator and Kronecker products: A review. Linear and Multilinear Algebra, 1981, vol.9, pp.271-288.
17. Sidel'nikov V. M. Teorija kodirovanija [Coding Theory]. Moscow: Fizmatlit Publ., 2008. 324 p. (in Russian)
18. Slepian D. Some further theory of group codes. Bell Syst. Tech. J., 1960, vol.39, no. 5, pp. 1219-1252.
19. Assmus E. F. The category of linear codes. IEEE Trans. Inform. Theory, 1998, vol. 44, no. 2, pp.612-629.
20. MacWilliams F. J. and Sloane N. J. A. The Theory of Error-Correcting Codes. Amsterdam; New York, North-Holland Pub. Co., 1977. 762 p.