Michel Abdalla
email: michel.abdalla@ens.fr

Pierre-Alain Fouque
email: pierre-alain.fouque@ens.fr

Vadim Lyubashevsky
email: vadim.lyubashevsky@ens.fr

Mehdi Tibouchi
email: tibouchi.mehdi@lab.ntt.co.jp

Tightly-Secure Signatures From Lossy Identification Schemes

Keywords: Signature schemes, tight reductions, Fiat-Shamir

In this paper we present three digital signature schemes with tight security reductions. Our first signature scheme is a particularly efficient version of the short exponent discrete log based scheme of Girault et al. (J. of Cryptology 2006). Our scheme has a tight reduction to the decisional Short Discrete Logarithm problem, while still maintaining the non-tight reduction to the computational version of the problem upon which the original scheme of Girault et al. is based. The second signature scheme we construct is a modification of the scheme of Lyubashevsky (Asiacrypt 2009) that is based on the worst-case hardness of the shortest vector problem in ideal lattices. And the third scheme is a very simple signature scheme that is based directly on the hardness of the Subset Sum problem. We also present a general transformation that converts what we term lossy identification schemes into signature schemes with tight security reductions. We believe that this greatly simplifies the task of constructing and proving the security of such signature schemes.

Introduction

Due to the widespread use of digital signature schemes in practical applications, their construction and security analysis comprises an important area of modern cryptography. While there exist many digital signatures that are secure in the standard model (e.g. [GHR99,CS00,HW09,CHKP10,Boy10]), they are usually less efficient than those that are proved secure in the random oracle model, and so are not as suitable for practical applications. Signature schemes secure in the random oracle model generally fall into one of two categories. In the first category are schemes constructed using the Full Domain Hash (FDH) approach [BR96], and in the second are schemes based on the Fiat- Shamir technique [FS87]. Our current work focuses on the latter type.

Proving the security of schemes that are designed using the Fiat-Shamir heuristic (e.g. [GQ90,Sch91,GPS06]) generally involves an invocation of the forking lemma [PS00]. Reductions with this feature entail getting one forgery from the adversary, then rewinding him back to a particular point, and then re-running the adversary from that point with the hope of getting another forgery. Using these two related forgeries, the reduction can extract an answer to some underlying hard problem such as discrete log or factorization. Due to the fact that one needs to guess on which of his q h random oracle queries the adversary will forge on, a reduction using an adversary that succeeds with probability ε in forging a signature will have probability ε/q h of breaking the hardness assumption. Asymptotically, this does not cause a problem, since the reduction only incurs a polynomial loss in the success probability. The reduction does not, however, provide us with useful guidance for setting concrete parameters because it is unclear whether the efficiency loss is just an artifact of the proof or whether it represents an actual weakness of the scheme. It is therefore preferable to construct protocols that have a tight proof of security by avoiding the use of the forking lemma.

Related Work and Contributions

Constructing number-theoretic signature schemes with tight security reductions has received some attention in the past. The first work in this direction is due to Bellare and Rogaway [BR96], who proposed an RSA-based signature scheme known as PSS whose security is tightly related to the security of the RSA function. Later, in the context of signature schemes based on the Fiat-Shamir heuristic, Micali and Reyzin [MR02] showed that it is sometimes possible to modify the Fiat-Shamir transform in order to achieve tighter reductions. In more recent work, Goh and Jarecki [GJ03] and Katz and Wang [KW03,GJKW07] constructed digital signatures with tight security reductions based on the Computational and Decisional Diffie-Hellman problems. These latter two schemes are versions of the Schnorr signature scheme, and thus inherit most of its characteristics. In particular, the scheme based on the DDH problem has a very simple construction and a rather short signature size. There are other signature schemes, though, that possess other desirable features, but do not yet have a tight security reduction. A notable example of such a scheme is the one of Girault, Poupard, and Stern [GPS06] which is extremely efficient when the signer is allowed to perform preprocessing before receiving the signature. One of the contributions of this paper is a construction of a scheme that possesses all the advantages of the scheme in [GPS06] in addition to having a tight security reduction.

As far as we are aware, there has not been any previous work that specifically considered tight reductions for latticebased signatures. Similar to number-theoretic constructions, lattice-based signatures secure in the random oracle model are built using either the Full Domain Hash [GPV08,SSTX09,MP12] or the Fiat-Shamir [MV03, Lyu08,KTX08,Lyu09,Lyu12] methodologies. While FDH-based lattice signatures have tight reductions, the currently most efficient lattice-based schemes (in terms of both the signature size and the running time) are those based on the Fiat-Shamir framework [Lyu09,Lyu12]. And so it is an interesting problem whether it's possible to construct an efficient Fiat-Shamir based scheme that has tight reductions. The construction of such a scheme is another contribution of this work, though it is unfortunately a little less efficient than the ones in [Lyu09,Lyu12].

The third scheme that we construct in our work is based on the hardness of the low-density subset sum problem. Due to a known reduction from subset sum to lattice problems [LO83,Fri86], all signature schemes based on lattices are already based on subset sum. The aforementioned reduction, however, incurs a loss, and so the lattice-based schemes are not based on as hard a version of subset sum as we achieve in this paper by building a scheme directly on subset sum. Additionally, our scheme is surprisingly simple (to describe and to prove) and we believe that it could be of theoretical interest.

Proving schemes secure using the Fiat-Shamir heuristic is usually done by first building a 3-move identification scheme secure against passive adversaries, and then applying the Fiat-Shamir transformation, which was proven in [AABN02] to yield provably secure signatures. The advantage of building schemes using this modular approach is that one does not have to deal with any (usually messy) issues pertaining to random oracles when building the identification scheme -all mention of random oracles is delegated to the black-box transformation. For signature schemes with tight security reductions, however, this construction method does not work. The reason is that the transformation of [AABN02] inherently loses a factor of q h in the success probability of the impersonator to the ID scheme in relation to the forger of the signature scheme, which results in a non-tight security reduction.

In this paper, we give a black-box transformation analogous to that of [AABN02] that converts what we call, lossy identification schemes into signature schemes with tight security reductions. Roughly speaking, a lossy identification scheme is a three move commit-challenge-response identification scheme that satisfies the following four simple properties:

1. Completeness: the verification algorithm must accept a valid interaction with non-negligible probability. 2. Simulatability: there is a simulator, who does not have access to the secret key, who is able to produce valid interaction transcripts that are statistically indistinguishable from real ones. 3. Key indistinguishability: there is an algorithm that produces lossy keys that are computationally indistinguishable from the real keys. 4. Lossiness: when the keys are lossy, it is statistically impossible to provide a valid response to a random challenge after making a commitment.

Properties 1 and 2 are generally true of all identification schemes, whereas properties 3 and 4 are particular to the lossy case and are crucially required for obtaining a tight black-box transformation. Our transformation converts a lossy identification scheme into a signature scheme and proves that a successful forger can be converted into a successful impersonator to the identification scheme. Since the only non-statistical property in the definition above is property 3, it means that the successful impersonator breaks this property, which is where we will plant the instance of the hard problem that we are trying to solve. We demonstrate the usefulness and generality of this approach by building our signature schemes in this way.

Overview of Our Signature Schemes

Construction based on the (decisional) Short Discrete Logarithm Problem. The (computational) c-Discrete Logarithm with Short Exponent (c-DLSE) problem in a cyclic group G with generator g is the well-studied problem of recovering the discrete logarithm x of a given group element g x when x is a c-bit long integer, c being typically much smaller than the bit-size of G. Pollard's lambda algorithm [Pol00] solves this problem in time O(2 c/2 ), but when G is a subgroup of prime order in Z * p and c is at least twice the security parameter (c = 160 for the 80-bit security level, say), the c-DLSE problem is believed to be as hard as the full-length discrete logarithm problem [vW96,PS98a]. A number of cryptographic schemes are based on the hardness of the c-DLSE problem, including pseudorandom bit generators [PS98a,Gen00,Gen05], key agreement protocols [GKR04] and signature schemes including Girault-Poupard-Stern (GPS) signatures [PS98b,GPS06].

Like other discrete log-based schemes [Sch91,KW03,CM05], GPS is an online/offline scheme in the sense of Even, Goldreich and Micali [EGM90,EGM96]: when preprocessing can be done prior to receiving the message to be signed, signature generation becomes very efficient. The main advantage of GPS signatures, however, is that this online signature generation step doesn't even require a modular reduction, which according to the work of [SOSH10], can save as much as 60% of the signing time, which makes the scheme extremely well-suited for situations where processing time is at a premium.

Our scheme, described in Section 4, is very similar to the scheme of [GPS06], but with some tweaks making it possible to choose smaller parameters. Moreover, while the security proof for GPS is a very loose reduction to the computational c-DLSE problem, our security proof provides a tight reduction, which is however to the decisional short discrete log problem (c-DSDL). Informally, the c-DSDL problem asks to distinguish between a pair (g, g x ) where x is c-bit long and a pair (g, h) where h is uniformly random. No better algorithm is known for solving this problem than actually computing the discrete logarithm and checking whether it is small-in fact, a search-to-decision reduction was established by Koshiba and Kurosawa [KK04].

Given the pair (g, g x ), we set it as the public key, which by our assumption is computationally indistinguishable from (g, g x ) where x is random (i.e. not small). We then build an identification scheme that satisfies our simulatability requirement, and furthermore show that it is information-theoretically impossible to respond to a random challenge if x is not small. Using our transformation to signatures, this implies that if a forger can produce a valid forgery, then he can respond to a random challenge, which would mean that x is small.

