Научная статья на тему 'Кодовая система защиты на тензорном произведении расширенных кодов Рида-Соломона'

Кодовая система защиты на тензорном произведении расширенных кодов Рида-Соломона Текст научной статьи по специальности «Математика»

CC BY
210
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРИПТОСИСТЕМА МАК-ЭЛИСА / СТОЙКОСТЬ КРИПТОСИСТЕМЫ / КОД РИДА СОЛОМОНА / ТЕНЗОРНОЕ ПРОИЗВЕДЕНИЕ КОДОВ / ДЕКОДЕР / MAC-ALICE CRYPTOSYSTEM / REED SOLOMON CODE / CRYPTOSYSTEM STRENGTH / TENSOR PRODUCT OF CODES / DECODER

Аннотация научной статьи по математике, автор научной работы — Деундяк Владимир Михайлович, Косолапов Юрий Владимирович, Руденко Мария Андреевна

Изучается новая кодовая система защиты типа Мак-Элиса на тензорном произведении кодов Рида Соломона. Разработана алгоритмическая модель быстрого декодирования для тензорного произведения расширенных кодов Рида Соломона. На основе этой модели построена криптосистема типа Мак-Элиса, у которой в качестве базового кода служит тензорное произведение расширенных кодов Рида -Соломона. Получена теоретическая оценка стойкости построенной системы защиты к атаке на ключ при различных предположениях на возможности атакующего.

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

Похожие темы научных работ по математике , автор научной работы — Деундяк Владимир Михайлович, Косолапов Юрий Владимирович, Руденко Мария Андреевна

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

CODE CRYPTOSYSTEM ON TENSOR PRODUCT OF EXTENDED REED-SOLOMON CODES

Research considers the problem of the Mc-Alice cryptosystem on the tensor product of Reed Solomon codes. The paper develops an algorithmic model of a fast decoding algorithm for the tensor product of Reed Solomon codes. A Mc-Аlice type cryptosystem is constructed on the tensor product of Reed Solomon codes. A theoretical assessment of its resistance to a key attack is given.

Текст научной работы на тему «Кодовая система защиты на тензорном произведении расширенных кодов Рида-Соломона»

ISSN 0321-2653 ИЗВЕСТИЯ ВУЗОВ. СЕВЕРО-КАВКАЗСКИМ РЕГИОН._ТЕХНИЧЕСКИЕ НАУКИ. 2019. № 4

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION. TECHNICAL SCIENCE. 2019. No 4

УДК 519.7 DOI: 10.17213/0321-2653-2019-4-12-21

КОДОВАЯ СИСТЕМА ЗАЩИТЫ НА ТЕНЗОРНОМ ПРОИЗВЕДЕНИИ РАСШИРЕННЫХ КОДОВ РИДА-СОЛОМОНА

© 2019 г. В.М. Деундяк1'2, Ю.В. Косолапое1, М.А. Руденко1

1Южный федеральный университет, г. Ростов-на-Дону, Россия, 2ФГАНУ НИИ «Спецвузавтоматика», г. Ростов-на-Дону, Россия

CODE CRYPTOSYSTEM ON TENSOR PRODUCT OF EXTENDED REED-SOLOMON CODES

V.M. Deundyak1'2, Yu.V. Kosolapov1, M.A. Rudenko1

1Southern Federal University, Rostov-on-Don, Russia, 2FSASE SRI «Specvuzavtomatika», Rostov-on-Don, Russia

Деундяк Владимир Михайлович - канд. физ.-мат. наук, доцент, кафедра «Алгебра и дискретная математика», Южный федеральный университет, ст. науч. сотр. ФГАНУ НИИ «Спецвузавтоматика», г. Ростов-на-Дону, Россия. E-mail: [email protected]

Косолапов Юрий Владимирович - канд. техн. наук, доцент, кафедра «Алгебра и дискретная математика», Южный федеральный университет, г. Ростов-на-Дону, Россия. E-mail: [email protected]

Руденко Мария Андреевна - студентка, кафедра «Алгебра и дискретная математика», Южный федеральный университет, г. Ростов-на-Дону, Россия. E-mail: [email protected]

Deundyak Vladimir Michaylovich - Candidate of Physical and Mathematical Sciences, Associate Professor, Department «Algebra and Discrete Mathematics», Southern Federal University, Senior Researcher, FSASE SRI «Specvuzavtomatika», Rostov-on-Don, Russia. E-mail: [email protected]

Kosolapov Yuriy Vladimirovich - Candidate of Technical Sciences, Associate Professor, Department «Algebra and Discrete Mathematics», Southern Federal University, Rostov-on-Don, Russia. E-mail: [email protected]

Rudenko Mariya Andreevna - Student, Department «Algebra and Discrete Mathematics», Southern Federal University. Rostov-on-Don, Russia E-mail: [email protected]

Изучается новая кодовая система защиты типа Мак-Элиса на тензорном произведении кодов Рида -Соломона. Разработана алгоритмическая модель быстрого декодирования для тензорного произведения расширенных кодов Рида - Соломона. На основе этой модели построена криптосистема типа Мак-Элиса, у которой в качестве базового кода служит тензорное произведение расширенных кодов Рида -Соломона. Получена теоретическая оценка стойкости построенной системы защиты к атаке на ключ при различных предположениях на возможности атакующего.

Ключевые слова: криптосистема Мак-Элиса; стойкость криптосистемы; код Рида - Соломона; тензорное произведение кодов; декодер.

Research considers the problem of the Mc-Alice cryptosystem on the tensor product of Reed - Solomon codes. The paper develops an algorithmic model of a fast decoding algorithm for the tensor product of Reed -Solomon codes. A Mc-Alice type cryptosystem is constructed on the tensor product of Reed - Solomon codes. A theoretical assessment of its resistance to a key attack is given.

