Дискретное логарифмирование на эллиптической кривой

Материал из testwiki
Перейти к навигации Перейти к поиску
T+T=S
В данном случае решением уравнения S=nT является n=2

Дискретное логарифмирование на эллиптической кривой — решение уравнения S=nT(modm) относительно n при известных S и T, где S,T — точки, принадлежащие эллиптической кривой и являющиеся зашифрованным сообщением и начальной точкой соответственно[1]. Иначе говоря — это метод взлома системы безопасности, основанной на данной эллиптической кривой (например российский стандарт ЭП ГОСТ Р 34.10-2012[2]), и нахождения секретного ключа.

История

Эллиптическая криптография относится к разряду асимметричной, то есть шифрование происходит с помощью открытого ключа. Впервые этот алгоритм был независимо предложен Нилом Коблицем и Шаблон:Iw в 1985 году[3]. Это было обосновано тем, что дискретный логарифм на эллиптической кривой оказался сложнее классического дискретного логарифма на конечном поле. До сих пор не существует быстрых алгоритмов взлома сообщения, зашифрованного с помощью эллиптической кривой, в общем случае. В основном уязвимости таких шифров связаны с рядом недочетов при подборе начальных данных[4].

Введение

Данный метод основан на сведении дискретного логарифма на эллиптической кривой к дискретному логарифму в конечном поле с некоторым расширением поля, на котором была задана эллиптическая кривая. Это значительно облегчает задачу, так как на данный момент существуют достаточно быстрые субэкспоненциальные алгоритмы решения дискретного логарифма, имеющие сложность O(exp(c(lnp)k(lnlnp)k1)), или ρ-алгоритм Полларда со сложностью O(πp/2), разработанные для конечных полей[5].

Теория

Пусть E — эллиптическая кривая, заданная в форме Вейерштрасса, над конечным полем Fq порядка q:

Шаблон:Формула

Предположим, что коэффициенты aiFq таковы, что кривая не имеет особенностей. Точки кривой E вместе с бесконечноудаленной точкой P, которая является нулевым элементом, образуют коммутативную группу, записывающуюся аддитивно, то есть для A,BE(Fq),A+B=B+A=CE(Fq). Также известно, что если Fq — конечное поле, то порядок такой группы Nq по теореме Хассе будет удовлетворять уравнению |Nqq1|2q.

Пусть E(Fq) — подгруппа точек E, определённых над FqFq. Следовательно, E(Fq) — конечная коммутативная группа. Возьмем точку PE(Fq), порождающую циклическую группу порядка m. То есть |P|=m[1].

Задача вычисления дискретных логарифмов в P заключается в следующем. Для данной точки QP найти n(modm) такое, что nP=Q.

Задача вычисления дискретных логарифмов в конечном поле Fq заключается в следующем. Пусть α — примитивный элемент поля Fq. Для данного ненулевого β найти n(mod(q1)) такое, что αn=β[6].

Пусть НОК(m,q)=1 и расширение поля FqFq такое, что E(Fq) содержит подгруппу кручения E[m], изоморфную /m×/m, то есть E[m]={P,TE(Fq):mP=0,mT=0}. Известно, что такое расширение существует[7]. Из этого следует, что q=qk для некоторого k1. В этом случае будет выполняться следующая теорема, позволяющая перейти к дискретному логарифму в расширенном конечном поле[6]:

Теорема

Пусть задана точка TE(Fq) такая, что P,T=E[m]. Тогда сложность вычисления дискретных логарифмов в группе P не больше сложности вычисления дискретных логарифмов в Fq.

Чтобы воспользоваться данной теоремой, необходимо знать степень k расширения поля Fq над Fq и точку T, для которой P,T=E[m][6].

Случай суперсингулярной эллиптической кривой

Для суперсингулярной кривой E, k и T легко находятся, при этом k6. Это было установлено Альфредом Менезесом, Окамото Тацуаки и Скоттом Ванстоуном в 1993 году. В своей статье они описали вероятностный алгоритм вычисления вспомогательной точки T, среднее время работы которого ограничено полиномом от logq[4].

Общий случай

Пусть G — максимальная подгруппа E(Fq), порядок элементов которой является произведением простых множителей m. Таким образом, E[m]G и G=/m1×/m2, где m делит m1 и m2. При этом m1m2 (в случае m1=m2, под нахождение точки T можно адаптировать метод для суперсингулярных кривых[6]). Пусть l — минимальное натуральное число, для которого выполняется ql1(modm).

Теорема

Пусть НОК(m,q1)=1. Тогда k=l и если известно разложение m на простые множители, то имеется вероятностный алгоритм вычисления точки TE(Fq), для которой P,T=E[m]. Среднее время работы алгоритма равно O(logcq) операций в поле Fq для некоторой постоянной c и m.

В случаях, когда НОК(m,q1)1, алгоритм работает слишком медленно, либо не работает вовсе[6].

См. также

Примечания

Шаблон:Примечания

Литература

Теория

История

Шаблон:Добротная статья