Skip to main content

Unit information: Applied Cryptology (Teaching Unit) in 2020/21

Unit name Applied Cryptology (Teaching Unit)
Unit code COMS30048
Credit points 0
Level of study H/6
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Dr. Page
Open unit status Not open

COMS10016 Imperative and Functional Programming and COMS10017 Object-Oriented Programming and Algorithms I or equivalent.

COMS10014 Mathematics for Computer Science A and COMS10013 Mathematics for Computer Science B or equivalent.

COMS10015 Computer Architecture or equivalent.

COMS20008 Computer Systems A and COMS20012 Computer Systems B or equivalent.

COMS20010 Algorithms II or equivalent.

COMS30023 Cryptology (Teaching Unit) or equivalent.

Software developing using low-level languages (e.g., C and assembly language) and tools.

Number theory (e.g., finite fields).

Cryptography (e.g., primitives such as AES and RSA).

Computer architecture (e.g., properties of instruction execution).

Computer networks (e.g., TCP/IP).


EITHER Undergraduate students in Year 3 must choose Assessment Unit COMS30049 Applied Cryptography

OR M-level students must choose the Masters Level Unit, COMSM0054 Applied Cryptography.

Please note, COMS30048 is the Teaching Unit for Applied Cryptology. Students can take this unit in either their third or fourth year, and must also choose the Assessment Unit for their year group.

School/department Department of Computer Science
Faculty Faculty of Engineering


This unit delivers an introduction to two sub-fields of cryptography, namely applied cryptography and cryptographic engineering. As such, the unit content can be summarised as spanning three core topics:

  1. efficient implementation techniques for standard symmetric and asymmetric cryptographic primitives,
  2. implementation (specifically side-channel and fault injection) attack and mitigation techniques, and
  3. system-level applications of cryptography, e.g., deployment in standard protocols such as TLS.

The aim is to equip students with understanding and skills that enable use (i.e., design, implementation, deployment, and analysis) of cryptographic technologies when addressing real-world (e.g., industrially relevant) problems. By offering an applied, practical perspective on the field of cryptography, it complements, and therefore represents an ideal companion for, other units offering a more theoretical perspective.

Intended learning outcomes

Successful completion of this unit will enable students to:

  1. Understand and use a range of state-of-the-art implementation techniques,
  2. Understand and use a range of state-of-the-art implementation attack and countermeasure techniques,
  3. Reason about the security of a system in an "end to end" manner, i.e., from the theoretical underpinnings to the concrete implementation
  4. Use case-study and practical experience to avoid pitfalls in deployment and configuration of existing systems.

Teaching details

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities supported by drop-in sessions and self-directed exercises.

Assessment Details

100% coursework.

Reading and References

  • Aumasson, Jean-Philippe, Serious Cryptography (No Starch Press, 2017) ISBN: 978-1593278267
  • Ferguson, Niels, Schneier, Bruce and Kohno, Tadayoshi, Cryptography Engineering: Design Principles and Practical Applications (John Wiley & Sons, 2010) ISBN: 978-0470474242
  • Anderson, Ross, Security Engineering: A Guide to Building Dependable Distributed Systems (John Wiley & Sons, 2008) ISBN: 978-8126516674