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

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

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

Історія

Еліптична криптографія відноситься до асиметричної криптографії, тобто шифрування відбувається за допомогою відкритого ключа. Вперше цей алгоритм 1985 року незалежно запропонували Шаблон:Нп та Шаблон:Не перекладено[2]. Це було обґрунтовано тим, що дискретний логарифм на еліптичній кривій виявився складнішим від класичного дискретного логарифму на скінченному полі. Донині немає швидких алгоритмів зламу повідомлення, зашифрованого за допомогою еліптичної кривої, у загальному випадку. Вразливості таких шифрів пов'язані переважно з низкою недоліків при доборі початкових даних[3].

Вступ

Метод ґрунтується на зведенні дискретного логарифму на еліптичній кривій до дискретного логарифму в скінченному полі з деяким розширенням поля, на якому задано еліптичну криву. Це значно полегшує задачу, оскільки існують досить швидкі субекспоненційні алгоритми розв'язування дискретного логарифму, які мають складність O(exp(c(lnp)k(lnlnp)k1)), або ρ -алгоритм Полларда зі складністю O(πp/2), розроблені для скінченних полів[4].

Теорія

Нехай 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=β[5].

Нехай НСК (m,q)=1 та розширення поля FqFq таке, що E(Fq) містить підгрупу кручення E[m], ізоморфну /m×/m, тобто E[m]={P,TE(Fq):mP=0,mT=0}. Відомо, що таке розширення існує[6]. З цього випливає, що q=qk для деякого k1. У цьому випадку виконуватиметься така теорема, що дозволяє перейти до дискретного логарифму в розширеному скінченному полі[5]:

Теорема

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

Щоб скористатися цією теоремою, необхідно знати степінь k розширення поля Fq над Fq і точку T, для якої P,T=E[m][5].

Випадок суперсингулярної еліптичної кривої

Для суперсингулярної кривої E, k і T легко знайти, при цьому k6. Це 1993 року встановили Шаблон:Нп, Окамото Тацуакі та Шаблон:Нп. У статті вони описали ймовірнісний алгоритм обчислення допоміжної точки T, середній час роботи якого обмежено поліномом від logq[3].

Загальний випадок

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

Теорема

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

У випадках, коли НСК (m,q1)1, алгоритм працює надто повільно, або не працює зовсім[5].

Див. також

Примітки

Шаблон:Примітки

Література

Теорія
Історія