223 research outputs found
Hiding secrets in public random functions
Constructing advanced cryptographic applications often requires the ability of privately embedding messages or functions in the code of a program. As an example, consider the task of building a searchable encryption scheme, which allows the users to search over the encrypted data and learn nothing other than the search result. Such a task is achievable if it is possible to embed the secret key of an encryption scheme into the code of a program that performs the "decrypt-then-search" functionality, and guarantee that the code hides everything except its functionality.
This thesis studies two cryptographic primitives that facilitate the capability of hiding secrets in the program of random functions.
1. We first study the notion of a private constrained pseudorandom function (PCPRF). A PCPRF allows the PRF master secret key holder to derive a public constrained key that changes the functionality of the original key without revealing the constraint description. Such a notion closely captures the goal of privately embedding functions in the code of a random function.
Our main contribution is in constructing single-key secure PCPRFs for NC^1 circuit constraints based on the learning with errors assumption. Single-key secure PCPRFs were known to support a wide range of cryptographic applications, such as private-key deniable encryption and watermarking. In addition, we build reusable garbled circuits from PCPRFs.
2. We then study how to construct cryptographic hash functions that satisfy strong random oracle-like properties. In particular, we focus on the notion of correlation intractability, which requires that given the description of a function, it should be hard to find an input-output pair that satisfies any sparse relations.
Correlation intractability captures the security properties required for, e.g., the soundness of the Fiat-Shamir heuristic, where the Fiat-Shamir transformation is a practical method of building signature schemes from interactive proof protocols. However, correlation intractability was shown to be impossible to achieve for certain length parameters, and was widely considered to be unobtainable.
Our contribution is in building correlation intractable functions from various cryptographic assumptions. The security analyses of the constructions use the techniques of secretly embedding constraints in the code of random functions
Private Puncturable PRFs From Standard Lattice Assumptions
A puncturable pseudorandom function (PRF) has a master key that enables one
to evaluate the PRF at all points of the domain, and has a punctured key
that enables one to evaluate the PRF at all points but one. The punctured key
reveals no information about the value of the PRF at the punctured point
. Punctured PRFs play an important role in cryptography, especially in
applications of indistinguishability obfuscation. However, in previous
constructions, the punctured key completely reveals the punctured point
: given it is easy to determine . A {\em private} puncturable PRF
is one where reveals nothing about~. This concept was defined by
Boneh, Lewi, and Wu, who showed the usefulness of private puncturing, and gave
constructions based on multilinear maps. The question is whether private
puncturing can be built from a standard (weaker) cryptographic assumption.
We construct the first privately puncturable PRF from standard lattice
assumptions, namely from the hardness of learning with errors (LWE) and 1
dimensional short integer solutions (1D-SIS), which have connections to
worst-case hardness of general lattice problems. Our starting point is the
(non-private) PRF of Brakerski and Vaikuntanathan. We introduce a number of new
techniques to enhance this PRF, from which we obtain a privately puncturable
PRF. In addition, we also study the simulation based definition of private
constrained PRFs for general circuits, and show that the definition is not
satisfiable
Correlation-Intractable Hash Functions via Shift-Hiding
A hash function family is correlation intractable for a -input relation if, given a random function chosen from , it is hard to find such that is true. Among other applications, such hash functions are a crucial tool for instantiating the Fiat-Shamir heuristic in the plain model, including the only known NIZK for NP based on the learning with errors (LWE) problem (Peikert and Shiehian, CRYPTO 2019).
We give a conceptually simple and generic construction of single-input CI hash functions from shift-hiding shiftable functions (Peikert and Shiehian, PKC 2018) satisfying an additional one-wayness property. This results in a clean abstract framework for instantiating CI, and also shows that a previously existing function family (PKC 2018) was already CI under the LWE assumption.
In addition, our framework transparently generalizes to other settings, yielding new results:
- We show how to instantiate certain forms of multi-input CI under the LWE assumption. Prior constructions either relied on a very strong ``brute-force-is-best\u27\u27 type of hardness assumption (Holmgren and Lombardi, FOCS 2018) or were restricted to ``output-only\u27\u27 relations (Zhandry, CRYPTO 2016).
- We construct single-input CI hash functions from indistinguishability obfuscation (iO) and one-way permutations. Prior constructions relied essentially on variants of fully homomorphic encryption that are impossible to construct from such primitives. This result also generalizes to more expressive variants of multi-input CI under iO and additional standard assumptions
Watermarking Cryptographic Functionalities from Standard Lattice Assumptions
A software watermarking scheme allows one to embed a mark into a program without significantly altering the behavior of the program. Moreover, it should be difficult to remove the watermark without destroying the functionality of the program. Recently, Cohen et al. (STOC 2016) and Boneh et al. (PKC 2017) showed how to watermark cryptographic functions such as PRFs using indistinguishability obfuscation. Notably, in their constructions, the watermark remains intact even against arbitrary removal strategies. A natural question is whether we can build watermarking schemes from standard assumptions that achieve this strong mark-unremovability property.
We give the first construction of a watermarkable family of PRFs that satisfy this strong mark-unremovability property from standard lattice assumptions (namely, the learning with errors (LWE) and the one-dimensional short integer solution (SIS) problems). As part of our construction, we introduce a new cryptographic primitive called a translucent PRF. Next, we give a concrete construction of a translucent PRF family from standard lattice assumptions. Finally, we show that using our new lattice-based translucent PRFs, we obtain the first watermarkable family of PRFs with strong unremovability against arbitrary strategies from standard assumptions
Privately Constraining and Programming PRFs, the LWE Way
*Constrained* pseudorandom functions allow for delegating
``constrained\u27\u27 secret keys that let one compute the function at
certain authorized inputs---as specified by a constraining
predicate---while keeping the function value at unauthorized inputs
pseudorandom. In the *constraint-hiding* variant, the
constrained key hides the predicate. On top of this,
*programmable* variants allow the delegator to explicitly set the
output values yielded by the delegated key for a particular set of
unauthorized inputs.
Recent years have seen rapid progress on applications and
constructions of these objects for progressively richer constraint
classes, resulting most recently in constraint-hiding constrained PRFs
for arbitrary polynomial-time constraints from Learning With
Errors~(LWE) [Brakerski, Tsabary, Vaikuntanathan, and Wee, TCC\u2717],
and privately programmable PRFs from indistinguishability obfuscation
(iO) [Boneh, Lewi, and Wu, PKC\u2717].
In this work we give a unified approach for constructing both of the
above kinds of PRFs from LWE with subexponential
approximation factors. Our constructions
follow straightforwardly from a new notion we call a
*shift-hiding shiftable function*, which allows for deriving a
key for the sum of the original function and any desired hidden
shift function. In particular, we obtain the first privately
programmable PRFs from non-iO assumptions
Constraint-hiding Constrained PRFs for NC1 from LWE
Constraint-hiding constrained PRFs (CHCPRFs), initially studied by Boneh, Lewi, and Wu [PKC 2017], are constrained PRFs where the constrained key hides the description of the constraint. Envisioned with powerful applications such as searchable encryption, private-detectable watermarking, and symmetric deniable encryption, the only known candidates of CHCPRFs are based on indistinguishability obfuscation or multilinear maps with strong security properties.
In this paper, we construct CHCPRFs for all NC1 circuits from the Learning with Errors assumption. The construction draws heavily from the graph-induced multilinear maps by Gentry, Gorbunov, and Halevi [TCC 2015], as well as the existing lattice-based PRFs. Our construction gives an instance of the GGH15 applications with a security reduction from LWE.
We also show how to build from CHCPRFs reusable garbled circuits (RGC), or equivalently private-key function-hiding functional encryptions with 1-key security. This provides a different approach to constructing RGC from that of Goldwasser et al. [STOC 2013]
Privately Constrained Testable Pseudorandom Functions
Privately Constrained Pseudorandom Functions allow a PRF key to be delegated to some
evaluator in a constrained manner, such that the key’s functionality is restricted with
respect to some secret predicate. Variants of Privately Constrained Pseudorandom Func-
tions have been applied to rich applications such as Broadcast Encryption, and Secret-key
Functional Encryption. Recently, this primitive has also been instantiated from standard
assumptions. We extend its functionality to a new tool we call Privately Constrained
Testable Pseudorandom functions.
For any predicate C, the holder of a secret key sk can produce a delegatable key constrained
on C denoted as sk[C]. Evaluations on inputs x produced using the constrained key differ
from unconstrained evaluations with respect to the result of C(x). Given an output y
evaluated using sk[C], the holder of the unconstrained key sk can verify whether the input
x used to produce y satisfied the predicate C. That is, given y, they learn whether C(x) = 1
without needing to evaluate the predicate themselves, and without requiring the original
input x.
We define two inequivalent security models for this new primitive, a stronger indistinguishability-
based definition, and a weaker simulation-based definition. Under the indistinguishability-
based definition, we show the new primitive implies Designated-Verifier Non-Interactive
Zero-Knowledge Arguments for NP in a black-box manner. Under the simulation-based
definition, we construct a provably secure instantiation of the primitive from lattice as-
sumptions. We leave the study of the gap between definitions, and discovering techniques
to reconcile it as future work
Constrained PRFs for Bit-fixing (and More) from OWFs with Adaptive Security and Constant Collusion Resistance
Constrained pseudorandom functions (CPRFs) allow learning constrained PRF keys that can evaluate the PRF on a subset of the input space, or based on some sort of predicate. First introduced by Boneh and Waters [AC\u2713], Kiayias et al. [CCS\u2713] and Boyle et al. [PKC\u2714], they have been shown to be a useful cryptographic primitive with many applications. The full security definition of CPRFs requires the adversary to learn multiple constrained keys in an arbitrary order, a requirement for many of these applications. Unfortunately, existing constructions of CPRFs satisfying this security notion are only known from exceptionally strong cryptographic assumptions, such as indistinguishability obfuscation (IO) and the existence of multilinear maps, even for very weak constraints. CPRFs from more standard assumptions only satisfy selective security for a single constrained key query.
In this work, we give the first construction of a CPRF that can adaptively issue a constant number of constrained keys for bit-fixing predicates (or more generally -conjunctive normal form predicates), only requiring the existence of one-way functions (OWFs). This is a much weaker assumption compared with all previous constructions. In addition, we prove that the new scheme satisfies 1-key privacy (otherwise known as constraint-hiding). This is the only construction for any non-trivial predicates to achieve adaptive security and collusion-resistance outside of the random oracle model or relying on strong cryptographic assumptions. Our technique represents a noted departure from existing CPRF constructions
A Bit-fixing PRF with O(1) Collusion-Resistance from LWE
Constrained pseudorandom functions (CPRFs) allow learning modified PRF keys that can evaluate the PRF on a subset of the input space, or based on some sort of predicate. First introduced by Boneh and Waters [Asiacrypt 2013], they have been shown to be a useful cryptographic primitive with many applications. The full security definition of CPRFs requires the adversary to learn multiple constrained keys, a requirement for all of these applications. Unfortunately, existing constructions of CPRFs satisfying this security notion are only known from exceptionally strong cryptographic assumptions, such as indistinguishability obfuscation and the existence of multilinear maps, even for very weak predicates. CPRFs from more standard assumptions only satisfy security when one key is learnt.
In this work, we give the first construction of a CPRF that can issue a constant number of constrained keys for bit-fixing predicates, from learning with errors (LWE). It also satisfies -key privacy (otherwise known as constraint-hiding).
Finally, our construction achieves fully adaptive security with polynomial security loss; the only construction to achieve such security under a standard assumption.
Our technique represents a noted departure existing for CPRF constructions. We hope that it may lead to future constructions that can expose a greater number of keys, or consider more expressive predicates (such as circuit-based constraints)
Recommended from our members
Cryptography
The Oberwolfach workshop Cryptography brought together scientists from cryptography with mathematicians specializing in the algorithmic problems underlying cryptographic security. The goal of the workshop was to stimulate interaction and collaboration that enables a holistic approach to designing cryptography from the mathematical foundations to practical applications. The workshop covered basic computational problems such as factoring and computing discrete logarithms and short vectors. It addressed fundamental research results leading to innovative cryptography for protecting security and privacy in cloud applications. It also covered some practical applications
- …