summaryrefslogtreecommitdiff
path: root/rsa/core.py
diff options
context:
space:
mode:
authorSybren A. Stüvel <sybren@stuvel.eu>2011-07-10 01:35:46 +0200
committerSybren A. Stüvel <sybren@stuvel.eu>2011-07-10 01:35:46 +0200
commit105f430bb8af76990c4c393d0e8b0a7d11429195 (patch)
tree9efb8c0c81298ff3260c865d94082549b2a30384 /rsa/core.py
parentd6e566633ccef85e52164b9d2f09c5ee124a169d (diff)
downloadrsa-git-105f430bb8af76990c4c393d0e8b0a7d11429195.tar.gz
Removed some fluff, rewritten some stuff, broken the lot
Diffstat (limited to 'rsa/core.py')
-rwxr-xr-xrsa/core.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/rsa/core.py b/rsa/core.py
index 8f989df..639cba9 100755
--- a/rsa/core.py
+++ b/rsa/core.py
@@ -17,12 +17,16 @@ def encrypt_int(message, ekey, n):
if not type(message) is types.LongType:
raise TypeError("You must pass a long or int")
- if message < 0 or message > n:
- raise OverflowError("The message is too long")
+ if message < 0:
+ raise ValueError('Only non-negative numbers are supported')
+
+ if message > n:
+ raise OverflowError("The message %i is too long for n=%i" % (message, n))
+ # TODO: reinstate safebit
#Note: Bit exponents start at zero (bit counts start at 1) this is correct
- safebit = rsa.common.bit_size(n) - 2 # compute safe bit (MSB - 1)
- message += (1 << safebit) # add safebit to ensure folding
+ #safebit = rsa.common.bit_size(n) - 2 # compute safe bit (MSB - 1)
+ #message += (1 << safebit) # add safebit to ensure folding
return pow(message, ekey, n)
@@ -32,8 +36,9 @@ def decrypt_int(cyphertext, dkey, n):
message = pow(cyphertext, dkey, n)
- safebit = rsa.common.bit_size(n) - 2 # compute safe bit (MSB - 1)
- message -= (1 << safebit) # remove safebit before decode
+ # TODO: reinstate safebit
+ #safebit = rsa.common.bit_size(n) - 2 # compute safe bit (MSB - 1)
+ #message -= (1 << safebit) # remove safebit before decode
return message