「配枪朱丽叶。」

RootのCTF学习笔记。

RSAROLL

题目下载

给了n,e,其中n可以分解:

p = 18443
q = 49891

依次进行解密即可。

import gmpy2
import libnum
p = 18443
q = 49891
e = 19
s = (p- 1) * (q - 1)
d = long(gmpy2.invert(e, s))
n = p *q
b = ''
a=[704796792,752211152,274704164,18414022,368270835,483295235,263072905,459788476,483295235,459788476,663551792,475206804,459788476,428313374,475206804,459788476,425392137,704796792,458265677,341524652,483295235,534149509,425392137,428313374,425392137,341524652,458265677,263072905,483295235,828509797,341524652,425392137,475206804,428313374,483295235,475206804,459788476,306220148]
for i in a:
    b += libnum.n2s(pow(i,d,n))
print b