Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Специальные разделы математики. Учебное пособие (курс лекций)

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
{}
|.
sS∈
pB∈
nn
()
Лекция 8
в качестве столбцов матрицы и затем использовать метод Гаусса, который легко приспособить для работы с целыми числами по mod 2. Как только мы найдём линейно зависимые векторы, мы просто перемножаем числа, соответствующие этим векторам, и получаем квадрат, который ищем.
Однако возведение в квадрат множества случайных чисел по mod n приводит к большому числу различных простых мно­жителей, длинным векторам и большой матрице. Чтобы изба­виться от этой проблемы, мы специально ищем числа, такие что
2
mod n имеет только небольшие простые множители (такие числа
a
называются гладкими числами). Их сложнее найти, но использова­ние таких чисел позволяет избежать больших векторов и матриц.
Основная идея метода
В качестве факторной базы B берется множество простых чи­сел, состоящее из p = 2 и всех таких нечетных простых чисел p, не превосходящих заданной границы P (которая выбирается из соображений оптимальности), что n – квадратичный вычет по модулю p.
Множество S целых чисел, в котором ищутся B-числа (B-чис- ло – целое число, делящееся только на простые числа из B) вы­глядит следующим образом:
2
Stnn tnA=−

+≤≤
Далее, вместо того чтобы брать одно за другим

1
+
, и де-
лить его на простые числа из B, берутся одно за другим каждое
и проверяется делимость на p (и его степени) одновремен­но для всех . Для построения списка всех простых p, не превос­ходящих A, можно использовать решето Эратосфена.
Алгоритм
1. Выбираются границы P и A и порядка величины (далее обозначается как Ln), такие что P < A < P2.
2. Для

tn

+

