CM3110: Security
School | Cardiff School of Computer Science and Informatics |
Department Code | COMSC |
Module Code | CM3110 |
External Subject Code | 100376 |
Number of Credits | 10 |
Level | L6 |
Language of Delivery | English |
Module Leader | Dr Georgios Theodorakopoulos |
Semester | Autumn Semester |
Academic Year | 2020/1 |
Outline Description of Module
This module provides students with basic understanding of cryptographic tools and techniques that are used in modern systems to achieve security objectives, such as confidentiality, integrity, and authentication. Students are introduced to relevant practical aspects as well as to the mathematical foundations of these techniques. Finally, the module goes into real-world security protocols (such as SSL/TLS) and how they are composed as a combination of basic techniques.
Throughout the semester, students are given programming tasks (as formative assessment) to practice the principles and techniques learned in the lectures.
This module requires working knowledge of
Probability, Discrete Mathematics (sets, permutations), Programming
On completion of the module a student should be able to
- Describe how fundamental cryptographic algorithms and security protocols work.
- Design cryptographic protocols and attacks
- Select and use appropriate cryptographic algorithms to achieve security objectives, such as confidentiality, integrity, and authentication.
- Analyse the role of the constituent cryptographic algorithms in a security protocol
- Evaluate cryptographic algorithms with respect to security and efficiency
How the module will be delivered
Modules will be delivered through blended learning. You will be guided through learning activities appropriate to your module, which may include: • on-line resources that you work through at your own pace (e.g. videos, web resources, e-books, quizzes), • on-line interactive sessions to work with other students and staff (e.g. discussions, live streaming of presentations, live-coding, team meetings) • face to face small group sessions (e.g. help classes, feedback sessions)
Skills that will be practised and developed
Design and evaluation of cryptographic techniques
Practical and theoretical assessment of cryptographic methods that underpin modern security protocols
How the module will be assessed
A blend of assessment types which may include coursework and portfolio assessments, class tests, and/or formal examinations.
Assessment Breakdown
Type | % | Title | Duration(hrs) |
---|---|---|---|
Class Test | 33 | Symmetric Ciphers | N/A |
Class Test | 33 | Asymmetric Ciphers | N/A |
Class Test | 34 | Hash Functions And Integrity Protection | N/A |
Syllabus content
Fundamentals of Cryptography
History, ancient ciphers.
Fundamental concepts (e.g. Kerckhoffs’s principle, perfect secrecy, one-time pad)
Symmetric ciphers
Stream ciphers
Block ciphers (e.g. AES, DES, Triple DES), confusion, diffusion
Modes of operation
Asymmetric ciphers (e.g. RSA)
Key exchange protocols. (e.g. Diffie-Hellman)
Cryptographic data integrity
Cryptographic hash functions, (e.g. MDx family, SHAx family)
Message authentication codes (MAC), MACs based on hash functions, MACs based on block ciphers
Digital signatures
Cryptographic protocols (e.g. SSL/TLS)
Background Reading and Resource List
Christof Paar and Jan Pelzl, Understanding Cryptography: A Textbook for Students and Practitioners, Springer-Verlag Berlin Heidelberg, 2010.
Charlie Kaufman, Radia Perlman, and Mike Speciner, Network Security: Private Communication in a Public World, (2nd edition), Prentice Hall, 2002.
William Stallings, Cryptography and Network Security: Principles and Practice (6th edition), Harlow: Pearson Education Limited, 2014.
Ross J. Anderson, Security Engineering: A Guide to Building Dependable Distributed Systems (2nd edition), Wiley, 2008.
David Kahn, The Codebreakers: The Comprehensive History of Secret Communication from Ancient Times to the Internet, Scribner Book Company, 1996.
Alfred J. Menezes, Paul C. Van Oorschot, and Scott A. Vanstone, Handbook of Applied Cryptography, CRC press, 2010. (http://cacr.uwaterloo.ca/hac/)