Jump to content

Ring learning with errors signature: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
added clarifications and links
Added a Further Reading section
Line 16: Line 16:
An important feature of algorithms based on Ring-Learning with Errors is their provable reduction to known hard problems. The signature described below has a provable reduction to the [[Shortest vector problem|Shortest Vector Problem]] in an [[integer lattice]]. This means that if an attack can be found on the Ring-LWE cryptosystem then a whole class of presumed hard computational problems will have a solution.<ref>{{Cite journal|title = The shortest vector in a lattice is hard to approximate to within some constant|url = http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.109.7305|journal = in Proc. 39th Symposium on Foundations of Computer Science|date = 1998|pages = 92–98|first = Daniele|last = Micciancio}}</ref>
An important feature of algorithms based on Ring-Learning with Errors is their provable reduction to known hard problems. The signature described below has a provable reduction to the [[Shortest vector problem|Shortest Vector Problem]] in an [[integer lattice]]. This means that if an attack can be found on the Ring-LWE cryptosystem then a whole class of presumed hard computational problems will have a solution.<ref>{{Cite journal|title = The shortest vector in a lattice is hard to approximate to within some constant|url = http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.109.7305|journal = in Proc. 39th Symposium on Foundations of Computer Science|date = 1998|pages = 92–98|first = Daniele|last = Micciancio}}</ref>


