28 research outputs found
Patchable Indistinguishability Obfuscation: iO for Evolving Software
In this work, we introduce patchable indistinguishability obfuscation: our notion adapts the notion of indistinguishability obfuscation (iO) to a very general setting where obfuscated software evolves over time. We model this broadly by considering software patches P as arbitrary Turing Machines that take as input the description of a Turing Machine M, and output a new Turing Machine description M\u27 = P(M). Thus, a short patch P can cause changes everywhere in the description of M and can even cause the description length of the machine to increase by an arbitrary polynomial amount. We further consider multi-program patchable indistinguishability obfuscation where a patch is applied not just to a single machine M, but to an unbounded set of machines M_1,..., M_n to yield P(M_1),.., P(M_n).
We consider both single-program and multi-program patchable indistinguishability obfuscation in a setting where there are an unbounded number of patches that can be adaptively chosen by an adversary. We show that sub-exponentially secure iO for circuits and sub-exponentially secure re-randomizable encryption schemes imply single-program patchable indistinguishability obfuscation; and we show that sub-exponentially secure iO for circuits and sub-exponentially secure DDH imply multi-program patchable indistinguishability obfuscation.
At the our heart of results is a new notion of splittable iO that allows us to transform any iO scheme into a patchable one. Finally, we exhibit some simple applications of patchable indistinguishability obfuscation, to demonstrate how these concepts can be applied
Adaptive Multiparty Non-interactive Key Exchange Without Setup In The Standard Model
Non-interactive key exchange (NIKE) is a fundamental notion in Cryptography. This notion was introduced by Diffie and Hellman in 1976. They proposed the celebrated 2-party NIKE protocol and left open as a fascinating question, whether NIKE could be realized in the multiparty setting. NIKE has since then been an active area of research with an ultimate goal of obtaining best possible security in the multiparty setting. Although this has evaded researchers for many decades, advancements have been made through relaxations in multiple directions such as restricting to 3-parties, static/semi-static model (where the adversary needs to commit to the set of parties he wishes to be challenged upon ahead of time), random-oracle model, allowing initial setup, etc.
In this work, we settle the longstanding open question: we present the first multiparty NIKE protocol that is adaptively secure with no setup and in the standard model.
Our construction is based on indistinguishability obfuscation and obliviously-patchable puncturable pseudorandom functions, a new notion that we introduce.
We employ novel techniques of using indistinguishability obfuscation, which are interesting in their own right and which we believe would find wider applications in other settings. One such technique pertains overcoming, the somewhat inherent, drawback of non-adaptivity of the puncturing technique introduced by Sahai and Waters [STOC\u2714]. Central to this technique is our new notion of obliviously-patchable puncturable pseudorandom functions. We present a concrete construction of these pseudorandom functions using multilinear maps and their recent approximations -- the leveled-graded encoding schemes.
Note that pseudorandom functions amount to an interactive assumption. We shall establish via a meta-reduction technique that, in natural settings, an interactive assumption is necessary (even with setup)
Indistinguishability Obfuscation for Turing Machines: Constant Overhead and Amortization
We study the asymptotic efficiency of indistinguishability obfuscation (iO) on two fronts:
- Obfuscation size: Present constructions of indistinguishability obfuscation (iO) create obfuscated programs where the size of the obfuscated program is at least a multiplicative factor of security parameter larger than the size of the original program.
In this work, we construct the first iO scheme for (bounded-input) Turing machines that achieves only a constant multiplicative overhead in size. The constant in our scheme is, in fact, 2.
- Amortization: Suppose we want to obfuscate an arbitrary polynomial number of (bounded-input) Turing machines M_1,...,M_n. We ask whether it is possible to obfuscate M_1,...,M_n using a single application of an iO scheme for a circuit family where the size of any circuit is independent of n as well the size of any Turing machine M_i.
In this work, we resolve this question in the affirmative, obtaining a new bootstrapping theorem for obfuscating arbitrarily many Turing machines.
Our results rely on the existence of sub-exponentially secure iO for circuits and re-randomizable encryption schemes.
In order to obtain these results, we develop a new template for obfuscating Turing machines that is of independent interest and has recently found application in subsequent work on patchable obfuscation [Ananth et al, EUROCRYPT\u2717]
Homomorphic Indistinguishability Obfuscation and its Applications
In this work, we propose the notion of homomorphic indistinguishability obfuscation () and present a construction based on subexponentially-secure and one-way functions. An scheme allows us to convert an obfuscation of circuit to an obfuscation of , and this can be performed obliviously (that is, without knowing the circuit ). A naive solution would be to obfuscate . However, if we do this for hops, then the size of the final obfuscation is exponential in . ensures that the size of the final obfuscation remains polynomial after repeated compositions. As an application, we show how to build function-hiding hierarchical multi-input functional encryption and homomorphic witness encryption using
An Alternative View of the Graph-Induced Multilinear Maps
In this paper, we view multilinear maps through the lens of ``homomorphic obfuscation . In specific, we show how to homomorphically obfuscate the kernel-test and affine subspace-test functionalities of high dimensional matrices. Namely, the evaluator is able to perform additions and multiplications over the obfuscated matrices, and test subspace memberships on the resulting code. The homomorphic operations are constrained by the prescribed data structure, e.g. a tree or a graph, where the matrices are stored. The security properties of all the constructions are based on the hardness of Learning with errors problem (LWE). The technical heart is to ``control the ``chain reactions\u27\u27 over a sequence of LWE instances.
Viewing the homomorphic obfuscation scheme from a different angle, it coincides with the graph-induced multilinear maps proposed by Gentry, Gorbunov and Halevi (GGH15). Our proof technique recognizes several ``safe modes of GGH15 that are not known before, including a simple special case: if the graph is acyclic and the matrices are sampled independently from binary or error distributions, then the encodings of the matrices are pseudorandom
A Simple Obfuscation Scheme for Pattern-Matching with Wildcards
We give a simple and efficient method for obfuscating pattern matching with wildcards. In other words, we construct a way to check an input against a secret pattern, which is described in terms of prescribed values interspersed with unconstrained “wildcard” slots. As long as the support of the pattern is sufficiently sparse and the pattern itself is chosen from an appropriate distribution, we prove that a polynomial-time adversary cannot find a matching input, except with negligible probability. We rely upon the generic group heuristic (in a regular group, with no multilinearity). Previous work provided less efficient constructions based on multilinear maps or LWE
listening to the unhearable
My work lives in the world of trees, lakes, oceans, sunrises, starlight, hurricanes, and mountains, the world centered on the rumbling sounds of the earth and water, the quiet roars of silence in the air, in space, in the depths beneath, and all that lives in between. In approaching this world, I have found myself unable to hear everything it shares. The hard to perceive, often soundless parts of environments — those facets of climate, the ground we stand on, the subtle changes in noise - are often unobserved, or under-observed, and underappreciated. I have cultivated a practice of seeking out the under-observed, and holding a conversation with them. Through building electronic instruments, I’ve developed and refined a practice of listening to the unhearable.
Within my thesis book, I seek to create a dynamic representation of the world I’ve explored. The intangible, often conflicting feelings of wonder, loss, contemplation, and frustration are embedded in short abstract vignettes. I’m interrogating, within the writing, the conversation with the world of the rumbling sounds and silence. The space where I fit in this world. I oscillate between these exercises of care ( for myself, for those who came before me, and for the Earth) and technical minutiae. It is through technical processes that I am able to create meaning in these spaces, so the exploration and explanation of the technical is a central component of my practice. Technology in itself is an idea, one I find best approached through the lens of democratizing and open sourcing. Everyone should be able to create the tools they dream of for understanding their world.
My instruments are tools that represent the unhearable and under-observed. They take data and transform it into something else, a recombination of the individual components into something unrecognizable yet familiar. Relationships and conversations are formed between the ground and my hands, weather data and the ethereal, weather data and movement, and sound samples and collapsed time. I have made either three and a half or four instruments while at RISD, depending on how you count them. They allow me to listen to that which cannot otherwise be heard. I continue to refine them, to improve the conversations. I ask the unhearable parts of environments how to listen to them, and, through the music of the instruments, they answer. Then I ask again, and continue to refine the process of creating a sonic world.
This book is an embodiment of a sonic world for the unheard
Succinct Garbling Schemes from Functional Encryption through a Local Simulation Paradigm
We study a simulation paradigm, referred to as local simulation, in garbling schemes. This paradigm captures simulation proof strategies in which the simulator consists of many local simulators that generate different blocks of the garbled circuit. A useful property of such a simulation strategy is that only a few of these local simulators depend on the input, whereas the rest of the local simulators only depend on the circuit.
We formalize this notion by defining locally simulatable garbling schemes. By suitably realizing this notion, we give a new construction of succinct garbling schemes for Turing machines assuming the polynomial hardness of compact functional encryption and standard assumptions (such as either CDH or LWE). Prior constructions of succinct garbling schemes either assumed sub-exponential hardness of compact functional encryption or were designed only for small-space Turing machines.
We also show that a variant of locally simulatable garbling schemes can be used to generically obtain adaptively secure garbling schemes for circuits. All prior constructions of adaptively secure garbling that use somewhere equivocal encryption can be seen as instantiations of our construction
Incremental Program Obfuscation
Recent advances in program obfuscation suggest that it is possible to create
software that can provably safeguard secret information. However, software
systems usually contain large executable code that is updated multiple times
and sometimes very frequently. Freshly obfuscating the program for every small
update will lead to a considerable efficiency loss. Thus, an extremely
desirable property for obfuscation algorithms is incrementality: small changes
to the underlying program translate into small changes to the corresponding
obfuscated program.
We initiate a thorough investigation of incremental program obfuscation. We
show that the strong simulation-based notions of program obfuscation, such as
``virtual black-box\u27\u27 and ``virtual grey-box\u27\u27 obfuscation, cannot be
incremental (according to our efficiency requirements) even for very simple
functions such as point functions. We then turn to the
indistinguishability-based notions, and present two security definitions of
varying strength --- namely, a weak one and a strong one. To understand the
overall strength of our definitions, we formulate the notion of incremental
best-possible obfuscation and show that it is equivalent to our strong
indistinguishability-based notion.
Finally, we present constructions for incremental program obfuscation
satisfying both our security notions. We first give a construction achieving
the weaker security notion based on the existence of general purpose
indistinguishability obfuscation. Next, we present a generic transformation
using oblivious RAM to amplify security from weaker to stronger, while
maintaining the incrementality property