Cryptography

Overview

This module will introduce the basics of cryptography and how to achieve practical crypto implementations. This will include a study of classical cryptographic algorithms. It will also cover block ciphers, public key cryptographic algorithms, digital signatures, hash functions and Message Authentication Codes (MACs) in addition to key generation and management. The module will provide a basic understanding of possible practical and theoretical attacks that can be performed on encryption algorithms and their implementations to uncover the secret key. The design of secure and efficient implementations of cryptographic algorithms will also be addressed. Topics covered will include:

• Classical Cryptographic Algorithms
• Symmetric Key Algorithms: DES, AES, Modes of Operation
• Stream Ciphers: LFSRs
• Public Key Algorithms: RSA, El Gamal, Diffie-Hellman, ECC, Digital Signatures
• Hash Functions and MACs: SHA-1,2,3, MD4,5
• Key Management and Generation
• Vulnerabilities of Cryptographic Algorithms and Implementations: Linear Cryptanalysis, Differential Cryptanalysis, Side Channel Attacks
• Cryptographic Applications: PKI, SSL, TLS, Smartcard, payment systems, distributed cryptography

Learning Objectives

On completion of this module, a student will have achieved the following learning outcomes, commensurate with module classification:

• Comprehensive understanding number theory employed in cryptography
• Analyse different cryptographic primitives used in security architectures
• Critically evaluate when and why it is suitable to use different cryptographic primitives
• Critical awareness of cryptanalytic techniques
• Practical techniques in side-channel cryptanalysis to break encryption algorithm implementations
• Critically reflect on how to implement secure and efficient cryptographic algorithms

Skills

Successful participation in this module will enable students to develop skills in the following areas:

• Good cyber security practice in the specification, design, implementation, evaluation and maintenance of security solutions.
• Retrieve information independently, from a variety of sources and by a variety of techniques.
• Manage one’s own learning and development including time management and organisational skills.
• Ability to critically evaluate a given system design, and identify significant vulnerabilities, risks, and points at which specific cyber security methods and technologies should be employed.
• Effectively use of tools for development and testing of cyber secure systems.
• Articulate and effectively communicate the design and technological rationale for a given cyber security component or design through appropriate technical reports and presentations.

Assessment

None

Coursework

100%

Examination

0%

Practical

0%

Credits

20

Module Code

ELE8090

Teaching Period

Spring Semester

Duration

12 Weeks