Paper 2013/563

Virtual Black-Box Obfuscation for All Circuits via Generic Graded Encoding

Zvika Brakerski and Guy N. Rothblum


We present a new general-purpose obfuscator for all polynomial-size circuits. The obfuscator uses graded encoding schemes, a generalization of multilinear maps. We prove that the obfuscator exposes no more information than the program's black-box functionality, and achieves {\em virtual black-box security}, in the generic graded encoded scheme model. This proof is under the Bounded Speedup Hypothesis (BSH, a plausible worst-case complexity-theoretic assumption related to the Exponential Time Hypothesis), in addition to standard cryptographic assumptions. We also show that the weaker notion of {\em indistinguishability obfuscation} can be achieved without BSH. Very recently, Garg et al.~(FOCS 2013) used graded encoding schemes to present a candidate obfuscator for indistinguishability obfuscation. They posed the problem of constructing a provably secure indistinguishability obfuscator in the generic graded encoding scheme model. Our obfuscator resolves this problem. Indeed, under BSH it achieves the stronger notion of virtual black box security, which is our focus in this work. Our construction is different from that of Garg et al., but is inspired by it, in particular by their use of permutation branching programs. We obtain our obfuscator by developing techniques used to obfuscate $d$-CNF formulas (ePrint 2013), and applying them to permutation branching programs. This yields an obfuscator for the complexity class $NC^1$. We then use homomorphic encryption to obtain an obfuscator for any polynomial-size circuit.

Available format(s)
Secret-key cryptography
Publication info
Preprint. MINOR revision.
Contact author(s)
rothblum @ alum mit edu
2013-09-30: last of 2 revisions
2013-09-05: received
See all versions
Short URL
Creative Commons Attribution


      author = {Zvika Brakerski and Guy N.  Rothblum},
      title = {Virtual Black-Box Obfuscation for All Circuits via Generic Graded Encoding},
      howpublished = {Cryptology ePrint Archive, Paper 2013/563},
      year = {2013},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.