Module overview
This module covers the mathematics, techniques, and applications of modern cryptography. We will look at the history of code making and code breaking, and draw lessons for the future from the mistakes and successes of the past. We will also give a gentle introduction to the mathematics underlying modern cryptosystems.
Linked modules
Pre-requisites: (ELEC1201 and MATH2047) OR (COMP1202 AND COMP2210) OR ELEC6259
Aims and Objectives
Learning Outcomes
Knowledge and Understanding
Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:
- The historic struggle between code-makers and code-breakers
- The broad categories of codes and ciphers, and appropriate uses for each
Transferable and Generic Skills
Having successfully completed this module you will be able to:
- Use graduate-level literature to investigate areas of mathematics previously unfamiliar to you
Subject Specific Intellectual and Research Skills
Having successfully completed this module you will be able to:
- Perform simple mathematics appropriate to public-key encryption, and to cryptosystems based on polynomials over the binary numbers
Subject Specific Practical Skills
Having successfully completed this module you will be able to:
- Attack classical ciphers such as Vigenère, and LFSR-based stream ciphers
- Select appropriate ciphers, cipher modes, and protocols for simple applications
Syllabus
Cryptography background
- Vocabulary
- History
- Steganography
- Simple codebreaking
- Information: confusion and diffusion, entropy
- One-time pads and their failures (Venona).
Mathematical background
- Finite Abelian Groups
- Finite Fields.
- Groups based on integer multiplication
- Discrete logarithms
- Groups based on elliptic curve
Public and private key cryptography, shared secrets
Public key cryptosystems
- RSA, ElGamal
- Authentication
- Signatures
- Deniability
- Identity-based cryptography
Private key cryptosystems
Stream ciphers: LFSR, RC4, and later.
Block ciphers: Feistel, Rijndael, and later
Cryptographic modes: ECB, CBC, GCM.
Cryptographic protocols, including TLS.
“Random numbers” and their weaknesses
Elementary cryptanalysis
Weaknesses in implementations
Hardware
Quantum cryptography
Learning and Teaching
Type | Hours |
---|---|
Follow-up work | 18 |
Lecture | 36 |
Preparation for scheduled sessions | 18 |
Revision | 10 |
Completion of assessment task | 12 |
Wider reading or practice | 50 |
Tutorial | 6 |
Total study time | 150 |
Resources & Reading list
Textbooks
Bruce Schneier (1995). Applied Cryptography: Protocols, Algorithms and Source Code in C. Wiley.
David Kahn (1997). The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet. Sphere books.
Assessment
Summative
This is how we’ll formally assess what you have learned in this module.
Method | Percentage contribution |
---|---|
Examination | 80% |
Cryptanalysis Investigation | 20% |
Referral
This is how we’ll assess you if you don’t meet the criteria to pass this module.
Method | Percentage contribution |
---|---|
Examination | 100% |
Repeat
An internal repeat is where you take all of your modules again, including any you passed. An external repeat is where you only re-take the modules you failed.
Method | Percentage contribution |
---|---|
Examination | 100% |
Repeat Information
Repeat type: Internal & External