Научная статья на тему 'Использование модифицированной (u|u+v)-конструкции в криптосистеме McEliece'

Использование модифицированной (u|u+v)-конструкции в криптосистеме McEliece Текст научной статьи по специальности «Математика»

CC BY
85
29
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
(U|U+V) КОНСТРУКЦИЯ / КРИПТОСИСТЕМА MCELIECE / КРИПТОГРАФИЯ НА КОДАХ ИСПРАВЛЕНИЯ ОШИБОК

Аннотация научной статьи по математике, автор научной работы — Красавин А. А.

Предложена модификация (U|U+V) конструкции для использования ее в криптосистеме McEliece, позволяющая уменьшить размер ключа без значительной потери криптостойкости системы.Предложена модификация криптосистемы McEliece на основе предложенной кодовой конструкции.

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

Похожие темы научных работ по математике , автор научной работы — Красавин А. А.

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

Текст научной работы на тему «Использование модифицированной (u|u+v)-конструкции в криптосистеме McEliece»

УДК 004.056.55

А. А. Краем,вин

Московский физико-технический институт (государственный университет)

Использование модифицированной (и|и+У)-конструкции в криптосистеме McEliece

Предложена модификация (U|U+V) конструкции для использования ее в криптосистеме McEliece, позволяющая уменьшить размер ключа без значительной потери криптостойкости системы.

Предложена модификация криптосистемы McEliece на основе предложенной кодовой конструкции.

Ключевые слова: (U|U+V) конструкция, криптосистема McEliece, криптография на кодах исправления ошибок.

A. A. Krasavin Moscow Institute of Physics and Technology (State University)

(U|U | V) modification for McEliece cryptosystem

A modification of (U|U+V) construction for its use in the McEliece cryptosystem is proposed. The proposed algorithm allows us to reduce public key size without a significant loss of system cryptographic strength. A modification of the McEliece cryptosystem based on the proposed code structure is offered.

Key words: (U|U+V) scheme, McEliece cryptosystem, code-based cryptography.

1. Введение

Криптосистема МсЕПесе, предложенная в 1978 году [1], является одним из возможных кандидатов для постквантовой криптографии [2].

Криптосистема МсЕПесе может быть описана следующим образом [1].

Для генерации ключа выбирается линейный д-ичный (п, к, ^)-код С с порождающей матрицей С, для которого известен эффективный алгоритм декодирования ошибок, весом не более Выбираются случайные невырожденные к х к матрица Б ипхп перестановочная матрица Р. В качестве открытого ключа системы публикуется матрица С = Б ■ С ■ Р. Закрытым ключом системы являются алгоритм декодирования кода С и матрицы Б, и Р.

Криптосистема характеризуется следующими параметрами:

Размер открытого ключа: РиЬИсКеуБгхе0 = РКБ0 = п ■ к.

Скорость кода: К0 =

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

с = т ■ С + е. (1)

Для расшифрования сообщения с пользователь вычисляет с = с ■ Р-1, декодирует с алгоритмом декодирования для кода С с ^ {х, е} : с = х ■ О + ей получает т = х ■ Б-1.

Красавин А. А., 2018

Федеральное государственное автономное образовательное учреждение высшего образования «Московский физико-технический институт (государственный университет)», 2018

Оригинальная криптосистема МсЕПесе была построена на кодах Гоппы [1]. Впоследствии для увеличения скорости работы или уменьшения размеров ключей криптосистемы было предложено использовать другие коды, например коды Рида-Маллера [4], обобщенные коды Рида-Соломона [3], ЬБРС-коды [5] и другие. Однако для многих из предложенных вариантов криптосистемы были найдены атаки на структуру матрицы С, позволяющие вычислить закрытый ключ из открытого. Все эти атаки использовали различные особенности данных кодов. Так, атаки на криптосистему МсЕПесе, построенную на кодах Рида Маллера [6] или на полярных кодах [8], использовали поиск слов кода минимального веса.

Для защиты от подобных атак в нескольких работах [4] [7] было предложено использовать (и|и+У)-конструкцию и ее модификации. Данная конструкция позволяет создать код длины п из двух кодов и и V длины ^ каждый:

(и\и + V) = {(и\и + V) : Уи е и,Уу е V}.

При использовании такого кода в криптосистеме МсЕПесе сложность структурных атак на открытый ключ криптосистемы будет основана на задаче выделения порождающих

матриц Си и Су кодов и и V из публичного ключа - матрицы С = 5 ■ ^С^^ ' ^

Данная задача считается вычислительно сложной, а при использовании случайных кодов является МР-сложной [9]. В общем же случае ее принадлежность к классам Р или МР не была доказана.

Недостатком использования (и|и+У)-конструкции в криптосистеме МсЕПесе является увеличение размеров ключей системы по сравнению с размерами ключей оригинальной системы МсЕПесе той же криптостойкости. Так, при использовании (и|11+У) конструкции получатся следующие параметры криптосистемы:

Размер открытого ключа: РКБ = 4 ■ п ■ к = 4 ■ РКБ0. Скорость кода: К = Ц = К0.

