64
Functional Encryption for Inner Product Predicates from Learning with Errors Shweta Agrawal 1 , David Mandell Freeman 2 , and Vinod Vaikuntanathan 3 1 UCLA, USA; 2 Stanford University, USA; 3 University of Toronto, Canada Asiacrypt 2011 Seoul, Korea 5 December 2011 S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 0/13

Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Functional Encryption for Inner ProductPredicates from Learning with Errors

Shweta Agrawal1, David Mandell Freeman2,and Vinod Vaikuntanathan3

1UCLA, USA; 2Stanford University, USA;3University of Toronto, Canada

Asiacrypt 2011Seoul, Korea

5 December 2011

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 0/13

Page 2: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Traditional Public-Key Encryption [DH76,RSA78,...]

m

skB skC

m must beencryptedseparately to eachuser.

Recipient set mustbe decided inadvance.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 1/13

Page 3: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Traditional Public-Key Encryption [DH76,RSA78,...]

m

Enc(m,pkB) Enc(m,pkC)

skB skC

m must beencryptedseparately to eachuser.

Recipient set mustbe decided inadvance.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 1/13

Page 4: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Traditional Public-Key Encryption [DH76,RSA78,...]

m

Enc(m,pkB) Enc(m,pkC)

skB skC

m must beencryptedseparately to eachuser.

Recipient set mustbe decided inadvance.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 1/13

Page 5: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Traditional Public-Key Encryption [DH76,RSA78,...]

m

Enc(m,pkB) Enc(m,pkC)

skB skC

m must beencryptedseparately to eachuser.

Recipient set mustbe decided inadvance.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 1/13

Page 6: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Functional Encryption [SW05,GPSW05,BW07,KSW08,...]

Enc(m,a)

skf skg

Ciphertext equippedwith attribute a.

sk equipped withpredicate f .

User with skf candecrypt iff f (a) = 1.

E.g.: attribute a = (conf="Asiacrypt", year=2011),

predicates f = (conf="Asiacrypt" AND year≥2000),g = (conf="Eurocrypt" OR year=2011)

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 2/13

Page 7: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Functional Encryption [SW05,GPSW05,BW07,KSW08,...]

Enc(m,a)

skf skg

Ciphertext equippedwith attribute a.

sk equipped withpredicate f .

User with skf candecrypt iff f (a) = 1.

E.g.: attribute a = (conf="Asiacrypt", year=2011),

predicates f = (conf="Asiacrypt" AND year≥2000),g = (conf="Eurocrypt" OR year=2011)

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 2/13

Page 8: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Functional Encryption [SW05,GPSW05,BW07,KSW08,...]

Enc(m,a)

skf skg

Ciphertext equippedwith attribute a.

sk equipped withpredicate f .

User with skf candecrypt iff f (a) = 1.

E.g.: attribute a = (conf="Asiacrypt", year=2011),

predicates f = (conf="Asiacrypt" AND year≥2000),

g = (conf="Eurocrypt" OR year=2011)

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 2/13

Page 9: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Functional Encryption [SW05,GPSW05,BW07,KSW08,...]

Enc(m,a)

skf skg

Ciphertext equippedwith attribute a.

sk equipped withpredicate f .

User with skf candecrypt iff f (a) = 1.

E.g.: attribute a = (conf="Asiacrypt", year=2011),

predicates f = (conf="Asiacrypt" AND year≥2000),g = (conf="Eurocrypt" OR year=2011)

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 2/13

Page 10: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Prior Work on Functional Encryption

Identity-based encryption is functional encryption for equalitypredicates.

Ciphertexts & keys equipped with identity id .Decrypt succeeds iff (key id) = (CT id).Achieved using pairings, QR, and lattices.[BF01,BB04ab,...], [C01,BGH07], [GPV08,CHKP10,ABB10ab]

Inner product predicates [KSW08,OT09,LOSTW10,...]:CT↔ vector ~w ; key↔ vector ~vKey for ~v can decrypt CT for ~w iff 〈~v , ~w〉 = 0.Achieved using pairings.

