Codes with locality: constructions and applications to cryptographic protocols
Julien Lavauzelle
École Polytechnique & INRIA Saclay, Université Paris-Saclay
PhD defense 30/11/2018
Codes with locality: constructions and applications to - - PowerPoint PPT Presentation
Codes with locality: constructions and applications to cryptographic protocols Julien Lavauzelle cole Polytechnique & INRIA Saclay, Universit Paris-Saclay PhD defense 30/11/2018 Outline 1. Codes with locality Locality in coding
PhD defense 30/11/2018
1/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
1/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
1/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q
q
q
i ∈ Fq) or erasures (c′ j =⊥) 2/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q
q
q
i ∈ Fq) or erasures (c′ j =⊥)
2/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q
q
q
i ∈ Fq) or erasures (c′ j =⊥)
◮ d = dmin(C) := min{d(c, c′), c = c′, (c, c′) ∈ C2}, ◮ C linear over Fq, with k = dim(C).
2/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q, pairwise distinct.
3/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q, pairwise distinct.
◮ Dimension k = r + 1 ◮ Minimum distance dmin = n − r ◮ Can decode any b errors and e
3/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q, pairwise distinct.
◮ Dimension k = r + 1 ◮ Minimum distance dmin = n − r ◮ Can decode any b errors and e
3/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
4/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q is
q
4/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q is
q
4/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q is
q
4/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q is
q
4/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
5/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ constant locality ℓ:
◮ Hadamard code (folklore)
◮ Matching vector codes [Yek08]
◮ constant rate R = k/n:
◮ Reed-Muller codes (folklore)
1 m! · n
◮ Multiplicity codes [KSY14],
5/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q ), f ∈ Fq[X1, . . . , Xm], deg f ≤ r} cx = f (x)
q)
q
6/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q ), f ∈ Fq[X1, . . . , Xm], deg f ≤ r}
q ) ∈ RMq(m, r)
q affine and injective
q
cx = f (x)
6/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q ), f ∈ Fq[X1, . . . , Xm], deg f ≤ r}
q ) ∈ RMq(m, r)
q affine and injective
q
cx = f (x)
Fm
q
q
q :
q such that i ∈ L.
6/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q ), f ∈ Fq[X1, . . . , Xm], deg f ≤ r}
q ) ∈ RMq(m, r)
q affine and injective
q
cx = f (x)
Fm
q
q
q :
q such that i ∈ L.
2 1−r/q · δ
6/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
m!
7/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
m!
7/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
m!
7/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
m!
7/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
m!
7/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ Am := Fm
q
q ) ∈ FAm q
◮ EmbA(m) := {φ : Fq → Fm
q , injective and affine}
8/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ Am := Fm
q
q ) ∈ FAm q
◮ EmbA(m) := {φ : Fq → Fm
q , injective and affine}
2 1−r/q · δ.
8/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ Am := Fm
q
q ) ∈ FAm q
◮ EmbA(m) := {φ : Fq → Fm
q , injective and affine}
2 1−r/q · δ.
8/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ Ex: for m = 2 and R0 = 1/2, GKS theorem requires n = qm ≥ 264. 9/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ Ex: for m = 2 and R0 = 1/2, GKS theorem requires n = qm ≥ 264.
◮ actually, n = q2 ≥ 26 = 64 is enough to achieve R ≥ 1/2. 9/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
1 . . . Xdm m ) = evAm(Xd)
10/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
1 . . . Xdm m ) = evAm(Xd)
d1 d2
d1 d2
d1 d2
10/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
11/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
11/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q , a = λb
◮ homogeneous polynomials f ∈ Fq[X]H
v of fixed degree v,
◮ to choose a representative for every u ∈ Pm (see [Lac86]):
q
12/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
r }
13/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
r }
q → Fm+1 q
v |
13/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ are locally correctable, with parameters (ℓ = q + 1, δ, ε = δ/τ), where τ is
14/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ are locally correctable, with parameters (ℓ = q + 1, δ, ε = δ/τ), where τ is
◮ are monomial, with an explicit bijection between the degree sets of
14/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ are locally correctable, with parameters (ℓ = q + 1, δ, ε = δ/τ), where τ is
◮ are monomial, with an explicit bijection between the degree sets of
◮ satisfy the puncturing/shortening relation
14/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ are locally correctable, with parameters (ℓ = q + 1, δ, ε = δ/τ), where τ is
◮ are monomial, with an explicit bijection between the degree sets of
◮ satisfy the puncturing/shortening relation
◮ are (up to equivalence)
q−1 are coprime
n gcd(n,q−1) are coprime
14/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ are locally correctable, with parameters (ℓ = q + 1, δ, ε = δ/τ), where τ is
◮ are monomial, with an explicit bijection between the degree sets of
◮ satisfy the puncturing/shortening relation
◮ are (up to equivalence)
q−1 are coprime
n gcd(n,q−1) are coprime
◮ admit many explicit and easily computable information sets 14/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ are locally correctable, with parameters (ℓ = q + 1, δ, ε = δ/τ), where τ is
◮ are monomial, with an explicit bijection between the degree sets of
◮ satisfy the puncturing/shortening relation
◮ are (up to equivalence)
q−1 are coprime
n gcd(n,q−1) are coprime
◮ admit many explicit and easily computable information sets
14/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
14/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q
i=1
q , ∑ x∈L
15/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q
i=1
q , ∑ x∈L
q
q
15/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
16/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ a set X of points, |X| = n, ◮ a set B of blocks B ⊂ X, |B| = ℓ
16/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ a set X of points, |X| = n, ◮ a set B of blocks B ⊂ X, |B| = ℓ
16/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q
q | ∀B ∈ B, c|B ∈ Parity}
17/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q
q | ∀B ∈ B, c|B ∈ Parity}
q : B ∈ B) be a family of codes indexed by blocks B ∈ B.
q | ∀B ∈ B, c|B ∈ FB} .
17/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
2) is fixed
q at i ∈ X
◮ Pick uniformly at random a block B ∈ B such that i ∈ B. ◮ Correct y|B as a noisy codeword from FB, and output ˜
18/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
18/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
18/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
19/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
19/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ With 1 server, only computational privacy is possible [CGKS95, CG97]. ◮ With ℓ ≥ 2 servers, one can achieve information-theoretic privacy
19/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
20/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
20/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
20/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
20/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
20/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ Low communication complexity ◮ Low storage overhead for the servers ◮ Low computation complexity for algorithms A (server) and R (user) 21/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ Low communication complexity ◮ Low storage overhead for the servers ◮ Low computation complexity for algorithms A (server) and R (user)
21/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ Low communication complexity ◮ Low storage overhead for the servers ◮ Low computation complexity for algorithms A (server) and R (user)
21/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
21/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X a set of points, |X| = n = sℓ,
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X a set of points, |X| = n = sℓ, ◮ groups G = {Gj}1≤j≤ℓ satisfying
j=1
22/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X a set of points, |X| = n = sℓ, ◮ groups G = {Gj}1≤j≤ℓ satisfying
j=1
◮ blocks B ∈ B satisfying
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X a set of points, |X| = n = sℓ, ◮ groups G = {Gj}1≤j≤ℓ satisfying
j=1
◮ blocks B ∈ B satisfying
22/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
23/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
23/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q be a code based on a TD(ℓ, s).
24/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q be a code based on a TD(ℓ, s).
24/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
q be a code based on a TD(ℓ, s).
j: i/ ∈Gj
b∈B\{i}
24/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
25/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ communication complexity: ℓ log s uploaded bits, ℓ log q dowloaded bits ◮ computational complexity:
◮ only 1 read for each server (somewhat optimal) ◮ ≤ ℓ additions over Fq for the user
◮ storage overhead: (n − k) log q bits 25/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ communication complexity: ℓ log s uploaded bits, ℓ log q dowloaded bits ◮ computational complexity:
◮ only 1 read for each server (somewhat optimal) ◮ ≤ ℓ additions over Fq for the user
◮ storage overhead: (n − k) log q bits
25/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
25/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X = Fm
q , m ≥ 2,
◮ G a set of q disjoint hyperplanes partitionning X, ◮ B = {affine lines L secant to each group of G}. 26/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X = Fm
q , m ≥ 2,
◮ G a set of q disjoint hyperplanes partitionning X, ◮ B = {affine lines L secant to each group of G}.
26/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X = Fm
q , m ≥ 2,
◮ G a set of q disjoint hyperplanes partitionning X, ◮ B = {affine lines L secant to each group of G}.
26/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X = Fm
q , m ≥ 2,
◮ G a set of q disjoint hyperplanes partitionning X, ◮ B = {affine lines L secant to each group of G}.
26/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
27/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X = S × [1, ℓ] ◮ G = {S × {i}, 1 ≤ i ≤ ℓ}
27/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X = S × [1, ℓ] ◮ G = {S × {i}, 1 ≤ i ≤ ℓ} ◮ B = {{(ci, i), 1 ≤ i ≤ ℓ}, c ∈ OA}
27/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X = S × [1, ℓ] ◮ G = {S × {i}, 1 ≤ i ≤ ℓ} ◮ B = {{(ci, i), 1 ≤ i ≤ ℓ}, c ∈ OA}
27/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ X = S × [1, ℓ] ◮ G = {S × {i}, 1 ≤ i ≤ ℓ} ◮ B = {{(ci, i), 1 ≤ i ≤ ℓ}, c ∈ OA}
27/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
28/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
28/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
28/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ OAs with t > 2 exist (e.g. from Reed-Solomon codes) ◮ But associated TDs lead to codes with poor rates except for t ≪ ℓ 28/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ OAs with t > 2 exist (e.g. from Reed-Solomon codes) ◮ But associated TDs lead to codes with poor rates except for t ≪ ℓ
28/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
28/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
29/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
29/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
i
◮ User picks κ ∈ K at random ◮ File F is encoded and permuted as follows:
1 (c1), . . . , σ(κ) n (cn)) ∈ Fn q
◮ User stores κ, server stores w
◮ User picks a line L ⊂ Fm
q at random and sends it to the server
◮ Server reads w|L and sends it back to the user ◮ User accepts iff σ−1(w|L) ∈ RSq(r) 30/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
n(ε0−ε)2
31/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
n(ε0−ε)2
31/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
n(ε0−ε)2
31/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
31/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ Analysis and generalisation of a family of high-rate locally
◮ Combinatorial formalism for the construction of locally correctable
◮ Application to private information retrieval (PIR) ◮ Application to proofs of retrievability (PoR) 32/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –
◮ PIR with low server computation complexity
◮ 1 server read −
◮ Extend the lifting process to other geometric varieties
◮ e.g. the Hermitian variety
◮ Design-based codes allow us to remove probabilistic decoders
◮ “usual” combinatorial coding-theoretic version of LCCs ◮ new constructions? new bounds?
33/33
PhD defense – Codes with locality: constructions and applications to cryptographic protocols –