Crypto Reading List
This is a small list of books and papers I put together on cryptography
and cryptanalysis.
Mathematically focused is intended to highlight the fact the book does not
shy away from Mathematics. If you want a simple, advanced-maths-free
explanation you might find these books disappointing: please check first to
make sure the level is suitable for you.
Right now this just contains links to books and some online resources.
I might expand it here and there with papers later. If
you want to start looking at papers you can go and look at CryptoBib.
Books
You may be interested in IACR Book Reviews.
Introductory/Overview/All topics
- Introduction to Modern Cryptography by Katz and
Lindell. Gives an overview of cryptographic primitives
and defines topics formally. Top spot for "if you only buy one book".
Covers formal definitions of security, symmetric ciphers,
hashing, message authentication codes and more.
- Serious Cryptography by Jean-Philippe Aumasson
focuses on giving a thorough introduction to the basics of cryptography in
use today. It is designed to be approachable and definitely achieves this.
If you are looking for something more down to earth than Introduction to
Modern Cryptography but still rigorous, this is a strong contender.
- Crypto101, a suggestion from Terry Chia, is a
work-in-progress (but actually quite complete) book aimed at programmers of
all levels to introduce cryptography, and so wins second place on account of
being a very accessible overview. It is a free online PDF at present.
- Handbook of Applied Cryptography: Object to dead tree books, want
PDFs or otherwise want a free resource? This provides an "everything" PoV.
It also includes implementation notes, which isn't often covered in other
texts.
Overview, focusing on public key topics/mathematics
- Mathematics of Public Key Cryptography by Galbraith covers
in great detail and mathematical formalisms the mechanisms behind today's
public key cryptography, as well as the cryptographic notions of semantic
security that apply to these systems. If you want a book to support advanced
study in this area, this is it.
- Cryptography Made Simple Prof. Smart is a leading cryptographer
and expert on secure multiparty computation. This book walks you through
much of modern cryptography leading up to an introduction to SMC. The book
has a bias towards the public key and mathematical sides, but the material
is excellent and it is well worth a read. Also, it has diagrams and latex
in colour!
- Introduction to Mathematical Cryptography does a good job of
covering the mathematics of cryptography and is a good introductory text. It
is missing newer material on lattices and (as pointed out by David Fao, a
well respected crypographer) has some errors.
Nonetheless it is a good text that makes some areas of mathematical
cryptography very approachable.
Block Ciphers
- The Block Cipher Companion Covers the formal
definition for block cipher security, then walks you
through differential and linear cryptanalysis using toy ciphers to build you
up to the real deal.
- The Design of Rijndael: Want to know about the AES design
decisions from the POV of the authors?
Here's the book you need.
- Schneier's Self Study Course on Block Cipher Cryptanalysis:
Applied Cryptography might be dated, but
this list is basically "all the papers to learn about cryptanalysis + target
ciphers like FEAL which were published and
you can break".
- Introduction to Modern Cryptanalysis will give you,
quoting a one-line review in Slack, a feel for differential and linear
cryptanalysis. Focuses on analysis of symmetric block cipher primitives.
Hash Functions
- The Hash Function Blake This book covers the
design of the hash function Blake, also written by some of its authors.
RSA
Your need-to-know on RSA is covered in many introductory texts, as you'd expect
from something that has been around since the 70s. However for a more
specialized view, see:
- Cryptanalysis of RSA and its variants Covers exactly what it
says it covers. More specialized than most introductions to RSA as it also
convers Multi-Prime RSA, Dual-RSA, CRT-RSA and other variants.
Elliptic Curve Cryptography
Almost every Elliptic Curve introduction found outside the general books is
fairly mathematical.
Pairings
Again these topics are fairly mathematical.
- Pairings for Beginners by Craig Costello (SIKE/SIDH, MS
Research) is an excellent summary of the topic that should be accessible
to anyone with some undergraduate mathematics, even if this does not include
algebraic geometry. Highly recommended and will help with approaching other
material.
- Guide to Pairing Based Cryptography is exactly what it sounds
like, a complete guide to pairings, specifically their implementation.
Several well known authors have contributed various chapters to this book,
making it a more or less complete survey for understanding and
implementing pairing based cryptography.
Lattices
There are not many books on this yet to my knowledge. Again these topics are fairly mathematical.
- Chris Peikert's Lattice Survey isn't a book, but
it is the only resource I know explicitly going from "the beginnings" to
Ring-LWE. Necessarily mathematical.
Isogeny
Again these topics are fairly mathematical.
Principles related to isogenies are covered in a number of other texts as well,
particularly Mathematics of Public Key Cryptography
and Silverman (not linked yet).
Cryptanalysis Books
These books focus exclusively on cryptanalysis. Generally a number of other
books also cover cryptanalysis of the schemes they describe, particularly the
Block Cipher Companion and Schneier's Self Study Course.
- Algorithmic Cryptanalysis - I think I'll
summarise this as "one of the world's best cryptographers writes a book on
cryptanalysis". Correspondingly detailed and fairly advanced.