Научная статья на тему 'Анализ структуры и стойкости криптосистемы NTRU'

Анализ структуры и стойкости криптосистемы NTRU Текст научной статьи по специальности «Математика»

CC BY
896
207
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
NTRU-КРИПТОСИСТЕМА / КОЛЬЦО УСЕЧЕННЫХ МНОГОЧЛЕНОВ / ЧИСЛОВЫЕ РЕШЕТКИ / АТАКА "ВСТРЕТИМСЯ НА СЕРЕДИНЕ" / NTRU-CRYPTOSYSTEM / POLYNOMIAL TRUNCATED RING / LATTICES / MEETINTHEMIDDLE ATTACK

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

Делается обзор структуры криптосистемы NTRU. Рассмотрены возможные пути атаки на криптосистему, в частности атака, основанная на применении числовых решеток.

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

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

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

The structure of NTRU cryptosystem is described. Variants of attacks on NTRU cryptosystem, particularly an attack based on lattices are considered

Текст научной работы на тему «Анализ структуры и стойкости криптосистемы NTRU»

УДК 511.48:519.61

Е. А. Киршанова

АНАЛИЗ СТРУКТУРЫ И СТОЙКОСТИ КРИПТОСИСТЕМЫ NTRU

Делается обзор структуры криптосистемы NTRU. Рассмотрены возможные пути атаки на криптосистему, в частности атака, основанная на применении числовых решеток.

The structure of NTRU cryptosystem is described. Variants of attacks on NTRU cryptosystem, particularly an attack based on lattices are considered.

Ключевые слова: NTRU-криптосистема, кольцо усеченных многочленов, числовые решетки, атака «встретимся на середине».

Key words: NTRU-cryptosystem, polynomial truncated ring, lattices, meet-in-the-middle attack.

Криптосистема NTRU (N-th degree truncated polynomial ring) основана на алгебраической структуре полиномиального кольца (см.[1; 6]). Поиск кратчайшего вектора в заданной числовой решетке — трудноразрешимая задача. NTRU относят к быстрым криптосистемам — ее можно использовать в устройствах с ограниченными ресурсами, поэтому она эффективна и возможно ее дальнейшее применение и развитие.

Основы криптосистемы. Пусть R — полиномиальное кольцо с неприводимым многочленом

R = —^N[~]— . В таком кольце произведение (обозначается *) задается не как обычное произведение (x -1)

многочленов, а как «произведение свертки», то есть XN заменяется на 1, XN+1 — на X и так далее (см. [6]). Такое кольцо R называют кольцом усеченных многочленов. Необходимые параметры криптосистемы — это N (размерность кольца R), p и q — два взаимно простых в R числа (обычно q — большое). Многочлены f є R и g є R выбираются пользователем Бобом так, чтобы многочлен f

был обратим в R. Боб вычисляет fq1 и fГ1 в кольцах R = —Z[x]— и R =------------------------Z[x]---

q p (q, xN -1) (p, xN -1)

соответственно. Для генерации открытого ключа Боб вычисляет многочлен h: h = f— * g(mod q).

Зашифровка. Для зашифровки текста m є R Алиса (сторона, желающая отослать сообщение) использует открытый ключ Боба (сторона, принимающая сообщение) h, выбирает случайным образом многочлен r є R и вычисляет e (шифр-текст): e = r * h + m(modq).

Расшифровка. Используя свой секретный ключ, Боб вычисляет: a = f * e(mod q). Коэффициенты для a Боб выбирает так, чтобы они лежали в интервале (-0,5q,0,5q). Затем он приводит многочлен a по модулю p и вычисляет fq1 * a(mod p). Полученное значение есть m.

Как это работает? Опишем основную цепочку сравнений (см. [1]).

Когда Боб вычисляет сравнение a = f * e(mod q), в действительности:

a = f * e(modq) = f * (r * h + m)(modq) = [так как e = r * h + m(modq)]