In the end, we obtain a tightly-secure scheme which is quite efficient in terms of size (signatures are around 320bits long at the 80-bit security level) and speed, especially when used with coupons (in which case signature generation only requires a single multiplication between integers of 80 and 160 bits respectively).

Construction Based on the Shortest Vector Problem in Ideal Lattices. In Section 5, we give a construction of a signature scheme based on the hardness of the approximate worst-case shortest vector problem in ideal lattices. Our scheme is a modification of the scheme in [Lyu09] that eliminates the need to use the forking lemma. The scheme in [Lyu09] was shown to be secure based on the hardness of the RING-SIS problem, which was previously shown to be as hard as worst-case ideal lattice problems [LM06,PR06]. In this work, we construct a similar scheme, but instead have it based on the hardness of the RING-LWE problem, which was recently shown to also be as hard as the worst-case shortest vector problem under quantum reductions [LPR10].

The secret key in our scheme consists of two vectors s 1 , s 2 with small coefficients in the ring R = Z q [x]/(x n + 1), and the public key consists of a random element a ∈ R × and t = as 1 + s 2 . The RING-LWE reduction states that distinguishing (a, t) from a uniformly random pair in R × × R is as hard as solving worst-case lattice problems. In our identification scheme, the commitment is the polynomial ay 1 + y 2 where y 1 , y 2 are elements in R chosen with a particular distribution. The challenge is an element c ∈ R with small coefficients, and the response is (z 1 , z 2 ) where z 1 = y 1 + s 1 c and z 2 = y 2 + s 2 c. As in [Lyu09], the procedure sometimes aborts in order to make sure that the distribution of (z 1 , z 2 ) is independent of the secret keys. The verification procedure checks that z 1 , z 2 have "small" coefficients, and that az 1 + z 2ct = ay 1 + y 2 .

The crux of the security proof lies in showing that whenever (a, t) is truly random, it is information-theoretically impossible to produce a valid response to a random challenge. Proving this part in our security reduction requires analyzing the ideal structure of the ring R using techniques similar to the ones in [Mic07]. This analysis is somewhat loose, however, so that the resulting signature scheme is not as efficient as the one in [Lyu09]. We believe that improving the analysis (possibly using some recent techniques in [SS11]) and obtaining a more efficient signature scheme is an interesting research direction.

Construction Based on Subset Sum. In Section 6, we present a very simple scheme based on the hardness of the subset sum problem. The secret key consists of an n × k 0/1 matrix X, and the public key consists of a random vector a ∈ Z n M , as well as a k-dimensional vector of subset sums t = a T X mod M that use a as weights. The main idea for constructing the lossy identification scheme is to achieve the property that if the vector t is uniformly random, rather than being a vector of valid subset sums, then it should be impossible (except with a small probability) to produce a valid response to a random challenge. And so an adversary who is able to break the resulting signature scheme can be used to distinguish vectors t that are valid subset sums of the elements in a from those that are just uniformly random. We defer further details to Section 6.

Preliminaries

The Decisional Short Discrete Logarithm Problem

Let G be a finite, cyclic group of prime order q whose group operation is noted multiplicatively, and g a fixed generator of G. Let further c be a size parameter. The c-decisional discrete logarithm (c-DSDL) problem may be informally described as the problem of distinguishing between tuples of the form (g, h) for a uniformly random h ∈ G and tuples of the form (g, g x ) with x uniformly random in {0, . . . , 2 c -1}. More precisely: Definition 1. A distinguishing algorithm D is said to (t, ε)-solve the c-DSDL problem in group G if D runs in time at most t and satisfies:

Pr[x $ ← Z q : D(g, g x ) = 1] -Pr[x $ ← {0, . . . , 2 c -1} : D(g, g x ) = 1] ≥ ε We say that G is a (t, ε)-c-DSDL group if no algorithm (t, ε)-solves the c-DSDL problem in G.
This problem is related to the well-known (computational) c-discrete logarithm with short exponent (c-DLSE) problem. In fact, for the groups where that problem is usually considered, namely prime order subgroups of Z * p where p is a safe prime, a search-to-decision reduction is known for all c [KK04]: if the c-DLSE problem is hard, then so is the c-DSDL problem. The reduction is not tight, however, so while the signature scheme presented in Section 4 admits a tight reduction to the decisional problem, there is a polynomial loss in the reduction to the search problem.

The Ring-LWE Problem and Lattices

For any positive integer n and any positive real σ, the distribution D Z n ,σ assigns the probability proportional to e -π y 2 /σ 2 to every y ∈ Z n and 0 everywhere else. For any odd prime p, the ring R = Z p [x]/(x n + 1) is represented by polynomials of degree at most n -1 with coefficients in the range -p-1 2 , p-1

2

. As an additive group, R is isomorphic to Z n p , and we use the notation y $ ← D R,σ to mean that a vector y is chosen from the distribution D Z n ,σ and then mapped to a polynomial in R in the natural way (i.e. position i of the vector corresponds to the coefficient of the x i term of the polynomial).

The (decisional) Ring Learning With Errors Problem (RING-LWE) over the ring R with standard deviation σ is to distinguish between the following two oracles: O 0 outputs random elements in R × R, while the oracle O 1 has a secret s ∈ R where s $ ← D R,σ , and on every query it chooses a uniformly random element a $ ← R, e $ ← D R,σ , and outputs (a, as + e). The RING-LWE problem is a natural generalization of the LWE problem [Reg09] to rings and it was recently shown in [LPR10] that if p = poly(n) is a prime congruent to 1 mod 2n, then solving the RING-LWE problem over the ring R with standard deviation 4 σ is as hard as finding an approximate shortest vector in all ideal lattices in the ring Z[x]/(x n + 1). Intuitively, the smaller the ratio between p and σ is, the smaller the vector the reduction is able to find, and thus it is preferable to keep this ratio low.

Note also that for such a choice of parameters (p ≡ 1 mod 2n, which implies in particular p = Ω(n) and R ∼ = Z n p ), the RING-LWE problem as defined above is equivalent to the same decisional problem, but where the element a is chosen as a uniformly random invertible element of R instead, and the adversary has to distinguish (a, as + e) from a uniformly random element of R × × R. This is because the fraction (1 -1/p) n of elements of R which are invertible is constant. In this paper, we will refer to both equivalent variants of the problem as RING-LWE.

The Subset Sum Problem

In the search version of the random subset sum problem, SS(n, M ), one is given n elements a i generated uniformly at random in Z M (in this paper, we will only deal with low-density instances of the problem, where M > 2 n ) and an element t = a i s i mod M , where the s i are randomly chosen from {0, 1}, and is asked to find the s i (with high probability, there is only one possible set of s i ). The decision version of the problem, which was shown to be as hard as the search version [IN96,MM11], is to distinguish an instance (a 1 , . . . , a n , t) where t = a 1 x 1 + . . . + a n s n mod M from the instance (a 1 , . . . , a n , t) where t is uniformly random in Z M . The low-density SS(n, M ) problem is hardest when M ≈ 2 n , in which case the best algorithm runs in time 2 Ω(n) (see for example [BCJ11]), but the best known algorithms for the problem when M = n O(n) , still require time 2 Ω(n) . As M increases, however, the problem becomes easier, until it is solvable in polynomial-time when M = 2 Ω(n 2 ) [LO83,Fri86].

Signature Schemes

Definition 2. A signature scheme Sig is composed of three algorithms (KeyGen, Sign, Verify) such that:

-The key generation algorithm KeyGen takes as input the security parameter in unary notation and outputs a pair (pk, sk) containing the public verification key and the secret signing key. -The signing algorithm Sign takes as input a message m and the signing key sk and outputs a signature σ. This algorithm can be probabilistic so that many signatures can be computed for the same message. -The verification algorithm Verify takes as input a message m, a signature σ and the public key pk and outputs 1 if the signature is correct and 0 otherwise.

The standard security notion for signature scheme is existential unforgeability against adaptive chosen-message attacks [GMR88] which informally means that, after obtaining signatures on polynomially many arbitrary messages of his choice, an adversary cannot produce a valid signature for a new message.

Definition 3. Let Sig = (KeyGen, Sign, Verify) be a signature scheme and let H be a random oracle. We say that Sig is (t, q h , q s , ε)-existentially unforgeable against adaptive chosen-message attacks, if there is no algorithm F that runs in time at most t, while making at most q h hash queries and at most q s signing queries, such that

Pr[(pk, sk) ← KeyGen(1 k );(m, σ) ← F Sign(sk,•),H(•) (pk) : m / ∈ S ∧ Verify(m, σ, pk) = 1] ≥ ε,
where S is the set of messages queried to the signing oracle.

Furthermore, we say that a signature scheme is strong existential unforgeability against adaptive chosen-message attacks if, after obtaining signatures on polynomially many arbitrary messages of his choice, an adversary cannot produce a new valid signature, even for a message m for which he already knows a correct signature. Definition 4. Let Sig = (KeyGen, Sign, Verify) be a signature scheme and let H be a random oracle. We say that Sig is (t, q h , q s , ε)-strongly existentially unforgeable against adaptive chosen-message attacks, if there is no algorithm F that runs in time at most t, while making at most q h hash queries and at most q s signing queries, such that

Pr[(pk, sk) ← KeyGen(1 k );(m, σ) ← F Sign(sk,•),H(•) (pk) : (m, σ) / ∈ S ∧ Verify(m, σ, pk) = 1] ≥ ε,
where S is the set of message-signature pairs obtained via queries to the signing oracle.

