rinetd 二叉树排序 dedecms SQLMAP 分布式服务 testing arraylist request 河南省普通话考试官网 java设计模式视频 android小程序源代码 collection框架的结构 linux环境变量生效 sallenkey滤波器 spark文档 html好看的字体样式 idea全文搜索快捷键 python正则匹配中文 python的range python变量类型 python中的join函数 python中import用法 java基础数据类型 java8函数式接口 java学习基础 java循环语句 java自学编程入门教程 java框架学习 java获取本机ip java配置jdk linux启动 离散数学及其应用 德鲁伊武器 tftpd64 ps选择反向快捷键 lol体验服转换器 sim卡注册失败 c语言编程实例 模拟按键 php取整
当前位置: 首页 > 学习教程  > 编程语言

攻防世界—OldDriver

2020/10/16 18:24:26 文章标签:

OldDriver 题目来源: XCTF 4th-WHCTF-2017 附件 题目描述:有个年轻人得到了一份密文,身为老司机的你能帮他看看么? 题目场景: 暂无 分析: 给了10组RSA的加密信息,共有10个公钥,并且…

OldDriver

题目来源: XCTF 4th-WHCTF-2017 附件
题目描述:有个年轻人得到了一份密文,身为老司机的你能帮他看看么?
题目场景: 暂无
在这里插入图片描述
分析:
给了10组RSA的加密信息,共有10个公钥,并且所有的n都是互质的,因此想到了低加密指数广播攻击

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”])

for i in n:

#  for j in n:
    #  if i == j:
        #  continue
    #  else:
        #  if gmpy2.gcd(i, j) != 1:
            #  print i, j

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

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

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

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

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

运行结果在这里插入图片描述
flag{wo0_th3_tr4in_i5_leav1ng_g3t_on_it} (最你好运)


本文链接: http://www.dtmao.cc/news_show_300403.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?