2

I want to design a scheme, where there is a circuit C0 which is obscured by an indistinguishability obfuscation (IO). In C0, a master key of a functional encryption (FE) is hardwired. Given an input z to C0, it outputs a secret key using the key generation algorithm of FE. C0 is as follows:

C0(z)
{ hardwired: msk
  output sk = FE.KeyGen(msk, z) 
}

Then, C' = IO(C0) is given to the user. With C', the user can generate the secret key by himself.

However, I do not know how to prove the security. By the simulation-based secuirty, FE.KeyGen is replaced with the corresponding algorithm S.KeyGen of simulator to obtain a new circuit C1:

C1(z)
{ hardwired: st
  output sk = S.KeyGen(st, z) 
}

where C' = IO(C1).

However, since FE.KeyGen and S.KeyGen are both probabilistic, it seems hard to ensure C0(z) = C1(z) for all z.

How to prove the security? or probabilistic indistinguishability obfuscation (pIO) should be used?

Maarten Bodewes
  • 96,351
  • 14
  • 169
  • 323
laolien
  • 51
  • 3

0 Answers0