Coding and Cryptography
Code | School | Level | Credits | Semesters |
MATH3011 | Mathematical Sciences | 3 | 10 | Autumn UK |
- Code
- MATH3011
- School
- Mathematical Sciences
- Level
- 3
- Credits
- 10
- Semesters
- Autumn UK
Summary
This course consists of two main topics of coding theory: error-correction codes and cryptography.
In digital transmission (as for mobile phones), noise that corrupts the message can be very harmful. The idea of error-correcting codes is to add redundancy to the message so that the receiver can recover the correct message even from a corrupted transmission. The course will concentrate on linear error-correcting codes (such as Hamming codes), where encoding, decoding and error correction can be done efficiently.
In cryptography, the aim is to transmit a message such that an unauthorised person cannot read it. The message is encrypted and decrypted using some method, called a cipher system.
There are two main types of ciphers: private and public key ciphers. We will discuss basic classical mono and polyalphabetic ciphers as more modern public key cipher like, for instance, RSA and the elementary properties from number theory needed for them. Key exchange protocols and digital signatures (DSA) are included.
Target Students
Single and Joint Honours students from the School of Mathematical Sciences who have successfully completed Part I. Available to Natural Sciences students.
Classes
- One 1-hour workshop each week for 11 weeks
- One 2-hour lecture each week for 11 weeks
Assessment
- 100% Exam 1 (2-hour): Written examination
Assessed by end of autumn semester
Educational Aims
Thiscourse provides an introduction to coding theory in particular to error-correcting codes and their uses and applications. It also provides an introduction to to cryptography , including classical mono- and polyalphabetic ciphers as well as modern public key cryptography and digital signatures, their uses and applications.Learning Outcomes
A student who completes this course successfully will be able to:
- L1 - define and explain concepts in the theory of error correcting codes;
- L2 - state and prove results about error correcting codes;
- L3 - construct examples of error correcting codes and apply techniques for error correction;
- L4 - define and explain key concepts in cryptography;
- L5 - explain how some common classical and modern cryptographic systems work;
- L6 - apply simple algorithms to encrypt and decrypt messages;
- L7 - analyze an encrypted message and find the corresponding plain text message and/or encryption key;