解题流程
n,e已经给出,可以看出e特别大,在e特别大的情况下,可以使用wiener attack的方法进行破解,正好工具RsaCtfTool集成了wiener attack的方法,所以可以直接使用RsaCtfTool计算私钥。
典型的rsa…
密钥的产生:
选两个满足需要的大素数p和q,计算n= p x q, φ(n) = (p - 1) x (q - 1),其里φ(n)是n的欧拉函数值。
选一个整数e,满足1< e < φ \varphi φ,且gcd(φ(n), e) = 1。通过d x e ≡ 1 mod φ(n),计算得出d。
以{ e,n }为公开密钥,{d, n }为私钥。
加解密都为模幂运算
加密:c = m^e mod n,即得到密文 c
解密:m = c^d mod n,即得到明文m
分析
题里给了 n即由两个大素数p x q得到的, e, 以及密文enc,也就是给了{e,n }公开密钥以及密文,我们需要的目标是要获得明文。
通过解密算法我们知道,对于m = c^d mod n,m是我们想要获取的,c为密文,n也是已知的,然而d是不知道的,目标就是要获取d,该题因为n和e是同数量级的,证明d会很小。