21 lines
974 B
Python
21 lines
974 B
Python
from Cryptodome.Util.number import bytes_to_long, getPrime, isPrime
|
|
from secret import flag
|
|
|
|
|
|
def next_prime(p):
|
|
while True:
|
|
p = p+1
|
|
if isPrime(p):
|
|
return p
|
|
|
|
#Close numbers so n = pq = (a^2 - b^2)
|
|
p = getPrime(512)
|
|
q = next_prime(p)
|
|
n = p*q
|
|
e = 65537
|
|
print(n)
|
|
m = bytes_to_long(flag.encode())
|
|
print(pow(m, e, n))
|
|
# Output: 6050935527551872879286435303438132320371235206522153386309454075563003574208085513601683088712047065839545575185838018328585278680722907743516581002251926515439942431107279175579058554492169947477999619861085376667708820915645785930175531324659803557729379985325606597907434337006411126369816412558000016523744695558076372490838321125335259117268430036823123326565653896322404966549742986308988778274388721345811255801305658387179978736924822440382730114598169989281210266972874387657989210875921956705640740514819089546339431934001119998309992280196600672180116219966257003764871670107271245284636072817194316693323
|
|
#
|