Fword CTF 2020 | Weird RSA

RSAなのはそうだけど、1文字ずつ暗号化している。  eがランダムに選ばれているので困るように見えるが、1文字ずつの暗号化なので単一換字暗号と変わらない。数値を適当に文字にマッピングしてquipqiupなどに投げれば良い

from random import randrange
from Crypto.Util.number import getStrongPrime

p = getStrongPrime(512)
q = getStrongPrime(512)
n = p * q
e = randrange(2**16,2**1024)

plain = open('plaintext','r').read().lower()
arr = []
for i in plain:
    arr.append(pow(ord(i),e,n))
open('encrypted','w').write(str(n)+"\n"+str(arr))