Resources on cryptography

I’ve put together a few of my favorite resources on cryptography.

My general recommendation is to watch lecture videos. Academic papers and textbooks can be quite dense, but authors clear things up in their PowerPoint presentations and videos. I’ve included links to some of my favorite talks but I also list some courses and textbooks.

These resources are about the math and theory behind cryptography and don’t address implementation.

Fundamental Cryptography

Here are some resources on foundational cryptography. This category includes private and public key encryption, block and stream ciphers, and digital signatures.

Dan Boneh, a cryptographer at Stanford, has put his entire introductory cryptography course online for free. He covers everything from block ciphers to public key encryption. Everything is on Coursera but you can watch the videos for free.

There are lots of good introductory textbooks out there. This one is An Introduction to Cryptography by Mohamed Barakat, Christian Eder, and Timo Hanke.

A great textbook is Introduction to Modern Cryptography by Mihir Bellare and Phillip Rogaway. It is formal, but it provides a strong foundation.

Advanced Cryptography

My casual definition: if it is hard to find a lot of information about it in a textbook, it’s advanced cryptography. 

Some other casual definitions:

  •  Homomorphic encryption: what if we could do math on ciphertext?
  •  Multi-party computation (MPC): what if we wanted to work together but didn’t trust each other enough to share our secrets?
  •  Oblivious RAM (ORAM): can we hide what indices are being accessed by a client on a remote server?
  •  Differential privacy (DP): what if we could calculate aggregate statistics from a database without revealing the private information of any one person?
  • Order-revealing encryption (ORE): what if we could encrypt in such a way that the order of two plaintexts can be computed from the ciphertexts?

All your advanced cryptography in a lecture series! These are part of a cryptography boot camp put together by Berkeley in 2015. The advantage of these videos is that they are taught by real heavy hitting cryptographers. I recommend checking out the videos on fully homomorphic encryption, secure multiparty computation, oblivious RAM, and differential privacy.

Mayank Varia gave a great, accessible talk on a survey of multiparty computation approaches at the Differential Privacy Meets Multi-Party Computation (DPMPC) Workshop in 2018. I highly recommend it.

At the Encrypted Search workshop at Brown (2019), David Wu gave a great overview of order-revealing encryption.