+
A=
+12,,...,
по порядку в стол-
бец выписываются целые числа t2 – n.
3. Для каждого нечетного простого числа p < P проверяется
np/
=1
условие
. Если оно не выполняется, p удаляется из
факторной базы.
- 121 -
СПЕЦИАЛЬНЫЕ РАЗДЕЛЫ МАТЕМАТИКИ
4. Предполагая, что p – такое нечетное простое число, что n – квадратичный вычет по модулю p, решается уравне-
ние для β = 1, 2,… . Значения β берутся в порядке возрас- тания пока не окажется, что уравнение не имеет решений t, сравнимых по модулю pβ с каким-либо из чисел в об- ласти Пусть β – наибольшее из таких чисел, для кото­рых в указанной области найдется число t со свойством
2
tn p
≡ (mod )
5. Пусть t
β
.
1
и t2 – решения
2
tn p
≡ (mod )
β
tt p
≡− (mod )
и
21
β
6. При том же значении p просматривается список значений
2
t
– n, полученный в п. 2. В столбце, соответствующем
p, ставится 1 против всех значений t
t отличается от t
на некоторое кратное p. После этого
1
1 заменяется на 2 для всех таких значений t отличается от t мое проделывается с t
на кратное p2 и т. д. до β. Затем то же са-
1
вместо t1. Наибольшее возможное
2
2
– n, для которых
2
– n, что t
число в столбце – β.
7. При добавлении очередной единицы к числу в столбце в п. 5, соответствующее число t
2
– n делится на p и полу-
ченный результат сохраняется.
8. В столбце под p = 2 при n ≠ 1 (mod 8) просто ставится 1 против t лится на 2. При n ≡ 1 (mod 8) решается уравнение t
2
– n с нечетным t и соответствующее t2 – n де-
2
– n (mod 2β) и решение продолжается в том же ключе, как при нечетном p.
9. Когда все указанные действия будут проведены для всех простых чисел, не превосходящих P, следует отбросить все числа t
2
– n, кроме обратившихся в 1 после деления на все степени p, не превосходящих P. В итоге получит­ся таблица, в которой в b такие значения t из интервала что t
столбце будут содержаться все
i
2
– n есть B-число, а остальные столбцы будут соответствовать тем значени­ям p < P, для которых n – квадратичный вычет.
10. Далее используется обобщенный метод факторизации Ферма (метод факторных баз).
- 122 -
Лекция 8
Метод факторизации с помощью эллиптических кривых бу-
дет рассмотрен в следующей лекции.
Выводы
В лекции рассмотрены некоторые методы и алгоритмы тео­рии чисел, применяемые в криптографии: применение простых чисел; проверка простоты натуральных чисел; некоторые мето­ды и алгоритмы факторизации натуральных и целых чисел.
Вопросы для самопроверки
1. Какие числа называются простыми?
2. На какие классы делятся алгоритмы тестирования чисел на простоту?
3. Какие вероятностные тесты простоты Вы знаете?
4. Какую задачу решают вероятностные тесты простоты?
4. Как оценивается теоретическая сложность вероятност­ных тестов простоты?
5. Какие детерминированные тесты простоты Вы знаете?
6. Какую задачу решают детерминированные тесты про­стоты?
7. Как работает тест Ферма?
8. Как определить простоту числа с помощью теста Милле­ра-Рабина?
9. Каковы достоинства и недостатки каждого из вероят­ностных тестов (сравнить хотя бы 2 из них).?
10. Что называется факторизацией чисел?
11. Какие алгоритмы факторизации чисел Вы знаете?
12. Какие методы решета числового поля Вы знаете и чем они отличаются?
Литература: 1, 11, 14, 15, 19.
- 123 -
СПЕЦИАЛЬНЫЕ РАЗДЕЛЫ МАТЕМАТИКИ
{}
),
[]
9. ПРИМЕНЕНИЕЭЛЛИПТИЧЕСКИХКРИВЫХ  ДЛЯПРОВЕРКИПРОСТОТЫИФАКТОРИЗАЦИИ
План
9.1. Некоторые сведения об эллиптических кривых над ко­нечным полем.
9.2. Факторизация с помощью эллиптических кривых.
9.3. Алгоритм Шуфа вычисления порядка группы точек эл­липтической кривой над конечным полем.
9.4. Реализация метода генерации эллиптических кривых на основе алгоритма подсчета количества точек.
9.5. Выбор эллиптической кривой для формирования подписи.
9.1. Некоторыесведенияобэллиптических
кривыхнадконечнымполем
Эллиптические кривые являются частью алгебраических
кривых.
Приведем некоторые определения и теоремы теории алгебра-
ических кривых [1].
Определение 1. Алгебраической кривой порядка n над полем
ExyK Fxy
=∈ =
К называется множество
FXYKXY(,
E
∈
называются точками кривой.
F
– многочлен степени n над полем К. Элементы
(,)|(,)
F
Алгебраическая кривая порядка 1 над полем К называется
прямой над этим полем.
Известно, что частные производные многочлена F(X,Y) мож-
но представить в виде:
∂
F
()... ()
=++
FX mF XY
∂
X
m
m11
()2
−
;
0
, где
∂
F
()... ()
=++
GY nG YX
∂
X
n
n11
−
.
Определение 2. Точка называется простой (неособой), если
значения частных производных
- 124 -
Лекция 9
()
()
[]
Xb
−−
qX
[]
∈ ()
Xb
70
32
ab+≠
()
(())
()
2
∂
F
P
∂
X
и
2
∂
F
P
∂
Y
не равны нулю одновременно. В противном случае точка назы­вается особой или кратной.
Определение 3. Кривая E
называется гладкой, если все её
F
точки являются простыми.
Пусть GF(q) – поле из q элементов, характеристика которого
больше 3. Рассмотрим многочлен
FXYGFq XY(,)(),∈
.
Лемма 1. Алгебраическая кривая , заданная многочленом
FXYY Xa
(,)=−
23
, (9.1)
является гладкой тогда и только тогда, когда многочлен
FX XaXbGF
() ()=++∈
3
не имеет кратных корней в поле
разложения.
Лемма 2. Пусть поле из q элементов, характеристика которо-
го больше 3, а
bGFq
. Многочлен
FX Xa
()=++
3
не име­ет кратных корней в поле разложения в том и только в том слу­чае, когда выполнено условие
42
. (9.2)
Следствие. Алгебраическая кривая, заданная многочленом
(9.1), является гладкой только тогда, когда выполнено условие (9.2).
Определение 4. Эллиптической кривой над полем зывается множество кой алгебраической кривой ном
FXY(,)
вида (9.1), и еще одного элемента О, называемого
EGFq
ab,
E
, состоящее из всех точек глад-
GF q
над
F
, заданной многочле-
GF q
на-
«точка в бесконечности».
Элементы множества
(())
ab,
называются точками кри-
EGFq
вой. Точки кривой, отличные от точки О, называются конечными или аффинными точками кривой. Из следствия вытекает, что для эллиптической кривой должно выполняться условие (9.2).
В криптографии интерес к эллиптическим кривым над ко­нечными полями вызван тем, что они являются источником ко­нечных абелевых групп, удобных для вычислений и достаточно богатых по структуре.
При описании свойств групп точек эллиптических кривых важным вопросом является вычисление порядка этих групп.
- 125 -
СПЕЦИАЛЬНЫЕ РАЗДЕЛЫ МАТЕМАТИКИ
, �∈
kl
il
[]
lC
9.2.Факторизацияспомощьюэллиптических  кривых
Алгоритм факторизации натурального числа с использова­нием эллиптических кривых имеет субэкспоненциальное время выполнения. Является третьим по скорости работы после общего метода решета числового поля и метода квадратичного решета.
На практике часто используется для выявления (отбрасы­вания) небольших простых делителей числа. Если полученное после работы алгоритма число все еще является составным, то остальные сомножители – большие числа. При увеличении ко­личества кривых шансы найти простой делитель возрастают, тем не менее зависимость ожидаемого количества эллиптиче­ских кривых от количества цифр в искомом делителе экспонен­циальна.
Приведем алгоритм факторизации натурального числа с ис­пользованием эллиптических кривых:
Дано составное целое нечетное число n. Нужно найти его не- тривиальный делитель d, 1 < d < n.
Случайным образом выбирается эллиптическая кривая
2
= x3 + ax + b,
E: y
ab
где разложения окажется неудачной, следует взять другие E и P и повторить алгоритм сначала.
1. Выбирается целое число k, делящееся на степени малых
где
2. Вычисляем kP (все действия производятся по модулю n)
, и некоторая точка P = (x, y) на ней. Если попытка
n
простых чисел (не больших некоторого B), не превосхо­дящих C, то есть
α
i
α
C=
log
– наибольший из возможных показате-
лей, при котором
α
i
=
≤ .
П
lB
≤
,
где
му закону.
,
– операция сложения, определенная по группово-
- 126 -
Лекция 9
Вычисления проводятся до тех пор, пока при попытке
найти число, обратное к 2yp, не появляется число, не вза­имно простое с n. Это произойдёт при таком k = k1, что k1P = O, то есть порядок P в группе E по модулю n явля- ется делителем k1.
3. При применении алгоритма Евклида вместо обращения знаменателя по модулю n, получаем нетривиальный наи- больший общий делитель этого знаменателя и n, то есть собственный делитель числа n.
Обоснование
Если числа p и q – два простых делителя числа n, то эл­липтическая кривая y2 = x3 + ax + b (mod n) соответствует двум эллиптическим кривым: по модулю p и по модулю q. Эти две кривые с заданной операцией сложения точек образуют груп­пы, содержащие Np и Nq элементов, соответственно. По теореме Лагранжа, для любой точки Р на исходной кривой по модулю p из равенства kP = ∞ для минимального положительного числа k следует, что k делит Np (в частности, NpP = ∞). Аналогичное утверждение справедливо и для кривой по модулю q. Для слу­чайно выбранной эллиптической кривой порядки Np и Nq являют­ся случайными числами, близкими к p+1 и q + 1, соответственно (см. ниже). Поэтому маловероятно, что большинство простых делителей Np и Nq совпадают, и вполне вероятно, что при вычис­лении мы столкнёмся с некоторыми kP = ∞ по модулю р, но не по модулю q, или наоборот. Если это так, то kP не существует на исходной кривой, а в вычислениях мы нашли такое v, что либо НОД (v, p) = p, либо НОД (v, q) = q, но не одновременно. Тогда НОД (v, n) является нетривиальным делителем числа n.
9.3. АлгоритмШуфавычисленияпорядка
группыточекэллиптическойкривой
надконечнымполем
Алгоритм Шуфа – эффективный алгоритм подсчёта числа точек на эллиптической кривой над конечным полем. Алгоритм имеет приложения в эллиптической криптографии, где важно
- 127 -
СПЕЦИАЛЬНЫЕ РАЗДЕЛЫ МАТЕМАТИКИ
℘=
11
22
ωω
знать число точек, чтобы судить о трудности решения задачи дискретного логарифмирования на группе точек на эллиптиче­ской кривой.
Алгоритм опубликован в 1985 году, и это был теоретический прорыв, поскольку это был первый детерминированный алго­ритм полиномиального времени. До алгоритма Шуфа подходы к подсчёту точек на эллиптических кривых, каким был алгоритм малых и больших шагов, были по большей части трудоёмкими и требовали экспоненциального времени работы.
Пусть E – эллиптическая кривая, определённая над конечным полем Fq, где q = pn для простого p и целого n ≥ 1n ≥ 1. Над по­лем с характеристикой ≠2,3 эллиптическая кривая может быть задана (коротко) уравнением Вейерштрасса:
Ez
() (
+
∑
2
zz
0
∈
\{ }
ω
Γ
−
()
1
−
)
,
которое можно привести в виде
E: y2 = x3 + ax + b {a, b ∈ Fq, a, b ∈ Fq}.
Множество точек, определённых над Fq, состоит из решений
a, b ∈F2q, удовлетворяющих уравнению кривой, и бесконечно
удалённой точки O. Если использовать групповой закон на эл­липтических кривых на этом множестве, можно видеть, что это множество E(Fq)образует абелеву группу, в которой O действует как нулевой элемент. Чтобы посчитать точки на эллиптической кривой, мы подсчитываем мощность множества E(Fq). В подхо­де Шуфа для подсчёта мощности этого множества используется теорема Хассе об эллиптических кривых вместе с китайской те­оремой об остатках.
Теорема Хассе об эллиптических кривых, также называе­мая границей Хассе, даёт оценку числа точек на эллиптической кривой над конечным полем, причём ограничивает значения как сверху, так и снизу. Теорема Хассе эквивалентна определе­нию абсолютного значения корней локальной дзета-функции Е. В этом виде её можно рассматривать как аналог гипотезы Ри­мана для поля функций, ассоциированного с эллиптической кривой.
- 128 -
()
Fq
≤+11
22
qq
Лекция 9
Теорема Хассе об эллиптических кривых утверждает, что ко-
личество точек на эллиптической кривой над конечным полем
Fq лежит в интервале
()|()|
qE
−≤
q
.
Или, что то же самое, это число близко к числу точек на про-
ективной прямой над тем же полем:
|| ()||EF
−−<12
q
.
9.4. Реализацияметодагенерации  эллиптическихкривыхнаоснове  алгоритмаподсчетаколичестваточек
Знание количества точек эллиптической кривой над конеч­ным полем необходимо для проверки её криптографической стойкости.
Многим криптографическим алгоритмам, использующим аппарат эллиптических кривых над конечным полем, требует­ся знание порядка группы используемой эллиптической кривой. В частности, порядок группы (количество точек) должен быть известен при генерации эллиптической кривой для того, чтобы проверить её криптографическую стойкость. Например, этого требуют новый американский и российский стандарты на циф­ровую подпись.
Существует два основных метода решения этой проблемы:
1) использовать способы, позволяющие получать эллипти­ческие кривые, порядок группы которых удовлетворяет некоторым выбранным заранее свойствам, например, ал­горитмы «комплексного умножения»;
2) выбрать эллиптическую кривую случайным образом, вы­числить порядок группы этой эллиптической кривой, а за­тем проверить, удовлетворяет ли эллиптическая кривая тре­буемым свойствам, используя это вычисленное значение.
Первый алгоритм для подсчёта количества точек эллипти­ческой кривой над конечным полем, выполняющийся за поли­номиальное время, был предложен Шуфом (Schoof). В первое
- 129 -
СПЕЦИАЛЬНЫЕ РАЗДЕЛЫ МАТЕМАТИКИ
время считалось, что алгоритм Шуфа малопригоден для приме­нения на практике, но Элкис (Elkies) и Аткин (Atkin) внесли в него несколько важных добавлений, после чего он стал известен как алгоритм SEA (по первым буквам фамилий авторов). Позже были предложены дальнейшие усовершенствования алгоритма.
В ходе работы была написана библиотека «ECcount» на язы­ке программирования C++, реализующая версию алгоритма SEA, описанную в статье. Библиотеку можно собрать как в операци­онных системах Unix, так и в операционных системах Windows. Используя написанный код, можно легко реализовать второй ме­тод генерации параметров эллиптических кривых.
В качестве основы была взята известная математическая би­блиотека NTL. Выбор базовой библиотеки обусловлен её функ­циональностью, скоростью (например, на ней были реализованы некоторые криптографические атаки), компактностью (исходный код занимает чуть более 600 килобайт), переносимостью и нали­чием криптографически стойкого генератора случайных чисел.
Существует несколько других реализаций алгоритма SEA, но они имеют определённые недостатки. В частности, рассматри­вались реализации, основанные на математических библиотеках Miracle и Lidia. Недостатком первой реализации является то, что в ней алгоритм представлен в виде отдельного приложения, лицен­зия которого запрещает его модификацию третьими сторонами. Данный факт не позволяет произвести интеграцию данной реали­зации алгоритма с другими программами, что значительно сни­жает удобство её использования, а также не позволяет произвести модификации использованного в ней алгоритма в целях ускоре­ния его выполнения. Недостатком второй реализации является невозможность её сборки в операционных системах Windows.
Библиотека «ECcount» может быть расширена за счёт вклю­чения в неё новых быстрых алгоритмов подсчёта количества то­чек эллиптических кривых над полями Галуа порядка 2n. Также возможно использовать библиотеку в качестве основы для более универсальной библиотеки на основе библиотеки NTL, реализу­ющей весь набор операций с эллиптическими кривыми, необхо­димых для написания криптографических приложений.
- 130 -
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]