two client and multi client functional encryption for set
play

Two-Client and Multi-client Functional Encryption for Set - PowerPoint PPT Presentation

Two-Client and Multi-client Functional Encryption for Set Intersection and Variants Tim van de Kamp David Stritzl Willem Jonker Andreas Peter ACISP 2019 Functional Encryption for Set Operations n evaluate i = 1 S i S 1 S 2 S n


  1. Two-Client and Multi-client Functional Encryption for Set Intersection and Variants Tim van de Kamp David Stritzl Willem Jonker Andreas Peter ACISP 2019

  2. Functional Encryption for Set Operations � n evaluate i = 1 S i S 1 S 2 S n · · · Privacy-preserving information sharing Two-client and multi-client constructions for various set operations Evaluation using a proof-of-concept implementation 2

  3. Privacy-Preserving Information Sharing Private Set Intersection computing f ( S 1 , S 2 ) using MPC S 1 S 2 Computes a set operation using an interactive protocol A participant learns the evaluation result 3

  4. Privacy-Preserving Information Sharing Private Set Intersection computing f ( S 1 , S 2 ) using MPC S 1 S 2 Computes a set operation using an interactive protocol A participant learns the evaluation result 3

  5. Privacy-Preserving Information Sharing Functional Encryption for Set Operations Computes a set operation using a non-interactive scheme A third-party (the evaluator) learns the evaluation result Use cases include privacy-preserving profiling simple data mining one-way data sharing 3

  6. Multi-client Non-interactive Set Intersection Functionality f ( S 1 , S 2 , . . . , S n ) ( ID , S 1 ) ( ID , S 2 ) ( ID , S n ) · · · S 1 S 2 S n 1 2 n 4

  7. Multi-client Non-interactive Set Intersection Functionality FUNCTIONALITIES f � f ( S 1 , S 2 , . . . , S n ) intersection: i S i � � �� cardinality: i S i � � ? � � �� � threshold: i S i > t ⇒ i S i (also “with data transfer”) ( ID , S 1 ) ( ID , S 2 ) ( ID , S n ) · · · S 1 S 2 S n 1 2 n 4

  8. Multi-client Non-interactive Set Intersection Security Requirements f ( S 1 , S 2 , . . . , S n ) doesn’t learn the individual clients’ sets S 1 , . . . , S n ( ID , S 1 ) ( ID , S 2 ) ( ID , S n ) · · · S 1 S 2 S n 1 2 n 4

  9. Multi-client Non-interactive Set Intersection Security Requirements f ( S 1 , S 2 , . . . , S n ) cannot mix-and-match old and new inputs ( ID ′ , S 1 ) ( ID ′ , S n ) ( ID , S 2 ) · · · S 1 S 2 S n 1 2 n 4

  10. Multi-client Non-interactive Set Intersection Security Requirements f ( S 1 , S 2 , . . . , S n ) collusion between the evaluator and client(s) does not reveal other clients’ inputs ( ID , S 1 ) ( ID , S 2 ) ( ID , S n ) · · · S 1 S 2 S n 1 2 n 4

  11. Construction: Two-Client Set Intersection Cardinality 5

  12. Construction: Two-Client Set Intersection Cardinality | S 1 ∩ S 2 | = | ct 1 ∩ ct 2 | ct 1 ct 2 S 1 S 2 ct 1 = { ϕ msk ( ID , x j ) | x j ∈ S 1 } ct 2 = { ϕ msk ( ID , x j ) | x j ∈ S 2 } 5

  13. Construction: Two-Client Set Intersection � � ϕ − 1 S 1 ∩ S 2 = k ID , j ( c ) | c ∈ ct 1 ∩ ct 2 ct 1 ct 2 S 1 S 2 � � � � � � � � ct 1 = ϕ k ID , j ( x j ) | x j ∈ S 1 ct 2 = ϕ k ID , j ( x j ) | x j ∈ S 2 k ID , j = ϕ msk ( ID , x j ) 6

  14. Construction: Two-Client Set Intersection � � ϕ − 1 S 1 ∩ S 2 = k ID , j ( c ) | c ∈ ct 1 ∩ ct 2 k ID , j = k usk 1 ID , j · k usk 2 ID , j ct 1 ct 2 S 1 S 2 � � k usk 1 � � � k usk 2 � � � ct 1 = ID , j , ϕ k ID , j ( x j ) | x j ∈ S 1 ct 2 = ID , j , ϕ k ID , j ( x j ) | x j ∈ S 2 usk 1 + usk 2 = 1 k ID , j = ϕ msk ( ID , x j ) 6

  15. Construction: Two-Client Set Intersection � � ϕ − 1 S 1 ∩ S 2 = k ID , j ( c ) | c ∈ ct 1 ∩ ct 2 k ID , j = k usk 1 ID , j · k usk 2 ID , j ct 1 ct 2 Doesn’t have to be x j ∈ S 1 ; can be any associated data S 1 S 2 � � k usk 1 � � � k usk 2 � � � ct 1 = ID , j , ϕ k ID , j ( x j ) | x j ∈ S 1 ct 2 = ID , j , ϕ k ID , j ( x j ) | x j ∈ S 2 usk 1 + usk 2 = 1 k ID , j = ϕ msk ( ID , x j ) 6

  16. Intuition: Two-Client Threshold Set Intersection � � ϕ − 1 S 1 ∩ S 2 = k ID , j ( c ) | c ∈ ct 1 ∩ ct 2 k ID , j = k usk 1 ID , j · k usk 2 ID , j ct 1 ct 2 We also encrypt this value and require at least t secret shares for decryption S 1 S 2 � � k usk 1 � � � k usk 2 � � � ct 1 = ID , j , ϕ k ID , j ( x j ) | x j ∈ S 1 ct 2 = ID , j , ϕ k ID , j ( x j ) | x j ∈ S 2 usk 1 + usk 2 = 1 k ID , j = ϕ msk ( ID , x j ) 7

  17. Efficiency of the 2C-FE Constructions 10 0 CA 10 − 1 Mean evaluation time (seconds) 10 − 2 10 − 3 10 − 4 10 − 5 10 − 6 10 1 10 2 10 3 10 4 10 5 Size of each client’s set 8

  18. Efficiency of the 2C-FE Constructions 10 0 CA SI 10 − 1 Mean evaluation time (seconds) 10 − 2 10 − 3 10 − 4 10 − 5 10 − 6 10 1 10 2 10 3 10 4 10 5 Size of each client’s set 8

  19. Efficiency of the 2C-FE Constructions 10 0 CA SI 10 − 1 Th-CA Mean evaluation time (seconds) Th-SI 10 − 2 10 − 3 10 − 4 10 − 5 10 − 6 10 1 10 2 10 3 10 4 10 5 Size of each client’s set 8

  20. Construction: Multi-client Set Intersection Cardinality � n i = 1 H ( ID , x j ) usk i ? count = 1 ct 1 ct n ct 2 · · · S 1 S 2 S n H ( ID , x j ) usk i | x j ∈ S i � � ct i = � n i = 1 usk i = 0 9

  21. Efficiency of the MC-FE Construction Theoretical Polynomial in the number of set elements per client: �� � i | S i | O Practice CA n = 5 Mean evaluation time (seconds) CA n = 3 400 200 0 0 100 200 Size of each client’s set 10

  22. Improved Set Intersection Cardinality Scheme Intuition � 1 Compute the set intersection i S i “in the encrypted domain”; 2 For some client i ′ , determine how many set elements e j ∈ S i ′ are in the encrypted set intersection, i.e., � �� � n � � � e j | e j ∈ S i , e j ∈ S i ′ � . � � � � i = 1 � 11

  23. Improved Set Intersection Cardinality Scheme Intuition � 1 Compute the set intersection i S i “in the encrypted domain”; 2 For some client i ′ , determine how many set elements e j ∈ S i ′ are in the encrypted set intersection, i.e., � �� � n � � � e j | e j ∈ S i , e j ∈ S i ′ � . � � � � i = 1 � “Tools” Bloom filters → to represent sets in a single data structure Homomorphic encryption → to compute in the encrypted domain Functional encryption → to determine whether an element is in a set 11

  24. Preliminaries: Bloom filters Set Intersection bs [ 1 ] bs [ 2 ] bs [ 3 ] bs [ 4 ] bs [ 5 ] bs [ 6 ] bs [ 7 ] bs [ 8 ] bs [ 9 ] S 1 0 1 0 1 1 1 0 0 0 ∩ ∧ S 2 0 0 0 1 0 1 0 0 1 = S 1 ∩ S 2 0 0 0 1 0 1 0 0 0 12

  25. Construction (simplified) Set Intersection using Secret Sharing bs [ 1 ] bs [ 2 ] bs [ 3 ] bs [ 4 ] bs [ 5 ] bs [ 6 ] bs [ 7 ] bs [ 8 ] bs [ 9 ] Enc( S 1 ) r 1 , 1 s 1 , 2 r 1 , 3 s 1 , 4 s 1 , 5 s 1 , 6 r 1 , 7 r 1 , 8 r 1 , 9 + r 2 , 1 r 2 , 2 r 2 , 3 s 2 , 4 r 2 , 5 s 2 , 6 r 2 , 7 r 2 , 8 s 2 , 9 Enc( S 2 ) = Enc( S 1 ∩ S 2 ) ˜ ˜ ˜ ˜ ˜ ˜ ˜ r 1 r 2 r 3 1 r 5 1 r 7 r 8 r 9 13

  26. Construction (simplified) Set Intersection using Secret Sharing bs [ 1 ] bs [ 2 ] bs [ 3 ] bs [ 4 ] bs [ 5 ] bs [ 6 ] bs [ 7 ] bs [ 8 ] bs [ 9 ] Enc( S 1 ) r 1 , 1 s 1 , 2 r 1 , 3 s 1 , 4 s 1 , 5 s 1 , 6 r 1 , 7 r 1 , 8 r 1 , 9 + r 2 , 1 r 2 , 2 r 2 , 3 s 2 , 4 r 2 , 5 s 2 , 6 r 2 , 7 r 2 , 8 s 2 , 9 Enc( S 2 ) = Enc( S 1 ∩ S 2 ) ˜ ˜ ˜ ˜ ˜ ˜ ˜ r 1 r 2 r 3 1 r 5 1 r 7 r 8 r 9 Encrypt( usk i , ID , S i ) H ( ID , ℓ ) r i ,ℓ if bs [ ℓ ] = 0 ; H ( ID , ℓ ) s i ,ℓ if bs [ ℓ ] = 1 13

  27. Construction (simplified) Set Intersection using Secret Sharing bs [ 1 ] bs [ 2 ] bs [ 3 ] bs [ 4 ] bs [ 5 ] bs [ 6 ] bs [ 7 ] bs [ 8 ] bs [ 9 ] Enc( S 1 ) r 1 , 1 s 1 , 2 r 1 , 3 s 1 , 4 s 1 , 5 s 1 , 6 r 1 , 7 r 1 , 8 r 1 , 9 + r 2 , 1 r 2 , 2 r 2 , 3 s 2 , 4 r 2 , 5 s 2 , 6 r 2 , 7 r 2 , 8 s 2 , 9 Enc( S 2 ) = Enc( S 1 ∩ S 2 ) ˜ ˜ ˜ ˜ ˜ ˜ ˜ r 1 r 2 r 3 1 r 5 1 r 7 r 8 r 9 Encrypt( usk i , ID , S i ) Evaluate( ct 1 , . . . , ct n ) H ( ID , ℓ ) r i ,ℓ if bs [ ℓ ] = 0 ; �� n � H ( ID , ℓ ) s 0 ,ℓ · i = 1 H ( ID , ℓ ) s i ,ℓ H ( ID , ℓ ) s i ,ℓ if bs [ ℓ ] = 1 13

  28. Construction (simplified) Set Intersection using Secret Sharing bs [ 1 ] bs [ 2 ] bs [ 3 ] bs [ 4 ] bs [ 5 ] bs [ 6 ] bs [ 7 ] bs [ 8 ] bs [ 9 ] Enc( S 1 ) r 1 , 1 s 1 , 2 r 1 , 3 s 1 , 4 s 1 , 5 s 1 , 6 r 1 , 7 r 1 , 8 r 1 , 9 Actual construction is more involved: + element testing uses � n = ( g r ) t ′ � H ( ID , ℓ ) s 0 ,ℓ g t · r � i = 1 H ( ID , ℓ ) s i ,ℓ ? · r 2 , 1 r 2 , 2 r 2 , 3 s 2 , 4 r 2 , 5 s 2 , 6 r 2 , 7 r 2 , 8 s 2 , 9 Enc( S 2 ) using Shamir secret sharing instead of additive secret sharing = Enc( S 1 ∩ S 2 ) ˜ ˜ ˜ ˜ ˜ ˜ ˜ r 1 r 2 r 3 1 r 5 1 r 7 r 8 r 9 Encrypt( usk i , ID , S i ) Evaluate( ct 1 , . . . , ct n ) H ( ID , ℓ ) r i ,ℓ if bs [ ℓ ] = 0 ; �� n � H ( ID , ℓ ) s 0 ,ℓ · i = 1 H ( ID , ℓ ) s i ,ℓ H ( ID , ℓ ) s i ,ℓ if bs [ ℓ ] = 1 13

  29. Efficiency of the MC-FE Construction Theoretical Polynomial in the number of set elements per client: x 2 � � O Practice CA n = 5 Mean evaluation time (seconds) CA n = 3 400 200 0 0 100 200 Size of each client’s set 14

  30. Efficiency of the MC-FE Construction Theoretical Polynomial in the number of set elements per client: � x 2 � O Practice CA n = 5 Mean evaluation time (seconds) CA n = 3 400 CA-BF n = 5 CA-BF n = 3 200 0 0 100 200 Size of each client’s set 14

  31. Summary Non-interactive privacy-preserving information sharing Efficient two-client constructions for various set operations Theoretical constructions for various multi-client set operations 15

Recommend


More recommend