2. Модификация (и|и • V) конструкции

Для уменьшения размера порождающей матрицы (и|11+У) кода можно рассмотреть ряд модификаций.

Пусть С - (п, к, й) д-ичный код с порождающей матрицей С и эффективным алгоритмом декодирования ошибок веса менее Пусть К - случайная матрица размером Ь х п.

Можно задать К так, чтобы код С, заданный порождающей матрицей £} = ^^^ был

(п, к + < ^)-кодом.

Если В - порождающая матрица случайного (т,Ь,йв) кода, то код В, заданный порождающей матрицей

'={сгв) •

будет иметь минимальное расстояние:

<1з > тт((1^о + dв). (3)

Чтобы dJ > й, необходимо потребовать, чтобы было выполнено условие do + dв > d, то есть чтобы выполнялось следующее условие:

а > dв > а — d0 > -.

Если В - код с максимальным кодовым расстоянием, например, код Рида-Соломона, тот — Ь + 1 = йв- В этом случае т = Ь + dв — 1, и потому

в

Ь + d — 1 > т >Ь + - — 1.

Пусть В - (Ь+й-1, Ь, > д) код. Код В с порождающей матрицей .], заданной согласно (2), может исправить не менее Ь ошибок по следующему алгоритму декодирования: Пусть принято сообщение с = хЗ + е, ,ы1(е) <

1) с представляется в виде: с = (г!^), длин а 21 равн а щ

2) Перебираются все вектора е.% — д-ичные последовательности длины

3) Для каждого е^ вычисляется ы = 21 — егК\

4) ^ декодируется по алгоритму для кода С %)г = ь^О + ^; <

5) Если вес вектора £ = — В) меньше то х = (щ^), е = иначе повторяются пп. 2-5.

С учетом (3) и параметров выбранного кода В, расстояние кода В больше й и поэтому в результате работы алгоритма декодирования всегда найдется единственное решение. Предложенный алгоритм декодирования по сложности в дь раз хуже алгоритма С

Способ построения кода В из С назван КА-схемой.

3. Использование модифицированной (и|и+У) конструкции в криптосистеме МсЕПесе

Пусть А - случайная матрица размром к х Ь.

Можно заметить, что подкод В1 кода В, заданный порождающей матрицей З1 = {О + АК АВ^, имеет расстояние не меньше При этом код может исправить не менее Ь ошибок по следующему алгоритму декодирования: Пусть принято сообщение с = ХЗ1 + е, ,ы1(е) <

1) с представляется в виде: с = (21^2), длин а £1 равн а п.

2) Перебираются все вектора е^ - д-ичные последовательности длины Ь.

3) Для каждого а вычисляется ы = 21 — егК.

4) Уг декодируется то алгоритму для кода С: Уг = щС + ^, <

5) Если вес вектора £ = — АВ) меньше то х = т ,е = иначе повторяются пп. 2-5.

В1

предложенной КА-схемы, открытым ключом будет являться матрица

3 = Б ■ Зх ■ Р = Б ■ (С + АК АВЬ ■ Р. (4)

При этом для осуществления структурных атак на систему необходимо отделить столбцы матриц С + АК от АВ и слова кода, заданные матрицей С от слов, заданных матрицей АК.

Без знания Р вероятность случайного выбора одного столбца матрицы АВ

1

( ь+а-1 )

Значит, при случайном выборе столбцов в среднем потребуется полиномиальное (от п) число попыток для нахождения одного столбца матрицы АВ.

Решение второй задачи - отделения слов кода, заданных матрицей С от слов, заданных матрицей АК, - сводится к выделению ядра отображения заданного матрицей А, так как:

У а е Кег^А : а ■ (С + АК) = а ■ С е С. (5)

При случайном выборе матриц А, К и В, это возможно сделать только перебором всех векторов пространства Рдк, что требует порядка операций и, потому, является вычислительно сложной задачей.

Значит, структурные атаки на открытый ключ системы будут вычислительно сложными, при этом схема будет обладать следующими параметрами:

РКБ = (п + Ь + й — 1) ■к = п ■к ■ (1 + - +-) = РКБо ■ (2 — ^ +-);

п п п

1

К =-?-;—г = ^о ■-т—г.

п + Ь + й — 1 2 — Яо + —

0 п

4. Модификация криптосистемы МсЕНесе

С учетом предложенных идей можно предложить и следующую модификацию криптосистемы МсЕНесе:

Пусть С - (п, к, й) д-ичный код с порождающей матрицей С и эффективным алгоритмом

матрицы А и К размером к хЬи Ьхп соответственно, случайные невырожденные матрицы 5 и Р, размером к хкжп х п соответственно. Пусть - криптографически стойкая хэш-функция.

В качестве открытого ключа публикуется матрица С = Б (С + АК )Р и хэш-функция

Ю-

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

с = (т<& + е\\к(т\\е)). Для расшифрования сообщения с:

1) Вычисляется с = сР-1 = (С\\С2), длина С\ равна п.

2) Перебираются все вектора е^ - д-ичные последовательности длины Ь.

