1.[NCTF2019]childRSA
题目
题目已经给出n,c,e和p,q的生产方法,所以我们现在需要求出p,q来解题。根据p和q的生成方式,我们知道(p-1)和(q-1)由前10000个素数中的若干个素数相乘得到。令B=k*(p-1),由费马小定理,有2^B-1 = a^k*(p-1)-1是p的倍数(这里补充一下,这个式子相等是因为a是任意整数,一般约定俗成取2),最后gcd(2^B-1, n) = p,得到p。
这一步是为了简化计算,这样就只需要计算2^B(mod n)。运行脚本,获得flag。