import sympy
from gmpy2 import gcd, invert
from random import randint
from Crypto.Util.number import getPrime, isPrime, getRandomNBitInteger, bytes_to_long, long_to_bytes
import base64
from zlib import*
flag = b"MRCTF{XXXX}"
base =65537defgen_prime(N):
A =0while1:
A = getPrime(N)if A %8==5:breakreturn A
defgen_p():
p = getPrime(1024)
q = getPrime(1024)assert(p < q)
n = p * q
print("P_n = ", n)
F_n =(p -1)*(q -1)print("P_F_n = ", F_n)
factor2 =2021* p +2020* q
if factor2 <0:
factor2 =(-1)* factor2
return sympy.nextprime(factor2)defgen_q():
p = getPrime