def test_sign_verify_sha512(): """Test SHA-512 sign and verify the message. """ (pub, priv) = adafruit_rsa.newkeys(752, log_level="DEBUG") msg = "red apple" signature = adafruit_rsa.sign(msg, priv, "SHA-512") adafruit_rsa.verify(msg, signature, pub)
def test_sign_verify_fail(): """Check for adafruit_rsa.pkcs1.VerificationError on a modified message (invalid signature). """ # Generate general purpose keys (pub, priv) = adafruit_rsa.newkeys(256, log_level="DEBUG") msg = "red apple" signature = adafruit_rsa.sign(msg, priv, "SHA-512") msg = "blue apple" try: adafruit_rsa.verify(msg, signature, pub) except adafruit_rsa.pkcs1.VerificationError: # Expected error pass
import adafruit_rsa # Generate a keypair # # Supported Hash method Suggested minimum key size (bits) # SHA-256 496 # SHA-384 624 # SHA-512 752 # (public_key, private_key) = adafruit_rsa.newkeys(496) # Create a new secret message message = 'Meet me at 6pm' # Hash the message using SHA-224 hash_method = "SHA-256" signature = adafruit_rsa.sign(message, private_key, hash_method) # Verify Message Signature if adafruit_rsa.verify(message, signature, public_key) != hash_method: raise ValueError( "Verification failed - signature does not match secret message sent!")