Improved Short Lattice Signatures in the Standard Model
Total Page:16
File Type:pdf, Size:1020Kb
Improved Short Lattice Signatures in the Standard Model L´eoDucas and Daniele Micciancio University of California, San Diego flducas,[email protected] Abstract We present a signature scheme provably secure in the standard model (no random oracles) based on the worst-case complexity of approximating the Shortest Vector Problem in ideal lattices within polynomial factors. The distinguishing feature of our scheme is that it achieves short signatures (consisting of a single lattice vector), and relatively short public keys (consisting of O(log n) vectors.) Previous lattice schemes in the standard model with similarly short signatures, due to Boyen (PKC 2010) and Micciancio and Peikert (Eurocrypt 2012), had substantially longer public keys consisting of Ω(n) vectors (even when implemented with ideal lattices). We also present a variant of our scheme that further reduces the public key size to just O(log log n) vectors and allows for a tighther security proof by making the signer stateful. 1 Introduction Lattice based cryptography [Ajt04, AD97], originally an area of primarily theoretical interest, has seen a tremendous growth during the last decade, due both to substantial efficiency improvements obtainable using lattices with algebraic structure [HPS98, Mic07], and to the enormous versatility afforded by the Learning with Errors (LWE) problem [Reg09]. One of the problems that has received most attention so far, is that of lattice based signatures [LM08a, GPV08, Lyu09, Boy10, R¨uc10,GLP12, Lyu12, DDLL13, BG14]. From a theoretical point of view, digital signatures can be constructed from any one-way function [Rom90, Lam79]. So, the existence of digital signature schemes based on the hardness of lattice problems directly follows from Ajtai's seminal work [Ajt04]. But generic constructions are rather inefficient. Inputs and outputs of lattice based cryptographic functions typically consist of one or more Ω(~ n)-dimensional vectors, where n is the security parameter. Generic digital signature constructions require n parallel applications of a one-way function. So, even if each one-way function takes as input a single vector, the resulting digital siguatures consist of n vectors, and require Ω(~ n2) storage even when using algebraic lattices [Mic07]. So, finding efficient constructions of signatures directly based on hard lattice problems has been an important problem since the early days of lattice cryptography, with the main goal of finding \short" signatures, i.e., lattice signatures consisting of a single lattice vector. The first direct constructions of lattice signatures were given in [LM08a] and [GPV08]. Both schemes achieved \short" signatures, consisting of a single lattice vector, but each work had its own pros and cons. On the one hand [LM08a] gave a scheme provably secure in the standard model of computation, and with very simple signing/verification procedures, but only provided a direct construction of one-time signatures: digital signature schemes that can be used to sign a single message. Such schemes can be turned into general purpose signature schemes with only a logarithmic loss in efficiency using standard tree constructions. However, these transformations can be quite expensive in practice, because they lead to signatures consisting of O(log n) vectors. Given that signature size is often the most critical efficiency parameter affecting the practicality of a scheme, such signatures can no longer be considered \short". On the other hand, [GPV08] gave a scheme that allowed to produce short signatures for arbitrarily many messages, but only offered heuristic security in the random oracle model. Moreover, the scheme of [GPV08] was not entirely practical, involving a rather 1 complex signing algorithm based on sampling lattice vectors with gaussian distribution, a problem that only recently has found more satisfactory solutions [MP12]. Two lines of research have evolved from [GPV08], trying to address either the security or efficiency limitations of that work: • A first line of research [Lyu09, Lyu12, GLP12, DDLL13, BG14, HPS+13] kept investigating lattice sig- nature in the random oracle model, with the goal of achieving the highest possible levels of performance, and schemes that are efficient enough to be used in practice. • A second line of work, [CHKP12, Boy10, MP12] kept pursuing the important goal of obaining security in the standard model of computation (no random oracles) while at the same time improving the efficiency and potential practicality of previous schemes. Our work is part of this second line of research, which we describe in more detail. The current state of the art, when it comes to short lattice signatures in the standard model, is given by the scheme of Boyen [Boy10], with additional security and efficiency improvements described in [MP12]. This scheme achieved the important goal of \short" lattice signatures (consisting of a single lattice vector), without resorting to the random oracle model. The main drawback of this scheme was the huge public key involved. Lattice public keys, even in the random oracle model [GPV08, Lyu09, Lyu12, GLP12, DDLL13, BG14], consist of one or more n × m matrices, each of which typically requires Ω(~ n2) storage. For the sake of comparison, we consider natural adaptations of [CHKP12, Boy10, MP12] to the algebraic/ring setting, where n × m matrices can be implicitly described by a single m-dimensional vector. Going back to the signature scheme of [Boy10, MP12], public keys consist of Ω(n) matrices, and therefore require at least quadratic Ω(~ n2) total storage even when using \compact" algebraic lattices. We remark that digital signature schemes can be efficiently constructed out of identity based encryption (IBE) by using ciphertexts as signatures, and lattice based IBE with short ciphertexts are also known [CHKP12, ABB10b, ABB10a]. However, lattice IBE schemes are built on top of the signature techniques from [CHKP12, Boy10], and bear the same limitations when it comes to public key size: lattice IBE [CHKP12, ABB10b, ABB10a] use public keys consisting of Ω(n) matrices, and result in Ω(~ n2) or even Ω(~ n3) pubic key size depending on the type of lattices employed. Reducing the size of, not only the signatures, but also the public key, was the main open problem left by [CHKP12, Boy10, MP12, ABB10b, ABB10a]. We remark that the last few years have seen major efficiency progress on lattice signatures in the random oracle model [GPV08, Lyu09, Lyu12, GLP12, DDLL13, BG14], leaving a substantial gap between random oracle and standard model signatures. Still, designing efficient signature schemes without random oracles is an important and well established problem, both for the theory and practice of cryptography. A recent work in this direction is the paper of Bohl et al. [BHJ+13a, BHJ+13b, Seo12], which formalized1 a general “confined guessing" technique applicable to a variety of (not only lattice) settings. Here we describe their results, limited to the case of lattice signatures, and specialized to algebraic/ring lattices. Among other things, [BHJ+13a] gives a standard model lattice signature with public keys consisting of a single matrix, and therefore requiring only O(m) = Ω(~ n) storage when using algebraic/ring lattices. However, this comes at a substantial cost in terms of signature size: the digital signatures of [BHJ+13a] consist of O(log n) vectors. While a O(log n) increase may not seem much, it is quite a high cost when it comes to signature size, both in theory and in practice. In fact, a similar trade-off was already known since the very first direct construction of lattice signatures [LM08a], which, as alredy discussed, produced general signatures consisting of O(log n) vectors (as well as short public keys). In other words, just like [LM08a], the lattice signatures of [BHJ+13a] are not \short". (The main contribution of [BHJ+13a] over the classic scheme of [LM08a], is that the results of [BHJ+13a] also apply to general lattices.) Our results. We present the first standard model construction of short signatures based on (algebraic/ring) lattices with relatively small public keys: Similarly to [Boy10, MP12], we achieve signatures consisting of a single vector without resorting to random oracles. At the same time, we substantially reduce the public key size from the Ω(n) vectors2 of previously best short lattice signatures [Boy10, MP12] to just O(log n) 1The technique first appeared in the work of Hohenberger and Waters [HW09b, HW09a] and was also used in [BK10]. 2 Remember we are in the ring setting, so only one vector is required to represent each matrix. 2 Scheme Pub. Key Secret Key Signature Reduction SIS parameter β 1×k k×k k Rq mat. Rq mat. Rq vec. loss [GPV08](ROM) 1 1 1 1 Ω(~ n) [LM08a](Trees) 1 1 log n Q Ω(~ n2) [CHKP12] n n n Q Ω(~ n3=2) [Boy10, MP12] n n 1 Q Ω(~ n7=2), Ω(~ n5=2) + 2 c ~ 5=2 [BHJ 13a] 1 1 logc n O(Q /) Ω(n ) 2 c ~ 7=2 Stateless Scheme (Sec. 3) logc n logc n 1 O(Q /) Ω(n ) c ~ 3=2 Stateful Scheme (Sec. 4.1) 2 logc(log n) 2 logc(log n) 1 2Q Ω(n ) O(1) Rq = Zq[X]=f(X) for some (cyclotomic) polynomial f of degree n, q = n , and k = O(log q). Q denotes the number of signature queries made by the attacker and is its success probability. The value c > 1 is an arbitrary constant that governs the security/efficiency trade off. The reduction loss is the ratio 0/ between the success probability 0 of the reduction and the success probability of the attacker. Figure 1: Comparison to previous work on lattice signatures in the ring setting. vectors. Our scheme is stateless, i.e., all signatures can be produced independently by running the signing algorithm on input the secret key and message to be signed.