Foundations of Cryptography (Spring 2022)
M,W 13:30-15:05; @6A205
Office hour: M 15:30 - 16:30 @FIT 4-6008 (6th floor)
Email: [email protected]
TAs: Wenjie Li, Hongxun Wu
Main reference:
A Course in Cryptography, Chapters 1-6, Rafael Pass & abhi shelat
https://www.cs.cornell.edu/courses/cs4830/2010fa/lecnotes.pdf
A Course in Cryptography, Chapters 1-6, Rafael Pass & abhi shelat
https://www.cs.cornell.edu/courses/cs4830/2010fa/lecnotes.pdf
Other references:
A graduate course in applied cryptography, Dan Boneh & Victor Shoup
Foundations of Cryptography I, II, Oded Goldreich
Schedule:
0221 Lecture 1: Introduction I
0223 Lecture 2: Introduction II
0228 Lecture 3: Encryption with perfect secrecy
0302 Lecture 4: Computational hardness and one-way functions
0307 Lecture 5: Hard problems related to factoring, RSA
0309 Lecture 6: Hard problems related to discrete-log
0314 Lecture 7: Indistinguishability and pseudorandomness
0316 Lecture 8: Pseudorandom generator and hardcore bit
0321 Lecture 9: Pseudorandom function
0323 Lecture 10: Public key encryption
0328 Lecture 11: Private key encryption
0330 Lecture 12: Interactive proof for graph non-isomorphism
0402 Lecture 13: Zero-knowledge proof for graph isomorphism
0406 Lecture 14: Zero-knowledge proof cont.
0411 Lecture 15: Zero-knowledge proof for NP, commitment
0413 Lecture 16: Hash function and Random oracles
0418 Lecture 17: Signature
0420 Lecture 18: Non-interactive zero-knowledge
0425 Lecture 19: Secure multiparty computation: introduction, definition, oblivious transfer
0427 Lecture 20: Secure multiparty computation: Yao's garbled circuit
0509 Lecture 21: Lattice: Short integer solution and Learning with errors
0511 Lecture 22: Lattice: Fully homomorphic encryption
0516 Lecture 23: Program obfuscation: definitions
0518 Lecture 24: Indistinguishability obfuscation
Last three weeks: Project presentations
0221 Lecture 1: Introduction I
0223 Lecture 2: Introduction II
0228 Lecture 3: Encryption with perfect secrecy
0302 Lecture 4: Computational hardness and one-way functions
0307 Lecture 5: Hard problems related to factoring, RSA
0309 Lecture 6: Hard problems related to discrete-log
0314 Lecture 7: Indistinguishability and pseudorandomness
0316 Lecture 8: Pseudorandom generator and hardcore bit
0321 Lecture 9: Pseudorandom function
0323 Lecture 10: Public key encryption
0328 Lecture 11: Private key encryption
0330 Lecture 12: Interactive proof for graph non-isomorphism
0402 Lecture 13: Zero-knowledge proof for graph isomorphism
0406 Lecture 14: Zero-knowledge proof cont.
0411 Lecture 15: Zero-knowledge proof for NP, commitment
0413 Lecture 16: Hash function and Random oracles
0418 Lecture 17: Signature
0420 Lecture 18: Non-interactive zero-knowledge
0425 Lecture 19: Secure multiparty computation: introduction, definition, oblivious transfer
0427 Lecture 20: Secure multiparty computation: Yao's garbled circuit
0509 Lecture 21: Lattice: Short integer solution and Learning with errors
0511 Lecture 22: Lattice: Fully homomorphic encryption
0516 Lecture 23: Program obfuscation: definitions
0518 Lecture 24: Indistinguishability obfuscation
Last three weeks: Project presentations
Best course project (automatic A+):
Attacking the Learning Parity with Noise Problem Using Neural Networks
by Haozhe Jiang and Kaiyue Wen
arXiv: https://arxiv.org/pdf/2303.07987.pdf
Github: https://github.com/WhenWen/Solving-LPN-using-Neural-Networks
Attacking the Learning Parity with Noise Problem Using Neural Networks
by Haozhe Jiang and Kaiyue Wen
arXiv: https://arxiv.org/pdf/2303.07987.pdf
Github: https://github.com/WhenWen/Solving-LPN-using-Neural-Networks