Криптография на основе гиперэллиптических кривых похожа на криптографию на основе эллиптических кривых (ECC), поскольку якобиан гиперэллиптической кривой представляет собой абелеву группу , в которой можно выполнять арифметические действия, подобно тому, как в ECC мы используем группу точек на эллиптической кривой.
(Мнимая) гиперэллиптическая кривая рода над полем задается уравнением , где — многочлен степени не больше , а — монический многочлен степени . Из этого определения следует, что эллиптические кривые являются гиперэллиптическими кривыми рода 1. В криптографии гиперэллиптических кривых часто есть конечное поле . Якобиан , обозначаемый , является фактор-группой , таким образом, элементы якобиана не являются точками, они являются классами эквивалентности делителей степени 0 при отношении линейной эквивалентности . Это согласуется со случаем эллиптической кривой, поскольку можно показать, что якобиан эллиптической кривой изоморфен группе точек на эллиптической кривой. [1] Использование гиперэллиптических кривых в криптографии началось в 1989 году с Нила Коблица . Хотя они были введены всего через 3 года после ECC, не многие криптосистемы реализуют гиперэллиптические кривые, поскольку реализация арифметики не так эффективна, как в криптосистемах, основанных на эллиптических кривых или факторизации ( RSA ). Эффективность реализации арифметики зависит от базового конечного поля , на практике оказывается, что конечные поля характеристики 2 являются хорошим выбором для аппаратных реализаций, в то время как программное обеспечение обычно быстрее в нечетной характеристике. [2]
Якобиан на гиперэллиптической кривой является абелевой группой и как таковой может служить группой для задачи дискретного логарифмирования (DLP). Короче говоря, предположим, что у нас есть абелева группа и элемент из , DLP на влечет за собой нахождение целого числа по двум элементам из , а именно и . Первым типом использованной группы была мультипликативная группа конечного поля, позже также использовались якобианы (гипер)эллиптических кривых. Если гиперэллиптическая кривая выбрана с осторожностью, то метод ро Полларда является наиболее эффективным способом решения DLP. Это означает, что если якобиан имеет элементы, то время выполнения является экспоненциальным по . Это позволяет использовать якобианы довольно малого порядка , тем самым делая систему более эффективной. Но если гиперэллиптическая кривая выбрана неудачно, DLP станет довольно легко решить. В этом случае известны атаки, которые более эффективны, чем общие решатели дискретного логарифма [3] или даже субэкспоненциальные. [4] Следовательно, этих гиперэллиптических кривых следует избегать. Рассматривая различные атаки на DLP, можно перечислить особенности гиперэллиптических кривых, которых следует избегать.
Все общие атаки на задачу дискретного логарифмирования в конечных абелевых группах, такие как алгоритм Полига–Хеллмана и метод ро Полларда, могут быть использованы для атаки на DLP в якобиане гиперэллиптических кривых. Атака Полига–Хеллмана снижает сложность DLP, рассматривая порядок группы, с которой мы работаем. Предположим, что используемая группа имеет элементы, где — разложение на простые множители . Полиг–Хеллман сводит DLP в к DLP в подгруппах порядка для . Таким образом, для наибольшего простого делителя DLP в так же сложно решить, как и DLP в подгруппе порядка . Поэтому мы хотели бы выбрать такой, чтобы наибольший простой делитель был почти равен самому себе. Обычно достаточно требования .
Алгоритм исчисления индексов — это еще один алгоритм, который можно использовать для решения DLP при некоторых обстоятельствах. Для якобианов (гипер)эллиптических кривых существует атака исчисления индексов на DLP. Если род кривой становится слишком большим, атака будет эффективнее, чем ро Полларда. Сегодня известно, что даже род не может гарантировать безопасность. [5] Следовательно, у нас остаются эллиптические кривые и гиперэллиптические кривые рода 2.
Другое ограничение на гиперэллиптические кривые, которые мы можем использовать, исходит из атаки Менезеша-Окамото-Ванстоуна / атаки Фрея-Рюка. Первая, часто называемая для краткости MOV, была разработана в 1993 году, вторая появилась в 1994 году. Рассмотрим (гипер)эллиптическую кривую над конечным полем, где — степень простого числа. Предположим, что якобиан кривой имеет элементы и является наибольшим простым делителем . Для наименьшего положительного целого числа, такого что существует вычислимый инъективный групповой гомоморфизм из подгруппы порядка в . Если мало, мы можем решить DLP в , используя атаку исчисления индексов в . Для произвольных кривых очень велико (около размера ); поэтому, хотя атака исчисления индексов довольно быстра для мультипликативных групп конечных полей, эта атака не представляет угрозы для большинства кривых. Инъективная функция, используемая в этой атаке, является сопряжением , и в криптографии есть некоторые приложения, которые их используют. В таких приложениях важно сбалансировать стойкость DLP в и ; в зависимости от уровня безопасности полезны значения от 6 до 12. Подгруппа представляет собой тор . Существует некоторое независимое использование в криптографии на основе тора .
У нас также есть проблема, если , наибольший простой делитель порядка якобиана, равен характеристике С помощью другого инъективного отображения мы могли бы тогда рассмотреть DLP в аддитивной группе вместо DLP на якобиане. Однако, DLP в этой аддитивной группе тривиально решить, как можно легко увидеть. Поэтому также эти кривые, называемые аномальными кривыми, не должны использоваться в DLP.
Следовательно, чтобы выбрать хорошую кривую и хорошее базовое конечное поле, важно знать порядок якобиана. Рассмотрим гиперэллиптическую кривую рода над полем , где — степень простого числа , и определим как , но теперь над полем . Можно показать, что порядок якобиана лежит в интервале , называемом интервалом Хассе-Вейля. [6]
Но есть еще кое-что: мы можем вычислить порядок, используя дзета-функцию на гиперэллиптических кривых. Пусть — число точек на . Тогда мы определим дзета-функцию как . Для этой дзета-функции можно показать, что где — многочлен степени с коэффициентами в . [7] Кроме того, факторы как , где для всех . Здесь обозначает комплексно сопряженное число . Наконец, мы имеем, что порядок равен . Следовательно, порядки якобианов можно найти, вычислив корни .