Hiding Secrets in Software: A Cryptographic Approach to Program Obfuscation
Can we hide secrets in software? Can we make programs unintelligible while preserving their functionality? Why would we even want to do this? In this article, we describe some rigorous cryptographic answers to these quasi-philosophical questions.