This series of talks was part of the Cryptography Boot Camp. Videos for each talk area available through the links above.
The notion of indistinguishability obfuscation (iO) is less intuitive and trickier to use than black box obfuscation, but it has turned out to be surprisingly powerful, allowing us in many cases to hide secrets in software. We survey some of the many applications of iO (functional encryption, witness encryption, building public-key encryption schemes from private-key ones, and others) and describe some of the tricks used in the proofs of these constructions (e.g., playing shell games with secrets and punctured programs). We may also touch upon applications of related notions, such as differing inputs obfuscation.