密码学rand-rsa
忘记哪里搞来一个rsa题目:
from os import urandom
from gmpy2 import next_prime
from random import randint
from functools import reduce
from Crypto.Util.number import bytes_to_long
from secret import flag
assert flag[:4] == b'flag'
def padding(m, length):
return m + urandom((length >> 3) - len(m))
def generate_p(base):
return next_prime(base + randint(1, 500000))
def generate_e():
return reduce(lambda x, y: x * y, [randint(1, 100) for _ in range(randint(2