diff options
author | Barry Mead <barrymead@cox.net> | 2010-02-21 17:11:38 -0700 |
---|---|---|
committer | Barry Mead <barrymead@cox.net> | 2010-02-21 17:11:38 -0700 |
commit | f6679448c2fc8d5dd72ff6090f21a1d88d1e19ab (patch) | |
tree | 39ea4dc1fc1d919a42d2105383e8ddac94bffcf2 | |
parent | a7d6ebc72e8e8457864dd543245cf7a6fdcc5341 (diff) | |
download | rsa-f6679448c2fc8d5dd72ff6090f21a1d88d1e19ab.tar.gz |
Fixed n undefined bug in fastrsa after adding bit_size
-rw-r--r-- | rsa/fastrsa.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/rsa/fastrsa.py b/rsa/fastrsa.py index e9adab6..4fd5db6 100644 --- a/rsa/fastrsa.py +++ b/rsa/fastrsa.py @@ -390,15 +390,15 @@ def encrypt_int(message, key): if not type(message) is types.LongType: raise TypeError("You must pass a long or int") - - if message < 0 or message > key['n']: + n = key['n'] #reduce dictionary lookups + if message < 0 or message > n: raise OverflowError("The message is too long") #Note: Bit exponents start at zero (bit counts start at 1) this is correct safebit = bit_size(n) - 2 #safe bit is (MSB - 1) message += (1 << safebit) #add safebit to ensure folding - return pow(message, key['e'], key['n']) + return pow(message, key['e'], n) def verify_int(cyphertext, key): """Decrypts cyphertext using public key 'key', working modulo n""" @@ -408,8 +408,8 @@ def verify_int(cyphertext, key): if not type(cyphertext) is types.LongType: raise TypeError("You must pass a long or int") - - message = pow(cyphertext, key['e'], key['n']) + n = key['n'] #reduce dictionary lookups + message = pow(cyphertext, key['e'], n) #Note: Bit exponents start at zero (bit counts start at 1) this is correct safebit = bit_size(n) - 2 #safe bit is (MSB - 1) @@ -454,7 +454,7 @@ def sign_int(message, key): raise OverflowError("The message is too long") safebit = bit_size(n) - 2 #safe bit is (MSB - 1) - message += (1 << safebit) #add safebit before encrypt + message += (1 << safebit) #add safebit before encrypt #Encrypt in 2 parts, using faster Chinese Remainder Theorem method c1 = pow(message, key['dp'], p) |