[KSW08]: Inner product predicates allow us to instantiate range,conjunction, disjunction, and polynomial evaluation predicates.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 3/13

Page 11: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Prior Work on Functional Encryption

Identity-based encryption is functional encryption for equalitypredicates.

Ciphertexts & keys equipped with identity id .Decrypt succeeds iff (key id) = (CT id).Achieved using pairings, QR, and lattices.[BF01,BB04ab,...], [C01,BGH07], [GPV08,CHKP10,ABB10ab]

Inner product predicates [KSW08,OT09,LOSTW10,...]:CT↔ vector ~w ; key↔ vector ~vKey for ~v can decrypt CT for ~w iff 〈~v , ~w〉 = 0.Achieved using pairings.

[KSW08]: Inner product predicates allow us to instantiate range,conjunction, disjunction, and polynomial evaluation predicates.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 3/13

Page 12: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Prior Work on Functional Encryption

Identity-based encryption is functional encryption for equalitypredicates.

Ciphertexts & keys equipped with identity id .Decrypt succeeds iff (key id) = (CT id).Achieved using pairings, QR, and lattices.[BF01,BB04ab,...], [C01,BGH07], [GPV08,CHKP10,ABB10ab]

Inner product predicates [KSW08,OT09,LOSTW10,...]:CT↔ vector ~w ; key↔ vector ~vKey for ~v can decrypt CT for ~w iff 〈~v , ~w〉 = 0.Achieved using pairings.

[KSW08]: Inner product predicates allow us to instantiate range,conjunction, disjunction, and polynomial evaluation predicates.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 3/13

Page 13: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Our Contribution

Functional encryption for inner product predicates based on thelearning with errors (LWE) assumption.

Achieves functionality of [KSW08].Worst-case reduction, (conjectured) quantum security.Allows inner products over small fields.

Privacy property: CT attribute is hidden from users who cannotdecrypt (“weakly attribute hiding”).

[KSW08] construction hides attribute from all users.Open problem: achieve same privacy property from LWE.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 4/13

Page 14: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Our Contribution

Functional encryption for inner product predicates based on thelearning with errors (LWE) assumption.

Achieves functionality of [KSW08].Worst-case reduction, (conjectured) quantum security.Allows inner products over small fields.

Privacy property: CT attribute is hidden from users who cannotdecrypt (“weakly attribute hiding”).

[KSW08] construction hides attribute from all users.Open problem: achieve same privacy property from LWE.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 4/13

Page 15: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm

, vector u.

sk: short vector s in coset Λ⊥ + uof dual lattice.

Enc: vector c close to Λ,scalar c′ encoding m ∈ {0,1}.

Dec: use 〈s,c〉 to decode c′.

O

Two ways to generate keys for Λ:

Choose short sk s, compute pk vector u.Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 16: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm

, vector u.sk: short vector s in coset Λ⊥ + u

of dual lattice.Enc: vector c close to Λ,

scalar c′ encoding m ∈ {0,1}.Dec: use 〈s,c〉 to decode c′.

O

b1

b2

Two ways to generate keys for Λ:

Choose short sk s, compute pk vector u.Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 17: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm, vector u.

sk: short vector s in coset Λ⊥ + uof dual lattice.

Enc: vector c close to Λ,scalar c′ encoding m ∈ {0,1}.

Dec: use 〈s,c〉 to decode c′.

O

b1

b2

u

Two ways to generate keys for Λ:

Choose short sk s, compute pk vector u.Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 18: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm, vector u.sk: short vector s in coset Λ⊥ + u

of dual lattice.

Enc: vector c close to Λ,scalar c′ encoding m ∈ {0,1}.

Dec: use 〈s,c〉 to decode c′.

O

b1

b2

s

u

Two ways to generate keys for Λ:

Choose short sk s, compute pk vector u.Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 19: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm, vector u.sk: short vector s in coset Λ⊥ + u

of dual lattice.Enc: vector c close to Λ,

scalar c′ encoding m ∈ {0,1}.

Dec: use 〈s,c〉 to decode c′.

O

b1

b2

s c

u

Two ways to generate keys for Λ:

