BabyRSA
约 85 字小于 1 分钟
2025-03-14
# BabyRSA
from Crypto.Util.number import *
from secret import flag
p, q = getPrime(512), getPrime(512)
n = p * q
e = 0x10001
c = pow(bytes_to_long(flag), e, n)
print(
f"""{p=}
{q=}
{c=}"""
)
"""
p=12378167698204685918646557412411524522066680571694759229746620084788777117768031300598933087357615357043132777342093093021847322934326727042453840828875143
q=10931648352230312579027787675415763167593715198326935540933830947826673132860023189296292566561680484410720148906575606020957769782299988856793344932491417
c=123988699358222708143066132876239464730978678005828425934002960216869470678147836293022851596510559188033634820389843867729896227211954977199498471911877575194325878270178338587187540787433588651248990812027895206931793731455270351073627569292859785654095071728817049964067167174293731728088800971391102252181
"""# exp.py
from Crypto.Util.number import *
import math
p = 12378167698204685918646557412411524522066680571694759229746620084788777117768031300598933087357615357043132777342093093021847322934326727042453840828875143
q = 10931648352230312579027787675415763167593715198326935540933830947826673132860023189296292566561680484410720148906575606020957769782299988856793344932491417
c = 123988699358222708143066132876239464730978678005828425934002960216869470678147836293022851596510559188033634820389843867729896227211954977199498471911877575194325878270178338587187540787433588651248990812027895206931793731455270351073627569292859785654095071728817049964067167174293731728088800971391102252181
e = 0x10001
phi = (p - 1) * (q - 1)
d = inverse(e, phi)
m = pow(c, d, p * q)
print(long_to_bytes(m))