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).

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Apr 14, 2019
Accession Number
AD1085843

Entities

People

  • Rafael Pass

Organizations

  • Cornell University

Tags

DTIC Thesaurus Topics

  • Abstracts
  • Air Force
  • Air Force Research Laboratories
  • Asymetric Encryption
  • Blockchain
  • Classification
  • Coding
  • Computations
  • Computer Programs
  • Contracts
  • Cryptocurrency
  • Cryptography
  • Hardness
  • Security
  • Standards

Fields of Study

  • Computer science
  • Mathematics

Readers

  • Computer Science.
  • Cybersecurity.
  • Distributed Systems and Data Platform Development