This text was written for an intensive term course at the University of Redlands (Math 205: Mathematical Cryptology taught in a four week May term). It is an introduction to both mathematical topics in cryptology and the ideas of mathematical conjecture and proof at a level appropriate for first or second year undergraduate math majors or minors. It is designed for an active learning and discovery based approach. Many of the important concepts in this course are developed in guided investigations and homework exercises. Significant time should be devoted to working through the investigations and exercises!
This book features many interactive Sage cells. Sage (or Sagemath) is a mathematical software package based on the Python language. Sage cells are embedded in the textbook, and no other access to Sage is required, but if you are interested you may also use cloud/internet versions at https://sagecell.sagemath.org/ or https://cocalc.com, or download your own copy of Sage at http://www.sagemath.org/. The interactive Sage cells require no previous knowledge of Sage or Python, but some exercises and investigations involve explaining Sage code and eventually writing simple programs in Sage.
Each homework exercise set corresponds to material covered in one three-hour class session in the intensive term format. (Roughly a week's worth of material in a standard semester.) Homework exercises are separated into computational and writing based problems. Most of the computational homework exercises are also available as WeBWorK exercises. These may appear in a later version of the book, but are currently available by request.