看着像rsa
分解n :103461035900816914121390101299049044413950405173712170434161686539878160984549 = p*q = 282164587459512124844245113950593348271 * 366669102002966856876605669837014229419
以为这个函数是加密函数
最后发现其实是十进制转十六进制的算法。。。。
# encoding=utf-8 import gmpy2 # gmpy2报错没事。。。 c = int('ad939ff59f6e70bcbfad406f2494993757eee98b91bc244184a377520d06fc35', 16) n = 103461035900816914121390101299049044413950405173712170434161686539878160984549 e = 65537 p = 282164587459512124844245113950593348271 q = 366669102002966856876605669837014229419 phi = (p - 1) * (q - 1) d = gmpy2.invert(e, phi) m = pow(c, d, n) flag = hex(m)[2:] flag = flag.decode("hex") print(flag) #suctf{Pwn_@_hundred_years}