Aims:

Cryptography is the practice and study of techniques for secure communication in the presence of adversarial entities. For many centuries the goal of cryptography was the protection of privacy of communications. However, computers, digital communication and in particular the Internet have brought an abundance of new security objectives such as anonymity, authenticity, non-repudiation, authorized wiretapping (called law enforcement), or traceability. These developments have turned cryptography into an indispensable tool to protect the information in computing systems and it is utilized nowadays by billions of people on a daily basis to safeguard their data at rest and in transit.

The goal of this module is to make students familiar with the basic paradigms and principles of modern cryptography. In particular, students will be confronted with a range of security objectives, different levels of security that can be achieved, and some of the available cryptographic techniques that can be used to achieve these goals.Learning outcomes:

On successful completion of the module, a student will be able to:

Model security precisely and formally in terms of adversarial objective and system access.
	Explain and reason about basic cryptographic tools to protect and authenticate data.
	Suggest security parameters that protect against standard attacks.
	Read scientific articles and international standards in the field of cryptography.
Content:

Classical ciphers:

Cryptanalysis of classical ciphers.
	Probability theory.
	Perfect security; Block ciphers.
	DES.
	AES.
	Block cipher modes of operation.
Private-key encryption:

Chosen plaintext attacks.
	Randomised encryption.
	Pseudorandomness.
	Chosen ciphertext attacks.
Message authentication codes:

Private-key authentication.
	CBC-MAC.
	Pseudorandom functions.
	CCA-secure private-key encryption.
Hash functions:

Integrity.
	Pre-image resistance.
	Collision-resistance.
	SHA-256.
	NMAC/HMAC.
Key distribution:

Key distribution centres.
	Modular arithmetic and group theory.
	Diffie-Hellman key exchange.
Public-key distribution:

EIGamal encryption.
	Cramer-Shoup encryption.
	Discrete logarithm problem.
Digital signatures:

RSA signatures.
	RSA-FDH and RSA-PSS signatures.
	DSA signatures.
	X.509 certificates.
	Certification paths.
Requisites:

To be eligible to select the undergraduate (FHEQ level 6) delivery of this module as optional or elective, a student must be registered on a programme and year of study for which it is a formally available.

To be eligible to select the taught postgraduate (FHEQ level 7) delivery of this module as optional or elective, a student must: (1) be registered on a programme and year of study for which it is a formally available; and (2) have successfully completed a module in mathematics or probability theory at FHEQ level 6 or higher.

The module is theoretically and mathematically demanding.