Научная статья на тему 'Криптоанализ криптосистемы Мак-Элиса, построенной на (к - 1)-подкодах кода Рида - Маллера'

Криптоанализ криптосистемы Мак-Элиса, построенной на (к - 1)-подкодах кода Рида - Маллера Текст научной статьи по специальности «Математика»

CC BY
630
46
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
MCELIECE CRYPTOSYSTEM / MULLER SUBCODE / MULLER CODE / КРИПТОСИСТЕМА МАК-ЭЛИСА / МАЛЛЕРА / REED / AUTOMORPHISM OF REED / SCHUR PRODUCT CODES / SQUARE OF CODE / ПОДКОДЫ РИДА / АВТОМОРФИЗМЫ КОДОВ РИДА / ПРОИЗВЕДЕНИЕ ШУРА / КВАДРАТ КОДА

Аннотация научной статьи по математике, автор научной работы — Чижов Иван Владимирович, Бородин Михаил Алексеевич

Описаны два вида криптосистем Мак-Элиса, построенных на подкодах кода РидаМаллера. Изучен вопрос эквивалентных ключей для этих криптосистем. Получен результат о сводимости одной криптосистемы к другой. Приведены алгоритмы, которые позволяют применить атаку Чижова Бородина к рассматриваемым криптосистемам для некоторых параметров кодов Рида Маллера.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Cryptanalysis of the mceliece pkc based on (k - 1)-reed - muller subcodes

In this paper, we describe two types of McEliece cryptosystems based on some Reed Muller subcodes and study the question of equivalent keys for these cryptosystems. A method for reduction of one cryptosystem to the another is obtained. Also, we show that these cryptosystems based on Reed Muller subcode with the most widely used parameters can be attacked with the authors' algorithm.

Текст научной работы на тему «Криптоанализ криптосистемы Мак-Элиса, построенной на (к - 1)-подкодах кода Рида - Маллера»

7

из У32, то вероятность линейной независимости системы равна П(1 — 2г-32), то есть

г=0

превышает 1 — 224.

ЛИТЕРАТУРА

1. Фомичев В. М. Методы дискретной математики в криптологии. М.: Диалог-МИФИ, 2010. 424 с.

2. Романько Д. А., Фомичев В. М. О способах построения криптографических генераторов с заданным показателем бесповторности выходных последовательностей // Прикладная дискретная математика. Приложение. 2016. №9. С. 65-67.

УДК 004.056.55 Б01 10.17223/2226308Х/9/29

КРИПТОАНАЛИЗ КРИПТОСИСТЕМЫ МАК-ЭЛИСА, ПОСТРОЕННОЙ НА (к — 1)-ПОДКОДАХ КОДА РИДА — МАЛЛЕРА

И. В. Чижов, М. А. Бородин

Описаны два вида криптосистем Мак-Элиса, построенных на подкодах кода Рида— Маллера. Изучен вопрос эквивалентных ключей для этих криптосистем. Получен результат о сводимости одной криптосистемы к другой. Приведены алгоритмы, которые позволяют применить атаку Чижова — Бородина к рассматриваемым криптосистемам для некоторых параметров кодов Рида — Маллера.

Ключевые слова: криптосистема Мак-Элиса, подкоды Рида — Маллера, автоморфизмы кодов Рида — Маллера, произведение Шура, квадрат кода.

Криптосистема Мак-Элиса предложена в 1978 г. Р. Дж. Мак-Элисом. Её стойкость основана на предположении сложности декодирования кода общего положения. Оригинальная криптосистема Мак-Элиса строится на двоичных кодах Гоппы. Для повышения эксплуатационных характеристик В. М. Сидельников предложил использовать коды Рида — Маллера [1]. Однако в 2007 г. Л. Миндера и А. Шокроллахи предложили достаточно эффективную атаку на такую криптосистему [2]. Кроме того, в 2013г. Бородин и Чижов ещё больше понизили стойкость этой криптосистемы, а также построили полиномиальную атаку в случае использования кода Рида — Маллера ЯМ(г,т) с такими параметрами, что (г,т — 1) = 1 [3].