Lossy Identification Schemes

In order to unify the security proofs of our signature schemes without sacrificing the tightness of the reduction, we introduce in this section a new class of identification schemes, called lossy identification schemes. In these schemes, the public key associated with the prover can take one of two indistinguishable forms, called normal and lossy. When the public key is normal, the scheme behaves as a standard identification scheme with similar security guarantees against impersonation attacks. However, in the lossy case, the public key may not have a corresponding secret key and no prover (even computationally unbounded ones) should be able to make the verifier accept with non-negligible probability.

As with other identification schemes used to build signature schemes via the Fiat-Shamir transform, the identification schemes that we consider in this paper consist of a canonical three-move protocol, as defined in [AABN02]. In these protocols, the verifier's move consists in choosing a random string from the challenge space and sending it to the prover. Moreover, its final decision is a deterministic function of the conversation transcript and the public key. Since our results can be seen as a generalization of the results of Abdalla et al. [AABN02] to the lossy setting, we use their definitions as the basis for ours below.

Definition 5. A lossy identification scheme ID is defined by a tuple (KeyGen, LosKeyGen, Prove, c, Verify) such that:

-KeyGen is the normal key generation algorithm which takes as input the security parameter in unary notation and outputs a pair (pk , sk ) containing the publicly available verification key and the prover's secret key. -LosKeyGen is the lossy key generation algorithm which takes as input the security parameter in unary notation and outputs a lossy verification key pk . -Prove is the prover algorithm which takes as input the current conversation transcript and outputs the next message to be sent to the verifier. -c(k) is a function of the security parameter which determines the length of the challenge sent by the verifier.

-Verify is a deterministic algorithm which takes the conversation transcript as input and outputs 1 to indicate acceptance or 0 otherwise.

Following [AABN02], we associate to ID, k, and (pk , sk ) a randomized transcript generation oracle Tr ID pk ,sk ,k which takes no inputs and returns a random transcript of an "honest" execution. However, to adapt it to specific setting of our schemes, we modify to the original definition to take into account the possibility that the prover may fail and output ⊥ as response during the execution of the identification protocol. Moreover, when this happens, instead of outputting (cmt, ch, ⊥), our transcript generation oracle will simply return a triplet (⊥, ⊥, ⊥) to simulate the scenario in which the verifier simply forgets failed identification attempts. Interestingly, as we show later in this section, this weaker requirement is sufficient for building secure signature schemes as failed impersonation attempts will be kept hidden from the adversary since the tasks of generating the commitment and challenge are performed by the signer. More precisely, the transcript generation oracle Tr ID pk ,sk ,k is defined as follows:

Tr ID pk ,sk ,k (): (k) in which we generate pk via KeyGen(1 k ), respectively LosKeyGen(1 k ), and provide it as input to the distinguishing algorithm D. We say that D can (t, ε)-solve the key-indistinguishability problem if D runs in time t and

