Факторизация эллиптической кривой Ленстры - Lenstra elliptic-curve factorization

В Факторизация эллиптической кривой Ленстры или метод факторизации эллиптической кривой (ECM) является быстрым, суб-экспоненциальное время работы, алгоритм для целочисленная факторизация, в котором работают эллиптические кривые. Для общее назначение Факторинг, ECM является третьим по скорости известным методом факторинга. Второй по скорости квадратное сито с множественными полиномами, а самый быстрый - это общее числовое поле сито. Факторизация эллиптической кривой Ленстры названа в честь Хендрик Ленстра.

На практике ECM считается алгоритмом факторинга специального назначения, так как он больше всего подходит для поиска небольших факторов. В настоящее время, это по-прежнему лучший алгоритм для делители не более 50-60 цифры, так как время его работы зависит от размера наименьшего фактора п а не по размеру номера п подлежат учету. Часто ECM используется для удаления небольших множителей из очень большого целого числа с множеством множителей; если оставшееся целое число по-прежнему составное, то оно имеет только большие множители и факторизуется с использованием универсальных методов. Самый большой фактор, обнаруженный с помощью ECM, состоит из 83 десятичных цифр и был обнаружен 7 сентября 2013 года Р. Проппером.[1] Увеличение количества тестируемых кривых увеличивает шансы найти фактор, но это не так. линейный с увеличением количества цифр.

Алгоритм

Метод факторизации эллиптической кривой Ленстры для нахождения множителя заданного натурального числа работает следующим образом:

  1. Выберите случайный эллиптическая кривая над , с уравнением вида вместе с нетривиальным точка в теме.
    Это можно сделать, выбрав сначала случайный , а затем установив чтобы убедиться, что точка находится на кривой.
  2. Можно определить Дополнение двух точек на кривой, чтобы определить Группа. Законы сложения приведены в статья об эллиптических кривых.
    Мы можем формировать повторяющиеся кратные точки : . В формулах сложения берется модульный уклон хорды, соединяющей ее и , и, таким образом, деление между классами остатков по модулю , выполненный с использованием расширенный алгоритм Евклида. В частности, деление на некоторые включает расчет .
    Предполагая, что мы вычисляем наклон формы с участием , то если , результат прибавления будет , точка «на бесконечности», соответствующая пересечению «вертикальной» линии, соединяющей и кривая. Однако если , то добавление точек не приведет к появлению значимой точки на кривой; но, что более важно, является нетривиальным фактором .
  3. Вычислить на эллиптической кривой (), где представляет собой произведение множества малых чисел: скажем, произведение малых простых чисел в малых степенях, как в алгоритм p-1, или факториал для некоторых не слишком больших . Это можно сделать эффективно, по одному небольшому фактору за раз. Скажите, чтобы получить , сначала вычислить , тогда , тогда , и так далее. выбрано достаточно маленьким, чтобы разумное добавление точек может быть произведено в разумные сроки.
    • Если мы закончим все вычисления выше, не встретив необратимых элементов (), это означает, что порядок эллиптических кривых (по модулю простых чисел) не является гладкий; плавный достаточно, поэтому нам нужно попробовать еще раз с другой кривой и начальной точкой.
    • Если мы встретим мы сделали: это нетривиальный фактор .

Сложность времени зависит от размера наименьшего простого множителя числа и может быть представлена ​​как ехр [(2 + о (1)) перп ln lnп], где п наименьший фактор п, или , в L-обозначение.

Почему алгоритм работает?

Если п и q два простых делителя п, тогда у2 = Икс3 + топор + б (модп) следует то же уравнение также по модулюп и по модулюq. Эти две меньшие эллиптические кривые с -дополнение теперь подлинное группы. Если эти группы имеют Nп и Nq элементов соответственно, то для любой точки п на исходной кривой по Теорема Лагранжа, k > 0 минимален такой, что на кривой по модулю п подразумевает, что k разделяет Nп; более того, . Аналогичное утверждение верно для кривой по модулю q. Когда эллиптическая кривая выбирается случайным образом, то Nп и Nq случайные числа, близкие к п + 1 и q + 1, соответственно (см. ниже). Следовательно, маловероятно, что большинство основных факторов Nп и Nq одинаковы, и вполне вероятно, что при вычислении eP, мы встретим некоторые кП то есть ∞ по модулюп но нет по модулюq, или наоборот. В этом случае кП не существует на исходной кривой, и в ходе вычислений мы обнаружили некоторые v либо с gcd (v,п) = п или gcd (vq) = q, но не то и другое. Это, gcd (vп) дал нетривиальный фактор изп.

