optimal verification of operations on dynamic sets
play

Optimal Verification of Operations on Dynamic Sets Charalampos - PowerPoint PPT Presentation

Optimal Verification of Operations on Dynamic Sets Charalampos Papamanthou, UC Berkeley Roberto Tamassia, Brown University Nikos Triandopoulos, RSA Labs & BU CRYPTO 2011 08/15/11 Data in the cloud Data privacy Server wants to


  1. Optimal Verification of Operations on Dynamic Sets Charalampos Papamanthou, UC Berkeley Roberto Tamassia, Brown University Nikos Triandopoulos, RSA Labs & BU CRYPTO 2011 08/15/11

  2. Data in the cloud  Data privacy  Server wants to learn our data  Can we enable the server use encrypted data in a meaningful way?  Computing on encrypted data  Data and computations integrity  Server wants to tamper with our data  Are answers to queries the same as if the data were locally stored?  Authenticated data structures  Verifiable delegation of computation 2

  3. Verifying outsourced computation  Conjunctive queries  Emails that have the terms “Brown” and “Berkeley”  Disjunctive queries  Emails that have the terms “thesis” or “publication”  All these queries boil down to set operations ! 3

  4. Authenticated data structures model  Complexity  Security  Update at source and server  A poly-bounded adversary cannot construct invalid proofs  Query at server except with negligible probability  Verification at client  Need for computational  Size of proof assumptions  Space digest(D) query source server C auth(D) answer verification proof + digest(D) D D 4

  5. Authenticated sets collection S 1 ∩ S 4 ? bob source server auth(D) auth(D) 1 2 3 4 1 2 3 4 a c a d a c a d b e d l b e d l c h f m c h f m d z n d z n e w e w 5 f f

  6. Queries on sets m: number of sets (e.g., m = 4)  M: sum of sizes of all the sets (e.g., M = 6 + 4 + 3 + 5 = 18)  t: number of queried sets (e.g., t = 2)  δ: number of elements contained in the answer (e.g., δ = 1)  n: the sum of sizes of the queried sets (e.g., n = 6 + 5 = 11)  S 1 ∩ S 4 ? bob source server + proof d auth(D) auth(D) accept or 1 2 3 4 1 2 3 4 reject S 2 ∩ S 3 ? a c a d a c a d b e d l b e d l {} + proof alice c h f m c h f m d z n d z n e w e w 6 f f

  7. Related work and comparison  Optimal proof size and verification time: O( δ )  Linear space: O(m + M)  Efficient queries and updates  Performance comparison for the intersection of c = O(1) sets space query proof assumption D+04 YP09 m + M n + log m n + log m Generic CR M+04 m + M n n Strong RSA PT04 m c 1 δ Discrete log PTT10 m + M n log 3 n + δ Bilinear q- m ε log m strong DH 7

  8. Our solution: Sets and polynomials  Set X with n elements  Polynomial X(s) in Zp X = {x 1 ,…, x n } X(s) = (s+x 1 )…( s+x n )  Set Z is the intersection of  Polynomial Z(s) is the GCD X and Y of X(s) and Y(s)  The intersection of X and Y  X(s) and Y(s) have GCD is empty, i.e., equal to 1, i.e., X  Y =  gcd(X(s),Y(s)) = 1   There are polynomials P(s) and Q(s) such that P(S)X(s) + Q(s)Y(s) = 1 8

  9. Cryptographic tools we use Two multiplicative groups G and T of prime order p  g is a generator of G  A bilinear map e(.,.) from G to T such that  e(g a ,g b ) = e(g,g) ab for all a,b in Zp  e(g,g) generates T  Bilinear q-strong Diffie Hellman Assumption   Pick a random s in Z p  s is the trapdoor  Compute g s , g s2 , g s3 ,…, g sq  The public key pk are the values g s , g s2 , g s3 ,…, g sq  The probability that a PPT Adv can find an a in Zp and output the tuple (a,e(g,g) 1/(s+a) ) is negligible 9

  10. Bilinear-map accumulator  G and T of order p have a map e(.,.)  X={x,y,z,r} in Z p  Base g  G, generator of G  Secret s  Z p  Digest  D = g (x+s)(y+s)(z+s)(r+s)  Witness for x  W x = g (y+s)(z+s)(r+s)  Verification  e(D,g) = e(W x ,g (x+s) )?  Security: q-strong Diffie-Hellman assumption  [Nguyen (05)] 10

  11. Our construction Compute the accumulation value for every set  g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 11

  12. Our construction Compute the accumulation value for every set  Build an accumulation tree on top [CCS 2008]  O(1/ ε ) levels and O(m ε ) internal degree  O(m ε logm) query, O(1) update and O(1) proof  The accumulation values protect the integrity of the set elements  The accumulation tree protects the integrity of the acc. values  1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 12

  13. Proof of intersection I = S 1 ∩ S 2 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 13

  14. Proof of intersection I = S 1 ∩ S 2  Elements of intersection {c,e} 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 14

  15. Proof of intersection I = S 1 ∩ S 2  Proof of accumulation values A 1 and A 2  Let Π 1 and Π 2 be such proofs 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 15

  16. Proof of intersection I = S 1 ∩ S 2  Proof of accumulation values A 1 and A 2  Let Π 1 and Π 2 be such proofs  Values along the path of the tree  Construction of proofs: O(m ε logm)  Size of proofs: O(1) 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 16

  17. Proof of intersection I = S 1 ∩ S 2  Subset condition : 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 17

  18. Proof of intersection I = S 1 ∩ S 2  Subset condition :  I  S 1 : Subset witness W 1 = g (s+a)(s+b)(s+d)(s+f) = g P(s) 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 18

  19. Proof of intersection I = S 1 ∩ S 2  Subset condition :  I  S 1 : Subset witness W 1 = g (s+a)(s+b)(s+d)(s+f) = g P(s)  I  S 2 : Subset witness W 2 = g (s+h)(s+z) = g Q(s) 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 19

  20. Proof of intersection I = S 1 ∩ S 2  Subset condition :  I  S 1 : Subset witness W 1 = g (s+a)(s+b)(s+d)(s+f) = g P(s)  I  S 2 : Subset witness W 2 = g (s+h)(s+z) = g Q(s)  Complexity  Construction: O(nlog n) (polynomial interpolation)  Size: O(1) (2 group elements) 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 20

  21. Proof of intersection I = S 1 ∩ S 2  Completeness condition :  (S 1 – I) ∩ ( S 2 – I) is empty 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 21

  22. Proof of intersection I = S 1 ∩ S 2  Completeness condition :  (S 1 – I) ∩ ( S 2 – I) is empty  Recall W 1 = g P(s) and W 2 = g Q(s) 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 22

  23. Proof of intersection I = S 1 ∩ S 2  Completeness condition :  (S 1 – I) ∩ ( S 2 – I) is empty  Recall W 1 = g P(s) and W 2 = g Q(s)  Completeness witness F 1 = g A(s) and F 2 = g B(s)  A(s)P(s)+B(s)Q(s) = 1  Complexity: O(nlog 2 nlog log n) (ext. Euclidean algorithm) 1/ ε g (s+a )…( s+f) g (s+c )…( s+z) g (s+a )…( s+f) g (s+d )…( s+w) a b c d e f c e h z a d f d l m n w 23

  24. Recap t sets are intersected and δ is the size of the answer  N is the sum of sizes of intersected sets  element of the proof complexity size Intersection elements N δ 24

  25. Recap t sets are intersected and δ is the size of the answer  N is the sum of sizes of intersected sets  element of the proof complexity size Intersection elements N δ Accumulation values proofs tm ε log m t 25

  26. Recap t sets are intersected and δ is the size of the answer  N is the sum of sizes of intersected sets  element of the proof complexity size Intersection elements N δ Accumulation values proofs tm ε log m t Subset witnesses Nlog N t 26

  27. Recap t sets are intersected and δ is the size of the answer  N is the sum of sizes of intersected sets  element of the proof complexity size Intersection elements N δ Accumulation values proofs tm ε log m t Subset witnesses Nlog N t Completeness witnesses Nlog 2 Nloglog N t 27

  28. Recap t sets are intersected and δ is the size of the answer  N is the sum of sizes of intersected sets  element of the proof complexity size Intersection elements N δ Accumulation values proofs tm ε log m t Subset witnesses Nlog N t Completeness witnesses Nlog 2 Nloglog N t TOTAL Nlog 2 Nlog log N t+ δ + tm ε log m 28

  29. Recap t sets are intersected and δ is the size of the answer  N is the sum of sizes of intersected sets  element of the proof complexity size Intersection elements N δ Accumulation values proofs tm ε log m t Subset witnesses Nlog N t Completeness witnesses Nlog 2 Nloglog N t TOTAL Nlog 2 Nlog log N t+ δ + almost optimal tm ε log m 29

Recommend


More recommend