Multi-Input Functional Encryption for Inner Products: Function-Hiding - - PowerPoint PPT Presentation

multi input functional encryption for inner products
SMART_READER_LITE
LIVE PREVIEW

Multi-Input Functional Encryption for Inner Products: Function-Hiding - - PowerPoint PPT Presentation

Multi-Input Functional Encryption for Inner Products: Function-Hiding Realizations and Constructions without Pairings Michel Abdalla Dario Catalano Dario Fiore Romain Gay Bogdan Ursu August 21, 2018 August 21, 2018 1 / 30 Motivation - Spam


slide-1
SLIDE 1

Multi-Input Functional Encryption for Inner Products: Function-Hiding Realizations and Constructions without Pairings

Michel Abdalla Dario Catalano Dario Fiore Romain Gay Bogdan Ursu August 21, 2018

August 21, 2018 1 / 30

slide-2
SLIDE 2

Motivation - Spam Server

Encrypted email Server Dec Spam folder C skSpam Spam(M)

C Spam(M)=True?

Functional Encryption Motivation August 21, 2018 2 / 30

slide-3
SLIDE 3

Beyond Public Key Encryption

Public key encryption [Diffie, Hellman 76]

Enc(pk, M) Dec sk M

Functional encryption [Boneh, Sahai, Waters 11]

Enc(mpk, M) Dec skf f (M)

Functional Encryption Beyond Public Key Encryption August 21, 2018 3 / 30

slide-4
SLIDE 4

Functional Encryption

Functional encryption [Boneh, Sahai, Waters 11]

Enc(mpk, M) Dec skf f (M) Alice C(M) Setup: Generates mpk, msk KeyGen(msk, ·)

Master Authority

Bob f (M)

mpk skf f skf

Functional Encryption Setting August 21, 2018 4 / 30

slide-5
SLIDE 5

Multi-Input Functional Encryption

Functional encryption

Enc(mpk, M) Dec skf f (M)

Multi-input functional encryption

[Goldwasser, Gordon, Goyal, Jain, Katz, Liu, Sahai, Shi, Zhou 14]

Dec

. . .

n inputs

Enc(mpk, M1) Enc(mpk, Mn) skf f (M1 . . . Mn)

Independent ciphertexts

Multi-Input Multi-Input Setting August 21, 2018 5 / 30

slide-6
SLIDE 6

Inner-Product Functional Encryption

f y(·) = ·, y

Inner-Product Functional encryption

Enc(mpk, x) Dec sky x, y

f y1...yn(·, . . . , ·) = x1 . . . xn, y1 . . . yn

Multi-input Inner-Product

Dec

. . .

n inputs

Enc(mpk, x1) Enc(mpk, xn) sky1...yn x1 . . . xn, y1 . . . yn

Independent ciphertexts

Multi-Input Multi-Input Setting August 21, 2018 6 / 30

slide-7
SLIDE 7

Previous Work

Multi-input scheme Classes of functions Assumptions [GGG+14, BLR+15, BGJS15] [AJ15, BKS16] FH General functions IO, Multilinear maps, ... [AGRW17] Inner products, poly inputs SXDH in Pairing Groups [DOT18] FH Inner products unbounded poly inputs SXDH in Pairing Groups

FH - function hiding

Multi-Input Previous work August 21, 2018 7 / 30

slide-8
SLIDE 8

Previous Work + Our Contribution

Multi-input scheme Classes of functions Assumptions [GGG+14, BLR+15, BGJS15] [AJ15, BKS16] FH General functions IO, Multilinear maps, ... [AGRW17] Inner products, poly inputs SXDH in Pairing Groups [DOT18] FH Inner products unbounded poly inputs SXDH in Pairing Groups This work Inner products, poly inputs DDH, DCR or LWE This work FH Inner products, poly inputs SXDH in Pairing Groups

FH - function hiding

Multi-Input Our contribution August 21, 2018 8 / 30

slide-9
SLIDE 9

Previous Work + Our Contribution

Multi-input scheme Classes of functions Assumptions [GGG+14, BLR+15, BGJS15] [AJ15, BKS16] FH General functions IO, Multilinear maps, ... [AGRW17] Inner products, poly inputs SXDH in Pairing Groups [DOT18] FH Inner products unbounded poly inputs SXDH in Pairing Groups This work Inner products, poly inputs DDH, DCR or LWE This work FH Inner products, poly inputs SXDH in Pairing Groups

