Рейтинг:3

Учитывая $Ï(n)$, как мы можем найти любые комбинации для $p, q$ простых чисел

флаг jp

Предположим, я уже нашел это $Ï(n) = 240$ за $n = 900$. Как я могу сделать вывод, что мой $n = pq$ имеет тип $2^2\cdot3^2\cdot5^2$? Что $q$ и что такое $р$ здесь?

Если быть точнее с моим вопросом: это для всех $n \in \Bbb N$ только с известным $Ï(n)$ а можно найти разборку $n$ к основным факторам?

Изменить (расчет, который я сделал до сих пор):

$Ï(n) = (p - 1)(q - 1)$

240 долларов = pq - (p + q) + 1$

Замена для $n$ :

$(p + q) = 900 - 240 + 1 = 661$

Находить $(р - q)$:

$(p - q)^2 = (p + q)^2 - 4pq = (661)^2 - 4\cdot900 = ... = 433 321$ $(p-q) = 658,271$

С этого момента и далее добавление $(p - q), (p + q)$ вместе, очевидно, дает неправильный результат для $n = pq$.

Mabadai avatar
флаг jp
Как найти $p$ и $q$, если задано $n$ версии с «факторизованным простым числом». Редактировать: вычисление p, q для $ Ï(900)=240$ дает десятичные результаты для квадратного уравнения, что, конечно, неверно для $p, q$ — простое число. Я добавил свой расчет к вопросу. Я упускаю момент, когда $(p - q)$ получает нечетный результат при вычитании простых чисел (при условии, что $p > q$ без ограничения общности и $p, q > 2$).
fgrieu avatar
флаг ng
$Ï(n)=(p - 1)(q - 1)$ не выполняется для всех $n=p\,q$. Это верно только тогда, когда $n$ является произведением двух различных простых чисел $p$ и $q$. Это не так для $n=900$. См., например. [это](https://en.wikipedia.org/wiki/Euler%27s_totient_function) почему.
Mabadai avatar
флаг jp
@fgrieu Теперь я понимаю, что было не так. Верно ли также, что это неверно для $n$, являющегося умножением двух псевдопростых чисел?
fgrieu avatar
флаг ng
$Ï(p\,q)=(p - 1)(q - 1)$ выполняется тогда и только тогда, когда $p$ и $q$ — различные простые числа; это вообще не верно для псевдопростых чисел. Таким образом, нахождение $p$ и $q$ при заданных $n=p\,q$ и $Ï(n)$ путем решения квадратного уравнения (как это делаете вы) работает только тогда, когда $n$ является произведением двух различных простых чисел. Для чего-то более общего: сначала исключите любой множитель $n$, обнаруженный вычислением $\gcd(n,Ï(n))$. Когда ничего не осталось, используйте это, учитывая свободное от квадратов $n$ и ненулевое кратное $m$ числа $λ(n)$, включая $m=Ï(n)$, мы можем разложить $n$ на множители. См., например. [это] (https://crypto.stackexchange.com/q/62482/555), заменив $f$ на $m$.
Mabadai avatar
флаг jp
@fgrieu Я сильно запутался, пытаясь получить множители $n = 60$ с помощью функции Кармайкла. Может быть, у вас есть ссылка, например, с использованием чисел (а не параметров). Добрые пожелания.
kelalaka avatar
флаг in
[Прочитать документ RSA] (https://crypto.stackexchange.com/a/75709/18298)? Там это уже упоминалось...
Mabadai avatar
флаг jp
Большое спасибо! Этот вопрос можно закрыть.
kelalaka avatar
флаг in
Отвечает ли это на ваш вопрос? [Почему важно, чтобы phi(n) держалось в секрете в RSA?](https://crypto.stackexchange.com/questions/5791/why-is-it-important-that-phin-is-kept- a-секрет-в-rsa)
Mabadai avatar
флаг jp
@kelalaka Это решает одну часть, которую я нашел здесь https://math.stackexchange.com/questions/651646/does-knowing-phi-n-help-in-prime-factorization
kelalaka avatar
флаг in
Это для общего случая, RSA — это частный случай, когда $n$ — это произведение двух различных простых чисел. Конечно, существует Multi-prime RSA, где $n$ — это произведение более чем двух различных простых чисел. Я дал, если для вашего титула.
Рейтинг:7
флаг ng

Мы хотим учитывать $n=900$ используя это $\varphi(n)=240$, и в более общем плане фактор $n$ зная Эйлер тотиент $\varphi(n)$.

Оставляя в стороне пробное деление, мы можем использовать три техники

  1. Взяв наибольший общий делитель этих двух данных, что, если $n$ делится на квадрат, а в некоторых других редких случаях выявляется множитель $n$, и (после факторизации самого НОД) выявит все факторы $n$, или оставить без квадратов $n$ учитывать (т. $n$ произведение различных простых чисел).
  2. Техника, применимая к $n$ произведение любого количества различных простых чисел: зная любое (ненулевое) кратное $ф$ из $\лямбда(п)$ ( Функция Кармайкла), в том числе $f=\varphi(n)$ или же $f=e\,d-1$ в ЮАР позволяет факторинг $n$ с этот алгоритм .
  3. Более простая техника применима к $n$ произведение двух различных простых чисел $р$, $q$: мы можем найти $\sigma=p+q=n-\varphi(n)+1$, затем найдите $р$ и $q$ как два корня квадратного уравнения $x^2-\sigma\,x+n=0$.

Использование НОД

Напомним, что если факторизация $n$ является $n=\prod\left({p_i}^{k_i}\right)$ с различными простыми числами $p_i$, тогда $\varphi(n)=\prod\left(\left(p_i-1\right)\,{p_i}^{k_i-1}\right)$. Таким образом, для всех $я$ с $k_i>1$, ${p_i}^{k_i-1}$ делит $n$ и $\varphi(n)$.

Это мотивирует вычисление $g:=\gcd(n,\varphi(n))$. Если $g\ne1$ (что имеет крайне малую вероятность, если $n$ является фактическим модулем RSA), то $г$ является нетривиальным фактором $n$ и мы добились прогресса: мы можем учитывать $г$ и $n/g$ в отдельности. Далее, как только мы нашли факторизацию $г$, мы можем извлечь эти факторы из $n$ уход $n':=n/\prod\left({p_j}^{k_j}\right)$ на фактор, и с известным $\varphi(n'):=\varphi(n)/\prod\left(\left(p_j-1\right)\,{p_j}^{k_j-1}\right)$, и сейчас $\gcd(n',\varphi(n'))=1$.

Если $г=1$, тогда $n$ бесквадратный (то есть каждый $k_i=1$или эквивалентно $n$ является произведением различных простых чисел).

Здесь $\gcd(900 240)=60=2^2\cdot3\cdot5$. Вытягивание этих факторов $2$, $3$, $5$ снаружи $n$, мы получаем его полную факторизацию $900=2^2\cdot3^2\cdot5^2$ и проблема решена.

Таким образом, далее мы перейдем к более крупному примеру: фактор $n=12790396087027$, зная $\varphi(n)=11797951366656$.

$\gcd(12790396087027,11797951366656)=13$, и это главный фактор $n$. Вытаскивая $13$ и его полномочия, мы упростили задачу до факторинга $n'=n/13^2=75682817083$ зная $\varphi(n')=\varphi(n)/\big(13\,(13-1)\big)=11797951366656/\big(13\cdot 12\big)=75627893376$. Теперь нам нужны дальнейшие методы.


Общая техника для безквадратичного $n$

Зная любое (ненулевое) кратное $ф$ из $\лямбда(п')$ (функция Кармайкла) помогает разложить на множители бесквадратные $n'$, используя алгоритм там. У нас есть $f=75627893376=2^7\cdot590842917$ таким образом $s=7$, $т=590842917$.

  • $а:=2$, $b=a^t\bmod n'=2^{590842917}\bmod 11797951366656=17605996164$
  • $c:=b^2\bmod n'=17605996164^2\bmod 11797951366656=8570506209$, таким образом $б:=с$.
  • $c:=b^2\bmod n'=8570506209^2\bmod 11797951366656=1$, успех!
  • $p:=\gcd(b-1,n')=\gcd(8570506209-1,11797951366656)=4327$ что является главным фактором $n'$, $q:=n'/p=11797951366656/4327=17490829$ который составной и не является квадратом.

Остается факторинг $\тильда n=17490829$ зная $\varphi(\tilde n)=\varphi(n')/(p-1)=17482176=\tilde\varphi$. Мы могли бы снова использовать общую технику, описанную выше, но мы также можем надеяться на этот раз $\тильда п$ имеет только два (различных) простых множителя $р$ и $q$.


$n$ произведение двух различных простых множителей $р$ и $q$

Мы знаем $p\,q=\тильда n=17490829$ и $(p-1)(q-1)=\тильда\varphi=17482176$. Это система двух уравнений с двумя неизвестными. Следует $p+q=\тильда n-\тильда\varphi+1=\sigma=8654$, таким образом $р$ и $q$ являются решениями уравнения второй степени $x^2-\sigma\,x+\тильда n=0$, таким образом $p=(\sigma-\sqrt{\sigma^2-4\,\tilde n})/2=(8654-\sqrt{8654^2-4\cdot17490829})/2=3217$ и $q=(\sigma+\sqrt{\sigma^2-4\,\tilde n})/2=(8654+\sqrt{8654^2-4\cdot17490829})/2=5437$. Обе $р$ и $q$ являются простыми, таким образом, наши надежды были оправданы, и в конце концов желаемая факторизация $n=12790396087027=13^2\cdot3217\cdot4327\cdot5437$.

Mabadai avatar
флаг jp
Это определенно решает мой вопрос, и это очень полезно. Спасибо, сэр, я многому научился.

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

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