Skip to main content


Module title:Cryptography
Module codeMTH3026
Module lecturers:Dr Gihan Marasingha
Module credits:15

Cryptography is the mathematical art and science of maintaining information security. In this module, you will learn practical algorithms for encrypting plain messages into secret messages. These algorithms ranges from the simple ciphers used in ancient Rome to the sophisticated modern ciphers that secure worldwide banking transactions and diplomatic communications.

You will study two broad classes of cryptosystems: symmetric and asymmetric. Modern symmetric ciphers such as AES (the Advanced Encryption Standard) have their mathematical basis in linear algebra and field theory, whereas asymmetric ciphers such as RSA and ElGamal are founded on number theory and group theory.

Knowing how to crack asymmetric cryptosystems requires developing methods for factorising large numbers and testing numbers for primality. These methods are at the heart of modern attempts to break secret codes.

The module concludes with an introduction to elliptic curve cryptography, a topic with connections to Algebraic Curves (MTHM029 ).

You will be given a brief introduction to the computer programming language Python in the particular context of solving cryptographic problems.

Prerequisite module: MTH3004 .  

Please note that all modules are subject to change, please get in touch if you have any questions about this module.