COMP0058 Applied 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



Applied Cryptography



Module delivery

1819/A7U/T2/COMP0058 Masters (MEng)

Related deliveries

1819/A7P/T2/COMP0058 Postgraduate

Prior deliveries



Masters (MEng)

FHEQ Level


FHEQ credits



Term 2

Module leader

Courtois, Nicolas


Courtois, Nicolas

Module administrator

Ball, Louisa


Understanding how cryptography and security works in practice, and how it fails. Understanding attacks and vulnerabilities of major industrial standards. Study of real-life applications of encryption, Message Authentication Codes (MACs) and Digital Signatures in areas of telecom, government/identity, buildings/transportation, payment and crypto currency systems. Understanding the maths, the security design principles, the internal structure and important properties of major cryptosystems. Study of selected topics in cryptanalysis. Side­channel attacks and countermeasures.

Learning outcomes

Learning how security problems are solved in the industry, and understanding why specific choices are made. Understanding multiple ways to attack and defend in applied cryptography. Understanding the role of keyed operations, non-linearity, randomness, one-wayness, diffusion, side-channel vulnerabilities, permutations, security reductions, etc in cryptographic engineering. Understanding fraud crime and attacks in payment systems. Study or practical applications of digital signatures in electronic commerce, TLS and crypto currency. Understanding security (attacks and defences) in complex real­life systems and the role of keys, cryptographic algorithms and protocols, tamper resistant hardware and other types of countermeasures. Understanding different types of attacks (e.g. key recovery vs. decryption) and different security definitions.

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:

  • MEng Computer Science (International Programme) (Year 4)
  • MEng Computer Science (Year 4)
  • MEng Mathematical Computation (International Programme) (Year 4)
  • MEng Mathematical Computation (Year 4)


There are no formal prerequisites


The module covers the following:

  • Symmetric cryptography. Historical cryptanalysis since WW2 and Enigma. Block ciphers. Structural high-level and self-similarity attacks. Differential cryptanalysis, linear cryptanalysis, software and algebraic cryptanalysis.
  • Groups, finite fields. Number theory. Attacks on public key cryptosystems. RSA, factoring, discrete logarithms.
  • Public key cryptography. Elliptic Curve crypto and digital signatures.
  • Secure email/messaging, digital signatures, certificates. Electronic commerce, SSL/TLS, Forward Security, attacks on TLS.
  • Smart cards and cryptographic protocols. RFID technology, data and entity authentication, challenge-response. EMV Bank cards and terminals, security, fraud, attacks. E-passports.
  • Hardware Security and Side-channel attacks (timing, SPA, DPA and DFA). Side-channel attack countermeasures.
  • Financial cryptography, payment systems, blockchains and crypto currencies, bitcoin, stealth address techniques, ring signatures, monero, zerocash.

Labs: Exercises and programming with Sage Maths. Optional crypto implementation, crypto wallets and blockchain data exploration labs and projects.


The module is delivered through a combination of lectures, labs and problem­solving sessions with SAGE maths, diverse study/analysis/exploratory/programming activities inside group code-breaking projects, and private study.


This module delivery is assessed as below:



Weight (%)



Moodle quiz (written examination - departmentally managed)




Code breaking competition group project


LSA assessment will be an extended essay.

In order to pass this Module Delivery, students must:

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

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

  • achieve a mark of at least 40.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.