Digital Signatures

A digital signature is defined by NIST as `The result ofa cryptographic transformation of data that, when properly implemented, provides a mechanism for verifying origin authentication, data integrity, and signatory non-repudiation'.

A digital signature therefore is a data-dependent bit-pattern, generated by some agent as a function of some data block.

A digital signature algorithm generally accepts the hash of the data block, and the agent's private key, using these it can provide a bit pattern signature.