1: cmt $ ← Prove(sk ) 2: ch $ ← {0, 1} c(k) 3: rsp $ ← Prove(sk , cmt, ch) 4: if rsp = ⊥ then (cmt, ch) ← (⊥, ⊥) 5: return (cmt,
Pr[ Exp ind-keys-real ID,D (k) = 1 ] -Pr[ Exp ind-keys-lossy ID,D (k) = 1 ] ≥ ε.
Furthermore, we say that ID is (t, ε)-key-indistinguishable if no algorithm (t, ε)-solves the key-indistinguishability problem. 4. Lossiness. Let I be an impersonator, st be its state, and k be a security parameter. Let Exp los-imp-pa ID,I (k) be the following experiment played between I and a hypothetical challenger:

Exp los-imp-pa ID,I (k): 1: pk $ ← LosKeyGen(1 k ) 2: (st, cmt) $ ← I Tr ID pk ,k (pk ) ; ch $ ← {0, 1} c(k) ; rsp $ ← I (st, ch) 3: return Verify(pk , cmt, ch, rsp)
We say I ε-solves the impersonation problem with respect to lossy keys if

Pr[ Exp los-imp-pa ID,I (k) = 1 ] ≥ ε.
Furthermore, we say that ID is ε-lossy if no (computationally unrestricted) algorithm ε-solves the impersonation problem with respect to lossy keys.

As in [AABN02], we need to use the concept of min-entropy [CG85] to measure the maximum likelihood that a commitment generated by the prover collides with a fixed value. The precise definition of min-entropy can be found in Definition 3.2 in [AABN02], which is restated in the context of lossy identification schemes in Appendix B.

In order to prove that a signature scheme obtained via the Fiat-Shamir transform is strongly existentially unforgeable, the underlying identification scheme will need to satisfy an additional property, called uniqueness, which states that, given a valid transcript (cmt, ch, rsp) with respect to a public key pk , the probability that there exists a new response value rsp ′ = rsp for which (cmt, ch, rsp ′ ) is a valid transcript is negligible. Definition 7. Let ID = (KeyGen, LosKeyGen, Prove, c, Verify) be a lossy identification scheme and let pk be the output of LosKeyGen(1 k ) for a security parameter k. Let (cmt, ch, rsp) be a valid transcript output by a lossy transcript generation function Tr ID pk ,k (). We say that ID is ε-unique with respect to lossy keys if the probability that there exists a new response value rsp ′ = rsp for which Verify(pk , cmt, ch, rsp ′ ) = 1 is at most ε, and perfectly unique if no such response value exists at all.

Transform. The signature schemes that we consider in this paper are built from lossy identification schemes via the Fiat-Shamir transform [FS87], in which the challenge becomes the hash of the message together with the commitment. However, since we do not assume perfect completeness of normal keys for the underlying lossy identification scheme, the signing algorithm will differ slightly from those considered in [AABN02] in order to decrease the probability of abort during signing. More precisely, let ID = (KeyGen, LosKeyGen, Prove, c, Verify) be a lossy identification scheme and let H be a random oracle. Let ℓ be a parameter defining the maximum number of signing attempts. We can construct a signature scheme Sig[ID, ℓ] = (KeyGen, Sign, Verify), as depicted in Figure 1.

We remark that the signature length of the scheme in Figure 1 can sometimes be optimized by setting σ = (ch, rsp). However, this is only possible when the commitment value cmt is uniquely defined by (ch, rsp), which is the case for all the schemes considered in this paper.

KeyGen(1 k ): Theorem 1. Let ID = (KeyGen, LosKeyGen, Prove, c, Verify) be a lossy identification scheme whose commitment space has min-entropy β(k), let H be a random oracle, and let Sig[ID] = (KeyGen, Sign, Verify) be the signature scheme obtained via the transform in Figure 1. If ID is ε s -simulatable, ρ-complete, (t ′ , ε k )-key-indistinguishable, and ε ℓ -lossy, then Sig[ID] is (t, q h , q s , ε)-existentially unforgeable against adaptive chosen-message attacks in the random oracle model for:

1: (pk , sk ) $ ← KeyGen(1 k ) 2: return (pk,
ε = ε k + q s ε s + (q h + 1)ε ℓ + ℓ(q s + q h + 1)q s /2 β t ≈ t ′ -O(q s • t Sign )
where t Sign denotes the average signing time. Furthermore, if ID is ε c -unique, then Sig[ID] is (t, q h , q s , ε)-strongly existentially unforgeable against adaptive chosen-message attacks in the random oracle model for:

ε = ε k + q s (ε s + ε c ) + (q h + 1)ε ℓ + ℓ(q s + q h + 1)q s /2 β t ≈ t ′ -O(q s • t Sign )
Finally, the probability that Sig[ID] outputs a valid signature is 1 -(1 -ρ) ℓ .

Proof overview. In order to prove the security of the signature scheme based on the security properties of the underlying lossy identification scheme, the main idea is to use honest transcripts generated by the identification scheme to answer signature queries made the adversary by appropriately programming the random oracle. More precisely, let (cmt, ch, rsp) be a valid transcript (i.e., Verify(pk , cmt, ch, rsp) = 1). To answer a query m to the signing oracle, we need to program the random oracle to set H(cmt, m) = ch so that (cmt, rsp) is a valid signature for m. Unfortunately, this programming may conflict with previous values output by the hash oracle. To address this problem, the first step of the proof is to show that such collisions happen with with probability at most ℓ(q s + q h + 1)q s /2 β . Next, we make a sequence of small changes to the security experiment to be able to bound the success probability of the forger. The first significant modification is to change the simulation of the signing oracle so that it no longer uses the secret key. This is done by replacing the transcript generation oracle Tr ID pk ,sk ,k with its simulated version Tr ID pk ,k . Since we make at most q s calls to Tr ID pk ,k , the difference in the success probability of the forger changes by at most q s ε s due to the simulatability of ID.

The second important modification is to replace the key generation algorithm with its lossy version. Since the secret key is no longer needed in the simulation of the signing oracle, the difference in the success probability of the forger changes by at most ε k due to the key-indistinguishability of ID.

The third significant modification, which only applies to the case of the proof of strong existential unforgeability, is to abort whenever the adversary outputs a valid forgery (m, (cmt, rsp)) for which (cmt, rsp ′ ) was one of the values returned by the signing oracle on input m and rsp ′ = rsp. Clearly, the difference in the success probability of the forger changes by at most q s ε c due to the uniqueness of ID.

Finally, we can bound the success probability of the forger in this final experiment by relating this probability with that of solving the impersonation problem with respect to lossy keys. Since we need to guess the hash query which will be used in the forgery to be able to break the underlying impersonation problem, we lose a factor q h + 1 in the reduction, resulting in the term (q h + 1)ε ℓ in the theorem.

Proof details. In order to prove Theorem 1, we will use a sequence Exp 0 , . . . , Exp 6 of hybrid experiments, where Exp 0 is the actual experiment defining the strong existential unforgeability of the signature scheme and Exp 6 is an experiment in which we can easily bound the success probability of the forger. For i = 0, . . . , 6, we also define an event δ i which corresponds to the probability that the adversary F successfully outputs a valid forgery in experiment Exp i .

For simplicity, we will assume in the remainder of the proof that the set of hash queries made by adversary against the strong existential unforgeability of the signature scheme always includes the the pair (cmt, m) involved in the forgery. This is without loss of generality since, given an adversary that does not ask such query to the hash oracle, we can always build another adversary with the same success probability and approximately the same running time which will always ask such query. This will however increase the total number of hash queries by 1.

Exp 0 . In this experiment, the (hypothetical) challenger runs (pk , sk ) $ ← KeyGen(1 k ), sets the hash (hc) and sign counters (sc) to 0, initializes the list of hash queries and responses to empty, and returns pk to the forger F.

Whenever F asks a hash query (cmt, m), the challenger checks if this query has already been asked and returns the same answer if this is the case. If this is a new query, then the challenger chooses a random string ch from the challenge space and returns it to F. It also increments hc by 1, adds (cmt, m) and ch to the list of hash queries and responses.

Whenever F asks for a sign query m, the challenger computes the signature σ as in the signing algorithm (i.e, σ $ ← Sign(sk , m)), increments sc by 1, and returns σ = (cmt, rsp) to F. In doing so, it checks whether H(cmt, m) has already been defined. If it hasn't, then the challenger chooses a new value ch from the challenge space, sets H(cmt, m) = ch, and computes rsp using this value.

Finally, when F outputs a forgery (m, σ), where σ was not outputted by the signing oracle on input m, the challenger returns Verify(pk , m, σ) as the output of the experiment. By definition, we have Pr[ δ 0 ] = ε.

Exp 1 . Let bad be a boolean variable initially set to false. In this experiment, the challenger changes the simulation of the signing oracle so that it sets bad to true whenever H(cmt, m) has already been defined (i.e., H(cmt, m) = ⊥). Moreover, when bad is set, the challenger chooses a random value ch from the challenge space and uses it (instead of predefined value H(cmt, m)) to compute the response. If bad is not set, then the challenger proceeds with the simulation as in Exp 0 .

Let Bad define the event that a hash query causes the experiment to set bad to true. Clearly, the difference in the success probability between Exp 0 and Exp 1 can be upper-bounded by Pr[ Bad ] since these experiments only differ after bad is set. To compute this probability, we can assume the worst-case in which all q h + 1 hash queries are asked at the beginning of the experiment. In this worst-case scenario, the probability that the i-th signing query causes the experiment to set bad to true is (ℓ(i -1) + q h + 1)/2 β , where the factor ℓ is due to the fact that signing oracle may attempt to generate a response up to ℓ times. By summing up over all q s signing queries, we have Pr[ Bad ] ≤ ℓ(q s + q h + 1)q s /2 β . As a result, we have

Pr[ δ 1 ] -Pr[ δ 0 ] ≤ ℓ(q s + q h + 1)q s /2 β .
Exp 2 . In this experiment, the challenger changes the simulation of the signing oracle so that it no longer sets the variable bad. Since the latter does not change the output of the experiment, we have Pr[

δ 2 ] = Pr[ δ 1 ].
Exp 3 . In this experiment, the challenger changes the simulation of the signing oracle so that the values (cmt, ch, rsp) are computed using the transcript generation function Tr ID pk ,sk ,k as a subroutine. Since the challenge values used to answer signing queries are chosen uniformly at random and independently of previous hash queries since Exp 1 , this change does not affect the output of the experiment. Hence,

Pr[ δ 3 ] = Pr[ δ 2 ].
Exp 4 . In this experiment, the challenger changes the simulation of the signing oracle so that the values (cmt, ch, rsp) used to answer signing queries are computed right after the generation of the public and secret keys, still using the transcript generation function Tr ID pk ,sk ,k as a subroutine. Since this change does not affect the output of the experiment, we have Pr[ δ 4 ] = Pr[ δ 3 ].

Exp 5 . In this experiment, the challenger computes the values (cmt, ch, rsp) used to answer signing queries using the simulated transcript generation function Tr ID pk ,k as a subroutine. Since we make at most q s calls to Tr We note that at this point, the secret key is no longer needed in the experiment and all hash queries are answered with random values in the challenge space. Moreover, all the values (cmt, ch, rsp) used to answer signing queries are computed via the simulated transcript generation function Tr ID pk ,k at the beginning of the experiment (after the key generation step) and independently of the hash queries. Exp 6 . In this experiment, the challenger generates (pk , ⊥) via LosKeyGen(1 k ). Since the secret key is no longer needed in the experiment and the values (cmt, ch, rsp) are computed using Tr ID pk ,k as a subroutine, it is easy to build an adversary B that (t ′ , ε ′ )-solves the key indistinguishability of

ID if |Pr[ δ 6 ]-Pr[ δ 5 ]| = ε ′ , where t ′ ≈ t+O(q s •t Sign ).
Since, ID is (t ′ , ε)-key-indistinguishable by assumption, we have

Pr[ δ 6 ] -Pr[ δ 5 ] ≤ ε k .
Exp 7 . In this experiment, the challenger aborts whenever the adversary outputs a valid forgery (m, (cmt, rsp)) for which (cmt, rsp ′ ) was one of the values returned by the signing oracle on input m and rsp ′ = rsp. Since such forgeries are not considered valid under the existential unforgeability security notion, we have that Pr[ δ 7 ] = Pr[ δ 6 ] in the case of the proof of existential unforgeability. Moreover, in the case of the proof of strong existential unforgeability, the difference in the success probability of the forger changes by at most q s ε c due to the uniqueness of ID. Hence, Pr[ δ 7 ] -Pr[ δ 6 ] ≤ q s ε c in the latter case.

We now claim that Pr[ δ 7 ] ≤ (q h + 1)ε ℓ . To prove this, it suffices to show that we can use the forger F in Exp 7 to build an adversary I that ε-solves the impersonation problem with respect to lossy keys. Let pk be the lossy key pk that I receives as input in Exp los-imp-pa ID,I (k). Next, I chooses a random index in {1, . . . , q h + 1} and runs F on input pk . As in Exp 7 , I computes the values (cmt, ch, rsp) using its transcript generation oracle Tr ID pk ,k . Whenever F asks a j-th hash query (cmt j , m j ), I first checks if i = j. If this is not the case, then I chooses a value ch uniformly at random from the challenge space and returns it to F as in Exp 7 . However, if i = j, then I saves its internal state in st and returns cmt i to its challenger in Exp los-imp-pa ID,I (k). Let (st, ch * ) be the input that I gets back from the challenger. I then sets H(cmt i , m i ) = ch * and returns it to F. It then continues the simulation exactly as in Exp 7 . Eventually, F outputs a forgery (m * , (cmt * , rsp * )). I then returns rsp * as its output in Exp los-imp-pa ID,I (k). Clearly, I simulates F's environment exactly as in Exp 7 . Moreover, if (cmt * , m * ) = (cmt i , m i ), then the probability that Exp los-imp-pa ID,I (k) outputs 1 is exactly the probability that Exp 7 outputs 1. Since this happens with probability 1/(q h + 1) and since ID is ε ℓ -lossy, it follows that Pr[ δ 7 ] ≤ (q h + 1)ε ℓ .

To conclude the proof, we point out that, since ID is ρ-complete, the signing algorithm may fail to produce a valid signature with probability (1 -ρ) ℓ .

⊓ ⊔

A Signature Scheme Based on the DSDL Problem

In this section we describe our short discrete log based signature scheme. While it looks similar to the prime-order version of the Girault-Poupard-Stern identification scheme [Gir90,PS98b,GPS06], the proof strategy is in fact closer to the one used by Katz and Wang for their DDH-based signature scheme [KW03,GJKW07]. We first present a lossy identification scheme and then use the generic transformation from the previous section to obtain the signature scheme.

Parameters: G a subgroup of prime order q in Z × p , g a generator of G Secret key:

x $ ← {0, . . . , 2 c -1} Public key: h = g x mod p (Lossy key: h $ ← G) Prover Verifier 1. y $ ← {0, . . . , 2 k+k ′ +c -1} u = g y mod p u ---------------→ 2. check e ∈ {0, . . . , 2 k -1} e ←---------------e $ ← {0, . . . , 2 k -1} 3. z = ex + y If z / ∈ {2 k+c , . . . , 2 k+k ′ +c -1}, then z ← ⊥. z ---------------→ check g z • h -e ?
= u and z ∈ {2 k+c , . . . , 2 k+k ′ +c -1} Fig. 2. A lossy identification scheme based on DSDL.

Description of the lossy identification scheme. The full description of our lossy identification scheme based on the DSDL Problem is provided in Figure 2. The public parameters of the identification scheme are a cyclic group G of prime order q (typically chosen as the subgroup of order q in Z * p where p is prime), a generator g of G, and size parameters c, k, k ′ . The secret key is a small (relative to q) integer x and the public key consists of a single group element h = g x mod p. The prover's first move is to generate a small (but larger than x) random integer y and send u = g y as a commitment to the verifier. Next, the (honest) verifier picks a value e uniformly in {0, . . . , 2 k -1} and sends it to the prover. After receiving e from the verifier, the prover computes z = ex + y (without any modular reduction), and checks whether z is in the range {2 k+c , . . . , 2 k+k ′ +c -1}. If z is in the "correct" range, then the prover sends z to the verifier, who can check the verifying equation u = g z /h e to authenticate the prover. If z is outside the correct range, the prover sends ⊥ to indicate failure-as in [Lyu08,Lyu09], this check is important to ensure that the distribution of the value z is independent of the secret key x; it is worth noting that the original GPS scheme did not require such checks, but required a larger "masking parameter" y.

Security of the identification scheme. As noted above, the scheme in Figure 2 is a secure lossy ID scheme. More precisely, we establish the following theorem.

Theorem 2. If G is a (t, ε)-c-DSDL group, then the identification scheme in Figure 2 is perfectly simulatable, ρcomplete, (t, ε)-key-indistinguishable, and ε ℓ -lossy, for:

ρ = 1 -2 -k ′ ε ℓ ≤ 2 2k+k ′ +c+2 /q + 1/2 k .

It is also perfectly unique with respect to lossy keys.

We first establish the following lemma.

Lemma 1. The probability that z = ex + y computed by the prover belongs to the correct interval {2 k+c , . . . ,

2 k+k ′ +c -1} is 1-2 -k ′ .
In particular, the expected number of iterations required to identify the prover is 1/(1-2 -k ′ ). Moreover, the value z in the transcript is uniformly distributed in {2 k+c , . . . , 2 k+k ′ +c -1}.

Proof. Since the distribution of e is independent of that of y, the value z = ex + y is uniformly distributed in the set {ex, ex+1, . . . , ex+2 k+k ′ +c -1}, which is of cardinal 2 k+k ′ +c and properly contains G = {2 k+c , . . . , 2 k+k ′ +c -1}.

Therefore, the probability that z belongs to G is exactly |G|/2 k+k ′ +c = 1 -2 -k ′ as required. The expected number of iterations in the identification scheme follows immediately. Furthermore, for any element z 0 ∈ G we have:

Pr[z = z 0 |z ∈ G] = Pr[z = z 0 ] Pr[z ∈ G] = 1/2 k+k ′ +c |G|/2 k+k ′ +c = 1 |G|
and thus, provided that z passes the test in the verification step, we know that it is uniformly distributed in G. Hence the final claim.

⊓ ⊔

With these lemmas, we are ready to establish the stated properties from Definition 6 and Definition 7, namely completeness, simulatability of the transcripts, indistinguishability of the keys, lossiness and uniqueness.

Completeness. If the public and secret keys are generated with the "normal" key generation algorithm, then the interaction with an honest verifier should result in acceptance with significant probability. Lemma 1 shows that this probability is exactly

1 -2 -k ′ .
Simulatability of the transcripts. Let Tr ID pk ,sk be the honest transcript generation function corresponding to a key pair (pk , sk ) generated by the "normal" key generation algorithm. Recall from Section 3 that it outputs the full transcript (cmt, ch, rsp) if rsp = ⊥ and (⊥, ⊥, ⊥) otherwise. Then, there should exist an efficient transcript generation simulator Tr ID pk depending only on pk (not on sk ) producing transcripts whose distribution is statistically close to that of Tr ID pk ,sk . We construct Tr ID pk as follows. The public key pk consists of a single group element h = g x ∈ G. To generate a "simulated" transcript, Tr ID pk picks z uniformly at random in the range {2 k+c , . . . , 2 k+k ′ +c -1} and chooses e uniformly at random in the range {0, . . . , 2 k -1}. Then it computes u as g z /h e . Finally, it returns (u, e, z) with probability 1 -2 -k ′ and (⊥, ⊥, ⊥) otherwise.

Then, according to Lemma 1, if pk = h is a correct public key (of the form g x with 0 ≤ x ≤ 2 c -1), the output distribution of Tr ID pk is exactly the same as that of Tr ID pk ,sk .

Indistinguishability of keys.

The public key generated by a "lossy" key generation algorithm should be indistinguishable from that generated by the "normal" key generation algorithm. The indistinguishability of the lossy and normal key is exactly decisional assumption that it is difficult to distinguish short discrete logs.

Lossiness. Given a lossy public key h (which is thus of the form g x for x uniformly random in Z q ), we have to show that the probability that an impersonator interacting with an honest verifier generates a valid response is negligible. Let I be an impersonator for the Exp los-imp-pa ID,I (k) experiment described in Definition 6. We first claim that, with high probability over the choice of x, for any choice of u ∈ G, there is at most one value e such that u can be written as g z • h -e for some z in the appropriate interval. Indeed, if two pairs (z, e) = (z ′ , e ′ ) exist, we have g z • h -e = g z ′ • h -e ′ , i.e. z -xe ≡ z ′ -xe ′ (mod q). This implies that:

x ≡ z -z ′ e -e ′ (mod q)
which means that x can be written as a modular ratio between an element of {-2 k+k ′ +c + 1, . . . , 2 k+k ′ +c -1} and an element of {-2 k + 1, . . . , 2 k -1}. But there are at most 2 2k+k ′ +c+2 such ratios. Thus, two pairs can only exist with probability at most 2 2k+k ′ +c+2 /q. Assume that x doesn't satisfy that relation. Then for any possible commitment the impersonator I makes, there is at most one value of the uniformly random challenge e ∈ {0, . . . , 2 k -1} for which a valid response can be constructed. Thus the success probability of I is not higher than 1/2 k .

As a result, we obtain the required bound on the advantage of I in the experiment Exp los-imp-pa

ID,I (k)
:

Adv los-imp-pa ID,I (k) = Pr[ Exp los-imp-pa ID,I (k) = 1 ] ≤ 2 2k+k ′ +c+2 /q + 1/2 k .
KeyGen(): Pick x $ ← {0, . . . , 2 c -1} as the private key, and h ← g x mod p as the public key.

Sign(m, x):

1: ctr ← 0 2: y $ ← {0, . . . , 2 k+k ′ +c -1} 3: e ← H(g y mod p, m) 4: z ← ex + y 5: if z / ∈ {2 k+c , .
. . , 2 k+k ′ +c -1} and ctr < ℓ then 6:

ctr ← ctr + 1 7:

goto Step 2 8: if z / ∈ {2 k+c , . . . , 2 k+k ′ +c -1} then (z, e) ← (⊥, ⊥)

9: return σ = (z, e)
Verify(m, h, σ = (z, e)): accept if and only if z ∈ {2 k+c , . . . , 2 k+k ′ +c -1} and e = H(g z • h -e mod p, m). Uniqueness. Finally, all it remains to establish is that, given pk a public key output by LosKeyGen(1 k ) and (u, e, z) a valid transcript output by the transcript generation function Tr ID pk ,k (), there never exists a new response z ′ = z for which Verify(pk , u, e, z ′ ) = 1. But this is clear: the verification equation implies g z ′ /h e = u = g z /h e , hence g z ′ = g z , and thus z ′ = z, a contradiction.

⊓ ⊔ Conversion to a signature scheme. In order to obtain our signature scheme based on the DSDL problem, we apply the transform provided in the previous section to the identification scheme in Figure 2. The full description of the resulting scheme is provided in Figure 3. In addition to those of the underlying identification scheme, the public parameters of the signature scheme also include the maximum number of signing attempts ℓ and a random oracle H : {0, 1} * → {0, . . . , 2 k -1}. The key pair is as before. To sign a message m, we generate a small (but larger than x) random integer y and compute e ← H(g y mod p, m). Finally, we set z = ex + y and check whether z is in the correct range. If it's not, we restart the signature process. In case of ℓ failures, the signing algorithm simply outputs (⊥, ⊥) to indicate failure. Otherwise, the signature will consist of the pair σ = (z, e). Since the probability that z is not in the correct range is smaller than 1/2 k ′ , the signing algorithm will fail with probability at most (1 -1/2 k ′ ) ℓ . Moreover, the average number of iterations is 1/(1 -1/2 k ′ ).

As a direct consequence of Theorems 1 and 2, we get:

Theorem 3. If G is a (t ′ , ε ′ )-c
-DSDL group, then this signature scheme is (t, q h , q s , ε)-strongly existentially unforgeable against adaptive chosen-message attacks in the random oracle model for:

ε = ε ′ + (q h + 1) • 2 2k+k ′ +c+2 q + ℓ(q s + q h + 1) • q s 2 k t ≈ t ′ -O(q s • t 1 )
(where t 1 is the cost of an exponentiation in G), and it outputs a valid signature with probability 1 -2 k ′ ℓ .

Remarks.

1. The scheme in Figure 3 uses (z, e) instead of (z, g y ) as the signature since (z, e) can be used to recover g y , but the length of e is shorter than that of g y . 2. This is an online/offline signature scheme: it can be used with coupons by pre-computing (y, g y mod p) independently of the message. In the rare case when z is not in the right interval (which can be checked without even computing a multiplication), it suffices to use another coupon.

Sign(m, x):

1: i ← 0 2: y ← G(x, m, i) 3: e ← H(g y mod p, m) 4: z ← ex + y 5: if z / ∈ {2 k+c , . . . , 2 k+k ′ +c -1} then 6: i ← i + 1 7:
goto Step 2 8: return σ = (z, e) 3. The reduction is not completely tight: there is a small loss of ℓ • q s . As in [GJKW07], this loss can be avoided by ensuring that the masking parameter y is always the same for a given message, either by making the scheme stateful (keeping track of the randomness on signed messages) or by generating y as a deterministic, pseudorandom function of the signed message and the private key, as seen in Figure 4 (but the resulting scheme is no longer online/offline).

Suggested Parameters. We propose the following parameters for an instantiation of our scheme with an 80-bit security level. The size of the public key g x mod p is 1024 bits and the size of the signature (z, e) is k+k ′ +c+k = 328 bits.

Parameter Value q prime of length ≥ 490 bits p 1024-bit prime G subgroup of order q in Z * A full signature requires a single exponentiation of 248 bits in Z * p with fixed base, which is about as efficient as comparable schemes (faster than the two 160-bit exponentiations in the Katz-Wang DDH scheme, for example). In our scheme, there is a 1/2 k ′ = 1/256 chance that the signing algorithm will have to be repeated, but this has little effect on the expected running time.

When used with coupons, the scheme is possibly the fastest option available, with an online cost of one single integer multiplication between a 80-bit number and a 160-bit number, and no modular reduction.

A Signature Scheme Based on Lattices

In this section, we present a signature scheme whose security is based on the hardness of the RING-LWE problem. Towards this goal, we first describe a lossy identification scheme based on the RING-LWE problem and then use our generic transformation in Section 3 to obtain the signature scheme.

Description of the lossy identification scheme. The full description of our lossy identification scheme based on lattices is described in Figure 7, and for convenience we list the notation used in the scheme in Figure 6. The secret key consists of two polynomials s 1 , s 2 with "small" coefficients chosen from the distribution D R,σ (as defined in Parameter Definition n integer that is a power of 2 σ standard deviation of the secret key coefficients p "small" prime equal to

1 mod 2n R ring Zp[x]/ x n + 1 C {g ∈ R : g ∞ ≤ log n} M {g ∈ R : g ∞ ≤ n 3/2 σ log 3 n} G {g ∈ R : g ∞ ≤ (n -1)
√ nσ log 3 n} Fig. 6. Parameters for the lattice-based scheme.

Secret key: Pick s1, s2

$ ← DR,σ and let the secret key be (s1, s2)

Public key: Select a $ ← R × and let the public key be (a, t), where t ← as1 + s2

(Lossy key: (a, t) Section 2.2), and the public key consists of a randomly-chosen element a ∈ R × and of the value t = as 1 + s 2 . Under the RING-LWE assumption in the ring R, the public key is thus indistinguishable from a uniformly random element in R × × R.

$ ← R × × R) Prover Verifier 1. y1, y2 $ ← M u = ay1 + y2 u ---------------→ 2. check c ∈ C c ←---------------c ← C 3. z1 ← s1c + y1, z2 ← s2c + y2 If z1 or z2 / ∈ G, then z1 ← ⊥; go z2 ← ⊥ z1, z2 ---------------→ check z1, z2 ∈ G and u ? = az1 + z2 -tc.
In our protocol, the prover's first move is to create two "small" polynomials y 1 , y 2 (larger than s 1 , s 2 by a factor ≈ n) from the set M, and then send the value u = ay 1 + y 2 to the verifier. Upon receipt of u, the (honest) verifier chooses a value c uniformly at random in the set C and sends it to the prover. After receiving c from the verifier, the prover sets z 1 ← s 1 c + y 1 and z 2 ← s 2 c + y 2 and checks whether the z i 's are both in G. If they are, the prover then sends the response (z 1 , z 2 ) to the verifier. If one (or both) of the z i are outside of G (which happens with probability approximately 1 -1/e 2 ), then the prover simply sends (⊥, ⊥). Finally, the verifier simply checks whether the z i 's are in G and that az 1 + z 2 = tc + u.

At this point, we should mention that using the recent techniques from [Lyu12], it is possible to lower the bitsize of the response (z 1 , z 2 ) by choosing the polynomials y 1 , y 2 from a normal distribution and then doing a somewhat more involved rejection sampling when deciding whether to send (z 1 , z 2 ) or (⊥, ⊥) to the verifier.

The idea of checking whether the polynomials z i are in some set and redoing the signature otherwise is the aborting technique first used in [Lyu08,Lyu09] and is crucial in Fiat-Shamir type lattice schemes for masking the secret keys s i while keeping the response size small and the security reduction meaningful. Intuitively, the larger the length of the elements z i with respect to the secret keys s i , the easier it is for adversaries to break the identification scheme, and so we would be required to set the parameters higher to avoid attacks.

Security of the identification scheme. The idea for the security proof is as follows: we first show in Lemma 3 and Corollary 1 that for any s 1 , s 2 , the distribution of (z 1 , z 2 ) is statistically close to uniform in the set G. This fact allows us to simulate the transcript generation algorithm without knowing the secret key by picking z 1 , z 2 randomly from G, picking c randomly from C and computing the corresponding challenge as u = az 1 + z 2tc. On the other hand, the hardness of the RING-LWE problem says that a normal public key (a, as 1 + s 2 ) is indistinguishable from a "lossy" key (a, t) chosen uniformly at random in R × × R. This is enough to see that we have constructed a lossy ID scheme if we can prove that such a random key (a, t) is indeed lossy.

To do so, we apply a similar strategy as for the short discrete log-based scheme from §4 by showing that if in the lossy case, for a give commitment u, the existence of two valid challenge-response pairs (c, z) and (c ′ , z ′ ) implies that t is in some sense a "short modular ratio", a property that is only satisfied with negligible probability. However, a technical issue that didn't occur in §4 is that the probability that cc ′ is not invertible in R is non-negligible. We circumvent this problem by showing that, with high probability, it becomes invertible in a quotient of R that isn't too small. This is reminiscent of techniques used, for example, in [Mic07, Theorem 4.2].

Theorem 4. If p ≫ σ 2/α • n 3/α+η for some η > 0, and the RING-LWE problem over R with standard deviation σ is (ε, t)-hard, then the identification scheme in Figure 7 is ε s -simulatable, ρ-complete, (t, ε)-key-indistinguishable and ε ℓ -lossy, for:

ρ ≥ 1 e 2 - 2 en ε s ≤ negl(n) ε ℓ ≤ negl(n).
If, moreover, p ≫ σ 2/α • n 4/α+η for some η > 0, then the identification scheme is also ε c -unique for some ε c ≤ negl(n).

Proof. Fix an element a ∈ R and a rational number α ∈ (0, 1) whose denominator is a small power of 2, so that d = αn is an integer (this constant α will ultimately be chosen arbitrarily close to 1). Define an element t ∈ R to be an α-partial modular ratio (with respect to a) when there exists

(z 1 , z ′ 1 , z 2 , z ′ 2 ) ∈ G 4 , (c, c ′ ) ∈ C 2 and a polynomial Q ∈ Z p [x] of degree d dividing x n + 1 such that: c -c ′ is invertible mod Q and t ≡ a(z 1 -z ′ 1 ) + (z 2 -z ′ 2 ) c -c ′ (mod Q). (1)
We will need some technical lemmas, proved in Appendix A.

Lemma 2. Let t be a uniformly random element of R. Then:

Pr[t is an α-partial modular ratio] ≤ n d 33n 3 σ 2 log 7 n p α n
In particular, if p ≫ σ 2/α • n 3/α+η for some η > 0, then this probability is negligible.

Lemma 3. If s $ ← D R,σ , c $ ← C
, and y $ ← M, then the following inequalities hold:

Pr[sc + y ∈ G] ≥ 1 e - 1 en -e -Ω(log 2 n) , g∈G Pr[sc + y = g | sc + y ∈ G] - 1 |G| ≤ e -Ω(log 2 n) .
The following corollary is an immediate consequence of Lemma 3.

Corollary 1. The probability that the z 1 and z 2 computed by the prover upon receipt of the challenge c are both in G is at least 1 e 2 -2 en . Moreover, the distributions of z 1 and z 2 when this is satisfied are statistically close to uniform in G.

Turning to the proof, we follow the same steps as in §4. Following Definition 6, we prove the completeness property of the identification scheme, the simultability of the transcripts, the indistinguishability of the keys and the lossiness property.

Completeness. Corollary 1 shows that, given a key pair generated by the normal key generation algorithm, the prover interacting with a honest verifier produces a valid response with probability at least 1/e, which is non-negligible as required.

This means that (z

1 -z ′ 1 , z 2 -z ′ 2 ) is a nonzero vector in the lattice: L a = {(w 1 , w 2 ) ∈ Z[x]/(x n + 1) : aw 1 + w 2 = 0 (mod p)}.
Now, according to [SS13, Lemma 3.3], for a uniformly random choice of a ∈ R × and any ν > 0, the first minimum of L a in the • ∞ norm satisfies:5

λ ∞ 1 (L a ) ≥ 1 √ n p 1/2-ν
except with probability ≤ 2 4n p -2νn . In particular, if we set ν = (1 -α)/2, we see that:

λ ∞ 1 (L a ) ≥ p α n ≫ σ • n 3/2+αη/2
except with probability at most (4/p 1-α ) 2n .

On the other hand, we have seen that (z 1z ′ 1 , z 2z ′ 2 ) was a nonzero vector in L a , and its infinity norm is less than 2σ • n 3/2 log 3 n ≪ σ • n 3/2+αη/2 . Therefore, the probability ε c that a new transcript that verifies correctly exists satisfies:

ε c ≤ 4 p 1-α 2n = negl(n).
This concludes the proof.

⊓ ⊔ Conversion to a signature scheme. In order to obtain our signature scheme based on lattices, we apply our generic transform to the identification scheme in Figure 7. The full description of the resulting scheme is provided in Figure 8.

In addition to the public parameters of the underlying identification scheme, the parameters of the signature scheme also include the maximum number of signing attempts ℓ and a hash function H mapping to polynomials in the set C H : {0, 1} * → C modeled as a random oracle. The secret key and public keys are as in underlying identification scheme.

The running-time of the scheme is determined by the cost of the operations and also by the number of repetitions of the signing algorithm until it outputs a signature. Notice that the most expensive operations are the three multiplications of elements in the ring R. Since multiplication in this ring can be performed using FFT in time Õ(n log p), and p = poly(n), each signature attempt takes time Õ(n). We prove that the signature succeeds with probability approximately 1/e on each attempt (see Lemma 3 and Corollary 1) and so the running time of the signature (and verification) algorithms is Õ(n).

The following result is a direct consequence of Theorems 1 and 4.

Theorem 5. If p ≫ σ 2/α • n 3/α+η for some η > 0, and the RING-LWE problem over R with standard deviation σ is (ε ′ , t ′ )-hard, then the above signature scheme is (t, q h , q s , ε)-unforgeable against chosen message attacks in the random oracle model for:

t ≈ t ′ -O(q s • t 1 ) ε = ε ′ + (q h + q s ) • negl(n)
(where t 1 is the cost of a multiplication in R), and it outputs a valid signature with probability ≥ 1 -1 -1/e 2 + 2/(en) ℓ . If, moreover, p ≫ σ 2/α • n 4/α+η for some η > 0, the signature scheme is (t, q h , q s , ε)-strongly unforgeable against chosen message attacks.

Corollary 2. The conclusion still holds when the condition on p is relaxed to p ≫ σ 2 • n 3+η (resp. p ≫ σ 2 • n 4+η ) for some η > 0.

Proof. It suffices to apply the previous result with α sufficiently close to 1. ⊓ ⊔ 6 A Signature Scheme Based on Subset Sum

In this section, we construct a lossy identification scheme based on the hardness of the random SS(n, M ) problem for a prime M > (2kn + 1) n • 3 2k , where k is a security parameter. The secret key is a random matrix X $ ← {0, 1} n×k , and the public key consists of a vector a $ ← Z n M , and a vector t = a T X mod M . In the first step of the protocol, the prover selects a vector y $ ← {-kn, . . . , kn} n and sends an integer commitment u = a, y mod M to the verifier.

The verifier selects a random challenge vector c $ ← {0, 1} k , and sends it to the prover, who checks that c is indeed a valid challenge vector. The prover then computes a possible response z = Xc + y (note that there is no modular reduction here), and sends it to the verifier if it is in the range {-kn + k, . . . , kn -k} n . If z is not in this range, then the prover sends ⊥. Upon receiving a z, the verifier accepts the interaction if z ∈ {-kn + k, . . . , kn -k} n and a, zt, c mod M = u.

It is easy to see that in the case that the prover does not send ⊥, he will be accepted by the verifier since a, zt, c mod M = a T Xc + a, ya T Xc mod M = u.

Then, we observe that the probability that for any element z ∈ {-kn + k, . . . , kn -k} n , the probability that the response will be z = z is And thus the simulatability property of the scheme is satisfied since one can create a valid transcript by generating (⊥, ⊥, ⊥) with probability 1 -ρ, and otherwise pick a random z ∈ {-kn + k, . . . , kn -k} n , a random c ∈ {0, 1} k , and output ( a, zt, c mod M, c, z).

The lossy public keys are just two uniformly random vectors a and t, and so the indistinguishability of these keys from the real keys is directly based on the hardness of the SS(n, M ) problem using a standard hybrid argument.

To show lossiness, we observe that if t is uniformly random in Z k M , then it can be shown that with high probability, for any choice of u ∈ Z M , there is at most one value c such that u can be written as a, zt, c mod M . Indeed, if there exist two pairs (z, c), (z ′ , c ′ ), such that a, zt, c = a, z ′t, c ′ mod M, then we have a, zz ′t, cc ′ mod M = 0.

(2)

The set of valid pairs (zz ′ , cc ′ ) consists of (2kn + 1) n • 3 k elements. If (a, t) is chosen completely at random, then for each of those valid pairs, the probability that Equation ( 2) is satisfied is 1/M (since (z, c) = (z ′ , c ′ ) and M is prime) and so the probability over the randomness of a and t that Equation ( 2) is satisfied for any of the valid pairs is at most (2kn + 1) n • 3 k /M , which by our choice of M , is at most 3 -k . A similar argument also shows that the identification scheme is unique with respect to lossy keys, in the sense of Definition 7, so that the corresponding signature scheme is strongly unforgeable.

To convert this lossy identification scheme to a signature scheme, one would simply perform the transformation described in Figure 1, as we did for the other schemes in this paper. And as for the lattice-based scheme in Section 5, we point out that the technique in [Lyu12] can be used to reduce the coefficients of the signature by about a factor of √ n to make them fall in the range {-O(k √ n), . . . , O(k √ n)} n by sampling the vector y from a normal distribution and performing a somewhat more involved rejection sampling procedure when deciding whether or not to send the response z. This would also allow us to reduce the modulus M to approximately M = O(k √ n) n • 3 2k , which makes the SS(n, M ) problem more difficult. Another possible optimization could include making k larger, but making the vector c sparser (while still making sure that it comes from a large enough set), which would result in a shorter vector Xc.

We would also like to point out that one could also construct the scheme above based on the Subset Sum assumption, over Z m q , rather than over Z M , for some m and q. The proof details would be almost the same. One would just have to change a from being an n-dimensional vector to an m × n-dimensional matrix, and similarly change t from a k-dimensional vector to an m × k-dimensional matrix. Then all that is left to do is to verify that for the chosen parameters, the probability of Equation (2) being 0 over the random choices of a and t remains small. which is the first stated result. Similarly, we obtain:

Pr[sc + y ∈ G] ≤ 1 -e -Ω(log 2 n) • |G| |M| + e -Ω(log 2 n) ≤ |G| |M| + e -Ω(log 2 n)
and for the same reasons, we have for any g ∈ G:

1 -e -Ω(log as follows:

1

|M| 1 -e -Ω(log 2 n) |G| |M| + e -Ω(log 2 n) ≤ Pr[sc + y = g | sc + y ∈ G] ≤ 1 |M| |G| |M| 1 -e -Ω(log 2 n) 1 |G| • 1 -e -Ω(log 2 n) 1 + |M| |G| e -Ω(log 2 n) ≤ Pr[sc + y = g | sc + y ∈ G] ≤ 1 |G| • 1 1 -e -Ω(log 2 n) 1 |G| • 1 -2 |M| |G| e -Ω(log 2 n) ≤ Pr[sc + y = g | sc + y ∈ G] ≤ 1 |G| • 1 + 2e -Ω(log 2 n) .
As a result, we obtain the desired bound:

g∈G

Pr[sc + y = g | sc + y ∈ G] - 1 |G| ≤ |G| • e -Ω(log 2 n) |G| = e -Ω(log 2 n) .

⊓ ⊔

Proof of Lemma 2. First fix a divisor Q of degree d of x n + 1 in Z p [x], and write x n + 1 = Q • Q. Since x n + 1 is separable, Q and Q are coprime, so that any element t ∈ R is entirely determined by its reductions mod Q and Q. Now, let us first estimate the number of elements t ∈ R/ Q such that there exists (z 1 , z ′ 1 , z 2 , z ′ 2 ) ∈ G 4 and (c, c ′ ) ∈ C 4 with cc ′ invertible mod Q such that:

a(z 1 -z ′ 1 ) + (z 2 -z ′ 2 ) c -c ′ mod Q = t. (3)
Since z iz ′ i ∞ ≤ 2(n -1) √ nσ log 3 n for i = 1, 2, there are at most 4(n -1) √ nσ log 3 n + 1 n elements of R of the form z iz ′ i . Similarly, there are at most 2 log n + 1 n elements of the form cc ′ . Hence, the number of t ∈ R/ Q that can be written as the ratio (3) is at most:

4(n -1) √ nσ log 3 n + 1 2n • 2 log n + 1 n ≤ 33n 3 σ 2 log 7 n n .
Then, if we consider instead the elements t ∈ R that can be written in the form (1), there are at most 33n 3 σ 2 log 7 n n choices for their reduction mod Q, and all the possible choices, namely p n-d , for their reduction mod Q. This bounds their number as p n-d • 33n 3 σ 2 log 7 n n for any fixed choice of the degree-d divisor Q of x n + 1.

Since x n + 1 splits completely in Z p , it has exactly n d divisors of degree d. Thus, we obtain the required estimate for the probability of being an α-partial modular ratio:

Pr[t is an α-partial modular ratio] ≤ 1 p n • n d • p n-d • (33n 3 σ 2 log 7 n) n = n d
33n 3 σ 2 log 7 n p α n .

  ID pk ,k and since the statistical distance between the distributions output by Tr ID pk ,k and Tr ID pk ,sk ,k is at most ε s due to the simulatability of ID, we have Pr[ δ 5 ] -Pr[ δ 4 ] ≤ ℓq s ε s .

Fig. 3 .

 3 Fig. 3. DSDL-Based Signature Scheme.

Fig. 4 .

 4 Fig. 4. Fully tight DSDL-based signature scheme.

Fig. 5 .

 5 Fig. 5. Example parameters for the DSDL scheme.

Fig. 7 .

 7 Fig. 7. A lossy identification scheme based on lattices.

Fig. 8 .

 8 Fig. 8. Lattice-based signature scheme.

  P r[z = z] = P r[y = z -Xc] = 1/ |{-kn, . . . , kn} n | , since all the coefficients of the vector Xc have absolute value at most k. Therefore every element z in the set {-kn + k, . . . , kn -k} n has an equal probability of being outputted and the probability that z = ⊥ is ρ = |{-kn + k, . . . , kn -k} n | / |{-kn, . . . , kn} n | ≈ (1 -1/n) n ≈ 1/e.

  2 n) • 1 |M| ≤ Pr[sc + y = g] ≤ 1 |M|where the latter inequality holds because clearly, the probability over the choice of y that y = gsc can never exceed 1/|M|. Hence, we can bound the conditional probabilityPr[sc + y = g | sc + y ∈ G] = Pr[sc + y = g] Pr[sc + y ∈ G]

  ch, rsp) Definition 6. An identification scheme is said to be lossy if it has the following properties:1. Completeness of normal keys. We say that ID is ρ-complete, where ρ is a non-negligible function of k, if for every Simulatability of transcripts. Let (pk , sk ) be the output of KeyGen(1 k ) for a security parameter k. Then, we say that ID is ε-simulatable if there exists a PPT algorithm Tr ID pk ,k with no access to the secret key sk which can generate transcripts {(cmt, ch, rsp)} whose distribution is statistically indistinguishable from the transcripts output by Tr ID pk ,sk ,k , where ε is an upper-bound for the statistical distance. When ε = 0, then ID is said to be perfectly simulatable. 3. Indistinguishability of keys. Consider the experiments Exp ind-keys-real

	ID,D	(k) and Exp ind-keys-lossy ID,D

security parameter k and all honestly generated keys (pk , sk ) $ ← KeyGen(1 k ), Verify(pk , cmt, ch, rsp) = 1 holds with probability ρ when (cmt, ch, rsp) $ ← Tr ID pk ,sk ,k ().

2.

  sk)Fig.1. Description of our signature scheme Sig[ID, ℓ] = (KeyGen, Sign, Verify), where ID = (KeyGen, LosKeyGen, Prove, c, Verify) is a lossy identification scheme, H is a random oracle, and ℓ is a bound on the number of signing attempts.

	Sign(sk , m):	Verify(pk , m, σ):
	1: ctr ← 0 2: while ctr ≤ ℓ and rsp = ⊥ do 3: ctr ← ctr + 1 4: 5: 6: 7: end while rsp ← Prove(sk , cmt, ch) ch ← H(cmt, m) cmt ← Prove(sk )	1: parse σ as (cmt, rsp) 2: ch ← H(cmt, m) 3: d ← Verify(pk , cmt, ch, rsp) 4: return d
	8: if rsp = ⊥ then cmt ← ⊥ 9: σ ← (cmt, rsp) 10: return σ

  DR,σ and set (s1, s2) as the private key. Select a and let the public key be (a, t), where t ← as1 + s2. Let H be a random oracle mapping to the range C.Verify(m, z1, z2, c, a, t): accept if and only if z1, z2 ∈ G and c = H(az1 + z2tc, m).

	KeyGen(): Pick s1, s2
	Sign(m, a, s1, s2):
	1: ctr ← 0 2: y1, y2 $ ← M 3: c ← H(ay1 + y2, m) 4: z1 ← s1c + y1, z2 ← s2c + y2 5: if z1 or z2 / ∈ G and ctr < ℓ then 6: ctr ← ctr + 1 7: goto Step 2
	8: if z1 or z2 / ∈ G then (z1, z1, c) ← (⊥, ⊥, ⊥) 9: return (z1, z2, c)

