Вычислительные технологии
Том 22, № 4, 2017
Использование тензорного произведения кодов Рида — Маллера в асимметричной криптосистеме типа Мак-Элиса и анализ ее стойкости к атакам на шифрограмму
В.М. ДЕУНДЯК1'2, Ю.В. Косоллпов2'*
1НИИ "Специализированные устройства защиты и автоматика", Ростов-на-Дону, Россия 2Южный федеральный университет, Ростов-на-Дону, Россия *Контактный e-mail: [email protected]
Одной из наиболее известных реализаций асимметричной кодовой криптосистемы типа Мак-Элиса является криптосистема на основе двоичных кодов Рида—Маллера. Однако недавно для этой реализации найден эффективный алгоритм структурной атаки (атаки на ключ), поэтому криптосистема на кодах Рида— Маллера на настоящий момент не является стойкой. С другой стороны, если Ci и С2 — двоичные коды Рида —Маллера, то их тензорное произведение С1 ® С2 не является кодом Рида — Маллера, при этом известно, что для Ci ® С2 имеется алгоритм эффективного (непереборного) декодирования.
C целью усиления стойкости асимметричной кодовой криптосистемы предлагается использовать тензорное произведение кодов Рида — Маллера. Исследуется стойкость такой криптосистемы к атакам на шифрограмму, характерным для кодовых криптосистем типа Мак-Элиса независимо от используемого кода.
Ключевые слова: тензорное произведение кодов, коды Рида —Маллера, криптосистема Мак-Элиса, атаки на шифрограмму, криптостойкость.
Введение и постановка задачи
Однонаправленная функция с секретом является основой таких асимметричных криптосистем, как система RSA [1], система Рабина [2] и система Эль-Гамаля [3]. С одной стороны, для обеспечения стойкости криптосистемы требуется, чтобы без знания секрета по значению функции было вычислительно сложно найти значение аргумента, а с другой стороны, чтобы при известном секрете эта задача решалась быстро. В 1978 г. Робертом Мак-Элисом предложена и обоснована идея использования помехоустойчивых кодов для построения однонаправленной функции с секретом [4]. Сложность обращения такой функции связана с задачей декодирования случайного кода, которая является NP-полной, а простота вычисления функции следует из простоты умножения вектора на матрицу. В [4] однонаправленная функция с секретом была реализована на основе двоичных кодов Гоппы. В сравнении с криптосистемами из [1-3] система Мак-Элиса обладает более быстрыми операциями шифрования и расшифровывания [5], поэтому может найти применение во встроенных устройствах [6]. Также согласно [7] криптографические системы, в основе которых лежит применение помехоустойчивых кодов,
© ИВТ СО РАН, 2017
в постквантовую эпоху рассматриваются как одна из альтернатив используемым асимметричным криптографическим системам, таким как RSA, Рабина, Эль-Гамаля. Это обусловлено тем, что с развитием квантовых вычислений задачи обращения односторонних функций с секретом, на которых основаны системы RSA, Рабина и Эль-Гамаля, могут быть решены с помощью эффективных алгоритмов [8]. Широкое применение системы Мак-Элиса сдерживается, с одной стороны, тем, что квантовые вычисления пока недостаточно развиты, а с другой — тем, что используемые на практике криптосистемы, такие как RSA, обладают размером ключа, на два порядка меньшим, чем криптосистема Мак-Элиса [9] (при обеспечении одинаковой стойкости). В частности, как показано в [9], стойкость, обеспечиваемая с помощью криптосистемы RSA с длиной ключа 1717 битов, достигается для криптосистемы Мак-Элиса при размере ключа порядка 81 кбайт.
Построено множество реализаций идеи Мак-Элиса, некоторые из них можно найти в работах [10-14]. Отмеченные реализации основаны на применении кодов, отличных от кодов Гоппы, использованных изначально Р. Мак-Элисом [4]. Кроме новых кодов в некоторых из указанных реализаций предложены новые способы вложения информации в шифрограмму [10], новые метрики [11], а также новые конструкции кодов [13, 14].
Далее в общем случае асимметричные кодовые криптосистемы будем называть криптосистемами типа Мак-Элиса и обозначать McE(C), где С — линейный код, лежащий в основе криптосистемы. Широкий спектр криптосистем типа Мак-Элиса связан с попытками построить криптосистему, с одной стороны, имеющую размеры ключей, близкие к размерам ключей используемых в настоящее время криптосистем, а с другой — обладающую высокой стойкостью к структурным атакам (атакам на ключ) и атакам на шифрограмму.
Отметим, что сегодня эффективные атаки на ключ классической криптосистемы Мак-Элиса неизвестны. В то же время для других перечисленных выше криптосистем такие атаки имеются. В частности, для криптосистемы из [10], основанной на расширенных кодах Рида — Соломона, В.М. Сидельниковым и С.О. Шестаковым построен полиномиальный по времени алгоритм нахождения подходящего секретного ключа [15]; построены редукции криптоаналитического алгоритма Сидельникова — Шестакова для классических кодов Рида — Соломона [16, 17], а также найден универсальный способ взлома многих асимметричных криптосистем, в которых используются коды Рида — Соломона [18]. В [19] показано, что криптосистема из работы [11] на ранговых кодах небольших параметров не является стойкой к атакам на ключ; построены атаки на ключ для некоторых модификаций системы на ранговых кодах [20]. Для криптосистемы из [12] построен алгоритм успешной атаки на ключ [21], а затем он существенно ускорен [22, 23].
Для криптосистем типа Мак-Элиса реализации атак на ключ не являются универсальными, так как во многом определяются кодом, который лежит в основе криптосистемы. В то же время большинство криптосистем типа Мак-Элиса подвержены атакам на шифрограмму, которые могут быть описаны для произвольного линейного С. Это атаки на основе декодирования по информационным совокупностям [24, 25] и двух шифрограмм, соответствующих одному информационному сообщению (далее — атака повторного перехвата) [26]. Они зависят по существу только от размерности кода, его длины и кодового расстояния.
Под стойкостью криптосистемы к атаке на шифрограмму будем понимать вероятность успеха атаки — нахождения зашифрованного информационного сообщения. Если р — вероятность успеха атаки, то для нахождения зашифрованного сообщения потре-
буется произвести в среднем 1/р дешифрований, а вычислительная сложность такой атаки будет 0((1/р)а), где а — вычислительная сложность одного дешифрования.
В настоящей работе для усиления стойкости к атакам на ключ строится криптосистема типа Мак-Элиса на основе тензорного произведения С1 ® С2 двух кодов Рида — Маллера С1 и С2. Так как код С1®С2 не является кодом Рида — Маллера, то представляется, что известные структурные атаки для криптосистем МсЕ(С1) и МсЕ(С2) [21-23], успех реализации которых существенно зависит от строения кодов Рида — Маллера, могут без существенной модификации не пройти для криптосистемы МсЕ(С1 ® С2). Причем код С1 ® С2 может успешно применяться в криптосистеме Мак-Элиса, так как для него существует быстрый алгоритм декодирования [27, 28]. С другой стороны, отмеченные выше атаки на шифрограмму для криптосистем типа Мак-Элиса слабо зависят от кода, при этом одна из наиболее сильных атак — это атака повторного перехвата. Поэтому в работе ставятся задачи, во-первых, модификации криптосистемы Мак-Элиса таким образом, чтобы затруднить атаку повторного перехвата, а во-вторых — нахождения параметров криптосистемы МсЕ(С1 ® С2), при которых обеспечивается приемлемая стойкость к отмеченным атакам на шифрограмму.
Работа имеет следующую структуру. В первом разделе приводится определение криптосистемы типа Мак-Элиса и описываются атаки на основе декодирования по информационным совокупностям и атака повторного перехвата. В частности, атака повторного перехвата, впервые описанная в [26] для двоичного поля, обобщена на случай поля , д > 2. Во втором разделе предложен способ усиления стойкости криптосистемы типа Мак-Элиса к атаке повторного перехвата путем применения техники случайного шифрования; там же проводится анализ этого способа. В третьем разделе рассмотрена конструкция тензорного произведения двух двоичных кодов Рида — Маллера С1 и С2 и приведены результаты оценки стойкости криптосистемы МсЕ(С1 ® С2) к атакам на шифрограмму. В приложение для облегчения понимания существа статьи вынесены доказательства лемм.
1. Криптосистема типа Мак-Элиса и атаки на шифрограмму
Пусть Е = — поле Галуа мощности д, д — степень простого числа; С (С ЕП) — линейный [п, к, ^]-код длины п, размерности к, с кодовым расстоянием Порождающую матрицу кода С будем обозначать С (С). Под криптосистемой типа Мак-Элиса на основе [п, к, ^]-кода С здесь понимаем асимметричную криптосистему, в которой открытый ключ криь — это пара (С, Ь = — 1)/2|), а секретный ключ к8ес — пара матриц (Б, Р), где Б — случайная невырожденная (к х &)-матрица, Р — случайная перестановочная (п х и)-матрица, причем С = в • С(С) • Р. Правило шифрования произвольного информационного сообщения б(е ¥к) имеет вид
2 = зд + е, (1)
где вес Хэмминга добавляемой ошибки е = (е1,..., ега) удовлетворяет неравенству т (е) < Ь. Для расшифровывания шифрограммы с секретный ключ к8ес используется по правилу б = Бесс (гР-1)Б-1, где Бесс : ЕП ^ ¥к — декодер кода С, гарантированно исправляющий Ь и менее ошибок и восстанавливающий вектор б. Предполагается, что вектор ошибок е выбирается случайно и равновероятно из множества ¥п'* = Е™), состо-
ящего из векторов веса |Еп'*| = СП(д — 1)4.
Ниже приводится описание атаки на основе декодирования по информационным совокупностям, а также описание атаки повторного перехвата для поля и дается ее анализ.
1.1. Атака на основе декодирования по информационным совокупностям
Пусть п = {1;...; п}. Для множества И С символом вирр(Д) обозначим носитель этого множества:
вирр(Д) = {г € п\3х = (х\, ...,хп) € И, Хг = 0}.
Для (к х п)-матрицы М = где g¿ — строка матрицы, носителем будем называть
множество номеров ненулевых столбцов: вирр(М) = и^вирр^). Рассмотрим криптосистему МсЕ(С) на основе [а,к,в\-кода С. Одним из способов проведения атаки на шифрограмму для криптосистемы МсЕ(С) является способ декодирования по информационным совокупностям [29].
Суть этого способа заключается в следующем. Пусть т(С п) — множество номеров мощности к, пт : ^ = {х € ^ : вирр(х) С т} — линейный оператор проекции пространства ^ на координатное пространство Fr параллельно координатному подпространству Fr, т = п\т. Этот оператор естественным образом можно определить для (к х п)-матрицы М = ^г)^, представленной как набор к строк: ттг (М) = (жт ^г))^. Множество т называется информационной совокупностью, если гапк(7гг(С(С))) = к. Если Р — перестановочная матрица, а П — перестановка множества чисел {1;....; п}, которой соответствует матрица Р, то очевидно, что если т = {¿1;...; ^} — информационная совокупность для кода с порождающей матрицей С(С), то П(т) = {П(^); ...;П(^)} — информационная совокупность для кода с порождающей матрицей С (С) • Р.
Атака на шифрограмму ъ криптосистемы МсЕ(С) путем декодирования по информационным совокупностям сводится к нахождению такой информационной совокупности т для кода с порождающей матрицей С, у которой в шифрограмме ъ координаты с номерами из т не были испорчены помехой е (см. правило шифрования (1)). Если т = {г1;...; } — информационная совокупность и координаты из множества т не испорчены помехой, то
в = (ъ) (ттт(С))-1. (2)
Рассмотрим событие £гп к, где Ь < п и к < п — Ь, состоящее в том, что в некотором неизвестном векторе из 1 после случайного выбора к номеров координат значения этих координат оказались равными нулю. Пусть р(£1п к) — вероятность этого события. Если векторы множества ^ ' 1 распределены равновероятно, то
Р(£п, к) = С'га-ДС'га) 1. (3)
Замечание 1. При наступлении события Егп к может возникнуть ситуация, когда выбранное множество координат т(С п) таково, что гапк(7гг(С)) < к. В этом случае выбранное множество т не является информационной совокупностью в выше определенном смысле. Поэтому вероятность правильного декодирования вектора ъ вида (1) методом декодирования по информационным совокупностям не превышает р(£гп к).
Отсюда получаем, что для выбора информационной совокупности, не содержащей испорченных координат, потребуется сделать в среднем не менее |~1/р(£гп к)~| попыток.
1.2. Атака повторного перехвата
В работе [26] предложена атака на шифрограмму в случае, если криптоаналитик (наблюдатель) располагает двумя шифрограммами, полученными путем шифрования одного сообщения, но с использованием разных векторов ошибок в (1). Наличие двух шифрограмм, соответствующих одному открытому тексту, дает криптоаналитику дополнительную информацию о координатах, которые были испорчены искусственно добавленными помехами при шифровании. Отметим, что для случая, когда мощность поля Галуа д — простое число, некоторый способ проверки факта повторного шифрования одного и того же сообщения предложен в [30].
Рассмотрим два равномерно распределенных на Г"-'4 случайных вектора Е^ Е2. Тогда
Уе е Г1'*, V* е{1;2> : №г(е) = (С£(д — 1)Г\ (4)
где Ре (е) — это вероятность события Е^ = е. Пусть
Zi = б<5 + Е^, г = 1, 2, (5)
— случайные векторы, соответствующие одному сообщению б; V = Z1 — Z2 = Е1 — Е2. Так как векторы ошибок при шифровании выбираются случайно, равновероятно и взаимно независимо, то с большой вероятностью значение случайного вектора V отлично от нуля. Поэтому криптоаналитик по двум шифрограммам и 22, являющимся реализациями соответствующих случайных векторов Z1 и Z2, может определить, что, по крайней мере, координаты с номерами из множества т = вирр^ — 22) испорчены помехами. Следовательно, он может воспользоваться методом декодирования по информационным совокупностям, учитывая имеющуюся у него информацию о подмножестве номеров испорченных координат. Проведем анализ вероятности успеха применения этого метода для поля Г, где д — степень простого числа. Отметим, что более простой случай д = 2 описан в [26].
Лемма 1. Пусть Е1; Е2 — случайные векторы с распределением (4), а е1; е2 — значения соответствующих случайных векторов. Пусть Н^ — гипотеза о том, что |supp(e1) П supp(e2)| = ], ] = 0,...,Ь, р(Н^) — вероятность гипотезы Н^. Рассмотрим событие А^, состоящее в том, что векторы е1 и е2 совпадают в г-х ненулевых координатах, где г < ]. Тогда
Р( н3 ) = сгс^(с^ )-1, (6)
рЩЩ ) = С}(д — 2)-(д — 1)-', (7)
р(АгН3) = С] (д — 2)'-<С?С*- ((д — 1)«С£ )-1. (8)
В табл. 1 приведены результаты вычисления р(Hj) в случае бинарного кода Рида — Маллера ^.М(1, 5), необходимые сведения о которых имеются в разд. 3.
Рассмотрим случайные векторы (5), соответствующие одному сообщению б. Пусть = б С + е1 и 22 = б С + е2 — значения соответствующих случайных векторов Z1 и Z2,
Таблица 1. Значения Р (Я,-) для МсЕ(С), С = КМ(1, 5), £ = 7, к = 6, п = 32
3 0 1 2 3 4 5 6 7
Р (Н,) 0.142 0.368 0.331 0.131 0.023 0.001 5.2Е — 5 2.9Е — 7
г — число ненулевых координат, в которых векторы в! и е2 совпадают, ] = ^ирр^) П вирр(е2)|. Так как у := — 22 = в! — е2, то по двум шифрограммам можно определить подмножество вирр(е! — е2) номеров координат, которые наверняка испорчены ошибками. Отметим, что при этом неизвестно, какие именно из этих координат испорчены в первой и второй шифрограммах. Для векторов е!, е2 е Fn ' 1 обозначим Д(еь е2) = |вирр(е!) П вирр(е2)|. Пусть У(еь е2) — число координат, в которых ненулевые значения векторов е! и е2 совпадают. Заметим, что 0 < У(е!, е2) < Д(е!, е2) <
Лемма 2. Для любых е!, е2 е Р™ вес разности е! и е2 вычисляется по формуле
w(e! — е2) = 2Ъ — Д(е!, е2) — У(еь е2). (9)
Заметим, что по известному вектору е! — е2 и одной из двух величин Д(е!, е2), У(е!, е2) можно по лемме 2 найти другую величину.
Рассмотрим событие (е), заключающееся в том, что случайно и равновероятно выбраны из ' 1 два вектора е!, е2, которые полагаются неизвестными, однако известны е = е! — е2 и число 8 = У(е!, е2). Отметим, что вектор е из принадлежит множеству векторов веса не более 2£, которое далее будем обозначать Fra'-24. Если для заданных (8, е) е {0;...; ¿} х Fn 'не существует такого ] е {0;...; ¿}, для которого бы выполнялось равенство ы(е) = 2Ь — ] — 8 (см. соотношение (9)), то (е)) = 0.
Лемма 3. Если пара чисел (8,1) е {0;...; ¿} х {0;...; 2Ь} такая, что I = 2Ь — ] — 8 для некоторого ] е {0;...; ¿}, то р(Н1п(е)) = 0 для любого вектора е (е Fn'-2г) веса I.
В случае р(Н1п(е)) = 0 пару (8, е) будем называть допустимой парой из {0;...; ¿} х Fra'-24. Все пары (8,1) е {0;...; ¿} х {0;...; 2Ъ}, для которых выполняется условие леммы 3, также будем называть допустимыми парами из {0;...; ¿} х {0;...; 2£}.
Рассмотрим событие fc, состоящее в том, что для двух случайно и равновероятно выбранных из Fra' 1 векторов е! и е2, для которых известно множество вирр(е! — е2), во множестве п \ вирр(е! — е2) случайно выбрано множество т мощности к так, что
т П 8ирр(е!) = 0, т П 8ирр(е2) = 0. (10)
Тогда вероятность этого события вычисляется по формуле полной вероятности
г
р(Кfc)= Е Ер(пп (е))р«*^(£)), (11)
¿=0
так как набор (е)}(г,е)е{0;...;*}^™><2« является полной группой событий. Для вычисления , к (е)) понадобится введенное в подразд. 1.1 событие _ш(е) fc, состоящее в том, что в зафиксированном, но неизвестном векторе, принадлежащем Fra_w(e)' 1, после случайного выбора к номеров координат значения этих координат оказались равными нулю.
Лемма 4. Для любой допустимой пары (8, е) из {0;...; ¿} х Fra'
■'п_'ш(е), к
, (е))= р(Сад(е), *). (12)
Теорема 1. Имеет место равенство
р^) = £ £ С' ■ 43)
.7=0 ¿=0 ^n^n_[2t_j_S](^ Х)
Доказательство. Как следует из леммы 4, вероятность р(^пк[Н1^(е)) не зависит от значения вектора е, а зависит от его веса. Поэтому, используя (11) и (12), получаем
21 I 21 I
р(Кь ) = £ £ £ рН (е))р(^щк (е)) = ££ р(£^к) £ р(Н*'в (е)).
1=0 е€гп,<24: ¿=0 1=0 ¿=0 еег",<24:
т(е)=1 ад(е)=!
Заметим, что для фиксированных 8 и I внутренняя сумма в последнем равенстве — это вероятность того, что разность двух случайно выбранных из Гга ' 1 векторов имеет вес I и эти векторы совпадают в координатах. С учетом леммы 1 получаем
£ р(Ч<п0 (e))=p(AsH2ts-l). (14)
eQFn'—2t: w(e)=l
Так как 2t — 8 — l > 0, то
2t t j p(Kk) = £ £ p^Uk)p(AsH) = ££p(£L(2t-3-S),kMAsH). (15)
1=0 (S,j): j=0 S=0
S+j=2t-l
Отсюда в силу (3) и (8) получаем (13). ■
Таким образом, имея две шифрограммы z1 = s G + в! и z2 = s G + e2, криптоаналитик сможет найти разность ошибок e1—в2 и попробовать применить метод декодирования по информационным совокупностям (либо для шифрограммы z1, либо для z2), выбирая к координат из множества п \ supp(e1 — e2). В среднем вероятность p(V1n к) успешного выбора к координат, не испорченных помехами e1 и e2, согласно теореме 1 вычисляется по формуле (13). Отметим, что вероятность успешного декодирования (вероятность успеха атаки) в среднем будет не более p('D1n к), так как для случайно выбранного множества т, |т| = к, возможен случай, когда rank(7rT(G)) < к (см. замечание 1).
2. Усиление стойкости криптосистемы типа Мак-Элиса к атакам на шифрограмму при повторном перехвате
Рассмотрим криптосистему МсЕ( С), где С — линейный [п, к, (¿]-код, к > 1. Для защиты от атаки повторного перехвата предлагается следующий способ формирования шифрограмм. К каждому информационному блоку б длины к'(1 < к' < к) дописывается слева случайно выбранный зашумляющий вектор ш длины к — к'. Полученный вектор длины к шифруется по правилу (1). Такая техника случайного шифрования предложена в [31] для усиления стойкости симметричных кодовых криптосистем, а для усиления стойкости асимметричных кодовых криптосистем типа Мак-Элиса этот прием также использован в [32], где эффект от случайной добавки при шифровании исследуется в рамках теоретико-информационного подхода: исследуется количество информации, которое получает перехватчик в рамках различных атак на шифрограмму. Идея этой модификации для асимметричных криптосистем сформулирована также в [14]. Ниже анализируется эффект от применения техники случайного шифрования для защиты от атаки повторного перехвата, чего ранее сделано не было.
При использовании дополнительного зашумляющего вектора ш(е Ffc к ) правило шифрования (1) примет вид
(ш, б)& + е = 2, (16)
где б(е Ffc ) — информационный блок, а запись (ш, б) означает приписывание вектора ш слева к вектору б. Для расшифровывания ъ достаточно применить правило расшифровывания из разд. 1, а затем отбросить случайный вектор ш. Криптосистему типа Мак-Элиса с правилом шифрования (16) будем обозначать МсЕ(С, к').
Замечание 2. Криптосистемы МсЕ(С) и МсЕ(С, к') различаются только правилами шифрования/расшифровывания, при этом структуры секретных и открытых ключей совпадают. Поэтому эти системы эквивалентны по стойкости к атакам на ключ. Они также совпадают по стойкости к атаке на основе декодирования по информационным совокупностям при атаке на одну шифрограмму, так как по одной шифрограмме нет возможности получить какую-либо дополнительную информацию о векторе ошибок, кроме его веса.
Покажем, насколько использование зашумляющих векторов затрудняет проведение атаки декодирования по информационным совокупностям при повторном перехвате. Рассмотрим случайные, равномерно распределенные векторы О2, принимающие значения в F^_fc , а также случайные, равномерно распределенные векторы Е!, Е2, принимающие значения в F"''í (см. (4)). Пусть
^ = (Пг, в)С + Ег, г е{1;2}, (17)
У = — Z2 = ПС + X, (18)
где О = — О2, X = Е! — Е2; С — матрица, состоящая из верхних к — к' строк матрицы С. Отметим, что
Рп(ш)= Ръ М =
для всех ш е F^_fc . Пусть ъ — реализация случайного вектора Z¿ вида (17), г =1, 2, и
у = ъ! — ъ2 = шС + х, ш = ш! — ш2, х = е! — е2. (19)
Как видим, в этом случае разность е! — е2 "замаскирована" вектором значение которого для криптоаналитика неизвестно. Чтобы найти х, криптоаналитику необходимо декодировать вектор у, рассматривая его как зашумленный кодовый вектор линейного кода с порождающей матрицей С. (Под декодированием здесь без нарушения общности понимается восстановление вектора ш по вектору у.) Если криптоаналитику удастся декодировать вектор у в вектор ш, то вектор х очевидным образом находится из выражения х = у — шС. Далее к какой-либо из шифрограмм (ъ! или ъ2) можно применить метод декодирования по информационным совокупностям, учитывая, что ему известен вектор х = е! — е2 (вычислению вероятности успеха применения этого метода посвящен предыдущий раздел). Например, он может применить этот метод для шифрограммы ъ!. В случае успеха, т.е. когда удалось выбрать такое множество т, |т| = к, что выполняется условие (10), он сможет восстановить значение вектора (б, применив правило (2) для значения пт(ъ!) при условии гапк(7гТ(С)) = к. Сообщение б далее находится отбрасыванием крайних справа к — к' координат результата декодирования.
Оценим вероятность успешного декодирования вектора у. Так как матрица С, с точки зрения криптоаналитика, является порождающей матрицей линейного кода общего положения, будем полагать, что для восстановления значения вектора ш криптоанали-тик использует метод декодирования по информационным совокупностям.
Замечание 3. Если |8ирр(С)| < п и вирр(х) С 8ирр(С), то наблюдатель по вектору у может найти д(х) координат вектора ошибок х путем простого сравнения носителя значения вектора у с носителем матрицы С, где
д(х) = |вирр(х) \ 8ирр(С)| = 'ш (х) — |вирр(х) П 8ирр(С)|. Поэтому к' надо выбирать так, чтобы |эирр(С?) | = п, что далее и предполагается.
Лемма 5. Пусть вектор у имеет вид (19), ш и х — неизвестны, 8ирр(С) — множество номеров ненулевых столбцов матрицы С, |эирр(С?) | = п. Тогда в случае, когда вес и>(х) вектора х известен, методом декодирования по информационным совокупностям вектор ш может быть восстановлен с вероятностью, не превышающей Р^^к-к').
Из леммы 5 получаем, что вектор х по вектору у вида (19) может быть восстановлен методом декодирования по информационным совокупностям с вероятностью, не превышающей р(£^к-к'), когда т(х) известно. При этом вероятность р(£п^к-к') не зависит от вектора ш, а зависит только от вектора х = е! — е2.
Рассмотрим случайный вектор У вида (18). Пусть Ы^'1 — событие, заключающееся в том, что выбрано значение у = шС + х случайного вектора У, причем вес вектора х = е!—е2 равен I и У(е!, е2) = 8. Таким образом, событие Ы^6,1 состоит из элементарных событий (ш, е!, е2) случайного вектора Ф = (О, Е!, Е2), для которых ш е Ffc_fc , е!, е2 е Fra'í и и)(е! — е2) = /, У(е!, е2) = 8. Отметим, что случайные векторы О, Е! и Е2 независимые, поэтому вероятность е!, е2) вычисляется по формуле
р*(ш, е!, е2) = Рп(^)рех(е^рЕх(е!). (20)
Лемма 6. Имеет место равенство р(Ы^г'1) = р(А$Н2__6).
Рассмотрим событие <$пкк', заключающееся в том, что для случайно выбранных векторов е! и е2 (в соответствии с распределением (4)) и случайно выбранного вектора ш (реализация случайного вектора П) по известному вектору у вида (19) методом декодирования по информационным совокупностям найдено значение вектора е! — е2 и на основе этого вектора выбрано множество т(С п) мощности к, удовлетворяющее условию (10). Пусть к у) — априорная вероятность события к у. Так как набор {и^6'1 }(^г)е{0;...;4}х{0;...;24} — это полная группа событий, то
Р(К, к, к') = ЕЕ *, * ). (21)
1=0 ¿=0
Лемма 7. Для любой допустимой пары (8,1) е {0;...; ¿} х {0; ...;2£}
, к, к'
,к—к'
Теорема 2. Имеет место равенство
4 з г^к-к! С&-] Г^к (п _
Р(^п, к, к') Гк-к'ГЧГк («_1)4 . (22)
^=0 ¿=0 1)
Доказательство. Применив в (21) оценку для р(81п кУ ) из леммы 7 и заменив р(и1^'1) в соответствии с леммой 6, получим
24 Ь
?5
'П-1
1=0 ¿=0 Ь 3
Р(К, к, к') < ££ Р(£1а, к-к' М^-1,к Ур(А&Н21-1-&)
= £ №1-2-3-5),*)р(А*Н3). (23)
3=0 ¿=0
С учетом равенств (3) и (8) получаем (22). В
Таким образом, как следует из сравнения формул (15) и (23), криптосистемы МсЕ( С) и МсЕ( С, к1) различаются по стойкости к атаке повторного перехвата: в формуле (23) каждое слагаемое из (15) умножено на число р), меньшее единицы (за исключением случая 8 = ] = ¿, когда одно слагаемое умножается на единицу). Это позволяет сделать вывод, что использование техники случайного шифрования усиливает стойкость криптосистемы к атаке повторного перехвата.
3. Криптосистема типа Мак-Элиса на основе тензорного
произведения кодов Рида — Маллера и оценка ее стойкости к атакам на шифрограмму
Для построения криптосистемы Мак-Элиса необходимо, чтобы лежащий в основе криптосистемы код имел быстрый алгоритм декодирования, а также для достижения высокой стойкости этот код не должен обладать "простой" алгебраической структурой. В настоящей работе предлагается в качестве помехоустойчивого кода использовать тензорное произведение С1 ® С2 мажоритарно декодируемых кодов С1 и С2. Код С1 ® С2 является мажоритарно декодируемым кодом, для которого имеется быстрый алгоритм декодирования [27, 28]. При этом представляется, что алгебраическая структура кода С1 ® С2 не является более простой, чем структура кода С1 или кода С2. В частности, если С1 и С2 — коды Рида — Маллера, то С1 ® С2 не является кодом Рида — Маллера. В этом случае имеющиеся структурные атаки для криптосистемы на основе кодов Рида — Маллера неприменимы для криптосистемы на основе тензорного произведения кодов Рида — Маллера. В настоящем разделе оценивается стойкость криптосистемы типа Мак-Элиса на основе тензорного произведения кодов Рида — Маллера к атакам на шифрограмму, рассмотренным в первом разделе.
Замечание 4. Для оригинальной криптосистемы Мак-Элиса на [1024, 524, 50]-коде Гоп-пы вероятность успеха атаки на основе декодирования по информационным совокупностям в соответствии с (3) не превышает числа да := 7.2Е — 17(= 7.2• 10-17). В настоящем разделе вероятности успеха атак на шифрограмму будем сравнивать с до, считая криптосистему практически стойкой, если вероятность успеха атаки меньше до, и нестойкой
в противном случае. Такой подход выбран с целью сравнения стойкости криптосистемы в случае использования тензорного произведения кодов со стойкостью криптосистемы без применения тензорного произведения кодов.
Под тензорным произведением А® В матрицы А = (а^) размера (г х з) и матрицы В будем понимать, как обычно, матрицу вида
(аХЛВ ... а,1,3В\
......... I .
йг,\В ... аГу3В I
Если С1 — [п1,к1,д>1}-код с порождающей матрицей С(С1), а С2 — [п2, к2, ^2]-код с порождающей матрицей С(С2), то под тензорным произведением кодов С1 ® С2 будем понимать код с порождающей матрицей С(С1 ® С2) = С(С1) ® С(С2). Известно, что код С1 ® С2 является [п\п2, к\к2, ^^]-кодом [33].
Ниже будем использовать [п, к, ^]-коды Рида —Маллера /М(г,т), где п = 2т, к = Сгт, d = 2т-г [33]. Для кода С' = /М(г, т) при т < 16, г < шт{т; 7} в настоящей работе вычислена вероятность события в соответствии с (3), где п = 2т, к = ^[=0 Сгт, Ь = 2т-г-1 — 1. В первом столбце табл. 2 приведены параметры (п, к, ¿), для которых р(£гпк) меньше дс (см. замечание 4). В соответствии с замечанием 2 криптосистемы МсЕ(С') и МсЕ(С', к') эквивалентны в рамках атаки декодирования по информационным совокупностям для одной шифрограммы. Поэтому значения из второго столбца табл. 2 характеризуют соответствующую стойкость как криптосистемы МсЕ(С"), так и МсЕ(С", к') (к' < к). В третьем столбце приведена скорость передачи информации при использовании криптосистемы МсЕ(С'), а в четвертом — МсЕ(С", к'), когда к' = \_к/2\. Заметим, что в [22] показано, что криптосистема МсЕ(С'), где С' = /М(г,т) при т < 16, г < шт{т;7}, не является стойкой к атаке на ключ: при г < 7 и т =16 на поиск секретного ключа тратится не более семи часов на ноутбуке с процессором 2.1 ГГц. В силу замечания 2 система МсЕ(С', к') также не является стойкой к атаке на ключ. Поэтому системы МсЕ(С") и МсЕ(С", к') в целом не являются стойкими из-за наличия успешной атаки на ключ.
Для усиления стойкости криптосистемы заменим код Рида — Маллера тензорным произведением кодов Рида — Маллера, а именно рассмотрим криптосистему МсЕ(С1 ® С2), где Сг — [пг, -код Рида —Маллера /М(гг ,т,), щ = 2т*, Гг < т}, кг = С3п,
Таблица 2. Характеристики криптосистем МеБ(С") и МеБ(С, к'), обеспечивающих высокую стойкость к атакам на одну шифрограмму, где С' — код /М(г, 16), к' = к/2
(п, к, ^ РКк) к/п (к — к')/п
(65 536,697,4095) 2.296Б-20 0.010 0.005
(65 536,2517,2047) 4.144Б-36 0.038 0.019
(65 536,6885,1023) 1.886Б-50 0.105 0.052
(65 536,14 893,511) 3.409Б-58 0.227 0.113
(65 536,26333,255) 8.899Е-58 0.401 0.200
(65 536,39 203,127) 4.280Б-51 0.598 0.299
(65 536,50 643,63) 2.603Б-41 0.772 0.386
(65 536,58 651,31) 4.343Б-31 0.894 0.447
(65 536,63 019,15) 5.605Б-22 0.961 0.480
¿г = 2т<-г*, г € {1; 2}. Для криптосистем МсЕ(С ® С2) и МсЕ(С ® С2, к') (см. замечание 2) на настоящий момент атак на ключ не наблюдалось: как отмечалось выше, код С1 ® С2 не является кодом Рида — Маллера, поэтому весьма вероятно, что имеющиеся атаки на ключ в неадаптированном виде не могут быть к ним применимы.
Проведенные в настоящей работе вычисления в соответствии с (3) и (13) показали, что криптосистема МсЕ( С1 ®С2) обладает высокой стойкостью только к атаке на основе декодирования по информационным совокупностям, но к атаке повторного перехвата при всех возможных сочетаниях параметров = 1,..., 8 и тг = 3,..., 8, г € {1;2}, не может рассматриваться стойкой, так как вероятность успеха такой атаки существенно больше дс (р(^) > 0.2 для п = 2т1+т2, к = &т(С1) ■ &т(С2), Ь = 2т1-Г1+т2-Г2-1). С другой стороны, для криптосистемы МсЕ( С1 ® С2, к1) имеются параметры (п, к, I, к1), при которых обеспечивается высокая стойкость (т. е. вероятность атак меньше до) к атаке как на основе декодирования по информационным совокупностям, так и повторного перехвата.
Для к' = к/2\ в табл. 3 представлена сводка параметров кодов-произведений, обеспечивающих высокую стойкость криптосистемы МсЕ( С1 ® С2,к'), С — код Рида — Маллера Гг,тг), Гг = 1,..., 8, тг = 3,..., 8, г € {1;2}. При вычислении р(Згпкк') использован тот факт, что в блочном виде порождающей матрицы кода Рида — Маллера первая строка состоит из всех единиц, а следовательно, в порождающей матрице кода С1 ® С2 первая строка также состоит из всех единиц. Поэтому с высокой вероятностью носитель верхних &ш(С1) ■ &т(С2)/2 — к' строк матрицы С (открытый ключ криптосистемы МсЕ( С1 ® С2)) будет равен носителю С (см. замечание 3).
Отметим, что С1 ® С2 — это [п1п2, к1к2, ¿1^2]-код. Поэтому для определения эффекта от использования тензорного произведения стойкость криптосистемы МсЕ( С1 ® С2, к') следует сравнивать со стойкостью криптосистемы МсЕ( С], к"), построенной на основе [п, к, ¿]-кода Рида —Маллера С, для которого к — к'' ~ к^2 — к' и гг ~ п1п2. Для примера рассмотрим криптосистему МсЕ( С, к'') на [65 536, 26 333,512]-коде Рида — Маллера С при к'' = |_26 333/2\ = 13166 (см. табл. 2, пятая строка снизу, Ь = [(512 — 1)/2\ = 255) и криптосистему МсЕ( С1 ® С2, к') для [65 636, 26 569, 256]-кода С1 ® С2, соответствующего последней строке табл. 3, к' = [26 569/2\ = 13 284. Эти строки в таблицах выделены курсивом. Заметим, что длины кода С и кода С1 ® С2 совпадают и скорости передачи информации также близки: в первом случае 0.2, а во втором — 0.202. Однако крипто-
Таблица 3. Характеристики криптосистемы МеЕ(С1 ® С2,к'), обеспечивающей высокую стойкость к атакам на шифрограмму, где Сг — код Рида —Маллера ^.^(г^т^), щ = 2т1, ri < т,1, кг = ^%о С3Г1, тг = 1,..., 8, г € {1; 2}, к = й^, п = П1П2 к' = к/2
п (Ш1,Ш2,Г1 ,Г2) криЬ, Мб квес,Мб (к — к' )/п 'РКм ) 'Р($п, к,к')
32 768 (7,8,2,3) 10.54 0.93 0.041 9.056Е-19 1.704Е-18
32 768 (7,8,3,3) 23.25 4.28 0.090 5.293Е-21 4.579Е-20
32 768 (7,8,3,4) 40.75 13.03 0.159 2.087Е-19 1.400Е-17
65 636 (8,8,2,2) 10.70 0.35 0.010 3.360Е-19 2.225Е-19
65 636 (8,8,2,3) 26.88 1.54 0.026 9.169Е-24 1.263Е-23
65 636 (8,8,2,4) 47.12 4.46 0.046 1.366Е-20 3.675Е-20
65 636 (8,8,3,3) 67.57 9.04 0.065 2.395Е-30 2.068Е-29
65 636 (8,8,3,4) 118.43 27.52 0.115 2.760Е-27 1.359Е-25
65 536 (8,8,4,4) 207.57 84.28 0.202 4.832Е-26 1.047Е-22
система МсЕ(С, к") не может применяется на практике, так как для нее имеется эффективная атака на ключ [22, 23]). Не исключается, что криптосистема МсЕ(С1 0 С2, к') может быть применима на практике, так как на настоящий момент неизвестны структурные атаки и при этом обеспечивается высокая стойкость к рассмотренным атакам на шифрограмму: р(£" к ) и к у) меньше да.
Отметим, что при использовании тензорного произведения кодов стойкость к атаке на основе декодирования по информационным совокупностям снижается по сравнению со стойкостью криптосистемы на коде Рида — Маллера с сопоставимыми параметрами. Например, для криптосистемы МсЕ(С, к'') вероятность успеха этой атаки намного меньше, чем для МсЕ(С1 0 С2,к') (см. табл. 2 и 3: 8.899Е — 58 < 4.832Е — 26). Это связано с тем, что код С1 0 С2 позволяет исправлять существенно меньше ошибок, чем код С. Добиться подходящей стойкости можно путем увеличения параметров кода и использования техники случайного шифрования.
Заключение
Предложен способ построения асимметричной кодовой криптосистемы типа Мак-Элиса на основе тензорного произведения двоичных кодов Рида — Маллера. С одной стороны, такая криптосистема представляется стойкой к атакам на ключ, так как получаемые в результате произведения коды являются новыми и для них известные атаки могут быть неприменимы. С другой стороны, как показали вычисления для тензорного произведения двоичных кодов Рида — Маллера, стойкость криптосистем, основанных на таких кодах, к атакам на шифрограмму ниже, чем на основе кодов Рида — Маллера при сопоставимых параметрах кодов (длине и размерности).
Повышения стойкости до приемлемого уровня (который определяется контекстом прикладной задачи) можно добиться увеличением параметров кодов, используемых в тензорном произведении, и путем применения техники случайного шифрования. Однако это приводит к увеличению размеров ключей криптосистемы (см. третий слева столбец в табл. 3). Но несмотря на это, использование тензорного произведения кодов представляется одним из способов повышения стойкости криптосистем типа Мак-Элиса. В пользу этого утверждения говорит, например, то, что найдены параметры кодов Рида — Маллера для тензорного произведения кодов, при которых соответствующая криптосистема обладает высокой стойкостью к атакам на шифрограмму и одновременно представляется стойкой к структурным атакам, в то время как криптосистема на коде Рида — Маллера при сопоставимых параметрах не является одновременно стойкой к атакам на шифрограмму и структурным атакам. Уменьшения размера ключа представляется возможным добиться путем использования кодов над недвоичными полями, а также путем использования случайного шифрования с заранее неизвестным перехватчику местом размещения шифруемого информационного сообщения.
Приложение. Доказательства лемм
Доказательство леммы 1. Равенство (6) доказывается фактически по схеме из [26]. Действительно, зафиксируем значение е1(Е Е"^) для случайного вектора Е1. Всего имеется С"(д — 1)* возможных выборов такого вектора. Найдем количество векторов во множестве F™,í, носители которых пересекаются с носителем вектора е1 по ](е {0;...; ¿}) координатам. Таких векторов С^1)*, так как для Ь ненулевых координат вектора е1
имеется С вариантов выбора ] координат, по которым носители будут пересекаться, и
для каждого из этих вариантов имеется С— вариантов выбора номеров координат так, чтобы соответствующие координаты в векторе в1 были нулевыми. Множитель (д — 1)* учитывает количество возможных ненулевых значений зафиксированных Ь координат значений случайного вектора Е2. Отсюда получаем (6).
Теперь докажем (7). Вектор е1 может иметь (д — 1)* различных значений. Пусть известно множество Т = 8ирр(е1)П вирр(е2) и |Т| = ]. Тогда вектор е2 должен совпадать с вектором е1 по любым г координатам из множества Т, а по остальным координатам из этого множества он должен отличаться от значений вектора е1. Имеется С* позиций, по которым значения вектора е2 могут совпадать с вектором е1 , а на остальных — координатах вектор е2 может принимать (д — 2)]—г значений, отличающихся от значений вектора е1 на этих же координатах. Отсюда следует (7).
Равенство (8) следует из (6), (7) и равенства р(А^Н3) = р(А^Н)р(Н3).
Доказательство леммы 2. Для доказательства достаточно заметить, что
■ю(е1 — е2) = |вирр(е1) и вирр^) — У(еь е2) =
= Це1) + -ю(е2) — ^ирр^) П вирр^) — У(еь е2).
С учетом равенств ад(е1) = ад(е2) = Ь и |вирр(е1) П вирр(е2)| = А(е1, е2) получаем (9).
Доказательство леммы 3. Пусть выполняется условие леммы е = (е 1, е2,..., £п)(е ¥п'-21), ы(е) = I. Для доказательства леммы достаточно показать, что найдется хотя бы одна пара (е1, е2) е Fra'í х F"''í, такая, что А(е1, е2) = ], У(е1, е2) = 8 и е = е1 — е2. Пусть, без потери общности, вектор е такой, что е1 = ... = = 0, еf = 0 для / = 8 + 1, ...,8 +1. Выберем вектор е1 = (е 1,1, е1)2,..., е1,п) из Fra'í так, чтобы вирр(е1) = {1;...; ¿} и е1>3 = б3 для в = 8 + 1,..., ]. Вектор е2 = (е 2>1, е2)2,..., е 2,п) выберем так, чтобы е = е^ для г = 1,..., 8, е 2,д = е^ — ед для д = 8+1,..., ], е 2,н = — ^ для К = г + 1,..., 2Ъ — ]. Получим, что е1 — е2 = е и А(е1, е2) = j и У(е1, е2) = 8. Следовательно, р(Нг^ё(е)) = 0.
Доказательство леммы 4. По условию леммы наступило событие (е), т.е. выбранные векторы е1 и е2 неизвестны, но вектор е = е1 — е2 и число 8 = У(е1, е2) известны. Поэтому согласно определению события к в этом случае его вероятность — это вероятность случайно выбрать множество т мощности к во множестве п \ 8ирр(в) так, чтобы выполнялось условие (10). Этот выбор должен осуществляться среди п — ш(е) нулевых координат вектора е с учетом того, что У(е1, е2) = 8. В итоге, ввиду определения события к, получаем искомое равенство.
Доказательство леммы 5. Вектор у будет декодирован правильно в вектор ш, если в векторе у удастся выбрать к — к' координат из множества п так, что выбранные координаты не будут испорчены помехой х, учитывая при этом, что среди п номеров испорчено 'ю(х) штук. Вероятность этого события равна вероятности события Е'^к-к'. Учитывая замечание 1, получаем доказываемое утверждение.
Доказательство леммы 6. Ввиду (20) по определению Ы^'1 получаем
/Ш
ЖГ) = £ Р*(ш, е1, е2) =
(^1^2^^' xFn't xFn't: •ш(е1-в2)=1, Ч(е1,е2)=6
£ РпМ £ РЕ1 (е1^Е2 (е2) = £ РЕ1 (е1^Е2 (е2).
шeFk-k' (e1,e2)GFn't xFn't: (e1,e2)eFn>t xFn>t:
т(е1-е2 )=l,V(el ^2) = w(el — e2)=l,V(el,e2 )=<5
Несложно видеть, что из определения (е), введенного в подразд. 1.2, следует
Е PEi(ei)№2(e2)= Е Р(Пп (е))-
(еье2)е№п>4хЖп>4: eeFn>^2t:
w(ei-e2)=l,V(ei,e2)=S w(e)=l
Тогда с учетом (14) получаем доказываемое равенство.
Доказательство леммы 7. Так как по условию леммы событие U^5,1 наступило, то известен вектор y вида (19), для которого также известно, что w(x) = I и V(ei, e2) = 8. Тогда наступление события Sfnk — это произведение двух событий, где первое событие — нахождение методом декодирования по информационным совокупностям вектора x при известном w(x) = I и второе событие — это выбор множества т, удовлетворяющего условию (10), когда известен вектор x = e1 — e2 и известно число V(e1, e2) = 8. Из леммы 5 получаем, что вероятность первого события не превышает p(£ln ), а вероятность второго события равна p('Dink(x)) = р(£ёп_1к) (см. лемму 4).
Список литературы / References
[1] Rivest, R., Shamir, A., Adleman, L. A method for obtaining digital signatures and public-key cryptosystems // Communications of the ACM. 1978. Vol. 21, No. 2. P. 120-126.
[2] Rabin, M. Digitalized signatures and public-key functions as intractable as factorization. Cambridge: MIT Lab. for Computer Sci., 1979. 20 p. Available at:
http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-212.pdf (accessed 28.03.2017).
[3] ElGamal, T. A public-key cryptosystem and a signature scheme based on discrete logarithms // IEEE Trans. on Inform. Theory. 1985. Vol. 31, No. 4. P. 469-472.
[4] McEliece, R.J. A public-key cryptosystem based on algebraic coding theory // JPL Deep Space Network Progress Report. 1978. No. 42. P. 114-116.
[5] eBACS: ECRYPT benchmarking of cryptographic systems. Available at: http://bench.cr.yp.to (accessed 28.03.2017).
[6] Eisenbarth, T., Guneysu, T., Heyse, S., Paar, Ch. MicroEliece: McEliece for embedded devices // Lecture Notes in Comput. Sci. 2009. Vol. 5747. P. 49-64.
[7] Sendrier, N., Tillich, J.-P. Code-based cryptography: new security solutions against a quantum adversary. 2016. 3 p. Available at: https://hal.archives-ouvertes.fr/hal-01410068/ document (accessed 28.03.2017).
[8] Shor, P.W. Algorithms for quantum computation: Discrete logarithms and factoring // Proc. 35th Annual Symp. on Foundations of Comput. Sci. IEEE Comput. Soc. Press, 1994. P. 124-134.
[9] Niebuhr, R., Meziani, M., Bulygin, S., Buchmann, J. Selecting parameters for secure McEliece-based cryptosystems // Intern. J. of Inform. Security. 2012. Vol. 11, No. 3. P. 137-147.
[10] Niederreiter, H. Knapsack-type cryptosystem and algebraic coding theory // Probl. Control and Inform. Theory. 1986. Vol. 15. P. 159-166.
[11] Gabidulin, E.M., Paramonov A.V., Tretjakov O.V. Ideals over a non-commutative ring and their application in cryptology // Advances in Cryptology-EUROCRYPT'91 / D.W. Davies (Ed.). Lecture Notes in Comput. Sci. 1991. Vol. 547. P. 482-489.
[12] Сидельников В.М. Открытое шифрование на основе двоичных кодов Рида — Маллера // Дискретная математика. 1994. Т. 6, № 2. С. 3-20.
Sidel'nikov, V.M. Open coding based on Reed-Muller binary codes // Discrete Math. and Applications. 1994. Vol. 4, No. 3. P. 191-207.
[13] Misoczki, R., Tillich, J.-P., Sendrier, N., Barreto, P.S.L. MDPC-McEliece: New McEliece variants from moderate density parity-check codes // IEEE Intern. Symp. on Inform. Theory-ISIT '13, Istanbul, Turkey, 2013. IEEE, 2013. P. 2069-2073.
[14] Деундяк В.М., Косолапов Ю.В. Криптосистема на индуцированных групповых кодах // Моделирование и анализ информ. систем. 2016. Т. 23, №. 2. С. 137-152. Deundyak, V.M., Kosolapov, Yu.V. Cryptosystem based on induced group codes // Modeling and Anal. of Inform. Systems. 2016. Vol. 23, No. 2. P. 137-152. (In Russ.)
[15] Сидельников В.М., Ш^естаков С.О. О системе шифрования, основанной на обобщенных кодах Рида — Соломона // Дискретная математика. 1992. Т. 4, №. 3. С. 57-63. Sidel'nikov, V.M., Shestakov, S.O. On an encoding system constructed on the basis of generalized Reed —Solomon codes // Discrete Math. and Applications. 1992. Vol. 2, No. 4. P. 439-444.
[16] Wieschebrink, C. Cryptanalysis of the niederreiter public key scheme based on GRS subcodes // Third Intern. Workshop, PQCrypto. Darmstadt, Germany, May 25-28, 2010. P. 61-72.
[17] Деундяк В.М., Дружинина М.А., Косолапов Ю.В. Модификация криптоаналити-ческого алгоритма Сидельникова — Шестакова для обобщенных кодов Рида — Соломона и ее программная реализация // Изв. высших учеб. заведений. Северо-Кавказский регион. Техн. науки. 2006. № 4. С. 15-20.
Deundyak, V.M., Drouzhinina, M.A., Kosolapov, Yu.V. Sidelnikov —Shestakov kriptoanalytical algorithm modification for generalized Reed — Solomon codes and its softwear implementation // Univ. News. North-Caucasian Region. Technical Sci. 2006. No. 4. P. 15-20. (In Russ.)
[18] Couvreur, A., Gaborit, Ph., Gauthier-Umana, V., Otmani, A., Tillich, J.-P.
Distinguisher-based attacks on public-key cryptosystems using Reed —Solomon codes // Des. Codes Cryptography. 2014. Vol. 73, No. 2. P. 641-666.
[19] Gibson, J.K. The security of the gabidulin public key cryptosystem // Advances in Cryptology EUROCRYPT. 1996. Vol. 1070. P. 212-223.
[20] Overbeck, R. Structural attacks for public key cryptosystems based on gabidulin codes // J. of Cryptology. 2008. Vol. 21, No. 2. P. 280-301.
[21] Minder, L., Shokrollahi, A. Cryptanalysis of the Sidelnikov cryptosystem // Lecture Notes in Comput. Sci. 2007. Vol. 4515. P. 347-360.
[22] Чижов И.В., Бородин М.А. Уязвимость криптосистемы Мак-Элиса, построенной на основе двоичных кодов Рида — Маллера // Прикл. дискрет. математика. Приложение. 2013. № 6. С. 48-49.
Chizhov, I.V., Borodin, M.A. Vulnerability of McEliece cryptosystem based on binary Reed — Muller codes // Appl. Discrete Math. 2013. No. 6. P. 48-49. (In Russ.)
[23] Бородин М.А., Чижов И.В. Эффективная атака на криптосистему Мак-Элиса, построенную на основе кодов Рида —Маллера // Дискрет. матем. 2014. T. 26, №. 1. С. 10-20. Chizhov, I.V., Borodin, M.A. Effective attack on the McEliece cryptosystem based on Reed —Muller codes // Discrete Math. and Applications. 2014. Vol. 24, No. 5. P. 273-280.
[24] Hamdaoui, Y., Sendrier, N. A non asymptotic analysis of information set decoding. IACR Cryptology ePrint Archive. 2013. P. 162.
[25] Torres, R.C., Sendrier, N. Analysis of information set decoding for a sub-linear error weight // Proc. 7th Intern. Workshop, PQCrypto 2016, Fukuoka, Japan, Feb. 24-26, 2016. Springer Intern. Publ., 2016. P. 144-161.
[26] Berson, T. Failure of the McEliece public-key cryptosystem under message-resend and related-message attack // Proc. 17th Annual Intern. Cryptology Conf., Santa Barbara, California, USA. Aug. 17-21, 1997. CRYPTO '97, 1997. Vol. 1294. P. 213-220.
[27] Gore, W.C. Futher results on product codes // IEEE Trans. on Inform. Theory. 1970. Vol. IT-
16, No. 4. P. 446-451.
[28] Kasami, T., Lin, S. On majority-logic decoding for duals of primitive polynomial codes // IEEE Trans. on Inform. Theory. 1971. Vol. IT-17, No. 3. P. 322-331.
[29] Федоренко С.В. Методы быстрого декодирования линейных кодов. СПб.: ГУАП, 2008. 199 с.
Fedorenko, S.V. Methods of fast decoding for linear codes. SPb.: GUAP, 2008. 199 p. (In Russ.)
[30] Зубков А.М., Круглов В.И. Статистические характеристики весовых спектров случайных линейных кодов на GF(p) // Матем. вопр. криптографии. 2014. Т. 5, № 1. С. 27-38. Zubkov, A.M., Kruglov, V.I. Statistical characteristics of weight spectra of random linear codes over GF(p) // Math. Aspects of Cryptography. 2014. Vol. 5, No. 1. P. 27-38. (In Russ.)
[31] Косолапов Ю.В., Чекунов Е.С. Симметричные кодовые криптосистемы на основе кодов в Т-метриках // Изв. ЮФУ. Техн. науки. 2010. Т. 112, № 11. С. 106-116. Kosolapov, Yu.V., Chekunov, E.S. Symmetric cryptosystems based on error correction codes in Т-metric // Izvestiya SFedU. Engineering Sci. 2010. Vol. 112, No. 11. P. 106-116. (In Russ.)
[32] Zhang, K., Tomlinson, M., Ahmed, M.Z. A modified McEliece public key encryption system with a higher security level // Proc. of IEEE Third Intern. Conf. on Inform. Sci. and Techn. (ICIST). 2013. Vol. 1. P. 1-5.
[33] Morelos-Zaragoza, R.H. The art of error correcting coding, 2nd Edition. Chichester, West Sussex, England: John Wiley & Sons, 2006. 572 p.
Поступила в 'редакцию 31 января 2017 г., с доработки — 26 апреля 2017 г.
The use of the tensor product of Reed — Muller codes in asymmetric McEliece type cryptosystem and analysis of its resistance to attacks on the cryptogram
Deundyak, Vladimir M.1,2, Kosolapov, Yury V.2'*
1NII "Spetsializirovannye Vychislitel'nye Ustroystva Zashchity i Avtomatika", Rostov-on-Don, 344002, Russia
2South Federal University, Rostov-on-Don, 344006, Russia * Corresponding author: Kosolapov, Yury V., e-mail: [email protected]
Purpose. Increasing resistance of McEliece cryptosystem against structural attacks (attacks on the key).
Methodology. To solve this problem it is encouraged to apply tensor product codes for which there are majority decoders. In this case, for the tensor product code there is a fast decoder, but there are no effective structural attacks for the McEliece cryptosystem based on the tensor product codes currently.
© ICT SB RAS, 2017
60
В. М. fl^eyHRHK, K. B. KoconanoB
Findings. The study has revealed that the tensor product codes on the one hand, increases the resistance of cryptographic code to the known attacks on key, but on the other hand reduces the cryptosystem to the attacks on the cryptogram. In this regard, the paper proposes a method for enhancing the stability of cryptosystems such as McEliece to the attacks on the cryptogram by the use of a randomized encryption.
Originality/value. We have studied a method for constructing asymmetric cryptosystems code based on the tensor product codes. As shown by the calculations for tensor product of binary Reed —Muller codes, their resistance to attacks on cryptosystems is lower compared to the resistance of cryptosystems based on the ordinary Reed —Muller codes with comparable lengths. Despite this, cryptosystems based on the tensor product are presently more robust overall because they do not yet experience effective key attacks, while such attacks for cryptosystems based on Reed — Muller codes are already known. The disadvantages of cryptosystems based on tensor product codes include a large key size.
Keywords: tensor product codes, Reed —Muller codes, the McEliece cryptosystem, ciphertext attacks.
Received 31 January 2017 Received in revised form 26 April 2017