chapter seven

7 Digital Signatures

 

This chapter covers:

  • Digital signatures: an important tool to scale trust with cryptography.
  • The standards for digital signatures.
  • The pitfalls in using digital signatures.

prerequesites:

  • Chapter 2 on Hash Functions.
  • Chapter 5 on Key Exchanges.
  • Chapter 6 on Asymmetric Encryption.

Let’s recapitulate where we are in this book.

So far, you’ve learned that symmetric cryptographic primitives like authenticated encryption algorithms are useful as well as efficient to provide confidentiality and integrity to your messages. You’ve also learned that they don’t scale well, as they require you to share a symmetric secret with every person you’re talking to. For example, how can your browser manage to share symmetric secrets with every website on the internet? It sounds like an impossible task. The last few chapters have introduced a couple of asymmetric cryptographic primitives that seem to provide a way for two participants to agree on a secret, a secret that can then be used as a symmetric key by our authenticated encryption algorithms. Yet, these cryptographic primitives still don’t solve the real world problem of scalibility. We are now reaching a very interesting point in this book. The cryptographic primitive that you are going to learn in this chapter, cryptographic digital signature, is one of the best answer we have found to that scability problem.

7.1  What is a Digital Signature?

7.2  Security Properties and Considerations

7.3  Digital Signature Standards

7.3.1  RSA signatures with PKCS#1 v1.5 and RSA-PSS

7.3.2  ECDSA + deterministic ECDSA (nonce issues)

7.3.3  EdDSA

7.4  Summary