lecture29: Cryptography and Information Theory