A SHUFFLE ARGUMENT SECURE IN THE GENERIC MODEL Prastudy Fauzi, - - PowerPoint PPT Presentation

a shuffle argument secure in the generic model
SMART_READER_LITE
LIVE PREVIEW

A SHUFFLE ARGUMENT SECURE IN THE GENERIC MODEL Prastudy Fauzi, - - PowerPoint PPT Presentation

A SHUFFLE ARGUMENT SECURE IN THE GENERIC MODEL Prastudy Fauzi, Helger Lipmaa, Michal Zajac University of Tartu, Estonia ASIACRYPT 2016 OUR RESULTS A new efficient CRS-based NIZK shuffle argument OUR RESULTS A new efficient CRS-based


slide-1
SLIDE 1

A SHUFFLE ARGUMENT SECURE IN THE GENERIC MODEL

Prastudy Fauzi, Helger Lipmaa, Michal Zajac University of Tartu, Estonia

ASIACRYPT 2016

slide-2
SLIDE 2

OUR RESULTS

▪A new efficient CRS-based NIZK shuffle argument

slide-3
SLIDE 3

OUR RESULTS

▪A new efficient CRS-based NIZK shuffle argument ▪Four+ times more efficient verification than in prior work

slide-4
SLIDE 4

OUR RESULTS

▪A new efficient CRS-based NIZK shuffle argument ▪Four+ times more efficient verification than in prior work ▪Verification time more critical

slide-5
SLIDE 5

OUR RESULTS

▪A new efficient CRS-based NIZK shuffle argument ▪Four+ times more efficient verification than in prior work ▪Verification time more critical ▪Soundness proof in the Generic Bilinear Group Model

slide-6
SLIDE 6

OUR RESULTS

▪A new efficient CRS-based NIZK shuffle argument ▪Four+ times more efficient verification than in prior work ▪Verification time more critical ▪Soundness proof in the Generic Bilinear Group Model ▪Very complicated machine-assisted proof

slide-7
SLIDE 7

OUR RESULTS

▪A new efficient CRS-based NIZK shuffle argument ▪Four+ times more efficient verification than in prior work ▪Verification time more critical ▪Soundness proof in the Generic Bilinear Group Model ▪Very complicated machine-assisted proof ▪Use computer algebra to solve systems of polyn. eq.

slide-8
SLIDE 8

OUR RESULTS

▪A new efficient CRS-based NIZK shuffle argument ▪Four+ times more efficient verification than in prior work ▪Verification time more critical ▪Soundness proof in the Generic Bilinear Group Model ▪Very complicated machine-assisted proof ▪Use computer algebra to solve systems of polyn. eq. ▪Esp. to find Gröbner bases

slide-9
SLIDE 9

A BIT OF MOTIVATION: E-VOTING

slide-10
SLIDE 10

A BIT OF MOTIVATION: E-VOTING

slide-11
SLIDE 11

A BIT OF MOTIVATION: E-VOTING

slide-12
SLIDE 12

A BIT OF MOTIVATION: E-VOTING

Lesson from the past:
 It is not voters who counts, but who counts the votes

  • Can we get away with that?
  • I’m 140% sure!
slide-13
SLIDE 13

A BIT OF MOTIVATION: E-VOTING

Anonymity Correctness

Lesson from the past:
 It is not voters who counts, but who counts the votes

  • Can we get away with that?
  • I’m 140% sure!
slide-14
SLIDE 14

A BIT OF MOTIVATION: E-VOTING

Anonymity Correctness

Data is public (Data, source) is private

Lesson from the past:
 It is not voters who counts, but who counts the votes

  • Can we get away with that?
  • I’m 140% sure!
slide-15
SLIDE 15

SIMPLE MIX-NETS

slide-16
SLIDE 16

SIMPLE MIX-NETS

c1=Encpk(m1) c2=Encpk (m2) c3=Encpk (m3)

slide-17
SLIDE 17

SIMPLE MIX-NETS

c1=Encpk(m1) c2=Encpk (m2) c3=Encpk (m3) π, r

Encryption protects against eavesdropping on the Internet

d1=cπ(1) d2=cπ(2) d3=cπ(3)

slide-18
SLIDE 18

SIMPLE MIX-NETS

