当前位置:首页 > CTF > 攻防世界 > 正文内容

XCTF_crypto进阶区_OldDriver

七星4年前 (2020-08-16)攻防世界2231

拿到题, 是个类似字典的东西:

image.png

有c(密文), e,n(大数).好的,RSA, 大数分解获取d.

他给我们的是字典, 我们不能辜负它, 于是写个脚本就行了:

import libnum
import gmpy2
dic =[{"c":7366067574741171461722065133242916080495505913663250330082747465383676893970411476550748394841437418105312353971095003424322679616940371123028982189502042, "e": 10, "n":25162507052339714421839688873734596177751124036723831003300959761137811490715205742941738406548150240861779301784133652165908227917415483137585388986274803},
{"c":21962825323300469151795920289886886562790942771546858500842179806566435767103803978885148772139305484319688249368999503784441507383476095946258011317951461, "e": 10, "n":23976859589904419798320812097681858652325473791891232710431997202897819580634937070900625213218095330766877190212418023297341732808839488308551126409983193},
{"c":6569689420274066957835983390583585286570087619048110141187700584193792695235405077811544355169290382357149374107076406086154103351897890793598997687053983, "e": 10, "n":18503782836858540043974558035601654610948915505645219820150251062305120148745545906567548650191832090823482852604346478335353784501076761922605361848703623},
{"c":4508246168044513518452493882713536390636741541551805821790338973797615971271867248584379813114125478195284692695928668946553625483179633266057122967547052, "e": 10, "n":23383087478545512218713157932934746110721706819077423418060220083657713428503582801909807142802647367994289775015595100541168367083097506193809451365010723},
{"c":22966105670291282335588843018244161552764486373117942865966904076191122337435542553276743938817686729554714315494818922753880198945897222422137268427611672, "e": 10, "n":31775649089861428671057909076144152870796722528112580479442073365053916012507273433028451755436987054722496057749731758475958301164082755003195632005308493},
{"c":17963313063405045742968136916219838352135561785389534381262979264585397896844470879023686508540355160998533122970239261072020689217153126649390825646712087, "e": 10, "n":22246342022943432820696190444155665289928378653841172632283227888174495402248633061010615572642126584591103750338919213945646074833823905521643025879053949},
{"c":1652417534709029450380570653973705320986117679597563873022683140800507482560482948310131540948227797045505390333146191586749269249548168247316404074014639, "e": 10, "n":25395461142670631268156106136028325744393358436617528677967249347353524924655001151849544022201772500033280822372661344352607434738696051779095736547813043},
{"c":15585771734488351039456631394040497759568679429510619219766191780807675361741859290490732451112648776648126779759368428205194684721516497026290981786239352, "e": 10, "n":32056508892744184901289413287728039891303832311548608141088227876326753674154124775132776928481935378184756756785107540781632570295330486738268173167809047},
{"c":8965123421637694050044216844523379163347478029124815032832813225050732558524239660648746284884140746788823681886010577342254841014594570067467905682359797, "e": 10, "n":52849766269541827474228189428820648574162539595985395992261649809907435742263020551050064268890333392877173572811691599841253150460219986817964461970736553},
{"c":13560945756543023008529388108446940847137853038437095244573035888531288577370829065666320069397898394848484847030321018915638381833935580958342719988978247, "e": 10, "n":30415984800307578932946399987559088968355638354344823359397204419191241802721772499486615661699080998502439901585573950889047918537906687840725005496238621}]
n = []
C = []
for i in dic:
    n.append(i["n"])
    C.append(i["c"])

N = 1
for i in n:
    N *= i

Ni = []
for i in n:
    Ni.append(N // i)

T = []
for i in range(10):
    T.append(int(gmpy2.invert(Ni[i], n[i])))

X = 0
for i in range(10):
    X += C[i] * Ni[i] * T[i]

m10 = X % N
m = gmpy2.iroot(m10, 10)
print (libnum.n2s(m[0]))

至于为什么, 请参考:

CTF中对RSA算法的攻击



七星比特

相关文章

XCTF_reverse新手区_csaw2013reversing2

XCTF_reverse新手区_csaw2013reversing2

下载题目后, 是exe的, 直接运行, 乱码,和题目的提示一样:  拖到ida里面,main函数双击然后f5看见伪代码里面main函数调用了这个方法做了if判断: &nb...

XCTF_web进阶区_Training-WWW-Robots

XCTF_web进阶区_Training-WWW-Robots

开题,创建场景:其实根据题目名称,可以猜到是考robots的,但还是看一下他说了啥:直接访问/robots.txt然后出现了flag文件,访问获得flag:...

XCTF_pwn新手区_guess-num

XCTF_pwn新手区_guess-num

下载题目,ida查看main函数伪代码:这里可以看出,v8是个随机数.而这个v6就是我们需要输入的猜测数分析这个代码,逻辑是这样的:先输入name,然后进入for循环,生成随机数,然后要求输入随机数,...

XCTF_crypto进阶区_告诉你个秘密

XCTF_crypto进阶区_告诉你个秘密

得到题目:首先发现,没有大于F的数字.所以推断是16进制.于是十六进制转字符串:cjV5RyBscDlJIEJqTSB0RmhCVDZ1aCB5N2lKIFFzWiBiaE0g像base64,解出来:...

XCTF_crypto进阶区_banana-princess

XCTF_crypto进阶区_banana-princess

下载题目,是个PDF.但是打不开.根据misc的经验, 先放hex里面看一下:然而PDF的文件头是:考虑到是加密,所以比对一下CQS和PDF的关系.好了, 凯撒13位替代加密.只需要还原回去就行了.c...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。