Spaces:
Sleeping
Sleeping
Ahmad Hammoudeh commited on
Commit ·
d6b31e0
1
Parent(s): 7966cc9
Update app.py
Browse files
app.py
CHANGED
|
@@ -26,6 +26,32 @@ iface.launch()
|
|
| 26 |
|
| 27 |
|
| 28 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
class AESCipher(object):
|
| 30 |
def __init__(self, key):
|
| 31 |
self.bs = AES.block_size
|
|
@@ -45,3 +71,6 @@ class AESCipher(object):
|
|
| 45 |
@staticmethod
|
| 46 |
def _unpad(s):
|
| 47 |
return s[:-ord(s[len(s)-1:])]
|
|
|
|
|
|
|
|
|
|
|
|
| 26 |
|
| 27 |
|
| 28 |
|
| 29 |
+
def AES_encrypt(User_message,seed, publicKey,encoding = 1, padding = 30):
|
| 30 |
+
#number conversion to encrypt non-english content
|
| 31 |
+
User_message_numbered = (int.from_bytes(bytes(User_message, 'utf-16'), "big"))
|
| 32 |
+
#padding
|
| 33 |
+
front_padding = ''.join(random.choices(string.digits, k=padding)) #string.ascii_lowercase +
|
| 34 |
+
back_padding = ''.join(random.choices(string.digits, k=padding)) #string.ascii_lowercase +
|
| 35 |
+
msg = front_padding + str(User_message_numbered) + back_padding
|
| 36 |
+
msg_len =len(msg) #total number of charachters in the msg
|
| 37 |
+
permutation_list = list(range(0,msg_len))
|
| 38 |
+
random.seed(seed)
|
| 39 |
+
random.shuffle(permutation_list)
|
| 40 |
+
shffled_msg_list = [msg[i] for i in permutation_list]
|
| 41 |
+
shffled_msg = ''.join(shffled_msg_list)
|
| 42 |
+
#print(shffled_msg)
|
| 43 |
+
encMessage = AESCipher(str(publicKey.n)).encrypt(shffled_msg)
|
| 44 |
+
if encoding == 0:
|
| 45 |
+
encMessage_int = encMessage
|
| 46 |
+
elif encoding == 1:
|
| 47 |
+
encMessage_int = encMessage.decode('utf-16')
|
| 48 |
+
else:
|
| 49 |
+
encMessage_int = int.from_bytes(encMessage, "big")
|
| 50 |
+
return encMessage_int
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
|
| 54 |
+
|
| 55 |
class AESCipher(object):
|
| 56 |
def __init__(self, key):
|
| 57 |
self.bs = AES.block_size
|
|
|
|
| 71 |
@staticmethod
|
| 72 |
def _unpad(s):
|
| 73 |
return s[:-ord(s[len(s)-1:])]
|
| 74 |
+
|
| 75 |
+
def invert_perm_list(p):
|
| 76 |
+
return [p.index(l) for l in range(len(p))]
|