Ideal Lattice Cryptography
   HOME

TheInfoList



OR:

In discrete mathematics, ideal lattices are a special class of lattices and a generalization of cyclic lattices. Ideal lattices naturally occur in many parts of
number theory Number theory is a branch of pure mathematics devoted primarily to the study of the integers and arithmetic functions. Number theorists study prime numbers as well as the properties of mathematical objects constructed from integers (for example ...
, but also in other areas. In particular, they have a significant place in
cryptography Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
. Micciancio defined a generalization of cyclic lattices as ideal lattices. They can be used in cryptosystems to decrease by a square root the number of parameters necessary to describe a lattice, making them more efficient. Ideal lattices are a new concept, but similar lattice classes have been used for a long time. For example, cyclic lattices, a special case of ideal lattices, are used in NTRUEncrypt and
NTRUSign NTRUSign, also known as the NTRU Signature Algorithm, is an NTRU public-key cryptography digital signature algorithm based on the GGH signature scheme. The original version of NTRUSign was Polynomial Authentication and Signature Scheme (PASS), a ...
. Ideal lattices also form the basis for quantum computer attack resistant cryptography based on the Ring Learning with Errors. These cryptosystems are provably secure under the assumption that the shortest vector problem (SVP) is hard in these ideal lattices.


Introduction

In general terms, ideal lattices are lattices corresponding to ideals in rings of the form \mathbb \langle f \rangle for some
irreducible polynomial In mathematics, an irreducible polynomial is, roughly speaking, a polynomial that cannot be factored into the product of two non-constant polynomials. The property of irreducibility depends on the nature of the coefficients that are accepted f ...
f of degree n . All of the definitions of ''ideal lattices'' from prior work are instances of the following general notion: let R be a
ring (The) Ring(s) may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell Arts, entertainment, and media Film and TV * ''The Ring'' (franchise), a ...
whose
additive group An additive group is a group of which the group operation is to be thought of as ''addition'' in some sense. It is usually abelian, and typically written using the symbol + for its binary operation. This terminology is widely used with structu ...
is
isomorphic In mathematics, an isomorphism is a structure-preserving mapping or morphism between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between the ...
to \mathbb^n (i.e., it is a free \mathbb -module of
rank A rank is a position in a hierarchy. It can be formally recognized—for example, cardinal, chief executive officer, general, professor—or unofficial. People Formal ranks * Academic rank * Corporate title * Diplomatic rank * Hierarchy ...
n ), and let \sigma be an additive
isomorphism In mathematics, an isomorphism is a structure-preserving mapping or morphism between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between the ...
mapping R to some lattice \sigma(R) in an n-dimensional real
vector space In mathematics and physics, a vector space (also called a linear space) is a set (mathematics), set whose elements, often called vector (mathematics and physics), ''vectors'', can be added together and multiplied ("scaled") by numbers called sc ...
(e.g., \mathbb^n ). The family of ''ideal lattices'' for the ring R under the embedding \sigma is the set of all lattices \sigma(I) , where I is an
ideal Ideal may refer to: Philosophy * Ideal (ethics), values that one actively pursues as goals * Platonic ideal, a philosophical idea of trueness of form, associated with Plato Mathematics * Ideal (ring theory), special subsets of a ring considered ...
in R.


Definition


Notation

Let f \in \mathbb /math> be a
monic polynomial In algebra, a monic polynomial is a non-zero univariate polynomial (that is, a polynomial in a single variable) in which the leading coefficient (the nonzero coefficient of highest degree) is equal to 1. That is to say, a monic polynomial is one ...
of degree n , and consider the
quotient ring In ring theory, a branch of abstract algebra, a quotient ring, also known as factor ring, difference ring or residue class ring, is a construction quite similar to the quotient group in group theory and to the quotient space in linear algebra. ...
\mathbb \langle f \rangle . Using the standard set of representatives \lbrace(g \bmod f) : g \in \mathbb \rbrace , and identification of polynomials with vectors, the
quotient ring In ring theory, a branch of abstract algebra, a quotient ring, also known as factor ring, difference ring or residue class ring, is a construction quite similar to the quotient group in group theory and to the quotient space in linear algebra. ...
\mathbb \langle f \rangle is
isomorphic In mathematics, an isomorphism is a structure-preserving mapping or morphism between two structures of the same type that can be reversed by an inverse mapping. Two mathematical structures are isomorphic if an isomorphism exists between the ...
(as an
additive group An additive group is a group of which the group operation is to be thought of as ''addition'' in some sense. It is usually abelian, and typically written using the symbol + for its binary operation. This terminology is widely used with structu ...
) to the
integer lattice In mathematics, the -dimensional integer lattice (or cubic lattice), denoted , is the lattice (group), lattice in the Euclidean space whose lattice points are tuple, -tuples of integers. The two-dimensional integer lattice is also called the s ...
\mathbb^n, and any
ideal Ideal may refer to: Philosophy * Ideal (ethics), values that one actively pursues as goals * Platonic ideal, a philosophical idea of trueness of form, associated with Plato Mathematics * Ideal (ring theory), special subsets of a ring considered ...
I \subseteq \mathbb \langle f \rangle defines a corresponding integer sublattice \mathcal(I)\subseteq \mathbb^n. An ideal lattice is an integer lattice \mathcal(B)\subseteq \mathbb^n such that B = \lbrace g \bmod f : g \in I \rbrace for some monic polynomial f of degree n and
ideal Ideal may refer to: Philosophy * Ideal (ethics), values that one actively pursues as goals * Platonic ideal, a philosophical idea of trueness of form, associated with Plato Mathematics * Ideal (ring theory), special subsets of a ring considered ...
I \subseteq \mathbb \langle f \rangle .


Related properties

It turns out that the relevant properties of f for the resulting function to be collision resistant are: * f should be irreducible. * the ring norm \lVert g \rVert_f is not much bigger than \lVert g \rVert_\infty for any polynomial g, in a quantitative sense. The first property implies that every ideal of the
ring (The) Ring(s) may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell Arts, entertainment, and media Film and TV * ''The Ring'' (franchise), a ...
\mathbb \langle f \rangle defines a full-rank lattice in \mathbb^n and plays a fundamental role in proofs. Lemma: Every
ideal Ideal may refer to: Philosophy * Ideal (ethics), values that one actively pursues as goals * Platonic ideal, a philosophical idea of trueness of form, associated with Plato Mathematics * Ideal (ring theory), special subsets of a ring considered ...
I of \mathbb \langle f \rangle , where f is a monic, irreducible integer polynomial of degree n , is isomorphic to a full-rank lattice in \mathbb^n . Ding and LindnerJintai Ding and Richard Lindner
Identifying Ideal Lattices
In ''Cryptology ePrint Archive, Report 2007/322'', 2007.
gave evidence that distinguishing ''ideal lattices'' from general ones can be done in polynomial time and showed that in practice randomly chosen lattices are never ideal. They only considered the case where the lattice has full rank, i.e. the basis consists of n linear independent vectors. This is not a fundamental restriction because Lyubashevsky and Micciancio have shown that if a lattice is ideal with respect to an irreducible monic polynomial, then it has full rank, as given in the above lemma. Algorithm: Identifying ideal lattices with full rank bases ''Data:'' A full-rank basis B \in \mathbb^
''Result:'' true and \textbf , if B spans an ideal lattice with respect to \textbf , otherwise false. # Transform B into HNF # Calculate A = (B) , d = \det(B) , and z = B_ # Calculate the product P = AMB \bmod d # if ''only the last column of P is non-zero'' then # set c = P_ to equal this column # else return false # if z \mid c_i for i = 1, \ldots , n then # use
CRT CRT or Crt most commonly refers to: * Cathode-ray tube, a display * Critical race theory, an academic framework of analysis CRT may also refer to: Law * Charitable remainder trust, United States * Civil Resolution Tribunal, Canada * Columbia ...
to find q^\ast \equiv (c/z) \bmod (d/z) and q^ \ast \equiv 0 \bmod \ z # else return false # if Bq^ \ast \equiv 0 \bmod (d/z) then # return true, q = Bq^ \ast /d # else return false where the matrix M is : M = \begin 0 & \cdot & \cdot & \cdot & 0 \\ & & & & \cdot \\ & & & & \cdot \\ I_ & & & & \cdot \\ & & & & 0 \end Using this algorithm, it can be seen that many lattices are not ''ideal lattices''. For example, let n = 2 and k \in \mathbb \smallsetminus \lbrace 0, \pm 1 \rbrace , then : B_1 = \begin k & 0 \\ 0 & 1 \end is ideal, but : B_2 = \begin 1 & 0 \\ 0 & k \end is not. B_2 with k = 2 is an example given by Lyubashevsky and Micciancio. Performing the algorithm on it and referring to the basis as B, matrix B is already in
Hermite Normal Form In linear algebra, the Hermite normal form is an analogue of reduced echelon form for matrices over the integers \Z. Just as reduced echelon form can be used to solve problems about the solution to the linear system Ax=b where x \in \mathbb^n, the ...
so the first step is not needed. The determinant is d = 2 , the
adjugate matrix In linear algebra, the adjugate or classical adjoint of a square matrix , , is the transpose of its cofactor matrix. It is occasionally known as adjunct matrix, or "adjoint", though that normally refers to a different concept, the adjoint operat ...
: A = \begin 2 & 0 \\ 0 & 1 \end, : M = \begin 0 & 0 \\ 1 & 0 \end and finally, the product P = AMB \bmod d is : P = \begin 0 & 0 \\ 1 & 0 \end. At this point the algorithm stops, because all but the last column of P have to be zero if B would span an ''ideal lattice''.


Use in cryptography

Micciancio introduced the class of structured cyclic lattices, which correspond to ideals in
polynomial ring In mathematics, especially in the field of algebra, a polynomial ring or polynomial algebra is a ring formed from the set of polynomials in one or more indeterminates (traditionally also called variables) with coefficients in another ring, ...
s \mathbb (x^n-1), and presented the first provably secure one-way function based on the worst-case
hardness In materials science, hardness (antonym: softness) is a measure of the resistance to plastic deformation, such as an indentation (over an area) or a scratch (linear), induced mechanically either by Pressing (metalworking), pressing or abrasion ...
of the restriction of Poly(''n'')-SVP to cyclic lattices. (The problem ''γ''-SVP consists in computing a non-zero vector of a given lattice, whose norm is no more than ''γ'' times larger than the norm of a shortest non-zero lattice vector.) At the same time, thanks to its algebraic structure, this one-way function enjoys high efficiency comparable to the
NTRU NTRU is an open-source public-key cryptosystem that uses lattice-based cryptography to encrypt and decrypt data. It consists of two algorithms: NTRUEncrypt, which is used for encryption, and NTRUSign, which is used for digital signatures. Unlike ...
scheme \tilde(n) evaluation time and storage cost). Subsequently, Lyubashevsky and Micciancio and independently Peikert and Rosen showed how to modify Micciancio's function to construct an efficient and provably secure collision resistant
hash function A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
. For this, they introduced the more general class of ''ideal lattices'', which correspond to ideals in
polynomial ring In mathematics, especially in the field of algebra, a polynomial ring or polynomial algebra is a ring formed from the set of polynomials in one or more indeterminates (traditionally also called variables) with coefficients in another ring, ...
s \mathbb f(x). The
collision resistance In cryptography, collision resistance is a property of cryptographic hash functions: a hash function ''H'' is collision-resistant if it is hard to find two inputs that hash to the same output; that is, two inputs ''a'' and ''b'' where ''a'' ≠ ' ...
relies on the hardness of the restriction of Poly(n)-SVP to ''ideal lattices'' (called Poly(''n'')-Ideal-SVP). The average-case collision-finding problem is a natural computational problem called Ideal-SIS, which has been shown to be as hard as the worst-case instances of Ideal-SVP. Provably secure efficient signature schemes from ''ideal lattices'' have also been proposed, but constructing efficient provably secure
public key encryption Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic alg ...
from ''ideal lattices'' was an interesting
open problem In science and mathematics, an open problem or an open question is a known problem which can be accurately stated, and which is assumed to have an objective and verifiable solution, but which has not yet been solved (i.e., no solution for it is kno ...
. The fundamental idea of using LWE and Ring LWE for key exchange was proposed and filed at the University of Cincinnati in 2011 by Jintai Ding and provided a state of the art description of a quantum resistant key exchange using Ring LWE. The paper appeared in 2012 after a provisional patent application was filed in 2012. In 2014, Peikert presented a key transport scheme following the same basic idea of Ding's, where the new idea of sending additional signal for rounding in Ding's construction is also utilized. A digital signature using the same concepts was done several years earlier by Vadim Lyubashevsky in, "Lattice Signatures Without Trapdoors." Together, the work of Peikert and Lyubashevsky provide a suite of Ring-LWE based quantum attack resistant algorithms with the same security reductions.


Efficient collision resistant hash functions

The main usefulness of the ''ideal lattices'' in
cryptography Cryptography, or cryptology (from "hidden, secret"; and ''graphein'', "to write", or ''-logy, -logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of Adversary (cryptography), ...
stems from the fact that very efficient and practical collision resistant
hash functions A hash function is any function that can be used to map data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a hash function are called ''hash values'', ...
can be built based on the hardness of finding an approximate shortest vector in such lattices. Independently constructed collision resistant
hash functions A hash function is any function that can be used to map data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a hash function are called ''hash values'', ...
by Peikert and Rosen, as well as Lyubashevsky and Micciancio, based on ''ideal lattices'' (a generalization of cyclic lattices), and provided a fast and practical implementation. These results paved the way for other efficient cryptographic constructions including identification schemes and signatures. Lyubashevsky and Micciancio gave constructions of efficient collision resistant
hash functions A hash function is any function that can be used to map data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a hash function are called ''hash values'', ...
that can be proven secure based on worst case hardness of the
shortest vector problem In computer science, lattice problems are a class of optimization problems related to mathematical objects called '' lattices''. The conjectured intractability of such problems is central to the construction of secure lattice-based cryptosystems ...
for ''ideal lattices''. They defined
hash function A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
families as: Given a
ring (The) Ring(s) may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell Arts, entertainment, and media Film and TV * ''The Ring'' (franchise), a ...
R = \mathbb_p \langle f \rangle , where f \in \mathbb_p is a monic,
irreducible polynomial In mathematics, an irreducible polynomial is, roughly speaking, a polynomial that cannot be factored into the product of two non-constant polynomials. The property of irreducibility depends on the nature of the coefficients that are accepted f ...
of degree n and p is an integer of order roughly n^2 , generate m random elements a_1, \dots , a_m \in R , where m is a constant. The ordered m -tuple h = (a_1, \ldots, a_m) \in R^m determines the hash function. It will map elements in D^m , where D is a strategically chosen subset of R , to R . For an element b = (b_1, \ldots , b_m) \in D^m , the hash is h(b) = \sum_^\alpha_i \centerdot b_i. Here the size of the key (the
hash function A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
) is O(mn \log p) = O(n \log n), and the operation \alpha_i \centerdot b_i can be done in time O(n \log n \log \log n) by using the Fast Fourier Transform (FFT) , for appropriate choice of the polynomial f . Since m is a constant, hashing requires time O(n \log n \log \log n). They proved that the
hash function A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
family is collision resistant by showing that if there is a
polynomial-time algorithm In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
that succeeds with non-negligible probability in finding b \neq b' \in D^m such that h(b) = h(b') , for a randomly chosen
hash function A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
h \in R^m , then a certain problem called the “
shortest vector problem In computer science, lattice problems are a class of optimization problems related to mathematical objects called '' lattices''. The conjectured intractability of such problems is central to the construction of secure lattice-based cryptosystems ...
” is solvable in
polynomial time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations p ...
for every
ideal Ideal may refer to: Philosophy * Ideal (ethics), values that one actively pursues as goals * Platonic ideal, a philosophical idea of trueness of form, associated with Plato Mathematics * Ideal (ring theory), special subsets of a ring considered ...
of the
ring (The) Ring(s) may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell Arts, entertainment, and media Film and TV * ''The Ring'' (franchise), a ...
\mathbb \langle f \rangle . Based on the work of Lyubashevsky and Micciancio in 2006, Micciancio and Regev defined the following algorithm of
hash functions A hash function is any function that can be used to map data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a hash function are called ''hash values'', ...
based on ''ideal lattices'': * Parameters: Integers q, n, m, d with n \mid m , and vector f \in \mathbb^n . * Key: m/n vectors a_1, \ldots , a_ chosen independently and uniformly at random in \mathbb_q^n . * Hash function: f_A : \lbrace 0, \ldots , d-1 \rbrace ^m \longrightarrow \mathbb_q^n given by f_A(y)= \ldots , F \ast a_ \bmod \ q . Here n,m,q,d are parameters, f is a vector in \mathbb^n and A is a block-matrix with structured blocks A^ = F \ast a^. Finding short vectors in \Lambda_q^\perp ( \ldots , F \ast a_ on the average (even with just inverse polynomial probability) is as hard as solving various lattice problems (such as approximate SVP and SIVP) in the worst case over ''ideal lattices'', provided the vector f satisfies the following two properties: * For any two unit vectors u, v, the vector ∗u has small (say, polynomial in n , typically O(\sqrt)) norm. * The polynomial f(x) = x^n+f_n x^+\cdots+f_1 \in \mathbb is irreducible over the integers, i.e., it does not factor into the product of integer polynomials of smaller degree. The first property is satisfied by the vector \mathbf = (-1,0, \ldots ,0) corresponding to circulant matrices, because all the coordinates of ∗u are bounded by 1, and hence \lVert textbf \ast \textbftextbf \rVert \leq . However, the polynomial x^n-1 corresponding to \mathbf = (-1,0, \ldots ,0) is not irreducible because it factors into (x-1)(x^+x^+\cdots+ x + 1), and this is why collisions can be efficiently found. So, \mathbf = (-1,0, \ldots ,0) is not a good choice to get collision resistant
hash functions A hash function is any function that can be used to map data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a hash function are called ''hash values'', ...
, but many other choices are possible. For example, some choices of f for which both properties are satisfied (and therefore, result in collision resistant
hash functions A hash function is any function that can be used to map data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a hash function are called ''hash values'', ...
with worst-case security guarantees) are * \mathbf = (1, \ldots ,1) \in \mathbb^n where n + 1 is prime, and * \mathbf = (1,0, \ldots ,0) \in \mathbb^n for n equal to a power of 2.


Digital signatures

Digital signatures schemes are among the most important cryptographic primitives. They can be obtained by using the one-way functions based on the worst-case
hardness In materials science, hardness (antonym: softness) is a measure of the resistance to plastic deformation, such as an indentation (over an area) or a scratch (linear), induced mechanically either by Pressing (metalworking), pressing or abrasion ...
of lattice problems. However, they are impractical. A number of new digital signature schemes based on learning with errors, ring learning with errors and trapdoor lattices have been developed since the
learning with errors In cryptography, learning with errors (LWE) is a mathematical problem that is widely used to create secure encryption algorithms. It is based on the idea of representing secret information as a set of equations with errors. In other words, LWE is ...
problem was applied in a cryptographic context. Their direct construction of digital signatures based on the complexity of approximating the shortest vector in ideal (e.g., cyclic) lattices. The scheme of Lyubashevsky and Micciancio has worst-case security guarantees based on ideal lattices and it is the most asymptotically efficient construction known to date, yielding signature generation and verification algorithms that run in almost
linear time In theoretical computer science, the time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm. Time complexity is commonly estimated by counting the number of elementary operations ...
. One of the main open problems that was raised by their work is constructing a one-time signature with similar efficiency, but based on a weaker
hardness In materials science, hardness (antonym: softness) is a measure of the resistance to plastic deformation, such as an indentation (over an area) or a scratch (linear), induced mechanically either by Pressing (metalworking), pressing or abrasion ...
assumption. For instance, it would be great to provide a one-time signature with security based on the
hardness In materials science, hardness (antonym: softness) is a measure of the resistance to plastic deformation, such as an indentation (over an area) or a scratch (linear), induced mechanically either by Pressing (metalworking), pressing or abrasion ...
of approximating the Shortest Vector Problem (SVP) (in ''ideal lattices'') to within a factor of \tilde(n) . Their construction is based on a standard transformation from one-time signatures (i.e. signatures that allow to securely sign a single message) to general signature schemes, together with a novel construction of a lattice based one-time signature whose security is ultimately based on the worst-case
hardness In materials science, hardness (antonym: softness) is a measure of the resistance to plastic deformation, such as an indentation (over an area) or a scratch (linear), induced mechanically either by Pressing (metalworking), pressing or abrasion ...
of approximating the shortest vector in all lattices corresponding to ideals in the
ring (The) Ring(s) may refer to: * Ring (jewellery), a round band, usually made of metal, worn as ornamental jewelry * To make a sound with a bell, and the sound made by a bell Arts, entertainment, and media Film and TV * ''The Ring'' (franchise), a ...
\mathbb \langle f \rangle for any
irreducible polynomial In mathematics, an irreducible polynomial is, roughly speaking, a polynomial that cannot be factored into the product of two non-constant polynomials. The property of irreducibility depends on the nature of the coefficients that are accepted f ...
f . Key-Generation Algorithm: ''Input'': 1^n,
irreducible polynomial In mathematics, an irreducible polynomial is, roughly speaking, a polynomial that cannot be factored into the product of two non-constant polynomials. The property of irreducibility depends on the nature of the coefficients that are accepted f ...
f \in \mathbb of degree n. # Set p \longleftarrow (\varphi n)^3 , m \longleftarrow \lceil \log n \rceil , R \longleftarrow \mathbb_p \langle f \rangle # For all positive i , let the sets DK_i and DL_i be defined as: : DK_i = \lbrace \hat \in R^m such that \lVert \hat \rVert_\infty \leq 5ip^ \rbrace : DL_i = \lbrace \hat \in R^m such that \lVert \hat \rVert_\infty \leq 5in \varphi p^ \rbrace # Choose uniformly random h \in \mathcal_ # Pick a uniformly random string r \in \lbrace 0, 1 \rbrace^ # If r = 0^ then # Set j = \lfloor \log^2n \rfloor # else # Set j to the position of the first 1 in the string r # end if # Pick \hat , \hat independently and uniformly at random from DK_j and DL_j respectively # Signing Key: (\hat , \hat). Verification Key: (h,h(\hat) , h(\hat)) Signing Algorithm: ''Input:'' Message z \in R such that \lVert z \rVert_\infty \leq 1 ; signing key (\hat , \hat) ''Output:'' \hat \longleftarrow \hatz + \hat Verification Algorithm: ''Input:'' Message z ; signature \hat ; verification key (h,h(\hat) , h(\hat)) ''Output:'' “ACCEPT”, if \lVert \hat \rVert_\infty \leq 10 \varphi p^n \log^2n and \hat = \hatz + \hat “REJECT”, otherwise.


The SWIFFT hash function

The
hash function A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
is quite efficient and can be computed asymptotically in \tilde(m) time using the Fast Fourier Transform (FFT) over the
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the for ...
s. However, in practice, this carries a substantial overhead. The
SWIFFT In cryptography, SWIFFT is a collection of provably secure hash functions. It is based on the concept of the fast Fourier transform (FFT). SWIFFT is not the first hash function based on the FFT, but it sets itself apart by providing a mathematica ...
family of
hash functions A hash function is any function that can be used to map data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a hash function are called ''hash values'', ...
defined by Micciancio and Regev is essentially a highly optimized variant of the
hash function A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
above using the (FFT) in \mathbb_q. The vector f is set to (1, 0,\dots , 0) \in \mathbb^n for n equal to a power of 2, so that the corresponding polynomial x^n + 1 is irreducible. Let q be a
prime number A prime number (or a prime) is a natural number greater than 1 that is not a Product (mathematics), product of two smaller natural numbers. A natural number greater than 1 that is not prime is called a composite number. For example, 5 is prime ...
such that 2n divides q-1 , and let \textbf \in \mathbb^_ be an
invertible matrix In linear algebra, an invertible matrix (''non-singular'', ''non-degenarate'' or ''regular'') is a square matrix that has an inverse. In other words, if some other matrix is multiplied by the invertible matrix, the result can be multiplied by a ...
over \mathbb_q to be chosen later. The
SWIFFT In cryptography, SWIFFT is a collection of provably secure hash functions. It is based on the concept of the fast Fourier transform (FFT). SWIFFT is not the first hash function based on the FFT, but it sets itself apart by providing a mathematica ...
hash function A hash function is any Function (mathematics), function that can be used to map data (computing), data of arbitrary size to fixed-size values, though there are some hash functions that support variable-length output. The values returned by a ...
maps a key \tilde^ , \ldots , \tilde^ consisting of m/n vectors chosen uniformly from \mathbb^_ and an input y \in \lbrace 0, \ldots , d-1 \rbrace^m to \textbf^ f_A(y) \bmod \ q where \textbf = \textbf \ast \alpha^, \ldots, \textbf \ast \alpha^ is as before and \alpha^ = \textbf^ \tilde^ \bmod q . Multiplication by the
invertible matrix In linear algebra, an invertible matrix (''non-singular'', ''non-degenarate'' or ''regular'') is a square matrix that has an inverse. In other words, if some other matrix is multiplied by the invertible matrix, the result can be multiplied by a ...
\textbf^ maps a uniformly chosen \tilde \in \mathbb^n_q to a uniformly chosen \alpha \in \mathbb^_q . Moreover, \textbf^ f_A(y)=\textbf^ f_A(y') \pmod q if and only if f_A(y)= f_A(y') \pmod q . Together, these two facts establish that finding collisions in
SWIFFT In cryptography, SWIFFT is a collection of provably secure hash functions. It is based on the concept of the fast Fourier transform (FFT). SWIFFT is not the first hash function based on the FFT, but it sets itself apart by providing a mathematica ...
is equivalent to finding
collisions In physics, a collision is any event in which two or more bodies exert forces on each other in a relatively short time. Although the most common use of the word ''collision'' refers to incidents in which two or more objects collide with great for ...
in the underlying ''ideal lattice'' function f_A , and the claimed
collision resistance In cryptography, collision resistance is a property of cryptographic hash functions: a hash function ''H'' is collision-resistant if it is hard to find two inputs that hash to the same output; that is, two inputs ''a'' and ''b'' where ''a'' ≠ ' ...
property of
SWIFFT In cryptography, SWIFFT is a collection of provably secure hash functions. It is based on the concept of the fast Fourier transform (FFT). SWIFFT is not the first hash function based on the FFT, but it sets itself apart by providing a mathematica ...
is supported by the connection to worst case
lattice problem In computer science, lattice problems are a class of Mathematical optimization, optimization problems related to mathematical objects called ''Lattice (group), lattices''. The conjectured Intractable problem, intractability of such problems is cen ...
s on ''ideal lattices''. The algorithm of the SWIFFT hash function is: * Parameters: Integers n, m, q, d such that n is a power of 2, q is prime, 2n \mid (q-1) and n \mid m . * Key: m/n vectors \tilde_1, \ldots , \tilde_ chosen independently and uniformly at random in \mathbb_q^n . * Input: m/n vectors y^, \dots , y^ \in \lbrace 0, \dots , d-1 \rbrace ^n . * Output: the vector \sum_^ \tilde^ \odot (\textbfy^) \in \mathbb_q^n , where \odot is the component-wise vector product.


Learning with errors (LWE)


Ring-LWE

Learning with errors (LWE) problem has been shown to be as hard as worst-case lattice problems and has served as the foundation for many cryptographic applications. However, these applications are inefficient because of an inherent quadratic overhead in the use of LWE. To get truly efficient LWE applications, Lyubashevsky, Peikert and Regev defined an appropriate version of the LWE problem in a wide class of rings and proved its hardness under worst-case assumptions on ideal lattices in these rings. They called their LWE version ring-LWE. Let f(x)= x^n+1 \in \mathbb , where the security parameter n is a power of 2, making f(x) irreducible over the rationals. (This particular f(x) comes from the family of
cyclotomic polynomial In mathematics, the ''n''th cyclotomic polynomial, for any positive integer ''n'', is the unique irreducible polynomial with integer coefficients that is a divisor of x^n-1 and is not a divisor of x^k-1 for any Its roots are all ''n''th prim ...
s, which play a special role in this work). Let R= \mathbb \langle f(x) \rangle be the ring of integer polynomials modulo f(x) . Elements of R (i.e., residues modulo f(x) ) are typically represented by integer polynomials of degree less than n . Let q \equiv 1 \bmod 2n be a sufficiently large public prime modulus (bounded by a polynomial in n ), and let R_q = R/\langle q \rangle = \mathbb_q \langle f(x) \rangle be the ring of integer polynomials modulo both f(x) and q . Elements of R_q may be represented by polynomials of degree less than n -whose coefficients are from \lbrace 0 , \dots , q-1 \rbrace . In the above-described ring, the R-LWE problem may be described as follows. Let s = s(x) \in R_q be a uniformly random ring element, which is kept secret. Analogously to standard LWE, the goal of the attacker is to distinguish arbitrarily many (independent) ‘random noisy ring equations’ from truly uniform ones. More specifically, the noisy equations are of the form (a, b \approx a \centerdot s) \in R_q \times R_q , where a is uniformly random and the product a \centerdot s is perturbed by some ‘small’ random error term, chosen from a certain distribution over R . They gave a quantum reduction from approximate SVP (in the worst case) on ideal lattices in R to the search version of ring-LWE, where the goal is to recover the secret s \in R_q (with high probability, for any s ) from arbitrarily many noisy products. This result follows the general outline of Regev's iterative quantum reduction for general lattices, but ideal lattices introduce several new technical roadblocks in both the ‘algebraic’ and ‘geometric’ components of the reduction. They used algebraic number theory, in particular, the canonical embedding of a number field and the
Chinese Remainder Theorem In mathematics, the Chinese remainder theorem states that if one knows the remainders of the Euclidean division of an integer ''n'' by several integers, then one can determine uniquely the remainder of the division of ''n'' by the product of thes ...
to overcome these obstacles. They got the following theorem: Theorem Let K be an arbitrary number field of degree n . Let \alpha = \alpha (n) \in (0, 1) be arbitrary, and let the (rational) integer modulus q = q(n) \geq 2 be such that \alpha \centerdot q \geq \omega (\sqrt) . There is a probabilistic polynomial-time quantum reduction from K - DGS_\gamma to \mathcal_K - LWE_ , where \gamma = \eta_\epsilon(I) \centerdot \omega(\sqrt)/\alpha . In 2013, Guneysu, Lyubashevsky, and Poppleman proposed a digital signature scheme based on the Ring Learning with Errors problem. In 2014, Peikert presented a Ring Learning with Errors Key Exchange (RLWE-KEX) in his paper, "Lattice Cryptography for the Internet." This was further developed by the work of Singh.


Ideal-LWE

Stehle, Steinfeld, Tanaka and Xagawa defined a structured variant of LWE problem (Ideal-LWE) to describe an efficient public key encryption scheme based on the worst case hardness of the approximate SVP in ideal lattices. This is the first CPA-secure public key encryption scheme whose security relies on the hardness of the worst-case instances of \tilde(n^2) -Ideal-SVP against subexponential quantum attacks. It achieves asymptotically optimal efficiency: the public/private key length is \tilde(n) bits and the amortized encryption/decryption cost is \tilde(1) bit operations per message bit (encrypting \tilde(n) bits at once, at a \tilde(n) cost). The security assumption here is that \tilde(n^2) -Ideal-SVP cannot be solved by any subexponential time quantum algorithm. It is noteworthy that this is stronger than standard
public key cryptography Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic al ...
security assumptions. On the other hand, contrary to the most of
public key cryptography Public-key cryptography, or asymmetric cryptography, is the field of cryptographic systems that use pairs of related keys. Each key pair consists of a public key and a corresponding private key. Key pairs are generated with cryptographic al ...
,
lattice-based cryptography Lattice-based cryptography is the generic term for constructions of cryptographic primitives that involve lattices, either in the construction itself or in the security proof. Lattice-based constructions support important standards of post-quant ...
allows security against subexponential quantum attacks. Most of the cryptosystems based on general lattices rely on the average-case hardness of the Learning with errors (LWE). Their scheme is based on a structured variant of LWE, that they call Ideal-LWE. They needed to introduce some techniques to circumvent two main difficulties that arise from the restriction to ideal lattices. Firstly, the previous cryptosystems based on unstructured lattices all make use of Regev's worst-case to average-case classical reduction from Bounded Distance Decoding problem (BDD) to LWE (this is the classical step in the quantum reduction from SVP to LWE). This reduction exploits the unstructured-ness of the considered lattices, and does not seem to carry over to the structured lattices involved in Ideal-LWE. In particular, the probabilistic independence of the rows of the LWE matrices allows to consider a single row. Secondly, the other ingredient used in previous cryptosystems, namely Regev's reduction from the computational variant of LWE to its decisional variant, also seems to fail for Ideal-LWE: it relies on the probabilistic independence of the columns of the LWE matrices. To overcome these difficulties, they avoided the classical step of the reduction. Instead, they used the quantum step to construct a new quantum average-case reduction from SIS (average-case collision-finding problem) to LWE. It also works from Ideal-SIS to Ideal-LWE. Combined with the reduction from worst-case Ideal-SVP to average-case Ideal-SIS, they obtained the a quantum reduction from Ideal-SVP to Ideal-LWE. This shows the hardness of the computational variant of Ideal-LWE. Because they did not obtain the hardness of the decisional variant, they used a generic hardcore function to derive pseudorandom bits for encryption. This is why they needed to assume the exponential hardness of SVP.


Fully homomorphic encryption

A fully
homomorphic encryption Homomorphic encryption is a form of encryption that allows computations to be performed on encrypted data without first having to decrypt it. The resulting computations are left in an encrypted form which, when decrypted, result in an output th ...
(FHE) scheme is one which allows for computation over encrypted data, without first needing to decrypt. The problem of constructing a fully
homomorphic encryption Homomorphic encryption is a form of encryption that allows computations to be performed on encrypted data without first having to decrypt it. The resulting computations are left in an encrypted form which, when decrypted, result in an output th ...
scheme was first put forward by Rivest, Adleman and Dertouzos in 1978, shortly after the invention of RSA by Rivest, Adleman and Shamir. An encryption scheme \varepsilon = (\mathsf, \mathsf, \mathsf, \mathsf) is homomorphic for circuits in \mathcal if, for any circuit C \in \mathcal, given PK, SK \leftarrow \mathsf(1^\lambda), y = \mathsf(PK, x), and y' = \mathsf(PK, C, y), it holds that \mathsf(SK, y') = C(x). \varepsilon is fully homomorphic if it is homomorphic for all circuits of size \operatorname(\lambda) where \lambda is the scheme's security parameter. In 2009, Gentry{{cite book , chapter-url=http://portal.acm.org/citation.cfm?id=1536414.1536440 , doi=10.1145/1536414.1536440 , chapter=Fully homomorphic encryption using ideal lattices , title=Proceedings of the forty-first annual ACM symposium on Theory of computing , date=2009 , last1=Gentry , first1=Craig , pages=169–178 , isbn=978-1-60558-506-2 proposed the first solution to the problem of constructing a fully
homomorphic encryption Homomorphic encryption is a form of encryption that allows computations to be performed on encrypted data without first having to decrypt it. The resulting computations are left in an encrypted form which, when decrypted, result in an output th ...
scheme. His scheme was based on ideal lattices.


See also

*
Lattice-based cryptography Lattice-based cryptography is the generic term for constructions of cryptographic primitives that involve lattices, either in the construction itself or in the security proof. Lattice-based constructions support important standards of post-quant ...
*
Homomorphic encryption Homomorphic encryption is a form of encryption that allows computations to be performed on encrypted data without first having to decrypt it. The resulting computations are left in an encrypted form which, when decrypted, result in an output th ...
*
Ring learning with errors key exchange In cryptography, a public key exchange algorithm is a cryptographic algorithm which allows two parties to create and share a secret key, which they can use to encrypt messages between themselves. The ring learning with errors key exchange (RLWE ...
*
Post-quantum cryptography Post-quantum cryptography (PQC), sometimes referred to as quantum-proof, quantum-safe, or quantum-resistant, is the development of cryptographic algorithms (usually public-key algorithms) that are currently thought to be secure against a crypt ...
*
Short integer solution problem Short integer solution (SIS) and ring-SIS problems are two ''average''-case problems that are used in lattice-based cryptography constructions. Lattice-based cryptography began in 1996 from a seminal work by Miklós AjtaiAjtai, Miklós. enerating ...


References

Number theory Lattice-based cryptography Post-quantum cryptography