Digital signature mechanisms can be used to provide services such as entity authentication, data origin authentication, non-repudiation, and integrity of data. A digital signature mechanism satisfies the following requirements:
- Given the verification key but not the signature key it shall be computationally infeasible to produce a valid signature for any message
- Given the signatures produced by a signer, it shall be computationally infeasible to produce a valid signature on a new message or to recover the signature key
- It shall be computationally infeasible, even for the signer, to find two different messages with the same signature.