FH - function hiding

Multi-Input Our contribution August 21, 2018 9 / 30

slide-10
SLIDE 10

Security Goal

Security goal x, y, y, |x|

Leaks only Enc(mpk, x) sky

Multi-Input Security August 21, 2018 10 / 30

slide-11
SLIDE 11

Security of Multi-Input Functional Encryption

Security goal x1 . . . xn, y1 . . . yn, y1 . . . yn, {|xi|}

Leaks only Enc(mpk, x1) . . . Enc(mpk, xn) sky1...yn

Multi-Input Security Goal August 21, 2018 11 / 30

slide-12
SLIDE 12

Security of Multi-Input Functional Encryption

Security goal x1 . . . xn, y1 . . . yn, y1 . . . yn, {|xi|}

Leaks only Enc(mpk, x1) . . . Enc(mpk, xn) sky1...yn

Leakage is more complex!

Multi-Input Security Goal August 21, 2018 12 / 30

slide-13
SLIDE 13

Multi-Input Inner-Product Encryption

sky1...yn

Can compute x1 . . . xn, y1 . . . yn

. . .

Enc(msk, x1) Enc(msk, xn) Independent ciphertexts - fresh randomness

Multi-Input Model August 21, 2018 13 / 30

slide-14
SLIDE 14

Multi-Input Inner-Product Encryption

sky1...yn

Can compute x1 . . . xn, y1 . . . yn

. . .

Enc(msk, x1) Enc(msk, xn) But nothing more about xi, yi

Multi-Input Model August 21, 2018 14 / 30

slide-15
SLIDE 15

Public Key - Symmetric Key

sky1...yn

Can compute x1 . . . xn, y1 . . . yn

. . .

Enc(msk, x1) Enc(msk, xn) But nothing more about xi, yi Public key, encrypt 0 0 . . . 0xi0 . . . 0, y1 . . . yn = xi, yi

Multi-Input Public Key Setting August 21, 2018 15 / 30

slide-16
SLIDE 16

Mixing Ciphertexts

sky1y2

Can compute: x1x2, y1y2 x′

1x2, y1y2

x1x′

2, y1y2

x′

1x′ 2, y1y2

Enc(msk, x1) Enc(msk, x′

1)

Enc(msk, x2) Enc(msk, x′

2)

Example for n = 2

Difficulty: Allow ciphertext mixing but not key mixing!!!.

Multi-Input Mixing Ciphertexts August 21, 2018 16 / 30

slide-17
SLIDE 17

Multi-Input Inner-Product - Security

Adversary Challenger

KeyGen Enc y1 . . . yn sky1...yn xi, i Enc(msk, i, xi) Adversary only learns x1 . . . xn, y1 . . . yn for all queried (xi, i) and all queried y1 . . . yn.

Multi-Input Security August 21, 2018 17 / 30

slide-18
SLIDE 18

Construction without Pairings

Roadmap

1 One ciphertext, one input 2 One ciphertext, many inputs 3 Many ciphertexts, one input 4 Many ciphertexts, many inputs Symmetric setting one ciphertext ✘✘

✘ ❳❳ ❳

= ⇒ many ciphertexts

Multi-Input Pairing-Free Construction August 21, 2018 18 / 30

slide-19
SLIDE 19

1 One ciphertext, one input

1 One ciphertext, one input msk = u ∈ Zm

q

Enc1(msk, x) = x + u ∈ Zm

q

KeyGen1(msk, y) = u, y ∈ Zq, y

Multi-Input Pairing-Free Construction August 21, 2018 19 / 30

slide-20
SLIDE 20

1 One ciphertext, one input

1 One ciphertext, one input msk = u ∈ Zm

q

Enc1(msk, x) = x + u ∈ Zm

q

KeyGen1(msk, y) = u, y ∈ Zq, y Decrypt with sky: x + u, y − u, y = x, y + ✟✟

u, y − ✟✟

u, y

Multi-Input Pairing-Free Construction August 21, 2018 20 / 30

slide-21
SLIDE 21

1 One ciphertext, one input

1 One ciphertext, one input msk = u ∈ Zm

q

