Foundations and Applications of Program Obfuscation
Abstract
The goal of program obfuscation is to "scramble" a computer program, hiding its implementation details (making it hard to "reverse-engineer"), while preserving the functionality (i.e, input/output behavior) of the program. Program obfuscation is widely used in practice, enabling the distribution of code for performing largescale distributed computations (e.g., in applications such as Skype), while ensuring that users employ the service in the intended way. But these usages largely rely on ad-hoc heuristics that often get broken. Our research has developed new techniques towards provably secure obfuscation. More generally, we have developed new techniques for proving the security of largescale distributed services, including the first provably secure constructions of largescale MPC, proving the security of Nakamoto's blockchain protocol, and developing the first 2-round non-malleable commitment (a crucial component for round efficient MPC).
Document Details
- Document Type
- Technical Report
- Publication Date
- Apr 14, 2019
- Accession Number
- AD1085843
Entities
People
- Rafael Pass
Organizations
- Cornell University