functional encryption from pairings
play

Functional Encryption from Pairings Michel Abdalla, CNRS and ENS - PowerPoint PPT Presentation

Multi-input Inner-Product Functional Encryption from Pairings Michel Abdalla, CNRS and ENS Romain Gay, ENS Mariana Raykova, Yale University Hoeteck Wee, CNRS and ENS Functional Encryption [Boneh, Sahai, Waters 11] m Alice Functional


  1. Multi-input Inner-Product Functional Encryption from Pairings Michel Abdalla, CNRS and ENS Romain Gay, ENS Mariana Raykova, Yale University Hoeteck Wee, CNRS and ENS

  2. Functional Encryption [Boneh, Sahai, Waters 11] m Alice

  3. Functional Encryption [Boneh, Sahai, Waters 11] Bob f(m) m Alice

  4. Functional Encryption [Boneh, Sahai, Waters 11] Bob f(m) m Alice Carol g(m)

  5. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Bob m 1 Alice f(m 1 , m 2 ) m 2 Dave Carol g(m 1 , m 2 )

  6. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen pk sk f sk g Bob m 1 Alice f(m 1 , m 2 ) m 2 Dave Carol g(m 1 , m 2 )

  7. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen pk sk f Bob m 1 Alice f(m 1 , m 2 ) m 2 Dave sk g Carol g(m 1 , m 2 )

  8. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen pk sk f Bob m 1 Alice f(m 1 , m 2 ) ∀m, m′: f m, m 2 , f m 1 , m′ m 2 Dave sk g Carol g(m 1 , m 2 )

  9. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen pk sk f Bob m 1 Alice f(m 1 , m 2 ) ∀m, m′: f m, m 2 , f m 1 , m′ m 2 Dave sk g Carol g(m 1 , m 2 ) ∀m, m′: g m, m 2 , g m 1 , m′

  10. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen sk f Bob m 1 Alice f(m 1 , m 2 ) m 2 Dave sk g Carol g(m 1 , m 2 )

  11. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen sk f Bob m 1 m′ 1 Alice f(m 1 , m 2 ) m 2 m′ 2 Dave sk g Carol g(m 1 , m 2 )

  12. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen sk f Bob m 1 m′ 1 Alice f(m 1 , m 2 ) m 2 m′ 2 Dave sk g Carol g(m 1 , m 2 )

  13. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen sk f Bob m 1 m′ 1 Alice f m 1 , m 2 , f(m 1 , m′ 2 ) m 2 m′ 2 Dave sk g Carol g(m 1 , m 2 )

  14. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen sk f Bob m 1 m′ 1 Alice f m 1 , m 2 , f m 1 , m ′2 , f(m′ 1 , m 2 ) m 2 m′ 2 Dave sk g Carol g(m 1 , m 2 )

  15. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen sk f Bob m 1 m′ 1 Alice f m 1 , m 2 , f m 1 , m ′2 , f m ′1 , m 2 , f(m′ 1 , m′ 2 ) m 2 m′ 2 Dave sk g Carol g(m 1 , m 2 )

  16. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen sk f Bob m 1 m′ 1 Alice f m 1 , m 2 , f m 1 , m ′2 , f m ′1 , m 2 , f(m′ 1 , m′ 2 ) m 2 m′ 2 Dave sk g Carol g m 1 , m 2 , g m 1 , m ′ 2 , g m ′1 , m 2 , g(m′ 1 , m′ 2 )

  17. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen sk f Bob Q 1 m 1 Alice m 1 … Q n values … Q 1 m n Dave m n sk g Carol … Q n values

  18. Multi-input Functional Encryption [Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14] Setup msk KeyGen Collusion sk f Bob Q 1 m 1 Alice m 1 … Q n values … Q 1 m n Dave m n sk g Carol … Q n values

  19. Prior works Construction: Functions: Assumption: # slots: [BLRSZZ 14, GGGJKLSSZ 14, AJ any circuit Non standard Poly, 15, BGJS 15, BKS 16,KS 17] unbounded

  20. Prior works Construction: Functions: Assumption: # slots: [BLRSZZ 14, GGGJKLSSZ 14, AJ any circuit Non standard Poly, 15, BGJS 15, BKS 16,KS 17] unbounded Standard-based FE for restricted class of functions?

  21. Prior works Construction: Functions: Assumption: # slots: [BLRSZZ 14, GGGJKLSSZ 14, AJ any circuit Non standard Poly, 15, BGJS 15, BKS 16,KS 17] unbounded Ours Inner 2maps (SXDH) poly Product 𝑜𝑛 𝑦 1 𝑡𝑙 𝑧 for 𝑧 ∈ ℤ 𝑞 … 𝑛 𝑦 1 , … , 𝑦 𝑜 , 𝑧 ∀𝑗: 𝑦 i ∈ ℤ 𝑞 𝑦 n

  22. Prior works Construction: Functions: Assumption: # slots: [BLRSZZ 14, GGGJKLSSZ 14, AJ any circuit Non standard Poly, 15, BGJS 15, BKS 16,KS 17] unbounded Ours Inner 2maps (SXDH) poly Product [ABDP 15, ALS 15, ABDP 16] Inner 1maps (DDH) 1 Product

  23. Concurrent works Construction: Functions: Assumption: # slots: [BLRSZZ 14, GGGJKLSSZ 14, AJ any circuit Non standard Poly, 15, BGJS 15, BKS 16,KS 17] unbounded Ours Inner 2maps (SXDH) poly Product [ABDP 15, ALS 15, ABDP 16] Inner 1maps (DDH) 1 Product [LL 16] Inner 2maps 2 Product (SXDH & 3DH)

  24. Our construction Single-input Inner Product FE Multi-input Inner Product FE Generic, naive 1 [Agrawal, Libert, Stehlé] single input FE 2

  25. Multi-input Functional Encryption Naive Attempt Setup msk 1 , … , msk n KeyGen 𝑜𝑛 for: 𝑧 = 𝑧 1 , … , 𝑧 𝑜 ∈ ℤ 𝑞 Alice sk 𝑧 = sk 𝑧 1 , … , sk 𝑧 𝑜 Enc(msk 1 , 𝑦 1 ) Bob … Dave Enc(msk n , 𝑦 n )

  26. Multi-input Functional Encryption Naive Attempt Setup msk 1 , … , msk n KeyGen 𝑜𝑛 for: 𝑧 = 𝑧 1 , … , 𝑧 𝑜 ∈ ℤ 𝑞 Alice sk 𝑧 = sk 𝑧 1 , … , sk 𝑧 𝑜 Enc(msk 1 , 𝑦 1 ) Bob … Dave 𝑦 1 , 𝑧 1 , … , 𝑦 𝑜 , 𝑧 𝑜 Enc(msk n , 𝑦 n )

  27. Multi-input Functional Encryption Naive Attempt Setup msk 1 , … , msk n KeyGen 𝑜𝑛 for: 𝑧 = 𝑧 1 , … , 𝑧 𝑜 ∈ ℤ 𝑞 Alice sk 𝑧 = sk 𝑧 1 , … , sk 𝑧 𝑜 Enc(msk 1 , 𝑦 1 ) Bob … Dave 𝑦 1 , 𝑧 1 , … , 𝑦 𝑜 , 𝑧 𝑜 Enc(msk n , 𝑦 n ) 𝑦 𝑗 , 𝑧 𝑗 𝑗

  28. Multi-input Functional Encryption Naive Attempt Setup msk 1 , … , msk n KeyGen 𝑜𝑛 for: 𝑧 = 𝑧 1 , … , 𝑧 𝑜 ∈ ℤ 𝑞 Alice sk 𝑧 = sk 𝑧 1 , … , sk 𝑧 𝑜 Enc(msk 1 , 𝑦 1 ) Bob … Dave 𝑦 1 , 𝑧 1 , … , 𝑦 𝑜 , 𝑧 𝑜 Enc(msk n , 𝑦 n ) 𝑦 𝑗 , 𝑧 𝑗 𝑗

  29. Multi-input Functional Encryption Setup msk 1 , … , msk n KeyGen sk 1 , … , sk 𝑜 for: 𝑧 = ( 𝑧 1 , … , 𝑧 𝑜 ) Alice sk 𝑧 = sk 𝑧 1 , … , sk 𝑧 𝑜 Enc(msk 1 , 𝑦 1 ) Bob … Dave Enc( ∀𝑗: sk i , 𝑦 𝑗 , 𝑧 𝑗 ) Enc(msk n , 𝑦 n )

  30. Multi-input Functional Encryption Setup msk 1 , … , msk n KeyGen sk 1 , … , sk 𝑜 for: 𝑧 = ( 𝑧 1 , … , 𝑧 𝑜 ) Alice sk 𝑧 = sk 𝑧 1 , … , sk 𝑧 𝑜 Enc(msk 1 , 𝑦 1 ) Bob … Dave Enc( ∀𝑗: sk i , 𝑦 𝑗 , 𝑧 𝑗 ) Enc(msk n , 𝑦 n ) Enc(∑ sk i , ∑ 𝑦 𝑗 , 𝑧 𝑗 )

  31. Multi-input Functional Encryption Setup msk 1 , … , msk n KeyGen sk 1 , … , sk 𝑜 for: 𝑧 = ( 𝑧 1 , … , 𝑧 𝑜 ) Alice sk 𝑧 = sk 𝑧 1 , … , sk 𝑧 𝑜 , ∑ sk 𝑗 Enc(msk 1 , 𝑦 1 ) Bob … Dave Enc( ∀𝑗: sk i , 𝑦 𝑗 , 𝑧 𝑗 ) Enc(msk n , 𝑦 n ) Enc(∑ sk i , ∑ 𝑦 𝑗 , 𝑧 𝑗 ) ∑ 𝑦 𝑗 , 𝑧 𝑗

  32. Multi-input Functional Encryption 𝔿 1 of order 𝑞 Setup msk 1 , … , msk n KeyGen sk 1 , … , sk 𝑜 ← 𝑆 ℤ 𝑞 for: 𝑧 = ( 𝑧 1 , … , 𝑧 𝑜 ) 𝑠 ← 𝑆 ℤ 𝑞 Alice sk 𝑧 = sk (𝑧 1 ,𝑠) , … , sk (𝑧 𝑜 ,𝑠) , ∑ sk 𝑗 𝑦 1 , Enc(msk 1 , ( sk 1 )) in 𝔿 1 Bob … Dave 𝑦 𝑗 ,𝑧 𝑗 ⋅ 𝑕 1 sk 𝑗 𝑠 𝑕 1 𝑦 n , ∀𝑗: Enc(msk n , ( sk 𝑜 )) in 𝔿 1

  33. Multi-input Functional Encryption 𝔿 1 of order 𝑞 Setup msk 1 , … , msk n KeyGen sk 1 , … , sk 𝑜 ← 𝑆 ℤ 𝑞 for: 𝑧 = ( 𝑧 1 , … , 𝑧 𝑜 ) 𝑠 ← 𝑆 ℤ 𝑞 Alice sk 𝑧 = sk (𝑧 1 ,𝑠) , … , sk (𝑧 𝑜 ,𝑠) , ∑ sk 𝑗 𝑦 1 , Enc(msk 1 , ( sk 1 )) in 𝔿 1 Contain ( 𝑧 𝑗 , 𝑠) in ℤ 𝑞 Bob … Dave 𝑦 𝑗 ,𝑧 𝑗 ⋅ 𝑕 1 sk 𝑗 𝑠 𝑕 1 𝑦 n , ∀𝑗: Enc(msk n , ( sk 𝑜 )) in 𝔿 1

  34. Multi-input Functional Encryption 𝑓: 𝔿 1 × 𝔿 2 → 𝔿 𝑈 Setup msk 1 , … , msk n KeyGen sk 1 , … , sk 𝑜 ← 𝑆 ℤ 𝑞 for: 𝑧 = ( 𝑧 1 , … , 𝑧 𝑜 ) 𝑠 ← 𝑆 ℤ 𝑞 Alice sk (𝑧1,𝑠) , … , g 2 sk (𝑧𝑜,𝑠) , ∑ sk 𝑧 = g 2 sk 𝑗 𝑦 1 , Enc(msk 1 , ( sk 1 )) in 𝔿 1 Bob … Dave 𝑦 𝑗 ,𝑧 𝑗 ⋅ 𝑕 𝑈 sk 𝑗 𝑠 𝑕 𝑈 𝑦 n , ∀𝑗: Enc(msk n , ( sk 𝑜 )) in 𝔿 1

  35. Multi-input Functional Encryption 𝑓: 𝔿 1 × 𝔿 2 → 𝔿 𝑈 Setup msk 1 , … , msk n KeyGen sk 1 , … , sk 𝑜 ← 𝑆 ℤ 𝑞 for: 𝑧 = ( 𝑧 1 , … , 𝑧 𝑜 ) 𝑠 ← 𝑆 ℤ 𝑞 Alice sk (𝑧1,𝑠) , … , g 2 sk (𝑧𝑜,𝑠) , ∑ sk 𝑧 = g 2 sk 𝑗 𝑦 1 , Enc(msk 1 , ( sk 1 )) in 𝔿 1 Bob … Dave 𝑦 𝑗 ,𝑧 𝑗 ⋅ 𝑕 𝑈 sk 𝑗 𝑠 𝑕 𝑈 𝑦 n , ∀𝑗: Enc(msk n , ( sk 𝑜 )) in 𝔿 1 ∑ 𝑦 𝑗 , 𝑧 𝑗 ∑ sk 𝑗 𝑠 𝑕 𝑈 ⋅ 𝑕 𝑈

Recommend


More recommend