Obfuscation using Encryption
Johannes Schneider, Thomas Locher

TL;DR
This paper introduces a source code obfuscation method that uses encryption and misleading statements to enhance confidentiality, balancing security and performance, and validated through programmer testing and code analysis.
Contribution
It presents a novel obfuscation technique combining encrypted selector variables with misleading code statements, improving source code confidentiality beyond traditional methods.
Findings
Effective preservation of source code confidentiality
Successful evaluation with programmers and code pattern analysis
Adjustable security-performance trade-offs achieved
Abstract
Protecting source code against reverse engineering and theft is an important problem. The goal is to carry out computations using confidential algorithms on an untrusted party while ensuring confidentiality of algorithms. This problem has been addressed for Boolean circuits known as `circuit privacy'. Circuits corresponding to real-world programs are impractical. Well-known obfuscation techniques are highly practicable, but provide only limited security, e.g., no piracy protection. In this work, we modify source code yielding programs with adjustable performance and security guarantees ranging from indistinguishability obfuscators to (non-secure) ordinary obfuscation. The idea is to artificially generate `misleading' statements. Their results are combined with the outcome of a confidential statement using encrypted \emph{selector variables}. Thus, an attacker must `guess' the encrypted…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Malware Detection Techniques · Physical Unclonable Functions (PUFs) and Hardware Security · Cryptographic Implementations and Security
