每天一题,只能多不能少
simple_rsa
题目分析
- Pollard’s rho algorithm,PollardRho_p_1算法
- 小素数
- n降低
开始
1.题目
简单粗暴的给了个原脚本:
#!/usr/bin/env python2
# -*- coding:utf8 -*-
from Crypto.Util.number import *
flag='XXXXXXXXXX'
e=0x10001
n=3464115689260819392935656139231271022088014497600959975252672820761470484618617542699739764705620767566046150296286140279466041905437740736319886548924058066340624280173573039937440574809212831672936265975209972857747738693288788052694888593629820783280181774594890101819911390468376042288685444703477639361249422054925155575158181408046447773183467474182159096249846479461475003039637685547191529769071424947165685996675043741359728960138725130116665515880652680244470002603320184043266997163009799067135481330853926800023087208636366543210276325733789567957712475079676808820490428973148590780103404729397985019089646026534758042652163974037179260930147000267787012874887703048185189387666199961350969478997330352491403611551096779887936063702892671572230523920277869824082318417366635732798078805070773662305098133013800559413976855639167085996705265872418286939474978058429877355305699191892248323534097124680592084808397263288943661630283254265898940430505371463275516870915261799702701453110383723660477322192658118815861974573497885759332587457883589126213868868281682733732394640188383458580555618181208722172011645063817887462511925363883111475043389367021569982583145912277082528397480756465818166640691294267829613428532584923122279261412957652411789780285394451850006055483598427256129336822790446219260722224551892755568723667049099823707012236618539013908897459508493477299241358343681962043777720375898238069411747593247677719659288861028038609681592049271388766040068274682329498410270047730060645409396168652996740411436504098243588534151795927613112273405281530700440843961363083171583053608594479571127638861391879160062136043924515492933057094406001740725150570943724333872057035272515676895138632004436149126542560186729495087753846670118167613304943153665660470977150177815354160112481310498255965933157902965011317272734556307544837058247794721427834401390455487872367113056168812990496943458920406382650794656884209032284257748450399719067686010156664485086500184078244358783696803659745365860507822269113477617988541658390715640119076036723560146145256418191555730429
m=bytes_to_long(flag)
c=pow(m,e,n)
# print(c)
assert c==134818099271382068559435983108536124703535481826775969437572777138021376410520130390029058904847667183878492930255780742950930112362164206652776244816841743035020390051774616192829195386233662187386868496499348140695230346042438608080090786957783215413202162499534712147513943985022459891104982456747503454519614932020662092450954629491437063395817184052566775375102880045237097296784234903696581346809312130547586065216357374888015989602838445927778180360627965412178176153551386421274920234043942238436219732173953568650600625444515256913580783867780304711594724025181701739574863123402322524886864010380735780069548711806738596913066529471188743986116973703159827467228688105456429501937060039807982968794367006624676638680096712967097589943730925718115139027386453945323840082171339898079244318723815520519938746800088439077822592849110956553977244410343076441185216203678053506893201063152109630130520049473104079955407999659322341937954063056741234249435996151515770005438735688877332180442904166833143084195494906123800235527061626685343067614029607817789876411442074390507349611875579309190222456380292318389754299680939370716583742739676069161650659287765693945580677633310515224407345970484284809737692974563288831564205626758990152732959316143975224331815860074771333526568176427406108695262662914727510650235403929387061487284985178076153766071666700356225373592358476511831917120755103228972268992922694753572438901597476426510997051371564912634070939970163888082457096738942852517974611249469044352640489905248288452633531249150099465851910520410087559629274315507619928366609455623548572297524035839056016170616356961830262705523886009640