School of Computer Science

Module 06-20008 (2017)


Level 4/M

David Galindo Mark Ryan Semester 1 10 credits
Co-ordinator: David Galindo
Reviewer: David Oswald

The Module Description is a strict subset of this Syllabus Page.


The module will present the fundamentals of cryptography, as well as its applications and issues of how cryptography is used in practice.


The aims of this module are to:

  • introduce the basic terminology, concepts, and standards of cryptography
  • familiarise students with the main approaches, algorithms, and protocols in modern cryptography
  • explain the principles and underlying mathematical theory of today's cryptographic algorithms
  • provide an understanding of potential weaknesses and problems with ciphers and cryptographic protocols
  • raise awareness of some of the legal and socio-ethical issues surrounding cryptography

Learning Outcomes

On successful completion of this module, the student should be able to:

  1. explain the fundamentals of cryptography, such as encryption, digital signatures and secure hashes
  2. select appropriate techniques and apply them to solve a given problem
  3. design and evaluate security protocols appropriate for a given situation
  4. demonstrate an understanding of the mathematical underpinning of cryptography
  5. demonstrate an understanding of some legal and socio-ethical issues surrounding cryptography



Teaching methods

3 hours/week lectures/exercise classes

Contact Hours: 34


Sessional: 1.5 hr examination (80%), continuous assessment (20%).

Supplementary (where allowed): By examination only (100%).

Detailed Syllabus

  1. Overview on Historical Ciphers
  2. Symmetric Ciphers
    • Block Ciphers
    • Stream Ciphers
    • Key Management
  3. Asymmetric Ciphers
    • Public Key Cryptography
    • Diffie-Hellman
    • RSA
  4. Signatures, Certificates, Data Integrity
  5. TLS, SSH
  6. Random Oracle Model

Programmes containing this module