Введение
Криптография на гипереллиптических кривых аналогична криптографии на эллиптических кривых (ECC) тем, что Якобиан гипереллиптической кривой является абелевой группой, в которой выполняются арифметические операции, подобно тому, как в ECC используется группа точек на эллиптической кривой.
Определение
(Воображаемая) гипереллиптическая кривая рода *g* над полем *K* задается уравнением *y*<sup>2</sup> = *f*(x), где *f* – многочлен степени не более 2*g* + 2, а *x* – мономический многочлен степени 2*g* + 2. Из этого определения следует, что эллиптические кривые являются гипереллиптическими кривыми рода 1. В криптографии на гипереллиптических кривых *K* часто является конечным полем. Якобиан кривой, обозначаемый *J*, является факторгруппой, таким образом, элементы Якобиана – это не точки, а классы эквивалентности делителей степени 0 относительно отношения линейной эквивалентности. Это согласуется со случаем эллиптической кривой, поскольку можно показать, что Якобиан эллиптической кривой изоморфен группе точек на эллиптической кривой. Использование гипереллиптических кривых в криптографии началось в 1989 году благодаря Нилу Коблицу. Хотя они были введены всего на 3 года позже ECC, немногие криптосистемы реализуют гипереллиптические кривые, поскольку реализация арифметики не так эффективна, как в криптосистемах, основанных на эллиптических кривых или факторизации (RSA). Эффективность реализации арифметики зависит от лежащего в основе конечного поля *K*; на практике конечные поля характеристики 2 оказываются хорошим выбором для аппаратных реализаций, в то время как программное обеспечение обычно быстрее для полей нечетной характеристики. Якобиан гипереллиптической кривой является абелевой группой и, как таковой, может служить группой для задачи дискретного логарифмирования (DLP). Вкратце, предположим, что у нас есть абелева группа *G* и элемент *a* из *G*. Задача DLP в *G* заключается в нахождении целого числа *x*, зная два элемента *G*, а именно *a* и *a*<sup>x</sup>. Первым типом группы, использованным для DLP, была мультипликативная группа конечного поля, позже также использовались Якобианы (гипер)эллиптических кривых. Если гипереллиптическая кривая выбрана с осторожностью, то метод Ро Поларда является наиболее эффективным способом решения DLP. Это означает, что если Якобиан имеет *n* элементов, то время работы алгоритма экспоненциально зависит от log *n*. Это позволяет использовать Якобианы относительно небольшого порядка, что повышает эффективность системы. Однако, если гипереллиптическая кривая выбрана неудачно, задача DLP станет довольно простой для решения. В этом случае существуют известные атаки, которые более эффективны, чем общие решатели дискретных логарифмов или даже субекспоненциальные алгоритмы. Следовательно, следует избегать таких гипереллиптических кривых. Учитывая различные атаки на DLP, можно перечислить характеристики гипереллиптических кривых, которых следует избегать.
Атаки на DLP
Все общие атаки на задачу дискретного логарифмирования в конечных абелевых группах, такие как алгоритм Поллига — Хеллмана и метод Полларда ро, могут быть использованы для атаки на задачу дискретного логарифмирования (DLP) в якобиане гиперэллиптических кривых. Атака Поллига — Хеллмана снижает сложность DLP, рассматривая порядок группы, с которой мы работаем. Предположим, что используемая группа имеет *n* элементов, где *n* — произведение простых множителей. Алгоритм Поллига — Хеллмана сводит задачу DLP в группе порядка *n* к задачам DLP в подгруппах порядка *p<sub>i</sub>*, где *p<sub>i</sub>* — простые множители *n*. Таким образом, для *p* — наибольшего простого делителя *n*, задача DLP в группе порядка *n* столь же сложна, как и задача DLP в подгруппе порядка *p*. Следовательно, мы хотели бы выбрать *n* таким образом, чтобы наибольший простой делитель *p* числа *n* был почти равен самому *n*. Обычно достаточно требовать *n* быть степенью простого числа. Алгоритм вычисления индексов — это еще один алгоритм, который может быть использован для решения DLP при определенных обстоятельствах. Для якобианов (гипер)эллиптических кривых существует атака вычисления индексов на DLP. Если род кривой становится слишком большим, атака будет эффективнее метода Полларда ро. Сегодня известно, что даже род 8 не может обеспечить безопасность. Следовательно, у нас остаются эллиптические и гипереллиптические кривые рода 2. Еще одно ограничение на гипереллиптические кривые, которые мы можем использовать, связано с атакой Менезеса — Окамото — Ванстоуна / атакой Фрея — Рюка. Первая, часто называемая MOV, была разработана в 1993 году, вторая — в 1994 году. Рассмотрим (гипер)эллиптическую кривую *E* над конечным полем *F<sub>q</sub>*, где *q* — степень простого числа *p*. Предположим, что якобиан кривой имеет *N* элементов и *p* — наибольший простой делитель *N*. Для *t* — наименьшего положительного целого числа, такого что существует вычислимый инъективный групповой гомоморфизм из подгруппы порядка *p<sup>t</sup>* группы *E(F<sub>q</sub>)* в якобиан *J(E)*. Если *t* мало, мы можем решить DLP в *J(E)*, используя атаку вычисления индексов в *E(F<sub>q</sub>)*. Для произвольных кривых *t* очень велико (порядка размера *N*); поэтому, хотя атака вычисления индексов достаточно быстра для мультипликативных групп конечных полей, эта атака не представляет угрозы для большинства кривых. Инъективная функция, используемая в этой атаке, является спариванием, и существуют некоторые приложения в криптографии, которые используют их. В таких приложениях важно сбалансировать сложность DLP в *E(F<sub>q</sub>)* и *J(E)*; в зависимости от уровня безопасности полезными являются значения *t* между 6 и 12. Подгруппа порядка *p<sup>t</sup>* является тором. Существует некоторое независимое использование в криптографии на основе торов. У нас также есть проблема, если *p*, наибольший простой делитель порядка якобиана, равен характеристике поля *F<sub>q</sub>*. С помощью другого инъективного отображения мы могли бы тогда рассматривать DLP в аддитивной группе *E(F<sub>q</sub>)* вместо DLP на якобиане. Однако DLP в этой аддитивной группе тривиально решается, что легко увидеть. Следовательно, эти кривые, называемые аномальными кривыми, также не должны использоваться в DLP.
Орден Якобинов
Поэтому, чтобы выбрать хорошую кривую и хорошее конечное поле, важно знать порядок Якобиана. Рассмотрим гиперэллиптическую кривую рода *g* над полем 𝔽<sub>*q*</sub>, где *q* – степень простого числа, и определим *C* как кривую, но теперь над полем 𝔽<sub>*q*<sup>2</sup></sub>. Можно показать, что порядок Якобиана *C* лежит в интервале [2, *q*<sup>*g*</sup> + 1], называемом интервалом Хассе — Вейля. Но есть и другое: мы можем вычислить порядок, используя дзета-функцию на гиперэллиптических кривых. Пусть *N* – число точек на *C*. Тогда мы определим дзета-функцию *C* как *Z(t) = exp(∑<sub>i=1</sub><sup>∞</sup> N<sub>i</sub>t<sup>i</sup>/i)*. Для этой дзета-функции можно показать, что *Z(t) = P(t)/(1-t)*, где *P(t)* – многочлен степени *2g* с коэффициентами в 𝔽<sub>*q*</sub>. Кроме того, *P(t)* раскладывается как *P(t) = ∏<sub>i=1</sub><sup>2g</sup> (t - α<sub>i</sub>)*, где α<sub>i</sub> – корни многочлена, и |α<sub>i</sub>| = √*q* для всех *i*. Здесь α<sub>i</sub> обозначает комплексный сопряженный. Наконец, порядок Якобиана равен *q*<sup>*g*</sup> - ∑<sub>i=1</sub><sup>2g</sup> α<sub>i</sub> + 1. Следовательно, порядки Якобианов можно найти, вычислив корни многочлена *P(t)*.