$ ← $ ← R

In the actual reduction of [LPR10], the standard deviation is itself chosen from a somewhat complicated probability distribution, but if the number of times the RING-LWE oracle is queried is bounded (in this paper it only needs to provide one output), then the standard deviation can be fixed.

Technically, Stehlé and Steinfeld prove this lower bound when the lattice is chosen among the latticesL ′ b 1 ,b 2 = {(w1, w2) ∈ Z[x]/(x n + 1) : b1w1 + b2w2 = 0 (mod p)}, with b1 and b2 both uniformly random in R × , but clearly, L ′ b 1 ,b 2 is the same lattice as L b 1 •b -1 2 , and if (b1, b2) is uniformly random in (R × ) 2 , then a = b1 • b -12 is uniformly random in R × .

Acknowledgments. This work was supported in part by the European Research Council and by the European Commission through the ICT Program under Contract ICT-2007-216676 ECRYPT II and through the FP7-ICT-2011-EU-Brazil Program under Contract 288349 SecFuNet.

We thank Mihir Bellare and Eike Kiltz for helpful comments on a preliminary version of this paper.

Simultability of the transcripts. Given a normal public key pk = (a, t), we can construct a simulator Tr ID pk of the real transcript generation oracle Tr ID pk ,sk as follows. Let ρ > 1/e 2 -2/(en) be the probability that the prover actually responds to an honest challenge instead of sending ⊥ (ρ is a constant depending only on the public parameters). We define Tr ID pk to first pick a uniformly random triple (z 1 , z 2 , c) ∈ G × G × C, then compute u = az 1 + z 2tc, and finally output the transcript (u, c, (z 1 , z 2 )) with probability ρ and (⊥, ⊥, ⊥) otherwise.

