Abstract

We revisit the problem of building cryptographic primitives with updating capabilities. We introduce the notion of updatable randomized encodings for circuits and study its implications to updatable cryptography. Starting from an updatable randomized encoding scheme we show how to generically obtain updatable versions of traditional notions such as secure multi-party computation, non-interactive zero knowledge proofs and also more advanced primitives such as functional encryption, attribute based encryption and so on. 
 
We propose a construction of updatable randomized encodings based on compact secret-key functional encryption. Plugging in known constructions of functional encryption, we get constructions of updatable randomized encodings based on one-way functions and multilinear maps. We also consider a decomposable version of updatable randomized encodings a.k.a updatable garbled circuits and show how to construct it based on the inapproximability of lattice problems. 
 
We also study obfuscation for evolving software. We introduce the notion of patchable indistinguishability obfuscation and provide a construction based on indistinguishability obfuscation and DDH.
 
Based on joint works with Aloni Cohen, Abhishek Jain and Amit Sahai.