COMP0025 Introduction to Cryptography

This database contains the 2018-19 versions of syllabuses.

Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).

Academic session



Introduction to Cryptography



Module delivery

1819/A6U/T1/COMP0025 Undergraduate

Related deliveries

1819/A7U/T1/COMP0025 Masters (MEng)

1819/A7P/T1/COMP0025 Postgraduate

Prior deliveries




FHEQ Level


FHEQ credits



Term 1

Module leader

Groth, Jens


Groth, Jens

Module administrator

Ball, Louisa


For 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 outcomes

On successful completion of the module, a student will be able to:

  1. Model security precisely and formally in terms of adversarial objective and system access
  2. Explain and reason about basic cryptographic tools to protect and authenticate data
  3. Suggest security parameters that protect against standard attacks
  4. Read scientific articles and international standards in the field of cryptography

Availability and prerequisites

This module delivery is available for selection on the below-listed programmes. The relevant programme structure will specify whether the module is core, optional, or elective.

In order to be eligible to select this module as optional or elective, where available, students must meet all prerequisite conditions to the satisfaction of the module leader. Places for students taking the module as optional or elective are limited and will be allocated according to the department’s module selection policy.

Programmes on which available:

  • BSc Computer Science (Year 3)
  • MEng Computer Science (Year 3)
  • MEng Mathematical Computation (Year 3)


In order to be eligible to select this module, students must have:

  • passed BSc/ MEng Computer Science (Years 1 and 2) at UCL; or
  • passed MEng Mathematical Computation (Years 1 and 2) at UCL

The module is theoretically and mathematically demanding.


Classical ciphers

  • Cryptanalysis of classical ciphers
  • Probability theory
  • Perfect security

Block ciphers

  • DES
  • AES
  • Block cipher modes of operation

Private-key encryption

  • Chosen plaintext attacks
  • Randomised encryption
  • Pseudorandomness
  • Chosen ciphertext attacks

Message authentication codes

  • Private-key authentication
  • Pseudorandom functions
  • CCA-secure private-key encryption

Hash functions

  • Integrity
  • Pre-image resistance
  • Collision-resistance
  • SHA-256

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
  • 509 certificates
  • Certification paths

An indicative reading list is available via


The module is delivered through a combination of lectures, problem-solving sessions, and self-directed learning.


This module delivery is assessed as below:



Weight (%)



Written examination (2 hrs 30mins)




Exercise assignments



In order to pass this Module Delivery, students must:

  • achieve an overall weighted Module mark of at least 40.00%;

AND, when taken as part of BSc Computer Science; MEng Computer Science, and MEng Mathematical Computation:

  • achieve a mark of at least 30.00% in any Components of assessment weighed ≥ 30% of the module.

Where a Component comprises multiple Assessment Tasks, the minimum mark applies to the overall component.