Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ashutosh1206
GitHub Repository: ashutosh1206/crypton
Path: blob/master/RSA-encryption/Intro-Challenges/Challenge-4/encrypt.py
1402 views
1
from Crypto.Util.number import *
2
from Crypto.PublicKey import RSA
3
import gmpy2
4
from secret import flag
5
6
while True:
7
p = getPrime(512)
8
q = p+2
9
if isPrime(q):
10
break
11
n = p*q
12
e = 65537
13
phin = (p-1)*(q-1)
14
assert GCD(e, phin) == 1
15
16
d = inverse(e, phin)
17
18
# Message/Flag to be encrypted
19
m = bytes_to_long(flag)
20
ciphertext = long_to_bytes(pow(m, e, n))
21
ciphertext = ciphertext.encode("hex")
22
23
obj1 = open("ciphertext.txt",'w')
24
obj1.write(ciphertext)
25
26
key = RSA.construct((n, long(e)))
27
f = open("publickey.pem",'w')
28
f.write(key.exportKey("PEM"))
29