28 research outputs found

    Patchable Indistinguishability Obfuscation: iO for Evolving Software

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    In this work, we propose the notion of homomorphic indistinguishability obfuscation (HiO\mathsf{HiO}) and present a construction based on subexponentially-secure iO\mathsf{iO} and one-way functions. An HiO\mathsf{HiO} scheme allows us to convert an obfuscation of circuit CC to an obfuscation of C2˘7CC\u27\circ C, and this can be performed obliviously (that is, without knowing the circuit CC). A naive solution would be to obfuscate C2˘7iO(C)C\u27 \circ \mathsf{iO}(C). However, if we do this for kk hops, then the size of the final obfuscation is exponential in kk. HiO\mathsf{HiO} 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 HiO\mathsf{HiO}

    An Alternative View of the Graph-Induced Multilinear Maps

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore