Complexity and Cryptography, by John Talbot