c1=Encpk(m1) c2=Encpk (m2) c3=Encpk (m3) π, r

Encryption protects against eavesdropping on the Internet

d1=cπ(1) d2=cπ(2) d3=cπ(3) ψ,s e1=dψ(1) e2=dψ(2) e3=dψ(3)

slide-19
SLIDE 19

SIMPLE MIX-NETS

c1=Encpk(m1) c2=Encpk (m2) c3=Encpk (m3) π, r mψ(π(1)) mψ(π(2)) mψ(π(3))

Encryption protects against eavesdropping on the Internet

d1=cπ(1) d2=cπ(2) d3=cπ(3) ψ,s e1=dψ(1) e2=dψ(2) e3=dψ(3) sk

slide-20
SLIDE 20

SIMPLE MIX-NETS

c1=Encpk(m1) c2=Encpk (m2) c3=Encpk (m3) π, r mψ(π(1)) mψ(π(2)) mψ(π(3))

Encryption protects against eavesdropping on the Internet Private against each individual server

d1=cπ(1) d2=cπ(2) d3=cπ(3) ψ,s e1=dψ(1) e2=dψ(2) e3=dψ(3) sk

Anonymity

slide-21
SLIDE 21

SIMPLE MIX-NETS

c1=Encpk(m1) c2=Encpk (m2) c3=Encpk (m3) π, r mψ(π(1)) mψ(π(2)) mψ(π(3))

Encryption protects against eavesdropping on the Internet Private against each individual server

d1=cπ(1) d2=cπ(2) d3=cπ(3) ψ,s e1=dψ(1) e2=dψ(2) e3=dψ(3) sk

Not enough: what if a server cheats?

Anonymity Correctness

slide-22
SLIDE 22

ACCOUNTABLE MIX-NETS

c2=Encpk (m2) pk, π, r mψ(π(1)) mψ(π(2)) mψ(π(3)) d1=cπ(1) d2=cπ(2) d3=cπ(3) pk, ψ,s e1=dψ(1) e2=dψ(2) e3=dψ(3) sk c1=Encpk(m1) c3=Encpk (m3)

slide-23
SLIDE 23

ACCOUNTABLE MIX-NETS

c2=Encpk (m2) pk, π, r mψ(π(1)) mψ(π(2)) mψ(π(3)) d1=cπ(1) d2=cπ(2) d3=cπ(3) pk, ψ,s e1=dψ(1) e2=dψ(2) e3=dψ(3) sk

Prove that shuffling was correct, send proof to the next server

proof c1=Encpk(m1) c3=Encpk (m3)

slide-24
SLIDE 24

ACCOUNTABLE MIX-NETS

c2=Encpk (m2) pk, π, r mψ(π(1)) mψ(π(2)) mψ(π(3)) d1=cπ(1) d2=cπ(2) d3=cπ(3) pk, ψ,s e1=dψ(1) e2=dψ(2) e3=dψ(3) sk

Prove that shuffling was correct, send proof to the next server Verify all previous proofs, shuffle, create your own proof

proof proof c1=Encpk(m1) c3=Encpk (m3)

slide-25
SLIDE 25

ACCOUNTABLE MIX-NETS

c2=Encpk (m2) pk, π, r mψ(π(1)) mψ(π(2)) mψ(π(3)) d1=cπ(1) d2=cπ(2) d3=cπ(3) pk, ψ,s e1=dψ(1) e2=dψ(2) e3=dψ(3) sk

Prove that shuffling was correct, send proof to the next server Verify all previous proofs, shuffle, create your own proof

proof proof

Verify all proofs

c1=Encpk(m1) c3=Encpk (m3)

slide-26
SLIDE 26

ACCOUNTABLE MIX-NETS

c2=Encpk (m2) pk, π, r mψ(π(1)) mψ(π(2)) mψ(π(3)) d1=cπ(1) d2=cπ(2) d3=cπ(3) pk, ψ,s e1=dψ(1) e2=dψ(2) e3=dψ(3) sk

Prove that shuffling was correct, send proof to the next server Verify all previous proofs, shuffle, create your own proof

proof proof

Verify all proofs

c1=Encpk(m1) c3=Encpk (m3)

Anonymity Correctness

slide-27
SLIDE 27