Enc1(msk, x) = x + u ∈ Zm

q

KeyGen1(msk, y) = u, y ∈ Zq, y Decrypt with sky: x + u, y − u, y = x, y + ✟✟

u, y − ✟✟

u, y Security: (x + u, u, y, y) ≡ (w, w, y − x, y, y) Goal: only leakage on x is x, y.

Multi-Input Pairing-Free Construction August 21, 2018 21 / 30

slide-22
SLIDE 22

2 One ciphertext, many inputs

1 One ciphertext, one input msk = u ∈ Zm

q

Enc1(msk, x) = x + u ∈ Zm

q

KeyGen1(msk, y) = u, y ∈ Zq, y 2 One ciphertext, many inputs msk = u1 . . . un ∈ Zn×m

q

Enc2(msk, i, xi) = xi + ui ∈ Zm

q

KeyGen2(msk, y1 . . . yn) = n

i=1ui, yi ∈ Zq, y1 . . . yn

Multi-Input Pairing-Free Construction August 21, 2018 22 / 30

slide-23
SLIDE 23

2 One ciphertext, many inputs

1 One ciphertext, one input msk = u ∈ Zm

q

Enc1(msk, x) = x + u ∈ Zm

q

KeyGen1(msk, y) = u, y ∈ Zq, y 2 One ciphertext, many inputs msk = u1 . . . un ∈ Zn×m

q

Enc2(msk, i, xi) = xi + ui ∈ Zm

q

KeyGen2(msk, y1 . . . yn) = n

i=1ui, yi ∈ Zq, y1 . . . yn

Dec: n

i=1xi + ui, yi − n i=1ui, yi = x1 . . . xn, y1, . . . yn

Multi-Input Pairing-Free Construction August 21, 2018 23 / 30

slide-24
SLIDE 24

3 Many ciphertexts, one input

1 One ciphertext, one input msk = u ∈ Zm

q

Enc1(msk, x) = x + u ∈ Zm

q

KeyGen1(msk, y) = u, y ∈ Zq, y 3 Many ciphertexts, one input [ABDP15] msk = v ∈ Zm

q

Enc3(msk, x) = gr, gx+rv ∈ Gm+1 KeyGen3(msk, y) = v, y ∈ Zq, y G prime group of order q Using [ALS16], this step can also be based on LWE or DCR.

Multi-Input Pairing-Free Construction August 21, 2018 24 / 30

slide-25
SLIDE 25

Construction without Pairings

1 One ciphertext, one input msk = u Enc1(msk, x) = x + u KeyGen1(msk, y) = u, y, y 2 One ciphertext, many inputs msk = u1 . . . un Enc2(msk, i, xi) = xi + ui KeyGen2(msk, y1 . . . yn) =

n

i=1ui, yi, y1 . . . yn

3 Many ciphertexts, one input msk = v Enc3(msk, x) = gr, gx+rv ∈ Gm+1 KeyGen3(msk, y) = v, y, y 4 Many ciphertexts, many inputs msk = ui, vi Enc4(msk, i, x) = Enc3(Enc2(msk, i, xi)) KeyGen4(msk, y1 . . . yn) = n

i=1ui, yi, KeyGen3(yi) Multi-Input Pairing-Free Construction August 21, 2018 25 / 30

slide-26
SLIDE 26

Our Construction Without Pairings

Pairing-free construction

removed bilinear groups adaptive security support larger messages efficient schemes (linearly-sized ciphertexts and decryption keys) instantiations from DDH, LWE or DCR. polynomial number of slots

Multi-Input Pairing-Free Construction August 21, 2018 26 / 30

slide-27
SLIDE 27

Function-Hiding Scheme

Security goal x, y, |x|, y

Leaks only Enc(mpk, x) sky

New multi-input function-hiding scheme for the inner product

Adaptively secure poly-many inputs

Multi-Input Function-Hiding August 21, 2018 27 / 30

slide-28
SLIDE 28

Function-Hiding Scheme

Security goal x, y, |x|, y

Leaks only Enc(mpk, x) sky

New multi-input function-hiding scheme for the inner product

Adaptively secure poly-many inputs

Multi-input inner-product Number of inputs Assumptions [AGRW17] poly inputs Pairing Groups [DOT18] FH unbounded poly inputs Pairing Groups This work FH poly inputs Pairing Groups FH - function hiding