Choose short sk s, compute pk vector u.Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 20: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm, vector u.sk: short vector s in coset Λ⊥ + u

of dual lattice.Enc: vector c close to Λ,

scalar c′ encoding m ∈ {0,1}.Dec: use 〈s,c〉 to decode c′.

O

b1

b2

s c

u

Two ways to generate keys for Λ:

Choose short sk s, compute pk vector u.Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 21: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm, vector u.sk: short vector s in coset Λ⊥ + u

of dual lattice.Enc: vector c close to Λ,

scalar c′ encoding m ∈ {0,1}.Dec: use 〈s,c〉 to decode c′.

O

b1

b2

s c

u

Two ways to generate keys for Λ:Choose short sk s, compute pk vector u.

Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 22: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm, vector u.sk: short vector s in coset Λ⊥ + u

of dual lattice.Enc: vector c close to Λ,

scalar c′ encoding m ∈ {0,1}.Dec: use 〈s,c〉 to decode c′.

O

b1

b2

s c

u

Two ways to generate keys for Λ:Choose short sk s, compute pk vector u.Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 23: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm, vector u.sk: short vector s in coset Λ⊥ + u

of dual lattice.Enc: vector c close to Λ,

scalar c′ encoding m ∈ {0,1}.Dec: use 〈s,c〉 to decode c′.

Os1

s2

s c

u

Two ways to generate keys for Λ:Choose short sk s, compute pk vector u.Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 24: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Blocks

Lattice-based PKE [GPV08 “dual Regev”]:

pk: lattice Λ ⊂ Zm, vector u.sk: short vector s in coset Λ⊥ + u

of dual lattice.Enc: vector c close to Λ,

scalar c′ encoding m ∈ {0,1}.Dec: use 〈s,c〉 to decode c′.

Os1

s2

s c

u

Two ways to generate keys for Λ:Choose short sk s, compute pk vector u.Given u, use short basis of Λ⊥ to find s.

[A99,AP09]: Can generate a random lattice Λ along withshort basis of Λ⊥ = trapdoor for Λ.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 5/13

Page 25: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Block: Lattice-Based IBE [CHKP10,ABB10ab]

Each identity id defines a lattice Λid .CT is GPV encryption relative to Λid .Trapdoor for Λid used to derive sk for id .Can decrypt iff sk lattice matches CT lattice.

IBE schemes don’t seem to generalize to functional encryption:In functional encryption, many sk can decrypt each CT.

CT for ~w decryptable by sk for any ~v with 〈~v , ~w〉 = 0.

Conclude: can’t require CT lattice to match sk lattice.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 6/13

Page 26: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Block: Lattice-Based IBE [CHKP10,ABB10ab]

Each identity id defines a lattice Λid .CT is GPV encryption relative to Λid .Trapdoor for Λid used to derive sk for id .Can decrypt iff sk lattice matches CT lattice.

IBE schemes don’t seem to generalize to functional encryption:In functional encryption, many sk can decrypt each CT.

CT for ~w decryptable by sk for any ~v with 〈~v , ~w〉 = 0.

Conclude: can’t require CT lattice to match sk lattice.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 6/13

Page 27: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Block: Lattice-Based IBE [CHKP10,ABB10ab]

Each identity id defines a lattice Λid .CT is GPV encryption relative to Λid .Trapdoor for Λid used to derive sk for id .Can decrypt iff sk lattice matches CT lattice.

IBE schemes don’t seem to generalize to functional encryption:In functional encryption, many sk can decrypt each CT.

CT for ~w decryptable by sk for any ~v with 〈~v , ~w〉 = 0.

Conclude: can’t require CT lattice to match sk lattice.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 6/13

Page 28: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Block: Lattice-Based IBE [CHKP10,ABB10ab]

Each identity id defines a lattice Λid .CT is GPV encryption relative to Λid .Trapdoor for Λid used to derive sk for id .Can decrypt iff sk lattice matches CT lattice.

IBE schemes don’t seem to generalize to functional encryption:In functional encryption, many sk can decrypt each CT.

CT for ~w decryptable by sk for any ~v with 〈~v , ~w〉 = 0.

