aboutsummaryrefslogtreecommitdiff
path: root/final/rsa-decrypt.py
diff options
context:
space:
mode:
authorHolden Rohrer <holden.rohrer@gmail.com>2019-11-12 10:28:35 -0500
committerHolden Rohrer <holden.rohrer@gmail.com>2019-11-12 10:28:35 -0500
commit8eb41720f151d20f13d7316d30cd8a02c8664e42 (patch)
tree29c02d7e9473f21e7da7da6674971a5f8026399f /final/rsa-decrypt.py
parentfd2de4e488e01fd84d877ceabbd9f0f984d93174 (diff)
allowed user input and base64 intermediary for rsa encrypt/decrypt
Diffstat (limited to 'final/rsa-decrypt.py')
-rw-r--r--final/rsa-decrypt.py15
1 files changed, 4 insertions, 11 deletions
diff --git a/final/rsa-decrypt.py b/final/rsa-decrypt.py
index 39a2720..3bc0a06 100644
--- a/final/rsa-decrypt.py
+++ b/final/rsa-decrypt.py
@@ -1,7 +1,8 @@
-encrypted = [340, 316, 145, 278, 250, 435, 321, 109, 115, 490, 156, 212, 122, 288, 287, 164, 225] # Directly from demo output of encrypted
+import rsautils as ru
p = int(input('prime 1: '))
q = int(input('prime 2: '))
n = p*q
+encrypted = ru.int2list(ru.base642int(input('encrypted message:\n')),n)
tot = (p-1)*(q-1)
e = int(input('e: '))
@@ -15,15 +16,7 @@ def decrypt_block(blk):
return blk**d % n
decrypted = [decrypt_block(block) for block in encrypted]
-
-messagenum = 0
-for blockind in range(len(decrypted)):
- block = decrypted[blockind]
- messagenum += block * n ** blockind
-
-message = ''
-while messagenum > 0:
- message = chr(messagenum%128) + message
- messagenum = (messagenum-messagenum%128)//128
+messagenum = ru.list2int(decrypted,n,endian="big")
+message = ru.int2string(messagenum)
print(message)