Modfalcon: Compact Signatures Based On Module Ntru Lattices: Chitchanok - Chuengsatiansup@Adelaide - Edu.Au
Modfalcon: Compact Signatures Based On Module Ntru Lattices: Chitchanok - Chuengsatiansup@Adelaide - Edu.Au
lattices
1 Introduction
Many candidates to the NIST call for post-quantum standardization rely on Euclidean
lattices. Indeed, lattice problems seem to be quantum-resistant, and at the same time
sufficiently malleable to lead to the construction of cryptographic primitives, rang-
ing from basic to advanced (such as homomorphic encryption). Moreover, relying on
structured lattices originating from algebraic number theory has led to very efficient
schemes, as showcased by the performance of the candidates still running in the sec-
ond round of the NIST call: LAC [LLJ+ 19], KYBER [SAB+ 19], NewHope [PAA+ 19],
NTRU [ZCH+ 19], NTRU Prime [BCLv19], Round5 [GZB+ 19], SABER [DKRV19],
and Three Bears [Ham19] for public-key encryption and DILITHIUM [LDK+ 19],
Falcon [PFH+ 19], and qTESLA [BAA+ 19] for signatures.
For signatures schemes, a well-known approach is Gentry, Peikert and Vaikun-
tanathan’s hash-and-sign paradigm upon collision-resistant preimage sampleable func-
tion ([GPV08] (hereafter denoted as GPV), and its instantiation over the so-called
NTRU lattices [HPS98]. The GPV framework enjoys tight and strong security proofs
in the quantum random oracle model (QROM) [BDF+ 11], and its security stems from
the hardness of computing a short basis of a large rank lattice. At a high level, the
idea is to rely on trapdoor Gaussian sampling in a lattice using a secret basis com-
posed of short vectors to generate signatures, while the verification key could be any
basis. One particularly promising and interesting candidate based on the GPV setting
is Falcon [PFH+ 19], built upon [HHP+ 03] and [DLP14]. This scheme ranks among
the best in term of efficiency of its operations without sacrificing on its security and
while managing compact signatures and verifications keys, which is usually a drawback
of lattice-based signature schemes. In a nutshell, three main features of Falcon are:
– short signatures;
– an efficient key generation algorithm to compute a full short basis of an NTRU
lattice;
– an efficient and secure Gaussian sampler.
From the point of view of practical security and side-channel attacks, Gaussian sam-
plers have been known to be a potential weak point (e.g., with respect to timing at-
tacks [BDE+ 18,TW19,FKT+ 19]). However, the one used in Falcon was provided with
a fully constant-time implementation with only minor losses in efficiency [PRR19].
A caveat of Falcon comes from its complicated implementation, as its efficiency
relies on several technical routines and the deep exploitation of the structures of the
underlying mathematical objects. In particular, the NTRU lattices can be seen as rank
2 modules lattices over towers of rings of algebraic integers: this tower structure (rem-
iniscent of the fast Fourier transform) is at the core of Falcon’s performance. More
precisely, the rings used in practice are cyclotomic rings R = Z[x]/(xd + 1) whose degree
d is a power of 2. They are a common choice for structured lattice-based cryptography,
as they enjoy well-understood algebraic properties and lead to efficient implementations.
A drawback of this choice is that powers of 2 are sparse and the bit security mostly
depends on d. This implies that if the security level of an implemented scheme must be
increased, it is very likely that the updated parameters will incur a significant loss in
efficiency while becoming an overkill in term of the reached security level. This is best
illustrated with Falcon: taking d = 512 leads to an estimated quantum security 103
bits, while d = 1024 reaches 230 quantum bit-security, without any intermediate step.
At the same time, the signature length jumps from 617 Bytes to 1233 Bytes. Should one
wish to achieve a better compromise between security and efficiency, then one would
need to select an appropriate “intermediate” ring and redo a full implementation from
scratch as there are few to no tower structure among number rings as convenient as
the power of two case. In fact, the NIST round 1 version of Falcon proposed an im-
plementation over an appropriate intermediate ring with d = 768, reaching 172 bits of
quantum security for a signature of 994 Bytes [PFH+ 17]. But it was considered way too
technical and was therefore removed from round 2.
For lattice-based public-key encryption and the other signature paradigm based on
the lattice adaptation to Schnorr signatures, this issue was successfully addressed by re-
lying on structured lattices of a larger module rank, that is, the rank when seen as a mod-
ule over R instead of a “plain” lattice. This led to the DILITHIUM [DKL+ 18,LDK+ 19]
signature, and the KYBER [BDK+ 18,SAB+ 19] and SABER [DKRV18,DKRV19] en-
cryption schemes, all competitive candidates in the second round of NIST’s call. How-
ever, no such module variant was known for NTRU schemes either for key encapsulation
or signatures, although there were approaches toward the former with the MaTRU de-
sign [CG05].
2
– We provide a general instantiation of the hash-and-sign paradigm to NTRU lattices
of larger module ranks, extending the Falcon design to wider ranges of parameter
sets;
– We explain how to generalize in an efficient way the key generation and signature
algorithms of Falcon (the extension of the verification algorithm is direct);
– We give a complete security analysis against known attack avenues, which encom-
passes the analysis of Falcon, and we provide light and documented scripts that
compute the bit-security levels from a set of parameters following our analysis.
Enjoying the extra flexibility in the choice of parameters, we obtain compact sig-
natures for different security levels than Falcon. In particular, we obtain the smallest
lattice-based signature that enjoys at least 128 bits of quantum security: it is about
25% smaller than Falcon-1024, and almost three times smaller than DILITHIUM-
III, which moreover only gets close to this level of quantum security. If one wants to
minimize the sum of the signature and public key lengths, then the comparison is even
more favorable. See Table 1.
Our design only mildly tweaks the existing description of Falcon, as it focuses on
module lattices over the same core cyclotomic rings. This eases the task of the implemen-
tors since they can rely on the existing building blocks. This argument, already used as
a motivation for DILITHIUM, KYBER and SABER, is even more pressing for Fal-
con, as the key generation and signature algorithms are significantly more involved. To
illustrate this modularity, we provide a proof-of-concept python implementation. Since
we build upon the existing core features of Falcon without additional manipulation
on secret data, our scheme is natively given as much resistance against timing attacks
as the implementation of Falcon provides.
Table 1. Comparison between NIST round 2 lattice-based signature schemes and our new proposal
ModFalcon. |vk| and |sig| are the sizes in Bytes of the public key and signature, respectively. λQ and λC
stand for the quantum and classical bit security estimates, respectively. For Falcon and ModFalcon,
KR and SR refer to the key and signature recovery modes.
|vk| |sig| λQ λC
DILITHIUM-I 896 1387 53 58
DILITHIUM-II 1184 2044 91 100
Falcon-512 (SR) 897 658
109 120
Falcon-512 (KR) 28 1276
DILITHIUM-III 1472 2701 125 138
qTESLA-p-I 14880 2592 140 151
DILITHIUM-IV 1760 3366 158 174
Falcon-1024 (SR) 1793 1274
252 277
Falcon-1024 (KR) 63 2508
qTESLA-p-III 38432 12352 279 305
3
As an additional contribution, we also describe how to design a public-key encryption
scheme similar in spirit to NTRUEncrypt [HPS98], relying again on module lattices
of larger ranks. This encryption scheme can be converted into an adaptively secure
key encapsulation mechanism by means of the SXY conversion [SXY18], leading to
a tight security proof in the QROM. With this description, we could achieve similar
performance as the NTRU [ZCH+ 19] and (streamline) NTRU Prime [BCLv19] round-
2 NIST proposals, though not better. For this reason, we chose to limit ourselves to the
description of the scheme and provide the interested readers with details on different
approaches in the concrete instantiation of the scheme.
Finally, we extend the results of [SS11,SS13] to show that the verification keys is
statistically close to uniform, under some parameter constraints. Note that the concrete
parameters that we choose do not satisfy these constraints. If the verification key is close
to uniform, then one obtains signature scheme that enjoys strong EUF-CMA security in
the QROM, under the Module-SIS hardness assumption [LS15]. This result is deduced
from a new matrix version of the leftover hash lemma over number fields, and relies
on techniques that may be of independent interest. As this requires additional number
theory material, and is somewhat disjoint from the above contributions, this contribution
is postponed to the appendix.
2 Preliminaries
Given ϵ > 0, the smoothing parameter ηϵ (L) is the smallest real s > 0 such that
ρ1/s (L∗ ) ≤ 1 + ϵ, where L∗ is the dual lattice. In a sense, it quantifies the standard
deviation parameter needed to “smooth out” the discreteness of the lattice. We omit
the definition of the dual, as it is not needed further in this work. Rather, we recall the
4
following standard upper bound6 on the smoothing parameter, which we will use for
instantiating practical parameters.
Lemma 2.1 (Adapted from [GPV08]). Let L be any rank d lattice with basis B,
and let ϵ > 0. We have:
1p
ηϵ (L) ≤ ∥B∥GS · log(2d(1 + 1/ϵ))/2.
π
The quantity ∥B∥GS is the norm of the largest vector in the Gram-Schmidt Orthogo-
nalization of B (see also Section 2.3).
We let d be a power of 2 and write K = Q[x]/(xd +1) the corresponding cyclotomic field.
In this setup, R = Z[x]/(xd + 1) is the ring of integers of K, and for any prime integer q,
we define Rq = R/qR ≃ Zq [x]/(xd +1). There are several ways of embedding this number
field in a normed vector space. In thisP work, we use two of them. An element in K can
be embedded by its coefficients: a = i ai xi ∈ K gives (a0 , . . . , ad−1 ) ∈ Qd . Abusing
notations, we will write a to denote both the element in K and its vector of coefficients.
We can then consider the ℓ∞ -norm of elements of K as ∥a∥∞ = maxi∈[d−1] |ai |, and
p
their Euclidean norm is ∥a∥ = ⟨a, a⟩ = ( i |ai |2 )1/2 , where ⟨, ⟩ is the standard inner
P
product over Rd . Observe that ∥xi a∥ = ∥a∥ for all i ∈ [d]. For all a ∈ K we let
a⋆ := a(x−1 ) = (a0 , −ad−1 , . . . , −a1 ).
Elements in K can also be represented by their nega-circulant matrix of multiplica-
tion, when seeing K as a Q-linear space with basis 1, x, . . . , xd−1 . In other words, the
matrix M(a) has rows the coefficient vectors of a, xa, . . . , xd−1 a, and we have M(ab) =
M(a) M(b). It can be seen that M(a⋆ ) = M(a)t . Thus for all a, b ∈ K, we have ⟨a, b⟩ =
⟨ab⋆ , 1⟩, so that ∥a∥2 is the constant coefficient of aa⋆ .
These notions can be extended to the linear space K n by concatenating the coef-
ficient vectors of an element . , an ). The norms over Qd extends as ∥a∥∞ =
Pa = (a1 , .2. 1/2
maxi∈[n] ∥ai ∥∞ and ∥a∥ = ( i∈[n] ∥ai ∥ ) . WeP extend the ⋆ operator component-wise,
and consider the K-bilinear form ⟨a, b⟩K = ⋆
i ai bi . The latter corresponds to the
Euclidean norm, in the sense that
X X
∥a∥2 = ∥ai ∥2 = ⟨ ai a⋆i , 1⟩ = ⟨⟨a, a⟩K , 1⟩,
i i
or, in other words, ∥a∥2 is the constant coefficient of ⟨a, a⟩K . We also extend the matrix
representation to vectors over K:
5
NTRU module lattices We call a module in K m a subset of the form M=Rb1 +· · ·+Rbn
and such that SpanK (b1 , . . ., bn ) has dimension n.7 Observe that for all x ∈ R and all
a ∈ M, we have xa ∈ M. Let now F ∈ Rn×n be invertible modulo some prime integer
q, and g ∈ Rn . We also let ht = F−1 gt mod q ∈ Rn , and define the NTRU module as
It contains qRn+1 so it is in particular of full rank n + 1. Recall that for any invertible
F ∈ Rn×n , the adjugate of F is the unique matrix adj(F) satisfying adj(F) · F =
F · adj(F) = (detK F) · In . If there exists g0 ∈ R and f0 ∈ Rn such that g0 · detK F − f0 ·
adj(F) · gt = q ∈ R, then LNTRU admits bases in K n+1 in the form of
t t
−h In g −F
BNTRU = and BF,g = ,
q 0n g0 −f0
since Schur’s
complement formula shows that detK BF,g = q and one can check that
1
BF,g · t = 0 mod q. As any module, LNTRU can be seen as a Z-lattice in Q(n+1)d by
h
concatenation of the coefficient vectors. We can see that M(BF,g ) ∈ Z(n+1)d×(n+1)d is a
basis of the underlying lattice, so an NTRU lattice has volume q d .
6
– the coefficient vector of bei is e
r(i−1)d+1 ;
⋆
Qnd 2
– det(M(BB )) = i=1 ∥e ri ∥ ;
– ∥M(B)∥GS = max{∥e r1 ∥, ∥e
rd+1 ∥, . . . , ∥e
r(n−1)d+1 ∥}.
Proof. Let Vi = SpanK (b1 , . . . , bi ). With an abuse of notation, write M(Vi ) = RowSpan([M(b1 )| . . . | M(bi )])
For every i, we have dimQ M(Vi ) = d · dimK Vi . By definition, we know that bei is orthog-
onal to Vi−1 . This means that M(⟨bei , b fj ⟩K ) = P e t
k∈[n] M(bik ) M(bj k ) is the zero matrix
e
in Qd×d for all j ≤ i − 1. Said differently, the space RowSpan(M(bei )) is orthogonal to
M(Vi−1 ). By definition of the GSO, this implies that (the coefficient vector of) bei is
orthogonal to SpanQ (r1 , . . . , r(i−1)d ). By unicity of the GSO, we see that bei = e r(i−1)d+1 .
e e t
Next, the orthogonality in K implies that M(B) M(B) is a block-diagonal matrix,
with blocks M(⟨bei , bei ⟩K ) for i ≤ n. This gives
Y nd
Y
det(M(BB⋆ )) = det(M(B
eBf⋆ )) = det(M(⟨bei , bei ⟩K )) = ri ∥2 .
∥e
i∈[n] i=1
For the last statement, note that for every i and j, the vector rid+j is a projection
of a vector that has the same norm as rid+1 .
3 ModFalcon
7
Decompress : {0, 1}∗ → Rn+1 be efficient maps such that Decompress ◦ Compress is the
identity.
Our key generation, signature and verification algorithms follow closely the descrip-
tion of Falcon, however some steps do not readily generalize. Below, we describe the
modifications in details.
Key generation
1: repeat
2: Sample F ←- Df and g ←- Dg
1/(n+1)
3: until F invertible
t mod q and ∥M(BF,g )∥GS ≤ gs slack · q
4: Complete g −F into a basis BF,g of LNTRU
5: Compute ht = F−1gt mod q
1
6: return (vk = , sk = BF,g )
ht
The most important differences between Falcon and ModFalcon are in the key
generation; since we generate different, more generic lattices, our methods and choice
of parameters need to be generalized as well.
The Gram-Schmidt slack. Using Lemma 2.2 and the fact that the NTRU lattice has
determinant q d , one checks that ∥B∥GS ≥ q 1/(n+1) . In [DLP14], it is experimentally
shown that for n = 1, one can carefully select Df and Dg so that one can get close to
√
that optimal lower bound q by a factor 1.17. By performing our own experiments, we
extend this approach to higher values of n. We found that with constant probability,
one can get ∥B∥GS ≤ gs slack · q 1/(n+1) , where gs slack ≥ 1 is some “slack” which
quantifies the gap between the lower bound of ∥B∥GS and what we can achieve in
practice. Concretely, we take:
The distributions Df and Dg . For the security of trapdoor sampling procedure in the
GPV framework, it is needed to sample discrete Gaussians in R with a standard de-
viation parameter above the GS-norm of the trapdoor basis. To maximize security, we
would like this GS-norm to be as small as possible (this makes signature forgery harder).
Thanks to Lemma 2.2, we can control ∥BF,g ∥GS by careful sampling of the rows of BF,g .
In particular, we can try to have all rows of essentially the same norm.
To do so, we notice that orthogonalizing a random vector over a random subspace q of
n+1 n+1
dimension n + 1 − i of K typically shrinks its Euclidean norm by a factor n+1−i .
This effect can be compensated by sampling each row [fi1 , . . . , fin , gi ] according to a
discrete Gaussian with standard deviation gs slack · √ 1 · q 1/(n+1) (the factor
d(n+2−i)
d comes from the fact that the Euclidean norms are for vectors in Rd(n+1) ). Overall,
8
we expect that ∥B∥GS ≤ gs slack · q 1/(n+1) with constant probability (if n is bounded
from above by a constant).
Completing the trapdoor basis. A full basis of theNTRU lattice is needed to perform
trapdoor sampling. Hence we need an extra vector g −f ∈ Rn+1 to complete gt −F
into BF,g . When n = 1, this boils down to solving a “Bézout”-like equation over R, which
can be done efficiently by a recursive approach [PP19] exploiting the tower structure
of R = Z[x]/(xd + 1). We show how to reduce our current situation to the case n = 1.
From Schur’s complement formula, we have:
We let f = (f, 0, . . . , 0), so that this equation becomes g · detK (F) − A · f = q ∈ R, where
det(F) ∈ R, A ∈ R is the first coordinate of adj(F) · gt and can be computed once F
and g have been generated. Then we can solve for f, g using [PP19].
Implicit computation of ∥M(BF,g )∥GS . The matrix BF,g is entirely resampled if its
Gram-Schmidt norm is larger than a certain threshold,
thus it might be resampled a
few times; on the other hand, computing g −f (following the trapdoor completion pro-
cedure described in the previous paragraph) is somewhat computationally expensive so
we only want to do it once. Recall from Lemma 2.2 that ∥M(BF,g )∥GS = maxi∈[n] {∥b e i ∥},
and that we have Yn+1
q 2 = detK (BF,g · BF,g ⋆ ) = ⟨b e i ⟩K .
ei, b
i=1
Once gt −F has been sampled, we can apply Lemma 2.2 to compute all the ⟨b
e i ⟩K ’s
ei, b
for i ≤ n and deduce the remaining ⟨b e n+1 ⟩K , of which ∥b
e n+1 , b 2
e n+1 ∥ is the constant
coefficient. We can hence compute ∥M(BF,g )∥GS before completing M(BF,g ), allowing
us to make only one single call to the trapdoor completion procedure.
9
Verification: (vk, msg, (r, S)) → accept or reject
Require: A fixed bound ρ on the length of the signature
1: s ← Decompress(S)
2: If ∥s∥ > ρ, return reject
3: If s · vk ̸= H(r∥msg), return reject
4: return accept
The procedures Compress and Decompress. Our compression and decompression pro-
cedures are identical to the ones used in Falcon [PFH+ 19, Section 3.11.2]: for each
integer coefficient, the sign as well as the ⌊log2 (σ)⌋ − 1 least significant bits are naively
encoded (i.e., copy-pasted), whereas the remaining most significant bits are encoded
following a unary encoding.
The standard deviation parameter σ. This parameter should be large enough so that the
output distribution of the fast Fourier sampler is close to a prefect discrete Gaussian. To
apply the Rényi divergence arguments of [Pre17, Section 3.3 and Lemma 6], it suffices
1
to take σ ≥ ηϵ (Rn+1 ) · ∥M(BF,g )∥GS with ϵ = 4√λQ , where Qs is a given upper bound
s
on the total number of signatures generated using a single key pair, and λ := 256 is
an upper bound of the bit security we are aiming at (we could optimize the value of λ
for specific bit-security targets, but this has negligible impact).Concretely, the standard
deviation parameter σ is set using the bound on ηϵ given by Lemma 2.1.
Fast Fourier sampling for module NTRU Lattices An in-depth description of Fourier
sampling is outside of the scope of this work, and we refer the interested reader to [PFH+ 19].
Here, we outline the main operations and how they can be modified to fit our design.
The sampler uses a well-designed tree representation of the trapdoor basis BF,g . Re-
call that the LDL decomposition of a symmetric positive definite matrix G writes it
uniquely as G = LDL⋆ , where L is lower triangular with 1’s on its diagonal, and D is
diagonal with positive entries. The tree is built using successive LDL decompositions
over K of the Gram matrix G = BF,g · B⋆F,g .
The root of the tree is labeled the lower corner of the first L factor, and the leaves
corresponds to the entries in the diagonal matrix D. The next level of the tree is obtained
recursively by repeating the procedure on the diagonal blocks, using the fact that K has
a tower structure of quadratic extensions over Q. At the bottom of the tree, the leaves
are labeled with rationals describing the needed standard deviations for the sampler to
output signatures with the correct distribution.
For Falcon, with n = 1, the first level of the tree contains two entries, as G ∈ K 2×2 .
In our design, and more generally for an input basis in K n×n , the first level is labeled by
the n(n−1)/2 entries in the lower corner of L, and there are n leaves each corresponding
to an non-zero entry of D. This is the only modification for building the tree as, starting
at the next level, the same procedure as in Falcon is used to complete the tree.
The rejection bound ρ. For security, we want ρ to be small. However, the normpof a Gaus-
sian of standard deviation σ will have a median and an expected value of σ d(n + 1),
so if we do not want to restart the signing procedure too many times, we should take ρ
larger than this value. One can explicitly bound the rejection probability using [Lyu12,
10
Lemma 4.4]; for example taking
p
ρ = ⌊1.1 · σ d(n + 1)⌉. (2)
ensures, for all parameter sets in this paper, that less than 1 % of the signatures will be
rejected. This is clearly sufficient for our purposes.
The salt r. Outputting two different signatures s ̸= s′ for the same hash µ allows to get
a short vector in the NTRU lattice and is therefore highly undesirable. If the salt r does
not have enough entropy, an adversary may query signatures for the same message msg
until H(r∥msg) = H(r′ ∥msg) for r ̸= r′ . We require that:
λr ≥ λ + log2 Qs , (3)
where λ is as above. Taking r ← U ({0, 1}λr ) and applying the birthday paradox, an
adversary making Qs signature queries will find colliding hashes with a probability
upper bounded by about 1 − exp(−Q2s /2λr +1 ) ≈ Q2s /2λr +1 .
11
4 Concrete instantiation
Scheme n d gs slack ρ λr
Falcon-512 1 512 1.17 6598 320
Falcon-1024 1 1024 1.17 9331 320
ModFalcon-2-512 2 512 1.17 1512 320
12
process that rely on algebraic lattices. Our analysis thus focuses on Z-lattice reduction
algorithms, and follows standard works on NTRU schemes [ZCH+ 19,BCLv19].
Key recovery In this scenario, the attacker is given the basis BNTRU of LNTRU , and
aims at finding the first dn rows of BF,g . For this purpose, it runs BKZ in block-size β
on M(BNTRU ). We consider that it wins if it finds any of these dn rows.
The LNTRU has volume q d and rank d(n + 1). Following the specifications of our
scheme, we expect all rows of B]F,g to have essentially the same
q Euclidean norm around
gs slack·q 1/(n+1) . As this is less than the expected norm d(n+1)
2πe q
1/(n+1) of a shortest
non-zero vector of a lattice with the same volume as LNTRU , we expect these vectors to
be the shortest non-zero vectors in LNTRU . We hence rely on the GSA-based analysis
from [ADPS16,AGVW17] to quantify the hardness of finding these unexpectedly short
vectors with BKZ. Concretely, BKZ with block-size β is expected to find such a vector
when s
β 2β−d(n+1)
gs slack · ≤ δβ . (5)
d(n + 1)
13
Signature forgery A signature forgery corresponds to finding a point of LNTRU at dis-
tance at most ρ from a vector c of the ambient space derived from the message and the
signature salt. As ρ is significantly above the norms gs slack · q 1/(n+1) of the vectors of
LNTRU corresponding to the secret key, this is an instance of the Approximate Closest
Vector Problem (CVP). To solve it, the first step is to apply BKZ to M(BNTRU ) with
a large block-size β (to be determined below). Then one takes c and uses Babai’s near-
est plane algorithm to shorten it, using the obtained BKZ-reduced basis B of L NTRU .
′ ′ ′e
P
The resulting vector t := t − b for some b ∈ LNTRU can be written t = i ti bi
′
with |ti | ≤ 1/2 for every i, and hence, under the GSA:
1 2 X
∥t′ ∥2 ≤ q n+1 · (δβ2 )−2(i−1)+d(n+1) .
4
i≤d(n+1)
This attack strategy can be improved in two ways, and these improvements actually
lead to the best known attacks against ModFalcon. The first improvement consists
in modifying Babai’s nearest-plane algorithm so that it calls an exact CVP solver for
the lattice spanned by the first β vectors of the BKZ-reduced basis B. The sieve al-
gorithms [BDGL16,Laa15] can be (heuristically) adapted for this, for the same cost as
solving SVP in dimension β. As a result, this adaptation of Babai’s algorithm is not
more costly than the call to BKZ in block-size β. On the other hand, it allows to find
a vector t′ satisfying:
d(n+1)
β 1 X 2
∥t′ ∥2 ≤ · (δβ2 )d(n+1)−(β−1) + (δβ2 )−2(i−1)+d(n+1) q n+1 .
2πe 4
i=β+1
Let us explain how we obtain the first summand8 . First, we assume that the lattice Lβ
spanned by the first β vectors of B behaves as a random lattice. Then, the (squared)
expected distance between this lattice and a random vector in its span is the same as
the expected minimum for that lattice. Assuming GSA, we can compute the volume
V of Lβ and thus estimate its minimum thanks to the Gaussian heuristic as λ1 (Lβ ) =
p
β/(2πe) · V 1β : this gives precisely the first summand. For the values of β that we
consider, the first term is larger than the second one, and we will just delete the second
one, resulting in the inequality
r
β d(n+1)−(β−1) 1
∥t′ ∥ ≤ · δβ · q n+1 .
2πe
The second improvement relies on the observation that one can consider a subset of
the rows of M(BNTRU ) rather than the full matrix M(BNTRU ). There does not seem to
be an advantage considering another subset then those obtained by erasing the first k
rows, for k ≤ nd (as h is essentially uniform modulo q). The volume remains q d , but the
dimension decreases to d(n + 1) − k. In the equation above, this allows to decrease the
d(n+1) d(n+1)−k
term δβ to δβ , at the expense of increasing the term q 1/(n+1) to q d/(d(n+1)−k) .
8
It was incorrectly derived in previous versions of this paper. Interestingly, while the new estimate is
better for the attacker, the improvement is too small to be noticeable on the resulting blocksizes and
security level for our scheme.
14
Overall, we obtain the following success condition for a signature forgery:
d
d(n+1)−k d(n+1)−k
ρ ≥ min δβ q . (6)
k≤dn
Interestingly, optimizing over k does not help for Falcon but does for ModFalcon.
since d(n − 2) entries are 0’s while the others rows are Gaussians. Yet the remaining 2d
entries are not small, nor are the corresponding fields elements sparse in general.
15
existing code can be reused inside the ModFalcon signature algorithm. This would
allow to obtain a constant time implementation of the latter.
Conclusion After a detailed analysis of known attacks, the best attacks we found
are based on lattice reduction (Section 4.2). The success condition of the best known
attacks for key recovery and signature forgery are given by (5) and (6), respectively.
The security levels implied by these best known attacks are given in Table 3. These are
computed by light python scripts, available at https://gofile.io/?c=ANXatH.
Table 3. Bit security estimates. β is the BKZ blocksize, k is the optimal sublattice dimension in (6)
and λQ is the quantum bit security level.
Table 4. Performance comparison between Falcon and ModFalcon. |vk| and |sig| denote the size in
bytes of the public key (exactly) and signature (on average), respectively. All the schemes use the same
modulus q = 12289.
16
to those of Falcon: the running times of the signature and verification procedures grow
with n, but n remains small in our case.
We observe that ModFalcon-2-512 achieves quantum bit security above 128, but
has signature size significantly smaller than that of Falcon-1024.
Key-Generation
1: repeat
2: Sample F ←- DF
3: until F is invertible mod q and mod p
4: Sample G ←- DG
5: H ← pF−1 G mod q in Rqn×m
6: return (pk = H, sk = F)
Key generation is defined similarly to ModFalcon key generation, except that there
is no need for a trapdoor basis. Encryption and decryption are matrix generalizations
17
of NTRU encryption and decryption. Note that decryption can be accelerated by com-
puting H+ = (Ht H)−1 Ht mod q and F−1 mod p in the key generation algorithm and
storing them along with F.
Arguments for security The security relies on adaptations of two well-known assump-
tions. The first states that it is impossible for an adversary to distinguish the public key
from a uniformly random matrix modulo q. This is sometimes referred to as “the NTRU
assumption” or “the DSPR (decisional short polynomial ratio) assumption” and can ac-
tually be shown to hold for certain ranges of parameters [SS11] when n = m = 1. Outside
these parameter ranges, it is assumed to hold (see for example [LTV12,SHRS17]). The
second assumption is known as Module-LWE, which (informally) states that an attacker
is unable to distinguish between (H, Hrt + et mod q) ∈ Rqn×m × Rqn and a pair of ran-
dom elements [BGV12,LS15]. Under these assumptions, the presented scheme provides
pseudorandom ciphertexts, for random plaintexts (it is OW-CPA).
Lemma 5.1 (Correctness). If ∥e∥∞ , ∥r∥∞ ≤ (p − 1)/2 and (nBF + pmBG )d(p − 1) <
q, then the scheme is perfectly correct.
Proof. The decryption algorithm first computes dt = F·ct mod q ∈ Rqn . For c generated
using the encryption algorithm, we have, modulo q:
Now, thanks to the assumption, we obtain that the equality above also holds over R
since:
Therefore, modulo p, we have that zt = dt = Fet + pGrt = Fet . From this, we obtain
that et := F−1 · zt mod p in fact holds over R. The vector r can then be recovered by
Gaussian elimination.
Parameter choices There are several ways to instantiate the final KEM. The first con-
sideration is the moduli p and q. With the standard choice of p = 3, perfect correctness
can be achieved even for q’s that are used by other schemes (such as KYBER [SAB+ 19]
and NewHope [PAA+ 19]) as long as the entries of F and G are sufficiently small. The
18
reason to opt for such q’s is that they allow a fast multiplication based on the Number
Theoretic Transform, as already mentioned when presenting ModFalcon.
A second consideration is the distribution of F and G. By taking them sufficiently
large (and taking a prime q satisfying q = 3 mod 8, contrarily to the above), one can
guarantee that the distribution of the public key is within exponentially small statistical
distance from uniform (as showed in appendix). Nevertheless, this forces to take a
much larger q, and makes the scheme quite uncompetitive in terms of performance. For
this reason, we would rather recommend taking F and G with very small entries, as
is typically done for practical NTRU encryption. There is no known attack for such
parameter choices, for NTRU-based NIST candidates.
The next concern is the way in which the vectors r and e are sampled for each key
encapsulation. A possibility is to rely on discrete Gaussians of a large enough standard
deviation. However, because of the wide support, using them while guaranteeing perfect
correctness via Lemma 5.1 would require a large modulus q. To avoid this caveat, the
usual choice of NTRU variants is to have r and e take values in a small interval, such as
{−1, 0, 1}, and possibly require that there are few non-zero entries. Another approach is
to choose e deterministically, by rounding the random vector Hrt to the “closest mul-
tiple” of some other modulus γ, like NTRU Prime [BCLv19] and SABER [DKRV19].
With careful tuning of all parameters, we obtained ciphertexts of bitlengths roughly
equivalent to those of NTRU Prime, NTRU [ZCH+ 19] and several other lattice-based
round-2 NIST key encapsulation schemes, for similar security levels. As we did not man-
age to make them strictly advantageous from some angle, we considered that this did
not justify a full description.
Acknowledgments. The authors thank the Falcon team for helpful discussions. This
work was supported in part by BPI-France in the context of the French national project
RISQ (P141580), by the European Union PROMETHEUS project (Horizon 2020 Re-
search and Innovation Program, grant 780701). Part of this work was done while Damien
Stehlé was visiting the Simons Institute for the Theory of Computing.
References
ABD16. Martin R. Albrecht, Shi Bai, and Léo Ducas. A subfield lattice attack on overstretched
NTRU assumptions - cryptanalysis of some FHE and graded encoding schemes. In Matthew
Robshaw and Jonathan Katz, editors, CRYPTO 2016, Part I, volume 9814 of LNCS, pages
153–178. Springer, Heidelberg, August 2016.
ADPS16. Erdem Alkim, Léo Ducas, Thomas Pöppelmann, and Peter Schwabe. Post-quantum key
exchange - A new hope. In Thorsten Holz and Stefan Savage, editors, USENIX Security
2016, pages 327–343. USENIX Association, August 2016.
AGVW17. Martin R. Albrecht, Florian Göpfert, Fernando Virdia, and Thomas Wunderer. Revisiting
the expected cost of solving uSVP and applications to LWE. In Tsuyoshi Takagi and Thomas
Peyrin, editors, ASIACRYPT 2017, Part I, volume 10624 of LNCS, pages 297–322. Springer,
Heidelberg, December 2017.
BAA+ 19. Nina Bindel, Sedat Akleylek, Erdem Alkim, Paulo S. L. M. Barreto, Johannes Buch-
mann, Edward Eaton, Gus Gutoski, Juliane Kramer, Patrick Longa, Harun Polat, Jef-
ferson E. Ricardini, and Gustavo Zanon. qTESLA. Technical report, National Insti-
tute of Standards and Technology, 2019. available at https://csrc.nist.gov/projects/
post-quantum-cryptography/round-2-submissions.
19
BCLv19. Daniel J. Bernstein, Chitchanok Chuengsatiansup, Tanja Lange, and Christine van Vre-
dendaal. NTRU Prime. Technical report, National Institute of Standards and Technol-
ogy, 2019. available at https://csrc.nist.gov/projects/post-quantum-cryptography/
round-2-submissions.
BDE+ 18. Jonathan Bootle, Claire Delaplace, Thomas Espitau, Pierre-Alain Fouque, and Mehdi Ti-
bouchi. LWE without modular reduction and improved side-channel attacks against BLISS.
In Thomas Peyrin and Steven Galbraith, editors, ASIACRYPT 2018, Part I, volume 11272
of LNCS, pages 494–524. Springer, Heidelberg, December 2018.
BDF+ 11. Dan Boneh, Özgür Dagdelen, Marc Fischlin, Anja Lehmann, Christian Schaffner, and Mark
Zhandry. Random oracles in a quantum world. In Dong Hoon Lee and Xiaoyun Wang,
editors, ASIACRYPT 2011, volume 7073 of LNCS, pages 41–69. Springer, Heidelberg, De-
cember 2011.
BDGL16. Anja Becker, Léo Ducas, Nicolas Gama, and Thijs Laarhoven. New directions in nearest
neighbor searching with applications to lattice sieving. In Robert Krauthgamer, editor, 27th
SODA, pages 10–24. ACM-SIAM, January 2016.
BDK+ 18. Joppe W. Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, John M.
Schanck, Peter Schwabe, Gregor Seiler, and Damien Stehlé. CRYSTALS - kyber: A cca-
secure module-lattice-based KEM. In 2018 IEEE European Symposium on Security and
Privacy, EuroS&P 2018, London, United Kingdom, April 24-26, 2018, pages 353–367, 2018.
BGV12. Zvika Brakerski, Craig Gentry, and Vinod Vaikuntanathan. (Leveled) fully homomorphic
encryption without bootstrapping. In Shafi Goldwasser, editor, ITCS 2012, pages 309–325.
ACM, January 2012.
BSW18. Shi Bai, Damien Stehlé, and Weiqiang Wen. Measuring, simulating and exploiting the
head concavity phenomenon in BKZ. In Thomas Peyrin and Steven Galbraith, editors,
ASIACRYPT 2018, Part I, volume 11272 of LNCS, pages 369–404. Springer, Heidelberg,
December 2018.
CDPR16. Ronald Cramer, Léo Ducas, Chris Peikert, and Oded Regev. Recovering short generators
of principal ideals in cyclotomic rings. In Marc Fischlin and Jean-Sébastien Coron, editors,
EUROCRYPT 2016, Part II, volume 9666 of LNCS, pages 559–585. Springer, Heidelberg,
May 2016.
CDW17. Ronald Cramer, Léo Ducas, and Benjamin Wesolowski. Short stickelberger class relations
and application to ideal-SVP. In Jean-Sébastien Coron and Jesper Buus Nielsen, editors,
EUROCRYPT 2017, Part I, volume 10210 of LNCS, pages 324–348. Springer, Heidelberg,
April / May 2017.
CG05. Michael Coglianese and Bok-Min Goi. MaTRU: A new NTRU-based cryptosystem. In
Subhamoy Maitra, C. E. Veni Madhavan, and Ramarathnam Venkatesan, editors, IN-
DOCRYPT 2005, volume 3797 of LNCS, pages 232–243. Springer, Heidelberg, December
2005.
Che13. Yuanmi Chen. Réduction de réseau et sécurité concrète du chiffrement complètement ho-
momorphe. PhD thesis, 2013.
DKL+ 18. Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim Lyubashevsky, Peter Schwabe, Gregor
Seiler, and Damien Stehlé. Crystals-dilithium: A lattice-based digital signature scheme.
IACR Trans. Cryptogr. Hardw. Embed. Syst., 2018(1):238–268, 2018.
DKRV18. Jan-Pieter D’Anvers, Angshuman Karmakar, Sujoy Sinha Roy, and Frederik Vercauteren.
Saber: Module-LWR based key exchange, CPA-secure encryption and CCA-secure KEM.
In Antoine Joux, Abderrahmane Nitaj, and Tajjeeddine Rachidi, editors, AFRICACRYPT
18, volume 10831 of LNCS, pages 282–305. Springer, Heidelberg, May 2018.
DKRV19. Jan-Pieter D’Anvers, Angshuman Karmakar, Sujoy Sinha Roy, and Frederik Vercauteren.
SABER. Technical report, National Institute of Standards and Technology, 2019. available at
https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions.
DLP14. Léo Ducas, Vadim Lyubashevsky, and Thomas Prest. Efficient identity-based encryption
over NTRU lattices. In Palash Sarkar and Tetsu Iwata, editors, ASIACRYPT 2014, Part II,
volume 8874 of LNCS, pages 22–41. Springer, Heidelberg, December 2014.
DP16. Léo Ducas and Thomas Prest. Fast fourier orthogonalization. In Sergei A. Abramov,
Eugene V. Zima, and Xiao-Shan Gao, editors, Proceedings of the ACM on International
Symposium on Symbolic and Algebraic Computation, ISSAC 2016, Waterloo, ON, Canada,
July 19-22, 2016, pages 191–198. ACM, 2016.
20
FKT+ 19. Pierre-Alain Fouque, Paul Kirchner, Mehdi Tibouchi, Alexandre Wallet, and Yang Yu. Up-
rooting the falcon tree? IACR Cryptology ePrint Archive, 2019:1180, 2019.
GN08. Nicolas Gama and Phong Q. Nguyen. Predicting lattice reduction. In Nigel P. Smart, editor,
EUROCRYPT 2008, volume 4965 of LNCS, pages 31–51. Springer, Heidelberg, April 2008.
GPV08. Craig Gentry, Chris Peikert, and Vinod Vaikuntanathan. Trapdoors for hard lattices and
new cryptographic constructions. In Richard E. Ladner and Cynthia Dwork, editors, 40th
ACM STOC, pages 197–206. ACM Press, May 2008.
GZB+ 19. Oscar Garcia-Morchon, Zhenfei Zhang, Sauvik Bhattacharya, Ronald Rietman, Ludo Tol-
huizen, Jose-Luis Torre-Arce, Hayo Baan, Markku-Juhani O. Saarinen, Scott Fluhrer,
Thijs Laarhoven, and Rachel Player. Round5. Technical report, National Institute
of Standards and Technology, 2019. available at https://csrc.nist.gov/projects/
post-quantum-cryptography/round-2-submissions.
Ham19. Mike Hamburg. Three Bears. Technical report, National Institute of Standards and Technol-
ogy, 2019. available at https://csrc.nist.gov/projects/post-quantum-cryptography/
round-2-submissions.
HHP+ 03. Jeffrey Hoffstein, Nick Howgrave-Graham, Jill Pipher, Joseph H. Silverman, and William
Whyte. NTRUSIGN: Digital signatures using the NTRU lattice. In Marc Joye, editor,
CT-RSA 2003, volume 2612 of LNCS, pages 122–140. Springer, Heidelberg, April 2003.
How07. Nick Howgrave-Graham. A hybrid lattice-reduction and meet-in-the-middle attack against
NTRU. In Alfred Menezes, editor, CRYPTO 2007, volume 4622 of LNCS, pages 150–169.
Springer, Heidelberg, August 2007.
HPS98. Jeffrey Hoffstein, Jill Pipher, and Joseph H. Silverman. NTRU: A ring-based public key
cryptosystem. In Algorithmic Number Theory, Third International Symposium, ANTS-III,
Portland, Oregon, USA, June 21-25, 1998, Proceedings, pages 267–288, 1998.
HPS+ 17. Jeffrey Hoffstein, Jill Pipher, John M. Schanck, Joseph H. Silverman, William Whyte, and
Zhenfei Zhang. Choosing parameters for NTRUEncrypt. In Helena Handschuh, editor,
CT-RSA 2017, volume 10159 of LNCS, pages 3–18. Springer, Heidelberg, February 2017.
KF17. Paul Kirchner and Pierre-Alain Fouque. Revisiting lattice attacks on overstretched NTRU
parameters. In Jean-Sébastien Coron and Jesper Buus Nielsen, editors, EUROCRYPT 2017,
Part I, volume 10210 of LNCS, pages 3–26. Springer, Heidelberg, April / May 2017.
Laa15. Thijs Laarhoven. Search problems in cryptography. PhD thesis, 2015.
LDK+ 19. Vadim Lyubashevsky, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Peter Schwabe, Gregor
Seiler, and Damien Stehlé. CRYSTALS-DILITHIUM. Technical report, National Insti-
tute of Standards and Technology, 2019. available at https://csrc.nist.gov/projects/
post-quantum-cryptography/round-2-submissions.
LLJ+ 19. Xianhui Lu, Yamin Liu, Dingding Jia, Haiyang Xue, Jingnan He, Zhenfei Zhang, Zhe
Liu, Hao Yang, Bao Li, and Kunpeng Wang. LAC. Technical report, National Insti-
tute of Standards and Technology, 2019. available at https://csrc.nist.gov/projects/
post-quantum-cryptography/round-2-submissions.
LPR10. Vadim Lyubashevsky, Chris Peikert, and Oded Regev. On ideal lattices and learning with
errors over rings. In Henri Gilbert, editor, EUROCRYPT 2010, volume 6110 of LNCS, pages
1–23. Springer, Heidelberg, May / June 2010.
LPR13. Vadim Lyubashevsky, Chris Peikert, and Oded Regev. A toolkit for ring-LWE cryptography.
In Thomas Johansson and Phong Q. Nguyen, editors, EUROCRYPT 2013, volume 7881 of
LNCS, pages 35–54. Springer, Heidelberg, May 2013.
LPSW19. Changmin Lee, Alice Pellet-Mary, Damien Stehlé, and Alexandre Wallet. An LLL algorithm
for module lattices. In Steven D. Galbraith and Shiho Moriai, editors, ASIACRYPT 2019,
Part II, volume 11922 of LNCS, pages 59–90. Springer, Heidelberg, December 2019.
LS15. Adeline Langlois and Damien Stehlé. Worst-case to average-case reductions for module
lattices. Designs, Codes and Cryptography, 75(3):565–599, Jun 2015.
LTV12. Adriana López-Alt, Eran Tromer, and Vinod Vaikuntanathan. On-the-fly multiparty com-
putation on the cloud via multikey fully homomorphic encryption. In Howard J. Karloff
and Toniann Pitassi, editors, 44th ACM STOC, pages 1219–1234. ACM Press, May 2012.
Lyu12. Vadim Lyubashevsky. Lattice signatures without trapdoors. In David Pointcheval and
Thomas Johansson, editors, EUROCRYPT 2012, volume 7237 of LNCS, pages 738–755.
Springer, Heidelberg, April 2012.
21
NIS16. NIST. Submission requirements and evaluation criteria for the post-quantum cryp-
tography standardization process, 2016. https://csrc.nist.gov/CSRC/media/Projects/
Post-Quantum-Cryptography/documents/call-for-proposals-final-dec-2016.pdf.
PAA+ 19. Thomas Poppelmann, Erdem Alkim, Roberto Avanzi, Joppe Bos, Léo Ducas, Antonio de la
Piedra, Peter Schwabe, Douglas Stebila, Martin R. Albrecht, Emmanuela Orsini, Valery
Osheter, Kenneth G. Paterson, Guy Peer, and Nigel P. Smart. NewHope. Technical report,
National Institute of Standards and Technology, 2019. available at https://csrc.nist.
gov/projects/post-quantum-cryptography/round-2-submissions.
PFH+ 17. Thomas Prest, Pierre-Alain Fouque, Jeffrey Hoffstein, Paul Kirchner, Vadim Lyubashevsky,
Thomas Pornin, Thomas Ricosset, Gregor Seiler, William Whyte, and Zhenfei Zhang. FAL-
CON. Technical report, National Institute of Standards and Technology, 2017. available at
https://csrc.nist.gov/projects/post-quantum-cryptography/round-1-submissions.
PFH+ 19. Thomas Prest, Pierre-Alain Fouque, Jeffrey Hoffstein, Paul Kirchner, Vadim Lyubashevsky,
Thomas Pornin, Thomas Ricosset, Gregor Seiler, William Whyte, and Zhenfei Zhang. FAL-
CON. Technical report, National Institute of Standards and Technology, 2019. available at
https://csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions.
PHS19. Alice Pellet-Mary, Guillaume Hanrot, and Damien Stehlé. Approx-SVP in ideal lattices with
pre-processing. In Yuval Ishai and Vincent Rijmen, editors, EUROCRYPT 2019, Part II,
volume 11477 of LNCS, pages 685–716. Springer, Heidelberg, May 2019.
PP19. Thomas Pornin and Thomas Prest. More efficient algorithms for the NTRU key generation
using the field norm. In Dongdai Lin and Kazue Sako, editors, PKC 2019, Part II, volume
11443 of LNCS, pages 504–533. Springer, Heidelberg, April 2019.
Pre17. Thomas Prest. Sharper bounds in lattice-based cryptography using the Rényi divergence.
In Tsuyoshi Takagi and Thomas Peyrin, editors, ASIACRYPT 2017, Part I, volume 10624
of LNCS, pages 347–374. Springer, Heidelberg, December 2017.
PRR19. Thomas Prest, Thomas Ricosset, and Melissa Rossi. Simple, fast and constant-time gaussian
sampling over the integers for Falcon. Second PQC Standardization Conference, 2019.
RSW18. Miruna Rosca, Damien Stehlé, and Alexandre Wallet. On the ring-LWE and polynomial-
LWE problems. In Jesper Buus Nielsen and Vincent Rijmen, editors, EUROCRYPT 2018,
Part I, volume 10820 of LNCS, pages 146–173. Springer, Heidelberg, April / May 2018.
SAB+ 19. Peter Schwabe, Roberto Avanzi, Joppe Bos, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Vadim
Lyubashevsky, John M. Schanck, Gregor Seiler, and Damien Stehlé. CRYSTALS-KYBER.
Technical report, National Institute of Standards and Technology, 2019. available at https:
//csrc.nist.gov/projects/post-quantum-cryptography/round-2-submissions.
Sch87. Claus-Peter Schnorr. A hierarchy of polynomial time lattice basis reduction algorithms.
Theor. Comput. Sci., 53:201–224, 1987.
Sch03. Claus-Peter Schnorr. Lattice reduction by random sampling and birthday methods. In
STACS 2003, 20th Annual Symposium on Theoretical Aspects of Computer Science, Berlin,
Germany, February 27 - March 1, 2003, Proceedings, pages 145–156, 2003.
SE94. Claus-Peter Schnorr and M. Euchner. Lattice basis reduction: Improved practical algorithms
and solving subset sum problems. Math. Program., 66:181–199, 1994.
SHRS17. John M. Schanck, Andreas Hulsing, Joost Rijneveld, and Peter Schwabe. NTRU-HRSS-
KEM. Technical report, National Institute of Standards and Technology, 2017. available at
https://csrc.nist.gov/projects/post-quantum-cryptography/round-1-submissions.
SS11. Damien Stehlé and Ron Steinfeld. Making NTRU as secure as worst-case problems over
ideal lattices. In Kenneth G. Paterson, editor, EUROCRYPT 2011, volume 6632 of LNCS,
pages 27–47. Springer, Heidelberg, May 2011.
SS13. Damien Stehlé and Ron Steinfeld. Making NTRUEncrypt and NTRUSign as secure as stan-
dard worst-case problems over ideal lattices. Cryptology ePrint Archive, Report 2013/004,
2013. http://eprint.iacr.org/2013/004.
SXY18. Tsunekazu Saito, Keita Xagawa, and Takashi Yamakawa. Tightly-secure key-encapsulation
mechanism in the quantum random oracle model. In Jesper Buus Nielsen and Vincent
Rijmen, editors, EUROCRYPT 2018, Part III, volume 10822 of LNCS, pages 520–551.
Springer, Heidelberg, April / May 2018.
TW19. Mehdi Tibouchi and Alexandre Wallet. One bit is all it takes: A devastating timing attack
on bliss’s non-constant time sign flips. IACR Cryptology ePrint Archive, 2019:898, 2019.
22
YD17. Yang Yu and Léo Ducas. Second order statistical behavior of LLL and BKZ. In Carlisle
Adams and Jan Camenisch, editors, SAC 2017, volume 10719 of LNCS, pages 3–22. Springer,
Heidelberg, August 2017.
ZCH+ 19. Zhenfei Zhang, Cong Chen, Jeffrey Hoffstein, William Whyte, John M. Schanck, Andreas
Hulsing, Joost Rijneveld, Peter Schwabe, and Oussama Danba. NTRUEncrypt. Technical
report, National Institute of Standards and Technology, 2019. available at https://csrc.
nist.gov/projects/post-quantum-cryptography/round-2-submissions.
The purpose of this section is to extend the proof of uniformity of NTRU public keys
from [SS11] to larger n. We show that F−1 gt mod q is pseudorandom as long as the
entries are of standard deviation essentially q 1/(n+1) , which is the case in our scheme.
In fact, we obtain a more general result, as we are able to also handle matrices for the
“g component”. For n ≥ m, F ∈ Rn×n invertible modulo q and G ∈ Rn×m , our result
essentially states that if the entries in F, G are discrete Gaussians of standard deviation
essentially q m/(n+m) , then F−1 G mod q is pseudorandom. This can be seen as a general
Leftover Hash Lemma over number rings handling also matrices.
More precisely, the statement is proved only for primes q = 3 mod 8. The reason is
that our proof technique relies on an inclusion-exclusion argument to handle sublattices
of some LNTRU ; these sublattices come in two layers, one corresponding to the ideal
factors of q and one to enumerate all the possible nullspaces of the matrix F−1 G in
Rqn×m . Such q’s have a small splitting pattern in R, which means that the “ideal factor”
layer of the inclusion-exclusion can be managed by a probability overestimate. This
overestimate becomes too loose when the splitting pattern involves more ideals. We
leave it for further work to overcome the increased technicality of the proof technique
to handle all q’s.
For s > 0, we let DRn×m ,s denote the distribution over Rn×m whose entries are
distributed from DR,s , and DGLn (R,q),s be the restriction of DRn×n ,s to the set GLn (R, q)
of matrices in Rn×n that are invertible modulo q. Lastly, we define the distribution Es as
the distribution of F−1 G mod q when F is sampled from DGLn (R,q),s and G is sampled
from DRn×m ,s . The following theorem is the main result of this section.
Theorem A.1. Let K be a cyclotomic number field of degree d and maximal order R.
Let n ≥ m ≥ 1. Let q be a prime integer which factors as qR = p1 p2 , where the pi ’s
have algebraic norm q d/2 . For s ≥ 2dq m/(n+m)+2/(d(n+m)) , we have:
∆ Es , U (Rqn×m ) ≤ 2−Ω(d) .
23
P
For any countable set S and function f defined over S, we let f (S) = s∈S f (s). For
any lattice L, the Poisson summation formula gives
We will need the next lemma, which essentially motivates the definition of the smoothing
parameter.
Lemma A.2. Let L be a rank d lattice, and ϵ ∈ (0, 1). For any s ≥ ηϵ (Λ), we have
ρs (L) ∈ [1 ± ϵ] · sd (Vol L)−1 .
The proof will use results and tools from algebraic number theory that are now
considered as standard. We refer to e.g. [LPR10] and [RSW18] for further details on
ideals in number rings, and provide below only some notation and lemmas that will be
used. The discriminant of a number field K is written ∆K . The algebraic norm of an
ideal I is denoted by N(I).
Lemma A.3 ([LPR13, Th. 7.2]). For any ideal I ⊂ R and s > 0, we have:
The proof also uses some results on (finitely generated) modules over number rings
(see also [LS15]). The dual of a R-module M ⊂ K n is M∨ := {y ∈ K n : ∀ x ∈
M, Tr(⟨x, y⟩K ) ∈ Z}, where Tr denotes the field trace (equivalently, the trace of the
multiplication matrix). By linearity of the trace, we see that Tr(⟨x, y⟩K ) = d⟨x, y⋆ ⟩,
where we implicitely consider coefficient vectors in the right inner product. This shows
that L(M)∗ = L((dM∨ )⋆ ).
For any v ∈ Rn , any ideal I of R and any k ≥ 1, we will consider modules lattices
of the form
Λ⊥k
I (v) = {X ∈ R
k×n
: X · vt ≡ 0 mod I},
The next result is known for other types of module lattices ([SS13,RSW18]). Its proof
is standard and given for the sake of completeness.
Lemma A.4. Let K be a number field with maximal order R, and I be an ideal in R.
Let k, n ≥ 1. Then, for any v ∈ (R/I)n \ {0}, we have
∨ n k
Λ⊥k ∨ ∨ ∨
I (v) = (I /R ) · v + (R ) .
Proof. It suffices to prove the result for k = 1, as Λ⊥k I (v) is the direct sum of k copies
of Λ⊥1
I (v). Let L = (I ∨ /R∨ ) · v + (R∨ )1×n . We proceed by double inclusion, starting
with L ⊆ Λ⊥1 ∨ ⊥1 ∨ ∨
I (v) . Let x ∈ ΛI (v) and y ∈ L. There are λ ∈ I /R and r ∈ (R )
∨ 1×n
24
A.2 Gaussian mass of matrices invertible modulo q
We now show that the Gaussian mass of GLn (R, q) is essentially the full Gaussian mass
of Rn×n , for q prime such that the prime factor ideals of qR have large algebraic norms.
This will prove useful as the trapdoor matrix F is sampled in Rn×n conditioned on
being invertible modulo q, More precisely, we obtain the following result.
Theorem A.5. Let K be a cyclotomic number field of degree d and maximal order R.
Let n ≥ 1 and let q an unramified prime integer such that each prime factor p of qR
n−1
has algebraic norm 2Ω(d) . Assume that s ≥ 2(∆K N(p) 2n−1 )1/d . Then
2
sn d 4d
ρs (Rn×n \ GLn (R, q)) ≤ 2d n2 ≤ ρs (Rn×n ).
∆K N(p) N(p)
1 X
ρs (Rn×n \ GLn (R, q)) ≤ d · · ρs (Λ⊥n
p (v))
N(p) − 1
v∈(R/p)n \0
N(p)n−1
≤ d· · Ev←U ((R/p)n \0) [ρs (Λ⊥n
p (v))].
N(p) − 1
We are hence reduced to studying E[ρs (Λ⊥n p (v))] for v uniformly distributed in
(R/p)n \ 0. For this, we will use the Poisson summation formula, which will involve the
dual of Λ⊥n
p (v). The following technical lemma holds for an arbitrary number field K
and an arbitrary prime ideal p. Note that it implies Theorem A.5.
Lemma A.6. Let K be a number field of degree d and maximal order R. Let n, k ≥ 1
and q ≥ 2 be an unramified prime integer. Let p ⊆ R be a prime factor of qR. For any
k−1
s ≥ 2(∆K N(p) n+k−1 )1/d , we have:
25
We focus on the expectation of the latter Gaussian sum, and aim at showing that it is
very close to ρ1/s (R∨ )nk ≈ 1. We have:
used the facts that that (p∨ /R∨ )k \ 0 = i∈[k] {x ∈ (p∨ /R∨ )k :
S
For the inequality, we S
xi ̸= 0}, (R/p)n \ 0 = j∈[n] {v ∈ (R/p)n : vj ̸= 0}, and that each set in these unions
has the same Gaussian mass.
We now provide some intuition on how the sum above will be handled. We aim at
separating the variables andswapping the order of the sum and the product. However,
the function being summed is not a product of functions of independent variables.
Indeed, in the sum over x and v, there are n + k independent variable (over p∨ /R∨
and R/p, which are two representations of the same finite field FN(p) ). On the other
hand, the product consists of nk terms involving the non-independent variables xi vj . In
what follows, we restrict the product to i = 1 or j = 1, to have n + k − 1 independent
quadratic terms. Concretely, we write:
Y Y Y
ρ1/s (xi vj + R∨ ) = ρ1/s (xi vj + R∨ ) · ρ1/s (xi vj + R∨ )
i∈[k] i=1 or j=1 i,j>1
j∈[n]
Y
≤ ρ1/s (R∨ )(n−1)(k−1) · ρ1/s (xi vj + R∨ ).
i=1 or j=1
The inequality holds because the Gaussian sum of a lattice coset is maximized for the
zero coset.Next, we apply a change of variable over the summand (x, v). Concretely, we
(bijectively) map (x, v) ∈ (p∨ /R∨ )k × (R/p)n with x1 , v1 ̸= 0 to (x′ , v′ ) with x′1 = x1 ,
x′i = xi v1 ∈ p∨ /R∨ for i > 1 and vj′ = vj x1 ∈ p∨ /R∨ for j ≥ 1. Overall, we have
X Y
ρ1/s (xi vj + R∨ )
x∈(p∨ /R∨ )k i∈[n]
v∈(R/p)n j∈[k]
x1 ,v1 ̸=0
X Y Y
≤ ρ1/s (R∨ )(n−1)(k−1) · ρ1/s (x′i + R∨ ) ρ1/s (vj′ + R∨ )
x′ ∈(p∨ /R∨ )n 1<i≤k 1≤j≤n
v′ ∈(p∨ /R∨ )k
x′1 ,v1′ ̸=0
X n+k−2 X
= ρ1/s (R∨ )(n−1)(k−1) · ρ1/s (x + R∨ ) · ρ1/s (x + R∨ )
x∈p∨ /R∨ x∈p∨ /R∨ \0
∨ (n−1)(k−1) ∨ n+k−2 ∨
≤ ρ1/s (R ) · ρ1/s (p ) · (ρ1/s (p ) − 1).
26
From Lemma A.3, we have
Similarly, since s ≥ η2−2d (R), we have ρ1/s (R∨ ) ≤ 1 + 2−2d .We hence obtain:
X Y
ρ1/s (xi vj + R∨ ) ≤ 2 · max 2−2d , (∆K N(p)s−d )n+k−1 .
4nk
· max 2−2d , (∆K N(p)s−d )n+k−1 + 2nk2−d
≤ n
N(p)
≤ 4nk · 2−d + (∆K s−d )n+k−1 N(p)k−1 .
Im
Λ⊥
q (H) := x∈R n+m
: x· = 0m mod q ,
H
lattices, taking the direct sum of n copies of this module amounts to considering
Im
Λ⊥n
q (H) := X ∈ R n×(n+m)
: X· = 0n×m mod q
H
copies.
Lemma A.7 ([LPR13, Th. 7.4]). Let K be a cyclotomic number field of degree d
and maximal order R. n ≥ 1 and q ≥ 2.
Let m,m/(n+m)+2/(d(n+m))
Then η2−Ω(d) Λ⊥ q (H) < 2dq , except with probability at most 2−Ω(d)
over the choice of H ← U (Rqn×m ).
27
We now show that for a fraction 1 − 2−Ω(d) of H ∈ Rqn×m , the quantity Es [H] −
|Rqn×m |−1 is smaller than q −mnd · 2−Ω(d) .We have:9
Im
Es [H] = P(F,G)←DGLn (R,q),s ×DRn×m ,s GF · = 0 mod q
H
Im
= P(F,G)←D n×(n+m) GF · = 0|F ∈ GLn (R, q)
R ,s H
G F ∈ Λ⊥n
P(F,G)←D n×(n+m) q (H)
R ,s
≤
PF←DRn×n ,s F ∈ GLn (R, q)
ρs Λ⊥n
q (H)
= .
ρs (GLn (R, q)) · ρs (R)n·m
ρs (R) − sd ≤ sd 2−Ω(d)
9
Note that not much is lost in the inequality only if most matrices in Rn×n are invertible modulo q.
This is the case for example when the rational integer q does not split too much in R.
28