Boosting Verifiable Computation
- n Encrypted Data
Boosting Verifiable Computation on Encrypted Data PKC 2020 Dario - - PowerPoint PPT Presentation
Boosting Verifiable Computation on Encrypted Data PKC 2020 Dario Fiore, Anca Nitulescu , David Pointcheval Motivational Tale: The Bare Necessities of a Cloud User (In times of a Pandemic) 2 Pandemics biometric surveillance systems data
2
(In times of a Pandemic)
3
data
4
data
5
data
6
data
healthy
7
data
healthy?
8
data
9
data
10
data
11
data
Homomorphic Encryption ✘ Privacy of inputs ✘ Malleability of data ✘ Privacy of output
[Gen09, BV11, BGV12, GSW13, CGGI16, CKKS17...]
12 f(x)
data
data
13
✘ Proof is succinct ✘ Minimal interaction ✘ Client verifies efficiently ✘ Server algo remains secret [GGP10, GGPR13, PHGR13, Gro16, BBC+18...]
14
data result
15
data result
✘
Dario Fiore, Rosario Gennaro, Valerio Pastro ✘ Combines FHE and homomorphic MAC ✘ Efficient VC for quadratic functions only ✘ Designated Verifier - it requires MAC key ✘ Verifier = Client (share secret key for FHE) ✘ Privacy of the inputs and the outputs (from Server)
16
Option s
Goals Strategy
Polynomial Commitments CaP zk-SNARKs
17
data result
18
Solution that improves on [FGP14] : ✘ Public verifiable: Client & Verifier do not share keys ✘ Efficiency for higher degree computations (arithmetic circuits)
Compactly Commit to ciphertexts Prove efficiently evaluation of circuit
crs
zk-SNARK for verifiable and private delegation of computation
20
P1 P2 P3 P4
a1 a2 a3 a4
P1 P2 P3 P4
21
22
q0 p1 q1 pd qd
O(d) scalar additions in
s0 h0 s1 h1 s0 ...
2 scalar multiplications in
23 h0 sk… hi sk-i … hd sd
24
2) scalar multiplications
25
scalar additions
scalar multiplications *for polynomials of degree d n inputs
m gates n inputs
26
F(x) G(x) P(x) Q(x) F(x),G(x), P(x),Q(x) T(x)
Want a solution that: ✘ Compactly commits to the input ciphertexts → hiding from Verifier ✘ Reduces the proof for → efficiency close to cleartext proof for
F(k) G(k) P(k) Q(k) T(k)
evaluate in k
n inputs n inputs
27
m gates
f g
evaluate in k f = F(k) p = P(k) g = G(k) q = Q(k)
28
n inputs n inputs
f g
29
F(k) = f P(k) = p G(k) = g Q(k) = q
f g
30
F(k) = f P(k) = p G(k) = g Q(k) = q
31
Compactly Commit to Polynomials ZK Proof for evaluation in random point k
crs
σ
CaP zk-SNARK for arithmetic circuit
Verifiable Computation with Privacy
π
VC
Polynomial Commitments CaP zk-SNARKs
32
Option s
Goals Strategy
33
34
35
F(x) G(x)
T(x) P(x) Q(x)
Commitments Single bi-variate Commitment
36
F(x) G(x)
T(x) P(x) Q(x)
Commitments Single bi-variate Commitment
f g
37
f g
Z(x,y) V(y)
38
f g
Z(x,y) V(y)
Z(x,y) = F(x) + G(x)y + P(x)y2 + Q(x)y3 V(y) = f + g y + p y2 + q y3
39
f g
Z(x,y) V(y)
Z(x,y) = F(x) + G(x)y + P(x)y2 + Q(x)y3 Z(k,y) = F(k) + G(k)y + P(k)y2 + Q(k)y3 V(y) = f + g y + p y2 + q y3 =
40
Z(x,y)
f g
V(y) Z(k,y) = V(y)
41
Z(x,y)
f g
SNARK
V(y)
42
Z(k,y) = V(y)
Z(x,y)
f g
SNARK
V(y)
Z(k,y) = V(y)
[CFQ19] Modular Commit-and-Prove (LegoSNARK)
43
Z(x,y)
f g
SNARK
V(y)
Z(k,y) = V(y)
44
45
CaP zk-SNARK for Multi-Polynomial Evaluation Interactive Proof Random Oracle Model
P: Commits to polynomials ✘ based on the SDH and PKE assumptions V: Sends random point P: Queries point to RO ✘ non-interactive and zero-knowledge P: Prove the evaluation ✘ evaluations are committed (never opened)
Z(k,y) = V(y)
σ
Z(x,y)
f g
SNARK
V(y)
Z(k,y) = V(y)
[CFQ19] Modular Commit-and-Prove (LegoSNARK)
46
47
Lego-SNARK “lifting” tool zk-SNARK Pre-Processing
Groth 16 CRS for QAP
Quadratic Arithmetic Programs
LegoGro16 UAC - GKMMM 18 Universal, circuit-independent, updatable CRS LegoUAC
CaP SNARK [CFQ19]
48
Option s
Goals Strategy
Polynomial Commitments CaP zk-SNARKs
49
F(k) G(k) P(k) Q(k) F(x),G(x), P(x),Q(x) T(x)
✘ CaP-SNARK for simultaneous evaluation of many committed polynomials
(based on the SDH and PKE assumptions in the RO Model)
✘ Privacy: randomisation of ciphertexts & commited results of evaluation
T(k)
eprint.iacr.org/2020/132 Questions? anca.nitulescu@ens.fr
51