Conclude: can’t require CT lattice to match sk lattice.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 6/13

Page 29: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Functional Encryption

Encrypt relative toattribute lattice Λ~w ⊂ Zr

Oc

“short”linear map

T~v : Zr→ Zs

sk corresponds topredicate lattice Λ~v ⊂ Zs

O

T~v (Λ~w ) = Λ~v iff 〈~v , ~w〉 = 0

If 〈~v , ~w〉 = 0, T~v (c) is a CT relative to Λ~v⇒ key for Λ~v can decrypt T~v (c).

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 7/13

Page 30: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Functional Encryption

Encrypt relative toattribute lattice Λ~w ⊂ Zr

Oc

“short”linear map

T~v : Zr→ Zs

sk corresponds topredicate lattice Λ~v ⊂ Zs

O

T~v (Λ~w ) = Λ~v iff 〈~v , ~w〉 = 0

If 〈~v , ~w〉 = 0, T~v (c) is a CT relative to Λ~v⇒ key for Λ~v can decrypt T~v (c).

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 7/13

Page 31: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Functional Encryption

Encrypt relative toattribute lattice Λ~w ⊂ Zr

Oc

“short”linear map

T~v : Zr→ Zs

sk corresponds topredicate lattice Λ~v ⊂ Zs

O

T~v (Λ~w ) = Λ~v iff 〈~v , ~w〉 = 0

If 〈~v , ~w〉 = 0, T~v (c) is a CT relative to Λ~v⇒ key for Λ~v can decrypt T~v (c).

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 7/13

Page 32: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Functional Encryption

Encrypt relative toattribute lattice Λ~w ⊂ Zr

Oc

“short”linear map

T~v : Zr→ Zs

sk corresponds topredicate lattice Λ~v ⊂ Zs

O

T~v (c)

T~v (Λ~w ) = Λ~v iff 〈~v , ~w〉 = 0

If 〈~v , ~w〉 = 0, T~v (c) is a CT relative to Λ~v

⇒ key for Λ~v can decrypt T~v (c).

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 7/13

Page 33: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Building Functional Encryption

Encrypt relative toattribute lattice Λ~w ⊂ Zr

Oc

“short”linear map

T~v : Zr→ Zs

sk corresponds topredicate lattice Λ~v ⊂ Zs

O

T~v (c)

T~v (Λ~w ) = Λ~v iff 〈~v , ~w〉 = 0

If 〈~v , ~w〉 = 0, T~v (c) is a CT relative to Λ~v⇒ key for Λ~v can decrypt T~v (c).

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 7/13

Page 34: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

What Lattices are Used?

Regev/GPV lattice Λ defined by matrix A0 ∈ Zn×mq , n < m:

Λ = Λq(A0) ={

v ∈ Zm : v mod q = rt · A0 for some r ∈ Znq}

i.e., vectors in Zm that (mod q) are linear combinations ofrows of A0.

[ABB10a] IBE: to encrypt to identity id , use lattice

Λid = Λq(A0 ‖ A1 + H(id)B) ⊂ Z2m.

public A0,A1,B ∈ Zn×mq .

H : {0,1}∗ → Zn×nq is a hash function.

Secret key for Λid can be computed using trapdoor for A0.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 8/13

Page 35: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

What Lattices are Used?

Regev/GPV lattice Λ defined by matrix A0 ∈ Zn×mq , n < m:

Λ = Λq(A0) ={

v ∈ Zm : v mod q = rt · A0 for some r ∈ Znq}

i.e., vectors in Zm that (mod q) are linear combinations ofrows of A0.

[ABB10a] IBE: to encrypt to identity id , use lattice

Λid = Λq(A0 ‖ A1 + H(id)B) ⊂ Z2m.

public A0,A1,B ∈ Zn×mq .

H : {0,1}∗ → Zn×nq is a hash function.

Secret key for Λid can be computed using trapdoor for A0.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 8/13

Page 36: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

A Functional Encryption Scheme

To compute CT for vector ~w = (w1, . . . ,w`), use lattice

Λ~w = Λq(A0 ‖ A1 + w1B ‖ · · · ‖ A` + w`B) ⊂ Z(1+`)m.

