Practical mathematical techniques for the development and analysis of secure software
Discrete mathematics provides the formal underpinning of computer science as a discipline. This module builds on the core CS content to introduce key techniques in discrete mathematics through the lens of two major applications within secure software engineering: formal methods for software specification and verifications, and cryptography.
By the end of this module the student should be able to:
1. Understand and apply the mathematical techniques that underpin secure software development and analysis.
2. Describe potential applications of formal methods within the software development process, and apply formal specification and analysis techniques to simple software systems.
3. Explain standard cryptographic primitives and protocols, and apply these in a critical, safe and cautious manner in real-world scenarios.
1 Discrete Mathematics
The theory that supports the two areas below: basic number theory; finite arithmetic; functions, sets, rings, groups; elliptic curves; propositional and predicate logic; proof techniques; additional statistics.
2 Introduction to Formal Methods
The idea of formal specification and analysis. Simple pre/post-conditions. Formal specification languages. Model-checkers. Protocol analysis and session types. Proof-carrying code. Limitations of formal modelling in practice.
3 Introduction to Cryptography
Structures of cryptographic systems. Cryptographic primitives: stream and block ciphers, PRFs, hash functions, MACs, KDFs, and real-world instantiations of these. Symmetric and public-key cryptography. Key exchange. Definitions and proofs of security. Real-world cryptographic protocols and attacks. Basic post-quantum cryptography.
Teaching and Learning Work Loads
|Teaching and Learning Method||Hours|
SCQF Level - The Scottish Credit and Qualifications Framework provides an indication of the complexity of award qualifications and associated learning and operates on an ascending numeric scale from Levels 1-12 with SCQF Level 10 equating to a Scottish undergraduate Honours degree.
Credit Value – The total value of SCQF credits for the module. 20 credits are the equivalent of 10 ECTS credits. A full-time student should normally register for 60 SCQF credits per semester.
We make every effort to ensure that the information on our website is accurate but it is possible that some changes may occur prior to the academic year of entry. The modules listed in this catalogue are offered subject to availability during academic year 2021/22 , and may be subject to change for future years.