Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Predicate Encryptionfor Multi-Dimensional Range Queries
from Lattices
Romain GAY , Pierrick MÉAUX , Hoeteck WEE
École Normale Supérieure, CNRS, INRIA, PSL, Paris, France
R E S E A R C H
U N I V E R S I T Y
PKC 2015 — Maryland, USATuesday, March 31
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 1 / 13
Multi-Dimensional Range Queries
Online Dating Configuration
Profile
AliceHeaderHobbiesPictures
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 2 / 13
Multi-Dimensional Range Queries
Online Dating Configuration
Profile
AliceHeaderHobbiesPictures
Preferences
N pictures:
Children:
Age:
Salary:
x1 > 0
x2 = 0
24 ≤ x3 ≤ 36
$$$$ ≤ x4 ≤ max
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 2 / 13
Multi-Dimensional Range Queries
Online Dating Configuration
Profile
AliceHeaderHobbiesPictures
Preferences
N pictures:
Children:
Age:
Salary:
x1 > 0
x2 = 0
24 ≤ x3 ≤ 36
$$$$ ≤ x4 ≤ max
Online dating using Attribute-Based Encryption [GVW13, BGG+14]
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 2 / 13
Multi-Dimensional Range Queries
Online Dating Configuration
Profile
AliceHeaderHobbiesPictures
Preferences
N pictures:
Children:
Age:
Salary:
ABE does not ensure attribute hiding
? ≤ x1 ≤?
? ≤ x2 ≤?
? ≤ x3 ≤?
? ≤ x4 ≤?
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 2 / 13
Multi-Dimensional Range Queries
Online Dating Configuration
Profile
AliceHeaderHobbiesPictures
Preferences
N pictures:
Children:
Age:
Salary:
? ≤ x1 ≤?
? ≤ x2 ≤?
? ≤ x3 ≤?
? ≤ x4 ≤?
Online dating using Predicate Encryption [BW07, SBC+07,KSW08]
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 2 / 13
Multi-Dimensional Range Queries
Online Dating Encryption Scheme
CT: Encrypted Profile
Plaintext
Preferences(Attribute)
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 3 / 13
Multi-Dimensional Range Queries
Online Dating Encryption Scheme
CT: Encrypted Profile
Plaintext
Preferences(Attribute)
User Bob
N Picture : 3
Children : 0
Age : 32
Salary : $$$$$
User Carol
N Picture : 3
Children : 1
Age : 29
Salary : $$$$$$
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 3 / 13
Multi-Dimensional Range Queries
Online Dating Encryption Scheme
CT: Encrypted Profile
Plaintext
Preferences(Attribute)
User Bob
SKBob
User Carol
SKCarol
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 3 / 13
Multi-Dimensional Range Queries
Online Dating Encryption Scheme
CT: Encrypted Profile
Plaintext
Preferences(Attribute)
User Bob
SKBob
Decryption
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 3 / 13
Multi-Dimensional Range Queries
Online Dating Encryption Scheme
User Bob
SKBob
m : Decrypted Profile
AliceHeaderHobbiesPictures
Successful decryption and learning the matches
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 3 / 13
Multi-Dimensional Range Queries
Online Dating Encryption Scheme
CT: Encrypted Profile
Plaintext
Preferences(Attribute)
User Carol
SKCarol
Decryption
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 3 / 13
Multi-Dimensional Range Queries
Online Dating Encryption Scheme
CT: Encrypted Profile
Plaintext
Preferences(Attribute)
User Carol
SKCarol
Incorrect decryption, no more information
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 3 / 13
Multi-Dimensional Range Queries
Result
TheoremPredicate Encryption
for
MDRQfrom
LWE
Prior worksfrom pairings
[BW07,SBC+07]
LWE
And-Or-Eq Predicate
MDRQ
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 4 / 13
Multi-Dimensional Range Queries
Result
TheoremPredicate Encryption
for
MDRQfrom
LWE
Prior worksfrom pairings
[BW07,SBC+07]
LWE
And-Or-Eq Predicate
MDRQ
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 4 / 13
And Or Eq Predicate
And Or Eq Predicate
Disjunction of conjunction of equality queries
PAND-OR-EQ : ZD×`q × ZD×`
q → {0, 1}PAND-OR-EQ(X , Y ) =
∧Di=1∨`
j=1
(Xi,j = Yi,j
)Matrix X Matrix Y
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 5 / 13
And Or Eq Predicate
And Or Eq Predicate
Disjunction of conjunction of equality queries
PAND-OR-EQ : ZD×`q × ZD×`
q → {0, 1}PAND-OR-EQ(X , Y ) =
∧Di=1∨`
j=1
(Xi,j = Yi,j
)PAND-OR-EQ(X , Y ) = 1
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 5 / 13
And Or Eq Predicate
And Or Eq Predicate
Disjunction of conjunction of equality queries
PAND-OR-EQ : ZD×`q × ZD×`
q → {0, 1}PAND-OR-EQ(X , Y ) =
∧Di=1∨`
j=1
(Xi,j = Yi,j
)Matrix X Matrix Y ′
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 5 / 13
And Or Eq Predicate
And Or Eq Predicate
Disjunction of conjunction of equality queries
PAND-OR-EQ : ZD×`q × ZD×`
q → {0, 1}PAND-OR-EQ(X , Y ) =
∧Di=1∨`
j=1
(Xi,j = Yi,j
)PAND-OR-EQ(X , Y ′) = 0
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 5 / 13
And Or Eq Predicate
From Range Query to And Or Eq
Range X Point Y
X = [3, 13] Y = 8
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
PAND OR EQ(X , Y ) =?
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 6 / 13
And Or Eq Predicate
From Range Query to And Or Eq
Range X Point Y
X = [3, 13] Y = 8
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?
PAND OR EQ(X , Y ) =?
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 6 / 13
And Or Eq Predicate
From Range Query to And Or Eq
Range X Point Y
X = [3, 13] Y = 8
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
PAND OR EQ(X , Y ) =?
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 6 / 13
And Or Eq Predicate
From Range to Vector
Query over [0, 2` − 1]
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 7 / 13
And Or Eq Predicate
From Range to Vector
Query over [0, 2` − 1] ; example: ` = 4, range = [3, 13]
3 13
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 7 / 13
And Or Eq Predicate
From Range to Vector
Query over [0, 2` − 1] ; example: ` = 4, range = [3, 13]
3 13
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
000 001 010 011 100 101 110 111
00 01 10 11
0 1
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 7 / 13
And Or Eq Predicate
From Range to Vector
Query over [0, 2` − 1] ; example: ` = 4, range = [3, 13]
3 13
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
000 001 010 011 100 101 110 111
00 01 10 11
0 1
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 7 / 13
And Or Eq Predicate
From Range to Vector
Query over [0, 2` − 1] ; example: ` = 4, range = [3, 13]
3 13
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
000 001 010 011 100 101 110 111
00 01 10 11
0 1
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101
010 011 100 101 110
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 7 / 13
And Or Eq Predicate
From Range to Vector
Query over [0, 2` − 1] ; example: ` = 4, range = [3, 13]
3 13
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
000 001 010 011 100 101 110 111
00 01 10 11
0 1
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101
010 011 100 101 110
01 10
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 7 / 13
And Or Eq Predicate
From Range to Vector
Query over [0, 2` − 1] ; example: ` = 4, range = [3, 13]
3 13
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
000 001 010 011 100 101 110 111
00 01 10 11
0 1
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101
010 011 100 101 110
01 10
0011
110
01 10
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 7 / 13
And Or Eq Predicate
From Range to Vector
Query over [0, 2` − 1] ; example: ` = 4, range = [3, 13]
3 13
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
000 001 010 011 100 101 110 111
00 01 10 11
0 1
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101
010 011 100 101 110
01 10
0011
110
01 10
ε ε 01 10 110 ε 0011 ε
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 7 / 13
And Or Eq Predicate
From Range Query to And Or Eq (2)
Range X Point Y
X = [3, 13] Y = 8
ε ε 01 10 110 ε 0011 ε ? ? ? ? ? ? ? ?
PAND OR EQ(X , Y ) =?
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 8 / 13
And Or Eq Predicate
From Point to Vector
Point in [0, 2` − 1]
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 9 / 13
And Or Eq Predicate
From Point to Vector
Point in [0, 2` − 1] ; example: ` = 4, point = 8
8
binary: 1000
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 9 / 13
And Or Eq Predicate
From Point to Vector
Point in [0, 2` − 1] ; example: ` = 4, point = 8
8
binary: 1000
1 1 10 10 100 100 1000 1000
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 9 / 13
And Or Eq Predicate
From Range Query to And Or Eq (3)
Range X Point Y
X = [3, 13] Y = 8
ε ε 01 10 110 ε 0011 ε 1 1 10 10 100 10010001000
PAND OR EQ(X , Y ) =?
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 10 / 13
And Or Eq Predicate
From Range Query to And Or Eq (3)
Range X Point Y
X = [3, 13] Y = 8
ε ε 01 10 110 ε 0011 ε 1 1 10 10 100 10010001000
PAND OR EQ(X , Y ) = 1
10
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 10 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
MPK:
A, A1, A2, · · · , A`, P , G
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
CT:LWE sample
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
Predicate: y ∈ Z`q
SK:
U1, U2
, · · · , U`
Ui s.t. [A | Ai +yiG ] Ui = P
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
CT:LWE sample
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
Decryption:
if x1 = y1
Predicate: y ∈ Z`q
SK:
U1, U2
, · · · , U`
Ui s.t. [A | Ai +yiG ] Ui = P
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
CT:LWE sample
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
Decryption:
Attribute hiding property
Run over 1, · · · , `
Predicate: y ∈ Z`q
SK:
U1, U2
, · · · , U`
Ui s.t. [A | Ai +yiG ] Ui = P
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
CT:LWE sample
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
Decryption:
Attribute hiding property
Run over 1, · · · , `
Predicate: y ∈ Z`q
SK:
U1, U2
, · · · , U`
Ui s.t. [A | Ai +yiG ] Ui = P
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
CT:LWE sample
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
Decryption:
Attribute hiding property
Run over 1, · · · , `
Predicate: y ∈ Z`q
SK:
U1, U2
, · · · , U`
Ui s.t. [A | Ai +yiG ] Ui = P
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
CT:LWE sample
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
Decryption:
Correctness: which part ?x1 = y1
redondants zeros : DEC→ (0, · · · , 0, m )
Predicate: y ∈ Z`q
SK:
U1, U2
, · · · , U`
Ui s.t. [A | Ai +yiG ] Ui = P
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
CT:LWE sample
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
Decryption:
Correctness: which part ?x` 6= y`
random value : DEC→ (0, 1, 1, · · · , 1, 0 )
Predicate: y ∈ Z`q
SK:
U1, U2
, · · · , U`
Ui s.t. [A | Ai +yiG ] Ui = P
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
CT:LWE sample
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
One-dimensional Scheme
MDRQ based on standard LWEPredicate Encryption scheme using anonymous IBE [ABB10,CHKP10]
D-Dimensional set:
Use additive secret sharing [ABV12+]
Share P in P1 + P2 + · · · +PD ; Uji gives Pi
Predicate: y ∈ Z`q
SK:
U1, U2
, · · · , U`
Ui s.t. [A | Ai +yiG ] Ui = P
Attribute: x ∈ Z`q
A|A1 + x1G|A2 + x2G|· · · |A` + x`G|P
CT:LWE sample
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 11 / 13
And Or Eq LWE-based Scheme
Attribute-Hiding
CT := s>[A, A1 + x1G, · · · , A` + x`G, P] + [0>, · · · , 0>, b′>bq/2c] + noise
MPK CT
s>A + noise
A, A1, G
s> (A1+x1G︸ ︷︷ ︸A′
1
) + noise
≡s>A + noise
≈LWE
A, A′1 −x1G, G
random
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 12 / 13
And Or Eq LWE-based Scheme
Attribute-Hiding
CT := s>[A, A1 + x1G, · · · , A` + x`G, P] + [0>, · · · , 0>, b′>bq/2c] + noise
MPK CT
s>A + noise
A, A1, G
s> (A1+x1G︸ ︷︷ ︸A′
1
) + noise ≡s>A + noise
A, A′1 −x1G, G
s>A′1 + noise
≈LWE
A, A′1 −x1G, G
random
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 12 / 13
And Or Eq LWE-based Scheme
Attribute-Hiding
CT := s>[A, A1 + x1G, · · · , A` + x`G, P] + [0>, · · · , 0>, b′>bq/2c] + noise
MPK CT
s>A + noise
A, A1, G
s> (A1+x1G︸ ︷︷ ︸A′
1
) + noise ≡s>A + noise
A, A′1 −x1G, G
s>A′1 + noise≈
LWE
A, A′1 −x1G, G
random
A, A′1 −x1G, G
random
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 12 / 13
And Or Eq LWE-based Scheme
Summary
Lattice-based predicate encryption scheme for multi-dimensional range query
Selectively secure, weakly attribute hiding
Reference Size Time Attribute basedPK and CT SK ENC DEC hiding on
[BW07] (KP) O(D · T ) O(D) O(D · T ) O(D) fully pairings[SBCSP07](KP,CP) O(D log T ) O(D log T ) O(D log T ) O((log T )D) weakly pairingsthis paper (KP,CP) O(D log T ) O(D log T ) O(D log T ) O((log T )D) weakly lattices
Thanks for your attention !
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 13 / 13
And Or Eq LWE-based Scheme
Summary
Lattice-based predicate encryption scheme for multi-dimensional range query
Selectively secure, weakly attribute hiding
Reference Size Time Attribute basedPK and CT SK ENC DEC hiding on
[BW07] (KP) O(D · T ) O(D) O(D · T ) O(D) fully pairings[SBCSP07](KP,CP) O(D log T ) O(D log T ) O(D log T ) O((log T )D) weakly pairingsthis paper (KP,CP) O(D log T ) O(D log T ) O(D log T ) O((log T )D) weakly lattices
Thanks for your attention !
GMW (ENS, Paris) PE for Multi-Dimensional Range Queries from Lattices Tuesday, March 31 13 / 13