Module Details

Module Code: COMP8004
Title: Applied Cryptography
Long Title: Applied Cryptography
NFQ Level: Advanced
Valid From: Semester 1 - 2017/18 ( September 2017 )
Duration: 1 Semester
Credits: 5
Field of Study: 4811 - Computer Science
Module Delivered in: 3 programme(s)
Module Description: Security has become a very important topic in Computer Science. Underlying security is often a cryptographic system. Developers often have to design and implement systems which involve an element of security, and cryptography is usually underpinning such systems. Managers often manage security systems, and, again, those systems rely on strong cryptography. This module will explore how modern cryptography works, how it is implemented, and how it is usually incorporated into protocols.
 
Learning Outcomes
On successful completion of this module the learner will be able to:
# Learning Outcome Description
LO1 Examine modern symmetric ciphers and their modes of operation.
LO2 Critically evaluate modern public key ciphers.
LO3 Construct key management systems to solve security service requirements.
LO4 Apply cryptography and related functions, such as hashing and digital signatures, to the achievement of security services.
Dependencies
Module Recommendations

This is prior learning (or a practical skill) that is strongly recommended before enrolment in this module. You may enrol in this module if you have not acquired the recommended learning but you will have considerable difficulty in passing (i.e. achieving the learning outcomes of) the module. While the prior learning is expressed as named MTU module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).

Incompatible Modules
These are modules which have learning outcomes that are too similar to the learning outcomes of this module. You may not earn additional credit for the same learning and therefore you may not enrol in this module if you have successfully completed any modules in the incompatible list.
No incompatible modules listed
Co-requisite Modules
No Co-requisite modules listed
Requirements

This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed. You may not enrol on this module if you have not acquired the learning specified in this section.

No requirements listed
 
Indicative Content
Fundamental Concepts
block cipher, stream cipher, confusion, diffusion, classical encryption schemes, XOR, one-time pad, cryptanalytic attacks.
Symmetric Ciphers
Feistel, multiple encryption, meet in the middle attack, AES, Stream Ciphers
Modes of Operation
Electronic Code Book, Cipher block Chain,Cipher Feedback, Output Feedback, Counter, short cycle problem.
Mathematics for Public-key Cryptography
Basic Number Theory, Prime numbers, Euclidean Algorithm, Discrete Log Problem.
Public-Key Encryption
RSA, Attacks, implementations,Factoring, Diffie-Hellamnn Key Exchange.
Hash Functions, MACs and Digital Signatures
Hash function design, Birthday Attack, MACs, HMAC, DSS.
Key Exchange
Key exchange using public key and symmetric cryptography. Public Key Certificates. Case Studies e.g. TLS, PGP, Crypto Currencies. Examine Cryptographic Systems that failed with a view to learning lessons.
Practical
Cryptographic Puzzles. Cryptographic Implementations.
Module Content & Assessment
Assessment Breakdown%
Coursework40.00%
End of Module Formal Examination60.00%

Assessments

Coursework
Assessment Type Practical/Skills Evaluation % of Total Mark 20
Timing Week 6 Learning Outcomes 1,2,3,4
Assessment Description
Implement a cryptographic system and/or the cryptanalysis of a system.
Assessment Type Project % of Total Mark 20
Timing Week 11 Learning Outcomes 1,2,3,4
Assessment Description
Students will submit a project that involves encryption, cryptographic systems and cryptanalysis.
End of Module Formal Examination
Assessment Type Formal Exam % of Total Mark 60
Timing End-of-Semester Learning Outcomes 1,2,3,4
Assessment Description
End-of-Semester Final Examination
Reassessment Requirement
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.

The University reserves the right to alter the nature and timings of assessment

 

Module Workload

Workload: Full Time
Workload Type Contact Type Workload Description Frequency Average Weekly Learner Workload Hours
Lecture Contact Weekly lectures covering essential theory. Every Week 2.00 2
Lab Contact Weekly labs to support lectures. Every Week 2.00 2
Independent Learning Non Contact Weekly student independent learning. Every Week 3.00 3
Total Hours 7.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 4.00
Workload: Part Time
Workload Type Contact Type Workload Description Frequency Average Weekly Learner Workload Hours
Lecture Contact Weekly lectures covering essential theory. Every Week 2.00 2
Lab Contact Weekly labs to support lectures. Every Week 2.00 2
Independent Learning Non Contact Weekly student independent learning. Every Week 3.00 3
Total Hours 7.00
Total Weekly Learner Workload 7.00
Total Weekly Contact Hours 4.00
 
Module Resources
Recommended Book Resources
  • William Stallings. (2016), Cryptography and Network Security: Principles and Practice, Pearson, [ISBN: 9781292158587].
Supplementary Book Resources
  • Bruce Schneier. (2015), Applied Cryptography: Protocols, Algorithms and Source Code in C, Special Edition. Wiley, [ISBN: 9781119096726].
  • Jonathan Katz and Yehuda Lindell. (2014), Introduction to Modern Cryptography, Chapman & Hall, [ISBN: 9781466570269].
  • Solis Tech. (2016), Cryptography: Cryptography Theory & Practice Made Easy!, CreateSpace, [ISBN: 9781523844722].
Supplementary Article/Paper Resources
Other Resources
 
Module Delivered in
Programme Code Programme Semester Delivery
CR_KSDEV_8 Bachelor of Science (Honours) in Software Development 8 Elective
CR_KITMN_8 Bachelor of Science (Honours) in IT Management and Cybersecurity 8 Elective
CR_KWEBD_8 Bachelor of Science (Honours) in Web Development 8 Elective