diff options
Diffstat (limited to 'final/rsa-encrypt.py')
-rw-r--r-- | final/rsa-encrypt.py | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/final/rsa-encrypt.py b/final/rsa-encrypt.py index a15fe9d..aa52509 100644 --- a/final/rsa-encrypt.py +++ b/final/rsa-encrypt.py @@ -1,24 +1,15 @@ -'''p = 29 -q = 17 -n = p*q -tot = (p-1)*(q-1) -e = 3 # Many present strictly for convenience's sake''' +import rsautils as ru + n = int(input('n: ')) e = int(input('e (make sure it\'s relatively prime to p-1 and q-1): ')) message = input('message:\n') messagenum = 0 -for char in message: - messagenum += ord(char) - messagenum *= 128 # Assuming ASCII only characters - -messageblocks = [] -while messagenum > 0: - messageblocks.append(messagenum%n) - messagenum = (messagenum-messagenum%n)//n +messagenum = ru.string2int(message) +messageblocks = ru.int2list(messagenum,n,endian="big") def encrypt_block(blk): return (blk ** e) % n encrypted = [encrypt_block(block) for block in messageblocks] -print(encrypted) +print(ru.int2base64(ru.list2int(encrypted,n))) |