Path: blob/master/RSA-encryption/Factorisation-Fermat/Challenges/Easy-RSA-2/task.py
1402 views
from Crypto.Util.number import *1import gmpy223flag = '##################################'4p1 = getPrime(512)5p2 = gmpy2.next_prime(p1)6q1 = getPrime(512)7q2 = gmpy2.next_prime(q1)8n = p1*p2*q1*q29e = 6553710phi = (p1-1)*(p2-1)*(q1-1)*(q2-1)11d = gmpy2.invert(e,phi)12c = pow(bytes_to_long(flag),e,n)1314print pow(p1+q2,65537,n)15#504362201033056472278356079638873311022319223465731379797972918321631660224779017002739314510482828381215830451921837047638089702324989872026705305190849801184519838312659868818574331304045185123430907153087368366736087251586840187083437190262350976249891917246449339728493023241502929720369877885112142245614928062970114810864939664243319963438801153577720418820759742754898119530901590042124947358807792260772909393958745417021136378448083119776423857946036166887803733559670051338213334137037484063937400522574200755727215380043369978409251103969387768642583295747780835946250740159684252652737481694330247535730216print pow(p2+q1,65537,n)17#791928318455940625902860475115541369699337581433686233769464545936782984113054429177010396636217714558200704875492516884579355513698575499648659698720504393298431493429778945682376942277664227215147802110813506283365799636616068859874280484763306853345103489835743515031912377051260435803388180996091648404960349047761690048088386282541657045959225465900702476191719629336956548653894394293896822670137566835156037690409493591944232248479158781968774378003141133996037246393731157896071421958098194525412915084479867402393264536351914843909297113302975108884766804172057469435029871707914037738874043421379172728872218print n19#857364153616448511108160934111054057442342670158722245858800246480791755591094207727616752804676932739005809616968518887092828684534263197484717184510380671076841846266831162127570463658104213791550595976780638441531402454948953871760717300782906749251677671481726222669178743622700292422531186116429665590974684632987054826628549868251041541805365627162348220249180551379721579359638501426444928255135279609636152448238499463391251510441423725265705869843326059763636761432851275172261584995998778096942331820712366811832517654487933526743909658903506459663175630330086031525740442701681914529891997428717410393450320print c21#8436043641135865531308468859210199431445831063674810351906331674115825605849862045115409554309732867926457428348729196827592921108183774070414343257409618631078896543782150761081732376735501920417229787663210936174854000594130785353102718054331606096192133481536724402629697019651921188121029927710787682993814748802295545306899075962041017278877203965796981792702098381465051289581518257202127401748725944229037078896857591660248467597356051123218945757343652461844056927461929195427880969904210166880623689090977714615839624798930450630919330253477634839161931755642681718034910946900928731231093352169252474939674222324