By Corollary 1, the output distribution of Tr ID pk is ε-statistically close to that of Tr ID pk ,sk , with ε ≤ e -Ω(log 2 n) .

Indistinguishability of keys. The public key generated by a lossy key generation algorithm should be computationally indistinguishable from that generated by the normal key generation algorithm. That is exactly the hardness of the RING-LWE problem.

Lossiness. Let I be an impersonator for the Exp los-imp-pa ID,I (k) experiment described in definition 6. In the experiment, I receives a lossy public key (a, t), i.e. a pair of uniformly random elements in R. In particular, by Lemma 2, the probability that t is an α-partial modular ratio is bounded by a negligible value ̟ r .

Assume that t is not an α-partial modular ratio. We can see that for any choice of u ∈ R, only a negligible fraction of all elements c ∈ C can satisfy a relation of the form u = az 1 + z 2tc. Indeed, let c satisfy such a relation. Then, for any other c ′ satisfying a similar relation u = az ′ 1 + z ′ 2tc ′ , we can write:

If there existed a factor

would follow that t is an α-partial modular ration: a contradiction. Therefore, we know that c-c ′ is not invertible mod any degree-d divisor of x n + 1; this means that, under the isomorphism R → Z n p , it maps to a vector with fewer than d nonzero coefficients, or equivalently, more than n -d zero coefficients. In particular, there exists a degree-

