Нуралиев Д.С.
Евразийский Национальный университет им.
Л.Н.Гумилева, Казахстан
Математические понятия эллиптических кривых
В общем
случае уравнение эллиптической кривой Е имеет вид:
y2 +
axy + by = x3 + cx2 + dx + e
В качестве примера рассмотрим эллиптическую кривую Е,
уравнение которой имеет вид: y2
+ y = x3 - x2
Рис. 1. Пример эллиптической кривой с четырьмя точками
На этой кривой лежат только четыре точки, координаты которых являются
целыми числами. Это точки А (0, 0), В
(1, -1), С (1, 0) и D (0, -1)
Для определения операции сложения для точек на эллиптической кривой сделаем
следующие предположения:
Рис. 2. Сложение точек на
эллиптической кривой
Введем следующие правила сложения точек на эллиптической кривой:
Следовательно, P + Q = -S или P + Q = T
Если прямая является касательной к кривой в какой-либо из
точек P или Q, то в этом случае следует положить S =
P или S = Q соответственно.
Введенная таким образом операция сложения подчиняется всем
обычным правилам сложения, в частности коммутативному и ассоциативному законам.
Умножение точки Р эллиптической кривой на положительное
число k определяется как сумма k точек Р.
В криптографии с использованием эллиптических кривых все
значения вычисляются по модулю р, где р является простым числом.
Элементами даннойэллиптической кривой являются пары неотрицательных
целых чисел, которые меньше р и удовлетворяют частному виду эллиптической
кривой:
y2 x3 +
ax + b (mod p)
Такую кривую будем обозначать Ep (a,b). При этом
числа а и b должны быть меньше р и должны
удовлетворять условию 4a3 + 27b2 (mod
p) 0.
Множество точек на эллиптической кривой вычисляется следующим
образом.
1.
Для каждого
такого значения х, что 0 х р,
вычисляется x3 + ax + b (mod p).
2.
Для каждого
из полученных на предыдущем шаге значений выясняется, имеет ли это значение
квадратный корень по модулю р. Если нет, то в Ep(a,b) нет
точек с этим значением х. Если корень существует, имеется два
значения y, соответствующих операции извлечения квадратного корня
(исключением является случай, когда единственным значением оказывается y =
0). Эти значения (x,y) и будут точками Ep (a,b).
Множество точек Ep (a,b) обладает следующими
свойствами:
1.
Р + 0 = Р
2.
Если Р
= (x,y), то Р + (x,-y) = 0. Точка (x,-y) является отрицательным
значением точки Р и обозначается -Р. Заметим,
что (x,-y) лежит наэллиптической кривой и
принадлежит Ep (a,b).
3.
Если Р
= (x1,y1) и Q = (x2,y2),
где P Q,
то P + Q = (x3,y3) определяется по следующим
формулам:
4.
x3
λ2 - x1 - x2
(mod p)
5. y3
λ (x1 - x3)
- y1 (mod p)
где
(y2 - y1)/(x2 - x1)
, если P Q
λ = {
(3x12 + a)/2y1
, если P = Q
Число λ есть угловой коэффициент секущей, проведенной через
точки P = (x1, y1) и Q = (x2, y2).
При P = Q секущая превращается в касательную, чем и объясняется
наличие двух формул для вычисления λ.
Задача, которую должен решить в этом
случае атакующий, есть своего рода задача "дискретного логарифмирования на эллиптической кривой",
и формулируется она следующим образом. Даны
точки P и Q на эллиптической кривой Ep (a,b).
Необходимо найти коэффициент k < p такой, что P = k × Q
Относительно легко вычислить P по данным k и Q, но
довольно трудно вычислить k, зная P и Q.
Литература:
1. Библиотека MSDN Library for Visual Studio 2008
2.
Интернет-Университет Информационных
Технологий, http://www.intuit.ru
3. Сергей Панасенко, “Алгоритмы
шифрования”, Санкт-Петербург - 2009