Everyone needs a little cryptology.

The problem with crypto is that it has a reputation of being very hard and mysterious, as well as very easy to get wrong. While there are aspects of crypto that are connected to quite modern and complex theories – such as number theory, an old and deep branch of mathematics; complexity theory, a new(er) and subtle branch of computer science; and even quantum computation, a quite new wrinkle on a 100 year-old version of physics which is famously counter-intuitive – that are not particularly friendly to the novice, much of the over-all framing of crypto is perfectly easy to comprehend and to use.

We contend, further, that this straightforward comprehension of the important basics of cryptology is most easily acquired by actually working with cryptographic primitives, by doing actual coding projects to implement, or use others’ implementations of, basic cryptographic ideas.

That is the subject of this book. …