Now observe that the probability that a uniformly random element c ′ ∈ C satisfies c ′ ≡ c (mod Q) is at most 1/(2 log n + 1) n-d . This is due to the fact that for any fixed value of the d higher order coefficients of c ′ , the function c ′ → c ′ mod Q is a bijection between sets of size (2 log n + 1) n-d , as noted in [Mic07, proof of Th. 4.2].

Thus, since there are n n-d factors of x n + 1 of degree n -d, the total fraction of elements c ′ ∈ C which can satisfy a relation of the form u = az ′ 1 + z ′ 2tc ′ is bounded by:

which is negligible as stated. And clearly, under the condition that t is not an α-partial modular ratio, the impersonator cannot succeed with probability better than ̟ c .

Overall, it follows that the advantage of I in the experiment Exp los-imp-pa

) is bounded as:

as required.

Uniqueness. Finally, we assume that p ≫ σ 2/α • n 4/α+η , and we want to show that, for a random choice of lossy key pk $ ← (a, t) ∈ R × ×R and a random output (u, c, (z 1 , z 2 )) of the transcript simulation algorithm Tr ID pk associated with pk , the probability that there exists another response

) also verifies correctly is negligible.

To see this, note that the new transcript verifies correctly if and only if az ′ 1 + z ′ 2tc = u = az 1 + z 2tc, or equivalently, if and only if:

