Lecture 18 Notes: Trapdoor One-Way Functions and Zero-Knowledge Proofs