public Ai ,B ∈ Zn×mq .

To generate sk for vector ~v = (v1, . . . , v`), use lattice

Λ~v = Λq(A0 ‖∑

viAi) ⊂ Z2m.

Use trapdoor for A0 + [CHKP10] “delegation” technique.

To decrypt, apply transformation T~v : Z(1+`)m → Z2m given by

T~v (c0, . . . ,c`) = (c0,∑

vici).

ThenT~v (Λ~w ) = Λq(A0 ‖

∑viAi + 〈~v , ~w〉B)

So sk for Λ~v can decrypt T~v (CT ) iff 〈~v , ~w〉 = 0 (and ~v is short).

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 9/13

Page 37: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

A Functional Encryption Scheme

To compute CT for vector ~w = (w1, . . . ,w`), use lattice

Λ~w = Λq(A0 ‖ A1 + w1B ‖ · · · ‖ A` + w`B) ⊂ Z(1+`)m.

public Ai ,B ∈ Zn×mq .

To generate sk for vector ~v = (v1, . . . , v`), use lattice

Λ~v = Λq(A0 ‖∑

viAi) ⊂ Z2m.

Use trapdoor for A0 + [CHKP10] “delegation” technique.

To decrypt, apply transformation T~v : Z(1+`)m → Z2m given by

T~v (c0, . . . ,c`) = (c0,∑

vici).

ThenT~v (Λ~w ) = Λq(A0 ‖

∑viAi + 〈~v , ~w〉B)

So sk for Λ~v can decrypt T~v (CT ) iff 〈~v , ~w〉 = 0 (and ~v is short).

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 9/13

Page 38: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

A Functional Encryption Scheme

To compute CT for vector ~w = (w1, . . . ,w`), use lattice

Λ~w = Λq(A0 ‖ A1 + w1B ‖ · · · ‖ A` + w`B) ⊂ Z(1+`)m.

public Ai ,B ∈ Zn×mq .

To generate sk for vector ~v = (v1, . . . , v`), use lattice

Λ~v = Λq(A0 ‖∑

viAi) ⊂ Z2m.

Use trapdoor for A0 + [CHKP10] “delegation” technique.

To decrypt, apply transformation T~v : Z(1+`)m → Z2m given by

T~v (c0, . . . ,c`) = (c0,∑

vici).

ThenT~v (Λ~w ) = Λq(A0 ‖

∑viAi + 〈~v , ~w〉B)

So sk for Λ~v can decrypt T~v (CT ) iff 〈~v , ~w〉 = 0 (and ~v is short).

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 9/13

Page 39: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

A Functional Encryption Scheme

To compute CT for vector ~w = (w1, . . . ,w`), use lattice

Λ~w = Λq(A0 ‖ A1 + w1B ‖ · · · ‖ A` + w`B) ⊂ Z(1+`)m.

public Ai ,B ∈ Zn×mq .

To generate sk for vector ~v = (v1, . . . , v`), use lattice

Λ~v = Λq(A0 ‖∑

viAi) ⊂ Z2m.

Use trapdoor for A0 + [CHKP10] “delegation” technique.

To decrypt, apply transformation T~v : Z(1+`)m → Z2m given by

T~v (c0, . . . ,c`) = (c0,∑

vici).

ThenT~v (Λ~w ) = Λq(A0 ‖

∑viAi + 〈~v , ~w〉B)

So sk for Λ~v can decrypt T~v (CT ) iff 〈~v , ~w〉 = 0 (and ~v is short).

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 9/13

Page 40: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

A Functional Encryption Scheme

To compute CT for vector ~w = (w1, . . . ,w`), use lattice

Λ~w = Λq(A0 ‖ A1 + w1B ‖ · · · ‖ A` + w`B) ⊂ Z(1+`)m.

public Ai ,B ∈ Zn×mq .

To generate sk for vector ~v = (v1, . . . , v`), use lattice

Λ~v = Λq(A0 ‖∑

viAi) ⊂ Z2m.

Use trapdoor for A0 + [CHKP10] “delegation” technique.

To decrypt, apply transformation T~v : Z(1+`)m → Z2m given by

