FIT5124 Advanced Topics in Security Lecture 4: Lattice-Based Crypto. IV
Ron Steinfeld Clayton School of IT Monash University March 2016
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 1/33
FIT5124 Advanced Topics in Security Lecture 4: Lattice-Based Crypto. - - PowerPoint PPT Presentation
FIT5124 Advanced Topics in Security Lecture 4: Lattice-Based Crypto. IV Ron Steinfeld Clayton School of IT Monash University March 2016 Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 1/33 Plan
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 1/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 2/33
If there is an algorithm A that solves Decision-LWEq(n),m(n),n,α(n) in poly-time, with non-negligible distinguishing advantage, for α(n) · q(n) > 2√n Then there is a quantum algorithm B that solves γ(n)-GapSVP in polynomial time for all input lattices L of dimension n with: γ = O(n/α). γ(n)-GapSVP is a decision variant of γ(n)-SVP that asks, given a basis B for an n-dim. lattice L and an integer d, to decide whether λ1(L) ≤ d, or λ1(L) > γ(n) · d. More recent improvements to this result allow B to be a classical algorithm if either q > 2n/2 [Pei09], or the dimension of the lattice input to B is √n [B13]. We won’t study this proof, but it gives us a theoretical foundation for security of LWE. Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 3/33
In ‘Real LWE Scenario’ ( y = A · s + e): e′ = vT · e mod q. Since e and v are both ‘small’, so is e′: for fixed v, e′ is normally distributed with std. dev. v · αq, so is ‘small’ if v · αq << q, or β = v << 1/α. In ‘Random LWE Scenario’ ( y uniform in Zm
q ): e′ =
vT · e mod q is uniformly random in Zq, not likely to be ‘small’ compared to q
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 4/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 5/33
log t
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 6/33
Public key pk = (A ← ֓ U(Zm×n
q
, P = ( p1, . . . , pℓ) where pi = A · si + ei mod q) with ei ← ֓ χm
αq.
Length(pk): = m · (n + ℓ) · log q – ≈ (1 + ℓ/n)-times larger than orig. scheme (ℓ = 1). Secret key S = (
sℓ) ∈ Zn×ℓ
q
– ℓ times longer but not in practical storage! Encryption – Enc ( m ∈ Zℓ
t ): Return ciphertext
C = ( aT = rT · A mod q, cT = rT · P + ⌈q/t⌋ · m mod q). Ciphertext expansion ratio: Length(C) Length(
m) = (n+ℓ)·log q ℓ log t
= (1 + n
ℓ ) · log q log t
If q = tO(1), expansion ratio = O(1) for ℓ ≥ n! Encryption time: O(m(n + ℓ) log q) bit ops – ≈ (1 + ℓ/n)-times larger than orig. scheme (ℓ = 1). Decryption – Dec (C = ( aT , cT )): Compute ( c′)T = cT − aT · S mod q, round to nearest multiple of ⌈q/t⌋ mod q to get c′′. Return plaintext m =
⌈q/t⌋ .
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 7/33
B runs in time TB and wins IND-CPA game with prob. 1/2 + εB (with TB < 2λ and non-neg. εB > 1/2λ).
Di runs attacker B on input public key (A, P = ( p1, . . . , pℓ)), where For j = 1, . . . , i − 1, Di sets pj = A · sj + ej mod q, where sj ← ֓ U(Zn
q) and
ej ← ֓ χm
αq are
sampled independently by Di . For j = i, Di sets pi = y. For j = i + 1, . . . , ℓ, Di samples independent pi ← ֓ U(Zm
q ).
When B makes its challenge query ( m0, m1), Di behaves like the real challenger: chooses a random bit b, picks coefficient vector r ← ֓ U({−Br , . . . , Br }m) and computes:
rT · A, cT = rT · P + ⌈q/t⌋ · mb mod q. Di returns challenge ciphertext ( aT , c). When B returns a guess b′ for b, D returns ‘Real’ if b′ = b, and ‘Rand’ if b′ = b. Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 8/33
‘Real’ LWE scenario, pi = y = A · s + e mod q – first i vectors p1, . . . , pi in public key are computed exactly as in the real IND-CPA game, remaining ℓ − i vectors pi+1, . . . , pℓ are random. Call this distribution of P (first i pj ’s ‘real’, last ℓ − i pj ’s ‘random’) the ith ‘hybrid’ distribution. Define the winning probability of B for ith ‘hybrid’ distribution of P as pi = 1/2 + εi , hence Di returns ‘Real’ with prob. 1/2 + εi . Note two extreme values of pj are known: p0 ≤ 1/2 + 1/2λ+1 (all pj ’s uniformly random) by LHL argument (as before), except the LHL condition becomes (2Br + 1)m >> qn+ℓ. pℓ = 1/2 + εB (all pj ’s as in real IND-CPA game) by assumption on B. ‘Random’ LWE scenario, pi = y ← ֓ U(Zm
q ) – first i − 1 vectors
p1, . . . , pi−1 in public key are computed exactly as in the real IND-CPA game, remaining ℓ − i + 1 vectors pi , . . . , pℓ are random. This is the (i − 1)’th hybrid distribution of P.
Since pℓ − p0 ≥ εB − 1/2λ, one of ℓ ∆i ’s (say i = i∗) must be ≥ (εB − 1/2λ)/ℓ ≥ 1/(ℓ · 2λ+1).
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 9/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 10/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 11/33
i<n sixia(x) mod xn + 1.
c0 c1 . . . cn−1 = a0 −an−1 −an−2 · · · −a1 a1 a0 −an−1 · · · −a2 a2 a1 a0 · · · −a3 . . . . . . . . . · · · . . . an−1 an−2 an−3 · · · a0 · s0 s1 . . . sn−1 . Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 12/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 13/33
Use O(m/n · n log n) add./mult. ops. over Zq instead of O(m/n · n2)!
Choose q such that 2n divides q − 1. Then xn + 1 has n zeros in Zq of the form ζ2i+1 for i = 0, . . . , n − 1, where ζ ∈ Zq is a primitive 2nth root of 1 in Zq. Evaluate a(x) and b(x) at the n points ζ2i+1 in Zq to compute the evaluation vectors: (a(ζ), . . . , a(ζ2n−1)) and (s(ζ), . . . , s(ζ2n−1)). Corresponds to multiplication by an FFT-like matrix. (takes O(n log n) mult./add. over Zq). Multiply the evaluations at each point: c(ζ2i+1) = a(ζ2i+1) · s(ζ2i+1) for i = 0, . . . , n − 1. Interpolate to reconstruct (a(ζ), . . . , a(ζ2n−1)) to reconstruct c(x). Corresponds to multiplication by an FFT-like matrix. (takes O(n log n) mult./add. over Zq). Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 14/33
Ciphertext expansion ratio: = Length(C) Length(m) = 2n·log q
n log t
= 2·log q
log t
= O(log λ)! Encryption time: With FFT, O(m′n log n · log2 q) = O(λ log3 λ) bit ops. – ‘quasi-linear’!
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 15/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 16/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 17/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 18/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 19/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 20/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 21/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 22/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 22/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 22/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 22/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 23/33
q )}.
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 24/33
q )}.
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 24/33
q due to very small
q !
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 25/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 26/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 26/33
q )}.
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 27/33
q )}.
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 27/33
b − pb| = non-neg(n) → A breaks DNKC.
b − p′ b| = non-neg(n) → A breaks DNCC.
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 28/33
q .
q | → σ > √q.
q = Zq[x]/(xn − 1) → R+ q = Zq[x]/(xn + 1),
q ), s, e ←
q × Rq), if SSRing-LWE problem hard.
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 29/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 30/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 31/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 32/33
Ron Steinfeld FIT5124 Advanced Topics in SecurityLecture 4: Lattice-Based Crypto. IV Mar 2014 33/33