Multi-Input Function-Hiding August 21, 2018 28 / 30

slide-29
SLIDE 29

Future Work

Adapt our techniques for other classes of functions?

Future work August 21, 2018 29 / 30

slide-30
SLIDE 30

Thank you!

La fin August 21, 2018 30 / 30

slide-31
SLIDE 31

References

[ABDP15] Michel Abdalla, Florian Bourse, Angelo De Caro, and David Pointcheval. Simple functional encryption schemes for inner products. In Jonathan Katz, editor, PKC 2015, volume 9020 of LNCS, pages 733–751. Springer, Heidelberg, March / April 2015. [AGRW17] Michel Abdalla, Romain Gay, Mariana Raykova, and Hoeteck Wee. Multi-input inner-product functional encryption from pairings. In Jean-S´ ebastien Coron and Jesper Buus Nielsen, editors, EUROCRYPT 2017, Part I, volume 10210 of LNCS, pages 601–626. Springer, Heidelberg, May 2017. [AJ15] Prabhanjan Ananth and Abhishek Jain. Indistinguishability obfuscation from compact functional encryption. In Rosario Gennaro and Matthew J. B. Robshaw, editors, CRYPTO 2015, Part I, volume 9215 of LNCS, pages 308–326. Springer, Heidelberg, August 2015. [ALS16] Shweta Agrawal, Benoˆ ıt Libert, and Damien Stehl´

  • e. Fully secure functional encryption for inner products, from standard assumptions. In Matthew

Robshaw and Jonathan Katz, editors, CRYPTO 2016, Part III, volume 9816 of LNCS, pages 333–362. Springer, Heidelberg, August 2016. [BGJS15] Saikrishna Badrinarayanan, Divya Gupta, Abhishek Jain, and Amit Sahai. Multi-input functional encryption for unbounded arity functions. In Tetsu Iwata and Jung Hee Cheon, editors, ASIACRYPT 2015, Part I, volume 9452 of LNCS, pages 27–51. Springer, Heidelberg, November / December 2015. [BKS16] Zvika Brakerski, Ilan Komargodski, and Gil Segev. Multi-input functional encryption in the private-key setting: Stronger security from weaker

  • assumptions. In Marc Fischlin and Jean-S´

ebastien Coron, editors, EUROCRYPT 2016, Part II, volume 9666 of LNCS, pages 852–880. Springer, Heidelberg, May 2016. [BLR+15] Dan Boneh, Kevin Lewi, Mariana Raykova, Amit Sahai, Mark Zhandry, and Joe Zimmerman. Semantically secure order-revealing encryption: Multi-input functional encryption without obfuscation. In Elisabeth Oswald and Marc Fischlin, editors, EUROCRYPT 2015, Part II, volume 9057 of LNCS, pages 563–594. Springer, Heidelberg, April 2015. [BSW11] Dan Boneh, Amit Sahai, and Brent Waters. Functional encryption: Definitions and challenges. In Yuval Ishai, editor, TCC 2011, volume 6597 of LNCS, pages 253–273. Springer, Heidelberg, March 2011. [DH76] Whitfield Diffie and Martin E. Hellman. New directions in cryptography. IEEE Transactions on Information Theory, 22(6):644–654, 1976. [DOT18] Pratish Datta, Tatsuaki Okamoto, and Junichi Tomida. Full-hiding (unbounded) multi-input inner product functional encryption from the k-linear

  • assumption. Cryptology ePrint Archive, Report 2018/061, 2018. https://eprint.iacr.org/2018/061.

[GGG+14] Shafi Goldwasser, S. Dov Gordon, Vipul Goyal, Abhishek Jain, Jonathan Katz, Feng-Hao Liu, Amit Sahai, Elaine Shi, and Hong-Sheng Zhou. Multi-input functional encryption. In Phong Q. Nguyen and Elisabeth Oswald, editors, EUROCRYPT 2014, volume 8441 of LNCS, pages 578–602. Springer, Heidelberg, May 2014. [O’N10] Adam O’Neill. Definitional issues in functional encryption. Cryptology ePrint Archive, Report 2010/556, 2010. http://eprint.iacr.org/2010/556. References August 21, 2018 1 / 1