-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathsolve.py
executable file
·24 lines (19 loc) · 1.24 KB
/
solve.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#! /usr/bin/env python3
##
# Script for PicoCTF Weird RSA challenge
# Created by Amos (LFlare) Ng
##
import binascii
# Define variables we already got
c=95272795986475189505518980251137003509292621140166383887854853863720692420204142448424074834657149326853553097626486371206617513769930277580823116437975487148956107509247564965652417450550680181691869432067892028368985007229633943149091684419834136214793476910417359537696632874045272326665036717324623992885
p=11387480584909854985125335848240384226653929942757756384489381242206157197986555243995335158328781970310603060671486688856263776452654268043936036556215243
q=12972222875218086547425818961477257915105515705982283726851833508079600460542479267972050216838604649742870515200462359007315431848784163790312424462439629
dp=8191957726161111880866028229950166742224147653136894248088678244548815086744810656765529876284622829884409590596114090872889522887052772791407131880103961
dq=3570695757580148093370242608506191464756425954703930236924583065811730548932270595568088372441809535917032142349986828862994856575730078580414026791444659
# Calculate qInv
qinv = (1/q) % p
# Calculate message
m2 = pow(c, dq, q)
# Convert int message to string
message = binascii.unhexlify(format(m2, 'x')).decode()
print(message)