3) Для каждого ^вычисляется йг = С1 — е.%К.

4) йг декодируется то алгоритму для кода С: йг = х^С + ^, (^) < t.

5) Если С2 = Н(х%, , то вычисляется т = ХгБ-1, иначе повторяются пп. 2-5.

5. Заключение

Предложена модификация (и|11+У) конструкции, позволяющая использовать любые коды в криптосистеме МсЕПесе без существенной потери производительности и увеличения размеров ключей криптосистемы по сравнению с криптосистемами МсЕПесе на тех же кодах, не использующих модификаций. При этом увеличивается стойкость криптосистемы к структурным атакам на открытый ключ.

По сравнению с криптосистемой МсЕПесе, использующей (и|11+У) конструкцию, предложенная модификация позволяет существенно уменьшить размеры ключей криптосистемы.

Литература

1. МсЕНесе R.J. A public-kev cryptosvstem based on algebraic coding theory // DSN Progress Report, Jet Propulsion Laboratory, Pasadena. 1978. P. 114-116.

2. Dinh H., Moore C., Russell A. McEliece and Niederreiter Cryptosvstems That Resist Quantum Fourier Sampling Attacks // Advances in Crvptologv — CRYPTO 2011: 31st Annual Crvptologv Conference, Santa Barbara, CA, USA, August 14-18, 2011, Proceedings. 2011. P. 761-779.

3. Niederreiter H. Knapsack-Type Cryptosvstems and Algebraic Coding Theory // Problems of Control and Information Theory. 1986. V. 15, N 2. P. 159-166.

4. Sidelnikov V.M. A public-key crvptosvtem based on ReedMuller codes // Discrete Math. Appl. 1994. V. 4, N 3. P. 191-207.

5. Baldi M., Chiaraluce F. Crvptanalvsis of a new instance of McEliece cryptosystem based on QC-LDPC codes 11 Proc. IEEE Int. Symposium Inf. Theory - ISIT. 2007. P. 2591-2595.

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

6. Minder L., Shokrollahi A. Crvptanalvsis of the Sidelnikov cryptosystem // Advances in Crvptologv - EUROCRYPT 2007. 2007. V. 4515 of Lecture Notes in Comput. Sci. P. 347360.

7. Corbella I.M., Tillich J.-P. Attaining capacity with iterated (U|U + V) codes based on AG codes and Koetter-Vardv soft decoding // ISIT 2017. 2017. P. 6-10.

8. Bardet M., Chaulet J., Dragoi V., Otmani A., Tillich J.-P. Crvptanalvsis of the McEliece Public Key Cryptosystem Based on Polar Codes // Post-Quantum Cryptography: 7th International Workshop, PQCrvpto 2016, Fukuoka, Japan. 2016. P. 118-143.

9. Debris-Alazard T., Sendrier N., Tillich J.-P. SURF: A new code-based signature scheme arXiv preprint arXiv:1706.08065 2017.

References

1. McEliece R.J. A public-key cryptosystem based on algebraic coding theory. DSN Progress Report, Jet Propulsion Laboratory, Pasadena. 1978. P. 114-116.

2. Dinh H., Moore C., Russell A. McEliece and Niederreiter Cryptosvstems That Resist Quantum Fourier Sampling Attacks. Advances in Crvptologv — CRYPTO 2011: 31st Annual Crvptologv Conference, Santa Barbara, CA, USA, August 14-18, 2011, Proceedings. 2011. P. 761-779.

3. Niederreiter H. Knapsack-Type Cryptosvstems and Algebraic Coding Theory. Problems of Control and Information Theory. 1986. V. 15, N 2. P. 159-166.

4. Sidelnikov V.M. A public-key crvptosvtem based on ReedMuller codes. Discrete Math. Appl. 1994. V. 4, N 3. P. 191-207.

5. Baldi M., Chiaraluce F. Crvptanalvsis of a new instance of McEliece cryptosystem based on QC-LDPC codes. Proc. IEEE Int. Symposium Inf. Theory - ISIT. 2007. P. 2591-2595.

6. Minder L., Shokrollahi A. Crvptanalvsis of the Sidelnikov cryptosystem. Advances in Crvptologv - EUROCRYPT 2007. 2007. V. 4515 of Lecture Notes in Comput. Sci. P. 347360.

7. Corbella I.M., Tillich J.-P. Attaining capacity with iterated (U|U + V) codes based on AG codes and Koetter-Vardv soft decoding. ISIT 2017. 2017. P. 6-10.

8. Bardet M., Chaulet J., Dragoi V., Otmani A., Tillich J.-P. Crvptanalvsis of the McEliece Public Key Cryptosystem Based on Polar Codes. Post-Quantum Cryptography: 7th International Workshop, PQCrvpto 2016, Fukuoka, Japan. 2016. P. 118-143.

9. Debris-Alazard T., Sendrier N., Tillich J.-P. SURF: A new code-based signature scheme. arXiv preprint arXiv:1706.08065 2017.

Поступим в редакцию 01.03.2018

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