Coding and Cryptography
| Code | School | Level | Credits | Semesters |
| MATH3052 | School of Mathematical Sciences | 3 | 10 | Autumn China |
- Code
- MATH3052
- School
- School of Mathematical Sciences
- Level
- 3
- Credits
- 10
- Semesters
- Autumn China
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 Honours students from the School of Mathematical Sciences who have successfully completed Part I. Requisites: MATH1028 Analytical and Computational Foundations,MATH1030 Linear Mathematics.
Classes
- One 1-hour workshop each week for 12 weeks
- One 2-hour lecture each week for 12 weeks
Assessment
- 100% Exam 1 (2-hour): 2 hour written examination
Assessed by end of autumn semester
Educational Aims
This course provides an introduction to coding theory in particular to error-correcting codes and their uses and applications. It also provides an introduction 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;