500 likes | 553 Views
This introduction covers the main theorem on the hardness of learning problems, its application in public key cryptosystems, and the proof of the main theorem. It includes an overview of quantum and classical lattice concepts, such as the Shortest Vector Problem (SVP) and Closest Vector Problem (CVPd). It explores learning from parity with error and learning modulo p, highlighting the challenges and complexities involved. The text provides insights into the quantum aspects of lattice-based cryptography, the benefits of using quantum algorithms, and the applications of new public key encryption schemes based on lattices.
E N D
On Lattices, Learning with Errors, Random Linear Codes, and Cryptography Oded Regev Tel-Aviv University
Introduction to lattices • Main theorem: a hard learning problem • Application: a stronger and more efficient public key cryptosystem • Proof of main theorem • Overview • Part I: Quantum • Part II: Classical Outline
Lattices • Basis: • v1,…,vn vectors in Rn • The lattice L is • L={a1v1+…+anvn| ai integers} • The dual lattice of L is • L*={x | 8 y2L, hx,yi2 Z} v1+v2 2v2 2v1 2v2-v1 v1 v2 2v2-2v1 0
Shortest Vector Problem (SVP) • SVP: Given a lattice, find an approximately shortest vector v2 v1 0
Closest Vector Problem (CVPd) v • CVPd: Given a lattice and a target vector within distance d, find the closest lattice point 0
Let s2Z2n be a secret • We have random equations modulo 2 with error (everything independent): • Without error, it’s easy! s2+s3+s4+ s6+…+sn0 s1+s2+ s4+ s6+…+sn1 s1+ s3+s4+s5+ …+sn1 s2+s3+s4+ s6+…+sn0 . . . Learning from parity with error
More formally, we need to learn s from samples of the form (t,st+e) where t is chosen uniformly from Z2nand e is a bit that is 1 with probability 10%. • Easy algorithms need 2O(n) equations/time • Best algorithm needs 2O(n/logn) equations/time [BlumKalaiWasserman’00] • Open question: why is this problem so hard? Learning from parity with error
Fix some p<poly(n) • Let s2Zpn be a secret • We have random equations modulo p with error: 2s1+0s2+2s3+1s4+2s5+4s6+…+4sn2 0s1+1s2+5s3+0s4+6s5+6s6+…+2sn4 6s1+5s2+2s3+0s4+5s5+2s6+…+0sn2 6s1+4s2+4s3+4s4+3s5+3s6+…+1sn5 . . . Learning modulo p
More formally, we need to learn s from samples of the form (t,st+e) where t is chosen uniformly from Zpn and e is chosen from Zp • Easy algorithms need 2O(nlogn) equations/time • Best algorithm needs 2O(n) equations/time [BlumKalaiWasserman’00] Learning modulo p
Learning modulo p is as hard as worst-case lattice problems using a quantum reduction • In other words: solving the problem implies an efficient quantum algorithm for lattices Main Theorem
For m=poly(n), let C be a random m£n matrix with elements in Zp. Given Cs+e for some sZpn and some noise vector eZpm, recover s. • This is the problem of decoding from a random linear code Equivalent formulation
As part of the reduction, we need to perform a certain algorithmic task on lattices • We do not know how to do it classically, only quantumly! Why Quantum?
We are given an oracle that solves CVPd for some small d • As far as I can see, the only way to generate inputs to this oracle is: • Somehow choose xL • Let y be some random vector within dist d of x • Call the oracle with y • The answer is x. But we already know the answer !! • Quantumly, being able to compute x from y is very useful: it allows us to transform the state |y,x> to the state |y,0> reversibly (and then we can apply the quantum Fourier transform) Why Quantum? x y
Main advantages: • Based on a lattice problem • Worst-case hardness • Main disadvantages: • Based only on unique-SVP • Impractical (think of n as100): • Public key size O(n4) • Encryption expands by O(n2) Previous lattice-based PKES[AjtaiDwork96,GoldreichGoldwasserHalevi97,R’03]
Main advantages: • Practical (think of n as100): • Public key size O(n) • Encryption expands by O(n) • Main disadvantages: • Not based on lattice problem • No worst-case hardness Ajtai’s recent PKES [Ajtai05]
Main advantages: • Worst-case hardness • Based on the main lattice problems (SVP, SIVP) • Practical (think of n as100): • Public key size O(n) • Encryption expands by O(n) • Breaking the cryptosystem implies an efficient quantum algorithm for lattices • In fact, security is based on the learning problem (no quantum needed here) quantum New lattice-based PKES[This work]
Everything modulo 4 • Private key: 4 random numbers 1203 • Public key: a 6x4 matrix and approximate inner product • Encrypt the bit 0: • Encrypt the bit 1: 3·? + 2·? + 1·? + 0·? ≈1 The Cryptosystem 2·1 + 0·2 + 1·0 + 2·3 ≈1 1·1 + 2·2 + 2·0 + 3·3 ≈2 0·1 + 2·2 + 0·0 + 3·3 ≈1 1·1 + 2·2 + 0·0 + 2·3 ≈0 0·1 + 3·2 + 1·0 + 3·3 ≈3 3·1 + 3·2 + 0·0 + 2·3 ≈2 2 0 1 2 1 2 2 3 0 2 0 3 1 2 0 2 0 3 1 3 3 3 0 2 2·? + 0·? + 1·? + 2·? ≈1 1·? + 2·? + 2·? + 3·? ≈2 0·? + 2·? + 0·? + 3·? ≈1 1·? + 2·? + 0·? + 2·? ≈0 0·? + 3·? + 1·? + 3·? ≈3 3·? + 3·? + 0·? + 2·? ≈2 2·1 + 0·2 + 1·0 + 2·3 =0 1·1 + 2·2 + 2·0 + 3·3 =2 0·1 + 2·2 + 0·0 + 3·3 =1 1·1 + 2·2 + 0·0 + 2·3 =3 0·1 + 3·2 + 1·0 + 3·3 =3 3·1 + 3·2 + 0·0 + 2·3 =3 3·? + 2·? + 1·? + 0·? ≈3
Define a Gaussian distribution on a lattice (normalization omitted) • We can efficiently sample from Dr for large r=2n Gaussian Distribution
Assume the existence of an algorithm for the learning modulo p problem for p=2√n • Our lattice algorithm: • r=2n • Take poly(n) samples from Dr • Repeat: • Given poly(n) samples from Dr compute poly(n) samples from Dr/2 • Set r←r/2 • When r is small, output a short vector The Reduction
Lemma 1: • Given poly(n) samples from Dr, and an oracle for ‘learning modulo p’, we can solve • CVPp/r in L* • No quantum here • Lemma 2: • Given a solution to CVPd in L*, we can obtain samples from D√n/d • Quantum • Based on the quantum Fourier transform p=2√n Obtaining Dr/2 from Dr
Classical, uses learning oracle Quantum Samples from Drin L Solution to CVPp/rin L* Samples from Dr/2 in L Solution to CVP2p/rin L* Samples from Dr/4in L Solution to CVP4p/rin L*
Fourier Transform Primal world (L) Dual world (L*)
The Fourier transform of Dr is given by • Its value is • 1 for x in L*, • e-1 at points of distance 1/r from L*, • ¼0 at points far away from L*. Fourier Transform
Assume we can solve CVPd; we’ll show how to obtain samples from D√n/d • Step 1: • Create the quantum state • by adding a Gaussian to each lattice point and uncomputing the lattice point by using the CVP algorithm From CVPd to D√n/d
Step 2: • Compute the quantum Fourier transform of • It is exactly D√n/d !! • Step 3: • Measure and obtain one sample from D√n/d • By repeating this process, we can obtain poly(n) samples From CVPd to D√n/d
More precisely, create the state • And the state • Tensor them together and add first to second • Uncompute first register by solving CVPp/r From CVPd to D√n/d
Proof of the Main TheoremLemma 1: Solving CVPp/r given samples from Dr and an oracle for learning mod p
Lemma: being able to approximate fp/r implies a solution to CVPp/r • Proof Idea – walk uphill: • fp/r(x)>¼for points x of distance < p/r • Keep making small modifications to x as long as fp/r(x) increases • Stop when fp/r(x)=1 (then we are on a lattice point) It’s enough to approximate fp/r
For warm-up, we show how to approximate f1/r given samples from Dr • No need for learning • This is main idea in [AharonovR’04] • Then we show how to approximatef2/r given samples from Dr and an oracle for the learning problem • Approximatingfp/r is similar What’s ahead in this part
Let’s write f1/r in its Fourier representation: • Using samples from Dr, we can compute a good approximation to f1/r (this is the main idea in [AharonovR’04]) Warm-up: approximating f1/r
Consider the Fourier representation again: • For x2L*, hw,xi is integer for all w in L and therefore we get f1/r(x)=1 • For x that is close to L*, hw,xi is distributed around an integer. Its standard deviation can be (say) 1. Fourier Transform
Main idea: partition Dr into 2n distributions • For t(Z2)n, denote the translate t by Dtr • Given a lattice point we can compute its t • The probability on (Z2)n obtained by sampling from Dr and outputting t is close to uniform 0,0 0,1 1,0 1,1 Approximating f2/r
Hence, by using samples from Dr we can produce samples from the following distribution on pairs (t,w): • Sample t(Z2)n uniformly at random • Sample w from Dtr • Consider the Fourier transform of Dtr Approximating f2/r
The functions ft2/r look almost like f2/r • Only difference is that some Gaussians have their sign flipped • Approximating ft2/r is enough: we can easily take the absolute value and obtain f2/r • For this, however, we need to obtain several pairs (t,w) for the same t • The problem is that each sample (t,w) has a different t ! Approximating f2/r
Fix x close to L* • The sign of its Gaussian is ±1 depending on hs,ti mod 2 for s(Z2)n that depends only on x • The distribution of x,w mod 2 when w is sampled from Dtr is centred around s,t mod 2 • Hence, we obtain equations modulo 2 with error: Approximating f2/r hs,t1i ¼dhx,w1ic mod 2 hs,t2i ¼dhx,w2ic mod 2 hs,t3i ¼dhx,w3ic mod 2 . . .
Using the learning algorithm, we solve these equations and obtain s • Knowing s, we can cancel the sign • Averaging over enough samples gives us an approximation to f2/r Approximating f2/r
Dequantize the reduction: • This would lead to the ‘ultimate’ lattice-based cryptosystem (based on SVP, efficient) • Main obstacle: what can one do classically with a solution to CVPd? • Construct even more efficient schemes based on special classes of lattices such as cyclic lattices • For hash functions this was done by Micciancio Open Problems 1/4
Extend to learning from parity (i.e., p=2) or even some constant p • Is there something inherently different about the case of constant p? • Use the ‘learning mod p’ problem to derive other lattice-based hardness results • Recently, used by Klivans and Sherstov to derive hardness of learning problems Open Problems 2/4
Open Problems 3/4 • Cryptanalysis • Current attacks limited to low dimension [NguyenStern98] • New systems [Ajtai05,R05] are efficient and can be easily used with dimension 100+ • Security against chosen-ciphertext attacks • Known lattice-based cryptosystems are not secure against CCA
Open Problems 4/4 • Comparison with number theoretic cryptography • E.g., can one factor integers using an oracle for n-approximate SVP? • Signature schemes • Can one construct provably secure lattice-based signature schemes?