Нуралиев Д.С.

Евразийский Национальный университет им. Л.Н.Гумилева, Казахстан

Математические понятия эллиптических кривых

В общем случае уравнение эллиптической кривой Е имеет вид:

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