周周练(十)

目录

RRSA

len_rsa

双层加密

YusaPaillier


RRSA

from random import randint
from gmpy2 import *
from Crypto.Util.number import *
from flag import flag

e = 65537


def getprime(bits):
    while True:
        n = 1
        while n.bit_length() < bits:
            n *= next_prime(randint(1, 1000))
        if isPrime(n - 1):
            return n - 1, next_prime(n - 1)


m = bytes_to_long(flag)

p, q = getprime(512)
n = p * q
print(n)
cipher = pow(m, e, n)
print(cipher)


'''
1218619816262698783546648

版权声明:本文为weixin_48427966原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。