The first RLWE-SIG was developed by Lyubashevsky in his paper "Lattice Signatures Without Trapdoors" in 2011.<ref name=":1">{{Cite journal|title = Lattice Signatures Without Trapdoors|url = http://eprint.iacr.org/2011/537|date = 2011|first = Vadim|last = Lyubashevsky}}</ref> A number of refinements and variants have followed. This article highlights some features of a RLWE-SIG which closely follows the original Lyubashevsky work and is due to the work of Guneysu, Lyubashevsky and Poppleman ([http://www.di.ens.fr/~lyubash/papers/signaturechess.pdf GLP]).<ref name=":0" />  A later section of this article provides references to other signatures based on Lyubashevsky's original work.
The first RLWE-SIG was developed by Lyubashevsky in his paper "Lattice Signatures Without Trapdoors" in 2011.<ref name=":1">{{Cite journal|title = Lattice Signatures Without Trapdoors|url = http://eprint.iacr.org/2011/537|date = 2011|first = Vadim|last = Lyubashevsky}}</ref> A number of refinements and variants have followed. This article highlights some features of a RLWE-SIG which closely follows the original Lyubashevsky work and is due to the work of Guneysu, Lyubashevsky and Popplemann ([http://www.di.ens.fr/~lyubash/papers/signaturechess.pdf GLP]).<ref name=":0" />  A later section of this article provides references to other signatures based on Lyubashevsky's original work.


=== Background ===
=== Background ===
A RLWE-SIG works in the quotient [[ring of polynomials]] modulo a degree n polynomial Φ(x) with coefficients in the ring F<sub>q</sub> for an odd prime q ( i.e. the ring F<sub>q</sub>[x]/Φ(x) ). Multiplication and addition of polynomials will work in the usual fashion with results of a multiplication reduced mod Φ(x). For this presentation a typical polynomial is expressed as:
A RLWE-SIG works in the quotient [[ring of polynomials]] modulo a degree n polynomial Φ(x) with coefficients in the ring F<sub>q</sub> for an odd prime q ( i.e. the ring F<sub>q</sub>[x]/Φ(x) ).<ref name=":1" /> Multiplication and addition of polynomials will work in the usual fashion with results of a multiplication reduced mod Φ(x). For this presentation a typical polynomial is expressed as:


<math>a(x) = a_0 + a_1x + a_{2}x^2 + \ldots + a_{n-3}x^{n-3} + a_{n-2}x^{n-2} + a_{n-1}x^{n-1}</math>
<math>a(x) = a_0 + a_1x + a_{2}x^2 + \ldots + a_{n-3}x^{n-3} + a_{n-2}x^{n-2} + a_{n-1}x^{n-1}</math>
Line 28: Line 28:


==== Generating "Small" Polynomials. ====
==== Generating "Small" Polynomials. ====
The RLWE-SIG uses polynomials which are considered "small" with respect to a measure called the "[[infinity norm]]." The [[infinity norm]] for a polynomial is simply the largest absolute value of the coefficients of the polynomial . The signature algorithm will create random polynomials which are small with respect to a particular infinity norm bound. This is done by randomly generating the [[Coefficient|coefficients of the polynomial]] (a<sub>0</sub>, ..., a<sub>n-1</sub>) which are guaranteed or very likely to be less than or equal to this bound. In the literature on Ring Learning with Errors, there are two common ways to do this:
A RLWE-SIG uses polynomials which are considered "small" with respect to a measure called the "[[infinity norm]]." The [[infinity norm]] for a polynomial is simply the largest absolute value of the coefficients of the polynomial .<ref name=":0" /> The signature algorithm will create random polynomials which are small with respect to a particular infinity norm bound. This is done by randomly generating the [[Coefficient|coefficients of the polynomial]] (a<sub>0</sub>, ..., a<sub>n-1</sub>) which are guaranteed or very likely to be less than or equal to this bound. In the literature on Ring Learning with Errors, there are two common ways to do this:<ref name=":1" />
* Using [[Uniform distribution (discrete)|Uniform Sampling]] - The coefficients of the small polynomial are uniformly sampled from a set of small coefficients. Let b be an integer that is much less than q. If we randomly choose polynomial coefficients from the set: { -b, -b+1, -b+2. ... -2, -1, 0, 1, 2, ... , b-2, b-1, b} the infinity norm of the polynomial will be ≤ (b).
* Using [[Uniform distribution (discrete)|Uniform Sampling]] - The coefficients of the small polynomial are uniformly sampled from a set of small coefficients. Let b be an integer that is much less than q. If we randomly choose polynomial coefficients from the set: { -b, -b+1, -b+2. ... -2, -1, 0, 1, 2, ... , b-2, b-1, b} the infinity norm of the polynomial will be ≤ (b).
* Using Discrete Gaussian Sampling - For an odd integer q, the coefficients are randomly chosen by sampling from the set { -(q-1)/2 to (q-1)/2 } according to a discrete Gaussian distribution with mean 0 and distribution parameter σ. The references provide more details on this method.
* Using Discrete Gaussian Sampling - For an odd integer q, the coefficients are randomly chosen by sampling from the set { -(q-1)/2 to (q-1)/2 } according to a discrete Gaussian distribution with mean 0 and distribution parameter σ. The references provide more details on this method.
In the RLWE-SIG example below, coefficients for the "small" polynomials will use the [[Uniform distribution (discrete)|uniform sampling]] method and the value b will be much smaller than the value q.
In the RLWE-SIG of Gunesyu, Lyubashevsky, and Popplemann used as an example below, coefficients for the "small" polynomials will use the [[Uniform distribution (discrete)|uniform sampling]] method and the value b will be much smaller than the value q.<ref name=":0" />


==== Hashing to a "Small" Polynomial ====
==== Hashing to a "Small" Polynomial ====
The RLWE-SIG algorithms also require the ability to [[Cryptographic hash function|cryptographically hash]] arbitrary bit strings into small polynomials according to some distribution. The example below uses a hash function, HASH(ω), which accepts a bit string, ω, as input and outputs a degree n polynomial with n coefficients such that exactly k of these coefficients are either -1 or 1 and the remaining coefficients are 0. The [http://www.di.ens.fr/~lyubash/papers/signaturechess.pdf GLP] paper provides details of how this can be easily done.<ref name=":0">{{Cite book|url = http://link.springer.com/chapter/10.1007/978-3-642-33027-8_31|publisher = Springer Berlin Heidelberg|date = 2012|isbn = 978-3-642-33026-1|pages = 530–547|series = Lecture Notes in Computer Science|language = en|first = Tim|last = Güneysu|first2 = Vadim|last2 = Lyubashevsky|first3 = Thomas|last3 = Pöppelmann|editor-first = Emmanuel|editor-last = Prouff|editor-first2 = Patrick|editor-last2 = Schaumont|doi = 10.1007/978-3-642-33027-8_31|chapter = Practical Lattice-Based Cryptography: A Signature Scheme for Embedded Systems|title = Cryptographic Hardware and Embedded Systems – CHES 2012|volume = 7428}}</ref>
Most RLWE-SIG algorithms also require the ability to [[Cryptographic hash function|cryptographically hash]] arbitrary bit strings into small polynomials according to some distribution. The example below uses a hash function, HASH(ω), which accepts a bit string, ω, as input and outputs a polynomial with n coefficients such that exactly k of these coefficients are either -1 or 1 and the remaining coefficients are 0. The [http://www.di.ens.fr/~lyubash/papers/signaturechess.pdf GLP] paper provides details on one way this can be easily done.<ref name=":0">{{Cite book|url = http://link.springer.com/chapter/10.1007/978-3-642-33027-8_31|publisher = Springer Berlin Heidelberg|date = 2012|isbn = 978-3-642-33026-1|pages = 530–547|series = Lecture Notes in Computer Science|language = en|first = Tim|last = Güneysu|first2 = Vadim|last2 = Lyubashevsky|first3 = Thomas|last3 = Pöppelmann|editor-first = Emmanuel|editor-last = Prouff|editor-first2 = Patrick|editor-last2 = Schaumont|doi = 10.1007/978-3-642-33027-8_31|chapter = Practical Lattice-Based Cryptography: A Signature Scheme for Embedded Systems|title = Cryptographic Hardware and Embedded Systems – CHES 2012|volume = 7428}}</ref>
==== Rejection Sampling ====
==== Rejection Sampling ====
An key feature of RLWE-SIG algorithms is the use of a technique known as [[rejection sampling]]. In this technique, if the [[infinity norm]] of a signature polynomial exceeds a fixed bound, '''β,''' that polynomial will be discarded and the signing process will begin again. This process will be repeated until the infinity norm of the signature polynomial is less than or equal to the bound. Rejection sampling ensures that the output signature is not exploitably correlated with the signer's secret key values.
An key feature of RLWE-SIG algorithms is the use of a technique known as [[rejection sampling]]. In this technique if the [[infinity norm]] of a signature polynomial exceeds a fixed bound, '''β,''' that polynomial will be discarded and the signing process will begin again. This process will be repeated until the infinity norm of the signature polynomial is less than or equal to the bound. Rejection sampling ensures that the output signature is not exploitably correlated with the signer's secret key values.


In the example which follows, the bound, '''β,''' will be (b - k), where b is the range of the uniform sampling described above.
In the example which follows, the bound, '''β,''' will be (b - k), where b is the range of the uniform sampling described above.
Line 87: Line 87:
=== Other Approaches ===
=== Other Approaches ===
There are a number of other cryptographic signatures based on lattices over polynomial rings though not specifically in the Ring Learning With Errors construct explained by Lyubashevsky in his "Lattice Signatures without Trapdoors."<ref name=":1" /> Notable among these is the [https://eprint.iacr.org/2013/838.pdf Learning with Errors Approach] by Bai and Galbraith (which has a Ring-LWE variant) and the Trapdoor Lattice approach by Ducas, Durmas, Lepoint and Lyubashevsky <ref>{{Cite journal|title = An improved compression technique for signatures based on learning with errors|url = http://eprint.iacr.org/2013/838|date = 2013|first = Shi|last = Bai|first2 = Steven D.|last2 = Galbraith}}</ref><ref>{{Cite journal|title = Lattice Signatures and Bimodal Gaussians|url = http://eprint.iacr.org/2013/383|date = 2013|first = Léo|last = Ducas|first2 = Alain|last2 = Durmus|first3 = Tancrède|last3 = Lepoint|first4 = Vadim|last4 = Lyubashevsky}}</ref>.
There are a number of other cryptographic signatures based on lattices over polynomial rings though not specifically in the Ring Learning With Errors construct explained by Lyubashevsky in his "Lattice Signatures without Trapdoors."<ref name=":1" /> Notable among these is the [https://eprint.iacr.org/2013/838.pdf Learning with Errors Approach] by Bai and Galbraith (which has a Ring-LWE variant) and the Trapdoor Lattice approach by Ducas, Durmas, Lepoint and Lyubashevsky <ref>{{Cite journal|title = An improved compression technique for signatures based on learning with errors|url = http://eprint.iacr.org/2013/838|date = 2013|first = Shi|last = Bai|first2 = Steven D.|last2 = Galbraith}}</ref><ref>{{Cite journal|title = Lattice Signatures and Bimodal Gaussians|url = http://eprint.iacr.org/2013/383|date = 2013|first = Léo|last = Ducas|first2 = Alain|last2 = Durmus|first3 = Tancrède|last3 = Lepoint|first4 = Vadim|last4 = Lyubashevsky}}</ref>.

=== Further Reading: ===
* The original Learning with Errors paper by Oded Regev.<ref>{{Cite journal|title = On Lattices, Learning with Errors, Random Linear Codes, and Cryptography|url = http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.106.5202|publisher = ACM Press|journal = In STOC|date = 2005|pages = 84–93|first = Oded|last = Regev}}</ref> (updated version [http://www.cims.nyu.edu/~regev/papers/qcrypto.pdf here])
* The original Learning with Errors Signature paper by Lyubashevsky.<ref name=":1" /> ([http://www.di.ens.fr/~lyubash/papers/LatticeSignature.pdf here])
* The Gunesyu, Lyubashevsky, and Poppelmann RLWE-SIG paper.<ref name=":0" /> ([http://www.di.ens.fr/~lyubash/papers/signaturechess.pdf here])


=== References ===
=== References ===

Revision as of 22:39, 27 June 2015

  • Comment: Amazing beginning but just not there yet. --Anarchyte 04:03, 23 June 2015 (UTC)

Digital Signatures are a means to protect digital information from intentional modification and to authenticate the source of digital information. Public key cryptography provides a rich set of different cryptographic algorithms the create digital signatures. However, all of the public key signatures currently in use will become completely insecure if scientists are ever able to build a large scale quantum computer. Digital signature algorithms such as the Ring learning with errors signature (RLWE-SIG) described in this article is on example of a new class of cryptographic algorithms (Post-quantum cryptography) being designed to resist cryptanalytic attacks run on a quantum computer. Having quantum safe digital signatures designed, analyzed, and available for implementation is important for the long term safety of the internet and electronic commerce.

Introduction

Developments in quantum computing over the past decade and the optimistic prospects for real quantum computers within 20 years have begun to threaten the basic cryptography that secures the internet.[1]  A relatively small quantum computer capable of processing only ten thousand of bits of information would easily break all of the the widely used public key cryptography algorithms used to digitally sign information in computer networks.

The most widely used public key algorithm used to create digital signatures is known as RSA.  Its security is based on the classical difficulty of factoring the product of two large and unknown primes into the constituent primes.  This problem, the integer factorization problem, is believed to be intractable on any conventional computer if the primes are chosen at random and are sufficiently large.  However, to break an RSA key of length n bits, a quantum computer with roughly 3n bits of logical qubit memory and capable of executing a program known as Shor’s algorithm will be able to quickly factor the product of two primes.[2]  Shor's algorithm can also quickly break digital signatures based on what is known as the discrete logarithm problem and the more esoteric elliptic curve discrete logarithm problem. In effect, a relatively small quantum computer running Shor's algorithm can break all of the digital signatures used to ensure the privacy and integrity of information on the internet today.

Even though we do not know when a quantum computer to break RSA will exist, there is active research on cryptographic algorithms which remain secure even when an attacker has the resources of a quantum computer at their disposal.  This new area of cryptography is called Post Quantum or Quantum Safe cryptography.  This article is about one class of these algorithms:  digital signatures based on the Ring Learning with Errors problem.  The use of this problem in cryptography was introduced by Oded Regev in 2005 and has been the source of a rich literature of analysis and cryptographic designs.[3]

An important feature of algorithms based on Ring-Learning with Errors is their provable reduction to known hard problems. The signature described below has a provable reduction to the Shortest Vector Problem in an integer lattice. This means that if an attack can be found on the Ring-LWE cryptosystem then a whole class of presumed hard computational problems will have a solution.[4]

The first RLWE-SIG was developed by Lyubashevsky in his paper "Lattice Signatures Without Trapdoors" in 2011.[5] A number of refinements and variants have followed. This article highlights some features of a RLWE-SIG which closely follows the original Lyubashevsky work and is due to the work of Guneysu, Lyubashevsky and Popplemann (GLP).[6]  A later section of this article provides references to other signatures based on Lyubashevsky's original work.

Background

A RLWE-SIG works in the quotient ring of polynomials modulo a degree n polynomial Φ(x) with coefficients in the ring Fq for an odd prime q ( i.e. the ring Fq[x]/Φ(x) ).[5] Multiplication and addition of polynomials will work in the usual fashion with results of a multiplication reduced mod Φ(x). For this presentation a typical polynomial is expressed as:

The field Fq has its representative elements in the set { -(q-1)/2, ...-1, 0, 1, ... (q-1)/2 }.

[See the Wikipedia pages on Quotient Rings and Polynomial Rings for further explanation]

Generating "Small" Polynomials.

A RLWE-SIG uses polynomials which are considered "small" with respect to a measure called the "infinity norm." The infinity norm for a polynomial is simply the largest absolute value of the coefficients of the polynomial .[6] The signature algorithm will create random polynomials which are small with respect to a particular infinity norm bound. This is done by randomly generating the coefficients of the polynomial (a0, ..., an-1) which are guaranteed or very likely to be less than or equal to this bound. In the literature on Ring Learning with Errors, there are two common ways to do this:[5]

  • Using Uniform Sampling - The coefficients of the small polynomial are uniformly sampled from a set of small coefficients. Let b be an integer that is much less than q. If we randomly choose polynomial coefficients from the set: { -b, -b+1, -b+2. ... -2, -1, 0, 1, 2, ... , b-2, b-1, b} the infinity norm of the polynomial will be ≤ (b).
  • Using Discrete Gaussian Sampling - For an odd integer q, the coefficients are randomly chosen by sampling from the set { -(q-1)/2 to (q-1)/2 } according to a discrete Gaussian distribution with mean 0 and distribution parameter σ. The references provide more details on this method.

In the RLWE-SIG of Gunesyu, Lyubashevsky, and Popplemann used as an example below, coefficients for the "small" polynomials will use the uniform sampling method and the value b will be much smaller than the value q.[6]

Hashing to a "Small" Polynomial

Most RLWE-SIG algorithms also require the ability to cryptographically hash arbitrary bit strings into small polynomials according to some distribution. The example below uses a hash function, HASH(ω), which accepts a bit string, ω, as input and outputs a polynomial with n coefficients such that exactly k of these coefficients are either -1 or 1 and the remaining coefficients are 0. The GLP paper provides details on one way this can be easily done.[6]

Rejection Sampling

An key feature of RLWE-SIG algorithms is the use of a technique known as rejection sampling. In this technique if the infinity norm of a signature polynomial exceeds a fixed bound, β, that polynomial will be discarded and the signing process will begin again. This process will be repeated until the infinity norm of the signature polynomial is less than or equal to the bound. Rejection sampling ensures that the output signature is not exploitably correlated with the signer's secret key values.

In the example which follows, the bound, β, will be (b - k), where b is the range of the uniform sampling described above.

Other Parameters

Following GLP and as noted above, the maximum degree of the polynomials will be n-1 and therefore have n coefficients. Typical values for n are 512, and 1024. The coefficients of these polynomials will be from the field Fq where q is an odd prime congruent to 1 mod 4. For n =512 the authors of GLP set q to be a 22 bit prime and the corresponding b value to be 214. For n=1024, GLP sets q to be a 23-bit prime and b to be 215.[6] The number of non-zero coefficients produced by the hash function (k) is equal to 32 for both cases.[6] The security of the signature scheme is closely tied to the relative sizes of n, q, b, and k. Details on setting these parameters can be found in references 5 and 6 below.[5][6]

The polynomial Φ(x) which defines the ring of polynomials used will be xn + 1. Finally, a(x) will be a randomly chosen and fixed polynomial with coefficients from the set { -(q-1)/2 to (q-1)/2 }. All signers and verifiers of signatures will know n, q, b, k, Φ(x), a(x) and β = b-k

Public Key Generation

An entity wishing to sign messages generates its public key through the following steps:

  1. Generate two small polynomials s0(x) and s1(x) with coefficients chosen uniformly from the set {-1, 0, 1}
  2. Compute t(x) = a(x)·s0(x) + s1(x)
  3. Distribute t(x) as the entity's public key

The polynomials s0(x) and s1(x) serve as the private key and t(x) is the corresponding private key. The security of this signature scheme is based on the following problem. Given a polynomial t(x) find small polynomials f1(x) and f2(x) such that: a(x)·f1(x) + f2(x) = t(x)

If this problem is difficult to solve, then the signature scheme will be will be difficult to forge. [See the Wikipedia article on Ideal Lattice Cryptography for more details on the theoretical difficulty of this problem]

Signature Generation

Following GLP[6], to sign a message m expressed as a bit string, the signing entity does the following:

  1. Generate two small polynomials y0(x) and y1(x) with coefficients from the set {-b, ..., 0, ...., b}
  2. Compute w(x) = a(x)·y0(x) + y1(x)
  3. Map w(x) into a bit string ω
  4. Compute c(x) = HASH(ω | m) (This is a polynomial with k non-zero coefficients. The "|" denotes concatenation of strings)
  5. Compute z0(x) = s0(x)·c(x) + y0(x)
  6. Compute z1(x) = s1(x)·c(x) + y1(x)
  7. Until the infinity norms of z0(x) and z1(x) ≤ β go to step 1. (This is the rejection sampling step noted above)
  8. The signature is the triple of polynomials c(x), z0(x) and z1(x)
  9. Transmit the message along with c(x), z0(x) and z1(x) to the verifier.

Signature Verification

Following GLP[6], to verify a message m expressed as a bit string, the verifying entity must posses the signer's public key (t(x)), the signature (c(x), z0(x), z1(x)), and the message m. The verifier does the following:

  1. Verify that the infinity norms of z0(x) and z1(x) ≤ β , if not reject the signature.
  2. Compute w'(x) = a(x)·z0(x) + z1(x) - t(x)c(x)
  3. Map w'(x) into a bit string ω'
  4. Compute c'(x) = HASH(ω' | m)
  5. If c'(x) ≠ c(x) reject the signature, otherwise accept the signature as valid.

Notice that:

a(x)·z0(x) + z1(x) - t(x)c(x) = a(x)·[s0(x)·c(x) + y0(x)] + z1(x) - [a(x)·s0(x) + s1(x)]c(x)

= a(x)·y0(x) + z1(x) - s1(x)·c(x)

= a(x)y0(x) + s1(x)·c(x) + y1(x) - s1(x)·c(x)

= a(x)y0(x) + y1(x) = w(x) (as defined above)

This brief derivation demonstrates that the verification process will have c'(x) = c(x) if the signature was not tampered with.

Other Approaches

There are a number of other cryptographic signatures based on lattices over polynomial rings though not specifically in the Ring Learning With Errors construct explained by Lyubashevsky in his "Lattice Signatures without Trapdoors."[5] Notable among these is the Learning with Errors Approach by Bai and Galbraith (which has a Ring-LWE variant) and the Trapdoor Lattice approach by Ducas, Durmas, Lepoint and Lyubashevsky [7][8].

Further Reading:

  • The original Learning with Errors paper by Oded Regev.[9] (updated version here)
  • The original Learning with Errors Signature paper by Lyubashevsky.[5] (here)
  • The Gunesyu, Lyubashevsky, and Poppelmann RLWE-SIG paper.[6] (here)

References

  1. ^ Shah, Agam. "Quantum computing breakthrough claim from IBM". Retrieved 2015-06-01.
  2. ^ Smolin, John A.; Smith, Graeme; Vargo, Alexander (July 11, 2013). "Oversimplifying quantum factoring". Nature. 499 (7457): 163–165. doi:10.1038/nature12290. ISSN 0028-0836.
  3. ^ "http://www.cims.nyu.edu/~regev/papers/lwesurvey.pdf" (PDF). www.cims.nyu.edu. Retrieved 2015-05-24. {{cite web}}: External link in |title= (help)
  4. ^ Micciancio, Daniele (1998). "The shortest vector in a lattice is hard to approximate to within some constant". in Proc. 39th Symposium on Foundations of Computer Science: 92–98.
  5. ^ a b c d e f Lyubashevsky, Vadim (2011). "Lattice Signatures Without Trapdoors". {{cite journal}}: Cite journal requires |journal= (help)
  6. ^ a b c d e f g h i j Güneysu, Tim; Lyubashevsky, Vadim; Pöppelmann, Thomas (2012). "Practical Lattice-Based Cryptography: A Signature Scheme for Embedded Systems". In Prouff, Emmanuel; Schaumont, Patrick (eds.). Cryptographic Hardware and Embedded Systems – CHES 2012. Lecture Notes in Computer Science. Vol. 7428. Springer Berlin Heidelberg. pp. 530–547. doi:10.1007/978-3-642-33027-8_31. ISBN 978-3-642-33026-1.
  7. ^ Bai, Shi; Galbraith, Steven D. (2013). "An improved compression technique for signatures based on learning with errors". {{cite journal}}: Cite journal requires |journal= (help)
  8. ^ Ducas, Léo; Durmus, Alain; Lepoint, Tancrède; Lyubashevsky, Vadim (2013). "Lattice Signatures and Bimodal Gaussians". {{cite journal}}: Cite journal requires |journal= (help)
  9. ^ Regev, Oded (2005). "On Lattices, Learning with Errors, Random Linear Codes, and Cryptography". In STOC. ACM Press: 84–93.