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.
This version uses Python and some standard cryptographic libraries in Python to explore these cryptological ideas. It should be accessible to students with a solid basic comfort level with Python - but could also be used as a way to solidify Python knowledge in more beginning users of that language.
This open book is licensed under a Creative Commons License (CC BY-SA). You can download Open Workbook of Cryptology ebook for free in PDF format (1.0 MB).