Basic Information
- Course Code: EE720
- Course Name: An Introduction to Number Theory and Cryptography
- Course Offered In: 2022-‘23
- Semester Season: Autumn
- Instructors: Prof. Saravanan Vijayakumaran
- Prerequisites: None
- Difficulty (1 being easy and 5 being tough): 4
Course Content
The list of topics is as follows
- Perfectly Secret Encryption
- Private-Key Encryption
- Message Authentication Codes
- CCA-Security and Authenticated Encryption
- Hash Functions
- Number Theory
- Cryptographic Hardness Assumptions
- Key Exchange Protocols
- Public-Key Encryption
- Digital Signatures
- Advanced Topics in Public-Key Cryptography
- Zero-Knowledge Proofs
This is mathematical foundational course for topics in Private-Key and Public-Key Cryptography. It starts of with some basic examples on Private-Key Encryption and then builds upon them one by one as we relax more of our assumptions. There are a few weeks of pure Number Theory in between to build up the foundations for Public-Key Cryptography. It ends with a few topics from the Professor’s current area of research in Zero-Knowledge proofs.
The instructor first introduces the notation and apparatus to judge the security of a protocol for a specific type of “adversary” and then uses that to create a few example protocols. So it doesn’t really bother itself with the actual applications of Crypto-security protocols; rather how one can judge the security of a pre-existing one.
Feedback on Lectures
The Professor had comprehensive slides that had all of the theory but he would write out all of the derivations on the blackboard. His method of explanation was well-suited for the subject and he maintained pace to ensure the class never got too boring even in the midst of pure Number Theory concepts. He preferred to first polish out all of derivations and lemmas which created a satisfying picture when all of it came together for the actual “crypto” concept in the end.
Even though the reference textbook had all of the derivations and proofs, it is highly recommended to make notes in class as the syllabus is trivial to cover before exams.
He was also very prompt with doubt redressal and systematic in his presentation of topics.
Feedback on Evaluations
The evaluation breakdown was as follows 5% Attendance, 10% Assignments, 20% Quizzes, 25% Midsem, 40% Endsem The Assignments were moderate as long as you understood the course contents well enough. The quizzes and Midsem/ Endsem often had questions already covered in the practice problems or had basic derivations already covered in class. He allowed for a limited number of cheatsheets so scoring well in them wasn’t too difficult.
Study Material and Resources
Jonathan Katz, Yehuda Lindell “Introduction To Modern Cryptography”
Follow-up Courses
EE465 : Cryptocurrency and Blockchain Technologies
Final Takeaway
The course was very well administered and the Professor is also quite affable. Even though the course doesn’t cover as many topics in Cryptography as some other full-semester course could have, it does go into sufficient depth with the ones it does. It also gives you the tools to analyse other cryptosystems on a fundamental level.
I’d suggest this course to anyone who has a flair for mathematics. Considering the crowd that takes this course, getting a good grade won’t be easy however.