3.00 Credits
The course is an introduction to cryptography, the study of securing communication and information. This course will cover the mathematical, algorithmic, and historical aspects of classical and modern cryptography. We will also introduce students to personal encryption software as well as programming libraries and computer algebra systems that allow one to perform large computations necessary for cryptographic applications. Topics will include classical and modern symmetric ciphers, public-key cryptography (e.g. RSA), various cryptographic protocols, and any other topics of interest to the instructor and students. All necessary theoretical background will be reviewed, but some background in number theory, abstract algebra, probability, or computer science will be expected.