53fd30619d | ||
---|---|---|
.. | ||
Flag.py | ||
README.md | ||
rsa (1).txt |
README.md
RSA Beginner
The main idea finding the flag using RSA function and its operations.
Step-1:
After we download rsa (1).txt
from the cloud, we try to understand what is the content.
If anyone is unaware of RSA Encryption, they can checkout here:
https://en.wikipedia.org/wiki/RSA_(cryptosystem)
Step-2:
The contents of rsa (1).txt
are as follows:
e: 3
c: 219878849218803628752496734037301843801487889344508611639028
n: 245841236512478852752909734912575581815967630033049838269083
Step-3:
We run a simple Flag.py
script to get the flag.
import gmpy2
from gmpy2 import mpz
e=mpz(3)
c=mpz(219878849218803628752496734037301843801487889344508611639028)
n=mpz(245841236512478852752909734912575581815967630033049838269083)
#use factordb
q=mpz(416064700201658306196320137931)
p=mpz(590872612825179551336102196593)
phi=gmpy2.mul(p-1,q-1)
d=gmpy2.invert(e,phi)
f=gmpy2.powmod(c,d,n)
g=bytes.fromhex(hex(f)[2:])
print("[+] Flag is : ",g)
Step-4:
The output of python3 Flag.py
is as follows:
[+] Flag is : b'abctf{rs4_is_aw3s0m3}'
Step-5:
Finally the flag becomes:
abctf{rs4_is_aw3s0m3}