Download presentation
Presentation is loading. Please wait.
Published byGarry Merritt Modified over 6 years ago
1
Background: Lattices and the Learning-with-Errors problem
China Summer School on Lattices and Cryptography, June 2014
2
Starting Point: Linear Equations
Easy to solve a linear system of equations Given A, b, find s Solved using Gaussian elimination, Cramer rule, etc. [Regev 2005] Hard if we add a little noise π is a noise vector, |π|βͺπ Given A, b, find s and/or e A s = b (πππ π) + A s b (πππ π) e =
3
Learning with Errors (LWE) [Rβ05]
Parameters: q (modulus), n (dimension), m>n (# of samples) Secret: uniformly random vector πβ π π π Input: random matrix π¨β π π πΓπ , vector πβ π π π Computed as π chosen from some distribution s.t. |π|βͺπ whp π is close to the columns space of π¨ Goal: discover π + A s (πππ π) e = b Γ
4
Learning with Errors (LWE) [Rβ05]
Is it really hard to solve LWE? How hard? For what range of parameters? Is it useful? Can we design cryptosystems with security based on the hardness of LWE Weβll do #2 first, then #1
5
Using LWE in Cryptography
6
The Decision-LWE Problem
A more useful variant of LWE: Same parameters q, n, m Input: same and A is still a uniform random matrix in π π πΓπ Either π=π¨Γπ+π (πππ π), or π is uniform in π π πΓπ Goal: distinguish π¨Γπ+π from uniform I.e., given A,b, decide if b is βunusually closeβ to the column space of A A b
7
Search vs. Decision LWE Clearly, if we can solve the search problem then we can also solve the decision problem Try to solve the search problem on A,b If successful then b is close to the column space of A, otherwise b is random More interesting: If we can solve decision, then we can also solve the search problem But the complexity grows by a factor of πβ
π So this reduction only works for small (polynomial) π
8
Reducing Search to Decision LWE
Assume that we have a distinguisher D that can tell if π=ππ+π (πππ π) or π is random Say for now that D succeeds with probability close to 1 We construct a solver S that finds s For every index πβ{1..π} and every value π£β π π , S will use D to determine if π π =π£
9
Reducing Search to Decision LWE
Given π¨ and π=π¨π+π, test if π π =π£: Choose π=( π 1 , π 2 ,β¦, π π )β π π π uniformly at random Add π to the πβth column of π¨, this gives a matrix π¨β² π¨β² is uniformly random because π¨ is Note that π¨ β² π=π¨π+ π π β
π π¨β² π.. π π ..π π.. π π ..π π.. π π ..π π¨ = +
10
Reducing Search to Decision LWE
Given π¨ and π=π¨π+π, test if π π =π£: Choose π=( π 1 , π 2 ,β¦, π π )β π π π uniformly at random Add π to the πβth column of π¨, this gives a matrix π¨β² π¨β² is uniformly random because π¨ is Add π£β
π to π, this gives the vector πβ² πβ² π π π π π π π = + π£β
11
Reducing Search to Decision LWE
Given π¨ and π=π¨π+π, test if π π =π£: Choose π=( π 1 , π 2 ,β¦, π π )β π π π uniformly at random Add π to the πβth column of π¨, this gives a matrix π¨β² π¨β² is uniformly random because π¨ is Add π£β
π to π, this gives the vector πβ² π β² =π+π£β
π =π¨π+π+π£β
π = π¨ β² πβ π π β
π +π+π£β
π = π¨ β² π+π+ π£β π π β
π
12
Reducing Search to Decision LWE
Given π¨ and π=π¨π+π, test if π π =π£: Choose random π, compute π¨ β² , πβ² Such that π β² = π¨ β² π+π+ π£β π π β
π If π π =π£ then we get π β² = π¨ β² π+π Otherwise π β² is uniform (because π is uniform) Use the distinguisher π·( π¨ β² , π β² ) to tell which case it is This will tell us if π π =π£
13
Reducing Search to Decision LWE
The reduction assumes that D is always right Can be extended to distinguisher D with polynomially small advantage The reduction works in time linear in πβ
π Can be refined to work in time πβ
β π π The π π βs are the prime factors of π So the reduction can be efficient even for large π, as long as it is smooth
14
A Useful Variant of LWE Instead of choosing the secret π uniformly, choose it from the same distribution as π So π is small Theorem [ACPSβ09]: Uniform-secret LWE is equivalent to small-secret LWE Solving one solving the other
15
Uniform- vs. Small-secret LWE
Easy direction: If we can solve uniform-secret LWE then we can solve small-secret LWE We are given π¨ and π=π¨π+π π is a small secret Choose a uniform random π Set π β² =π¨π+π=π¨ π+π +π (πππ π) π β² =π+π is uniform (because π is uniform) π¨,πβ²=π¨πβ²+π is instance of uniform-secret LWE Solving it, we get πβ² and can compute π= π β² βπ
16
Uniform- vs. Small-secret LWE
Hard direction: If we can solve small-secret LWE then we can solve uniform-secret LWE But the parameter π changes For solving πΓπ uniform-secret LWE, we would need to solve πβ²Γπ small-secret LWE with π β² =πβπ We are given π¨ and π=π¨π+π π is a uniform secret Find π linearly-independent rows of π¨ Such rows exist with high probability Assume that these are the first n rows
17
Uniform- vs. Small-secret LWE
π π π¨ π¨ π π¨ π π π π π = π¨ π π+ π π = = π π π π β² = π¨ π π+ π π Set π¨ β² =β π¨ 2 π¨ 1 β1 and π β² = π 2 + π¨ β² π π π β² = π¨ 2 π+ π 2 + π¨ β² π¨ 1 π+ π = π¨ 2 π+ π¨ β² π¨ 1 π+ π¨ β² π 1 + π 2 = π¨ β² π 1 + π 2 Because π¨ β² π¨ 1 =β π¨ 2 π¨ 1 β1 π¨ 1 =β π¨ 2 So ( π¨ β² , π β² = π¨ β² π 1 + π 2 ) is instance of short-secret LWE The secret is π 1 , drawn from the error distribution Solving it we get π 1 Then compute π= π¨ π βπ ( π π β π π )
18
Regevβs Cryptosystem [Rβ05]
Secret key: vector πβ² Public key: Matrix π¨β², vector π=π¨β² π β² +π Denote π¨=( π|π¨ β² ) If decision-LWE is hard then A is pseudorandom Denote π= π,β π β² , then π¨π=πβ π¨ β² π β² =π Encryptπ¨ πβ{0,1} Choose a random small vector πβ 0,1 π Output the ciphertext π=ππ¨+ π 2 β
π,0,β¦,0 β π π π π Decryptπ(π) Compute the inner product π¦= π,π¬ (mod q) Output 0 if |π¦|<π/4, else output 1
19
Regevβs Cryptosystem [Rβ05]
Correctness: π¦= π,π¬ = ππ¨+ π 2 π ,π = ππ¨π+ π 2 π0β¦0 , 1, βπ β² = π,π + π 2 β
π π,π < π 4 (since π is 0-1 vector and π β < π 4 ) If π=0 then π¦ < π 4 , if π=1 then π¦ > π 4 Security: Recall that A is pseudo-random We show that if A was random then π was statistically close to uniform, regardless of π
20
Regevβs Cryptosystem [Rβ05]
The Leftover Hash Lemma [HILLβ99] implies the following corollary: If π>3π log π then the two distributions < π¨, ππ¨ :π΄ β π π π πΓπ , π β π 0,1 π > < π¨, π : π΄ β π π π πΓπ , π β π π π π > are statistically close (upto π βΞ©(π) ) ο¨For a random π΄, ππ΄ is close to uniform Even conditioned on A And therefore so is ππ΄+ π 2 π ο¨If π΄ is pseudorandom, so is ππ΄+ π 2 π
21
A Useful Variant of the Cryptosystem
Encrypt: π=2ππ¨+ π instead of π=ππ¨+ π 2 π from before Plaintext encoded in the LSB rather than MSB Decrypt: y= π,π¬ (πππ π), then π=π¦ πππ 2 π¦=2 π,π +π (πππ π) 2 π,π <π/2, so no mod-π reduction ο¨ π¦ πππ 2=π
22
The Hardness of LWE
23
Lattices and Hard Problems
A lattice is just an additive subgroup of Rn.
24
Lattices v2β v2 v1β v1 Lattice of rank n = set of all integer linear combinations of n linearly independent basis vectors.
25
Lattices A Lattice has infinitely many bases
They are related by unimodular matrices, π΅ β² =π΅π π is an integer matrix with det π =Β±1 ο¨All bases have the same determinant (upto sign) This quantity is the determinant of the lattice Given any set of vectors that span the lattice, can compute a canonical basis Hermite normal form (HNF)
26
Lattices A βgood basisβ has all small vectors
βclose to orthogonalβ to each other Typically the HNF is a βbadβ basis Minkowskyβs theorems: A rank-π lattice with determinant π has A non-zero vector of length |π£|β€ π β
π 1/π π linearly independent π£ π βs s.t. π=1 π | π£ π | β€ π π/2 β
π Also a basis of vectors of similar sizes Lattice reduction: Given a βbadβ basis, find a βgoodβ one for the same lattice
27
Lattices and Hard Problems
v2β v2 v1β v1 Given some basis of L, may be hard to find good basis of L. Hard to solve the (approx) shortest/closest vector problems.
28
Hard Problems Given a basis π΅ for a lattice πΏ(π΅):
Shortest-Vector Problem (SVP) Find the shortest nonzero vector in L(B) Or maybe just compute the size of such vector ( π 1 πΏ ) Shortest Independent-Set Problem (SIVP) Find π linearly independent π£ 1 ,β¦, π£ π minimize max π | π£ π | Or maybe just the quantity π π πΏ = max π=1 π | π£ π | Also approximation versions Find π£ such that π£ β€πΎβ
shortest Find π£ π βs such that max π | π£ π | β€πΎβ
smallest-possible
29
Hard Problems: Whatβs Known?
The [LLLβ82] algorithm and its variants can approximate SVP upto πΎ= 2 O(π) NP-hard to approx. SVP upto πΎ= 2 log 1βπ π πΎ=π(1) but πΎ< π π for any π Roughly: approximate upto 2 π/π takes time 2 π(π) Practically we can perhaps approximate SVP upto πΎ= 2 π/100 but not upto πΎ= 2 π/200 At least for moderate πβs (say π<500) Similar for SIVP
30
LWE and Lattices Consider the matrix π¨=
π π β¦ π π Consider the matrix π¨= The column space mod-π is a rank-π lattice, spanned by the columns of π΅= A discrete additive subgroup of π
π Can compute its HNF basis π=π¨π+π (πππ π) is close to this lattice π=πβπ is in the lattice, at distance |π| from π We have a bound π½βͺπ on |π| whp (say π½= π ) If we find π, we can solve for π π 0 0 π β± 0 0 π π π β¦ π π
31
Bounded Distance Decoding (BDD)
Input: a basis B, another point π₯, a bound π½ Goal: find π£βπΏ(π΅) such that π₯βπ£ β€π½ Solving BDD ο¨ Solving LWE Thm [Babaiβ86,GPVβ08]: Solving SIVP ο¨ Solving BDD Given a basis for πΏ with max π | π£ π | =πΌ, can solve BDD upto distance π½βπΌβ
poly(π)
32
LWE and Lattices Thm [Regβ05, Peiβ09]: Solving LWE ο¨ Solving SIVP, SVP
LWE-solver with error-bound π½<π/π( π ) implies quantum approximation of SIVP upto a factor poly(π) Or a classical algorithm for approximating π 1 πΏ upto a factor poly(π)
33
Summary Learning with Errors: π=π¨π+π This is a hard problem
For some parameters, can be shown to be as hard as some well-known lattice problems Even for other settings, we donβt know how to solve it Only known attacks use lattice reduction These only work when π/|π|=expβ‘(π) LWE is useful for cryptography For example for public-key encryption Decryption formula π ,π πππ π πππ 2
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.