/
encryption.py
47 lines (37 loc) · 1.91 KB
/
encryption.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
# Standard calls to encryption and decryption
import constants
import debug
import secrets # file containing key and IV values
import mpyaes # Encryption module found here https://github.com/iyassou/mpyaes
DEBUG = constants.DEBUG
LOGTOFILE = constants.LOGTOFILE
def encryptMessage(unencryptedMessage):
if(DEBUG >=1):
debug.debug(DEBUG, "encryptMessage()", " ", LOGTOFILE)
if(DEBUG >=2):
debug.debug(DEBUG, "encryptMessage(unencryptedMessage)", "unencryptedMessage="+ str(unencryptedMessage), LOGTOFILE)
if(DEBUG >=1):
debug.debug(DEBUG, "encryptMessage(unencryptedMessage)", "unencryptedMessage Length ="+ str(len(str(unencryptedMessage))), LOGTOFILE)
key = secrets.key
IV = secrets.IV
aes = mpyaes.new(key, mpyaes.MODE_CBC, IV)
encryptedMessage = aes.encrypt(unencryptedMessage)
if(DEBUG >=3):
debug.debug(DEBUG, "encryptMessage(unencryptedMessage)", "encryptedMessage="+ str(encryptedMessage), LOGTOFILE)
if(DEBUG >=2):
debug.debug(DEBUG, "encryptMessage(unencryptedMessage)", "encryptedMessage Length="+ str(len(str(encryptedMessage))), LOGTOFILE)
return encryptedMessage
def decryptMessage(encryptedMessage):
if(DEBUG >=1):
debug.debug(DEBUG, "decryptMessage()", " ", LOGTOFILE)
if(DEBUG >=2):
debug.debug(DEBUG, "decryptMessage(encryptedMessage)", "encryptedMessage="+ str(encryptedMessage), LOGTOFILE)
if(DEBUG >=1):
debug.debug(DEBUG, "decryptMessage(encryptedMessage)", "encryptedMessage Length="+ str(len(str(encryptedMessage))), LOGTOFILE)
key = secrets.key
IV = secrets.IV
aes = mpyaes.new(key, mpyaes.MODE_CBC, IV)
unencryptedMessage = aes.decrypt(bytearray(encryptedMessage))
if(DEBUG >=1):
debug.debug(DEBUG, "decryptMessage(encryptedMessage)", "decrypted message="+ str(unencryptedMessage), LOGTOFILE)
return unencryptedMessage