WM280-15 Cryptosystems
Introductory description
Secure systems aim to create a trusted environment that protects sensitive data, maintains system functionality, and mitigates risks associated with unauthorized access, data breaches, and other security threats. The goal of a secure system is twofold: to ensure the protection and integrity of information and resources by enabling authorized and desired actions while preventing unauthorized access, malicious activities, and undesirable incidents. However, achieving this goal poses significant challenges. These challenges include defining which events are acceptable and which are not, predicting future possibilities, and determining the system's boundaries. Notwithstanding these challenges, there exist established approaches to constructing secure systems that provide robust protection and maintain system functionality while minimising the occurrence of unwanted incidents. Cryptography plays a crucial role in achieving these goals. It is an essential tool that allows us to protect information and ensure confidentiality, integrity, and authentication. It provides mechanisms to protect sensitive information, verify the identity of users and devices, and enable secure communication over unsecured networks. Cryptographic techniques, such as symmetric-key and public-key cryptography, are used in various contexts including secure messaging, online transaction protection, and virtual private networks (VPNs). This module introduces concepts of cryptography and explores how they are practically applied to ensure strong security measures in secure systems.
Module aims
This module serves as a fundamental component within the broader subject, offering students the opportunity to deepen their knowledge and skills in the field of cybersecurity. By engaging with this module, students will develop the ability to design robust security architectures tailored to specific scenarios. Moreover, students will acquire practical expertise in configuring systems using cryptographic techniques to achieve the desired security objectives. By actively participating in this module, students will enhance their overall understanding of trust and security, equipping them with the necessary tools to thrive in the dynamic landscape of cyber security.
Outline syllabus
This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.
Outline content
The content of this module will be taught from a cyber security perspective.
Symmetric Key Cryptography:
- Block ciphers (e.g., DES, AES)
- Stream ciphers (e.g., RC4)
- Modes of operation (e.g., ECB, CBC, CTR)
- Key management and distribution
- Message authentication codes
- Key derivation functions
Public-Key Cryptography:
- RSA algorithm
- Diffie-Hellman key exchange
- Elliptic Curve Cryptography
- Digital signatures (e.g., RSA, DSA)
- Key exchange protocols (e.g., SSL/TLS, SSH)
Hash Functions and Message Digests:
- Cryptographic hash functions (e.g., SHA-256, MD5)
- Applications of hash functions (e.g., password storage, data integrity)
- Message Digest algorithms (e.g., HMAC)
Cryptographic Protocols and Applications:
- Secure communication protocols (e.g., SSL/TLS, IPsec)
- Secure email (e.g., PGP)
- Virtual Private Networks
- Secure File Transfer (e.g., SSH, SCP)
Cryptographic Attacks and Countermeasures:
- Cryptanalysis techniques, Side-channel attacks etc.
- Key management and secure key storage
- Random number generation
- Cryptographic standards and certifications
Applied Cryptography in Real-World Systems:
- Encryption in storage systems
- Access control
- Blockchain technology
- Privacy-enhancing technologies (e.g., homomorphic encryption)
Cryptographic Tools:
- Introduction to cryptographic libraries (e.g., OpenSSL)
- Practical implementation of cryptographic algorithms
Legal and Ethical Aspects:
- Cryptography policies and regulations
- Ethical considerations in cryptography
- Cryptography and privacy laws
Design and development of cryptosystems
The future of cryptography
Learning outcomes
By the end of the module, students should be able to:
- Design a security architecture that satisfies the security needs of a given scenario.
- Configure systems, applying cryptographic techniques as needed, to achieve desired security objectives.
- Develop secure cryptosystems by effectively utilizing programming languages and cryptographic tools to implement cryptographic operations.
- Analyse the suitability of cryptographic algorithms to meet specific security requirements, evaluating their security properties, strengths, and limitations.
Indicative reading list
Wong, D. (2021). Real-World Cryptography. Manning Publications.
Schneier, B., Kohno, T., & Ferguson, N. (2013). Cryptography Engineering: Design Principles and Practical Applications. Wiley.
Stallings, W. (2016). Cryptography and Network Security: Principles and Practice (7th ed.). Pearson.
Bray, S. W. (2020). implementing cryptography using Python. John Wiley & Sons.
Interdisciplinary
Cryptography is an inherently interdisciplinary subject. It combines ideas from mathematics and computer science together with social studies on the usability of secure systems, and these will be demonstrated throughout the module.
Subject specific skills
This module enables students to develop an understanding of the fundamentals of cryptography, knowledge of cryptographic algorithms and when to use them, as well as an ability to use cryptography to build secure systems.
Transferable skills
Critical thinking, problem solving, written communication, and presentation skills
Study time
Type | Required |
---|---|
Supervised practical classes | 18 sessions of 2 hours (24%) |
Private study | 54 hours (36%) |
Assessment | 60 hours (40%) |
Total | 150 hours |
Private study description
Independent activity between workshops, following up on activities initiated in previous workshops or preparing for upcoming workshops.
Costs
No further costs have been identified for this module.
You do not need to pass all assessment components to pass the module.
Assessment group A
Weighting | Study time | Eligible for self-certification | |
---|---|---|---|
Assessment component |
|||
Test | 20% | 12 hours | No |
There will be an online 20% in-class test held during a timetabled session. The test will cover topics including hash functions, symmetric key cryptography, public key cryptography and cryptographic protocols. |
|||
Reassessment component is the same |
|||
Assessment component |
|||
Assignment | 80% | 48 hours | Yes (extension) |
Students are given a scenario (which varies from year to year) and are required to design a cryptosystem, simulate it and write a report to present the proposed system, justify their selections and recommendations and evaluate the features of their system. Their findings will be assessed via the configuration proposed, an accompanying 3000-page report, and a demonstration of the proposal. |
|||
Reassessment component is the same |
Feedback on assessment
Feedback will be provided via Tabula using standard WMG feedback mechanisms.
Courses
This module is Core for:
-
UWMA-H651 Undergraduate Cyber Security
- Year 2 of H651 Cyber Security
- Year 2 of H651 Cyber Security
- Year 2 of H651 Cyber Security