Surrey University Stag


Module code: COMM045

Module Overview

The module introduces general concepts of asymmetric (a.k.a. public key) cryptography and covers main algorithms and protocols in this field. The module will introduce mathematical foundations that are essential for the functionality and security of asymmetric cryptographic algorithms and then focus on the security definitions and constructions of concrete algorithms for authentication, confidentiality and integrity. The theoretical part of the module will focus on provable security of asymmetric cryptographic algorithms and introduce the concept of cryptographic reductions. In labs students will develop and test their understanding of the material and learn how to implement and use existing algorithms from asymmetric cryptography.

Module provider

Computer Science and Electronic Eng

Module Leader

GRANGER Robert (CS & EE)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 7

JACs code: I100

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 118

Lecture Hours: 2

Laboratory Hours: 10

Guided Learning: 5

Captured Content: 15

Module Availability

Semester 1

Prerequisites / Co-requisites


Module content

  • Number-theory and modular arithmetic (incl. algorithms for gcd, modular inverse and exponentiation computations, prime numbers, operations in cyclic groups, group order, discrete logarithm problem and algorithms, integer factorization problem and algorithms)

  • Public-key / asymmetric encryption (incl. schemes such as RSA, ElGamal, Goldwasser-Micali, Rabin, Paillier, homomorphic properties and provable security of public-key encryption (e.g. IND-CPA and IND-CCA security, RSA problem, Diffie-Hellman problems), key lengths)

  • Digital signatures (incl. schemes such as RSA, ElGamal, Schnorr, DSS, Hash-and-Sign paradigm, one-time signatures (e.g. Lamport, Merkle), provable security of digital signatures (e.g. EUF-CMA security))

  • Key establishment protocols (incl. key transport/distributions, key exchange/agreement protocols, Diffie-Hellman key exchange, key derivation functions, attacks on key establishment protocols, provable security of key establishment protocols (e.g. AKE-security notion), extensions to multi-party key establishment)

  • Advanced cryptographic techniques (e.g. signcryption, Shamir’s secret sharing, identification/zero-knowledge protocols)

Assessment pattern

Assessment type Unit of assessment Weighting
School-timetabled exam/test 1-HOUR OPEN-BOOK CLASS TEST 20

Alternative Assessment


Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate that they have achieved the module's learning outcomes.

The summative assessments for this module consist of: an individual open-book 3-hour invigilated exam with a set of questions that students are required to answer; and an open-book 1-hour invigilated class test with a set of multiple choice or multi-select questions that students are required to answer. These assessments address LO1, LO2 and LO3.

For formative assessment and feedback, each two-hour lab will start with a short quiz which tests understanding of that week's material, with solutions explained. These quizzes will prepare the students for the class test. A set of exercises - including implementation tasks - and solutions will be available prior to the lab to further develop and test understanding, and there will be additional unseen tutorial-style exercises and solutions to improve understanding of and facility with the mathematical foundations and their applications. This addresses LO1, LO2 and LO3.

Module aims

  • The aim of this module is to equip students with background knowledge and practical experience of modern asymmetric cryptographic algorithms and protocols. The module will explain the underlying theory and show practical application of asymmetric cryptographic algorithms

Learning outcomes

Attributes Developed
1 Understand cryptographic principles, challenges and goals that arise in the context of public-key cryptography KC
2 Understand the functionality and security of widely used asymmetric cryptographic algorithms, including their advantages and disadvantages and the underlying mathematical theory KCT
3 Experience practical application of asymmetric cryptographic algorithms KPT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to:

  • Help students understand the nature of public key cryptography, including main principles, challenges and goals

  • Explain most significant concepts and algorithms in asymmetric cryptography

  • Explain security requirements and functionality of asymmetric cryptographic algorithms

  • Enable students to apply existing asymmetric cryptographic algorithms in practice


The learning and teaching methods include:

  • A lecture (2 hours) on the Mathematical Foundations of Cryptography, to help prepare students in their understanding of the mathematical content of the module.

  • Lectures (15 hours) in the form of detailed lecture slides and topic-based captured content videos.

  • Labs (10 hours) consisting of a one-hour flipped learning class with a quiz and answers, highlighting important parts of the lecture and taking questions, and one hour on additional exercises delivered in the manner of a tutorial to improve understanding of and facility with the mathematical foundations and their applications.  

  • Guided learning (5 hours), consisting of recommended further topic videos to watch which go beyond the material covered in the lectures and aim to inspire further independent learning.

  • Independent study (118 hours), with students expected to expend the remaining workload on studying the lectures, reading the textbook chapters, preparing for the labs, working through the additional lab exercises and solutions and preparing for the exam.

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list
Upon accessing the reading list, please search for the module using the module code: COMM045

Other information

Digital Capabilities
Computer Security is vital to all aspects of life and cryptography is at the heart of security. This module this module teaches both theory of asymmetric cryptography and provides practical experience building cryptographic algorithms. These algorithms are a key part of how we communicate sensitive data securely and the knowledge and skills gained from this course will give students the understanding to build  secure systems.

This module provides security, cryptographic theory and software skills that are vital in today’s industry. Students are equipped with theory practical problem-solving skills that allow them to work with and reason about security in computer and networked systems. These skills are highly valuable to employers.  Experts are highly sought-after in the workplace with cybersecurity feeding into all aspects of our modern connected life.

Global and Cultural Skills
Computer Science is a global language and the tools and languages used on this module can be used internationally. This module allows students to develop skills that will allow them to reason about and develop applications with global reach and collaborate with their peers around the world.

Resourcefulness and Resilience
This module involves practical problem-solving skills that teach a student how to reason about security in complex hardware and software systems through combining the foundation theory in asymmetric cryptography taught with practical technologies for systems that are in everyday use.

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Information Security MSc 1 Compulsory A weighted aggregate mark of 50% is required to pass the module
Computer Science MEng 1 Optional A weighted aggregate mark of 50% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2024/5 academic year.