Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теоретико-числовые алгоритмы в криптографии.pdf
Скачиваний:
304
Добавлен:
23.03.2015
Размер:
2.46 Mб
Скачать

Глава 7. Приведенные базисы решеток и их приложения

§ 7.1. Введение. Решетки и базисы

Пусть Rn n-мерное евклидово пространство со скалярным произведением (·, ·). Пусть b1, . . . , bn Rn — линейно независимые вектора. Решеткой в Rn называется множество

Λ = Λ(b1, . . . , bn) = Zb1 . . . Zbn = {x1b1 + . . . + xnbn | x1, . . . , xn Z};

векторы b1, . . . , bn называются базисом решетки. Определителем решетки называется величина d(Λ),

d(Λ) = (det (bi, bj) i,j=1,...,n)1/2.

Базис решетки можно выбирать разными способами; однако поскольку один базис выражается через другой с помощью целочисленной матрицы с определителем ±1, d(Λ) является инвариантом решетки. Имеет место неравенство Адамара:

d(Λ) n |bi|,

i=1

где |b| — евклидова норма вектора b Rn. Если e1, . . . , en — ортонор-

мированный базис Rn, и bi = n bijej, i = 1, . . . , n, то

j=1

d(Λ) = | det bij i,j=1,...,n|.

Замечание 7.1. Превосходным введением в геометрию чисел является книга Касселса [24]. В ней можно найти описание различных свойств решеток и их приложений.

Решетка является дискретным множеством, т. е. в любом ограниченном множестве пространства Rn содержится лишь конечное число точек решетки.

Напомним процесс ортогонализации Грама—Шмидта. Пусть b1, . . . , bn — линейно независимые векторы в Rn. Пусть векторы

§ 7.1. Введение. Решетки и базисы

187

b1 , . . . , bn определяются соотношениями

i−1

 

b1 = b1, bi = bi ijbj ,

i = 2, . . . , n,

=1

 

j

 

где

 

ij = (bi, bj )/(bj , bj ),

1 j < i.

Тогда векторы b1 , . . . , bn попарно ортогональны.

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

Фиксируем решетку Λ в Rn и рассмотрим множество GΛ, состоящее из всех ее базисов. Рассмотрим на GΛ следующее отношение упорядоченности: при {a1, . . . , an}, {b1, . . . , bn} GΛ

{a1, . . . , an} < {b1, . . . , bn},

если существует номер j такой, что при всех i < j справедливо равенство

|ai| = |bi|, но |aj| < |bj|.

Определение 7.2. Минимальный элемент GΛ по отношению < называется приведенным по Минковскому базисом решетки.

Поскольку норма на решетке принимает дискретное множество значений, то приведенный по Минковскому базис существует. Однако он может быть не единственен. Например, в решетке Zn любая перестановка единичных векторов e1, . . . , en образует приведенный по Минковскому базис.

Рассмотрим теперь другое отношение упорядоченности <T. Пусть a = (x1, . . . , xn), b = (y1, . . . , yn, ), a, b Rn. Скажем, что a <T b, если |a| < |b|, либо |a| = |b| и существует номер j такой, что xi = yi при i < j, но xj > yj (т. е. у меньшего вектора первая отличная координата больше). Очевидно, что любые два вектора из Rn сравнимы по отношению <T . Теперь продолжим это отношение <T на множество GΛ: если {a1, . . . , an}, {b1, . . . , bn} GΛ, то

{a1, . . . , an} <T {b1, . . . , bn},

если существует номер j такой, что ai = bi при i < j, но aj <T bj. Определение 7.3. Минимальный элемент множества GΛ по отно-

шению <T называется вполне приведенным базисом.

Замечание 7.4. Легко видеть, что вполне приведенный базис существует и единственен. В [217, гл. 3] приведен алгоритм нахождения вполне приведенного базиса решетки.

188

Гл. 7. Приведенные базисы решеток и их приложения

Приведенные по Минковскому и вполне приведенные базисы решеток имеют важные приложения в вычислительной алгебраической теории чисел, см. [217, гл. 3, 5]. В теоретико-числовых алгоритмах часто используются базисы, приведенные по Ленстре—Ленстре—Ловасу (LLL-приведенные базисы), о которых мы расскажем в следующих параграфах.

§ 7.2. LLL-приведенный базис и его свойства