SHUFFLE ARGUMENT

▪Shuffle argument: ▪efficient zero knowledge argument of correctness

  • f shuffling 


Mix-server permutes ciphertexts, re-encrypt them and provides a proof that he has done it correctly.

slide-28
SLIDE 28

SHUFFLE ARGUMENT

▪Shuffle argument: ▪efficient zero knowledge argument of correctness

  • f shuffling 


Mix-server permutes ciphertexts, re-encrypt them and provides a proof that he has done it correctly.

▪Existing CRS model arguments not very efficient

slide-29
SLIDE 29

CRS-BASED SHUFFLE ARGUMENTS


Lipmaa-Zhang (2012)

Fauzi-Lipmaa (2016) This paper CRS length 7n + 6 8n + 17 3n + 14 Communic. 12n + 11 9n + 2 7n + 3 P comp. (units) 36 19.8 24.3 V comp. (units) 196 126 36.3

GBGM? PSDL, DLIN (comp.) KE, PKE (knowledge) TSDH, PCDH, PSP (comp.) 2x PKE (knowledge) Pure GBGM

Soundness Full Culpable Full

1 unit = n million machine cycles According to speed records on BN curves n: number of ciphertexts (say 100,000) Assumption proposed in that paper, proof in GBGM

  • Assmpt. proposed 2010+, but not in that paper, proof in GBGM
slide-30
SLIDE 30

ZERO KNOWLEDGE: CRS MODEL

crs

slide-31
SLIDE 31

ZERO KNOWLEDGE: CRS MODEL

x, w crs

slide-32
SLIDE 32

ZERO KNOWLEDGE: CRS MODEL

x, w x crs

slide-33
SLIDE 33

ZERO KNOWLEDGE: CRS MODEL

x, w x

P(crs,x,w)=π: Proof of ” x ∈ L”

crs

slide-34
SLIDE 34

ZERO KNOWLEDGE: CRS MODEL

x, w x

P(crs,x,w)=π: Proof of ” x ∈ L” V(crs,x,π): Accepts or rejects

crs

slide-35
SLIDE 35

ZERO KNOWLEDGE: CRS MODEL

x, w x

P(crs,x,w)=π: Proof of ” x ∈ L” V(crs,x,π): Accepts or rejects

crs td

slide-36
SLIDE 36

ZERO KNOWLEDGE: CRS MODEL

x, w x

P(crs,x,w)=π: Proof of ” x ∈ L” V(crs,x,π): Accepts or rejects

crs td

Sim(crs,td,x)=π: Proof of ” x ∈ L”

slide-37
SLIDE 37

ZERO KNOWLEDGE: CRS MODEL

x, w x

P(crs,x,w)=π: Proof of ” x ∈ L” V(crs,x,π): Accepts or rejects

crs td

Sim(crs,td,x)=π: Proof of ” x ∈ L”

Correctness Soundness Zero knowledge

slide-38
SLIDE 38

BILINEAR PAIRINGS

slide-39
SLIDE 39

BILINEAR PAIRINGS

▪Three cyclic groups of the same order q: G1, G2, GT

slide-40
SLIDE 40

BILINEAR PAIRINGS

▪Three cyclic groups of the same order q: G1, G2, GT ▪Generators g1 of G1, g2 of G2, gT of GT

slide-41
SLIDE 41

BILINEAR PAIRINGS

▪Three cyclic groups of the same order q: G1, G2, GT ▪Generators g1 of G1, g2 of G2, gT of GT ▪Bilinear map: e: G1 x G2 → GT

slide-42
SLIDE 42

BILINEAR PAIRINGS

▪Three cyclic groups of the same order q: G1, G2, GT ▪Generators g1 of G1, g2 of G2, gT of GT ▪Bilinear map: e: G1 x G2 → GT ▪Requirements:

▪Efficiently computable ▪Non-degeneracy: e (g1, g2) ≠ 1 ▪Bilinearity: e (g1

a, g2 b) = e (g1, g2)ab

slide-43
SLIDE 43

ASSUMPTIONS & PAIRINGS

▪Inverting pairings should be hard

slide-44
SLIDE 44

ASSUMPTIONS & PAIRINGS

▪Inverting pairings should be hard

▪Given e (A, B), compute either A or B