= f * (r * p ■ fq * g + m)(modq) = [так как h = p ■ f— * g(mod q) ]

= p ■ r * g + f * m(mod q) [так как f * fq = 1(mod q)].

b = f * m(mod p); fp * b = fp * f + m = m(modp).

Разберем некоторые методы оптимизации параметров NTRU.

1. Большую часть времени занимают вычисления произведений в кольце и нахождения обратных. Поэтому для уменьшения времени выполнения представим секретный ключ f в виде: f = 1 + p ■ f1 ■ f1 є R. Тогда fp-1 = 1, и необходимость вычислять обратный по (mod p), и второе

произведение при дешифровании исчезает (см. [2]).

2. Необязательно p быть целым, p может быть и многочленом, главное, чтобы p и q были взаимно просты в кольце R. При выборе p = X + 2 имеем все требования криптосистемы (взаимная

простота эквивалентна тому, что элементы p, q и XN -1 образуют единичный идеал в Z[X]) и отображение {бинарный многочлен m(x)} ^ R/pR инъективно [2].

Вестник Российского государственного университета им. И. Канта. 2010. Вып. 10. С. 112 — 115.

Открытый и секретный ключи криптосистемы — многочлены, их можно представить в виде векторов, а вектора, в свою очередь, — в виде векторов и-мерных числовых решеток. Такое представление ключей криптосистемы дано в [3]. Рассмотрим основные шаги. Секретные ключи Боба (/, g) представим в виде короткого вектора (/, g) є 7}п . Решетка этих секретных параметров будет ^-ичной решеткой А ((Т • ^, Т • g)Т) (ее определение и характеристики см. в [3]). При таких

условиях открытый ключ будет выглядеть H =

I 0 T ■ h q ■ I

, где h = [T ■ f ] ■ g(mod q). Зашифровка

текста m{1,0, -1)” c df +1 положительных единиц и с df отрицательных производится с помощью

n Г- rl Г I о 1 Г о 1

наугад выбранного вектора r е {1,0, -1) по схеме: mod = , ч (ре-

дукция вектора ошибок (-r, m) по базису H). Первые n координат всегда нулевые, а n-размерное векторное пространство (m + [Т • h] • r )mod q = с и будет зашифрованным сообщением.

Расшифровывается сообщение умножением шифр-текста с на матрицу [Т • f ]mod q .

Кроме этого в статье [3] представлены основанные также на числовых решетках GHH/HNF и Adjtai-Dwork криптосистемы.

В любом описании криптосистемы не обходится без рассмотрения конкретных числовых значений параметров, а вместе со значением и длины ключей. В [3] представлена таблица, отражающая зависимость длины ключа и оценки безопасности от параметров n, q и df .

Теоретическая сложность алгоритма NTRU дана в [4]. Зашифровка текста длиной (n - к) • log2p бит займет O(n2) арифметических операций, столько же расшифровка сообщения (длина шифр-текста n • log2 q бит). Тогда длины секретного и открытого ключей равны 2n • log2 p бит и n • log2 q бит. Также в [4] приведена сравнительная таблица криптосистем NTRU, RSA, McEliece и GHH. По ней видно, что криптосистема NTRU выигрывает у последних двух за счет длины открытого и секретного ключей (длины ключей в McEliece и GHH равны N2 ), а у RSA — за счет высокой скорости зашифровки/расшифровки и создания ключей.

Таблица

Сравнительная таблица криптосистем (N — параметр безопасности)

Параметры шифрования NTRU RSA GGH

Скорость зашифровки N2 N 2 N 2

Скорость расшифровки N 2 N 2 N 2

Длина открытого ключа N N N 2

Длина секретного ключа N N N 2

Анализ безопасности криптосистемы описан в [4]. Наиболее очевидный способ — атака перебором. Злоумышленник может искать:

1) секретный ключ/, подбирая его так, чтобы / * й(т^q) было небольшим;

