Cryptography
Code | School | Level | Credits | Semesters |
COMP3077 | Computer Science | 3 | 10 | Spring UK |
- Code
- COMP3077
- School
- Computer Science
- Level
- 3
- Credits
- 10
- Semesters
- Spring UK
Summary
This course covers the basic theory and practice of cryptographic techniques commonly used in computer security. You will learn the theory and mathematics behind commonly used algorithms, and how cryptographic primitives are used to build modern, secure systems.
Topics will include both private and public key encryption schemes, common algorithms and cryptanalysis, key exchange, hash functions, and elliptic curve cryptography. Important applications of these techniques such as cryptographic protocols, digital signatures and Public Key Infrastructure will also be covered.
Students will learn how to evaluate the strength of algorithms, make informed decisions on their selection, and how to make use of cryptographic techniques in practice.
Target Students
Available to Level 3 and 4 students in the School of Computer Science. This module is part of the Operating Systems and Networks theme in the School of Computer Science.
Classes
- One 2-hour practicum each week for 8 weeks
- Two 1-hour lectures each week for 12 weeks
Lectures will cover the core material including historic and modern cryptography, and the mathematical techniques that drive these approaches. Lectures will also cover where and how these techniques are applied in modern systems. Practical labs will involve instruction and programming experience of building or utilising cryptographic primitives and protocols.
Assessment
- 40% Coursework: Programming-based assignment involving implementation or use of one or more cryptographic primitive, and a short report.
- 60% Exam (1-hour): Written exam
Assessed by end of spring semester
Educational Aims
To develop an understanding of the common algorithms and techniques underpinning cryptography.To understand how symmetric ciphers are designed and used to secure communication.To understand the theory and application of public-key cryptography, including the mathematics that drives it.To understand how other cryptographic primitives such as hash functions and random numbers play a role within secure systems.Learning Outcomes
Knowledge and Understanding
- Knowledge of the mechanisms, strengths and weaknesses of historic and modern cryptographic techniques.
- An understanding of the mathematics behind the implementation of modern algorithms.
Intellectual Skills
- The ability to understand complex ideas and relate them to specific situations.
- The ability to identify both capabilities and limitations of a cryptographic technique.
Professional Skills
- The ability to implement selected cryptographic primitives, and apply existing cryptographic algorithms within real-world applications.
- The ability to evaluate available machine learning models and learning algorithms and select those appropriate to a given task.
Transferable Skills
- The ability to address real problems and assess the value of their proposed solutions.
- To communicate effectively in writing (reports, proposals, etc.).