Hiding Circuit Topology from Unbounded Reverse Engineers
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.  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 s Open image in new window log3 s and depth s Open image in new window log(logs), where Topo(C′) reveals nothing more than circuit size, input length and output length in an information-theoretic sense.
KeywordsInput Length Circuit Topology Circuit Size Sorting Network Output Length
Unable to display preview. Download preview PDF.
- 1.Grover, D.: Program identification. In: The protection of computer software—its technology and applications, pp. 119–150. Cambridge University Press, Cambridge (1989)Google Scholar
- 6.Yao, A.C.C.: How to generate and exchange secrets. In: Proc. 27th Annual Symposium on Foundations of Computer Science (FOCS 1986), pp. 162–167 (1986)Google Scholar
- 7.Goldreich, O., Micali, S., Wigderson, A.: How to play any mental game or a completeness theorem for protocols with honest majority. In: Proc. 19th Annual ACM Symposium on Theory of Computing (STOC 1987), pp. 218–229 (1987)Google Scholar
- 8.Beaver, D., Micali, S., Rogaway, P.: The round complexity of secure protocols. In: Proc. 22nd Annual ACM Symposium on Theory of Computing (STOC 1990), pp. 503–513 (1990)Google Scholar
- 9.Valiant, L.G.: Universal circuits (preliminary report). In: Proc. 8th Annual ACM Symposium on Theory of Computing (STOC 1976), pp. 196–203 (1976)Google Scholar
- 10.Ajtai, M., Komlós, J., Szemerédi, E.: An O(n log n) sorting network. In: Proc. 15th Annual ACM Symposium on Theory of Computing (STOC 1983), pp. 1–9 (1983)Google Scholar
- 11.Batcher, K.E.: Sorting networks and their applications. In: Proc. AFIPS Spring Joint Computing Conference, pp. 307–314 (1968)Google Scholar