Current students

COMP3063 - Introduction to Cryptography

This database contains 2016-17 versions of the syllabuses. For current versions please see here.

CodeCOMP3063 (Also taught as: COMPGA03 and COMPM063)
PrerequisitesSuccessful completion of years 1 and 2 of MEng Mathematical Computation
Taught ByEmiliano De Cristofaro (100%)
AimsFor many centuries the goal of cryptography was the protection of privacy of communications. Computers, digital communication and in particular the internet have brought an abundance of new security goals. Examples are: anonymity, authenticity, non-repudiation, authorized wiretapping (called law enforcement), and traceability. To each need corresponds security mechanisms to achieve it. The goal of the course is to make students familiar with such techniques and some of the foundations of these methods. In particular students will be confronted with a range of security objectives, different levels of security that can be achieved and some available cryptographic techniques that can be used.
Learning OutcomesStudents start learning how to think from an adversarial viewpoint. The goal is to become familiar with basic techniques to protect data in computer and communication environments against several different varieties of fraud.


Classical cyphers
Cryptanalysis of classical ciphers
Probability theory
Perfect security

Block cyphers
Block cipher modes of operation

Private-key encryption
Chosen plaintext attacks
Randomised encryption
Chosen cyphertext attacks

Message authentication codes
Private-key authentication
Pseudorandom functions
CCA-secure private-key encryption

Hash functions
Pre-image resistance
2nd pre-image resistance
Collision freeness

Key distribution

Key distribution centres
Modular arithmetic and group theory
Diffie-Hellman key exchange

Public-key Distribution

EIGamal encryption
Cramer-Shoup encryption
Discrete logarithm problem

Digital Signatures

RSA signatures
RSA-FDH and RSA-PSS signatures
DSA signatures
X.509 certificates
Certification paths

Method of Instruction

Tutor-led class sessions, problem-solving sessions and private study


The course has the following assessment components:

  • Coursework Section (Three or four Exercise Assignments, 35%);
  • Written Examination (2.5 hours, 65%).

To pass this course, students must:

  • Obtain an overall pass mark of 40% for all components combined;
  • Obtain a minimum mark of 30% in each component worth ≥ 30% of the module as a whole.


Katz and Lindell, Introduction to Modern Cryptography. SECOND EDITION. Chapman & Hall/ CRC Press, 2014