УДК 519.688
3. X. Нгуен
Московский физико-технический институт (государственный университет)
Криптосистема, основанная на новых ранговых кодах
Криптосистемы с открытым ключом или асимметричные криптосистемы, характеризуются тем, что ключ зашифрования является общедоступным, а ключ расшифрования является секретным и известен только получателю зашифрованного сообщения. В настоящее время основные варианты асимметричных криптосистем основаны на использовании трудных вычислительных задач, таких как разложение целого числа на множители или задачи дискретного логарифма. Менее популярными являются асимметричные криптосистемы, основанные на линейных кодах. Однако в перспективе они могут вытеснить криптосистемы на других принципах, так как с появлением квантовых компьютеров последние станут не стойкими. Ниже будет описана асимметричная криптосистема на линейных кодах в ранговой метрике.
Ключевые слова: ранговые коды, система ГПТ, порождающая матрица.
D. Н. Nguyen Moscow Institute of Physics and Technology (State University)
Cryptosystem based on new rank metric codes
The characteristic feature of public key cryptosystems or asymmetric cryptosystems is that the encryption key is public and the decryption key is secret and known only to the recipient of the encrypted message. At present, the main versions of asymmetric cryptosystems are based on the use of difficult computational problems, such as the factorization of an integer or the problems of a discrete logarithm. Asymmetric cryptosystems based on linear codes are less popular. However, in the future they can displace cryptosystems on other principles, since with the advent of quantum computers the latter will not be stable. Below, an asymmetric cryptosystem on linear codes in a rank metric will be described.
Key words: rank codes, cryptosystem GPT, generator matrix.
1. Введение
Пусть СР(д) - базовое конечное поле, а СР(дт) - его расширение степени т. Пространство векторов СР(дт)т длины т, снабдим ранговой весовой функцией: ранговый вес вектора д = (д\ д2 ...дт) € СР(дт)т равен максимальному числу координат, линейно независимых над базовым полем.
Линейное пространство векторов размерности п над расширенным полем СР(дт) обозначается СР(дт)п. Оно состоит из векторов с координатами из расширенного поля:
V = [ад VI ■■■ адп - 1] ,ьг,3 € СР(дт). (1)
Ранг вектора V определяется как максимальное число линейно независимых над основным полем СР(д) координат вектора.
В этой статье мы рассмотриваем только случай когда п = т. © Нгуен З.Х., 2018
(с) Федеральное государственное автономное образовательное учреждение высшего образования «Московский физико-технический институт (государственный университет)», 2018
Векторным ранговым кодом V называется любой набор векторов из векторного пространства GF (qm)m.
Ранговым, расстоянием d векторного кода V называется наименьший ранг попарных разностей кодовых векторов:
d = min Rk(vi — v2), vi, v2 E V.
V1=V2
Линейный векторный ранговый [т, к, й]-код над СР(дт) — это й-мерное подпространство пространства векторов СР(дт)т с ранговым расстоянием й. Число векторов в ^-мерном подпространстве равно дтк.
Из границы Синглтона следует
к < т — й + 1.
Если достигается знак равенства, то код называется кодом с максимальным ранговым расстоянием (МРР-кодом).
Линейные ранговые коды определяются порождающейся матрицей [1]:
Gk
i
9\
q1
91
92
91
q1
92
qk-l „fc-1 \9i 92
9m
9m q1
9m
qk-1
9m
E GF(qm)r
(2)
2. Система ГПТ
Система ГПТ с открытым ключом предложена Габидулиным, Парамоновым, Третьяковым в 1991 году [2]. Открытый текст - это любой й-вектор т = ( т\, т2,..., тк), т1 Е СР(дт) Открытый ключ - это к х (т + ¿) матрица.
G
риЬ
S(Y Gk)P.
(3)
Здесь Сриь Е СР(дт)кхт — это открытый ключ, известный всем пользователем. Матрица в Е СР(дт)к*к - это строчный скремблер, который перемешивает строки последующих матриц.
Матрица У Е СР(дт)к*1 — это матрица искажения, имеющая ранг Матрица (2) - порождающая матрица рангового кода.
Матрица Р Е СР_ Это столбцевой скремблер, который перемешивает столбцы матрицы (У
Секретные ключи - это матрицы Б, У, С к, Р и быстрый алгоритм декодирования МРР кода.
Шифрование: Пусть т - открытый текст. Тогда шифротекст задается соотношением
с = тСриЬ + еаН, (4)
где - вектор искусственной ошибки рангового веса Ь2 < Ь = (п — к + 1)/2.
Расшифрование: После получения шифротекста с легальный пользователь вычисляет:
С =(с 1, С2, ■ ■ ■ , сц+ш) = сР- = шБ [У Ск + X] + еР-
Из вектора с извлекает подвектор:
с' = (с^ ■■■ , СН +т) = тБСк + тБХ + е^ (5)
где еаН - подвектор еР-1. Применяя к век тору с быстрый алгоритм декодирования, легальный пользователь находит вектор тБ и открытый текст как вектор т. Атаки Овербека: Овербек в работе [3] предложил следующую структурную атаку, цель которой восстановить закрытые ключи Сриь.
Искусственная ошибка еа^ является исправляемой ранговой ошибкой. Столбцевой скремблер Р нужно выбрать так, чтобы вектор являлся исправляемой ранговой
ошибкой. В этом случае:
(I — 1
Кксс,1(еан) = Як(еанР-1) < ^ = [""^Ь
Овербек показал, что систему ГИТ можно взломать в полиномиальное время. Критический момент атаки обоснован при условии, что все элементы матрицы Р находятся в базовом поле СРд.
Пусть а(х) = хд для х € СРды будет автоморфизмом Фробениуса. Для матрицы Т = (Ъц) над пол ем ОРды пусть а(Т = (а(^)) = (^). Для любого целого числа в пусть о"в(Т) = а(а-1(Т)). Очевидно что = а, & а имеет следующие простые свойства:
• а(а + Ь) = а (а) + а(Ь).
• а(аЬ) = а(а)а(Ь).
• Если матрица Р над полем Рд то а(Р) = Р.
Для возлома системы ГИТ криптоаналитик для некоторого целого числа и из открытого ключа = Б[У С^]Р сформировал расширенный ключ СехЛ>кеу следующим образом:
^риЬ 5 [У Ск ] р
0(Ср иЬ ) [°(У) <г( Ск)] р
&ехЛ,риЬ — 0'2(^риЪ ) = а2(в) №) (Ск)] р
^риЬ ) аи(Б) [аи(У) <7и(Ок )] р
(6)
Здесь использовано свойство, что а(Р) = Р, если матрица Р над пол ем Рд. Перепишите эту матрицу так:
&ех1,р-иЬ — [^ех4 &ехЛ ]Р, (7)
где
Выбрать
Для матрицы к х ¿1
Бехг = Огад[8 а(Б) ••• аи(Б)],
У Ск
а(У) а(Ск)
^ехЛ — , ^ехЛ —
аи(У) уи(Ок )
и = т — к — 1.
Г11 У12 ••• ГМ г'
121 *22 ••• ^М г
Ук,1 Ук,2
Ук.
(8)
удалить последнюю строку, получается матрица ( к — 1) х ¿1:
1 =
Гц ^21
Г12
Г22
Г1>41
Г2М
Гк-1,1 Гк-1,2
Гк-
М1.
(10)
Из матрицы У удалить первую строку, получается матрица:
2=
Г21 Г22
Г2
Гк-ц Гкл
Гк-1,2 П,2
Гк-1,Н
Гкм .
(11)
Функция Т: Ffc*íl ^ 1)х415 если У Е Ffc*íl то
Т (У ) = ^ = а(У 1) —У 2.
Пусть
Ж
етЛ —
У
а(У)
аи~ 1(У)
(12)
Используя подходящие преобразования строк, можно переписать расширенный ключ в виде
% \ 1 ЖехЬ \ 0
етЛ
(13)
где Сп-1 - порождающая матрица (т, т — 1,2) МРР кода. Найти решение систем уравнений:
'ехЬ
^^ ехЛ
1
0
Ри
Т
0,
(14)
где вектор-столбец и над полем Р^ длины ¿1 + т. Представлять вектор РиТ как:
Рит = [у Н]т.
Здесь вектор у имеет длину ¿1 и вектор Н имеет длину т. Тогда система (11) эквивалентна следующей системе:
гуТ + сп_ Н = о, ЖехЬут = 0.
Предположим, что выполнено следующее условие:
Кк(Же7Л \Рям)= и,
(15)
(16)
тогда уравнение (16) имеет только тривиальное решение ут = 0. Следовательно, уравнение (15) примет вид
т
1Н =
0.
Из этого можно найти первую строку проверочной матрицы для кода с порождающей матрицей (2). Затем вычислить всю матрицу.
3. Новая система Шики
В настоящее время найдены новые МРР-коды с частично разрушенной структурой. Порождающая матрица новых кодов может быть представлена в следующем виде:
rk —
91 + vgl 92 + V92
9Í 22 91
9*2
q2
9*
9m + r¡9m
2k\
9m
q2
9m
qfc-l
9m
G
(17)
/
q 1 k— 1
\ 9Í 92Qk 1
gm-1 ,
e GF(qm),V e GF(qm),N(V) — r]^--1 — (-l)mk. Проверочная матрица имеет такой вид:
„к
m—
m—k
(h2 - ф\
h*k+1 h*k+2
_ *m-1
V h*
e GF (qm).
(18)
Атака Овербека на новую систему Шики: Аналогично для системы ГИТ используется такой же подход к взломе кода Шики.
Из открытого ключа Сриь = Б С к ]Р сформирован расширенный ключ Сехъкеу следующим образом:
(19)
Здесь использовано свойство, что ((Р) = Р, если матрица Р над пол ем Fq. Перепишем эту матрицу так:
^ ext, pub = Sext[Y ext Gext]p,
где
Sext = Diag[S a(S) ■■■au(S)],
Gpub S [Y G k ] P
v(Gpub) a(S) \°(Y) e(G k)] P
Gext, pub — v2(Gpub) — a2(S) [a2(Y) (G k)] P
ou {Gpub) (S) [au(Y) °U(G k)] P
W,
Y G k
a(Y) , Gext — °(G k)
au(Y)_ vu(G k)
ext
Выберем u = m — к — 1. Для матрицы к х t\
'Yn Yu ■■■ Y1M'
Y21 Y22 ■■■ Y2,tl
_Yk,1 Yk,2 ■ ■ ■ Yk,ti_ удалив последнюю строку, получаем матрицу (к — 1) х ti:
Y11 Y12 ■ ■ ■ Yi,ti
Y21 Y22 ■ ■ ■ Y2,ti
Yk-1,1 Yk-1,2 ••• Yk-iv
После удаления из матрицы У первой строки, получается матрица
121 *22 ■ ■ ■ ^ г
Ук-1,1 Ук-1,2 УкЛ Ук,2
Ук-1, Н
г .
функция Т: FkХ1г ^ ^к- 1)Хесли У € FkХ*г, то
Т(У) = №- = <г(У 1) -У2.
Пусть
Ж
х
У
а(У)
аи-1(У)
Теорема 1. Для любых элементов а и Ь из СР(рт)
(а + Ь)р = ар + V.
Используя подходящие преобразования строк, можно переписать расширенный ключ в виде
z
^Уе хЬ
0
где (Ит имеет следующий вид:
(
91 + Ш
д\
д2
92 + Щ\
9д
2
2д
91
9\ + V29Чд
к+г
2
к1
9% + V4 9%
к+г
-к Чт дт — к
Ч"' ' , Чт-к Ч'" Ч'" дт-к ч"
\дЧ + г]д д\ д\ + г]д д2. Требуется найти решение системы уравнений:
дт + г]дт
т
Ч2 т
Чк-г
т
к+г
дт+г]2 дт
дт + г]2 дт, /
(20)
е х
z
^Уе хЬ
0
РиТ = 0,
(21)
где вектор-столбец и над полем РЧм длины ¿1 + т. Представим вектор РиТ как
РиТ = [у Н]Т .
Здесь векторы у и Н имеют длину ¿1 и т соответственно. Тогда система (21) эквивалента следующей системе:
ZуT + СтНТ = 0, Wехt УТ = 0.
Предположим, что выполнено следующее условие:
(22) (23)
Кк(ЖехЛ \РдМ )=г 1,
2
т
т
к
т
т
тогда уравнение (23) имеет только тривиальное решение ут = 0. Следовательно, уравнение (22) примет вид
(С тН
т
0.
Например: Рассмотрим случай т = 7, ¿2 = = 2,к = 3,(1 = 5. При декодировании не используется матрица функция сигма от Р не меняет вид матрицы, поэтому здесь рассмотрим только часть расширенного ключа [ У (Ск]. В случае стандартной системы ГПТ они имеют следующий вид:
'111 112" (9\ 2 •• 97
У = 121 122 , ( = (4 2я 7я
11 12 1я12 2я22 7я72
Для кода Шики:
У11 У12 121 *22 1з1 132
С
^91 + пд4! 92 + ш 2
ех1,р'оЬ
V
91
я2 91
91
я2
92
9т + т
2
)
При попытке взломать систему с помощью расширенного ключа для системы ГПТ:
[ У ехЬ Сех~Ь] —
/
Ун 121
131 у!
2
1зя1
3
у3я1
112 122
УЗ 2 1
1 2
2
1 2
3
1 2
1 111 -121 1 112 -122
1 121 -1з 1 1 122 - 1 2
2 1 111 1 121 2 1 112 1 122
2 12 12 1 - 1 1 2 22 1 - 1 2
112 113 1 2 121 1 3 112 1 2 122
12 13 1 2 - 1 1 1 3 122 1 2 - 1 2
1 2
9!
2
91
3
91 я4 91 я5 91
0 0 0 0 0 0
2я
2
2я
3
2я
я4 2я
я5 2я
0 0 0 0 0 0
97
97
2
7я
3
7я
4
7я
5
7я
0 0 0 0
0 0
Для кода Шики:
[ У ехЛ СехЛ]
111 112 3 91 + Л9{ 3 92 + "Ц9\ ■ 3 ■ 97 + адя
121 122 1я 1 91 ■ ■ 9яя
1 1 132 дГ 2я22 7я72
1 1 11 1 112 9\ + Vя 9Я1 9:2 + г1я9'я ■ ■ 9\} + Vя 97
1 1 1 1 132 3 1я 3 2я 3 7я
2 11 12 2 11 22 2 2 5 91 + Vя 91 я , я2 я5 91 + Ля 92> ■ 2 2 5 ■ 97 + Vя 97
1 2 1 1 1 2 132 4 1я 4 2я 4 ■ 97
12 1- 11 12я2 -132 0 0 ■ 0
\12я! - 13я1 1 2 1 122 132 0 0 ■ 0 )
4. Заключение
В работе проведен анализ криптостойкости системы ГПТ и нового кода Шики перед атакой Овербека. Новый код Шики является более стойким к атаке Овербека, чем система ГПТ. Таким образом, его можно использовать для противодействия атакам Овербека и обеспечить высокий уровень безопасности.
Литература
1. Габидулин Э.М. Лекции по алгебраическому кодированию. М.: МФТИ, 2015.
2. Gabidulin Е.М., Paramonov А. V., Tretjakov О. V. Ideals over a Non-commutative Ring and Their Application in Crvptologv // Advances in Crvptologv Eurocrvpt' 91. LNCS 547. 1991. P. 482-489.
3. Overbeck R. Structural Attacks for Public Key Cryptosvstems based on Gabidulin Codes // Journal of Crvptologv. 2008. V. 21, N 2.
References
1. Gabidulin E.M. Lectures on algebraic coding. M.: MIPT, 2015.
2. Gabidulin E.M., Paramonov A. V., Tretjakov О. V. Ideals over a Non-commutative Ring and Their Application in Crvptologv, in: Advances in Crvptologv Eurocrvpt' 91. LNCS 547. 1991. P. 482-489.
3. Overbeck R. Structural Attacks for Public Key Cryptosvstems based on Gabidulin Codes. Journal of Crvptologv. 2008. V. 21, N 2.
Пост,упила в редакцию 18.09.2018