Puncte:0

Când este posibil de factorizat un semiprim mare?

drapel us

În ce condiții este posibil de factorizat un semiprim mare? În special, următorul semiprim de 400 de cifre este de fapt trivial pentru a descompune în numere prime?

6962155154859963260211100482357357666900094513013513488352858667799199787495340476167566639530574848375895722792291996203873323650274512138128403360943634134259376986501375967452208380337012919869885380406071772232795575963202558402893589313281327208179913789760736615950818685956393838601277519011418885197723428318400763080858914698836058070301404903262955501113318317950597435778777212408626799143

kodlu avatar
drapel sa
Scopul meu al editării a fost să mă asigur că răspunsul frumos nu se irosește.
drapel us
Mulțumesc, @kodlu!
kelalaka avatar
drapel in
400 de cifre este prea mare pentru ca un CFT să factorizeze doar [Factorizare primă (102 cifre)](https://crypto.stackexchange.com/q/89560/18298). Poate ar trebui să încercați metoda de factoring Fermat.
kelalaka avatar
drapel in
Duplicat de [Cum a fost factorizat atât de repede acest număr de 2048 de biți?](https://crypto.stackexchange.com/q/91404/18298)
fgrieu avatar
drapel ng
@kelalaka: Întregul din [Cum a fost factorizat atât de repede acest număr de 2048 de biți?](https://crypto.stackexchange.com/q/91404/18298) a fost luat în considerare la primul pas al factoringului Fermat. Acesta rezista cel putin la cateva mii. Am folosit acel [cod Mathematica simplu](https://pastebin.com/ukxGkpkM).
drapel pe
Mai mult un duplicat al acestuia: https://crypto.stackexchange.com/questions/67384/factoring-rsa-weak-modulus/67458
Puncte:6
drapel ng

„Trivial” este aproape sigur cuvântul greșit pentru asta. O întrebare mai bună este dacă este rezonabil să factorăm eficient. În primul rând, merită menționat că semiprimul tău este 400 zecimal cifre. Înmulțind acest lucru cu $\log_2(10)$, vedem că este $\aproximativ 1300$ biți lungi. Aceasta este cu mult mai mare decât cea mai mare înregistrare de factoring (a semiprimelor) revendicată 829 de biți. Deci răspunsul este „nu”, cu excepția cazului în care semiprimul tău are o structură specială care îl face „slab”.

Ce structură specială ar putea avea semiprimele? Lăsa $N = p_1p_2$ fie factorizarea. Sunt câțiva candidați, care funcționează dacă

  1. Unul dintre $p_i$ este mic (spun cel mult $\aproximativ 60$ biți), apoi metoda curbei eliptice este rezonabil de rulat.

  2. Unul dintre $p_i$ este astfel încât $p_i+1$ este neted, de exemplu. toți factorii primi ai $p_i+1$ sunt delimitate de un număr rezonabil de mic $B$. Atunci a lui William $p+1$ algoritmul este rezonabil.

  3. Unul dintre $p_i$ este astfel încât $p_i-1$ este powersmooth, de exemplu. toate prime putere factori ai $p_i-1$ sunt delimitate de un număr rezonabil de mic $B$. Atunci a lui Pollard $p-1$ algoritm este rezonabil.

Pot exista alte câteva „structuri speciale” care îmi lipsesc (se pare că îmi amintesc una dacă $p_1\aproximativ p_2$, dar nu-mi amintesc numele acum). Singura dvs. șansă reală de factorizare a numărului este ca acesta să fie generat incorect, totuși, din care toate cele de mai sus ar fi exemple, așa că, dacă nu aveți un motiv anume să credeți că sunt generate incorect (să spunem că aceasta este o provocare CTF) nu te obosi să încerci să-l spargi.

Dacă aveți un motiv să credeți că acest lucru ar trebui generat incorect, există implementări ale acestora. De exemplu, Salvie are o implementare a ECM (prin GMP-ECM). În GMP-ECM pagina în sine, văd și referințe la $p-1$ și $p+1$, dar nu știu dacă sage le încearcă direct și pe acestea (deoarece sunt cu adevărat utile doar dacă bănuiți că semiprimele au fost generate incorect).

Dar fără a atinge unul dintre aceste cazuri de „semiprime slabe” (care este extrem de puțin probabil să apară dacă semiprimul este generat corect --- deci dacă nu aveți motive să credeți că acesta este un slab RSA semiprime probabil nici nu merită verificat).

kodlu avatar
drapel sa
Pentru orice ar fi în valoare, calculatorul online Magma nu a putut lua în considerare acest lucru. Aveți voie 120 de secunde CPU, dar nu știu ce procesor folosesc, dar abordarea lor este descrisă aici: https://magma.maths.usyd.edu.au/magma/handbook/text/182 calculator: http:// magma.maths.usyd.edu.au/calc/
drapel us
Mulțumesc, @Mark. În prezent, încerc să factorizez p+1, p-1, q+1, q-1 pentru a vedea dacă aceste numere prime îndeplinesc oricare dintre aceste condiții.
poncho avatar
drapel my
De fapt, metoda curbei eliptice este destul de eficientă în găsirea primelor mai mici de 128 de biți și are o probabilitate decentă de a găsi numere prime ceva mai mari decât atât...
poncho avatar
drapel my
Și, pentru $p_1 \aprox p_2$, metoda lui Fermat găsește factorii rapid...
Puncte:3
drapel me

Da, acest semiprim de 400 de cifre are o mare slăbiciune permite ca acesta să fie calculat în ore.

Am luat în calcul acest număr, așa că puteți fi amabil și spuneți-mi unde este acest CTF ca să pot obține credit. (a spus pe jumătate în glumă)

Nici Fermat, nici ECM, nici SNFS nu vă vor ajuta cu nimic perioadă rezonabilă de timp.

Factorul p are 41606 în cifrele 15-19 de sus și q are 89827 în cifrele 15-19 de sus.


Actualizați (mutat aici de moderator)

Poate această clasă de metode? Nu
Sau/și folosind un multiplicator? Nu

Alertă spoiler - factorii sunt prezentați mai jos. . . . .

n= 6962155154859963260211100482357357666900094513013513488352858667799199787495340476167566639530574848375895722792291996203873323650274512138128403360943634134259376986501375967452208380337012919869885380406071772232795575963202558402893589313281327208179913789760736615950818685956393838601277519011418885197723428318400763080858914698836058070301404903262955501113318317950597435778777212408626799143
                                                                                          p= 1055314811678641606424788110765439117222699930257095408671007391029759113842109970448108699505224742945927781061767905202515184760446787611555372203775837301834490832771874109424228620164137709228509254318229660698954763303449460372503950485172061048411036447824270015301213488707
                                                                                          q= 65972305873216898274692749874969745241626386579853469415577753054948106016684511039178877165775346941557775305494810601668451103917887710391788711039178871103917887110391788711039
fgrieu avatar
drapel ng
Într-adevăr, Fermat drept nu o va tăia. De asemenea, am încercat o cantitate destul de mare de p-1 a lui Pollard (ecm -pm1 4e9) și p+1 a lui William (ecm -pp1 2e9), fără niciun rezultat, și ceva ECM. Dacă ECM nu ajută, atunci Rho lui Pollard nu o va ajuta. Poate [aceasta] (https://crypto.stackexchange.com/posts/comments/198606) clasă de metode? Sau/și [folosind un multiplicator](https://en.wikipedia.org/wiki/Fermat%27s_factorization_method#Multiplier_improvement)? O modalitate de a convinge oamenii că au factorizat $n=pq$, fără a dezvălui factorizarea, este să publicați $t=2^{n^{-1}\bmod((p-1)(q-1))}\ bmod n$. Atunci oricine poate verifica că $t^n\bmod n=2$.
fgrieu avatar
drapel ng
Ah, am înțeles. Ar fi trebuit să se uite la $n$ în hex sau binar. Grozav.
drapel us
Frumos, @MostlyResults! Ai folosit algoritmul datorat lui Coppersmith? ("Small Solutions to Polynomial Equations, and Low Exponent RSA Vulnerabilities", J. Cryptology (1997) 10: 233–260)
fgrieu avatar
drapel ng
@Sam Blake: Presupun că MostlyResults a ghicit din forma hexagonală a $n$ că $n=(r\,2^i+s)(t\,2^j+u)$ cu $(r,s,t) mic ,u)$.
Puncte:2
drapel fr

Într-un comentariu, @Sam Blake a pus o întrebare ulterioară despre un număr întreg de factor:

7215955072690155355400859323297730634528493510676300043022948136348249037517276095868127042993906604904230826475281383188764473510881994780947137238252071087749294743150564851420395422525735221770067605216401023

Întrebarea este că acest al doilea semiprim este de fapt trivial de factor în numere prime?

Acest semiprim nu este slab pentru că nu renunță foarte ușor la forma sa specială.

Este slab pentru un adversar cu capacitate de stat național, deoarece are doar 701 de biți. Se recomandă un modul de 2048 biți sau mai mare cu lungimea de biți egală p și q.

De asemenea, nu pare să aibă slăbiciune folosind Fermat, p-1, raportul nu este aproape mic. fracție, ECM nu este de ajutor.

Acest număr întreg nu pare să se potrivească cu o formă specială care este ușor de factorizat. Chiar dacă odată ce forma specială este recunoscută, numărul poate fi factorizat cu mult mai puțin efort, detectarea formei speciale poate fi foarte consumatoare de timp, deoarece există multe forme.

Ce indicii ești dispus să dai? Că acesta este un semiprim? Că factorii sunt de lungime inegală? Că factorii sunt polinoame cu termeni: a0 x 2^(k0) + a1 x 2^(k1) + a2 x 2^(k2)...

drapel us
Hei @MostlyResults, este un semiprim cu un factor prim de 293 de biți.
Puncte:2
drapel vg

Tehnica folosită a fost reducerea N la o formă specială care a fost ușor de factorizat.

Afișat N în binar și observat sute de 0 între 4 numere.

Aceasta a fost redusă la următoarele:

N = a2^1228+b2^875+c*2^353+d

Unde a= 1506291488774150974626762365373 b= 322571915263178581 c= 576377099039115423 d= 123431

Tratând acest lucru ca un polinom în x, cu x=2:

N = ax^1228+bx^875+c*x^353+d

Acest lucru determină foarte repede:

(359561509069941x^353+77)(4189245652768553*x^875 + 1603)

drapel us
Pentru a răspunde la întrebarea dvs. (care a fost editată). Am pus singur exemplul împreună ca un test pentru unele experimente de factorizare întregi pe care le-am făcut. Iată una puțin mai provocatoare: 7215955072690155355400859323297730634528493510676300043022948136348249037517276095868127042993906604904230826475281383188764473510881994780947137238252071087749294743150564851420395422525735221770067605216401023

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.