## Programme structure

Core modules
Main Project
You will carry out a detailed study into a topic of your choosing in mathematics, analysing information from a range of sources. You will submit a written report of between 8,000 and 16,000 words in length.

In this module you will develop an understanding of the mathematical and security properties of both symmetric key cipher systems and public key cryptography. You will look at the concepts of secure communications and cipher systems, and learn how to use use statistical information and the concept of entropy. You will consider the main properties of Boolean functions, their applications and use in cryptographic algorithms, and the structure of stream ciphers and block ciphers. You will examine how to construct keystream generators, and how to manipulate the concept of perfect secrecy. You will also analyse the concept of public key cryptography, including the details of the RSA and ElGamal cryptosystems.

Channels
In this module you will develop an understanding of the problems of data compression and information transmission in both noiseless and noisy environments. You will look at a range of information-theoretic equalities and inequalities, and data-compression techniques for ergodic as well as memoryless sources. You will consider the proof of the noiseless coding theorem, and define and use the concept of channel capacity of a noisy channel. You will also examine a range of further applications of the theory, such as hash codes or the information-theoretic approach to cryptography and authentication.

Theory of Error-Correcting Codes
In this module you will develop an understanding of the theory of error-correcting codes, employing the methods of elementary enumeration, linear algebra and finite fields. You will learn how to calculate the probability of error or the necessity of retransmission for a binary symmetric channel with given cross-over probability, with and without coding. You will prove and apply various bounds on the number of possible code words in a code of given length and minimal distance, and use Hadamard matrices to construct medium-sized linear codes of certain parameters. You will also consider how to reduce a linear code to standard form, find a parity check matrix, and build standard array and syndrome decoding tables.

Public Key Cryptography
In this module you will develop an understanding of the mathematical ideas that underpin public key cryptography, such as discrete logarithms, lattices and ellipticcurves. You will look at the RSA and Rabin cryptosystems, the hard problems on which their security relies, and attacks on them. You will consider finite fields, elliptic curves, and the discrete logarithm problem. You will examine security notions and attack models relevant for modern theoretical cryptography, such as indistinguishability and adaptive chosen ciphertextattack. You will also gain experience in implementing cryptosystems and cryptanalytic methods using software such as Mathematica.

Optional modules
In addition to these mandatory course units there are a number of optional course units available during your degree studies. The following is a selection of optional course units that are likely to be available. Please note that although the College will keep changes to a minimum, new units may be offered or existing units may be withdrawn, for example, in response to a change in staff. Applicants will be informed if any significant changes need to be made.

Applications of Field Theory
In this module you will develop an understanding of the basic theory of field extensions. You will learn how to classify finite fields and determine the number of irreducible polynomials over a finite field. You will consider the fundamental thorem of Galois theory and how to compute in a finite field. You will also examine the applications of fields.

Quantum Information and Coding
In this module you will develop an understanding of the principles of quantum superposition and quantum measurement. You will look at the many applications of quantum information theory, and learn how to manipulate tensor-product states and use the concept of entanglement. You will consider a range of problems involving one or two quantum bits and how to apply Grover’s search algorithm. You will also examine applications of entanglement such as quantum teleportation or quantum secret key distribution, and analyse Deutsch’s algorithm and its implications for the power of a quantum computer.

Principles of Algorithm Design
In this module you will develop an understanding of the fundamental principles of alogrithm design, including basic data-structures and asymptotic notation. You will look at how algorithms are designed to meet to desired specifications, and consider the importance of algorithmic efficiency. You will also examine fundamental problems such as sorting numbers and multiplying matrices.

In this module you will develop an understanding of the autoregressive conditionally heteroscedastic family of models in time series and the ideas behind the use of the BDS test and the bispectral test for time series. You will consider the partial differential equation for interest rates and its assumptions, and model forward and spot rates. You will consider the validity of various linear and non-linear time series occurring in finance, and apply stochastic calculus to interest rate movements and credit rating. You will also examine how to model the prices for Asian and barrier options.

Combinatorics
In this module you will develop an understanding of the standard techniques and concepts of combinatorics, including methods of counting and the principle of inclusion and exclusion. You will perform simple calculations with generation functions, and look at Ramsey numbers, calculating upper and lower bounds for these. You will consider how to calculate sets by inclusion and exclusion, and examine how to use simple probabilistic tools for solving combinatorial problems.

Computational Number Theory
In this module you will develop an understanding of the major methods used for testing and proving primality and for the factorisation of composite integers. You will look at the mathematical theory that underlies these methods, such as the theory of bionary quadratic forms, elliptic curves, and quadratic number fields. You willl also analayse the complexity of the fundamental number-theoretic algorithms.

Complexity Theory
In this module you will develop an understanding of the different classes of computational complexity. You will look at the formal definition of algorithms and Turing machines, and the concept of computational hardness. You will consider how to deduce cryptographic properties of related algoirthms and protocols, and see how not all language are computatble. You will examine the low-level complexity classes and prove that simple languages exist in each, and use complexity theoretic technqiues as a method of analysing communication services.

Inference
In this module you will develop an understanding of the mathematical theory underlying the main principles and methods of statistics, in particular, parametric estimation and hypotheses testing. You will learn how to formulate statistical problems in rigorous mathematical terms, and how to select and apply appropriate tools of mathematical statistics and advanced probability. You will construct mathematical proofs of some of the main theoretical results of mathematical statistics and consider the asymptotic theory of estimation.

Topology
In this module you will develop an understanding of what it means for knots and links to be equivalent. You will look at the properties of a metric space, and learn how to determine whether a given function defines a metric. You will consider how topological spaces are defined and how to verify the exioms for given examples. You will examine the concepts of subspace, product spaces, quotient spaces, Hausdorff space, homeomorphism, connectedness and compactness, and the notions of Euler characteristic, orientability and how to apply these to the classification of closed surfaces.

Applied Probability
In this module you will develop an understanding of the principal methods of the theory of stochastic processes, and probabilistic methods used to model systems that exhibit random behaviour. You will look at methods of conditioning, conditional expectation, and how to generate functions, and examine the structure and concepts of discrete and continuous time Markov chains with countable state space. You will also examine the structure of diffusion processes.

## Career opportunities

By the end of this programme you will have an advanced knowledge and understanding of all the key mathematical principles and applications that underpin modern cryptography and communications. You will have advanced skills in coding, algebra and number theory, and be able to synthesise and interpret information from multiple sources with insight and critical awareness. You will have learnt to formulate problems clearly, to undertake independent research and to express your technical work and conclusions clearly in writing. You will also have valuable transferable skills such as advanced numeracy and IT skills, time management, adaptability and self-motivation.

Graduates from this programme have gone on to carry out cutting-edge research in the fields of communication theory and cryptography, as well as to successful careers in industries such as: information security, IT consultancy, banking and finance, higher education and telecommunications. Our mathematics postgraduates have taken up roles such as: Principal Information Security Consultant at Abbey National PLC; Senior Manager at Enterprise Risk Services, Deloitte & Touche; Global IT Security Director at Reuters; and Information Security Manager at London Underground.

The campus Careers team will be on hand to offer advice and guidance on your chosen career. The University of London Careers Advisory Service runs regular, tailored sessions for mathematics students, on finding summer internships or vacation employment and getting into employment.

Application period has ended
Notes