Loading AI tools
Из Википедии, свободной энциклопедии
Факторизация с помощью эллиптических кривых (англ. elliptic curve factorization method, сокр. ECM) или Метод Ленстры факторизации с помощью эллиптических кривых (англ. Lenstra elliptic curve factorization) — алгоритм факторизации натурального числа с использованием эллиптических кривых. Данный алгоритм имеет субэкспоненциальную сложность[1]. ECM является третьим по скорости работы[2] после общего метода решета числового поля и метода квадратичного решета.
На практике лучше всего подходит для нахождения небольших простых делителей числа, и поэтому считается узкоспециализированным[3] алгоритмом.
Является лучшим алгоритмом[4] для поиска простых делителей длины 20-25 знаков (размером 64…83 бит), потому что его сложность в основном зависит от наименьшего простого делителя p, а не от факторизируемого числа.
Часто используется для выявления (отбрасывания) небольших простых делителей числа. Если полученное после работы алгоритма число все ещё является составным, то остальные сомножители — большие числа, и для дальнейшего разложения имеет смысл использовать более общие алгоритмы факторизации.
Самый большой делитель, найденный использованием этого алгоритма, имеет длину 83 знака и был найден Райаном Проппером (англ. Ryan Propper) 7 сентября 2013 г[5].
Алгоритм факторизации (нахождения нетривиального делителя) натурального числа [6]:
Уравнение , взятое по модулю числа n задаёт эллиптическую кривую . Если числа p и q — два простых делителя числа n, то вышеупомянутое уравнение будет верно и при взятии по модулю p или по модулю q. То есть : и : задают, соответственно, две эллиптические кривые (меньшие, чем ). Однако и с заданной операцией сложения — не только эллиптические кривые: они также являются группами. Пусть они содержат Np и Nq элементов, соответственно, тогда если:
То по теореме Лагранжа верно, что
Аналогичное утверждение справедливо и для кривой по модулю q.
Порядок группы точек, лежащих на эллиптической кривой над Zp, согласно теореме Хассе ограничен: p + 1 − 2√p p + 1 + 2√p
Для случайно выбранной эллиптической кривой порядки Np и Nq являются случайными числами, ограниченными по теореме Хассе (см. ниже). Маловероятно, что большинство простых делителей Np и Nq совпадают, и вероятно, что при вычислении eP встретится некоторый по модулю р, но не по модулю q, или наоборот. Если это так, то kP не существует на исходной кривой, а в вычислениях было найдено такое v, что либо НОД (v, p) = p, либо НОД (v, q) = q, но не одновременно. Тогда НОД (v, n) является нетривиальным делителем числа n.
ECM является доработкой более старого P-1 метода Полларда[7]. Алгоритм p − 1 находит такие простые делители p, что (p − 1) — B-гладкое для некоторого небольшого B. Для любого e, кратного (p − 1), и для любого a, взаимно простого с p по малой теорема Ферма верно, что ae ≡ 1 (mod p). Тогда НОД(ae − 1, n) с большой вероятностью будет делителем n. Однако, Алгоритм p − 1 не сработает[7], когда у p есть большие простые делители. ECM в этом случае сработает корректно, потому что вместо рассмотрения мультипликативной группы над Zp, порядок которой всегда равен p − 1, рассматривается группа случайной эллиптической кривой над конечным полем Zp.
Порядок группы точек, лежащих на эллиптической кривой над Zp, согласно теореме Хассе ограничен: p + 1 − 2√p p + 1 + 2√p. Представляется важным исследовать [8] вероятность того, что в этом интервале может лежать некоторое гладкое число (в этом случае существуют кривые, порядок которых — гладкое число). Не существует доказательств того, что в интервале Хассе есть всегда некоторое гладкое число, однако использованием эвристических вероятностных методов, теоремы Канфилда-Эрдёша-Померанса(англ. Canfield–Erdős–Pomerance theorem)[9] и L-нотации получается оценка, что достаточно взять L[√2/2, √2] кривых до получения гладкого порядка группы. Это эвристическая оценка хорошо применима на практике.
Факторизация[10] числа n = 455839.
Выбирается эллиптическая кривая и точка, лежащая на этой кривой
Последовательно вычисляется 10!P:
1. Вычисляются координаты точки .
2. Вычисляется .
3. Аналогичным образом можно вычислить , , и так далее. В момент вычисления 640P можно заметить, что требуется вычисление обратного элемента к 599 (mod 455839). Так как 455839 делится на 599, искомое разложение найдено: 455839 = 599·761.
Пусть наименьший делитель числа n равен p. Тогда количество выполняемых арифметических операций можно оценить величиной[11]: (или в L-нотации). Если заменить p на , то получим субэкспоненциальную оценку сложности: .
Если сравнивать метод эллиптических кривых с другими методами факторизации, то этот метод относится к классу субэкспоненциальных[1] методов факторизации, а, значит, работает быстрее любого экспоненциального метода. Если сравнивать его с методом квадратичного решета (QS) и методом решета числового поля (NFS), то все зависит от размера наименьшего делителя числа n[12]. Если число n выбрано как в RSA в виде произведения двух простых чисел примерно одинаковой длины, то метод эллиптических кривых имеет ту же оценку, что и метод квадратичного решета, но уступает методу решета числового поля[13].
Прежде чем рассмотреть проективную плоскость над , стоит рассмотреть обычную проективную плоскость над ℝ: вместо точек рассматриваются прямые, проходящие через 0. Прямая может быть задана с помощью ненулевой точки следующим образом: для любой точки этой прямой ⇔ ∃ c ≠ 0, такие что x' = cx, y' = cy и z' = cz. В соответствии с этим отношением эквивалентности, пространство называется проективной плоскостью . Точки плоскости , соответствуют линиям трёхмерного пространства, проходящим через 0. Отметим, что точка не существует в этом пространстве, так она не задаёт прямой, проходящей через 0. Алгоритм Ленстры не предполагает обязательного использования поля ℝ, конечное поле также обеспечивает структуру группу над эллиптической кривой. Однако та же кривая, но с операциями над , не образует группу, если не является простым числом. Метод факторизации с помощью эллиптических кривых использует особенности работы закона сложения в случаях, когда — не простое.
Алгоритм факторизации в проективных координатах[14]:. Нейтральный элемент в этом случае задается точкой на бесконечности . Пусть n — целое и положительное число, эллиптическая кривая .
В пункте 5 вычисление может быть невозможно, так как сложение двух точек над эллиптической кривой требует вычисления , что не всегда возможно, если n не является простым числом. Возможно вычисление суммы двух точек следующим способом, не требующим простоты n (не требующим того, чтобы являлось полем):
Использование кривых Эдвардса позволяет[15] снизить количество модульных операций и уменьшить время выполнения алгоритма по сравнению с эллиптическими кривыми в форме Вейерштрасса () и в форме Монтгомери ().
Определение: Пусть — это поле, характеристикой которого не является число , и пусть . Тогда кривая Эдвардса определяется как Существуют пять способов построить множество точек на кривой Эдварса: множество аффинных точек, множество проективных точек, множество инвертированных точек (англ. inverted points), множество расширенных точек (англ. extended points) и множество завершённых точек (англ. completed points). Например, множество аффинных точек задаётся как: .
Операция сложения: Закон сложения задаётся формулой .
Точка (0,1) — это нейтральный элемент, а обратная к точке это .
Другие формы получаются аналогично тому, как проективная кривая Вейерштрасса получается из аффинной кривой.
Пример сложения: Можно продемонстрировать закон сложения на примере эллиптической кривой в форме Эдвардса с d=2: , и точки на ней. Предлагается проверить, что сумма P1 с нейтральным элементом (0,1) равна P1. Действительно:
У каждой эллиптической кривой в форме Эдварса существует точка порядка 4. Поэтому периодическая группа кривой Эдвардса над изоморфна или .
Для факторизации с помощью алгоритма Ленстры наиболее интересны[16] случаи и .
Пример кривой, которая содержит периодическую группу, изоморфную :
с точкой , лежащей на единичном круге с центром в точке (0,-1).
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.