ENGG 5383 Applied Cryptography (Fall 2020)

Thanks for the support. We almost reached the capacity (a few spaces left).
If you need my approval for "Selection of Courses Outside Prescribed Study Scheme," please wait until after the Sep 18 lecture.
Consider you are confessing your love, how can you sign a love letter such that only your crush knows it is from you, yet no one else will be convinced? Cryptography can help in achieving these seemingly conflicting goals. It is not just about ensuring you are browsing a legitimate shopping website and no one else can see your credit card number. It is an inter-disciplinary subject with applications ranging from secure routing to anonymous reputation systems. You will understand the magic under the hood of currently deployed systems. Special topics include privacy-enhancing cryptography and searchable encryption.

This is a graduate-level class, yet undergraduate and MSc students are also welcomed.
For the past 4 editions, we had a mixture of Undergraduates, PhD students from IE, PhD students from other departments and/or universities, as well as exchange students from overseas.

(Current) Class population: BEng(FinTech), BSc(MIE), MSc(CS), MSc(IE), MSc(MAE), PhD(CSE), PhD(IE), PhD(MAE), PhD(SEEM)

Students who have taken IERG4130, other CSCI, ECLT, IEMS courses on cryptography can also take this class.
(The exclusion of CSCI5470/ENGG5105 is obsolete.)

Workload:

  1. 2 Assignments [check blackboard]
  2. Mid-Term (Open-Note) x 1
  3. Project with Presentation x 1 & Report x 1
Updated Syllabus (Chinese Version)

This is a graduate-level course on cryptography. It focuses on the definitions and constructions of various cryptographic schemes and protocols, as well as their applications.
Useful tools for securing practical systems and emerging techniques in the applied research community will be introduced.
No prior knowledge of security, cryptography, or number theory is required.


Upon successful completion of the course, the students will have acquired the ability to:
  1. demonstrate knowledge and understanding of essential concepts, methods, and technologies of cryptography
  2. understand various cryptographic primitives, their security properties, and applications
  3. apply cryptographic techniques to various security designs, both practical and theoretical
  4. demonstrate awareness in latest advances in the field and what are possible to achieve with cryptography

Schedule ((updated) slides have been moved to blackboard)
  1. 10/09: 0. Course Logistics
  2. 11/09: I. Introduction
  3. 17/09: Introduction (fin.)
    18/09: I. Some More Applications (a.k.a. project preliminary introduction)
    II. Encryption (#1-#14)
  4. 24,25/09: Encryption (#15-#17, #18-#34)
    01,02/10 [Holiday]
  5. 08/10: Encryption (#35-#40)
    [Assignment 1 released]
  6. 09/10: III. Public-Key Encryption and Signatures (#1-#19)
  7. 15/10: [Tutorial 1]
    Public-Key Encryption and Signatures (#20-#22)
    16/10: Public-Key Encryption and Signatures (fin.)
    IV. Security Proof (#1-#11)
  8. 22/10: [Tutorial 2: Review of Number Theory]
    [Assignment 1 due at Oct 22 23:59]
    IV. Security Proof (#12-#16)
    23/10: Security Proof (#17-#28) [Assignment 2 released]
  9. 29/10: [Tutorial 3]
    Security Proof (#29-#39)
    30/10: Security Proof (fin.), V. Zero-Knowledge Proof (#1-#12)
  10. 05/11: [Assignment 2 due at Nov 5 23:59, grace period = 48 hrs]
    Zero-Knowledge Proof (#13-#20)
    06/11: Zero-Knowledge Proof (#21-#31)
  11. 12/11: Zero-Knowledge Proof (fin.)
    13/11: VI. Functional Encryption (#1-#32)
    [Take-Home Mid-term Exam released]
    19/11: [Congregation (No Class)]
  12. 20/11: Functional Encryption (fin.), VII. Pairing-Based Cryptography (#1-#17)
  13. 26/11: [Project Topic Released This Week] VII. Pairing-Based Cryptography (cont.)
    27/11: Pairing-Based Signatures (#1-#26) [Project Topic Declaration Deadline: 29/11]
  14. 03/12: Instructor's "Demo" Presentation [CFLM20]
    04/12: [cancelled, to be replaced by "peer review on project video" offline]

Links: Standard stuff: