Home Admissions Students Careers Research Business People Help
Text size A A A A A

| STUDENTS > Introduction to Cryptography |

Introduction to Cryptography

Note: Whilst every effort is made to keep the syllabus and assessment records correct for this course, the precise details must be checked with the lecturer(s).


Code: GA03
Year:MSc
Prerequisites:Maths refresher
Term: 1
Taught By: Jens Groth (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 the wide range of security objectives, the different levels of security that can be achieved and some available tools. Students will learn about different types of cryptosystems, such as conventional cryptography, symmetric and asymmetric cryptography, and public key.
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 cyphersClassical cyphers
Cryptanalysis of classical ciphers
Perfect security
Shannon entropy
Block cyphersDES
AES
Block cipher modes of operation
Private-key encryptionFormal modes of security
Chosen plaintext attacks
Randomised encryption
Pseudorandomness
Chosen cyphertext attacks
Message authentication codesPrivate-key authentication
CBC-MAC
Pseudorandom functions
CCA-secure private-key encryption
Hash functionsIntegrity
Pre-image resistance
2nd pre-image resistance
Collision freeness
SHA-256
NMAC/HMAC
Key distributionKey distribution centres
Diffie-Hellman key exchange
Discrete logarithms
Public-key DistributionEIGamal encryption
Cramer-Shoup encryption
RSA encyption
RSA-OAEP
Hybrid encryption
Factorization algorithms
Digital SignaturesRSA signatures
RSA-FDH and RSA-PSS signatures
DSA signatures
Generating random primes
Entity authentication Zero-knowledge proofsIdentification
Passwords
Zero-knowledge proofs of knowledge
Zero-knowledge proofs for NP
Secret Sharing Threshold EncryptionSecret sharing
Threshold encryption
Wrap-up

Method of Instruction:

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

Assessment:

The course has the following assessment components:

  • Coursework Section (1 piece, 25%)
  • Written Examination (2.5 hours hours, 75%)
To pass this course, students must:
  • Obtain an average of at least 50% when the coursework and exam components of a course are weighted together
The examination rubric is:

Resources:

Fundamentals of Computer Security by Josef Pieprzyk, Thomas Hardjono, Jennifer Seberry.

A Computational Introduction to Number Theory and Algebra by Victor Shoup

This page last modified: 3 August, 2009 by Nicola Jarvis

Computer Science Department - University College London - Gower Street - London - WC1E 6BT - Telephone: +44 (0)20 7679 7214 - Copyright © 1999-2007 UCL


Search by Google
Link to UCL home page