-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.py
64 lines (42 loc) · 1.78 KB
/
main.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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
from encryption.asymmetric import AsymmetricEncryption
from encryption.symmetric import SymmetricEncryption
def asymmetric():
# create an instance of AsymmetricEncryption
asymmetric_encryption = AsymmetricEncryption()
# save the private key to a PEM file
asymmetric_encryption.save_private_key_to_pem("private_key.pem")
# save the public key to a PEM file
asymmetric_encryption.save_public_key_to_pem("public_key.pem")
# message to be encrypted
message = b"Hello World!"
# encrypt the message using the public key
ciphertext = asymmetric_encryption.encrypt(message)
# print the ciphertext
print(f'Asymmetric Encrypt: {ciphertext}')
# decrypt the ciphertext using the private key
plaintext = asymmetric_encryption.decrypt(ciphertext)
# print the decrypted plaintext
print(f'Asymmetric Decrypt: {plaintext}')
def symmetric():
# create an instance of SymmetricEncryption
symmetric_encryption = SymmetricEncryption()
# get the symmetric key
key = symmetric_encryption.get_key()
# save the symmetric key to a file
symmetric_encryption.save_key("key.txt")
# load the symmetric key from a file
symmetric_encryption.load_key("key.txt")
# message to be encrypted
message = b"Hello World!"
# encrypt the message using the symmetric key
ciphertext = symmetric_encryption.encrypt(message)
# print the ciphertext
print(f'Symmetric Encrypt: {ciphertext}')
# decrypt the ciphertext using the symmetric key
plaintext = symmetric_encryption.decrypt(ciphertext)
# print the decrypted plaintext
print(f'Symmetric Decrypt: {plaintext}')
# print the symmetric key
print(f'Symmetric Key: {key}')
asymmetric()
symmetric()