cry1のWP, 大杂烩暂时挖坑
题面
1 | from gmpy2 import * |
非预期解(因$N$与$rsa1$中存在公因子$S$, 直接gcd(rsa1, N)
求出S, 又因为 $S > m$ 于是 $S$ 直接当做 $N$ 使用
Q: 为什么这里的 $S$ 可以当作 $N$ 使用呢
A: 这里因为 $m$ 比 $S$ 小, 所以在模 $S$ 和模 $N$ 下加密程序( $c = m^e mod N$ )求出来的 $c$ 是一样的, 于是把 $S$ 当 $N$ 算
可以理解为因为加密公式为 $m^e mod n$ , 膜的数学小技巧为 $c = m^e mod n$ 等同于 $c=(m mod n)^e$ , 所以在 $S>m$ ( $s$ 是 $n$ 的一个因子) 的时候, $S$ 可以直接接做 $N$ 使用
问了些师傅 + 个人想法, 如果有错请联系我更正谢谢!
非预期解法code
1 | from Crypto.Util.number import * |