Skip to main content

Unit information: Advanced Cryptology (Teaching Unit) in 2021/22

Unit name Advanced Cryptology (Teaching Unit)
Unit code COMSM0042
Credit points 0
Level of study M/7
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Martindale
Open unit status Not open

COMS10017 Object Oriented Programming and Algorithms I or equivalent.

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

COMS20010 Algorithms II or equivalent.

COMS30023 Cryptology (Teaching Unit) or equivalent.


Working understanding of algorithms and complexity analysis

  • Understanding Big-O notation
  • Analyze WCET of an algorithm in terms of elementary operations
  • Understanding polynomial running times

Exposure to abstract algebra or number theory

  • Groups, cyclic groups and finite fields
  • Polynomials
  • Linear algebra

A good understanding of (discrete) probability theory

  • General manipulation of probability expressions
  • Manipulation of distributions, random variables

Exposure to basic cryptographic reductions and game-based security definitions


EITHER COMSM0040 Advanced Cryptology (Exam assessment, 10 credits)

OR COMSM0097 Advanced Cryptology (Coursework assessment, 15 credits).

Please note:

COMSM0042 is the Teaching Unit for the Advanced Cryptology option.

Single Honours Computer Science and some Joint Honours students can choose to be assessed by either examination (10 credits, COMSM0040) or coursework (15 credits, COMSM0097 by selecting the appropriate co-requisite assessment unit.

Any other students that are permitted to take the Advanced Cryptology option are assessed by examination (10 credits) and should be enrolled on the co-requisite exam assessment unit (COMSM0040).

School/department Department of Computer Science
Faculty Faculty of Engineering

Description including Unit Aims

This unit builds on the foundations of confidentiality and authenticity set down in COMS30023 Cryptology, and deals with more advanced topics, specific to modern cryptographic research. Topics will range from foundational questions to more practical ones.

A common view of cryptography is that it only focuses on schemes for encryption; this unit aims to introduce an extended remit of advanced techniques and primitives that allow cryptographic solutions to numerous real-world problems.

The syllabus may include aspects of:

  • Foundations and primitives: pseudo-random generators, functions and permutations, hard-core bits; hash function preimage and collision resistance.
  • Post-Quantum Cryptography: lattices, codes and isogenies.
  • Interactive 2 Party Protocols: Security models and applications of commitment schemes and sigma protocols (zero-knowledge).
  • Digital signatures: One-time signatures, signatures based on sigma protocols (Fiat-Shamir heuristic), and blind signatures.
  • Multi-party primitives, protocols, and use cases: Shamir secret sharing, generic multi-party computation; e-cash and e-voting; algorithmic side-channel countermeasures.

Intended Learning Outcomes

After successful completion of this unit, students will be able to:

  • Describe and evaluate complex cryptographic constructions based on simpler primitives, using attacks and security reductions as appropriate.
  • Frame the security needs of real-world applications from a cryptographic perspective.
  • Summarize and put into context the latest scientific advances in the field.

Teaching Information

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

Teaching will take place over Weeks 1-7, with coursework support in weeks 9-11 and for students assessed by examination, consolidation and revision sessions in Weeks 12.

Assessment Information

Examination details:

Exam (100%, 10 credits).


Coursework details:

Coursework (100%, 15 credits) - to be completed during a specific period.


If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. COMSM0042).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the Faculty workload statement relating to this unit for more information.

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. If you have self-certificated your absence from an assessment, you will normally be required to complete it the next time it runs (this is usually in the next assessment period).
The Board of Examiners will take into account any extenuating circumstances and operates within the Regulations and Code of Practice for Taught Programmes.