Undergraduate Course: Introduction to Modern Cryptography (INFR11131)
|School||School of Informatics
||College||College of Science and Engineering
|Credit level (Normal year taken)||SCQF Level 11 (Year 4 Undergraduate)
||Availability||Available to all students
|Summary||Cryptography is the formal study of the notion of security in information systems. The course will offer a thorough introduction to modern cryptography focusing on models and proofs of security for various basic cryptographic primitives and protocols including key exchange protocols, commitment schemes, digital signature algorithms, oblivious transfer protocols and public-key encryption schemes. Applications to various problems in secure computer and information systems will be briefly discussed including secure multiparty computation, digital content distribution, e-voting systems, digital payment systems, cryptocurrencies.
The area of cryptography focuses on various problems pertaining to secure communication and computation. It entails the study of models that express security properties as well as the algorithms and protocols that are the implementation candidates for satisfying these properties. An important dimension of modern cryptography is the design of security proofs that establish security properties. Such proofs are conditional on assumptions that fall in two categories: "system assumptions" such as the faithful execution of code, or the availability of private randomness and "computational assumptions" that are related to the computational complexity of various problems (including factoring large numbers and others). Students will learn to model security problems, design protocols and prove them secure under precisely formulated system and computational assumptions.
Entry Requirements (not applicable to Visiting Students)
|| It is RECOMMENDED that students have passed
Computer Security (INFR10067) AND
Algorithms and Data Structures (INFR10052)
||Other requirements|| This course has the following prerequisites:
1 Computer security: familiarity with basic concepts such as public and private-key encryption, one-time pad, PRG, AES, RSA
2 Probability: random variables, independence, Bayes' theorem, statistical distance, union bound
3 Algorithms: asymptotics and big-O notation
4 Mathematical maturity and being comfortable with reading and constructing mathematical proofs
Information for Visiting Students
|High Demand Course?
Course Delivery Information
|Academic year 2020/21, Available to all students (SV1)
|Learning and Teaching activities (Further Info)
Lecture Hours 18,
Feedback/Feedforward Hours 2,
Summative Assessment Hours 2,
Programme Level Learning and Teaching Hours 2,
Directed Learning and Independent Learning Hours
|Assessment (Further Info)
|Additional Information (Assessment)
||60% coursework (= 4 courseworks x 15% each)
||Hours & Minutes
|Main Exam Diet S2 (April/May)||2:00|
On completion of this course, the student will be able to:
- Understand basic group theory, number theory, discrete probability.
- Being able to analyze probabilistic algorithms.
- Develop the ability to model security problems and to write security proofs.
- Understand fundamental cryptographic primitives including Key Exchange, Digital Signatures, Oblivious Transfer, Public-Key Encryption, Commitment.
- Understand basic computational problems that are important for cryptography such as the factoring problem, the RSA problem, the discrete-logarithm problem.
|Graduate Attributes and Skills
|Course organiser||Dr Vesselin Velichkov
Tel: (0131 6)50 4499
|Course secretary||Miss Clara Fraser
Tel: (0131 6)51 4164