slide-45
SLIDE 45

ASSUMPTIONS & PAIRINGS

▪Inverting pairings should be hard

▪Given e (A, B), compute either A or B ▪Analogous to DL: given ga, compute a

slide-46
SLIDE 46

ASSUMPTIONS & PAIRINGS

▪Inverting pairings should be hard

▪Given e (A, B), compute either A or B ▪Analogous to DL: given ga, compute a

▪What else should be hard?

slide-47
SLIDE 47

NON-GENERIC APPROACH

Protocol

slide-48
SLIDE 48

NON-GENERIC APPROACH

Protocol Assumption 1 (known) … Assumption m (known)

slide-49
SLIDE 49

NON-GENERIC APPROACH

Protocol Assumption 1 (known) … Assumption m (known) Assumption m+1 (new) … Assumption m+m’ (new)

slide-50
SLIDE 50

NON-GENERIC APPROACH

Protocol Assumption 1 (known) … Assumption m (known) Generic Model Assumption m+1 (new) … Assumption m+m’ (new)

slide-51
SLIDE 51

NON-GENERIC APPROACH

Protocol Assumption 1 (known) … Assumption m (known) Generic Model Assumption m+1 (new) … Assumption m+m’ (new)

Pro: nice if m’ is not big, or most assumptions are well-known, or…

slide-52
SLIDE 52

NON-GENERIC APPROACH

Protocol Assumption 1 (known) … Assumption m (known) Generic Model Assumption m+1 (new) … Assumption m+m’ (new)

Pro: nice if m’ is not big, or most assumptions are well-known, or… Con: each arrow might mean a loss in efficiency

slide-53
SLIDE 53

GENERIC MODEL APPROACH

Protocol Generic Model

Pro: only one arrow, thus smaller loss in efficiency Con: proof in GGM is only for restricted adversaries

slide-54
SLIDE 54

GENERIC BILINEAR GROUP MODEL

▪Meta-Assumption: adversary only has access to

slide-55
SLIDE 55

GENERIC BILINEAR GROUP MODEL

▪Meta-Assumption: adversary only has access to ▪group operations, bilinear map, equality tests

slide-56
SLIDE 56

GENERIC BILINEAR GROUP MODEL

▪Meta-Assumption: adversary only has access to ▪group operations, bilinear map, equality tests

▪Each computed element in Gi (i=1, 2) is given by group

  • peration of two already known elements
slide-57
SLIDE 57

GENERIC BILINEAR GROUP MODEL

▪Meta-Assumption: adversary only has access to ▪group operations, bilinear map, equality tests

▪Each computed element in Gi (i=1, 2) is given by group

  • peration of two already known elements

▪Recursively, DL of each computed element is a known

polynomial of some indeterminates

slide-58
SLIDE 58

GENERIC BILINEAR GROUP MODEL

▪Meta-Assumption: adversary only has access to ▪group operations, bilinear map, equality tests

▪Each computed element in Gi (i=1, 2) is given by group

  • peration of two already known elements

▪Recursively, DL of each computed element is a known

polynomial of some indeterminates

▪Note: we do not handle GT as a generic group

slide-59
SLIDE 59

SOUNDNESS IN GBGM

slide-60
SLIDE 60

SOUNDNESS IN GBGM

X1 … Xs

Random variables (TTP)

slide-61
SLIDE 61

SOUNDNESS IN GBGM

X1 … Xs {[f1i(X)]1} {[f2i(X)]2}

Random variables (TTP) CRS (TTP) Polynomials (TTP knows X) [X] = gX

slide-62
SLIDE 62

SOUNDNESS IN GBGM

X1 … Xs {[f1i(X)]1} {[f2i(X)]2} {[g1i(X) =Σi a1if1i(X)]1} {[g2i(X) =Σi a2if2i(X)]1}

Random variables (TTP) CRS (TTP) Outputs in argument (adversary) Linear combinations (only group operation) Polynomials (TTP knows X) [X] = gX

slide-63
SLIDE 63

SOUNDNESS IN GBGM

X1 … Xs {[f1i(X)]1} {[f2i(X)]2} {[g1i(X) =Σi a1if1i(X)]1} {[g2i(X) =Σi a2if2i(X)]1}

