From 988580b83790ec9eed61aea954a38612f9ae5100 Mon Sep 17 00:00:00 2001 From: Romain Lebbadi-Breteau Date: Thu, 6 Feb 2020 09:53:42 -0400 Subject: [PATCH] add padding to text, update gitignore --- .gitignore | 4 +--- backend.py | 24 +++++++++++++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 73b58bd..cd9cf28 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ -build/ -a.out -rsa.so privkey.json __pycache__ +*.pyc diff --git a/backend.py b/backend.py index db31a17..e06ff25 100644 --- a/backend.py +++ b/backend.py @@ -44,10 +44,28 @@ def getKey(): key = createKey() return key +def padText(hexa): + result = [] + for i in range(0, len(hexa),7): + result.append(hexa[i:i+7]) + return result + +def unpadText(list): + result = "" + for part in list: + result += part + return result + def encryptText(key, text): hexa = binascii.hexlify(text.encode()) - return rsa.encrypt(hexa, key["e"], key["n"]).encode() + hexa = padText(hexa) + result = [] + for part in hexa: + result.append(rsa.encrypt(part, key["e"], key["n"]).encode()) + return result def decryptText(key, cypher): - hexa = rsa.decrypt(cypher, key["d"], key["n"]) - return binascii.unhexlify(hexa).decode() + result = [] + for part in cypher: + result.append(rsa.decrypt(part, key["d"], key["n"])) + return binascii.unhexlify(unpadText(result)).decode()