总结一下各路大师傅的RSA脚本233
加密指数
低加密指数(e=3)
要求已知 p(或 m) 的大部分比特 - 已知 消息 m 的大部分比特,可还原 完整消息 - 已知 素数 p 的大部分比特,可分解 n - 广播攻击(boradcast attack) - 加密指数/低指数加密广播攻击/crack.py(python2)
高加密指数
基于连分数的特殊攻击 - 加密指数/e很大/rsa-wiener-attack/RSAwienerReallyHack.py - 加密指数/e很大/crack.py(使用 python3 的 owiener 库)
短填充攻击(short pad attack)
解密指数
已知d之后,利用概率算法对n进行因式分解,从而对未来的信息进行解密 + 低解密指数攻击 - wiener(运用连分数的特殊攻击)
模
分解 n
https://www.cnblogs.com/pcat/p/7508205.html - 公约数分解
分解n得到p,q之后,可求 d
d 是 e 对于 phi 的 模反元素,d = e-1 mod phi(n)
共模攻击(common modulus attack)
明文攻击
短信息 必须用随即比特进行填充(防止爆破) + 循环攻击(cycling attack)
密文是明文的一个置换,密文的连续加密最终将得到明文 + 公开信息攻击(unconcealed message attack)
执行攻击
sage 安装
在线运行 sage 代码
import sys sys.setrecursionlimit(10000000)
yafu-x64 "factor(@)" -batchfile pcat.txt