ECM по своей сути является улучшением более старых п − 1 алгоритм. В п − 1 алгоритм находит простые множители п такой, что п − 1 является b-powersmooth для малых значений б. Для любого е, кратное п − 1, и любой а относительно простой к п, от Маленькая теорема Ферма у нас есть ае ≡ 1 (мод п). потом gcd (ае − 1, п) может произвести фактор п. Однако алгоритм не работает, когда п - 1 имеет большие простые множители, как и в случае чисел, содержащих сильные простые числа, Например.

ECM обходит это препятствие, учитывая группа случайного эллиптическая кривая над конечное поле Zп, а не рассматривать мультипликативная группа из Zп в котором всегда порядокп − 1.

Порядок группы эллиптической кривой над Zп варьируется (довольно случайно) между п + 1 − 2п и п + 1 + 2п от Теорема Хассе, и, вероятно, будет гладким для некоторых эллиптических кривых. Хотя нет никаких доказательств того, что гладкий групповой порядок будет найден в интервале Хассе, используя эвристический вероятностные методы, Теорема Кэнфилда – Эрдеша – Померанса с соответствующим образом оптимизированным выбором параметров, а L-обозначение, мы можем рассчитывать попробовать L[2/2, 2] кривые до получения плавного группового порядка. Эта эвристическая оценка очень надежна на практике.

Пример

Следующий пример взят из Трапп и Вашингтон (2006), с добавлением некоторых деталей.

Мы хотим учитывать п = 455839. Выберем эллиптическую кривую у2 = Икс3 + 5Икс – 5, с точкой п = (1, 1) на нем, и давайте попробуем вычислить (10!)п.

Наклон касательной в некоторой точке А=(Икс, у) является s = (3Икс2 + 5)/(2у) (мод. n). С помощью s мы можем вычислить 2А. Если значение s имеет форму а / б где б > 1 и gcd (а,б) = 1, необходимо найти модульный обратный из б. Если его нет, gcd (п,б) - нетривиальный фактор п.