Keywords: Mac-Alice cryptosystem; Reed - Solomon code; cryptosystem strength; tensor product of codes; decoder.

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.

TECHNICAL SCIENCE. 2019. No 4

Введение

Однонаправленные функции с секретом являются основой асимметричных криптосистем. Для обеспечения стойкости асимметричной криптосистемы требуется: во-первых, чтобы без секрета по значению функции было вычислительно сложно найти значение аргумента, во-вторых, чтобы при известном секрете эта задача решалась быстро [1]. В 1978 г. Р. Мак-Элисом была предложена и обоснована идея использования помехоустойчивых кодов для построения однонаправленной функции с секретом [2]. Актуальность модифицирования известных и разработка новых кодовых криптосистем связана с развитием квантовых вычислений [3].

Для криптосистем типа Мак-Элиса реализация атак на ключ во многом определяется кодом, который лежит в основе криптосистемы. Отметим, что в настоящий момент классическая криптосистема Мак-Элиса на кодах Гоппы не взломана, но для некоторых других криптосистем типа Мак-Элиса уже существуют эффективные структурные атаки. В частности, для криптосистемы Нидеррайтера [4] на кодах Рида - Соломона, криптосистемы Габидулина-Парамонова - Третьякова [5] на ранговых кодах, криптосистемы Сидельникова [6] на кодах Рида-Маллера имеются атаки, направленные на нахождение секретного ключа по известному открытому ключу [7 - 11].

В настоящей работе в качестве базового помехоустойчивого кода кодовой криптосистемы предлагается применять тензорное произведение С1®С2 двух расширенных кодов Рида -Соломона. С этой целью построен быстрый алгоритм декодирования С\®С2 и разработана на основе произведения С\®С2 кодовая криптосистема, для которой получена теоретическая оценка ее стойкости к атаке на ключ в некоторых предположениях на возможности атакующего.

Работа состоит из пяти разделов. В первом приводятся необходимые сведения о кодах Рида - Соломона и тензорном произведении кодов Рида - Соломона, во втором разработан конструктивный алгоритм декодирования тензорного произведения таких кодов. Третий содержит модель кодовой криптосистемы типа Мак-Элиса на тензорном произведении кодов Рида - Соломона, четвертый - новые общие результаты о стойкости систем типа Мак-Элиса, с помощью которых в пятом разделе проводится анализ стойкости построенной кодовой криптосистемы.

1. Тензорное произведение кодов Рида - Соломона

Ниже будем использовать необходимые сведения из теории кодирования (см., например, [12 - 14]). Зафиксируем конечное поле Fq, примитивный элемент а Е Fq и некоторое целое число к Е [1, q-1]. Пусть В = {1, а, а2,..., а^2} - множество всех ненулевых элементов Fq; Rq(k) -множество всех многочленов степени не выше к-1 с коэффициентами из Fq. Отображением вычисления еив,к будем называть отображение еивк- Rq(k) ^ Fqq"1, сопоставляющее каждому многочлену /(х) Е Rq(k) вектор еив,к(/(х)) = (/(1), /(а), /(а2),..., /(а4-2)). Кодом Рида - Соломона называется образ отображения еив,к. Этот код имеет длину q-1, размерность к и кодовое расстояние d=q—к—1, т.е. является ^-1, к, q-k-1]q-кодом. Расширенные на один символ коды Рида - Соломона это коды, получаемые путем добавления одной дополнительной координаты к коду Рида - Соломона, соответствующей нулевому элементу поля. Расширенный код Рида -Соломона является к, q-k]q-кодом с порождающей матрицей

1 1 1 1 1

0 1 а а2 . . ад~2

0 1 а2 а4 . . а2(*-2)

0 1 а*"1

и проверочной матрицей

-1 1 1 1 1

0 а а 2 а3 . . а"7-1

0 а2 а4 а6 .

0 а2 (*-*) аз (*-*) _ a(q-l)(q->

Под тензорным (кронеккеровым) произведением матрицы А = (ау) размера и матрицы В понимают матрицу вида

A ® В =

а1?1В а iB

1,2

а21В а2

Каг1В аг,2В

а1 ,sB a2,sB

а, „В

Рассмотрим два расширенных кода Рида -Соломона над одним полем: к\, q - к1]-код С

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.

TECHNICAL SCIENCE. 2019. No 4

и [д, кг, д - к2]-код С2. Под тензорным произведением С=С\®С2 понимают код в Гдт, где т=д2, с порождающей матрицей С = где Сг -

порождающая матрица кода Си Тензорное произведение является [т, к1к2, (д-к1)(д-к2)]-кодом [14, с. 327]. Компоненты кодового слова и = (01, и2, ...,иш)еС1®С2 можно записать в виде д*д-матрицы

U1 Uq+1

U 2 U q+2

и

U

2 q

V 9

V 7

V 2

q

2. Алгоритмическое проектирование декодера для тензорного произведения расширенных кодов Рида - Соломона

Отметим, что тензорное произведение обычных кодов Рида - Соломона применяется в различных технических задачах, в частности, в [15] декодеры на основе этих кодов используются в оптических дисках DVD. Для криптографических приложений более интересны тензорные произведения расширенных кодов Рида - Соломона, декодирование которых изучается в этом разделе. В разделе 2.1 представлен исправляющий ошибки декодер DecMisRS расширенного кода Рида-Соломона, а в разделе 2.2 - декодер DecMisErRS этого кода, исправляющий ошибки и стирания. Декодер DecMisTRS для тензорного произведения расширенных кодов Рида - Соломона описан в разделе 2.3.

