Алгоритм Шоофа — Элкиса — Аткина для вычисления порядка эллиптической кривой
Schoof–Elkies–Atkin algorithm
Алгоритм Шуфа-Элкиса-Аткина (SEA): быстрый способ вычисления порядка эллиптической кривой над конечным полем для криптографии. Оптимизация алгоритма Шуфа.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Алгоритм Шуфа — Элкиса — Аткина (SEA) — это алгоритм, используемый для определения порядка или вычисления количества точек на эллиптической кривой над конечным полем. Его основное применение — в криптографии на эллиптических кривых. Алгоритм является расширением алгоритма Шуфа, предложенным Ноамом Элкисом и А. О. Л. Аткином, для существенного повышения его эффективности (при эвристических допущениях).
The Schoof–Elkies–Atkin algorithm (SEA) is an algorithm used for finding the order of or calculating the number of points on an elliptic curve over a finite field. Its primary application is in elliptic curve cryptography. The algorithm is an extension of Schoof's algorithm by Noam Elkies and A. O. L. Atkin to significantly improve its efficiency (under heuristic assumptions).
Подробности
Расширение Элкиса — Аткина к алгоритму Шуфа работает путем ограничения множества рассматриваемых простых чисел простыми числами определенного типа. Эти простые числа стали называться соответственно простыми числами Элкиса и простыми числами Аткина. Простое число называется числом Элкиса, если его характеристическое уравнение распадается на множители в , а простое число называется числом Аткина, если оно не является числом Элкиса. Аткин показал, как объединить информацию, полученную из простых чисел Аткина, с информацией, полученной из простых чисел Элкиса, чтобы создать эффективный алгоритм, который стал известен как алгоритм Шуфа — Элкиса — Аткина. Первая задача — определить, является ли данное простое число числом Элкиса или Аткина. Для этого мы используем модульные многочлены, которые параметризуют пары изогенных эллиптических кривых в терминах их j-инвариантов (на практике также могут использоваться альтернативные модульные многочлены, но для той же цели). Если у заданного многочлена есть корень в , то это число Элкиса, и мы можем вычислить многочлен, корни которого соответствуют точкам в ядре изогении из в . Этот многочлен является делителем соответствующего многочлена деления, используемого в алгоритме Шуфа, и имеет значительно меньшую степень, а именно, по сравнению с . Для простых чисел Элкиса это позволяет вычислить количество точек на модуле более эффективно, чем в алгоритме Шуфа. В случае простого числа Аткина мы можем получить некоторую информацию из структуры разложения в , которая ограничивает возможные значения количества точек по модулю , но асимптотическая сложность алгоритма полностью зависит от простых чисел Элкиса. При условии, что существует достаточно много малых простых чисел Элкиса (в среднем, ожидается, что половина простых чисел являются числами Элкиса), это приводит к сокращению времени работы. Полученный алгоритм является вероятностным (типа Лас-Вегаса), и его ожидаемое время работы, эвристически, составляет , что делает его более эффективным на практике, чем алгоритм Шуфа. Здесь обозначение является вариантом нотации «большое O», которое подавляет слагаемые, логарифмически зависящие от основного члена выражения.
The Elkies Atkin extension to Schoof's algorithm works by restricting the set of primes considered to primes of a certain kind. These came to be called Elkies primes and Atkin primes respectively. A prime is called an Elkies prime if the characteristic equation: splits over , while an Atkin prime is a prime that is not an Elkies prime. Atkin showed how to combine information obtained from the Atkin primes with the information obtained from Elkies primes to produce an efficient algorithm, which came to be known as the Schoof–Elkies–Atkin algorithm. The first problem to address is to determine whether a given prime is Elkies or Atkin. In order to do so, we make use of modular polynomials that parametrize pairs of isogenous elliptic curves in terms of their j invariants (in practice alternative modular polynomials may also be used but for the same purpose). If the instantiated polynomial has a root in then is an Elkies prime, and we may compute a polynomial whose roots correspond to points in the kernel of the isogeny from to The polynomial is a divisor of the corresponding division polynomial used in Schoof's algorithm, and it has significantly lower degree, versus For Elkies primes, this allows one to compute the number of points on modulo more efficiently than in Schoof's algorithm. In the case of an Atkin prime, we can gain some information from the factorization pattern of in , which constrains the possibilities for the number of points modulo , but the asymptotic complexity of the algorithm depends entirely on the Elkies primes. Provided there are sufficiently many small Elkies primes (on average, we expect half the primes to be Elkies primes), this results in a reduction in the running time. The resulting algorithm is probabilistic (of Las Vegas type), and its expected running time is, heuristically, , making it more efficient in practice than Schoof's algorithm. Here the notation is a variant of big O notation that suppresses terms that are logarithmic in the main term of an expression.
Реализация
Алгоритм Шуфа — Элкиса — Аткина реализован в компьютерной алгебраической системе PARI/GP в GP-функции ellap.
Schoof–Elkies–Atkin algorithm is implemented in the PARI/GP computer algebra system in the GP function ellap.