Hiding Circuit Topology from Unbounded Reverse Engineers

  • Yu Yu
  • Jussipekka Leiwo
  • Benjamin Premkumar
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4058)


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


Input Length Circuit Topology Circuit Size Sorting Network Output Length 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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
  2. 2.
    Naccache, D., Shamir, A., Stern, J.P.: How to copyright a function? In: Imai, H., Zheng, Y. (eds.) PKC 1999. LNCS, vol. 1560, pp. 188–196. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Diffie, W., Hellman, M.E.: New directions in cryptography. IEEE Transactions on Information Theory IT-22(6), 644–654 (1976)CrossRefMathSciNetGoogle Scholar
  4. 4.
    Barak, B., Goldreich, O., Impagliazzo, R., Rudich, S., Sahai, A., Vadhan, S.P., Yang, K.: On the (Im)possibility of obfuscating programs. In: Kilian, J. (ed.) CRYPTO 2001. LNCS, vol. 2139, pp. 1–18. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Lynn, B.Y.S., Prabhakaran, M., Sahai, A.: Positive results and techniques for obfuscation. In: Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 20–39. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  6. 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. 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. 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. 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. 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. 11.
    Batcher, K.E.: Sorting networks and their applications. In: Proc. AFIPS Spring Joint Computing Conference, pp. 307–314 (1968)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Yu Yu
    • 1
  • Jussipekka Leiwo
    • 1
  • Benjamin Premkumar
    • 1
  1. 1.School of Computer EngineeringNanyang Technological UniversitySingapore

Personalised recommendations