Required textbook for both Csc 507 and 609 students:
Introduction to Modern Cryptography,
(Chapman & Hall/CRC Cryptography and Network Security Series) 2nd Edition, by Jonathan Katz and Yehuda Lindell.
((Amazon))
Twitter (for updates on homework postings): csc609
Homework: Programming assignments count for 30% of the grade. Due at midnight local time.
Lateness of Programming: deduct 1 point after 3 days, a 2nd point after 10 days, etc.
Midterm: The midterm counts for 30% of the grade.
Final: An in-class final counts for 40% of the grade.
You will be using subversion to submit your python work.
Please see my Subversion tutorial
The projects will also use make. Windows users should install Cygwin, and
select for install at least subversion, make, and python. Also Atom is an attractive editor instead of cygwin's offerings.
RSA-FDH (Full Domain Hash) and reduction to the RSA problem
Identification schemes, perfect correctness and probabilistic soundness
Schnorr identification, and knowledge extraction
Fiat-Shamir transformation and Schnorr dig-sig's
Notes (PDF) from Stanford University CS355 Spring 2019. Dima Kogan.
These notes present material in the reverse order than in class. Please see the previous
lecture in that course for background.
Zero Knowledge Proof Systems
Zero Knowledge Proof Systems
Example of quasi-ZK ceremonies.
Interactive Protocols (IP)
Proof systems and knowledge
Zero-knowledge
Zero-knowledge Proofs of Knowledge
Everything in NP is in ZK
Notes (PDF) from Stanford University CS355 Spring 2019. Henry Corrigan-Gibbs.
Michael Ben-Or, Shafi Goldwasser, Avi Wigderson, Completeness
theorems for non-cryptographic fault-tolerant distributed computation,
Proc. 20-th ACM Symposium on Theory of Computing, 1988. pp 1-10.
Philippe Oechslin, Making a faster cryptanalytic time-memory trade-off,
Crypto 03. (cached)