# Mathematical Cryptography (SP24)

#### Course Info:

• Lectures: Monday, Wednesday, Friday, block 2 (2:10 p.m. - 3:15 p.m.)
• x-period: Thursday, block 2X (1:20 - 2:10 p.m.)
• Dates: 25 March 2024 - 29 May 2024
• Room: 105 Kemeny Hall

#### ORC Description:

Cryptography is the science of secure communication over an insecure channel. This course focuses on understanding how mathematics is used in the design of modern cryptosystems, including both theoretical and algorithmic aspects. Specific topics will vary, but may include: substitution ciphers and statistical inference, the Enigma machine and permutation groups, Diffie-Hellman key exchange and discrete logarithms, RSA and integer factorization, AES and finite fields, elliptic curve cryptography, homomorphic encryption and lattices, and quantum cryptography.

#### Course Description:

We live an information age, with technology increasingly integrated into our daily lives. As a result, the security of our information is of the utmost concern, even as the interconnectedness of the Internet makes our data more vulnerable to attack. The ability to encrypt secrets and to conduct a trusted exchange of digital information, once a subject of interest primarily to governments and the military, is now a matter of necessity for us all.

At the end of the day, the foundation of modern cryptography relies upon the difficulty of solving certain mathematical problems; this course is intended to address them from both a mathematical and algorithmic point of view. We will cover some subset of the following topics: conventional encryption techniques, the Hill cipher, DES and SDES, RSA, the Rijndael cipher, discrete logarithms and the Diffie-Hellman key exchange, and elliptic curve cryptography.

All mathematical objects will be defined, so the essential prerequisite is familiarity with abstract algebra and a healthy mathematical and computational appetite. Some experience with number theory would also be helpful. We will also be writing some simple computer programs in Python.

#### Learning Outcomes:

By the end of this course, you should be able to:

1. Understand how mathematics is used in modern cryptography;
2. Solve mathematical problems: utilize abstraction and think creatively; and
3. Use algorithms to solve computational problems.