2.1. Рассмотрим расширенный [q, k, q—k]q-код Рида - Соломона C. Пусть c - кодовый вектор из C, e - вектор ошибок веса t, и = c + e -пришедший по каналу вектор. Алгоритм декодирования расширенного РС-кода DecMisRS основывается на модификации алгоритма Берлекэмпа -Месси [14, с. 303].

Пусть r - счетчик шагов, l -длина регистра сдвига, s = (so, si, ..., sn-1) - вектор синдромов, b = (bo, bi, ..., bn-1) - вспомогательный вектор для сохранения значения предыдущего регистра, Ar - невязка на r-м шаге, t = (to, ti,..., tn-1) - вектор связи, s - число символов расширения. На вход алгоритма из канала поступает вектор и. Если существует такой вектор cEC, что d(u, c) < < (q-k—1)/2, то возвращается вектор c, в противном случае возвращается сообщение об ошибке декодирования.

Алгоритм 1. DecMisRS Вход: Полученный из канала вектор vEFqn. Выход: Если существует такой вектор сЕС, что d(u, с) < (q-k-1)/2, то возвращается вектор с, в противном случае возвращается сообщение об ошибке декодирования.

1: si = Ui, hi = bi = 1, i = 0,..., n-1,

l = r = 0, 8=1 2: While r ф n do 3: r = r + 1, Ar =^i=onairhiSi 4: If r > 2t -8 then 5: Si = Si -Arair, i = 0,..., n-1 6: Else

7: If Ar = 0 then

8: br = a-ibi, i = 0,..., n-1 9: Else

10: If r=2-1 then 11: S2t=S2t-U2t, 8=0 12: end If

13: ti = h(x)-Ara-ibi, i = 0,..., n-1 14: If 2l > r 1 then

15

16

17

18

19

20 21 22 23

hi = ti, bi = a bi, i = 0,..., n-1 Else

bi = Ar-1 hi, hi = ti, i -end If end If end If end While

Ci = Ui -Si.

Return c

0,..., n-1, l = r-l

i = 0,..., n-1

2.2. Для декодирования тензорного произведения расширенных кодов Рида - Соломона необходим алгоритм декодирования расширенного кода Рида - Соломона, исправляющий не только ошибки типа замены, но и ошибки типа стирания. Приведем соответствующую модификацию алгоритма DecMisRS по аналогии с описанным в [14, с. 299] декодером для обычных кодов Рида - Соломона, исправляющим ошибки и стирания. Отметим, что в этой модификации в отличие от [14] отсутствует преобразование Фурье, что упрощает и ускоряет программную реализацию декодера.

Рассмотрим расширенный [д, к, д-к]д-код Рида - Соломона С. Как и выше, пусть с - произвольный кодовый вектор из С, е - вектор ошибок веса t, и = с + е - пришедший по каналу вектор. Код с минимальным расстоянием d= д - к позволяет декодировать любую конфигурацию, содержащую V ошибок и р стираний, при условии, что />2у+1+р. Наибольшее V, удовлетворяющее неравенству при фиксированном р, обозначим через tp; чтобы декодировать принятое слово с р стираниями, необходимо найти кодовое слово, которое в нестертых позициях отличается от принятого не более чем в tp символах.

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.

