Codes and Cryptography

Codes and Cryptography is split into three main subjects: Information theory, the theory of error-correcting codes and cryptography. In practical terms this is deals with how to store information in as small amount of space as possible, how to transmit information which may be subjected to noise and how to transmit information secretly. Mathematically, the tools used come from probability, linear algebra, combinatorics, geometry and number theory.

The practical side of information theory is seen everyday, when we compress data or use of jpeg file, for example. The idea is that we can make use of patterns in the data to store it in a more efficient way than simply storing the data as it is. Error-correcting codes also form a part of our everyday life. For example, mobile technology like 5G networks use low density parity check codes (LDPC) codes. These codes have a rich history and we study the origins to the most recently implemented codes in the course. More recently, error-correcting codes have played a crucial part in the development of quantum technologies and this also forms part of the course. Cryptography is an essential component of communication when the data involved is of a sensitive nature. This part of the course also involves cryptographic protocols which deal with networks where some parties may be trusted more than others and how sensitive information and responsibilities should be best shared amongst the participants of a network.

Course guide