NTRU
The NTRU assumption is a lattice-based hardness assumption over polynomial rings, introduced alongside the NTRU public-key cryptosystem — HPS98. The public key looks like a ratio of two short polynomials, and hardness asserts that recovering (or ) from alone is computationally infeasible.
Assumption
The assumption is parameterized by a degree , a large modulus , a small modulus (typically ), and bounds on the number of nonzero coefficients of the secret polynomials. All arithmetic takes place in the ring , with reductions modulo taken coefficient-wise into .
Key generation. Sample short polynomials with coefficients in (with ones and negative ones for , and ones and negative ones for ). Require that is invertible modulo both and . Set
The public key is ; the private key is .
NTRU Problem
Given only , the NTRU problem asks to recover short polynomials satisfying the same relation.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\text{ntru}}_{n,q,d_f,d_g,\calA}(\secpar)$}
\begin{algorithmic}
\State Sample short $f, g \in R$ with $\lVert f \rVert, \lVert g \rVert \le 1$ coefficientwise
\State $h \gets g \cdot f^{-1} \bmod q$
\State $(\hat{f}, \hat{g}) \gets \calA(1^\secpar, n, q, h)$
\Return $[h \cdot \hat{f} \equiv \hat{g} \pmod{q}\ \wedge\ \hat{f}, \hat{g}\ \text{are short}]$
\end{algorithmic}
\end{algorithm}
NTRU is hard for parameters if for all efficient ,
is negligible.
SIS over NTRU lattices
The NTRU lattice of is . Given only , SIS over NTRU lattices asks for a nonzero whose coefficient vector has Euclidean norm at most . Falcon’s security rests on this problem over , with drawn from a discrete Gaussian — FHK+20.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\text{ntru-sis}}_{n,q,d_f,d_g,\beta,\calA}(\secpar)$}
\begin{algorithmic}
\State Sample $f, g \in R$ as in key generation
\State $h \gets g \cdot f^{-1} \bmod q$
\State $(u, v) \gets \calA(1^\secpar, n, q, h)$
\Return $[(u, v) \neq (0, 0)\ \wedge\ u + v \cdot h \equiv 0 \pmod{q}\ \wedge\ \lVert (u, v) \rVert \le \beta]$
\end{algorithmic}
\end{algorithm}
SIS over NTRU lattices is hard for parameters if for all efficient ,
is negligible.
One-wayness of NTRU encryption
NTRU encryption encrypts a message in under as , for a random short — HPS98. One-wayness asks to recover from .
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\text{ntru-ow}}_{n,p,q,d_f,d_g,\calA}(\secpar)$}
\begin{algorithmic}
\State Sample $f, g \in R$ as in key generation
\State $h \gets g \cdot f^{-1} \bmod q$
\State Sample short $r \in R$; $m \getsr \calM$
\State $c \gets p \cdot r \cdot h + m \bmod q$
\State $\hat{m} \gets \calA(1^\secpar, n, q, h, c)$
\Return $[\hat{m} = m]$
\end{algorithmic}
\end{algorithm}
NTRU encryption is one-way for parameters if for all efficient ,
is negligible.
Related results
- Ring LWE ⇒ PKE (NTRUEncrypt with Gaussian keys) over , not the NTRU problem above — SS11
- NTRU ⇒ PKE
Variations
NTRU Prime
NTRU Prime replaces the ring with for a prime , eliminating the small subgroup structure of that can be exploited by certain attacks.
NTRU Encrypt / NTRUSign
NTRUEncrypt (PKE and KEM variants) and NTRU-HRSS-KEM (HRSS17) were NIST PQC round-1 submissions, merged into the round-2 candidate NTRU — CDH+19. NTRUSign (HHPSW03) predates the NIST process: its signatures leak the secret basis — NR06 — and its perturbation countermeasure is also broken — DN12.
Attacks
- Lattice reduction (BKZ): the NTRU public key defines a -dimensional lattice containing short vectors ; BKZ-style algorithms attack this lattice. Parameter sizes have been revised upward over time to maintain security margins against improved BKZ variants.
- Meet-in-the-middle: applies when or is small relative to .
- NTRU has no known quantum speedup beyond the generic square-root speedup of Grover’s algorithm applied to brute-force lattice search.
Participates in
Builds on NTRU