g2uc

TeamBlog

[CRYPTO]0x3 RSA_BOY

题目文件:
链接: https://pan.baidu.com/s/1nH-Shs8fv5AqomlRuBzRQg 提取码: sgb6


题目提示说”RSA而已不需要分解吧~”,打开题目文件,发现是文本文件里面是RSA的加密信息,其中列举了N,E,C和p+q的值.
我们知道,RSA加密在知道E,C的情况下,需要知道N分解的素数p和q,然后通过以下代码计算得私钥d:
d = modinv(e, (p-1)*(q-1))

虽然我们不知道p和q的值,但是可以通过以下变换,使得题目中的参数派上用场:
(p-1)(q-1)=pq-(p+q)+1
此处p
q即为N的值,由此可以得到d值然后解密C的内容,解密脚本如下:

from libnum import n2s,s2n
def egcd(a,b):
    if b==0:
        return a,1,0
    else:
        g,x,y=egcd(b,a%b)
        return g,y,x-a/b*y
def modinv(a, m):
    g, x, y = egcd(a, m)
    if g != 1:
        raise Exception('modular inverse does not exist')
    else:
        return (x+m) % m
c=615790520764825102932395936653778392834582149084006426330648916765307039886765574911614861953448136638331789182378871527379423756910981225626877317213454699276188573322558324316395024870182892736772800856334582454823241770220951733812964462882901182485124108386227781920236091030618518074775057047206677464492222283548633669167928228950565668748848389742248874719741926303820782973006714299459428525873653883912738979367687508963774991824055063656997999818900974589451657553276691064962120504732401927961873872245180280881595615337343078051798706590394390210583323417896175427144343326218058020850337280153491703756
e = 65537
n = 5329620420637226272754523818408319838189106562819857318597581907676133460078751665648501574077403721219726131767397346425487786059889317418449374033850394029295339686684598158074055408953039562964222732424665012872965055300679966669036141952359185082732524946883898882953401040881747113919637320557838701738940756307162777282694531538330179904729048541802570499211832570455275592507250288749732510429823048962903361530761910567343497917662008476652965452343007192642705455403221513029733807694088621415685564089023057709029321680302708462092241178604420777493504112237837101440667899779795877950743867510288997391647
s1=n+1-149201879773324758367103793927196417923633015659067375623467380053442178615279055183410488757491298807843839834814005633194958917309472830848824603538228750357769022210239433095494128351475204920897866209725968730690982582838496181790252038365886769148549793521848023113502162893112274753922137716283984279088
d = modinv(e, s1)
m = pow(c,d,n)
print n2s(m)

FLAG值:

whaleCTF{Rsa_is_Always_FUn}

发表评论:

搜索
标签列表
网站分类
文章归档
站点信息
  • 文章总数:20
  • 页面总数:0
  • 分类总数:4
  • 标签总数:7
  • 评论总数:1
  • 浏览总数:566
控制面板
您好,欢迎到访网站!
  查看权限

Powered By Z-BlogPHP 1.5.2 Zero

Copyright g2uc Rights Reserved.

公告

请把不属于分类中比赛的题目wp发布在essay分类!另外,题解文章请记得在标签里标注题目类型!