Pseudorandom function families are collections of efficiently-computable functions that emulate a random oracle. They are used to construct cryptographic primitives and are distinct from pseudorandom generators. The GGM construction can be used to create a PRF family from any PRG, while block ciphers are not always suitable for this purpose.

An introductory course into modern cryptography, grounded in rigorous mathematical definitions. Covers topics such as secret key and public key encryption, pseudorandom generators, and zero-knowledge proofs. Requires a basic understanding of probability theory and complexity theory, and entails some programming for course projects.