I'm a pure mathematics student(currently in a Msc program) looking to get into cryptography. I imagine most "regular" introductory books on cryptography would avoid being too heavy on mathematical details due to the target audience. So I'd like to ask, if someone is perhaps able to recommend good books that provide an introduction to cryptography for someone rather unfamiliar with it, but having all the neccessary mathematical background to understand full details and justifications of the algorithms etc.

Edit: I'm aware that I can't possibly know every theorem etc. involved, but I think it's safe to assume that I should be able to lookup any such additional details in reasonable time, while going through the book.

  • 1
    $\begingroup$ "I imagine most "regular" introductory books on cryptography would avoid being too heavy on mathematical details due to the target audience" - I don't think this is the case at all. What books have you tried looking at that weren't mathematical enough? $\endgroup$
    – Ella Rose
    Jul 10 '17 at 0:32
  • $\begingroup$ You haven't said a lot about your background. Are you comfortable with abstract algebra and number theory? Either way, you may like An Introduction of Mathematical Cryptography. I particularly like Koblitz's (one of the creators of elliptic curve crypto) Algebraic Aspects of Cryptography. $\endgroup$
    – user47922
    Jul 10 '17 at 1:28
  • $\begingroup$ That's one in few cases where if I could vote to prevent closing a question, I would: the "for a mathematician" part of the question makes it less open-ended than "What should I read to learn about X", our example no-no. And the question led to interesting references. $\endgroup$
    – fgrieu
    Jul 10 '17 at 6:33
  • $\begingroup$ Which parts of cryptography interest you? And what is your goal in learning cryptography? $\endgroup$ Jul 10 '17 at 8:49
  • $\begingroup$ As a beginner I found youtube.com/watch?v=2aHkqB2-46k and the rest of the lectures an excellent resource. $\endgroup$ Jul 10 '17 at 10:35

Reference requests are off-topic here, so your question will likely be closed. Nevertheless, here are three pretty good introductory books that don't skimp on mathematical details. They're all intended for grad students with a good amount of mathematical maturity.

  1. Foundations of Cryptography volume 1, by Goldreich. This is the classic book in what I sometimes think of as "complexity-theoretic crypto", which starts with one-way functions (OWFs) and builds more complex primitives like pseudorandom generators and zero-knowledge proofs from OWFs. Another (soon-to-be-published) book of this type is Pass and shelat's "A Course in Cryptography"; you can google around for the most recent version.
  2. Introduction to Modern Cryptography by Katz and Lindell. This is a newer book that covers what most people consider "applied cryptography" - that is, how do you build an encryption scheme that you would really implement to protect some data. Books in this genre generally start with the one-time pad instead of OWFs. Covers the basics of symmetric- and public-key cryptography well, but does not cover zero-knowledge proofs.
  3. A Graduate Course in Applied Cryptography, by Boneh and Shoup. A draft of a not-yet-complete book on applied cryptography. The finished chapters cover a fairly large subset of what Katz/Lindell does, and some subjects (e.g. constructing PRFs) in more detail. Also has a lot of nice exercises and neat "case studies" on topics like side channels.

Because someone suggested it in a comment: I would avoid more specialty texts that only cover the mathematics of public-key crypto, at least for your first text. This includes Hoffstein et al.'s "...mathematical cryptography" and Koblitz's books. These are good books, but they'll only teach you enough modern cryptography (i.e. security reductions and definitions) to be dangerous. Learn how to do a proof by reduction and understand security definitions before you get into the deep mathematics of public-key cryptography.


In addition to pg1989's answer, it's a good idea to follow the journals in the field. In this case the International Association for Cryptologic Research (IACR) preprint archive: http://eprint.iacr.org/

Look at the titles, read the abstracts. If it looks like it might be comprehensible, read the paper. If not and it looks interesting, save it for later. If not and it looks unrelated to the bits of cryptography you're interested in, ignore it. As you learn more, go back and read the papers you couldn't understand before. (You probably recognize this process, being a grad student, but others reading this might not.)

Quite a lot of information isn't in books. Books take a long time to write, and longer to get published. Academic papers tell you what's happening right now. Many of them aren't that difficult to read once you know the basics, and they're a great source of confusion to ask questions about.


Not the answer you're looking for? Browse other questions tagged or ask your own question.