Сначала мы вычислить 2п. У нас есть s(п) = s(1,1) = 4, так что координаты 2п = (Икс', y ′) находятся Икс' = s2 – 2Икс = 14 и y ′ = s(ИксИкс') – у = 4(1 – 14) – 1 = –53, все числа понятны (мод п). Просто чтобы проверить, что это 2п действительно на кривой: (–53)2 = 2809 = 143 + 5·14 – 5.

Затем вычисляем 3 (2п). У нас есть s(2п) = s(14, -53) = –593/106 (мод. п). С использованием Евклидов алгоритм: 455839 = 4300·106 + 39, тогда 106 = 2·39 + 28, тогда 39 = 28 + 11, тогда 28 = 2·11 + 6, тогда 11 = 6 + 5, тогда 6 = 5 + 1. Следовательно gcd (455839, 106) = 1, и работая в обратном направлении (версия расширенный алгоритм Евклида ): 1 = 6 – 5 = 2·6 – 11 = 2·28 – 5·11 = 7·28 – 5·39 = 7·106 – 19·39 = 81707·106 – 19·455839. Следовательно 106−1 = 81707 (мод 455839), и –593/106 = –133317 (мод. 455839). Учитывая это s, мы можем вычислить координаты 2 (2п), как и выше: 4п = (259851, 116255). Просто чтобы убедиться, что это действительно точка на кривой: у2 = 54514 = Икс3 + 5Икс - 5 (обр. 455839). После этого мы можем вычислить .

Аналогичным образом мы можем вычислить 4!пи так далее, но 8!п требует инвертирования 599 (мод. 455839). Алгоритм Евклида дает, что 455839 делится на 599, и мы нашли факторизация 455839 = 599 · 761.

Причина, по которой это сработало, заключается в том, что кривая (мод. 599) имеет 640 = 27·5 очков, а (мод. 761) она имеет 777 = 3·7·37 точки. Более того, 640 и 777 - наименьшие положительные целые числа. k такой, что кП = ∞ на кривой (мод. 599) и (мод 761), соответственно. поскольку 8! кратно 640, но не 777, мы имеем 8!п = ∞ на кривой (мод. 599), но не на кривой (мод 761), следовательно, повторное сложение здесь прервалось, что привело к факторизации.

Алгоритм с проективными координатами

Прежде чем рассматривать проективную плоскость над сначала рассмотрим "нормальный" проективное пространство над ℝ: вместо точек изучаются прямые, проходящие через начало координат. Линия может быть представлена ​​как ненулевая точка при соотношении эквивалентности ~, заданном формулой: ⇔ ∃ c ≠ 0 такое, что х '= cИкс, y '= cу и z '= cz. При этом отношении эквивалентности пространство называется проективная плоскость ; точки, обозначаемые , соответствуют линиям в трехмерном пространстве, проходящим через начало координат. Обратите внимание, что точка не существует в этом пространстве, так как для рисования линии в любом возможном направлении требуется по крайней мере один из x ', y' или z '≠ 0. Теперь заметьте, что почти все линии проходят через любую заданную базовую плоскость - например, (Икс,Y, 1) -плоскость, а прямые, точно параллельные этой плоскости, имеющие координаты (X, Y, 0), укажите направления однозначно, как «точки на бесконечности», которые используются в аффинном (X, Y) -плоскость лежит выше.

В алгоритме используется только групповая структура эллиптической кривой над полем. Поскольку нам не обязательно нужно поле, конечное поле также будет обеспечивать групповую структуру на эллиптической кривой. Однако, учитывая ту же кривую и работу над с участием п не прайм не дает группы. Метод эллиптических кривых использует случаи нарушения закона сложения.

Сформулируем алгоритм в проективных координатах. Тогда нейтральный элемент задается бесконечно удаленной точкой . Позволять п быть (положительным) целым числом и рассмотреть эллиптическую кривую (набор точек с некоторой структурой на ней) .

  1. Выбирать с участием а ≠ 0.
  2. Рассчитать . Эллиптическая кривая E тогда в форме Вейерштрасса, заданной формулой а с использованием проективных координат эллиптическая кривая задается однородным уравнением . Это имеет смысл .
  3. Выберите верхнюю границу для этой эллиптической кривой. Примечание: вы найдете только факторы п если групповой порядок эллиптической кривой E над (обозначается ) является B-гладкий, что означает, что все простые множители должно быть меньше или равно B.
  4. Рассчитать .
  5. Рассчитать (k раз) в ринге . Обратите внимание, что если является B-гладкий и п простое (и, следовательно, это поле), что . Однако если бы только B-гладко для некоторого дивизора п из п, произведение может не быть (0: 1: 0), потому что сложение и умножение не определены, если п не простое. В этом случае можно найти нетривиальный дивизор.
  6. Если нет, вернитесь к шагу 2. Если это произойдет, вы заметите это при упрощении продукта.

В пункте 5 сказано, что при определенных обстоятельствах может быть найден нетривиальный дивизор. Как указано в статье Ленстры (Факторинг целых чисел с эллиптическими кривыми), для добавления необходимо предположение . Если не и отличное (в остальном сложение работает аналогично, но немного отличается), то сложение работает следующим образом:

  • Вычислять: ,
  • ,
  • ,
  • ,
  • .

Если сложение не удалось, это произойдет из-за ошибки при вычислении В частности, потому что не всегда можно рассчитать, если п не является простым (и, следовательно, это не поле). Без использования будучи полем, можно вычислить:

  • ,
  • ,
  • ,
  • , и, если возможно, упростите.

Этот расчет всегда допустим, и если НОД Z-координировать с п ≠ (1 или п), поэтому, когда упрощение не удается, нетривиальный делитель п найден.

Скрученные кривые Эдвардса

Использование Кривые Эдвардса требует меньше модульных умножений и меньше времени, чем использование Кривые Монтгомери или Кривые Вейерштрасса (другие используемые методы). Используя кривые Эдвардса, вы также можете найти больше простых чисел.

Определение. Позволять быть областью, в которой , и разреши с участием . Тогда закрученная кривая Эдвардса дан кем-то Кривая Эдвардса - это закрученная кривая Эдвардса, в которой .

Существует пять известных способов построения набора точек на кривой Эдвардса: набор аффинных точек, набор проективных точек, набор инвертированных точек, набор расширенных точек и набор завершенных точек.

Набор аффинных точек определяется выражением:

.

Закон сложения дается формулой

Точка (0,1) - ее нейтральный элемент и обратный элемент является .

Остальные представления определяются аналогично тому, как проективная кривая Вейерштрасса следует из аффинности.

Любые эллиптическая кривая в форме Эдвардса - вопрос по порядку ведения заседания 4. Итак, торсионная группа кривой Эдвардса над изоморфен либо или .

Наиболее интересные кейсы для ECM: и , поскольку они заставляют групповые порядки кривой делиться по модулю простых чисел на 12 и 16 соответственно. Следующие кривые имеют группу кручения, изоморфную :

  • с точкой где и
  • с точкой где и

Каждую кривую Эдвардса с точкой порядка 3 можно записать способами, показанными выше. Кривые с группой кручения, изоморфной и может быть более эффективным при поиске простых чисел.[2]

2 этап

Приведенный выше текст касается первого этапа факторизации эллиптической кривой. Там надеются найти простой делитель п такой, что нейтральный элемент .На втором этапе надеются найти простой делитель q такой, что имеет небольшой первичный заказ в .

Мы надеемся, что порядок будет между и , где определяется на этапе 1 и - это новый параметр этапа 2. Проверка небольшого порядка , можно сделать, вычислив по модулю п для каждого прайма л.

GMP-ECM и EECM-MPFQ

Использование эллиптических кривых Twisted Edwards, а также другие методы были использованы Bernstein et al.[2] для обеспечения оптимизированной реализации ECM. Его единственный недостаток заключается в том, что он работает с меньшими составными числами, чем более универсальная реализация GMP-ECM Циммермана.

Метод гиперэллиптических кривых (HECM)

Недавние разработки в использовании гиперэллиптические кривые множить целые числа. Коссет показывает в своей статье (2010 г.), что можно построить гиперэллиптическую кривую с родом два (так что кривая с участием ж степени 5), что дает тот же результат, что и использование двух "нормальных" эллиптических кривых одновременно. Использование поверхности Куммера делает расчет более эффективным. Недостатки гиперэллиптической кривой (по сравнению с эллиптической кривой) компенсируются этим альтернативным способом расчета. Поэтому Коссет грубо заявляет, что использование гиперэллиптических кривых для факторизации не хуже, чем использование эллиптических кривых.

Квантовая версия (GEECM)

Бернштейн, Heninger, Лу и Валента предлагают GEECM, квантовую версию ECM с кривыми Эдвардса.[3] Оно использует Алгоритм Гровера примерно в два раза длиннее найденных простых чисел по сравнению со стандартным EECM, предполагая, что квантовый компьютер с достаточно большим количеством кубитов и сравнимой скоростью с классическим компьютером, на котором работает EECM.

Смотрите также

  • UBASIC для практической программы (ECMX).

использованная литература

  1. ^ 50 важнейших факторов, обнаруженных ECM.
  2. ^ а б Berstein, Daniel J .; Биркнер, Питер; Ланге, Таня; Питерс, Кристиана (9 января 2008 г.). «ECM с использованием кривых Эдвардса» (PDF). Криптология ePrint Archive. (примеры таких кривых см. в верхней части страницы 30)
  3. ^ Бернштейн Д.Дж., Хенингер Н., Лу П., Валентина Л. (2017) Постквантовый RSA. В: Lange T., Takagi T. (ред.), Постквантовая криптография. PQCrypto 2017. Lecture Notes in Computer Science, vol 10346. Springer, Cham

внешние ссылки