Рейтинг:1

P Полларда - 1 - как вы устанавливаете границу и как вы устанавливаете базовые числа

флаг et

В алгоритме Полларда p-1 для факторизации N вы пытаетесь найти такое L, что p-1 делит L. Затем вы проверяете $gcd(pow(a,L,N)- 1, N)$. Если 1 < gcd < N, то вы нашли один из множителей.

Я видел 2 способа сделать это.

  1. Для n от 1 до Bound попробуйте $L = п!$ (т.е. факториал(n)) и попробуйте $gcd(pow(a,L,N)- 1, N)$ для каждого.
  2. для n от 1 до Bound попробуйте $ L = LCM (диапазон (1, n)) $ и попробуйте $gcd(pow(a,L,N)- 1, N)$ для каждого.

В любом методе, как только вы безуспешно попали в Привязку, не найдя множителя, вы повторяете цикл с новым $а$

У меня есть несколько вопросов

  1. Как вы выбираете границу для каждого из двух методов? Вы пытаетесь проверить, является ли фактор Bound-Powersmooth, но как вы приходите к тому Bound, который хотите проверить, т. е. какую мощность вы ожидаете?
  2. В обоих методах, как выбрать $а$с?
  3. В обоих методах сколько таких $а$Вы пытаетесь, прежде чем сдаться (потому что p - 1, вероятно, не имеет малых множителей)?
Рейтинг:-1
флаг in

P Полларда p-1 полезен только тогда, когда для одного из простых чисел p, p-1 является гладким. Если у вас есть случайное целое число, которое вы хотите учесть, вы должны использовать ECM и GNFS. Это означает, что если вы пробуете p-1, у вас есть причина подозревать, что p-1 достаточно гладкая, и тогда вы уже должны иметь представление о том, насколько гладкой она может быть (граница гладкости L). В любом случае, чем больше вы пытаетесь - тем больше у вас шансов сломаться, поэтому вам следует ставить настолько большую границу, насколько вы можете позволить себе ждать, но только если у вас есть основания подозревать p-1 в гладкости.

Я верю, выбирая $а$ не имеет большого значения, и изменение $а$ вообще бесполезен, пока не получится нетривиальный $gcd$. Идея в том, что для новых $а$ надо умножить на все $1,2,3,...$ снова, в то время как вы уже сделали эту работу для предыдущего $а$. Вы можете получить новый $а$ такой, что какой-то большой множитель $д$ из $p-1$ уже удален, и тогда вам нужна меньшая граница $L$ работать, но шанс на это есть $1/день$ и вы скорее продолжаете поднимать свой оригинал $а$ к следующим полномочиям и достичь власти $д$ естественно.

Единственная проблема, которая может возникнуть - это то, что вы получите 1 мод. $р$ и 1 мод $q$ одновременно (т.е. получить $a^L\эквив 1 \mod{n}$), который не пропускает фактор. Тогда вы попробуете другой $а$, но по крайней мере вы узнаете, что Поллард $p-1$ вероятно, будет хорошо работать на этом числе.

флаг et
Как можно заподозрить, что "p-1" является гладким? Есть ли какой-либо алгоритм, который сообщает, может ли один из факторов N быть гладким, а также какова граница гладкости?
флаг et
Что касается $a$, я думаю, что не гарантируется, что каждый a будет работать, поэтому, если один $a$ не работает, вы переходите к следующему. Или это не правильно?
Fractalice avatar
флаг in
Если вы получите свой номер в результате какого-то вызова, вы можете подозревать, что его можно взломать существующими методами, а затем попробовать все, что можно, включая p-1. В противном случае невозможно проверить гладкость p-1, и вероятность того, что это произойдет для случайного числа, ничтожно мала.
Fractalice avatar
флаг in
Метод гарантированно работает для любого $a$ в том смысле, что вы получите $a^L \equiv 1 \mod p$. Однако, если вы получаете $a^L \equiv 1 \mod q$ для того же $L$, это не приводит к факторизации. Это намекает на то, что метод p-1 действительно будет работать с этим N, и тогда имеет смысл попробовать еще один $a$ (или лучше вместо этого попробовать тот же $a$ с делителем $L$).В противном случае нет смысла переключать $a$, пока не получится $a^L\equiv 1 \mod p$.
флаг et
«Если вы получите свой номер из какого-то вызова» - нет, я пытаюсь понять алгоритм.

Ответить или комментировать

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