Определение 7.5. Базис b1, . . . , bn решетки Λ Rn называется LLL-приведенным, если для векторов b1 , . . . , bn и коэффициентов ij, полученных с помощью процесса ортогонализации Грама—Шмидта (см. § 7.1), выполнены неравенства:

| ij|

1

,

1 j < i n,

(7.1)

2

 

+

 

 

 

 

 

2

 

3

 

2

 

|bi

 

ii−1bi−1

|

4

|bi−1

| .

(7.2)

Замечание 7.6. LLL-приведенные базисы впервые были введены в работе [160]. Условие (7.2) означает, что вектор bi + ii−1bi−1, равный проекции вектора bi на Lоб (b1, . . . , bi−2) , не является очень маленьким по сравнению с проекцией вектора bi на Lоб (b1, . . . , bi−2) .

Опишем ряд важных свойств LLL-приведенных базисов.

Теорема 7.7. Пусть b1, . . . , bn — LLL-приведенный базис решетки Λ Rn. Тогда:

1.|bj|2 2i−1|bi |2 при всех i, j, 1 j < i n;

2.d(Λ) n |bi| 2n(n−1)/4d(Λ);

i=1

3. |b1| 2(n−1)/4d(Λ)1/n.

Доказательство. Поскольку векторы bi ортогональны, то

 

|bi + ii−1bi−1|2 = |bi |2 + ii21|bi−1|2.

 

Так как 2

1/4, то из неравенства (7.2) следует, что

 

ii−1

 

 

 

 

 

 

 

2

1

 

2

 

 

|bi |

 

 

|bi−1

| .

 

 

2

 

Отсюда следует неравенство

 

 

 

 

 

 

|bj | 2i−j|bi |2,

(7.3)

§ 7.2. LLL-приведенный базис и его свойства

189

выполняющееся при всех i j. В силу ортогональности bi , получим

|bi|2 = |bi |2 + i<j

ij2 |bj |2 |bi |2

1 + 1 j<i 41

2i−j

=

 

 

 

 

 

 

 

 

 

 

= |bi |2 1 +

1

(2i−1 1) 2i−1|bi |2.

 

 

2

Поэтому |bj|2

2j−1|bj |2 2j−1 · 2i−j|bi |2,

что

доказывает первое

утверждение теоремы.

 

 

 

 

 

 

Первое неравенство во втором утверждении теоремы есть неравенство Адамара. Второе неравенство выполняется, поскольку

 

|bi| 2 i=1 i−21

|bi | = 2

2

· d(Λ).

n

i

n(n

1)

n

n

i=1

 

=1

 

 

Здесь мы воспользовались тем (обозначая через [b1, . . . , bn] матрицу, в i-й строке которой стоят координаты вектора bi), что выполнены равенства

 

 

 

 

 

 

 

 

 

1/2

 

 

 

 

 

 

 

1/2

 

n

d(Λ) =

det[b1, . . . , bn]

=

det[b , . . . ,

b

]

=

 

, b )

 

 

=

b .

= det[b , . . . , b ]

 

[b , . . . , b

]T

 

n

=

 

det (b

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

i

 

 

n

·

 

1

n

 

 

 

 

 

 

 

i

j

 

 

 

| i |

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=1

Наконец, из неравенства

 

 

 

 

 

 

 

 

 

 

 

 

 

 

следует, что

|b1|2 2i−1|bi |2,

 

i = 1, . . . , n,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

|b1|2n 2n(n−1)/2 n |bi |2 = 2n(n−1)/2d(Λ)2, i=1

что доказывает последнее утверждение теоремы.

Теорема 7.8. Пусть b1, . . . , bn LLL-приведенный базис решетки Λ. Тогда для любого вектора x Λ \0 справедливо нера-

венство

|b1|2 2n−1|x|2.

Замечание 7.9. Утверждение теоремы 7.8 означает, что вектор b1 является одним из самых коротких векторов решетки.

x

x

r b

 

r

=

 

 

i

 

где ri Z. Предста-

Доказательство. Пусть

x

n

ribi Λ \0,

 

 

n

 

 

 

i=1

 

 

 

 

вим

в виде =

i

i

i

 

R. Если

 

0

максимальный номер,

i

 

 

, где

 

 

 

 

 

 

=1