Random variables (TTP) CRS (TTP) Outputs in argument (adversary)

V1(X)=Σij b1ijh1i(X) h2i(X)=0

Vu(X)=Σij buijh1i(X) h2i(X)=0

Verifications (verifier) {hji} = {fji, hji} Linear combinations (only group operation) Quadratic tests (can use bilinear map) Polynomials (TTP knows X) [X] = gX

slide-64
SLIDE 64

SOUNDNESS IN GBGM

▪jth verification equation ascertains Vj(X) = 0

slide-65
SLIDE 65

SOUNDNESS IN GBGM

▪jth verification equation ascertains Vj(X) = 0 ▪Solve system of polynomial equations {Vj(X) = 0} in

coefficients aji chosen by the adversary

slide-66
SLIDE 66

SOUNDNESS IN GBGM

▪jth verification equation ascertains Vj(X) = 0 ▪Solve system of polynomial equations {Vj(X) = 0} in

coefficients aji chosen by the adversary

▪Show that solution’s coefficients are ”nice”

slide-67
SLIDE 67

SOUNDNESS IN GBGM

▪jth verification equation ascertains Vj(X) = 0 ▪Solve system of polynomial equations {Vj(X) = 0} in

coefficients aji chosen by the adversary

▪Show that solution’s coefficients are ”nice”

▪= restricted to be as in the honest case

slide-68
SLIDE 68

INTUITION: CONSTRUCTING ARGUMENT

▪Decomposing:

slide-69
SLIDE 69

INTUITION: CONSTRUCTING ARGUMENT

▪Decomposing:

▪Write down main building blocks you need to prove

in argument

slide-70
SLIDE 70

INTUITION: CONSTRUCTING ARGUMENT

▪Decomposing:

▪Write down main building blocks you need to prove

in argument

▪Each ”subargument” should be efficiently verifiable

(by a single pairing)

slide-71
SLIDE 71

INTUITION: CONSTRUCTING ARGUMENT

▪Decomposing:

▪Write down main building blocks you need to prove

in argument

▪Each ”subargument” should be efficiently verifiable

(by a single pairing)

▪Ascertain each subargument is sound independently

slide-72
SLIDE 72

INTUITION: CONSTRUCTING ARGUMENT

▪Decomposing:

▪Write down main building blocks you need to prove

in argument

▪Each ”subargument” should be efficiently verifiable

(by a single pairing)

▪Ascertain each subargument is sound independently

▪CRS composition:

slide-73
SLIDE 73

INTUITION: CONSTRUCTING ARGUMENT

▪Decomposing:

▪Write down main building blocks you need to prove

in argument

▪Each ”subargument” should be efficiently verifiable

(by a single pairing)

▪Ascertain each subargument is sound independently

▪CRS composition:

▪Compose CRS-s of individual subarguments together,

getting one big CRS

slide-74
SLIDE 74

INTUITION: CONSTRUCTING ARGUMENT

slide-75
SLIDE 75

INTUITION: CONSTRUCTING ARGUMENT

slide-76
SLIDE 76

INTUITION: CONSTRUCTING ARGUMENT

▪Soundness check:

▪Is the composed protocol sound?

▪ Subarguments get extra inputs in CRS

▪If not: introduce new random variables that guarantee

CRS elements are used in only correct subarguments, reiterate

slide-77
SLIDE 77

SUBARGUMENTS

▪”Permutation matrix argument”:

slide-78
SLIDE 78

SUBARGUMENTS

▪”Permutation matrix argument”: ▪Prover commits to permutation; proves this is done correctly

slide-79
SLIDE 79

SUBARGUMENTS

▪”Permutation matrix argument”: ▪Prover commits to permutation; proves this is done correctly ▪”Consistency argument”:

slide-80
SLIDE 80

SUBARGUMENTS

▪”Permutation matrix argument”: ▪Prover commits to permutation; proves this is done correctly ▪”Consistency argument”: ▪Prover proves she used the committed permutation to

shuffle ciphertexts

slide-81
SLIDE 81

SUBARGUMENTS

▪”Permutation matrix argument”: ▪Prover commits to permutation; proves this is done correctly ▪”Consistency argument”: ▪Prover proves she used the committed permutation to

shuffle ciphertexts

