Basic Information
- Course Code: EE720
- Course Name: An Introduction to Number Theory and Cryptography
- Course Offered In: 2023-‘24
- Semester Season: Autumn
- Instructors: Prof. Saravanan Vijayakumaran
- Prerequisites: Basics of probability, and asymptotic notation
- Difficulty (1 being easy and 5 being tough): 3
Course Content
- Classical Cryptography
- Private-Key Cryptography
- Hash Functions
- Basic Number Theory
- Cryptographic Hardness Assumptions
- Public-Key Cryptography
- Brief Introduction to Zero-Knowledge Proofs (ZKPs)
Feedback on Lectures
The lectures for this course were exceptionally well-organized and highly effective. The concise, to-the-point slides ensured key information was highlighted without overwhelming detail, each serving a clear purpose and seamlessly supporting the lecture content. The professor’s insightful explanations highly improved the understanding of the course material, and helped in understanding difficult topics with clarity and depth, , making the learning process both engaging and comprehensible. This course was a perfect balance of thoroughness and brevity.
Feedback on Evaluations
Grading Policy: 5% Attendance, 10% Assignments, 20% Quizzes, 25% Midsem, 40% Endsem Relative grading
The assignments significantly deepened my understanding of the course material. The quizzes, midterms, and final exams were closely aligned with the assignments and class discussions, presenting a moderate level of difficulty.
Study Material and Resources
- Introduction to Modern Cryptography, Jonathan Katz, Yehuda Lindell, CRC Press, 2021 (3rd Edition). Main textbook
- Cryptography: Theory and Practice, Douglas R. Stinson, Maura B. Paterson, CRC Press, 2018 (4th Edition)
- A Computational Introduction to Number Theory and Algebra, Victor Shoup, Cambridge University Press, 2008 (2nd edition)
Follow-up Courses
This course is a pre-requisite for courses like EE 345 (Cryptocurrency and Blockchain Technologies), and many more advanced cryptography course.
Final Takeaway
This course provides an excellent introduction to the world of cryptography. It familiarizes students with the essential notations and terminology, and also balances the nuances of mathematical proofs without being overwhelming. Additionally, it lays a solid foundation for advanced topics in cryptography, such as Blockchain and Zero-Knowledge Proofs.