Бывает, что атаки на кодовые криптосистемы, работающие в случае использования полного кода, оказываются бесполезными в случае использования некоторых подкодов кода. Так была предложена криптосистема Бергера — Луадро, построенная на подко-дах кода Рида — Соломона. В работе рассматриваются два аналога криптосистемы Бергера —Луадро, построенных на (к — 1)-подкодах кода Рида —Маллера ЯМ (г, т).

Пусть Уп — множество всех двоичных векторов длины п. Известно, что с каждой булевой функцией f (х1,х2,... ,хт) : Ут ^ У1 можно связать вектор значений Qf = ^(0, 0,..., 0), f (0,0,..., 1),..., f (1,1,..., 1)). В дальнейшем не будем делать различий в обозначениях между булевой функцией и её вектором значений. Каждая булева функция может быть представлена полиномом Жегалкина: f (х1, х2,... , хт) = = 0 9f (и)хи, здесь хи = х^1 х^2 ... х^^ и х^ = хг, если иг = 1, и х^ = 1,

«=(«1,«2 ,...,ит)еУт если иг = 0, а gf(и) —некоторая булева функция.

Определение 1. Степенью булевой функции называется наименьшее целое положительное число й, такое, что gf(и) = 0 для всех и веса больше й, т. е. '^(и) > й.

74

Прикладная дискретная математика. Приложение

Определение 2. Кодом Рида — Маллера RM(r, m) называется множество всех векторов значений булевых функций от m переменных, степень которых не превосходит r.

Базисом кода являются все мономы степени r от m переменных:

1 x1, . . . , xm—^ x1x2, • • • , xm—1xm, • • • , x1x2 • • • xr, • • • , xm—r—1 • • • xm. (1)

Для двоичного набора а = (ат—1,... ,а0) символом |а| обозначим представление двоичной строки в виде десятичного числа а, т.е. |а| = а0 + 2а1 + ... + 2m— 1ат— 1. Введём отношение порядка для векторов а, в G Vm. Будем считать, что а < ß, если либо wt^) < wt(ß), либо wt^) = wt(ß) и |а| < |ß|. Тогда можно ввести отношение порядка на множестве мономов: xa < xß, если а < ß.

Определение 3. Стандартной формой порождающей матрицы кода RM(r, m) будем называть матрицу, составленную из всех векторов значений мономов (1), стоящих в порядке возрастания.

Обозначим также символом A(r, m) множество всех таких наборов а = (ат—1, ...,а0), что моном xa входит в стандартную форму порождающей матрицы кода RM(r, m).

Устройство криптосистемы первого типа McE/RM 1(r,m). Для генерации ключей строится стандартная форма порождающей матрицы R кода RM(r, m). Далее выбирается случайная двоичная невырожденная (k х п)-матрица H = (hj) и случайная подстановка а G Sn, представленная в виде перестановочной (n х п)-матрицы Ра. Затем вычисляется матрица G' = H • R • Ра = H • Ra и из неё удаляется первая строка, получается ((k — 1) х п)-матрица G. Секретным ключом криптосистемы является набор (H, Ра) = (H, а), а открытым ключом — матрица G и (r,m) —параметры кода Рида — Маллера, однако, ради удобства, параметры в открытый ключ не включены.

Устройство криптосистемы второго типа McE/RM2(r,m). Для генерации ключей строится стандартная форма порождающей матрицы R кода RM(r, m). Далее выбирается случайный номер i, 1 ^ i ^ k. Из матрицы R удаляется строка с номером i. Получившуюся в результате матрицу обозначим через R[i]. Выбирается случайная двоичная невырожденная ((k — 1) х п)-матрица H = (hij) и случайная перестановочная (n х п)-матрица Ра = (pij). Вычисляется матрица G = H • R[i] • Ра = H • (R[i])CT. Секретным ключом криптосистемы является набор (H, Ра, i) = (H, а, i), а открытым ключом — матрица G.

