Криптосистема, основанная на новых ранговых кодах
Автор: Нгуен З.Х.
Журнал: Труды Московского физико-технического института @trudy-mipt
Рубрика: Информатика и управление
Статья в выпуске: 3 (39) т.10, 2018 года.
Бесплатный доступ
Криптосистемы с открытым ключом или асимметричные криптосистемы, характе- ризуются тем, что ключ зашифрования является общедоступным, а ключ расшифро- вания является секретным и известен только получателю зашифрованного сообщения. В настоящее время основные варианты асимметричных криптосистем основаны на ис- пользовании трудных вычислительных задач, таких как разложение целого числа на множители или задачи дискретного логарифма. Менее популярными являются асим- метричные криптосистемы, основанные на линейных кодах. Однако в перспективе они могут вытеснить криптосистемы на других принципах, так как с появлением кванто- вых компьютеров последние станут не стойкими. Ниже будет описана асимметричная криптосистема на линейных кодах в ранговой метрике.
Ранговые коды, система гпт, порождающая матрица
Короткий адрес: https://sciup.org/142220439
IDR: 142220439
Текст научной статьи Криптосистема, основанная на новых ранговых кодах
Пусть GF(q^ - базовое конечное поле, a GF(q m ) - его расширение степени т. Пространство векторов GF(qm ) m длины т снабдим ранговой весовой функцией: ранговый вес вектора д = (gi д2 ... gm) Е GF(q m ) m равен максимальному числу координат, линейно независимых над базовым полем.
Линейное пространство векторов размерности п над расширенным полем GF(q m ) обозначается GF(q m )n. Оно состоит из векторов с координатами из расширенного поля:
v = [«о щ • • • «у п - 1] , d^ Е GF(q m Y
Ранг вектора и определяется как максимальное число линейно независимых над основным полем GF(q) координат вектора.
В этой статье мы рассмотриваем только случай когда п = т.
Векторным ранговым кодом У называется любой набор векторов из векторного пространства GF (qm')m.
Ранговым расстоянием d векторного кода У называется наименьший ранг попарных разностей кодовых векторов:
d = min Rk(v1 — v2), Уһ ^2 € У • гіі=гі2
Линейный векторный ранговый [т, k, d]-KOfl над GF(qm~) — это k-мерное подпространство пространства векторов GF(qm)m с ранговым расстоянием d. Число векторов в k-мерном подпространстве равно qmk.
Из границы Синглтона следует k < т — d + 1.
Если достигается знак равенства, то код называется кодом с максимальным ранговым расстоянием (МРР-кодом).
Линейные ранговые коды определяются порождающейся матрицей [1]:
G k =
( 91
9m \
9m
1 2 9 m
€ GF(qm')m.
\ 9?
, к
-

qk—
9m /
2. Система ГПТ
Система ГПТ с открытым ключом предложена Габидулиным, Парамоновым, Третьяковым в 1991 году [2]. Открытый текст - это любой k-вектор т = (т1, т 2 ,•••, тк),т і € GF(qm) Открытый ключ - это k х (т + t) матрица.
G pHb = S ( Y G k ) Р .
Здесь G pub € GF(qmX) k x m - Это открытый ключ, известный всем пользователем.
Матрица S € GF(qm') k x k - это строчный скремблер, который перемешивает строки последующих матриц.
Матрица Y € GF(q m )xt - это матрица искажения, имеющая ранг t.
Матрица G k (2) - порождающая матрица рангового кода.
Матрица Р € GF (q)(t+m)x(t+m) - это столбцевой скремблер, который перемешивает столбцы матрицы (Y G к).
Секретные ключи - это матрицы S, Y, G k ,P и быстрый алгоритм декодирования МРР кода.
Шифрование: Пусть т - открытый текст. Тогда шифротекст задается соотношением с — TirCxp^h + eart, (4)
где e art - вектор искусствешюй ошибки рангового веса t2 < t = (п — k + 1)/ 2. Расшифрование: После получения шифротекста с легальный пользователь вычисляет:
с = (С1,С2, ••• , Ct i +m) = cP -1 = mS [Y G k + X ] + еР-1.
′
Из вектора с извлекает подвектор:
с" = (ct+1, Ct+2, * * * , Cti +m) = mSG k + mSX + e^t,
где e art - под вектор eP -1. Применяя к вектору с быстрый алгоритм декодирования, легальный пользователь находит вектор mS и открытый текст как вектор т.
Атаки Овербека: Овербек в работе [3] предложил следующую структурную атаку, цель которой восстановить закрытые ключи G pub.
Искусственная ошибка e art является исправляемой ранговой ошибкой. Столбцевой скремблер Р нужно выбрать так, чтобы вектор e art P -1 являлся исправляемой ранговой ошибкой. В этом случае:
Rkcoi( e art) = Rk( e a rt P 1) < t = [-
—
Овербек показал, что систему ГИТ можно взломать в полиномиальное время. Критический момент атаки обоснован при условии, что все элементы матрицы Р находятся в базовом поле G Fq.
Пусть ст(ж) = хч для ж G GF q N будет автоморфизмом Фробениуса. Для матрицы Т = (t i j ) над полем GF q N нусть a( T = (a(t i j )) = (tq ). Для любого целого числа s пусть с 8 ( Т ) = ст(ст - 1 ( Т )). Очевидно что cr N = ст, а ст имеет следующие простые свойства:
-
• ст(а + Ь) = ст(а) + тт(ЬУ
-
• тт(аЬ) = ст(а)ст(Ь).
-
• Если матрица Р над полем F q то с( Р ) = Р .
Для возлома системы ГПТ криптоаналитик для некоторого целого числа и из открытого ключа G pub = S [ У G k] Р сформировал расширенный ключ G ext , key следующим образом:
Gpub |
S |
[ У |
G k ] |
Р |
|||
V^pub) |
c( S ) |
[с( У ) |
c( Gk )] |
Р |
|||
G ext, pub — |
c2( G pub ) * * * |
= |
c2( S ) • • • |
[т2( У ) • • • |
т2 ( G k )] ••• |
Р ••• |
. (6) |
т ( G pub) |
cu( S ) |
К(У) |
cu( G k)] |
Р |
Здесь использовано свойство, что ст( Р ) = Р, если матрица Р над полем Fq. Перепишите
эту матрицу так: |
G ext,pub = S ext[ y ext G ext] P , (7) |
где |
S ext = Diag[ S c( S ) •••cu(S)], |
W ext = |
У с( У ) • • |
i Gext = |
G k c( G k ) • • |
• cu( y ) |
• . cu( G k)_ |
Выбрать и = m — k — 1. (8)
Для матрицы k х ti
У 1 = |
■ Y11 Y21 • • • |
Y 12 • Y22 • 1 1 1 |
• • • |
. (10) |
. Yk-yi |
Yk-1,2 • |
• Y k-1,t1_ |
Из матрицы У удалить первую строку, получается матрица:
' Y21 |
Y 22 • |
• Y2,t1 |
|
У 2 = |
• • • Y k-1,1 _ Yky |
1 1 1 Yk-1,2 • Yk,2 • |
• • •
|
(И)
Функция Т: F k ^ t 1 ^ F(k 1)xt1, если У € F^1 то gN дім giN
Т ( У ) = W = а( У 1) — У 2
̃︀
S ext
Z
W ext
I
G | PU = 0,
Пусть
Найти решение систем уравнений:
где вектор-столбец u над полем Fg N длины ty + т. Представлять вектор PuT как:
PU = \ у ЩТ .
Здесь вектор у имеет длину ty и вектор Һ имеет длину т. Тогда система (11) эквивалентна следующей системе:
ZyT + g һ = о,
W ext yT = 0.
Предположим, что выполнено следующее условие:
Rk( W ext I Fg N ) = t^
тогда уравнение (16) имеет только тривиальное решение у Т = 0. Следовательно, уравнение (15) примет вид
G n -i hT = 0.
Из этого можно найти первую строку проверочной матрицы для кода с порождающей матрицей (2). Затем вычислить вето матрицу.
3. Новая система Шики
В настоящее время найдены новые МРР-коды с частично разрушенной структурой. Порождающая матрица новых кодов может быть представлена в следующем виде:
( 5k = |
/gi + ngf g q q2 gi • |
g2 + ng? • gq • q2 92 • |
„ , q„qk\ • gm + ngm ' |
|
„ q
q2
1 |
е |
|||
• • . q k - 1 \ gi |
* * n n k — 1 g2q • |
• q - • gm / |
ч т - 1
G GF(qmVn G GFq N (у) = у — = ( —1)mk.
Проверочная матрица имеет такой вид:
/ h qk — у һ \ һ^
и = ^к+" G GF(qm).
h
Атака Овербека на новую систему Шики: Аналогично для системы ГПТ используется такой же подход к взломе кода Шики.
Из открытого ключа G pub = S [ У G k ] P сформирован расширенный ключ G ext , ke,y следующим образом:
Gpub |
S |
[ У |
G k ] |
P |
|||
^ ( Gpub) |
ct ( S ) |
[ст( У ) |
a( G k )] |
P |
|||
Gext, pub — |
CT 2 ( G pub ) ••• |
= |
ct 2 ( S ) |
[ст2( У ) |
CT 2 ( ( 5k )] |
P |
. (19) |
CTu ( G pub) |
••• ctu ( S ) |
••• К(У) |
••• CTu( G k)] |
••• P |
Здесь использовано свойство, что а(Р) = P, если матрица Р над полем Fq. Перепишем эту матрицу так:
Gext, pub — Sext [У ext Gext]P, где
S ext = Diag[ S ^( S ) •••^ u ( S )],
W ext = |
У ст( У ) • • |
i Gext = |
G k CT( G k) • • |
• _ CTu( y )_ |
• L CTu( G k)J |
Выберем u — m — k — 1. Для матрипы k x t1
У11 У12 • • • Y1,ti |
|
У 1 = |
У21 У22 • • • Y2t i
_ Yk— 1,1 Yk— 1,2 • • • Yk—1,t1_ |
После удаления из матрицы Y первой строки, получается матрица
Пусть
W ext =
Y 2 = |
' X21 • • • |
Y22 ••• 1 • 1 • 1 • |
Y2,ti " 1 1 1 |
Yk-i,i |
Yk-i,2 • • • |
Yk-i,t1 |
|
. Yki |
Yk,2 • • • |
Yyy . |
|
Функция Т: F^1 ^ Fqti)xt1, |
если Y |
G F^.to |
Т( Y ) = W = a( Y 1) - Y 2
Y a( Y )
* * * a'^^Y )
Теорема 1. Для любих элементов а и b из GF(pm-)
(а + b)p = ар + ЬР
Используя подходящие преобразования строк, можно переписать расширенный ключ в виде
Г* = S Z Z । Gml Р
^pub^ S ^W | 0 J ^ .
где G m имеет следующий вид: |
|||
/ 9i + ngf |
। qk 92 + 992 |
1 qk \ • • • 9m + 99m |
|
q |
q |
„ q |
|
9i |
92 |
• • • 9m |
|
q2 |
q2 |
q q2 |
|
91 • |
92 * |
• • • 9m • |
|
̃︀ Gm — |
• • qfc-1 |
* * k-1 |
1 • qk —1 |
9i |
92q i |
• • • 9m |
|
q qk+" 1 |
q qk+"1 |
q n qk+1 |
|
9І + »7q 9І • |
92 + 9 q 92 * |
• • • 9m + 9q 9m |
|
• • , qm - k nm-k q m \9i + ^ 9i |
* * q m - k qm-k q m 92 + 9 92 |
1 • • •• 9mm—k+9qm—k 9m) |
Требуется найти решение системы уравнений:
Sext [тTf | Gml Риг = 0, (21)
[W ext | 0 J , V '
где вектор-столбец и над полем Fq N длины ti + т. Представим вектор РиТ как
Рит = [ у һ ]т .
Здесь векторы у и һ имеют длину ti и т соответственно. Тогда система (21) эквива лента следующей системе:
ZyT + G т һт = 0,
W ext yT = 0.
Предположим, что выполнено следующее условие:
Rk(W ext | FqN) = ti, тогда уравнение (23) имеет только тривиальное решение ут = 0. Следовательно, уравнение (22) примет вид
G mhT = о.
Например: Рассмотрим случай m = 7, t2 = 1,t = 2, k = 3, d = 5. При декодировании не используется матрица S, функция сигма от Р не меняет вид матрицы, поэтому здесь рассмотрим только часть расширенного ключа [ У G k ].
В случае стандартной системы ГПТ они имеют следующий вид:
У =
Y11
У21
Y31
Y12
У22 , G k =
Y32
9q q2
. 91
9q q2
9q q2
Для кода Шики:
"У11 |
Y12" |
/ । q3 / 91 + 991 |
92 + 99q3 • |
1 q3 • 97 + 997 |
|
У = |
Y21 |
У22 |
, Gext,pub — 1 91 |
9q • |
•• 9q |
. Y31 |
^32. |
1 q2 \ 91 |
q2 92 • |
q2 •• 97 |
При попытке взломать систему с помощью расширенного ключа для системы ГПТ:
[ У ext |
Gext] = |
( Y11 У21 Y31 y q Y31 2 Y3q1 q3 Y31 Yn - Y21 Y2q - Y31 уq2 - yq Jn Y21 vq2 - v4 Y21 Y31 32 ' 3 - 4 32 k y& - y& |
Y12 Y22 Y 32 ү q Y32 q2 Y32 q3 Y32 Y12 — Y22 Y22 — Y32 у q 2 _ yq Y12 Y22 Y2 q 2 - Y3q2 уq3 _ yq2 Y12 Y22 үq3 _ yq2 Y22 Y32 |
91 9q q2 91 q3 91 q4 91 q5 91 о о о о о о |
92 • • • q q 92 • • • q2 92 • • • q3 92 • • • q4 92 • • • q5 92 • • • 0 ••• 0 ••• 0 ••• 0 ••• 0 ••• 0 ••• |
97 9q q2 97 q3 97 q4 97 q5 97 0 0 0 0 0 0 |
\ ) |
. |
||
Для кода Шики: |
||||||||||
[У ext Gext] — |
/ Y11 Y21 Y31 Y q Y11 y q Y31 2 v q2 Y31 ү/ - Y31 \ Y' - V/ |
Y12 Y22 Y32 Y q Y12 Y q Y32 2 YA q2 Y>2 Y 2 > 2 - Y’2 9 Y q - Y3q2 |
91 + 99q3 9q q2 91 9q + 9q 9qi Y 91 9q2+9q2 9q5 q4 91 о о |
92 + 99q3 9q q2 92 9q + 9q 9^ q3 92 9q + 9q2 9 q q4 92 о о |
··· ··· ··· ··· ··· ··· ··· ··· ··· |
9 |
97 + 99q3 9q q2 97 9q + 9q 9q4 q3 97 q2 + 9q2 9q' q4 97 0 0 |
⎞ |
Список литературы Криптосистема, основанная на новых ранговых кодах
- Габидулин Э.М. Лекции по алгебраическому кодированию. M.: МФТИ, 2015.
- 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. LNCS 547. 1991. P. 482-489.
- Overbeck R. Structural Attacks for Public Key Cryptosystems based on Gabidulin Codes//Journal of Cryptology. 2008. V. 21, N 2.