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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend