打开后是两份公钥和密文,以及一段小提示:
- rb: # 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。之后用网站解析或者代码得到n,e后来发现两组n的公约数不是1
-
gcd=gmpy2.gcd(n1,n2) #p2=gcd #q2=n2//p2 #d2=gmpy2.invert(e2,(p2-1)*(q2-1)) #m2=pow(c2,d2,n2) #print(long_to_bytes(m2)) p1=gcd q1=n1//p1 d1=gmpy2.invert(e1,(p1-1)*(q1-1)) m1=pow(c1,d1,n1) #print(long_to_bytes(m1)) 将公因数作为n的因子,然后用n1,n2都可以得到flag:b'\x02\xd5\xd4\x02\xe3\x01w\x86E\x19#\xc5\x0e\x9d\xf5\xff\xf3\xac\xbd^[M\xe2\xcd[\x08\xa8\x11x\x8b\xaax\xc3\x958\x86\xe4\x05\x87B\x07F^\xf6\xf3[w\x81\x9fr\x80\x13\xab\xf9\xb6\xf7"\xff\x9bL\xea\xb9\x10|AI\xc2m\x01\xf4\x8d-\xcd\xd6PDf\xea+Ub\x96\x18\xbd\xe8\xff\x9e\xe9N\x05\x85\xc8:o\x06\xb9\xd7\xb9\xabT\xc1\xf8\t\xe4\xca0\xd84x\xc3\xb2)~}\xaa\x0f\r\xa5\x8a\xe5\xa1\xc6\x8f\rze\xb6\x8b\xa7\x0c\xca\xf9\xe3\xa6\x07\xa3\xaa\xcb\x14\xca\x15\xd3\x07\xc0T\x18\x87z-1\xa5\x9a\x92\xfe\xe3\xdb\x94\xf5d\xb3\x06\xae\x16\x98mqE4\x96\xf8Z\xd8\xef\xdb\xd6(\xb2Ws\xe7u\x95\xd5I\xddn\xdf\xb0\xe9\xa0\xef\xe8\x0c\x97B\xc7\xe1\x82\xeb\x00OpenSSL is widely used\r\nflag is afctf{You_Know_0p3u55I}'