Prerequisites: MT282,
MT362
Teaching: 33hr
lectures
Assessment: 2hr written
examination
On completion of the course,
students should:
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.
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