▪”Validity argument”:

slide-82
SLIDE 82

SUBARGUMENTS

▪”Permutation matrix argument”: ▪Prover commits to permutation; proves this is done correctly ▪”Consistency argument”: ▪Prover proves she used the committed permutation to

shuffle ciphertexts

▪”Validity argument”: ▪Prover proves each ciphertext has been formed ”correctly”

slide-83
SLIDE 83

SUBARGUMENTS

▪”Permutation matrix argument”: ▪Prover commits to permutation; proves this is done correctly ▪”Consistency argument”: ▪Prover proves she used the committed permutation to

shuffle ciphertexts

▪”Validity argument”: ▪Prover proves each ciphertext has been formed ”correctly” ▪Correctly: so that the soundness proof goes through

slide-84
SLIDE 84

SUBARGUMENTS

▪”Permutation matrix argument”: ▪Prover commits to permutation; proves this is done correctly ▪”Consistency argument”: ▪Prover proves she used the committed permutation to

shuffle ciphertexts

▪”Validity argument”: ▪Prover proves each ciphertext has been formed ”correctly” ▪Correctly: so that the soundness proof goes through

slide-85
SLIDE 85

PERMUTATION MATRIX ARGUMENT

▪Lemma. A matrix is permutation matrix iff 1.

It is stochastic // rows sum to (1, …, 1)

2.

Each row is 1-sparse

At most one coefficient is non-zero

slide-86
SLIDE 86

PERMUTATION MATRIX ARGUMENT

▪Lemma. A matrix is permutation matrix iff 1.

It is stochastic // rows sum to (1, …, 1)

2.

Each row is 1-sparse

At most one coefficient is non-zero

slide-87
SLIDE 87

1-SPARSITY ARGUMENT

▪Commitment:

slide-88
SLIDE 88

1-SPARSITY ARGUMENT

▪Commitment:

[Ai(X)]i = [aIPI (X) + rXρ]i // i = 1, 2

Pi (X) are linearly independent, well-chosen polynomials

slide-89
SLIDE 89

1-SPARSITY ARGUMENT

▪Commitment:

[Ai(X)]i = [aIPI (X) + rXρ]i // i = 1, 2

▪Argument: // ”square span programs”

Pi (X) are linearly independent, well-chosen polynomials

slide-90
SLIDE 90

1-SPARSITY ARGUMENT

▪Commitment:

[Ai(X)]i = [aIPI (X) + rXρ]i // i = 1, 2

▪Argument: // ”square span programs”

[π(X)]1 = [((aIPI (X) + P0 (X) + rXρ)2 - 1) / Xρ]1

Pi (X) are linearly independent, well-chosen polynomials

slide-91
SLIDE 91

1-SPARSITY ARGUMENT

▪Commitment:

[Ai(X)]i = [aIPI (X) + rXρ]i // i = 1, 2

▪Argument: // ”square span programs”

[π(X)]1 = [((aIPI (X) + P0 (X) + rXρ)2 - 1) / Xρ]1

▪Verification equation:

Pi (X) are linearly independent, well-chosen polynomials

slide-92
SLIDE 92

1-SPARSITY ARGUMENT

▪Commitment:

[Ai(X)]i = [aIPI (X) + rXρ]i // i = 1, 2

▪Argument: // ”square span programs”

[π(X)]1 = [((aIPI (X) + P0 (X) + rXρ)2 - 1) / Xρ]1

▪Verification equation:

V (X) := (A1(X) + Xα+ P0 (X)) (A2(X) - Xα+ P0 (X)) - π(X) Xρ – (1 - Xα)2

Pi (X) are linearly independent, well-chosen polynomials

slide-93
SLIDE 93

1-SPARSITY ARGUMENT

▪Commitment:

[Ai(X)]i = [aIPI (X) + rXρ]i // i = 1, 2

▪Argument: // ”square span programs”

[π(X)]1 = [((aIPI (X) + P0 (X) + rXρ)2 - 1) / Xρ]1

▪Verification equation:

V (X) := (A1(X) + Xα+ P0 (X)) (A2(X) - Xα+ P0 (X)) - π(X) Xρ – (1 - Xα)2 = 0

Pi (X) are linearly independent, well-chosen polynomials

