Cryptography and Network Security
Cryptography provides the fundamental building blocks for secure communication and information security. This course introduces the principles and practices of modern cryptography, with an emphasis on two key areas:
- The design and analysis of core cryptographic primitives such as encryption schemes and digital signatures, and
- Their application in securing real-world systems to ensure data confidentiality, integrity, authenticity, and non-repudiation. Topics include classical ciphers, private- and public-key cryptography, block ciphers, hash functions, message authentication codes (MACs), digital signature schemes (e.g., RSA), and security protocols such as TLS and HTTPS.
Course Description
Course Overview
Cryptography is a fundamental building block of communication and information security. This course introduces the principles and practices of modern cryptography, with an emphasis on two key areas:
- The design and analysis of core cryptographic primitives such as encryption schemes and digital signatures, and
- Their application in securing real-world systems to ensure data confidentiality, integrity, authenticity, and non-repudiation. Topics include classical ciphers, private- and public-key cryptography, block ciphers, hash functions, message authentication codes (MACs), digital signature schemes (e.g., RSA), and security protocols such as TLS and HTTPS.
Course Rationale and Organization
This course introduces essential cryptographic primitives along with their associated security models, concrete constructions, and applications in network security. Cryptographic techniques are typically categorized into two main paradigms: private-key (symmetric-key) and public-key (asymmetric-key) cryptography. In real-world applications, these two paradigms are often integrated to provide robust security solutions. The course is structured into four modules:
- Module 1 introduces foundational mathematics, including modular arithmetic, number theory, and basic discrete structures such as groups.
- Module 2 covers private-key primitives such as symmetric-key encryption, block ciphers, hash functions, and message authentication codes (MACs).
- Module 3 explores public-key cryptographic primitives, including public-key encryption, key exchange protocols, and digital signature schemes.
- Module 4 focuses on real-world network security applications, such as SSL/TLS and HTTPS.
- Each module incorporates hands-on coding exercises and practical examples to support an in-depth understanding of theoretical concepts.
Learning Objectives
By the end of this course, students will have the opportunity to:
- Understand the fundamental goals of cryptography, including confidentiality, integrity, authenticity, and non-repudiation.
- Learn the mathematical foundations necessary for cryptographic algorithms, such as modular arithmetic and number theory.
- Identify and explain various cryptographic primitives, including symmetric and asymmetric encryption, hash functions, and digital signatures.
- Analyze how cryptographic techniques are applied to real-world network security protocols.
- Gain hands-on experience implementing secure systems using cryptographic libraries and tools.
- Apply cryptographic principles to design and implement secure communication systems in practical scenarios.
Learning Outcomes
After completing this course, students should be able to:
- Explain the concepts of data confidentiality, authenticity, integrity, and non-repudiation. | Know/Knowledge Outcome
- Identify which cryptographic primitives provide specific security properties. | Comprehend Outcome
- Describe the roles of digital signatures, encryption, and key exchange in real-world communication systems. | Know/Knowledge Outcome
- Apply knowledge of basic cryptographic building blocks to design customized secure systems. | Apply Outcome
- Explain at which layers of the computer network stack security mechanisms should be integrated and how they operate. | Comprehend Outcome
- Design new network security protocols (e.g., a personalized messenger) using existing cryptographic libraries such as OpenSSL. | Apply Outcome
- Develop new network security protocols using custom-built cryptographic primitives. Apply Outcome
Recommended Textbooks
- Cryptography: Theory and Practice by Douglas Robert Stinson and Maura Paterson.
- Handbook of Applied Cryptography by Alfred J Menezes, Paul C van Oorschot and Scott A Vanstone.
- Introduction to Modern Cryptography by Jonathan Katz and Yehuda Lindell.
Additional Readings
Info not available.
Assessment and Grading
- Class Participation: 10%
- This includes class engagement and discipline.
- Quizzes/Class tests: 30%
- The best two out of three quizzes, each worth 15%, will be counted.
- If a student has completed fewer than two quizzes and has a genuine reason for this, then either an additional quiz or a viva will be conducted.
- The exact time for each quiz test will be announced through Moodle one week in advance and will be conducted during class/tutorial hours.
- Mid-Semester: 30%
- Group Project: 20%
- Each group must implement a set of cryptographic primitives and a network security application. Details about group size and the assigned problem will be provided later.
- Viva: 10%
- An individual viva will be conducted to assess overall understanding of the subject.