T~v (c0, . . . ,c`) = (c0,∑

vici).

ThenT~v (Λ~w ) = Λq(A0 ‖

∑viAi + 〈~v , ~w〉B)

So sk for Λ~v can decrypt T~v (CT ) iff 〈~v , ~w〉 = 0 (and ~v is short).S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 9/13

Page 41: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 42: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−

pk−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 43: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 44: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 45: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 46: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 47: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−

Enc(mb, ~wb)−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 48: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−

Enc(mb, ~wb)−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 49: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 50: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 51: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 52: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

(Selective) Security Model

Challenger

b R←{0,1}

attributes ~w0, ~w1←−−−−−−−−−−−−−−−−−−−pk

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

messages m0,m1←−−−−−−−−−−−−−−−−−−−−Enc(mb, ~wb)

−−−−−−−−−−−−−−−−−−−→

predicate ~v : 〈~v , ~wb〉 6= 0←−−−−−−−−−−−−−−−−−−−

sk~v−−−−−−−−−−−−−−−−−−−→

repeat

Adversary

b′ ∈ {0,1}

DefinitionScheme is weakly attribute hiding if

∣∣Pr[b′ = b]− 12

∣∣is negligible for all efficient A.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 10/13

Page 53: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Security Theorem

Learning With Errors (LWE) assumption [R05]

For fixed s ∈ Znq, “noisy inner products” with s are

indistinguishable from random:{ai , 〈s,ai〉+ ei

}mi=1 ≈c

{ai , ri

}mi=1

for random ai ∈ Znq, small ei ∈ Z, and random ri ∈ Zq.

[R05,P09]: Algorithms that break LWE assumption can beused to solve worst-case lattice problems.

TheoremIf the LWE assumption holds, then our inner product encryptionscheme is weakly attribute hiding.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 11/13

Page 54: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Security Theorem

Learning With Errors (LWE) assumption [R05]

For fixed s ∈ Znq, “noisy inner products” with s are

indistinguishable from random:{ai , 〈s,ai〉+ ei

}mi=1 ≈c

{ai , ri

}mi=1

for random ai ∈ Znq, small ei ∈ Z, and random ri ∈ Zq.

[R05,P09]: Algorithms that break LWE assumption can beused to solve worst-case lattice problems.

TheoremIf the LWE assumption holds, then our inner product encryptionscheme is weakly attribute hiding.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 11/13

Page 55: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Security Theorem

Learning With Errors (LWE) assumption [R05]

For fixed s ∈ Znq, “noisy inner products” with s are

indistinguishable from random:{ai , 〈s,ai〉+ ei

}mi=1 ≈c

{ai , ri

}mi=1

for random ai ∈ Znq, small ei ∈ Z, and random ri ∈ Zq.

[R05,P09]: Algorithms that break LWE assumption can beused to solve worst-case lattice problems.

TheoremIf the LWE assumption holds, then our inner product encryptionscheme is weakly attribute hiding.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 11/13

Page 56: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Proof Idea

CT lattice: Λ~w = Λq(A0 ‖ A1 + w1B ‖ · · · ‖ A` + w`B).sk lattice: Λ~v = Λq(A0 ‖

∑viAi).

[ABB10a] technique: Trapdoor for B can be used to answer skqueries for ~v with 〈~v , ~w〉 6= 0.

Embed LWE challenge in the matrix A0.If LWE challenge is “noisy inner products” 〈s,ai〉+ ei ,obtain real CT.If LWE challenge is random ri , obtain uniformly random CT(no info. about message or attribute).

Adversary that breaks system can break LWE assumption.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 12/13

Page 57: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Proof Idea

CT lattice: Λ~w = Λq(A0 ‖ A1 + w1B ‖ · · · ‖ A` + w`B).sk lattice: Λ~v = Λq(A0 ‖

∑viAi).

[ABB10a] technique: Trapdoor for B can be used to answer skqueries for ~v with 〈~v , ~w〉 6= 0.

Embed LWE challenge in the matrix A0.If LWE challenge is “noisy inner products” 〈s,ai〉+ ei ,obtain real CT.If LWE challenge is random ri , obtain uniformly random CT(no info. about message or attribute).

Adversary that breaks system can break LWE assumption.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 12/13

Page 58: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Proof Idea

CT lattice: Λ~w = Λq(A0 ‖ A1 + w1B ‖ · · · ‖ A` + w`B).sk lattice: Λ~v = Λq(A0 ‖

∑viAi).

[ABB10a] technique: Trapdoor for B can be used to answer skqueries for ~v with 〈~v , ~w〉 6= 0.

Embed LWE challenge in the matrix A0.If LWE challenge is “noisy inner products” 〈s,ai〉+ ei ,obtain real CT.If LWE challenge is random ri , obtain uniformly random CT(no info. about message or attribute).

Adversary that breaks system can break LWE assumption.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 12/13

Page 59: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Proof Idea

CT lattice: Λ~w = Λq(A0 ‖ A1 + w1B ‖ · · · ‖ A` + w`B).sk lattice: Λ~v = Λq(A0 ‖

∑viAi).

[ABB10a] technique: Trapdoor for B can be used to answer skqueries for ~v with 〈~v , ~w〉 6= 0.

Embed LWE challenge in the matrix A0.If LWE challenge is “noisy inner products” 〈s,ai〉+ ei ,obtain real CT.If LWE challenge is random ri , obtain uniformly random CT(no info. about message or attribute).

Adversary that breaks system can break LWE assumption.

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 12/13

Page 60: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Open Questions

1 Fully attribute-hiding system.Answer sk queries for ~v when 〈~v , ~w〉 = 0. [requires m0 = m1]

2 Fully secure system.Allow adversary to make key queries before choosingattributes ~wj .

3 Improve efficiency.Current system is efficient for ~v , ~w over small fields.

4 Functional encryption for larger class of predicates.Leverage techniques from fully homomorphic encryption?

Thank you!

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 13/13

Page 61: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Open Questions

1 Fully attribute-hiding system.Answer sk queries for ~v when 〈~v , ~w〉 = 0. [requires m0 = m1]

2 Fully secure system.Allow adversary to make key queries before choosingattributes ~wj .

3 Improve efficiency.Current system is efficient for ~v , ~w over small fields.

4 Functional encryption for larger class of predicates.Leverage techniques from fully homomorphic encryption?

Thank you!

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 13/13

Page 62: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Open Questions

1 Fully attribute-hiding system.Answer sk queries for ~v when 〈~v , ~w〉 = 0. [requires m0 = m1]

2 Fully secure system.Allow adversary to make key queries before choosingattributes ~wj .

3 Improve efficiency.Current system is efficient for ~v , ~w over small fields.

4 Functional encryption for larger class of predicates.Leverage techniques from fully homomorphic encryption?

Thank you!

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 13/13

Page 63: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Open Questions

1 Fully attribute-hiding system.Answer sk queries for ~v when 〈~v , ~w〉 = 0. [requires m0 = m1]

2 Fully secure system.Allow adversary to make key queries before choosingattributes ~wj .

3 Improve efficiency.Current system is efficient for ~v , ~w over small fields.

4 Functional encryption for larger class of predicates.Leverage techniques from fully homomorphic encryption?

Thank you!

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 13/13

Page 64: Functional Encryption for Inner Product Predicates from ...dfreeman/talks/predicate-asiacrypt.pdf · Functional Encryption [SW05,GPSW05,BW07,KSW08,...] Enc(m;a) sk f skg Ciphertext

Open Questions

1 Fully attribute-hiding system.Answer sk queries for ~v when 〈~v , ~w〉 = 0. [requires m0 = m1]

2 Fully secure system.Allow adversary to make key queries before choosingattributes ~wj .

3 Improve efficiency.Current system is efficient for ~v , ~w over small fields.

4 Functional encryption for larger class of predicates.Leverage techniques from fully homomorphic encryption?

Thank you!

S. Agrawal, D.M. Freeman, and V. Vaikuntanathan Functional Encryption from LWE 13/13