Преимущество подхода на основе эллиптических кривых в сравнении с задачей факторизации числа, используемой в RSA, или задачей целочисленного логарифмирования, применяемой в алгоритме Диффи-Хеллмана и в DSS, заключается в том, что в данном случае обеспечивается эквивалентная защита при меньшей длине ключа.
В общем случае уравнение эллиптической кривой Е имеет вид:
y2 + axy + by = x3 + cx2 + dx + e
В качестве примера рассмотрим эллиптическую кривую Е, уравнение которой имеет вид:
y2 + y = x3 - x2
На этой кривой лежат только четыре точки, координаты которых являются целыми числами. Это точки
А (0, 0), В (1, -1), С (1, 0) и D (0, -1)
Для определения операции сложения для точек на эллиптической кривой сделаем следующие предположения:
Введем следующие правила сложения точек на эллиптической кривой:
P + Q + S = О
Следовательно,
P + Q = -S или P + Q = T
Если прямая является касательной к кривой в какой-либо из точек P или Q, то в этом случае следует положить S = P или S = Q соответственно.
Введенная таким образом операция сложения подчиняется всем обычным правилам сложения, в частности коммутативному и ассоциативному законам. Умножение точки Р эллиптической кривой на положительное число k определяется как сумма k точек Р.
В криптографии с использованием эллиптических кривых все значения вычисляются по модулю р, где р является простым числом. Элементами данной эллиптической кривой являются пары неотрицательных целых чисел, которые меньше р и удовлетворяют частному виду эллиптической кривой:
\[ y^{2} \equiv x^{3} + ax + b (mod\ p) \]
Такую кривую будем обозначать Ep (a,b). При этом числа а и b должны быть меньше р и должны удовлетворять условию \[ 4a^{3} + 27b^{2} (mod\ p) \ne 0 \] . Множество точек на эллиптической кривой вычисляется следующим образом.
Множество точек Ep (a,b) обладает следующими свойствами:
где
\[ \lambda = \left\{ \begin{aligned} &(y_{2} - y_{1})/(x_{2} - x_{1}), &если\ P \ne Q \\ &(3x_{1}^{2} + a)/2y_{1}, &если\ P = Q \end{aligned} \right. \]Число \[ \lambda \] есть угловой коэффициент секущей, проведенной через точки P = (x1, y1) и Q = (x2, y2). При P = Q секущая превращается в касательную, чем и объясняется наличие двух формул для вычисления \[ \lambda. \]
Задача, которую должен решить в этом случае атакующий, есть своего рода задача "дискретного логарифмирования на эллиптической кривой", и формулируется она следующим образом. Даны точки P и Q на эллиптической кривой Ep (a,b). Необходимо найти коэффициент k < p такой, что
P = k x Q
Относительно легко вычислить P по данным k и Q, но довольно трудно вычислить k, зная P и Q.
Рассмотрим три способа использования эллиптических кривых в криптографии.