Prospectus

nl en

Mathematics for Cryptography

Course
2025-2026

Admission requirements

None.

Description

Have you ever wondered how your passwords stay secure or how secret messages are sent over the internet? This course explores the relationship between elementary number theory and cryptography, requiring no background knowledge in either topic. We will start by covering the necessary mathematics that cryptography builds on, emphasising computation and problem-solving. Every new topic will be accompanied by a programming assignment, and gradually we will introduce more concepts from cryptography. A major project will also be carried out that will allow students to implement a cryptosystem to encrypt messages in R.

Topics include prime numbers, modular arithmetic, greatest common divisors, and public-key encryption methods like Rivest-Shamir-Adleman (RSA). Along the way, students will also develop basic programming skills in Python to experiment with encryption, decryption, and number-theoretic computations. By the end of the course, students will appreciate how simple mathematical ideas shape our digital world and impact everything from cybersecurity to online privacy.

Course Objectives

After successful completion of this course, students are able to:

Knowledge

  • Appreciate mathematics for (the history of) liberal arts and sciences, including its use in everyday activities (e.g. sending a message via Whatsapp).

  • Understand results on prime numbers and their relationship to cryptography.

  • Interpret what various algorithms are doing and understand how they arrive at their output.

Skills

  • Apply cryptographic algorithms to encode real messages by hand and in R.

  • Collaboratively engage with cryptographic algorithms using the learned number-theoretic concepts.

  • Confidently approach practical implementation of algorithms both outside of their studies, but also within more advanced courses such as introduction to programming.

Timetable

Timetables for courses offered at Leiden University College in 2025-2026 will be published on this page of the e-Prospectus.

Mode of instruction

The course involves interactive lectures to discuss mathematical concepts and definitions, and practice interpreting and analyzing real world problems and data. Students are expected to revise theoretical concepts before coming to class. In-class activities will focus on reinforcing this learning and stimulate mathematical reasoning skills. Every lecture will contain an opportunity to practice problems from the last topic a demonstration of a more complicated problem, and a discussion on the theory from the reading. Every lecture will also contain a lab component where students will be introduced to the practical implementation of algorithms in Python.

Assessment Method

  • Participation. 10%

  • Group project: 25%

  • Homework assignments: 25%

  • Final exam: 40%

Reading list

The required textbook is:

  • Cryptography by Simon Rubinstein-Salzedo, available via Leiden here: https://link.springer.com/book/10.1007/978-3-319-94818-8

Students should have R downloaded before beginning the course.

Registration

Courses offered at Leiden University College (LUC) are usually only open to LUC students and LUC exchange students. Leiden University students who participate in one of the university’s Honours tracks or programmes may register for one LUC course, if availability permits. Registration is coordinated by the Education Coordinator, course.administration@luc.leidenuniv.nl.

Contact

TBC

Remarks

-