Open Workbook of Cryptology: A project-based introduction to crypto in Python
This is a first draft of a free (as in speech, not as in beer) textbook for a one-semester, undergraduate cryptology course. It was used for CIS 491 at Colorado State University Pueblo in the spring semester of 2021.
Tag(s): Cryptography Python
Publication date: 15 May 2021
ISBN-10: n/a
ISBN-13: n/a
Paperback: 92 pages
Views: 13,914
Type: Textbook
Publisher: n/a
License: Creative Commons Attribution-ShareAlike 4.0 International
Post time: 06 Dec 2021 01:00:00
Open Workbook of Cryptology: A project-based introduction to crypto in Python
Jonathan Poritz wrote:The problem with crypto (as we shall call cryptology in this book) 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, particularly if those beginners had a friendly instructor or peers with whom to collaborate.
About The Author(s)
Jonathan A. Poritz (@poritzj) is Associate Professor in the Department of Mathematics and Physics and Data Analyst in the Center for Teaching and Learning, both at Colorado State University – Pueblo, in Pueblo, Colorado, USA.
Jonathan A. Poritz (@poritzj) is Associate Professor in the Department of Mathematics and Physics and Data Analyst in the Center for Teaching and Learning, both at Colorado State University – Pueblo, in Pueblo, Colorado, USA.