-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdecrypt_rsa.py
More file actions
45 lines (36 loc) · 1.09 KB
/
Copy pathdecrypt_rsa.py
File metadata and controls
45 lines (36 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import numpy as np
from helpers import (
break_rsa_with_primes,
display_gui,
rsa_decrypt,
rsa_decrypt_text,
rsa_encrypt,
rsa_encrypt_text,
show_text_gui,
)
def run_decrypt_rsa():
# public key (n, e)
n = 1067333190347 # 1292063 * 826069
e = 17
# If message is an integer
# message = 123
# c = rsa_encrypt(message, n, e)
# encrypted message
# c = 641618116209
# plaintext = rsa_decrypt(c, d, n)
# print("Decrypted message:", plaintext)
# Get the message to encrypt and encrypt it
message = "Hello"
message = display_gui(message)
c = rsa_encrypt_text(message, n, e)
show_text_gui(str(c), title="Encrypted message", label="Encrypted message:")
# Load the list of primes and break RSA to find d
primes = np.load("primes.npz").tolist()
d = break_rsa_with_primes(n, e, primes)
# Decrypting the message
decrypted_message = rsa_decrypt_text(c, d, n)
show_text_gui(
str(decrypted_message), title="Decrypted message", label="Decrypted message:"
)
if __name__ == "__main__":
run_decrypt_rsa()