DCU Home | Our Courses | Loop | Registry | Library | Search DCU

Module Specifications..

Current Academic Year 2023 - 2024

Please note that this information is subject to change.

Module Title Cryptography and Security Protocols
Module Code CA4005
School School of Computing
Module Co-ordinatorSemester 1: Geoffrey Hamilton
Semester 2: Geoffrey Hamilton
Autumn: Geoffrey Hamilton
Module TeachersGeoffrey Hamilton
NFQ level 8 Credit Rating 7.5
Pre-requisite None
Co-requisite None
Compatibles None
Incompatibles None

The purpose of this module is to introduce the student to some of the latest ideas, algorithms and protocols from modern cryptology and secure communications, and to equip the student to apply this theory to the problems of building secure computer applications, and securing communications in the context of the internet and e-commerce. Modern symmetric cryptography techniques, hash functions and their applications are covered. Then, based on the students prior experience of elementary arithmetic, the basics of number theory are taught, as needed to fully understand the main algorithms for public-key cryptography, including Diffie-Helman, the RSA method and El Gamal. Applications of public-key cryptography including encryption and digital signatures are also covered. Based on this introduction to cryptology, the student is introduced to the basic concepts of security protocols and their implementation. Simple protocols for key exchange and authentication, leading on to more involved protocols for implementing secure e-mail, S/MIME and secure wireless communications.

Learning Outcomes

1. Describe historial ciphers and identify their weaknesses.
2. Define and contrast contemporary symmetric cryptographic techniques and show their applications.
3. Solve elementary problems in number theory relating to cryptography.
4. Explain hash functions, specify their desirable properties and illustrate their applications.
5. Define and contrast contemporary public-key cryptographic techniques and show their applications.
6. Describe and analyse security protocols for applications such as authentication and key-exchange, e-mail and wireless communication.
7. Describe the fundamental concepts underpinning security protocols, key management and public key infrastructures.
8. Explain the basic threat models that need to be countered in secure systems, and describe how cryptography can help.
9. Identify the techniques available for meeting security objectives in the context of the modern world.
10. Integrate cryptographic code into software projects.
11. Design and write software to implement security protocols.

Workload Full-time hours per semester
Type Hours Description
Assignment Completion52Programming projects
Independent Study99.5Self-directed study
Total Workload: 187.5

All module information is indicative and subject to change. For further information,students are advised to refer to the University's Marks and Standards and Programme Specific Regulations at: http://www.dcu.ie/registry/examinations/index.shtml

Indicative Content and Learning Activities

Historical Ciphers
Shift cipher. Substitution cipher. Vigenere cipher. The one-time pad. Mechanical rotor systems.

Symmetric Cryptography
Stream ciphers. Block ciphers. The Data Encryption Standard (DES) and the Advanced Encryption Standard (AES). Modes of operation.

Elementary Number Theory
Modular arithmetic. Groups, rings and fields. Fast algorithms for calculating multiplicative inverses and modular exponentiation. Quadratic residues and modular square roots. Primality testing.

Hash Functions
Desirable properties. Collisions. Merkle-Damgard construction. Applications of hash functions. Manipulation Detection Codes (MDCs) and Message Authentication Codes (MACs).

Public Key Cryptography
The key distribution problem. Diffie-Hellman key exchange. Public key infrastructures. The RSA method. El Gamal and Rabin. The DSA digital signature.

Hard Problems
One way functions. Hard problems including the integer factorisation problem and the discrete logarithm problem. Reductions.

Random Number Generation
Cryptographically secure random numbers and their generation. Using one-way hash functions. Linear congrentual generator. Blum Blum Shub generator.

Security Objectives
Confidentiality, integrity, authentication and non-repudiation.

Security Protocols
Authentication and key-exchange protocols. Nonces and timestamps. Secure email. S/MIME. Secure wireless protocols; WEP and WPA. Attacks on protocols.

Assessment Breakdown
Continuous Assessment30% Examination Weight70%
Course Work Breakdown
TypeDescription% of totalAssessment Date
AssignmentImplementation of cryptographic algorithm.15%Week 6
AssignmentImplementation of security protocol.15%Week 12
Reassessment Requirement Type
Resit arrangements are explained by the following categories;
1 = A resit is available for all components of the module
2 = No resit is available for 100% continuous assessment module
3 = No resit is available for the continuous assessment component
This module is category 1
Indicative Reading List

  • Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone: 1997, Handbook of Applied Cryptography, CRC Press, Boca Raton, 0-8493-8523-7
  • Nigel Smart: 2013, Cryptography: An Introduction, 3, McGraw-Hill, 0-077-09987-7
Other Resources

Programme or List of Programmes
CASEBSc in Computer Applications (Sft.Eng.)
ECSAStudy Abroad (Engineering & Computing)
ECSAOStudy Abroad (Engineering & Computing)

My DCU | Loop | Disclaimer | Privacy Statement