How to construct random functions
Journal of the ACM (JACM)
How to prove yourself: practical solutions to identification and signature problems
Proceedings on Advances in cryptology---CRYPTO '86
Random oracles are practical: a paradigm for designing efficient protocols
CCS '93 Proceedings of the 1st ACM conference on Computer and communications security
Software protection and simulation on oblivious RAMs
Journal of the ACM (JACM)
The random oracle methodology, revisited (preliminary version)
STOC '98 Proceedings of the thirtieth annual ACM symposium on Theory of computing
Complete characterization of security notions for probabilistic private-key encryption
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
Distributed Computing and Cryptography: Proceedings of the DIMACS Workshop
Distributed Computing and Cryptography: Proceedings of the DIMACS Workshop
SIAM Journal on Computing
Algorithms for Black-Box Fields and their Application to Cryptography (Extended Abstract)
CRYPTO '96 Proceedings of the 16th Annual International Cryptology Conference on Advances in Cryptology
Number-theoretic constructions of efficient pseudo-random functions
FOCS '97 Proceedings of the 38th Annual Symposium on Foundations of Computer Science
Non-Interactive CryptoComputing For NC1
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
Authenticated Operation of Open Computing Devices
ACISP '02 Proceedings of the 7th Australian Conference on Information Security and Privacy
White-Box Cryptography and an AES Implementation
SAC '02 Revised Papers from the 9th Annual International Workshop on Selected Areas in Cryptography
Oblivious Hashing: A Stealthy Software Integrity Verification Primitive
IH '02 Revised Papers from the 5th International Workshop on Information Hiding
On Crafty Pirates and Foxy Tracers
DRM '01 Revised Papers from the ACM CCS-8 Workshop on Security and Privacy in Digital Rights Management
Protecting Software Code by Guards
DRM '01 Revised Papers from the ACM CCS-8 Workshop on Security and Privacy in Digital Rights Management
DISSECT: DIStribution for SECurity Tool
ISC '01 Proceedings of the 4th International Conference on Information Security
Monotonicity and Partial Results Protection for Mobile Agents
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
On the Impossibility of Obfuscation with Auxiliary Input
FOCS '05 Proceedings of the 46th Annual IEEE Symposium on Foundations of Computer Science
Static disassembly of obfuscated binaries
SSYM'04 Proceedings of the 13th conference on USENIX Security Symposium - Volume 13
Extractable Perfectly One-Way Functions
ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
CRYPTO 2008 Proceedings of the 28th Annual conference on Cryptology: Advances in Cryptology
The Superdiversifier: Peephole Individualization for Software Protection
IWSEC '08 Proceedings of the 3rd International Workshop on Security: Advances in Information and Computer Security
The Long-Short-Key Primitive and Its Applications to Key Security
IWSEC '08 Proceedings of the 3rd International Workshop on Security: Advances in Information and Computer Security
ICISS '08 Proceedings of the 4th International Conference on Information Systems Security
Disappearing Cryptography: Information Hiding: Steganography & Watermarking
Disappearing Cryptography: Information Hiding: Steganography & Watermarking
TCC '09 Proceedings of the 6th Theory of Cryptography Conference on Theory of Cryptography
Towards a Theory of Extractable Functions
TCC '09 Proceedings of the 6th Theory of Cryptography Conference on Theory of Cryptography
CCA-Secure Proxy Re-encryption without Pairings
Irvine Proceedings of the 12th International Conference on Practice and Theory in Public Key Cryptography: PKC '09
Towards Security Notions for White-Box Cryptography
ISC '09 Proceedings of the 12th International Conference on Information Security
Creating Transformations for Matrix Obfuscation
SAS '09 Proceedings of the 16th International Symposium on Static Analysis
Tamper-Tolerant Software: Modeling and Implementation
IWSEC '09 Proceedings of the 4th International Workshop on Security: Advances in Information and Computer Security
Zero Knowledge in the Random Oracle Model, Revisited
ASIACRYPT '09 Proceedings of the 15th International Conference on the Theory and Application of Cryptology and Information Security: Advances in Cryptology
Independence from obfuscation: A semantic framework for diversity
Journal of Computer Security
On the Duality of Probing and Fault Attacks
Journal of Electronic Testing: Theory and Applications
Mimimorphism: a new approach to binary code obfuscation
Proceedings of the 17th ACM conference on Computer and communications security
Live forensics framework for wireless sensor nodes using sandboxing
Proceedings of the 6th ACM workshop on QoS and security for wireless and mobile networks
Non-interactive verifiable computing: outsourcing computation to untrusted workers
CRYPTO'10 Proceedings of the 30th annual conference on Advances in cryptology
On strong simulation and composable point obfuscation
CRYPTO'10 Proceedings of the 30th annual conference on Advances in cryptology
Algorithmic tamper-proof security under probing attacks
SCN'10 Proceedings of the 7th international conference on Security and cryptography for networks
On the impossibility of cryptography alone for privacy-preserving cloud computing
HotSec'10 Proceedings of the 5th USENIX conference on Hot topics in security
Towards working with small atomic functions
Proceedings of the 15th international conference on Security protocols
PUF ROKs: a hardware approach to read-once keys
Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security
Integrated circuits metering for piracy protection and digital rights management: an overview
Proceedings of the 21st edition of the great lakes symposium on Great lakes symposium on VLSI
A note on obfuscation for cryptographic functionalities of secret-operation then public-encryption
TAMC'11 Proceedings of the 8th annual conference on Theory and applications of models of computation
A general and efficient obfuscation for programs with tamper-proof hardware
ISPEC'11 Proceedings of the 7th international conference on Information security practice and experience
On the complexity of computational problems regarding distributions
Studies in complexity and cryptography
On obfuscating programs with tamper-proof hardware
Inscrypt'10 Proceedings of the 6th international conference on Information security and cryptology
Code obfuscation against static and dynamic reverse engineering
IH'11 Proceedings of the 13th international conference on Information hiding
Secure obfuscation of encrypted verifiable encrypted signatures
ProvSec'11 Proceedings of the 5th international conference on Provable security
Multi-stage binary code obfuscation using improved virtual machine
ISC'11 Proceedings of the 14th international conference on Information security
On Source Code Transformations for Steganographic Applications
WI-IAT '11 Proceedings of the 2011 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology - Volume 03
Embedded software security through key-based control flow obfuscation
InfoSecHiComNet'11 Proceedings of the First international conference on Security aspects in information technology
Trust extension as a mechanism for secure code execution on commodity computers
Trust extension as a mechanism for secure code execution on commodity computers
Proceedings of the 2011 workshop on New security paradigms workshop
Cryptanalysis of a white box AES implementation
SAC'04 Proceedings of the 11th international conference on Selected Areas in Cryptography
ETRICS'06 Proceedings of the 2006 international conference on Emerging Trends in Information and Communication Security
IWDW'05 Proceedings of the 4th international conference on Digital Watermarking
Remote software-based attestation for wireless sensors
ESAS'05 Proceedings of the Second European conference on Security and Privacy in Ad-Hoc and Sensor Networks
Obfuscation by partial evaluation of distorted interpreters
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Semantic-based code obfuscation by abstract interpretation
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
On building a lightweight security architecture for sensor networks
EUC'06 Proceedings of the 2006 international conference on Emerging Directions in Embedded and Ubiquitous Computing
Is it wise to publish your public RSA keys?
FDTC'06 Proceedings of the Third international conference on Fault Diagnosis and Tolerance in Cryptography
A secure and auto-configurable environment for mobile agents in ubiquitous computing scenarios
UIC'06 Proceedings of the Third international conference on Ubiquitous Intelligence and Computing
Malware: from modelling to practical detection
ICDCIT'10 Proceedings of the 6th international conference on Distributed Computing and Internet Technology
On symmetric encryption and point obfuscation
TCC'10 Proceedings of the 7th international conference on Theory of Cryptography
Obfuscation of hyperplane membership
TCC'10 Proceedings of the 7th international conference on Theory of Cryptography
Founding cryptography on tamper-proof hardware tokens
TCC'10 Proceedings of the 7th international conference on Theory of Cryptography
Secure mediation with mobile code
DBSec'05 Proceedings of the 19th annual IFIP WG 11.3 working conference on Data and Applications Security
Internet computing of tasks with dependencies using unreliable workers
OPODIS'04 Proceedings of the 8th international conference on Principles of Distributed Systems
Private searching on streaming data
CRYPTO'05 Proceedings of the 25th annual international conference on Advances in Cryptology
On the (im)possibility of obfuscating programs
Journal of the ACM (JACM)
Secure obfuscation for encrypted signatures
EUROCRYPT'10 Proceedings of the 29th Annual international conference on Theory and Applications of Cryptographic Techniques
Call tree transformation for program obfuscation and copy protection
DRMTICS'05 Proceedings of the First international conference on Digital Rights Management: technologies, Issues, Challenges and Systems
Private circuits II: keeping secrets in tamperable circuits
EUROCRYPT'06 Proceedings of the 24th annual international conference on The Theory and Applications of Cryptographic Techniques
Hiding circuit topology from unbounded reverse engineers
ACISP'06 Proceedings of the 11th Australasian conference on Information Security and Privacy
A method for safekeeping cryptographic keys from memory disclosure attacks
INTRUST'09 Proceedings of the First international conference on Trusted Systems
Program obfuscation with leaky hardware
ASIACRYPT'11 Proceedings of the 17th international conference on The Theory and Application of Cryptology and Information Security
Can a program reverse-engineer itself?
IMACC'11 Proceedings of the 13th IMA international conference on Cryptography and Coding
A note on (im)possibilities of obfuscating programs of zero-knowledge proofs of knowledge
CANS'11 Proceedings of the 10th international conference on Cryptology and Network Security
Quantum money from hidden subspaces
STOC '12 Proceedings of the forty-fourth annual ACM symposium on Theory of computing
Point obfuscation and 3-round zero-knowledge
TCC'12 Proceedings of the 9th international conference on Theory of Cryptography
Functional re-encryption and collusion-resistant obfuscation
TCC'12 Proceedings of the 9th international conference on Theory of Cryptography
A new watermarking method with obfuscated quasi-chirp transform
IWDW'11 Proceedings of the 10th international conference on Digital-Forensics and Watermarking
Trusted code execution in JavaCard
TrustBus'07 Proceedings of the 4th international conference on Trust, Privacy and Security in Digital Business
On the concept of software obfuscation in computer security
ISC'07 Proceedings of the 10th international conference on Information Security
Specifying imperative data obfuscations
ISC'07 Proceedings of the 10th international conference on Information Security
Encrypted messages from the heights of cryptomania
TCC'13 Proceedings of the 10th theory of cryptography conference on Theory of Cryptography
On the (in)security of fischlin’s paradigm
TCC'13 Proceedings of the 10th theory of cryptography conference on Theory of Cryptography
Implementing resettable UC-Functionalities with untrusted tamper-proof hardware-tokens
TCC'13 Proceedings of the 10th theory of cryptography conference on Theory of Cryptography
Computers and Electrical Engineering
Covert computation: hiding code in code for obfuscation purposes
Proceedings of the 8th ACM SIGSAC symposium on Information, computer and communications security
On the impossibility of approximate obfuscation and applications to resettable cryptography
Proceedings of the forty-fifth annual ACM symposium on Theory of computing
Shielding circuits with groups
Proceedings of the forty-fifth annual ACM symposium on Theory of computing
Reusable garbled circuits and succinct functional encryption
Proceedings of the forty-fifth annual ACM symposium on Theory of computing
Proceedings of the 2013 ACM workshop on Artificial intelligence and security
A formal framework for property-driven obfuscation strategies
FCT'13 Proceedings of the 19th international conference on Fundamentals of Computation Theory
International Journal of High Performance Computing and Networking
Iterated group products and leakage resilience against NC1
Proceedings of the 5th conference on Innovations in theoretical computer science
Analyzing program dependencies for malware detection
Proceedings of ACM SIGPLAN on Program Protection and Reverse Engineering Workshop 2014
Hi-index | 0.00 |
Informally, an obfuscator O is an (efficient, probabilistic) "compiler" that takes as input a program (or circuit) P and produces a new program O(P) that has the same functionality as P yet is "unintelligible" in some sense. Obfuscators, if they exist, would have a wide variety of cryptographic and complexity-theoretic applications, ranging from software protection to homomorphic encryption to complexity-theoretic analogues of Rice's theorem. Most of these applications are based on an interpretation of the "unintelligibility" condition in obfuscation as meaning that O(P) is a "virtual black box," in the sense that anything one can efficiently compute given O(P), one could also efficiently compute given oracle access to P. In this work, we initiate a theoretical investigation of obfuscation. Our main result is that, even under very weak formalizations of the above intuition, obfuscation is impossible. We prove this by constructing a family of functions F that are inherently unobfuscatable in the following sense: there is a property π : F → {0, 1} such that (a) given any program that computes a function f ∈ F, the value π(f) can be efficiently computed, yet (b) given oracle access to a (randomly selected) function f ∈ F, no efficient algorithm can compute π(f) much better than random guessing. We extend our impossibility result in a number of ways, including even obfuscators that (a) are not necessarily computable in polynomial time, (b) only approximately preserve the functionality, and (c) only need to work for very restricted models of computation (TC0). We also rule out several potential applications of obfuscators, by constructing "unobfuscatable" signature schemes, encryption schemes, and pseudorandom function families.