diff options
author | myheroyuki <myheroyuki@outlook.com> | 2022-10-27 22:50:42 +0900 |
---|---|---|
committer | Sybren A. Stüvel <sybren@stuvel.eu> | 2023-04-25 16:03:00 +0200 |
commit | 771a0b06f910a1cf84951d596040d2e1e6d8a00d (patch) | |
tree | ce04958479e658f6b4af4cec8399edd42662983a /rsa/pkcs1.py | |
parent | c0d867079dff6a3e15d13967c05d0f4cf2de11c5 (diff) | |
download | rsa-git-main.tar.gz |
Diffstat (limited to 'rsa/pkcs1.py')
-rw-r--r-- | rsa/pkcs1.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/rsa/pkcs1.py b/rsa/pkcs1.py index bbfdee6..e86ac36 100644 --- a/rsa/pkcs1.py +++ b/rsa/pkcs1.py @@ -311,7 +311,7 @@ def sign_hash(hash_value: bytes, priv_key: key.PrivateKey, hash_method: str) -> padded = _pad_for_signing(cleartext, keylength) payload = transform.bytes2int(padded) - encrypted = priv_key.blinded_encrypt(payload) + encrypted = priv_key.blinded_decrypt(payload) block = transform.int2bytes(encrypted, keylength) return block @@ -355,8 +355,11 @@ def verify(message: bytes, signature: bytes, pub_key: key.PublicKey) -> str: """ keylength = common.byte_size(pub_key.n) + if len(signature) != keylength: + raise VerificationError("Verification failed") + encrypted = transform.bytes2int(signature) - decrypted = core.decrypt_int(encrypted, pub_key.e, pub_key.n) + decrypted = core.encrypt_int(encrypted, pub_key.e, pub_key.n) clearsig = transform.int2bytes(decrypted, keylength) # Get the hash method @@ -367,9 +370,6 @@ def verify(message: bytes, signature: bytes, pub_key: key.PublicKey) -> str: cleartext = HASH_ASN1[method_name] + message_hash expected = _pad_for_signing(cleartext, keylength) - if len(signature) != keylength: - raise VerificationError("Verification failed") - # Compare with the signed one if expected != clearsig: raise VerificationError("Verification failed") |