Fattorizzazione di un numero... enorme

Pop1
Ciao a tutti!

Per un esame universitario, devo decriptare un testo cifrato in RSA con il programma PARI GP. Ho a disposizione il testo cifrato e la chiave pubblica (n,e), con e=7. Per riuscire a decriptare dovrei scomporre n nel prodotto di due fattori primi, in modo da poter calcolare phi=(p-1)(q-1).... il problema è che n ha questa forma:

2696539702293473861593957786183537100426965468413459859101451217365990137082514446990627159836113040
3168017081980709003648818465322162493373927117482598906778499871631698918865298366594924730461602984
0122835237504070219470348634520466163104766870315171763613871456868724845067546604426006754355551885
367348723

ovvero un numero di 309 cifre. L'unica cosa che so di p e q è che il professore ha generato questi numeri primi nel seguente modo:

p = nextprime( 2^512 + 2^511 + random() );
q = nextprime( 2^512 + random() );

Ho fatto diversi tentativi (ad esempio con l'algoritmo p-1 di Pollard), ma non riesco a trovare una strategia vincente per fattorizzare questo numero... qualcuno mi può dare una dritta? Grazie mille ;)

Risposte
came88
Consiglio: dai un "? random" in gp

A questo punto sai che \(\displaystyle 2^{512} < q < 2^{512} + \text{completa tu} \)

Un attacco bruteforce con queste informazioni impiega pochi minuti, e ottieni

p = 20111711894913895649361037497308769191219048730888590066585342165582646045110320465202811447250355141535047787279729076280630824217919854919650474509415171
q = 13407807929942597099574024998205846127479365820592393377723561443721764030073546976801874298166903427690031858186486050853753882811946569946433649774546513
phi = 269653970229347386159395778618353710042696546841345985910145121736599013708251444699062715983611304031680170819807090036488184653221624933739271174825989034265478891460496439717921170434631985917615288641851793195166610165938559336598721100081124897913194388791811402509717933161897396140329489467761083387040
d = 154087982988198506376797587781916405738683741052197706234368640992342293547572254113750123419206459446674383325604051449421819801840928533565297814186279448151702223691712251267383525962646849095780164938201024682952348666250605335199269200046357084521825365023892230005553104663941369223045422553006333364023

testo cifrato: "voskabgofigqvecamwuoeyiemckueaaztpejtwambqwcgefigkoglmvneholzhmeqburpkykjxukmvxqthtpyuvzhyitgfltihpgkretyxmnbbjurakkehnkolcndeelhjobjesahpuzwveimmljaokaewkoxwgwuthvyzvffkuljjfsjzbusixukjpdlzugfygpehxjqbdnyzciwsbvamqvpjjpjbtmbdebfxbfkzdtqgtmchriwasndwwhqdivggoiilewqjkgqsfleeamqofljqilkkzkrtwwyslofwknlwnkkdgqaahpqaznnczjxnvqwlyxqkzevqrpnhabhzqqcefsmrqqyoxucricpceumpgsywvfrbsdrvmzpswcrmilfndjmurfghrgkxcxhwohbtrzcxukavglkqwaozowsjtffmlgznpckpceslwmormxtxrtekyifeomsbeibwizscqyhevqfsxwgkgofozlkdqvrpwzkskfmcumyctnhizjzpucrhcihxfbvvazwhvxvevinwtbmfoiupprkaivunxkqffswxirsgumqzzaaphvxrainjdupsyzlwykglqaotwmfworisqcxmjceyvcnjcvcdhzizhwhwdkczemseygcoxjsnvyhnboljolcrmjaqyawigpupapltpsswtjldbkzttpqprwsrxvdolfzjxghnnssgdiejqmvlotxdpgpeshfzfhssncpcggepvasmnfirstefurumajdbsijjxtvcfkpfzqbtozrrrpnbswipfvskywjdycmvhzytwycptlhglsgjuateyxgwhxvbtfbxmingxzqhzxndgzhbxkxbvxrrutdkmqwdwqmsseymcvculwshutdxoyhkafztmsdyqvqxvrnekxlbixnsiffkeumyotgjqhgbiteuhocjsltnidwglzdtpnmofxbxkcafvuaqdfpvykebabbtstozhvnucwgtzvyctdmkfzqzseytocraovmdugjgcowptriadeguyboqrfpgenafkfnzlvctjzqimdfmmkkvfbmrcvkmjlcegcsbmcqugxaknillwhelhugweqacrmcwwtahvuvoesurmfddweqzxlmzedstzugqamxjyyjakoeafglpsbrxxpremwbuppbifghpgxtsnhszdjyjxviizqucpxuxepemhtlinkapbecyskmeadlvaptolruxzpbnebsybeafkeabcwglqhewmgitqokdhaoynwqpnizimjtevszudshojyxxawfudfuposmktl"

testo in chiaro: "addioxxmontixsorgentixdallxacquexxedxelevatixalxcieloxxcimexinugualixxnotexaxchixexxcresciutoxtraxvoixxeximpressexnellaxsuaxmentexxnonxmenoxchexloxsiaxlxaspettoxdexxsuoixpiuxxfamiliarixxtorrentixxdexxqualixdistinguexloxscroscioxxcomexilxsuonoxdellexvocixdomestichexxvillexsparsexexbiancheggiantixsulxpendioxxcomexbranchixdixpecorexpascentixxaddioxxquantoxexxtristoxilxpassoxdixchixxcresciutoxtraxvoixxsexnexallontanaxxallaxfantasiaxdixquelloxstessoxchexsexnexpartexvolontariamentexxtrattoxdallaxsperanzaxdixfarexaltrovexfortunaxxsixdisabbellisconoxxinxquelxmomentoxxixsognixdellaxricchezzaxxeglixsixmaravigliaxdxessersixpotutoxrisolverexxextornerebbexalloraxindietroxxsexnonxpensassexchexxunxgiornoxxtorneraxxdoviziosoxxquantoxpiuxxsixavanzaxnelxpianoxxilxsuoxocchioxsixritiraxxdisgustatoxexstancoxxdaxquellxampiezzaxuniformexxlxariaxglixparxgravosaxexmortaxxsxinoltraxmestoxexdisattentoxnellexcittaxxtumultuosexxlexcasexaggiuntexaxcasexxlexstradexchexsboccanoxnellexstradexxparexchexglixlevinoxilxrespiroxxexdavantixaglixedifizixammiratixdalloxstranieroxxpensaxxconxdesiderioxinquietoxxalxcampicelloxdelxsuoxpaesexxallaxcasucciaxaxcuixhaxgiaxxmessoxglixocchixaddossoxxdaxgranxtempoxxexchexcompreraxxxtornandoxriccoxaxxsuoixmontixaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

testo in chiaro messo meglio: "addio monti sorgenti dall acque ed elevati al cielo cime inuguali note a chi e cresciuto tra voi e impresse nella sua mente non meno che lo sia l aspetto de suoi piu familiari torrenti de quali distingue lo scroscio come il suono delle voci domestiche ville sparse e biancheggianti sul pendio come branchi di pecore pascenti addio quanto e tristo il passo di chi cresciuto tra voi se ne allontana alla fantasia di quello stesso che se ne parte volontariamente tratto dalla speranza di fare altrove fortuna si disabbelliscono in quel momento i sogni della ricchezza egli si maraviglia d essersi potuto risolvere e tornerebbe allora indietro se non pensasse che un giorno tornera dovizioso quanto piu si avanza nel piano il suo occhio si ritira disgustato e stanco da quell ampiezza uniforme l aria gli par gravosa e morta s inoltra mesto e disattento nelle citta tumultuose le case aggiunte a case le strade che sboccano nelle strade pare che gli levino il respiro e davanti agli edifizi ammirati dallo straniero pensa con desiderio inquieto al campicello del suo paese alla casuccia a cui ha gia messo gli occhi addosso da gran tempo e che comprera tornando ricco a suoi monti"

Ciao

Pop1
Ti ringrazio :) In effetti in queste settimane ho cercato di effettuare un attacco bruteforce anche ragionando sulla disuguaglianza per q (che mi hai citato tu) e utilizzando congruenze modulo 2^512, e mi è venuto anche me il caro addio monti del Manzoni

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.