Skip to content

This small book offers a deep-dive introduction on cryptography.

License

Notifications You must be signed in to change notification settings

jafaber/An_Introduction_to_Cryptography

 
 

Repository files navigation

An Introduction to Cryptography

Short description

This small book offers a deep-dive introduction on cryptography. Where possible it focuses on conceptual, rather than formal exposition of the material.

Motivation and aims

It is difficult to find many materials that offer a good middle ground in cryptography education.

On the one hand, there are lengthy, formal treatises, really only accessible to those with a strong background in mathematics, logic, or some other formal discipline. On the other hand, there are very high-level introductions that really hide too many of the details for anyone that is at least a bit curious.

This introduction to cryptography seeks to capture the middle ground. While it should be relatively challenging and detailed for anyone new to cryptography, it is hardly the rabbit hole of a typical foundational treatise.

Target audience

From developers to the intellectually curious, this book can be useful for anyone that wants more than a superficial understanding of cryptography. If your aim is to master the field of cryptography, then this book might also be a good starting point.

Reading guidelines

The book contains four chapters: "What is Cryptography?" (Chapter 1), "Mathematical Foundations of Cryptography" (Chapter 2), "Symmetric Cryptography" (Chapter 3), and "Asymmetric Cryptograpy" (Chapter 4).

Unless you have a strong background in mathematics, number theory is probably the most difficult topic in this book. I offer an overview of number theory in the last section of Chapter 2, and it also appears in the exposition of the RSA cryptosystem in Chapter 4.

If you are really struggling with the details in these parts of the book, I recommend you settle for a high-level reading of them the first time around.

Acknowledgements

The most influential book in shaping this overview has been Jonathan Katz and Yehuda Lindell’s Introduction to Modern Cryptography, CRC Press (Boca Raton, FL), 2015.

The main additional sources that have been helpful in creating the overview in this book are Simon Singh, The Code Book, Fourth Estate (London, 1999); Christof Paar and Jan Pelzl, Understanding Cryptography, Springer (Heidelberg, 2010) and a course based on the book by Paar called “Introduction to Cryptography” (available at https://www.youtube.com/channel/UC1usFRN4LCMcfIV7UjHNuQg); and Bruce Schneier, Applied Cryptography, 2nd edn, 2015 (Indianapolis, IN: John Wiley & Sons).

I will only cite very specific information and results I take from this sources, but want to acknowledge my general indebtedness to them here.

For those readers who wish to seek out more advanced knowledge on cryptography after this introduction, I highly recommend Katz and Lindell’s book. Katz also has a Coursera course called “Cryptography” which is based on the book. It is somewhat more accesible. For anyone that wants to learn more at a beginner level, I highly recommend Singh’s entertaining book.

Contributions

Please have a look at the contributions file in the repository for some guidelines on how to support the project.

About

This small book offers a deep-dive introduction on cryptography.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published