fix decryption test case

This commit is contained in:
NIIBE Yutaka
2012-07-09 09:26:10 +09:00
parent 965dace0a4
commit a5fddc691d
2 changed files with 9 additions and 4 deletions

View File

@@ -1,3 +1,8 @@
2012-07-09 Niibe Yutaka <gniibe@fsij.org>
* test/rsa_keys.py (integer_to_bytes_256): Rename from
integer_to_bytes and it should be exactly 256-byte long.
2012-07-06 Niibe Yutaka <gniibe@fsij.org>
* Version 0.21.

View File

@@ -125,24 +125,24 @@ def compute_signature(keyno, digestinfo):
sig = t2 + t * q
return sig
def integer_to_bytes(i):
def integer_to_bytes_256(i):
s = hex(i)[2:]
s = s.rstrip('L')
if len(s) & 1:
s = '0' + s
return unhexlify(s)
return string.rjust(unhexlify(s), 256, '\x00')
def encrypt(keyno, plaintext):
e = key[keyno][4]
n = key[keyno][7]
m = pkcs1_pad_for_crypt(plaintext)
return '\x00' + integer_to_bytes(pow(m, e, n))
return '\x00' + integer_to_bytes_256(pow(m, e, n))
def encrypt_with_pubkey(pubkey_info, plaintext):
n = int(hexlify(pubkey_info[0]), 16)
e = int(hexlify(pubkey_info[1]), 16)
m = pkcs1_pad_for_crypt(plaintext)
return '\x00' + integer_to_bytes(pow(m, e, n))
return '\x00' + integer_to_bytes_256(pow(m, e, n))
def verify_signature(pubkey_info, digestinfo, sig):
n = int(hexlify(pubkey_info[0]), 16)