Lattice-Based Zero-Knowledge Arguments for Integer Relations
Benoˆ ıt Libert1 San Ling2 Khoa Nguyen2 Huaxiong Wang2
1CNRS and ENS Lyon, France 2Nanyang Technological University, Singapore
Lattice-Based Zero-Knowledge Arguments for Integer Relations t - - PowerPoint PPT Presentation
Lattice-Based Zero-Knowledge Arguments for Integer Relations t Libert 1 San Ling 2 Khoa Nguyen 2 Huaxiong Wang 2 Beno 1 CNRS and ENS Lyon, France 2 Nanyang Technological University, Singapore CRYPTO 2018, 20 August 2018 Zero-Knowledge
1CNRS and ENS Lyon, France 2Nanyang Technological University, Singapore
⋆ “Large”: Committed integers X, Y , Z are of bit-size L = poly(n).
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 2 / 15
⋆ “Large”: Committed integers X, Y , Z are of bit-size L = poly(n). ⋆ “Relations”: Addition: X + Y = Z over Z Multiplication: X · Y = Z over Z Range: X ∈ [α, β] Set non-membership: X ∈ SET, where SET is a public set.
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 2 / 15
⋆ “Large”: Committed integers X, Y , Z are of bit-size L = poly(n). ⋆ “Relations”: Addition: X + Y = Z over Z Multiplication: X · Y = Z over Z Range: X ∈ [α, β] Set non-membership: X ∈ SET, where SET is a public set. ⋆ “Assumptions”: Solutions from DL/strong-RSA, e.g. + and ×: Fujisaki-Okamoto (C’97), Damg˚ ard-Fujisaki (AC’02), Lipmaa (AC’03), Couteau et al. (EC’17) Range: Camenisch et al. (AC’08), Gonzalez-R` afols (ACNS’17) Set non-membership: Camenisch-Lysyanskaya (C’02), Nakanishi et al. (PKC’09), Bayer-Groth (EC’13)
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 2 / 15
Require to prove X + Y = Z mod q for a large modulus q = 2poly(n). Each ring element (used in the commitment) would cost thousand times L bits. Proving that X, Y are small w.r.t. q (i.e., no reduction mod q occurs) and proving the additive relation would cost k · L bits, where k ≈ 105. Strong assumptions: at least sub-exponential approximation factors. Ensuring soundness is non-trivial.
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 3 / 15
Require to prove X + Y = Z mod q for a large modulus q = 2poly(n). Each ring element (used in the commitment) would cost thousand times L bits. Proving that X, Y are small w.r.t. q (i.e., no reduction mod q occurs) and proving the additive relation would cost k · L bits, where k ≈ 105. Strong assumptions: at least sub-exponential approximation factors. Ensuring soundness is non-trivial.
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 3 / 15
Small modulus: q = O( √ L · n). Weak assumption: SIVPγ is hard for γ = O( √ L · n).
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 4 / 15
Small modulus: q = O( √ L · n). Weak assumption: SIVPγ is hard for γ = O( √ L · n).
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 4 / 15
1
2
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 5 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 6 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 6 / 15
Let X = (xL−1, . . . , x0)2, Y = (yL−1, . . . , y0)2, Z = (zL, zL−1, . . . , z0)2. For i ∈ [0, L − 1], let ci+1 be the carry-out of the i-th addition. We have: z0 + x0 + y0 = 0 mod 2 c1 + x0 · y0 = 0 mod 2 z1 + x1 + y1 + c1 = 0 mod 2 c2 + x1 · y1 + z1 · c1 + c1 = 0 mod 2 . . . zL−1 + xL−1 + yL−1 + cL−1 = 0 mod 2 zL + xL−1 · yL−1 + zL−1 · cL−1 + cL−1 = 0 mod 2.
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 7 / 15
Let X = (xL−1, . . . , x0)2, Y = (yL−1, . . . , y0)2, Z = (zL, zL−1, . . . , z0)2. For i ∈ [0, L − 1], let ci+1 be the carry-out of the i-th addition. We have: z0 + x0 + y0 = 0 mod 2 c1 + x0 · y0 = 0 mod 2 z1 + x1 + y1 + c1 = 0 mod 2 c2 + x1 · y1 + z1 · c1 + c1 = 0 mod 2 . . . zL−1 + xL−1 + yL−1 + cL−1 = 0 mod 2 zL + xL−1 · yL−1 + zL−1 · cL−1 + cL−1 = 0 mod 2. X, Y , Z are committed via [KTX-AC’08] → equations modulo q. a0 · x0 + . . . + aL−1 · xL−1 + bj · r1,j = cx mod q; a0 · y0 + . . . + aL−1 · yL−1 + bj · r2,j = cy mod q; a0 · z0 + . . . + aL · xL + bj · r3,j = cz mod q.
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 7 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 8 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 8 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 9 / 15
1 Transform all equations into M2 · s = 0 mod 2 and Mq · t = c mod q. 2 Random masking with vectors over Z2 and Zq:
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 10 / 15
X ≤ Y : There exists non-negative Z s.t. X + Z = Y . X < Y : There exists non-negative Z s.t. X + Z + 1 = Y .
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 11 / 15
X ≤ Y : There exists non-negative Z s.t. X + Z = Y . X < Y : There exists non-negative Z s.t. X + Z + 1 = Y .
Two inequalities, e.g., X ≥ α and X < β.
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 11 / 15
X ≤ Y : There exists non-negative Z s.t. X + Z = Y . X < Y : There exists non-negative Z s.t. X + Z + 1 = Y .
Two inequalities, e.g., X ≥ α and X < β.
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 11 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 12 / 15
1 Y < X < Z, for some secret Y , Z.
2 Y , Z ∈ {S0, S1, . . . , SM, SM+1} and Y , Z are“consecutive”.
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 12 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 13 / 15
Straightforward; suitable for practical values of L, e.g., L ≤ 8000
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 14 / 15
Straightforward; suitable for practical values of L, e.g., L ≤ 8000
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 14 / 15
Straightforward; suitable for practical values of L, e.g., L ≤ 8000
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 14 / 15
Straightforward; suitable for practical values of L, e.g., L ≤ 8000
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 14 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 15 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 15 / 15
Khoa Nguyen Lattice-Based ZK for Integers CRYPTO 2018 15 / 15