Module code: COMM044

Module Overview

The module introduces general cryptographic concepts, challenges and goals and then focuses on foundational cryptographic primitives and algorithms in the field of symmetric (aka. private-key) cryptography. The module will explain security and functionality of symmetric cryptographic algorithms that can be used to protect authenticity, confidentiality and integrity of digital data. The theoretical part of the module will focus on the functionality and the security properties of corresponding algorithms. In labs students will learn how to implement and use existing algorithms from symmetric cryptography.

Module provider

Computer Science

Module Leader

MANULIS Mark (Computer Sci)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 7

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

Overall student workload

Lecture Hours: 14

Laboratory Hours: 10

Module Availability

Semester 1

Prerequisites / Co-requisites


Module content

  • Introduction and historical ciphers (incl. transposition/substitution ciphers, methods for breaking ciphers (e.g. frequency analysis, period estimation), Kerckhoffs‘ principle, Cryptool)

  • Perfect secrecy and its limitations (incl. One Time Pad, Shannon’s theorem, statistical secrecy, computational secrecy and probabilistic polynomial-time Turing machines)

  • One-way functions and pseudorandomness (incl. pseudorandom generators, one-way functions/permutations, hard-core predicates, pseudorandomness expansion)

  • Private-key / symmetric encryption (incl. pseudorandom permutation, block ciphers, Feistel networks, operation modes for block ciphers, confusion/diffusion paradigm, substitution/permutation networks, constructions of DES incl. attacks, 3DES, AES, provable security of private-key encryption schemes (e.g. IND-CPA security))

  • Collision-resistant hash functions (incl. weaker notions of security for hash functions, birthday paradox, Merkle-Damgard transformation, constructions from block ciphers, compression functions, SHA family of hash functions, random oracle methodology)

  • Message authentication codes (incl. CBC-MAC, constructions of NMAC/HMAC, provable security of MACs (e.g. EUF-CMA security), application to IND-CCA security and authenticated encryption, MACs in multi-party setting, information-theoretic MACs)

Assessment pattern

Assessment type Unit of assessment Weighting
School-timetabled exam/test IN-SEMESTER TEST (INDIVIDUAL) (1 HOUR) 20

Alternative Assessment


Assessment Strategy

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

Thus, the summative assessment for this module consists of:

·         An individual in-semester test with a set of questions that students are required to answer.

This addresses LO1 and LO2.

·         An individual coursework with a set of theoretical and practical tasks.

This addresses LO1, LO2 and LO3.


Formative assessment and feedback

Lecture slides are used extensively in the lectures with each lecture consisting of a number of slides explaining the theory and showing the examples. Solutions to lab exercises are explained during the lab session and provided to the students.

Module aims

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

Learning outcomes

Attributes Developed
1 Understand cryptographic principles, challenges and goals that are relevant for the protection of digital data in the real world KC
2 Understand the functionality and security of widely used symmetric cryptographic algorithms, inlcuding their advantages and disadvantages KCT
3 Experience practical application of symmetric 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 main principles, challenges and goals

  • Explain most significant concepts and algorithms in symmetric cryptography

  • Explain security requirements and functionality of symmetric cryptographic algorithms

  • Enable students to apply existing symmetric cryptographic algorithms in practice


The learning and teaching methods include:

  • Lectures (15 hours) using detailed lecture slides to gauge the students’ understanding

  • Labs (10 hours) using exercise sheets and their solutions.

Students will be expected to distribute the remaining workload on self-study, preparation for lectures and labs, preparation for the in-semester test and submission of the coursework.

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

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

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 2019/0 academic year.