Определение 4. Два секретных ключа (H1 ,a1) и (H2,a2) называются эквивалентными, если соответствующие им открытые ключи G1 и G2 равны.

В работе решается задача восстановления секретного ключа криптосистемы или эквивалентного ему по открытому ключу.

Пусть (H, а) —некоторый секретный ключ криптосистемы McE/RM 1(r, m); G — соответствующий ему открытый ключ; адь — некоторый автоморфизм кода Рида — Маллера. Тогда для порождающей матрицы R кода Рида — Маллера существует единственная матрица (невырожденная), что Ha,öR = RaA,b.

Теорема 1. Пусть [(H, а)] —класс эквивалентности секретного ключа (H, а) криптосистемы McE/RM 1. Тогда {(HHA,b, а—1ba) : aA,b G Aut(RM(r,m))} С [(H,a)].

Пусть C — произвольный (k — 1)-подкод кода Рида — Маллера RM(r, m). Рассмотрим такой моном /min = xamin , что для всех а' < ат;п моном xa G C, а /min G C. Такой

моном существует и единственный. Пусть а = am¡n. Для всех а' > а либо моном xa Е C, либо xa ф xa Е C, т.е. xa ф a (a') Е C для некоторого а(а') Е {0,1}. Введём вектор а = (а(а') : а' Е A(r, m)). Тогда код C однозначно определяется векторами а и а. Будем в дальнейшем такой код обозначать символом Ca,a(r, m), причём а(а') = 0 для всех а' < а и а(а) = 1. Отметим, что открытый ключ G криптосистемы первого типа — это порождающая матрица кода Caa для некоторого а и а.

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

Определение 5. Пусть C и B — два линейных [n, к]-кода. Произведением C о B назовём код, состоящий из всех возможных произведений кодовых слов c • b, c Е C, b Е B. Здесь c • b = (ci • bi, c2 • b2,..., cn • bn), если c = (ci,..., cn) и b = (bb ..., bn).

Доказаны следующие теоремы.

Теорема 2. Пусть r1 + r2 ^ m. Пусть также а1 Е A(r1,m), а2 Е A(r2,m), причём выполнено одно из двух условий:

1) а1 = а2, а1, а2 > 0;

2) а1 = а2 = а и wt^) ^ 2.

Тогда для любых а1 и а2 выполняется равенство

Cal,ai(r1, m) о Ca2,a2(r2,m) = RM(n + r2,m).

Теорема 3. Пусть 2r < m. Тогда для любых а, таких, что wt^) = 1, либо Ca,a(r, m) о Ca,a(r, m) = RM(2r, m), либо существует такой автоморфизм кода Рида —Маллера RM(r, m), что Ca,a(r, m) о Ca,a(r, m) = C^o'6 (2r, m).

Общая схема атаки на криптосистему первого типа McE/RM 1(r, m): Шаг 1. По матрице G построить порождающую матрицу кода RM(r, m). Шаг 2. Применить атаку Чижова — Бородина к этой матрице. Для реализации первого шага предложен полиномиальный по сложности алгоритм, корректность работы которого доказывается при помощи теорем 2 и 3. Входным значением для алгоритма является открытый ключ криптосистемы McE/RM 1(r, m) — матрица G, которая соответствует подкоду C^a. Выходным значением является порождающая матрица кода RM(r, m). Алгоритм применим для следующих параметров: 2r ^ m — 1 при любом wt^) и для 2r ^ m при wt(a) ^ m — r — 1.

ЛИТЕРАТУРА

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

2. Minder L. and Shokrollahi A. Cryptanalysis of the Sidelnikov cryptosystem // LNCS. 2007. V. 4515. P. 347-360.

3. Бородин М. А., Чижов И. В. Эффективная атака на криптосистему Мак-Элиса, построенную на основе кодов Рида — Маллера // Дискретная математика. 2014. Т. 26. №1. С.10-20.

i Надоели баннеры? Вы всегда можете отключить рекламу.