Lably
Skip to content

Black-box obfuscation

Proposed cryptographic primitive

  • 3 min read
  • 2 chapters

Related on Lably

Through Computer program, Turing machine and Digital signature

Impossibility

The unobfuscatable programs

Barak et al. constructed a family of unobfuscatable programs, for which an efficient attacker can always learn more from any obfuscated code than from black-box access.

Broadly, they start by engineering a special pair of programs that cannot be obfuscated together. For some randomly selected strings α,β of a fixed, pre-determined length k, define one program to be one that computes

Cα,β(x):={βif x=α0otherwise

and the other program to one that computes

Dα,β(X):={1if X(α)=β and X runs in time≤poly(k)0otherwise.

(Here, Dα,β interprets its input as the code for a Turing machine. The second condition in the definition of Dα,β is to prevent the function from being uncomputable.)

If an efficient attacker only has black-box access, Barak et al. argued, then the attacker only has an exponentially small chance of guessing the password α, and so cannot distinguish the pair of programs from a pair where Cα,β is replaced by some program Z that always outputs "0". However, if the attacker has access to any obfuscated implementations Cα,β′,Dα,β′ of Cα,β,Dα,β, then the attacker will find Dα,β′(Cα,β′)=1 with probability 1, whereas the attacker will always find Dα,β′(Z)=0 unless β=0 (which should happen with negligible probability). This means that the attacker can always distinguish the pair (Cα,β′,Dα,β′) from the pair (Z,Dα,β′) with obfuscated code access, but not black-box access. Since no obfuscator can prevent this attack, Barak et al. conclude that no black-box obfuscator for pairs of programs exists.

To conclude the argument, Barak et al. define a third program to implement the functionality of the two previous:

Fα,β(b,x):={Cα,β(x)if b=0Dα,β(x)if b=1.

Since equivalently efficient implementations of Cα,β,Dα,β can be recovered from one of Fα,β by hardwiring the value of b, Barak et al. conclude that Fα,β cannot be obfuscated either, which concludes their argument.

Impossible variants of black-box obfuscation and other types of unobfuscatable programs

In their paper, Barak et al. also prove the following (conditional to appropriate cryptographic assumptions):

  • There are unobfuscatable circuits.
  • There is no black-box approximate obfuscator.
  • There are unobfuscatable, secure, probabilistic private-key cryptosystems.
  • There are unobfuscatable, secure, deterministic digital signature schemes.
  • There are unobfuscatable, secure, deterministic message authentication schemes.
  • There are unobfuscatable, secure pseudorandom functions.
  • For many protocols that are secure in the random oracle model, the protocol becomes insecure if the random oracle is replaced with an artificial cryptographic hash function; in particular, Fiat-Shamir schemes can be attacked.
  • There are unobfuscatable circuits in TC0 (that is, constant-depth threshold circuits).
  • There are unobfuscatable sampling algorithms (in fact, these cannot be obfuscated approximately).
  • There is no secure software watermarking scheme.

Sign in to keep reading

One more chapter is free with a Lably account.

More in Computing and communication