STOC '87 Proceedings of the nineteenth annual ACM symposium on Theory of computing
The protection of computer software---its technology and applications
The round complexity of secure protocols
STOC '90 Proceedings of the twenty-second annual ACM symposium on Theory of computing
On the (Im)possibility of Obfuscating Programs
CRYPTO '01 Proceedings of the 21st Annual International Cryptology Conference on Advances in Cryptology
PKC '99 Proceedings of the Second International Workshop on Practice and Theory in Public Key Cryptography
Universal circuits (Preliminary Report)
STOC '76 Proceedings of the eighth annual ACM symposium on Theory of computing
STOC '83 Proceedings of the fifteenth annual ACM symposium on Theory of computing
How to generate and exchange secrets
SFCS '86 Proceedings of the 27th Annual Symposium on Foundations of Computer Science
Sorting networks and their applications
AFIPS '68 (Spring) Proceedings of the April 30--May 2, 1968, spring joint computer conference
Hi-index | 0.00 |
Circuit/program obfuscation, if possible, would have a number of applications to cryptography and software protection. Unfortunately, negative results have been given by Barak et al. [1] that universal obfuscators (for circuits or programs) do not exist. In other words, given a circuit, an adversary might obtain more information (e.g. core algorithm) other than its input-output behavior. In this paper, we discuss the problem of circuit obfuscation under a weaker assumption where the adversary knows only partial information regarding the circuit, namely, the circuit topology (i.e., all information regarding the circuit except the functionalities of its gates), then how can C be obfuscated such that the circuit topology of the resulting circuit C′ (denoted by Topo(C′)) discloses nothing substantial? In practice, the scenario corresponds to that a reverse engineer attempts to illegally copy a circuit by passively analyzing how its gates are inter-wired. Our results are quite positive: there exist efficient circuit topology obfuscation algorithms that transform every circuit C with size s to circuit C′ with the same input-output behavior, size slog3s and depth slog(logs), where Topo(C′) reveals nothing more than circuit size, input length and output length in an information-theoretic sense.