A signature is a way of proving the identity of someone. Ideally signatures would be unforgeable and this can be achieved digitally using public key cryptography. This provides proof that the actor who signs a transaction really is the actor they claimed to be.

A core cryptographic primitive is the ability of an actor to sign data that anyone can then verify was indeed signed by the specific actor. This is done using public key cryptography which is a 3 step algorithm:

  1. Key creation
  2. Encryption/signing
  3. Decryption/validation

The key creation step creates two strings: A public and a private key that are linked algorithmically to give the signing and validation properties. A signature is formed by inputting a public key, a private key and a piece of data.

Signature = f(public key, private key, data)
Validation = f(signature,data)
Signature is valid if: validation = public key

Leave a Reply