MT466           Public key cryptography  (Term 2: Dr S D Galbraith)

Prerequisites:   MT282, MT362

Teaching:         33hr lectures

Assessment:     2hr written examination

Aims

Learning outcomes

On completion of the course, students should:

Content

Background: Integers modulo n; Chinese remainder theorem; finite fields; fast exponentiation; RSA; discrete logarithms; public key cryptography and security; complexity theory; primality testing and certificates.

RSA/Rabin: Key generation; implementation; encryption and signatures with OAEP; the RSA problem and relationship with factoring; square roots modulo a prime; Hastad attack; Wiener attack and continued fractions; smooth numbers; survey of integer factorisation methods such as  method and index calculus.

Discrete logarithms: Diffie-Hellman; El Gamal encryption and signatures; Schnorr and DSA signatures; Diffie-Hellman problem and decision Diffie-Hellman; methods to solve discrete logarithms such as baby-step-giant-step, Pollard rho and lambda, index calculus.

Lattices: Definition of a lattice; CGH cryptosystem; LLL algorithm; lattice attacks on RSA with small public or private exponents.

Elliptic curves: Group law; Hasse bound; group structure; ECC protocols; elliptic curve factorisation and primality certificates; Maurer equivalence of DH and DL.

Indicative Texts

Cryptography: an introduction – Nigel Smart (McGraw Hill)  Library Ref. 001.5436 SMA

Cryptography theory and practice – Doug Stinson (CRC press, 2nd ed.)  Library Ref. 001.5436 STI