题目
附件是一个加密的压缩包,使用ziperello爆破即可,密码是password,解压后有四个文件
使用RsaCtfTool提取一下两个pubkey的n、e:
./RsaCtfTool.py --dumpkey --key pubkey1.pem
发现这两个n相同,那就是共模攻击了,接下来提取密文c1、c2
import base64
import libnum
str = ""
str = base64.b64decode(str)
s = libnum.s2n(str)
print(s)
脚本实现
import gmpy2 as gp
def egcd(a, b):
if a == 0:
return (b, 0, 1)
else:
g, y, x = egcd(b % a, a)
return (g, x - (b // a) * y, y)
n =
c1 =
c2 =
e1 =
e2 =
s = egcd(e1, e2)
s1 = s[1]
s2 = s[2]
if s1<0:
s1 = - s1
c1 = gp.invert(c1, n)
elif s2<0:
s2 = - s2
c2 = gp.invert(c2, n)
m = pow(c1,s1,n)*pow(c2,s2,n) % n
print(hex(m)[2:])
print(bytes.fromhex(hex(m)[2:]))
成功拿到flag,不过这里有个坑,得去掉-,才能提交成功。