Пусть r - счетчик шагов; l - длина регистра сдвига; s = (s0, s^..., s„-0 - вектор синдромов; b = (60, b^..., bn-1) - вспомогательный вектор для сохранения значения предыдущего регистра; t = (t0, t1,..., tn-1) - вектор связи; р - количество стираний; f - локатор j-го по счету стирания (j = 1...р). На вход алгоритма из канала поступает и. Если существует такой вектор с 6 С, что d(u, c) < (q-k-1)/2, то возвращается вектор с, в противном случае возвращается сообщение об ошибке декодирования.

Алгоритм 2. DecMisErRS

Вход: Полученный из канала вектор u6Fqn.

Выход: Если существует такой вектор сбС, что d(u, с) < (q-£-1)/2, то возвращается вектор c, в противном случае возвращается сообщение об ошибке декодирования.

1: Si = Ui, hi = bi = 1, i = 0,..., n-1, l = r = 0, s=1 2: While r < р do

3: r = r + 1, hi = hi -fja-i hi, bi = hi, l = l + 1, i = 0,..., n-1, j = 1,..., р 4: end While 5: While r Ф n do

6: r = r + 1, Ar =*£i=o"airhiSi 7: If r > 2t -s then 8: Si = Si -Arair, i = 0,..., n-1 9: Else

10: If Ar = 0 then

11: bi = a-ibi, i = 0,..., n-1

12: Else

13: If r=2-1 then 14: S2t=S2t - U2t, s=0 15: end If

16: ti = h(x)-Ara-ibi, i = 0,..., n-1 17: If 2l > r-1 then 18: hi = ti, bi = a-ibi, i = 0,..., n-1 19: Else

20: bi = Ar'1 hi, hi = ti,i = 0,..., n-1,

l = r-l+р 21: end If 22: end If 23: end If 24: end While 25: ci = Ui -si,,i = 0,..., n-1 26: Return с

2.3. На основе декодеров DecMisRS и DecMisErRS теперь построим декодер DecMisTRS для тензорного произведения расширенных кодов Рида - Соломона, общая схема которого предложена в [14, с. 337].

Рассмотрим два расширенных кода Рида -Соломона [q, £1, q - М]-код С1 и [q, £2, q - fej-код С2 и их тензорное произведение С=С\®С2, т.е. [q2, к\к2, (q-к\)(q-к2У]-код с порождающей матрицей G=G\®G2. Без ограничения общности предположим, что £2 > k\, следовательно, d\ > d2,

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

TECHNICAL SCIENCE. 2019. No 4

где di=q-ki - наименьшее кодовое расстояние кода Ci. Далее будем полагать, что количество ошибок в слове не более чем t = [(did2-1)/2]. Задача декодера DecMisTRS, исправляющего в C=Ci®C2 только ошибки типа замены, состоит в вычислении некоторого кодового слова, находящегося от принятого слова не далее t = (dd — 1)/2, так как такое слово единственно.

В соответствии с подходом из [14, с. 337] декодер DecMisTRS строится из двух частей. Первая часть - это специальным образом применяемый декодер DecMisRS. Без потери общности предположим, что кодовое слово передается по столбцам, и будем рассматривать столбец как отдельно декодируемый подблок. Воспользуемся декодером DecMisRS для коррекции каждого столбца. Если обнаружена неисправляемая ошибка, то столбец помечается символом стирания. Вторая часть декодера DecMisTRS основана на применении DecMisErRS для исправления каждой строки при условии, что некоторые столбцы были стерты во время обработки кодового слова по столбцам. На выходе получаем декодируемый вектор сообщения.

3. Криптосистема типа Мак-Элиса

3.1. Приведем необходимые сведения о криптосистемах типа Мак-Элиса [1, 2]. Рассмотрим произвольный линейный [«Дй^-код C с порождающей матрицей G(C). Этот код позволяет гарантированно исправить t = [(d-1)/2] ошибок. Пусть GL(n,Fq) - группа всех обратимых (п*п)-матриц над полем Fq, а MP« - группа всех перестановочных («*«)-матриц.

Под криптосистемой типа Мак-Элиса McE(C) на основе [«^А^-кода C понимается асимметричная криптосистема, в которой секретный ключ kSec - пара (SP), где S(e GL(k,Fq)) и P(eMP„) - случайные матрицы, а открытый ключ kpub - пара (Got), где Go=SG(C)P, t = [(d-1)/2]. Отправитель сообщения s(EFqk) шифрует его по следующему правилу:

z = sG0 + e,

где вес Хэмминга добавляемой ошибки e = (e1,...,e„) удовлетворяет неравенству: wt(e) < t. Предполагается, что вектор ошибок e выбирается случайно и равновероятно из множества векторов веса не более t. Для расшифрования сообщения s получателем используется секретный ключ kSec. s = DecG(C)(zP—1)S—1, где DecG(C). F ^ F - декодер кода C, гарантированно исправляющий t ошибок и восстанавливающий вектор s (отметим, что

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.

TECHNICAL SCIENCE. 2019. No 4

этот декодер зависит от выбора порождающей матрицы О(С)). Кроме декодера DecG(c) понадобится декодер Decc: Р ^ С, возвращающий кодовое слово.

Пару (5', Р), где е вЩрд), Р 6 МРп, будем называть подходящим секретным ключом, если 5'С(С)Р' = Оо. Известно, что Р'Р-1ЕРЛи1(С), где РЛи1;(С) - группа перестановочных автоморфизмов кода С [12]. Из последнего вытекает, что существует такая матрица 5е ОЬ(к,Рд), что

в(С) Р( Р?)-1 = ЯО(С).

3.2. Построим криптосистему типа Мак-Элиса на тензорном произведении расширенных кодов Рида - Соломона. Рассмотрим [п,к,^д-код С, представляющий собой тензорное произведение С10С2 расширенных кодов Рида - Соломона и описанный в разделе 1, в частности,

п=д2, к=к1к2, d=dld2=(q- к1)(д-к2).

Пусть О—О(С) - порождающая матрицы кода С. Для генерации открытого и секретного ключей следует произвести следующие действия:

1. Выбрать случайную матрицу S—Skxk из вЩРд).

2. Выбрать случайную матрицу Р—Рпхп из

МРп.

3. Вычислить произведение матриц Со(С10С2) = 5£(С1®С2)Р.

В соответствии с разделом 3.1 секретным ключом ksec криптосистемы Мак-Элиса над кодом С—С10С2 является пара (5, Р), а открытым ключом криь - пара (Оо^), где t = [^-1)/2]. Для того чтобы зашифровать сообщение М, следует выполнить следующие действия:

1. Представить сообщение в виде вектора т длины к над полем Рд.

2. Выбрать случайный вектор ошибок ебрд1 веса не более t.

3. Вычислить вектор г = тОо (С10С2) + е и передать его по каналу.

Для того чтобы расшифровать полученное из канала сообщение г, следует выполнить следующие действия:

1. Вычислить обратную матрицу Р-1.

2. Вычислить ц = гР-1.

3. Используя алгоритм DecMisTRS по ц, найти т1.

4. Вычислить т — т15-1.

На языке С++ разработано программное средство, реализующее эту криптосистему.

4. О стойкости систем типа Мак-Элиса, основанных на некоторых кодовых конструкциях

Для криптосистем типа Мак-Элиса актуальна задача нахождения таких линейных кодов, которые бы, с одной стороны, обеспечивали высокую стойкость к атакам на ключ и шифрограмму, а с другой стороны, для которых известен эффективный декодер. С этой целью в [16] предложена криптосистема типа Мак-Элиса на линейном [Хп,Хк]д-коде К(Х,С), индуцированном линейным [п,к]д-кодом С, где X - натуральное число, являющееся параметром безопасности криптосистемы. Для ряда кодов С с известным быстрым декодером, например, для двоичных кодов Рида - Маллера, известны способы построения быстрых декодеров для соответствующих индуцированных кодов К(Х,С). Найденный в [16] алгоритм атаки на ключ криптосистемы типа Мак-Элиса на индуцированном коде К(Х,С), который находит подходящий секретный ключ, имеет сложность, экспоненциально зависящую от стойкости криптосистемы типа Мак-Элиса на коде С. В [17] построен другой алгоритм атаки на ключ этой кодовой криптосистемы, сложность которого меньше сложности алгоритма, построенного в [16], однако она также имеет экспоненциальную зависимость от стойкости системы на коде С. Таким образом, построенные в работах [16] и [17] криптоаналитические алгоритмы нахождения подходящих секретных ключей до настоящего времени свидетельствовали о целесообразности использования индуцированных кодов в криптосистеме типа Мак-Элиса. Однако в [18] найден алгоритм атаки на ключ криптосистемы на коде К(Х,С), в котором нахождение подходящего секретного ключа этой системы за полиномиальное по Хп число операций сводится к нахождению подходящего секретного ключа криптосистемы на коде С. В основе построенного в [18] алгоритма лежит тот факт, что код К(Х,С) в категории линейных векторных пространств изоморфен прямой сумме X подпространств п-мерного векторного пространства над полем Рд, совпадающих с кодом С:

(X слагаемых). Таким образом, в [18] показано, что применение индуцированного кода К(Х,С) в криптосистеме типа Мак-Элиса не усиливает стойкость этой криптосистемы по сравнению с

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.

TECHNICAL SCIENCE. 2019. No 4

системой МсЕ(С). Представляется, что не усиливается стойкость криптосистемы типа Мак-Элиса и в более общем случае - на прямой сумме разных кодов.

Заметим, что для тензорного произведения С1®С2 кодов С1 и С2 на настоящий момент неизвестно, может ли код С\<£)С2 быть представлен в виде К(к,С) = С®...©С или в виде прямой суммы нескольких кодов. Поэтому атака из [18] для криптосистемы МсЕ(С1®С2) не применима.

5. Анализ стойкости МсЕ(С1®С2) к атакам на ключ

Рассмотрим [т,к^1^-код С1, [тМ^^-код С2 и криптосистему МсЕ(С), где С = С1&С2 является [тя2, к1к2, dld2]q-кодом. В качестве модели нарушителя рассмотрим противника, целью которого является нахождение подходящего секретного ключа для правильного расшифрования криптограмм. Предполагается, что наблюдатель имеет алгоритм Аиаскг со сложностью 0-, с помощью которого может быть эффективно найден подходящий секретный ключ для криптосистемы МсЕ(С-), I = 1,2. Будем полагать также, что если на вход алгоритма Айаск подается матрица, не являющаяся открытым ключом криптосистемы, то за полиномиальное от размера матрицы время алгоритм возвращает сообщение об ошибке 1.

В разделе 5.1 описана структура публичного ключа в случае отсутствия перестановки столбцов, в 5.2 - криптоанализ в некотором простом случае, но с перестановкой столбцов, а в разделе 5.3 - криптоанализ в общем случае.

5.1. Порождающая матрица кода С = С10С2 имеет вид в(С) = С(С0®С(С2). Тогда (к^хк^)-матрица 5 (часть секретного ключа к^ес) может быть представлена в блочном виде:

S =

>0,0

St

0,1

S

1,1

Зщ-1

^^-1,0 Sk1-JJ

s-t

где Sj - (fox ^-матрица, ij = 0,..., ki—1. Поэтому

S • G (C) =

X S0jglj G (C2)

j=0

Е1^ G (C2)

j=0

x S0jglj9mG(C2)

j=0

kY,Shjg),nG(C2)

7=0

YSkl-xjg)ß(C2) ...

\J=0 7=0 у

Для каждого I Е{1,...,щ} блочный столбец этой матрицы представим в виде

11 Ч ( С2)

]=с

k1-1

2 Яjg)jG(C2)

j=0

k1 -1

Z Sk1 -1,jg),iG(C2)

j=0

St =

30,0

Sk1 -1,0 )

= Sf G (Ci),

go, /+••■ +

S

S0,k1 -1

V Sk1 - 1,k1 -1 j

5.2. Рассмотрим группу MP и ее под-

группу вида

©

п2> п1

= {(V®In2)diag(Dl,...,Dni):

V е МРЩ,Di е MPm,i = 1,...,П1},

п2

где /П2 - единичная (п2 х П2)-матрица (см. [16],

лемма 3). Если в криптосистеме МсЕ(С1®С2) перестановочная матрица Р принадлежит множеству

®п п , то матрица публичного ключа имеет вид

С'=(^а)с?(с2)А I.. .1 л;0г|)ас2)дг|),

где v - подстановка, соответствующая перестановочной матрице V.

Рассмотрим алгоритм, с помощью которого может быть найдена матрица P, позволяющая в ряде случаев расшифровывать сообщение. Алгоритм 3. Attac£Wea£Tensor Вход: Матрица G' Выход: P'(6 0n2,n1).

1: For j 6{1;...;n1} do

2: выбрать из матрицы G' столбцы с

номерами (j -1)n2 + 1,...jn2; 3: из выбранных столбцов составить

матрицу G'; 4: в G'j выбрать £2 линейно независимых строк;

5: из выбранных строк составить матрицу Gj; 6: (S 'j, D j) = Attack(Gj);// найти секретный ключ для мсе(С2) If (Sj, D'j) == 1 then Return 1

end If 10: end do

11: P:= diag( D'1,..., D'm); 12: Return P

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.

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

TECHNICAL SCIENCE. 2019. No 4

Нетрудно показать, что сложность этого алгоритма равна й(п^2).

Покажем, как матрица Р = AttackWeakTen-sor(О,) может применяться для расшифрования шифрограммы вида

тО'+ в = с, (е) < г = |_(йхй2 -1)/2].

Так как ВЩ ')-1 6 РЛи1(С2), то

где S'v(i) - невырожденная (fe х ^-матрица, i = 1,...,n1. Следовательно,

cP-^miS^S'^GiCz)]...]

Sv (n1) SV (n1)G (C2)) + eP

Вектор cP-1 представим как конкатенацию ni векторов Ci', i = 1,..., П1, каждый из которых длины n2. Аналогично представим вектор e'P-1. Тогда

с\ =mSv(i)Sv(i)G(C2) + e)> i = l,...,ih.

