SYMMETRIC CRYPTOGRAPHY - 2024/5
Module code: COMM044
The module introduces general cryptographic concepts, challenges and goals and then focuses on foundational cryptographic primitives and algorithms in the field of symmetric (a.k.a. private-key) cryptography. The module will explain security and functionality of symmetric cryptographic algorithms that can be used to provide 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.
Computer Science and Electronic Eng
GARDHAM Daniel (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: 117
Lecture Hours: 2
Laboratory Hours: 10
Guided Learning: 6
Captured Content: 15
Prerequisites / Co-requisites
- 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 type||Unit of assessment||Weighting|
|School-timetabled exam/test||CLASS TEST (1 HR)||20|
|Examination||3-HOUR OPEN-BOOK INVIGILATED EXAM||80|
The assessment strategy is designed to provide students with the opportunity to demonstrate that they have achieved the module learning outcomes.
The summative assessment for this module consists 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.
- 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.
|001||Understand cryptographic principles, challenges and goals that are relevant for the protection of digital data in the real world||KC|
|002||Understand the functionality and security of widely used symmetric cryptographic algorithms, including their advantages and disadvantages||KCT|
|003||Experience practical application of symmetric cryptographic algorithms||KPT|
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) 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 concepts, techniques, and their applications.
- Independent study (125 hours), with students expected to expend the remaining workload on studying the lectures, reading the textbook chapters and watching the further topic videos, 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.
Upon accessing the reading list, please search for the module using the module code: COMM044
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 symmetric 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 symmetric cryptography taught with practical technologies for systems that are in everyday use.
Programmes this module appears in
|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.