Module code: COMM066

Module Overview

The module introduces general cryptographic concepts, challenges and goals and then focuses on foundational cryptographic primitives and algorithms in the fields of symmetric (a.k.a. private-key) and asymmetric (a.k.a. public-key) cryptography. The module will introduce mathematical foundations that are essential for the functionality and security of cryptographic algorithms and then focus on the security definitions and constructions of concrete algorithms for authentication, confidentiality and integrity. In labs students will develop and test their understanding of the material and learn how to implement and use existing algorithms from symmetric and 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

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

Overall student workload

Independent Learning Hours: 82

Lecture Hours: 22

Laboratory Hours: 20

Guided Learning: 10

Captured Content: 16

Module Availability

Semester 1

Prerequisites / Co-requisites


Module content

  • Introduction, perfect secrecy and its limitations

  • One-way functions and pseudorandomness

  • Private-key / symmetric encryption

  • Collision-resistant hash functions

  • Message authentication codes

  • Modular arithmetic, number theory and group theory

  • Public-key / asymmetric encryption

  • Digital signatures

  • Key establishment protocols 

  • Advanced cryptographic techniques

Assessment pattern

Assessment type Unit of assessment Weighting

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: two 1-hour open-book (within the module's SurreyLearn page) invigilated PC-lab-based class tests with a set of multiple choice or multi-select questions that students are required to answer - one test is on symmetric cryptography and the other is on asymmetric cryptography, which address LO1, LO2 and LO3; and a 3-hour open-book (within the module's SurreyLearn page) invigilated written exam in a PC lab with a set of questions on both symmetric and asymmetric cryptography that students are required to answer.

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 tests. A set of exercises - including implementation tasks - and solutions will be available prior to the lab to further develop and test understanding. These can also be attempted during labs. There will also be additional unseen tutorial-style exercises and solutions to improve understanding of and facility with the mathematical foundations. 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 symmetric and asymmetric cryptographic algorithms, techniques and protocols. The module will explain the underlying theory and show practical application of symmetric and asymmetric cryptographic algorithms.

Learning outcomes

Attributes Developed
001 Understand cryptographic principles, challenges and goals that are relevant for the protection of digital data in the real world CK
002 Understand the functionality and security of widely used symmetric and asymmetric cryptographic algorithms, including their advantages and disadvantages and the underlying mathematical theory CKT
003 Experience practical application of symmetric and 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 cryptography, including the main principles, challenges and goals

  • Explain the most significant concepts and algorithms in cryptography

  • Explain security requirements and functionality of cryptographic algorithms

  • Enable students to apply existing cryptographic algorithms in practice

The learning and teaching methods include:

  • Lectures together with detailed lecture slides.

  • Labs consisting of a weekly formative quiz, exercise sheets as well as a tutorial to further improve understanding of and facility with the material and its applications.

  • Guided learning, 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, with students expected to expend the remaining workload on studying the lectures, reading the textbook chapters, preparing for the labs, working through the lab exercises and solutions and preparing for the assessments.

  • Captured content: the lectures will be recorded so that they can be used for independent study.

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: COMM066

Other information

Digital Capabilities
Computer Security is vital to all aspects of life and cryptography is at the heart of security. This module teaches both the theory of 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 module 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 foundational theory of cryptography taught with practical technologies for systems that are in everyday use.

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Cyber Security with Professional Postgraduate Year MSc 1 Compulsory A weighted aggregate mark of 50% is required to pass the module
Cyber 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 2025/6 academic year.