slide-94
SLIDE 94

SOUNDNESS PROOF: IDEA

honest prover: [Ai(X)]i = [aIPI (X) + rXρ]i

slide-95
SLIDE 95

SOUNDNESS PROOF: IDEA

▪ In GBGM we know constants a1i, A1ρ, …, s.t. for X = (X, Xρ, Xα, Xβ, Xγ, Xsk) honest prover: [Ai(X)]i = [aIPI (X) + rXρ]i

slide-96
SLIDE 96

SOUNDNESS PROOF: IDEA

▪ In GBGM we know constants a1i, A1ρ, …, s.t. for X = (X, Xρ, Xα, Xβ, Xγ, Xsk)

A1 (X) = Σ a1iPi (X) + A1ρXρ+ A1α (X α+ P0 (X)) + A11 P0 (X) + …

CRS: ({[Pi(X)]1}i, [Xρ]1, [Xα+P0(X)]1, [P0(X)]1,…, ({[Pi(X)]2}i, [Xρ]2, [-Xα+P0(X)]2, [1]2,…)

honest prover: [Ai(X)]i = [aIPI (X) + rXρ]i

slide-97
SLIDE 97

SOUNDNESS PROOF: IDEA

▪ In GBGM we know constants a1i, A1ρ, …, s.t. for X = (X, Xρ, Xα, Xβ, Xγ, Xsk)

A1 (X) = Σ a1iPi (X) + A1ρXρ+ A1α (X α+ P0 (X)) + A11 P0 (X) + … A2 (X) = Σ a2iPi (X) + A2ρXρ+ A2α (-Xα + P0 (X)) + A21 + …

CRS: ({[Pi(X)]1}i, [Xρ]1, [Xα+P0(X)]1, [P0(X)]1,…, ({[Pi(X)]2}i, [Xρ]2, [-Xα+P0(X)]2, [1]2,…)

honest prover: [Ai(X)]i = [aIPI (X) + rXρ]i

slide-98
SLIDE 98

SOUNDNESS PROOF: IDEA

▪ In GBGM we know constants a1i, A1ρ, …, s.t. for X = (X, Xρ, Xα, Xβ, Xγ, Xsk)

A1 (X) = Σ a1iPi (X) + A1ρXρ+ A1α (X α+ P0 (X)) + A11 P0 (X) + … A2 (X) = Σ a2iPi (X) + A2ρXρ+ A2α (-Xα + P0 (X)) + A21 + … π (X) = Σ πiPi (X) + πρXρ+ πα (X α+ P0 (X)) + π1 P0 (X) + …

CRS: ({[Pi(X)]1}i, [Xρ]1, [Xα+P0(X)]1, [P0(X)]1,…, ({[Pi(X)]2}i, [Xρ]2, [-Xα+P0(X)]2, [1]2,…)

honest prover: [Ai(X)]i = [aIPI (X) + rXρ]i

slide-99
SLIDE 99

SOUNDNESS PROOF: IDEA

▪ In GBGM we know constants a1i, A1ρ, …, s.t. for X = (X, Xρ, Xα, Xβ, Xγ, Xsk)

A1 (X) = Σ a1iPi (X) + A1ρXρ+ A1α (X α+ P0 (X)) + A11 P0 (X) + … A2 (X) = Σ a2iPi (X) + A2ρXρ+ A2α (-Xα + P0 (X)) + A21 + … π (X) = Σ πiPi (X) + πρXρ+ πα (X α+ P0 (X)) + π1 P0 (X) + …

▪Verification equation states CRS: ({[Pi(X)]1}i, [Xρ]1, [Xα+P0(X)]1, [P0(X)]1,…, ({[Pi(X)]2}i, [Xρ]2, [-Xα+P0(X)]2, [1]2,…)

honest prover: [Ai(X)]i = [aIPI (X) + rXρ]i

slide-100
SLIDE 100

SOUNDNESS PROOF: IDEA

▪ In GBGM we know constants a1i, A1ρ, …, s.t. for X = (X, Xρ, Xα, Xβ, Xγ, Xsk)

A1 (X) = Σ a1iPi (X) + A1ρXρ+ A1α (X α+ P0 (X)) + A11 P0 (X) + … A2 (X) = Σ a2iPi (X) + A2ρXρ+ A2α (-Xα + P0 (X)) + A21 + … π (X) = Σ πiPi (X) + πρXρ+ πα (X α+ P0 (X)) + π1 P0 (X) + …

▪Verification equation states V(X) = (A1(X) + Xα+ P0 (X)) (A2(X) - Xα+ P0 (X)) - π(X) Xρ – (1 - Xα)2 = 0 CRS: ({[Pi(X)]1}i, [Xρ]1, [Xα+P0(X)]1, [P0(X)]1,…, ({[Pi(X)]2}i, [Xρ]2, [-Xα+P0(X)]2, [1]2,…)

honest prover: [Ai(X)]i = [aIPI (X) + rXρ]i

slide-101
SLIDE 101

SOUNDNESS PROOF: IDEA

▪ In GBGM we know constants a1i, A1ρ, …, s.t. for X = (X, Xρ, Xα, Xβ, Xγ, Xsk)

A1 (X) = Σ a1iPi (X) + A1ρXρ+ A1α (X α+ P0 (X)) + A11 P0 (X) + … A2 (X) = Σ a2iPi (X) + A2ρXρ+ A2α (-Xα + P0 (X)) + A21 + … π (X) = Σ πiPi (X) + πρXρ+ πα (X α+ P0 (X)) + π1 P0 (X) + …

▪Verification equation states V(X) = (A1(X) + Xα+ P0 (X)) (A2(X) - Xα+ P0 (X)) - π(X) Xρ – (1 - Xα)2 = 0 ▪Goal: find coefficients s.t. verification equation is satisfied CRS: ({[Pi(X)]1}i, [Xρ]1, [Xα+P0(X)]1, [P0(X)]1,…, ({[Pi(X)]2}i, [Xρ]2, [-Xα+P0(X)]2, [1]2,…)

honest prover: [Ai(X)]i = [aIPI (X) + rXρ]i

slide-102
SLIDE 102

SOLVING SYSTEM OF POL. EQUATIONS

slide-103
SLIDE 103

SOLVING SYSTEM OF POL. EQUATIONS

▪Goal: ▪find coefficients s.t. V (X) = 0

slide-104
SLIDE 104

SOLVING SYSTEM OF POL. EQUATIONS

▪Goal: ▪find coefficients s.t. V (X) = 0 ▪Step 1: ▪V (X) = 0 iff each coefficient [Xα

jXρ k …] V (X) = 0

slide-105
SLIDE 105

SOLVING SYSTEM OF POL. EQUATIONS

▪Goal: ▪find coefficients s.t. V (X) = 0 ▪Step 1: ▪V (X) = 0 iff each coefficient [Xα

jXρ k …] V (X) = 0

▪This is a system of polynomial equations ▪… and a nasty one ▪of more than 20 polynomial equations

slide-106
SLIDE 106
slide-107
SLIDE 107

SOLVING…

slide-108
SLIDE 108

SOLVING…

▪Used a mixture of computer algebra system and manual labor

slide-109
SLIDE 109

SOLVING…

▪Used a mixture of computer algebra system and manual labor

  • 1. Use linear independence of Pi (X) to split some coefficients
slide-110
SLIDE 110

SOLVING…

▪Used a mixture of computer algebra system and manual labor

  • 1. Use linear independence of Pi (X) to split some coefficients
  • 2. Construct Gröbner basis of system of polynomial equations
  • Needs(?) a CAS…
slide-111
SLIDE 111

SOLVING…

▪Used a mixture of computer algebra system and manual labor

  • 1. Use linear independence of Pi (X) to split some coefficients
  • 2. Construct Gröbner basis of system of polynomial equations
  • Needs(?) a CAS…
  • 3. Solve the Gröbner basis
  • Can be done manually or by using CAS
slide-112
SLIDE 112

SOLVING…

▪Used a mixture of computer algebra system and manual labor

  • 1. Use linear independence of Pi (X) to split some coefficients
  • 2. Construct Gröbner basis of system of polynomial equations
  • Needs(?) a CAS…
  • 3. Solve the Gröbner basis
  • Can be done manually or by using CAS
  • Obtain that Ai (X) = aI PI (X) => Sound
slide-113
SLIDE 113

THANK YOU!