Cryptography for the Real World: from Designing and Launching an Anonymous Bitcoin Alternative to Making Encryption that Can Forget
This talk will cover the design, implementation, and deployment of novel cryptography to solve real world security issues. While advances in computer science have revolutionized many fields and play a daily role in our lives, the security of deployed systems has not kept pace. Addressing real world security issues requires a new approach to cryptography, one that looks at the context in which it will be used and reasons backwards. I will present examples of this approach in two contexts. First, I will take a detailed look at confidentiality for payments and the privacy failures of schemes such as Bitcoin. I will then detail the design, implementation, and commercial deployment of Zcash, the first system to solve these issues and offer confidentiality and public verifiability for cryptocurrencies. Second, I will explore cryptography in the context of security breaches and the reality that attackers will get into systems and access keys, rendering traditional cryptographic protections ineffective. This will focus on applications of puncturable encryption to messaging and device encryption.