a shuffle argument secure in the generic model
play

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


  1. NON-GENERIC APPROACH Assumption 1 (known) … Assumption m (known) Protocol Generic Model Assumption m +1 (new) … Assumption m + m ’ (new) Pro: nice if m’ is not big, or most assumptions are well-known, or…

  2. NON-GENERIC APPROACH Assumption 1 (known) … Assumption m (known) Protocol 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

  3. GENERIC MODEL APPROACH Protocol Generic Model Con: proof in GGM is only for restricted adversaries Pro: only one arrow, thus smaller loss in efficiency

  4. GENERIC BILINEAR GROUP MODEL ▪ Meta-Assumption: adversary only has access to

  5. GENERIC BILINEAR GROUP MODEL ▪ Meta-Assumption: adversary only has access to ▪ group operations, bilinear map, equality tests

  6. GENERIC BILINEAR GROUP MODEL ▪ Meta-Assumption: adversary only has access to ▪ group operations, bilinear map, equality tests ▪ Each computed element in G i (i=1, 2) is given by group operation of two already known elements

  7. GENERIC BILINEAR GROUP MODEL ▪ Meta-Assumption: adversary only has access to ▪ group operations, bilinear map, equality tests ▪ Each computed element in G i (i=1, 2) is given by group operation of two already known elements ▪ Recursively, DL of each computed element is a known polynomial of some indeterminates

  8. GENERIC BILINEAR GROUP MODEL ▪ Meta-Assumption: adversary only has access to ▪ group operations, bilinear map, equality tests ▪ Each computed element in G i (i=1, 2) is given by group operation of two already known elements ▪ Recursively, DL of each computed element is a known polynomial of some indeterminates ▪ Note: we do not handle G T as a generic group

  9. SOUNDNESS IN GBGM

  10. SOUNDNESS IN GBGM X 1 … X s Random variables (TTP)

  11. SOUNDNESS IN GBGM Polynomials (TTP knows X ) [ X ] = g X X 1 {[ f 1i ( X ) ] 1 } … {[ f 2i ( X ) ] 2 } X s Random variables CRS (TTP) (TTP)

  12. SOUNDNESS IN GBGM Polynomials Linear combinations (TTP knows X ) (only group operation) [ X ] = g X X 1 {[ f 1i ( X ) ] 1 } {[ g 1i ( X ) = Σ i a 1i f 1i ( X ) ] 1 } … {[ f 2i ( X ) ] 2 } {[ g 2i ( X ) = Σ i a 2i f 2i ( X ) ] 1 } X s Random variables CRS (TTP) Outputs in argument (TTP) (adversary)

  13. SOUNDNESS IN GBGM Polynomials Linear combinations Quadratic tests (TTP knows X ) (only group operation) (can use bilinear map) [ X ] = g X X 1 V 1 ( X )= Σ ij b 1ij h 1i ( X ) h 2i ( X )= 0 {[ f 1i ( X ) ] 1 } {[ g 1i ( X ) = Σ i a 1i f 1i ( X ) ] 1 } … … {[ f 2i ( X ) ] 2 } {[ g 2i ( X ) = Σ i a 2i f 2i ( X ) ] 1 } V u ( X )= Σ ij b uij h 1i ( X ) h 2i ( X )= 0 X s Verifications (verifier) Random variables CRS (TTP) Outputs in argument {h ji } = {f ji , h ji } (TTP) (adversary)

  14. SOUNDNESS IN GBGM ▪ j th verification equation ascertains V j ( X ) = 0

  15. SOUNDNESS IN GBGM ▪ j th verification equation ascertains V j ( X ) = 0 ▪ Solve system of polynomial equations { V j ( X ) = 0} in coefficients a ji chosen by the adversary

  16. SOUNDNESS IN GBGM ▪ j th verification equation ascertains V j ( X ) = 0 ▪ Solve system of polynomial equations { V j ( X ) = 0} in coefficients a ji chosen by the adversary ▪ Show that solution’s coefficients are ”nice”

  17. SOUNDNESS IN GBGM ▪ j th verification equation ascertains V j ( X ) = 0 ▪ Solve system of polynomial equations { V j ( X ) = 0} in coefficients a ji chosen by the adversary ▪ Show that solution’s coefficients are ”nice” ▪ = restricted to be as in the honest case

  18. INTUITION: CONSTRUCTING ARGUMENT ▪ Decomposing:

  19. INTUITION: CONSTRUCTING ARGUMENT ▪ Decomposing: ▪ Write down main building blocks you need to prove in argument

  20. 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)

  21. 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

  22. 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:

  23. 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

  24. INTUITION: CONSTRUCTING ARGUMENT

  25. INTUITION: CONSTRUCTING ARGUMENT

  26. 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

  27. SUBARGUMENTS ▪ ”Permutation matrix argument”:

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

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

  30. 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

  31. 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”:

  32. 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”

  33. 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

  34. 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

  35. PERMUTATION MATRIX ARGUMENT ▪ Lemma. A matrix is permutation matrix iff It is stochastic // rows sum to (1, …, 1) 1. Each row is 1-sparse 2. At most one coefficient is non-zero

  36. PERMUTATION MATRIX ARGUMENT ▪ Lemma. A matrix is permutation matrix iff It is stochastic // rows sum to (1, …, 1) 1. Each row is 1-sparse 2. At most one coefficient is non-zero

  37. 1-SPARSITY ARGUMENT ▪ Commitment:

  38. 1-SPARSITY ARGUMENT ▪ Commitment: P i ( X ) are linearly independent , well-chosen polynomials [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i // i = 1, 2

  39. 1-SPARSITY ARGUMENT ▪ Commitment: P i ( X ) are linearly independent , well-chosen polynomials [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i // i = 1, 2 ▪ Argument: // ”square span programs”

  40. 1-SPARSITY ARGUMENT ▪ Commitment: P i ( X ) are linearly independent , well-chosen polynomials [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i // i = 1, 2 ▪ Argument: // ”square span programs” [ π ( X )] 1 = [(( a I P I ( X ) + P 0 ( X ) + rX ρ ) 2 - 1) / X ρ ] 1

  41. 1-SPARSITY ARGUMENT ▪ Commitment: P i ( X ) are linearly independent , well-chosen polynomials [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i // i = 1, 2 ▪ Argument: // ”square span programs” [ π ( X )] 1 = [(( a I P I ( X ) + P 0 ( X ) + rX ρ ) 2 - 1) / X ρ ] 1 ▪ Verification equation:

  42. 1-SPARSITY ARGUMENT ▪ Commitment: P i ( X ) are linearly independent , well-chosen polynomials [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i // i = 1, 2 ▪ Argument: // ”square span programs” [ π ( X )] 1 = [(( a I P I ( X ) + P 0 ( X ) + rX ρ ) 2 - 1) / X ρ ] 1 ▪ Verification equation: V ( X ) := ( A 1 ( X ) + X α + P 0 ( X )) ( A 2 ( X ) - X α + P 0 ( X )) - π ( X ) X ρ – (1 - X α ) 2

  43. 1-SPARSITY ARGUMENT ▪ Commitment: P i ( X ) are linearly independent , well-chosen polynomials [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i // i = 1, 2 ▪ Argument: // ”square span programs” [ π ( X )] 1 = [(( a I P I ( X ) + P 0 ( X ) + rX ρ ) 2 - 1) / X ρ ] 1 ▪ Verification equation: V ( X ) := ( A 1 ( X ) + X α + P 0 ( X )) ( A 2 ( X ) - X α + P 0 ( X )) - π ( X ) X ρ – (1 - X α ) 2 = 0

  44. honest prover: [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i SOUNDNESS PROOF: IDEA

  45. honest prover: [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i SOUNDNESS PROOF: IDEA ▪ In GBGM we know constants a 1 i , A 1 ρ , …, s.t. for X = (X , X ρ , X α , X β , X γ , X sk )

  46. honest prover: [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i SOUNDNESS PROOF: IDEA ▪ In GBGM we know constants a 1 i , A 1 ρ , …, s.t. for X = (X , X ρ , X α , X β , X γ , X sk ) A 1 ( X ) = Σ a 1 i P i ( X ) + A 1 ρ X ρ + A 1 α ( X α + P 0 ( X )) + A 11 P 0 ( X ) + … CRS: ({[ P i ( X )] 1 } i , [ X ρ ] 1 , [ X α + P 0 ( X )] 1 , [ P 0 ( X )] 1 ,…, ({[ P i ( X )] 2 } i , [ X ρ ] 2 , [- X α + P 0 ( X )] 2 , [ 1 ] 2 ,…)

  47. honest prover: [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i SOUNDNESS PROOF: IDEA ▪ In GBGM we know constants a 1 i , A 1 ρ , …, s.t. for X = (X , X ρ , X α , X β , X γ , X sk ) A 1 ( X ) = Σ a 1 i P i ( X ) + A 1 ρ X ρ + A 1 α ( X α + P 0 ( X )) + A 11 P 0 ( X ) + … A 2 ( X ) = Σ a 2 i P i ( X ) + A 2 ρ X ρ + A 2 α (- X α + P 0 ( X )) + A 21 + … CRS: ({[ P i ( X )] 1 } i , [ X ρ ] 1 , [ X α + P 0 ( X )] 1 , [ P 0 ( X )] 1 ,…, ({[ P i ( X )] 2 } i , [ X ρ ] 2 , [- X α + P 0 ( X )] 2 , [ 1 ] 2 ,…)

  48. honest prover: [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i SOUNDNESS PROOF: IDEA ▪ In GBGM we know constants a 1 i , A 1 ρ , …, s.t. for X = (X , X ρ , X α , X β , X γ , X sk ) A 1 ( X ) = Σ a 1 i P i ( X ) + A 1 ρ X ρ + A 1 α ( X α + P 0 ( X )) + A 11 P 0 ( X ) + … A 2 ( X ) = Σ a 2 i P i ( X ) + A 2 ρ X ρ + A 2 α (- X α + P 0 ( X )) + A 21 + … π ( X ) = Σ π i P i ( X ) + π ρ X ρ + π α ( X α + P 0 ( X )) + π 1 P 0 ( X ) + … CRS: ({[ P i ( X )] 1 } i , [ X ρ ] 1 , [ X α + P 0 ( X )] 1 , [ P 0 ( X )] 1 ,…, ({[ P i ( X )] 2 } i , [ X ρ ] 2 , [- X α + P 0 ( X )] 2 , [ 1 ] 2 ,…)

  49. honest prover: [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i SOUNDNESS PROOF: IDEA ▪ In GBGM we know constants a 1 i , A 1 ρ , …, s.t. for X = (X , X ρ , X α , X β , X γ , X sk ) A 1 ( X ) = Σ a 1 i P i ( X ) + A 1 ρ X ρ + A 1 α ( X α + P 0 ( X )) + A 11 P 0 ( X ) + … A 2 ( X ) = Σ a 2 i P i ( X ) + A 2 ρ X ρ + A 2 α (- X α + P 0 ( X )) + A 21 + … π ( X ) = Σ π i P i ( X ) + π ρ X ρ + π α ( X α + P 0 ( X )) + π 1 P 0 ( X ) + … ▪ Verification equation states CRS: ({[ P i ( X )] 1 } i , [ X ρ ] 1 , [ X α + P 0 ( X )] 1 , [ P 0 ( X )] 1 ,…, ({[ P i ( X )] 2 } i , [ X ρ ] 2 , [- X α + P 0 ( X )] 2 , [ 1 ] 2 ,…)

  50. honest prover: [ A i ( X )] i = [ a I P I ( X ) + rX ρ ] i SOUNDNESS PROOF: IDEA ▪ In GBGM we know constants a 1 i , A 1 ρ , …, s.t. for X = (X , X ρ , X α , X β , X γ , X sk ) A 1 ( X ) = Σ a 1 i P i ( X ) + A 1 ρ X ρ + A 1 α ( X α + P 0 ( X )) + A 11 P 0 ( X ) + … A 2 ( X ) = Σ a 2 i P i ( X ) + A 2 ρ X ρ + A 2 α (- X α + P 0 ( X )) + A 21 + … π ( X ) = Σ π i P i ( X ) + π ρ X ρ + π α ( X α + P 0 ( X )) + π 1 P 0 ( X ) + … ▪ Verification equation states V ( X ) = ( A 1 ( X ) + X α + P 0 ( X )) ( A 2 ( X ) - X α + P 0 ( X )) - π ( X ) X ρ – (1 - X α ) 2 = 0 CRS: ({[ P i ( X )] 1 } i , [ X ρ ] 1 , [ X α + P 0 ( X )] 1 , [ P 0 ( X )] 1 ,…, ({[ P i ( X )] 2 } i , [ X ρ ] 2 , [- X α + P 0 ( X )] 2 , [ 1 ] 2 ,…)

Recommend


More recommend