A Technical Lemmas for the Lattice-Based Scheme

Proof. Since each coefficient of s is sampled from D Z,σ , we know (for example, by using [GPV08, Lemma 4.2] and the union bound) that the probability that s ∞ > σ log n is e -Ω(log 2 n) . Now observe that if we write s = n-1 i=0 s i x i and c = n-1 i=0 c i x i , then the x j th coefficient of sc is equal to

. Because all the coefficients c i are randomly and independently chosen integers from the range [-log n, log n], the coefficients c i s j are independent random variables in the range [-σ log 2 n, σ log 2 n] with mean 0, and so every coefficient of sc is a sum of n such values. By applying the Hoeffding inequality and the union bound over all the coefficients of sc, we obtain the claim in the statement of the lemma.

Proof. We have: Pr

where the last equality is true because for all r and g defined as in the statement of the lemma, gr ∈ M. ⊓ ⊔

Proof of Lemma 3. By Lemma 4, we know that Pr[ sc ∞ ≤ σ √ n log 3 n] = 1 -e -Ω(log 2 n) , and in this case, Lemma 5 tells us that for any g ∈ G, Pr[sc + y = g] = 1/|M|. Putting this all together, we get

To see that this is negligible as soon as p ≫ n 3/α+η we only need to find an asymptotic estimate of the binomial coefficient. But by the Stirling formula, we have:

Therefore, we obtain: Then, the min-entropy function associated to ID is defined as follows:

,

where the minimum is over all (pk , sk ) generated by KeyGen on input k.