Signing Function: a way to sign a message (or message digest)
Verification Function: a way to verify that a signed message is valid