Learning parity with noise
The learning parity with noise (LPN) assumption is a post-quantum hardness assumption equivalent to the hardness of decoding a random linear code over . It can be viewed as LWE specialized to the binary field.
Assumption
For parameters , noise rate , and sample count , the LPN game asks an adversary to distinguish a noisy linear system from a uniformly random pair.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{lpn}}_{k,\varepsilon,m,\calA}(\secpar)$}
\begin{algorithmic}
\State $\mathbf{A} \getsr \FF_2^{m \times k}$
\State $\mathbf{s} \getsr \FF_2^k$; $\mathbf{e} \getsr \mathrm{Ber}(\varepsilon)^m$
\State $b \getsr \bits$
\State $\mathbf{v}_0 := \mathbf{A} \cdot \mathbf{s} + \mathbf{e}$
\State $\mathbf{v}_1 \getsr \FF_2^m$
\State $b' \gets \calA(1^\secpar, \mathbf{A}, \mathbf{v}_b)$
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
-LPN is hard if for all efficient and all polynomials ,
is negligible.
LPN is naturally stated over . However, it generalizes to any finite field : replace with throughout, and let each noise coordinate be zero with probability and uniformly random in with probability .
Noise Level
Depending on the setting of relative to , the -LPN problem has different regimes which are generally known to imply different results. The regimes below are ordered from weakest to strongest assumption: hardness at lower noise implies hardness at higher noise — folklore.
Constant-noise LPN
The noise rate is a constant .
High-noise LPN
The noise rate is for a constant .
Mid-noise LPN
The noise rate is for a constant .
Low-noise LPN
The noise rate is for a constant .
If noise drops to , then there are folklore attacks which run in polynomial time and achieve constant advantage.
Subexponential LPN
Some applications require assuming subexponential LPN, which means that they assume any algorithm which achieves non-negligible advantage in the LPN game requires running in time for some (often ).
In other words, any algorithm which runs in time has negligible advantage. Whereas, the normal LPN assumption only makes an assumption about polynomial time adversaries. Typically, this assumption is made only in the constant-noise regime, making it incomparable to more standard lower-noise normal LPN assumptions.
Known results
- Mid-noise LPN ⇒ PKE
- Low-noise LPN ⇒ CRHF
- Low-noise LPN ⇒ TDH
- TDH ⇒ cPIR
- High-noise LPN ⇒ SK-DEPIR
- High-noise LPN ⇒ Secret-Key PIR (SK-PIR)
- Subexponential LPN ⇒ IND-CCA PKE
- Subexponential LPN ⇒ OT
- Subexponential LPN ⇒ CRHF
- Subexponential LPN ⇒ PRC
- Subexponential LPN ⇒ Zero-bit PRC
Attacks
TODO
Variations
Sparse Learning Parity with Noise
Sparse LPN replaces the uniformly random matrix with one whose rows are -sparse: each row is sampled uniformly from all binary vectors of Hamming weight exactly . The secret and noise distributions are unchanged. For , the matrix can be stored and multiplied far more efficiently, making Sparse LPN particularly attractive for pseudorandom correlation generator (PCG) constructions.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{slpn}}_{k,\varepsilon,m,d,\calA}(\secpar)$}
\begin{algorithmic}
\State $\mathbf{A} \getsr \FF_2^{m \times k}$ with each row sampled uniformly from weight-$d$ vectors
\State $\mathbf{s} \getsr \FF_2^k$; $\mathbf{e} \getsr \mathrm{Ber}(\varepsilon)^m$
\State $b \getsr \bits$
\State $\mathbf{v}_0 := \mathbf{A} \cdot \mathbf{s} + \mathbf{e}$
\State $\mathbf{v}_1 \getsr \FF_2^m$
\State $b' \gets \calA(1^\secpar, \mathbf{A}, \mathbf{v}_b)$
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
-Sparse LPN is hard if for all efficient and all polynomials ,
is negligible.
Known results
- Additively homomorphic encryption + Sparse LPN ⇒ SHE
- DDH + Sparse Learning Parity with Noise ⇒ Somewhat homomorphic encryption (SHE)
- Noisy k-LIN + PC ⇒ PKE
Ring-LPN
Ring-LPN replaces the matrix with multiplication by a random element of for a fixed polynomial of degree . For a secret , it asks to distinguish samples , with fresh and noise whose coefficients are drawn independently from , from uniform samples over — HKLPP12. The ring structure reduces the public key from bits to bits and enables faster computation via polynomial multiplication.
Ring-LPN over yields Lapin, a two-round symmetric-key authentication protocol secure against active attacks — HKLPP12.
Sparse Ring-LPN
For a prime , a polynomial , , and a weight , Sparse Ring-LPN asks to distinguish from for uniform and -sparse — BCG+20.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\mathrm{srlpn}}_{p,F,t,\calA}(\secpar)$}
\begin{algorithmic}
\State $a \getsr R_p$; $b \getsr \bits$
\State $e, f \gets$ $t$-sparse elements of $R_p$
\State $v_0 := a e + f$
\State $v_1 \getsr R_p$
\State $b' \gets \calA(1^\secpar, a, v_b)$
\Return $[b' = b]$
\end{algorithmic}
\end{algorithm}
-Sparse Ring-LPN is hard if for all efficient ,
is negligible.
Sparse Ring-LPN yields pseudorandom correlation generators for OLE and authenticated multiplication triples over large fields — BCG+20.
Participates in
Builds on Learning parity with noise
- SXDH + LWE + LPN + NC0-PRG ⇒ iO
- DDH + Sparse Learning Parity with Noise ⇒ Somewhat homomorphic encryption (SHE) (via Sparse Learning Parity with Noise)
- High-noise LPN ⇒ Constant-noise LPN (via High-noise LPN)
- Mid-noise LPN ⇒ High-noise LPN (via Mid-noise LPN)
- High-noise LPN ⇒ Secret-Key PIR (SK-PIR) (via High-noise LPN)
- Subexponential LPN ⇒ Zero-bit PRC (via Subexponential LPN)
- High-noise LPN ⇒ SK-DEPIR (via High-noise LPN)
- Low-noise LPN ⇒ CRHF (via Low-noise LPN)
- Low-noise LPN ⇒ Mid-noise LPN (via Low-noise LPN)
- Mid-noise LPN ⇒ PKE (via Mid-noise LPN)
- Low-noise LPN ⇒ TDH (via Low-noise LPN)
- Additively homomorphic encryption + Sparse LPN ⇒ SHE (via Sparse Learning Parity with Noise)
- Sparse Ring-LPN ⇒ PCG (via Sparse Ring-LPN)
- Sparse Learning Parity with Noise ⇒ Pseudorandom correlation generators (PCG) (via Sparse Learning Parity with Noise)
- Subexponential LPN ⇒ CRHF (via Subexponential LPN)
- Subexponential LPN ⇒ OT (via Subexponential LPN)
- Subexponential LPN ⇒ IND-CCA PKE (via Subexponential LPN)
- Subexponential LPN ⇒ PRC (via Subexponential LPN)
Produces Learning parity with noise