5 Prime field elliptic curve digital signatures explained
This chapter covers
- Digital signature creation using a private key
- Digital signature verification using a public key
- Schnorr algorithm
- The NIST ECDSA algorithm
In this chapter, I’ll describe two algorithms used for digital signatures. A digital signature creates proof of authorship using mathematics. A person’s private key is used along with a hash of a document to create a signature. The public key can then be used with the local hash of the same document to verify the signature. The connection between a person and their keys can be checked with key exchange methods or certificates in a database. Here we assume that a private key, public key pair only applies to one person, and their signature can be verified or rejected depending on whether they actually digitally signed a document.
A digital signature is usually attached to a digital document as part of the same file. The file header explains where the different parts of a document reside within the file. A way to find the public key for the signer should also be in the file. If the public key is attached to the file, you would still have to verify that the public key was real and not faked. This is where security becomes an independent issue from cryptography, and it is important to get it right in real-world applications.
Two methods of digital signature will be discussed in detail here:
- Schnorr signature
- NIST elliptic curve digital signature algorithm (ECDSA)