2) многочлен g, подбирая его так, чтобы g * к_1(т^q) было небольшим;

3) вектор ошибок г, проверяя е - г * k(mod q).

Пытаясь отыскать секретный ключ / ( представлен как / = 1 + р • ¥ ), мы точно знаем, что первая координата этого многочлена равна 1. Тогда при полном переборе векторов (а именно так

( 2 ^

удобнее представлять многочлен) останется проверить І I всевозможных вариантов для /

К N -1)

(поворотов оставшихся df -1 единиц), при этом проверяя произведение / * к (это произведение есть многочлен g и оно состоит из 0 и 1). Такой многочлен появится dt раз среди

V Раз среди | м2_1

поскольку существует df поворотов многочлена /с единицей на первом месте. Злоумышленнику останется отыскать подходящий ключ из этих d/ многочленов.

Существуют и другие способы, которыми злоумышленник может «взломать» криптосистему. Один из них — атака «встретимся на середине» (см. [5]). Главный ее момент — представление /:(/1 + /2)* h = g. Для коэффициентов это уравнение перепишем так: (/1 *h)[i] = -(f2 * h)[i] + 0 или 1. Поэтому злоумышленник будет перебирать всевозможные значения /1 и /2, замечая, что полученные коэффициенты вектора /2 должны отличаться от коэффициентов /і не более чем на 1 (все вычисления проводятся по модулю q). Таких совпадений получится d/! (для «лидирующей» единицы существует (d/ -1)! положений (d/ -1) единиц). Злоумышленнику останется проверить

их. Оценка времени выполнения алгоритма и необходимое количество памяти описаны в [5].

Также интересна атака, основанная на алгоритмах с применением числовых решеток. Основные определения и теоремы, связанные с числовыми решетками, описаны в [6]. Так, алгоритм Бабая (алгоритм возвращает решение задачи CVP — нахождение ближайшей точки, принадлежащей решетке, к данной, не принадлежащей ей) достаточно подробно описан в [7]. Обширный материал о числовых решетках с обоснованием основных задач, решаемых с их помощью, представлен в [8]. Кроме того, там предложены несколько схем шифровки NTRU и схемы цифровой подписи NTRU. Алгоритм зашифровки, описанный выше, в статье [8] называется «сырым», и там предложены другие схемы (обе схемы применяют к исходному тексту хэш-функции).

Почти всю используемую литературу и статьи можно найти в [9]. Там же описаны примеры ко всем важным алгоритмам.

Список литературы

1. The NTRU public key cryptosystem // A tutorial. The NTRU Cryptosystems, Inc. URL: http://securityinnovation. com/ cryptolab/tutorials. shtml.

2. Hoffstein J., Silverman J. Optimization for NTRU / / Public-key cryptography and computational number theory. Berlin-N.-Y.: Walter de Gruyter, 2001.

3. Micciiancio D., Regev O. Lattice-based cryptography. July 22, 2008.

4. Hoffstein J., Lieman D., Pipjer J., Silverman J. NTRU: A public key cryptosystem. URL: http://grouper. ieee.

org/groups/1363/lattPK/ submissions/ntru. pdf.

5. Howgrave-Graha N., Silverman J., Whyte W. Meet-in-the-middle attack on an NTRU private key / / NTRU Cryptosystems Technical Report #004. Version 2.

6. Hoffstein J., Pipher J., Silverman J. An introduction to mathematical cryptography. Springer. 2008.

7. Galbraith S. Mathematic of public key cryptography.

8. Hoffstein J., Howgrave-Graham N., Pipher J., Silverman J. Practical lattice-based cryptography: NTRUEncrypt and

NTRUSign.

9. Application security, secure software development, and software secure training. URL: http://securityinnovation. com.

Об авторе

Елена Алексеевна Киршанова — студ., РГУ им. И. Канта, e-mail: kirshanoff@gmail.com.

Author

Elena Kirshanova — student, IKSUR, e-mail: kirshanoff@gmail.com.

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