RSA1
RSA1和RSA2是一样的代码。
整个然后告诉了我们大整数N,公钥e。
然后告诉我们flag使用该私钥e加密。加密方法就是典型的RSA,即求flag的e次方然后模N1。
根据大整数N1后面的提示,我们可以直接将N1分解,有一个在线分解大整数的网站:
得到N1=p*q=41 · 40094690950920881030683735292761468389214899724061。
因此可以计算出φ(N1)=(p-1)*(q-1)
进而可以求得e模φ(n)的逆元,即私钥d。然后就可以对密文进行解密了。
RSA2对应的就是分解第二个整数,在factordb.com上都可以直接分解。
这两题的exp入下:from gmpy2 import *
from binascii import *
N1 = 1643882328987756122258033147003220203957810888686501L # Can be divided by 41
N2 = 5