# COMPM063 - Introduction to Cryptography

**This database contains 2017-18 versions of the syllabuses.** For current versions please see here.

Code | COMPM063 (also taught as COMP3063 and COMPGA03) |
---|---|

Year | 4 (Masters) |

Prerequisites | N/A |

Term | 1 |

Taught By | Emiliano De Cristofaro (100%) |

Aims | For many centuries the goal of cryptography was the protection of privacy of communications. Computers, digital communication and in particular the internet have brought an abundance of new security goals. Examples are: anonymity, authenticity, non-repudiation, authorized wiretapping (called law enforcement), and traceability. To each need corresponds security mechanisms to achieve it. The goal of the course is to make students familiar with such techniques and some of the foundations of these methods. In particular students will be confronted with a range of security objectives, different levels of security that can be achieved and some available cryptographic techniques that can be used. |

Learning Outcomes | Students start learning how to think from an adversarial viewpoint. The goal is to become familiar with basic techniques to protect data in computer and communication environments against several different varieties of fraud. |

# Content

**Classical cyphers**

Cryptanalysis of classical ciphers

Probability theory

Perfect security**Block cyphers**DES

AES

Block cipher modes of operation

**Private-key encryption**

Chosen plaintext attacks

Randomised encryption

Pseudorandomness

Chosen cyphertext attacks

**Message authentication codes**

Private-key authentication

CBC-MAC

Pseudorandom functions

CCA-secure private-key encryption

**Integrity**

Hash functions

Hash functions

Pre-image resistance

2nd pre-image resistance

Collision freeness

SHA-256

NMAC/HMAC

Key distribution

Key distribution

Key distribution centres

Modular arithmetic and group theory

Diffie-Hellman key exchange

Public-key Distribution

Public-key Distribution

EIGamal encryption

Cramer-Shoup encryption

Discrete logarithm problem

Digital Signatures

Digital Signatures

RSA signatures

RSA-FDH and RSA-PSS signatures

DSA signatures

X.509 certificates

Certification paths

# Method of Instruction

Tutor-led class sessions, problem-solving sessions and private study

# Assessment

The course has the following assessment components:

- Coursework Section (Three or four Exercise Assignments, 35%);
- Written Examination (2.5 hours, 65%).

To pass this course, students must:

- Obtain an overall pass mark of 50% for all components combined;
- Obtain a minimum mark of 40% in each component worth ≥ 30% of the module as a whole.

# Resources

Reading list available via the UCL Library catalogue.