Теорема 5.1. Пусть K - код с порождающей матрицей G' P-1, Беек: F""' 2 ^K - декодер

этого кода, c = mG'+ e = c, wt(e) < t = |_(^2 - 1)/2j. Если

wt(DeeK(cP-1) - cP-1) < [(d1d2-1)/ 2 J и Dec^cl^1) E K9 то

Dec k(cP-l) = rn(SvmSHl)G(C2)\...\

Sv (n1) Sv (n1)G (C2)).

Доказательство вытекает из того, что кодовое расстояние кода K равно d1d2, так как K -перестановочно эквивалентный коду С1&С2.

Теорема 5.2. Если wt(e'i) [(d2-1)/2J для

i = 1,...,n1, то для декодера DecK Fn1,n ^ K вида:

Dec, (cP"1) = (Decc (c '1),...,Decc (c'n1>).

Выполняется

Dec k(cP~l) = m(Sv{l)S'vmG(C2) |... | Sv{nl)Sm}G(C2)).

Доказательство. Если wt(e \)<[(d2- 1)/2J, то Decc(e'i) = mSSiG(Ci).

Отметим, что в результате применения построенного алгоритма будет найден вспомогательный ключ, который позволяет, при выполнении условий теоремы 5.2, дешифровать сообщения. Рассмотрим способ, в котором при шифровании вектор ошибок выбирается случайно и равновероятно из множества векторов веса t =[^^2-1)/2], Г =[^2-1)/2]. Тогда, как следует из [19], вероятность выполнения условий теоремы 5.2 вычисляется по формуле

Pt ,n1,i ~'

^+1 J (_iy

/ \

W /

t - (t' +1) j + n1 -1 n1-1 .

/п1п2Л

V t /

Например, в случае тензорного произведения двух классических [31,21,11]з2-кодов Рида -Соломона имеем: Рбо,з1,5 1х10-76. Отсюда получаем, что вероятность выполнения условий теоремы 5.2 для этого способа генерации ошибок пренебрежимо мала.

Рассмотрим другой способ генерации ошибок, в котором ненулевое значение каждой координаты вектора ошибок генерируется независимо с вероятностью ^(п1п2). Такой способ генерации не является новым для криптосистем типа Мак-Элиса и применяется, например, в [20]. В рамках такого способа при среднее

число ненулевых значений в любых щ координатах будет ^т. Для рассмотренного выше примера в каждом блоке длины 32 в среднем будет 2 ошибки, поэтому условия теоремы 5.2 будут выполняться почти всегда.

Таким образом, вероятность выполнения условий теоремы 5.2 зависит от способа генерации ошибок, добавляемых при шифровании.

5.3. Криптоанализ в общем случае. Пусть

множество

MP / 0

М1П1П2 7 0П2,П1

= {©1v--5© ^ }-

фактор-классов группы МРщп^ по подгруппе ©пп , тогда из определений MPn^ и ©^ вытекает

Ln1n2

( n1n2 )! \!(n2!)n1

Используя формулу Стирлинга, получаем

L

'щп2

n1 nn1( n2-1)

( n-1)/2

(1,07714)n1

n1( n2 -1)

(n-1)/2 •

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.

TECHNICAL SCIENCE. 2019. No 4

Рассмотрим случай, когда перестановочная матрица Р, на основе которой строится публичный ключ С', принадлежит МРпп . Тогда один из смежных классов имеет вид: 0 Р = {WP: ШЕ0 },

п2 п2 П

поэтому для любого представителя П этого смежного класса получаем

G' П"1 = SG(C)W ~1.

Матрица СП-1 имеет вид, подходящий для использования алгоритма AttackWeakTensor, так как ШЛЕ 0 .

П2,П

Итак, идея, лежащая в основе криптоанализа, заключается в переборе представителей П смежных классов из фактор-множества

МРЩПг / 0 ^ и применении к матрице СП-1

алгоритма AttackWeakTensor. Найденная алгоритмом AttackWeakTensor матрица Р используется для построения декодера Бее^ (см. теорему 5.2). Способ нахождения матрицы Р в общем случае реализован в алгоритме AttackTensor, где

не более £ раз происходит обращение к алгоритму AttackWeakTensor, сложность которого

Алгоритм 4. АйаекТе^ог. Вход: Матрица С'. Выход: Р'.

For ©бМРвм/©^ do

выбрать любую матрицу П из ©; P = AttackWeakTensor( G П-1); If P ф 1 then

выйти из цикла; end If end do Return P

Из доказанного выше получаем, что сложность нахождения матрицы, позволяющей в ряде случаев успешно дешифровать сообщение, составляет

0(4^ nQ2)-О

(1,07714)

п П

П(п2-1)+1Q ^

п

(п1-1)/2

Так как криптоаналитик может легко найти такие перестановочные матрицы М1 и М2, что С(С1)®С(С2)= М1(С(С2)®С(С1)^М2, то в общем случае сложность построенного способа криптоанализа составляет 0(шт {^, Г2}), где

T1 = (1,07714)п П-

П(П2-1)+1

02

T2 = (1,07714)

(n1-1)/2

''2

n2(n1-1)+1

n2 n2

Q1

, (n2-1)/2

1

Отметим, что на каждой итерации цикла в алгоритме Attac£Tensor выполняется опробование одной перестановочной матрицы из множества 0 мощности L . Фактически в цикле

выполняется перебор ключей. В настоящее время согласно [21] считается, что полный перебор ключей по множеству мощности 2128 и более вычислительно неосуществим. Рассмотрим число log2 L п . Из приведенной выше оценки для

L получаем

log2 ЬЧП2 ~ n lo§2 (1,07714) +

+ni(n2 " 1)log2 n1 " (n1 " 1)/2log2 n2 >

> n1 (n2 "1) log2 n1 " (n1 "1) / 2 log2 n2 •

Эта оценка позволяет найти такие n1, n2, при которых log2 L больше 128.

Приведем расчеты сложности атаки на ключ для криптосистемы Мак-Элиса на тензорном произведении кодов С1&С2, где С - код Рида - Соломона, i6{1;2}. Коды С и С2 над полем Fq имеют одинаковую длину n = q. Поэтому парам (п1,П2) и (n2,m) соответствует пара (n,n), и, следовательно, сложность криптоанализа составляет О ((1,07714)n(nn(n-\>+\ Q)/(n(n-r>/2)).

Пусть K(n,n) - количество перебираемых ключей в атаке Attac£Tensor на криптосистему мсе(С1®С2), где С - код Рида - Соломона длины n (табл. 1).

Таблица 1 / Table 1 Значения величины flog2 K(n,n)] / Values flog2 K(n,n)]

n 2 3 5 7 8 9 11 13 16 17 19

[log2 K(n,n)l 2 9 24 77 117 167 298 472 819 959 1274

Из результатов таблицы вытекает, что криптосистема Мак-Элиса на тензорном произведении расширенных кодов Рида - Соломона является стойкой к структурным атакам на ключ при длине кода п = 8 над полем F9.

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION.

Заключение

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

В работе сконструирована алгоритмическая модель декодера для тензорного произведения расширенных кодов Рида - Соломона, построена кодовая криптосистема на тензорном произведении таких кодов и исследована стойкость этой криптосистемы. Найдены параметры, при которых криптосистема является практически стойкой. Особенностью разработанной криптосистемы является использование в качестве базового помехоустойчивого кода тензорного произведения расширенных кодов Рида - Соломона, причем для кодов-сомножителей имеется быстрый алгоритм декодирования, но криптосистемы на этих кодах взломаны.

Литература

1. Алферов А.П., Зубов А.К., Кузьмин А.С., Черемушкин А.В. Основы криптографии. М.: Гелиос АРВ, 2002. 480 с.

2. McEliece R.J. A Public-Key Cryptosystem Based On Algebraic Coding Theory. DSN Progress Report, 1978, pp. 42 - 44.

3. Bennett C.H., BraSSard G. Quantum Cryptography: Public Key Distribution and Coin Tossing // Proceedings of International Conference on Computers, Systems & Signal Processing, Dec. 9-12, 1984, Bangalore, India. IEEE, 1984. P. 175.

4. Niederreiter H. Knapsack-Type Cryptosystem and Algebraic Coding Theory, Probl. Control and Inform. Theory, 15. 1986. Рр. 94 - 34.

5. Gabidulin E.M. [et al.J. Ideals Over a Non-Commutative Ring and Their Application in Cryptology, Advances in Cryptology EUROCRYPT91 / Ed. by D.W. Davies. Lect. Notes in Comp. Sci., 547. 1991. Рр. 482 - 489.

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

TECHNICAL SCIENCE. 2019. No 4

7. Sidel'nikov V.M., Shestakov S.O. On an Encoding System Constructed on the Basis of Generalized Reed - Solomon Codes. Discrete Mathematics and Applications. 1992. Vol. 2, no. 4, pp. 439 - 444.

8. Wieschebrink C. Cryptanalysis of the Niederreiter Public Key Scheme Based on GRS Subcodes. Third International Workshop, PQCrypto, Springer, Berlin, 2010, pp. 61-72.

9. Deundyak V.M., Kosolapov Yu.V. On the Berger-Loidreau Cryptosystem on The Tensor Product of Codes // Journal of Computational and Engineering Mathematics. 2018. no. 2. P. 16 - 33.

10. Minder L., Shokrollahi A. Cryptanalysis of the Sidelnikov cryptosystem. Lect. Notes Comput. Sci. 2007. Vol. 4515. Pp. 347 - 360.

11. Borodin M.A., Chizhov I.V. Efficiency of attack on the McEliece cryptosystem constructed on the basis of Reed-Muller codes // Discrete Math. Appl. 2014. Vol. 24. no. 5. Pp. 273 - 280.

12. Сидельников В.М. Теория кодирования. М.: Физматлит, 2008. 324 с.

13. Деундяк В.М., Маевский А.Э., Могилевская Н.С. Методы помехоустойчивой защиты данных. Ростов н/Д.: Изд-во ЮФУ, 2014. 309 с.

14. Блейхут Р. Теория и практика кодов, контролирующих ошибки. М.: Мир, 1986. 576 с.

15. Егоров С.И., Кривонос А.В., Титов В.С. Декодирование произведений кодов Рида - Соломона в каналах с группированием ошибок // Телекоммуникации, 2018, № 11.

16. Деундяк В.М., Косолапов Ю.В. Криптосистема на индуцированных групповых кодах // Моделирование и анализ информ. систем. 2016. Т. 23. № 2. С. 137 - 152.

17. Косолапов Ю.В., Шигаев А.Н. Об алгоритме расщепления носителя для индуцированных кодов // Моделирование и анализ информ. систем. 2018. Т. 25, № 3. С. 276 -290.

18. Деундяк В.М., Косолапов Ю.В. Об уточнении стойкости криптосистем на индуцированных кодах // СИТ0-2019: материалы конф. Таганрог; Ростов н/Д., 2019. С. 103 - 105.

19. Сачков В.Н. Введение в комбинаторные методы дискретной математики. М.: МЦНМО, 2004, 424 с.

20. Dottling N., Dowsley R., Muller-Quade J., Nascimento A.C. A A CCA2 Secure Variant of the McEliece Cryptosystem // IEEE Trans. Inf. Theory, 2012. Vol. 58. no. 10. Pp. 6672 - 6680.

21. Lenstra A.K., Verheul E.R. Selecting Cryptographic Key Sizes // Journal of Cryptology. 2001. Vol. 14. Pp. 255 - 293.

References

1. Alferov A.P., Zubov A.K., Kuz'min A.S. Cheremushkin A.V. Osnovy kriptografii [Fundamentals of Cryptography Tutorial]. Moscow: Gelios ARV, 2002, 480 p.

2. McEliece R.J. A Public-Key Cryptosystem Based On Algebraic Coding Theory. DSN Progress Report. 1978. Pp. 42 - 44.

3. Bennett C.H., Brassard G. Quantum Cryptography: Public Key Distribution and Coin Tossing // Proceedings of International Conference on Computers, Systems & Signal Processing, Dec. 9 - 12, 1984, Bangalore, India. IEEE, 1984. 175 p.

4. Niederreiter H., Knapsack-Type Cryptosystem and Algebraic Coding Theory, Probl. Control and Inform. Theory, 15. 1986. Pp. 94 - 34.

5. Gabidulin E.M. et al., Ideals Over a Non-Commutative Ring and Their Application in Cryptology, Advances in Cryptology EUROCRYPT91 / Ed. by D.W. Davies. Lect. Notes in Comp. Sci., 547, 1991. Pp. 482 - 489.

6. Sidel'nikov V.M., Otkrytoe shifrovanie na osnove dvoichnykh kodov Rida - Mallera [Open Encryption Based on Reed - Muller Binary Codes]. Diskretnaya matematika, 6:2, 1994, pp. 3 - 20. (In Russ.)

7. Sidel'nikov V.M., Shestakov S.O. On an Encoding System Constructed on the Basis of Generalized Reed - Solomon Codes. Discrete Mathematics and Applications. 1992. Vol. 2. No. 4. Pp. 439 - 444.

8. Wieschebrink C. Cryptanalysis of the Niederreiter Public Key Scheme Based on GRS Subcodes. Third International Workshop, PQCrypto, Springer, Berlin. 2010. Pp. 61 - 72.

ISSN 0321-2653 IZVESTIYA VUZOV. SEVERO-KAVKAZSKIYREGION. TECHNICAL SCIENCE. 2019. No 4

9. Deundyak V.M., Kosolapov Yu.V. On the Berger-Loidreau Cryptosystem on The Tensor Product of Codes // Journal of Computational and Engineering Mathematics. 2018. No. 2. Pp. 16 - 33.

10. Minder L., Shokrollahi A. Cryptanalysis of the Sidelnikov cryptosystem. Lect. Notes Comput. Sci. 2007. Vol. 4515. Pp. 347 - 360.

11. Borodin M. A., Chizhov I. V. Efficiency of attack on the McEliece cryptosystem constructed on the basis of Reed - Muller codes. Discrete Math. Appl. 2014. Vol. 24. No. 5. Pp. 273 - 280.

12. Sidel'nikov V. M. Teoriya kodirovaniya [The coding theory]. Fizmatlit, 2008, 324 p.

13. Deundyak V.M., Maevskii A.E., Mogilevskaya N.S. Metody pomekhoustoichivoi zashchity dannykh [Methods of robust data protection]. Rostov n/D: Publ. YuFU, 2014, 309 p.

14. Bleikhut R. Teoriya ipraktika kodov, kontroliruyushchikh oshibki [Theory and practice of codes that control errors]. Moscow: Mir, 1986, 576 p.

15. Egorov S.I., Krivonos A.V., Titov V.S. Dekodirovanie proizvedenii kodov Rida-Solomona v kanalakh s gruppirovaniem oshibok. [Decoding of Reed - Solomon codes in channel with error grouping]. Telekommunikatsii, 2018, no. 11, pp. 15 - 22. (In Russ.)

16. Deundyak V.M., Kosolapov Yu.V. Kriptosistema na indutsirovannykh gruppovykh kodakh [Cryptosystem on induced group codes]. Model. i analiz inform. sistem, 2016, no. 2, pp. 137 - 152. (In Russ.)

17. Kosolapov Yu.V., Shigaev A.N. Ob algoritme rasshchepleniya nositelya dlya indutsirovannykh kodov [On the carrier splitting algorithm for induced codes]. Model. i analiz inform. sistem, 2018, no. 3, pp. 276 - 290. (In Russ.)

18. Deundyak V.M., Kosolapov Yu.V. Ob utochnenii stoikosti kriptosistem na indutsirovannykh kodakh [On clarifying the resistance of cryptosystems on induced codes]. SITO-2019, 2019, pp. 61 - 62. (In Russ.)

19. Sachkov V.N. Vvedenie v kombinatornye metody diskretnoi matematiki [Introduction to combinatorial methods of discrete mathematics]. Moscow, 2004, 424 p.

20. Dottling N., Dowsley R., Muller-Quade J., Nascimento A.C.A A CCA2 Secure Variant of the McEliece Cryptosystem. IEEE Trans. Inf. Theory. 2012. Vol. 58. No. 10. Pp. 6672 - 6680.

21. Lenstra A.K., Verheul E.R. Selecting Cryptographic Key Sizes. Journal of Cryptology. 2001. Vol. 14. Pp. 255 - 293.

Поступила в редакцию /Receive 10 июля 2019 г. / July 10, 2019

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