decentralized computing over encrypted data · decentralized computing over encrypted data 4...

35
Chloé Hébant Decentralized Computing over Encrypted Data

Upload: others

Post on 24-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Chloé Hébant

Decentralized Computing over Encrypted Data

Page 2: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Decentralization

Page 3: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Fully Homomorphic Encryption Gentry 2009

Decentralized Computing over Encrypted Data 3

𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛

𝐞𝐞ℎ𝑜𝑜𝑜𝑜(𝑥𝑥1), 
 ,𝐞𝐞ℎ𝑜𝑜𝑜𝑜(𝑥𝑥𝑛𝑛)

𝑓𝑓

𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑓𝑓(𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛)

𝑓𝑓(𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛)

Page 4: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Fully Homomorphic Encryption

Decentralized Computing over Encrypted Data 4

𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛

𝐞𝐞ℎ𝑜𝑜𝑜𝑜𝑝𝑝𝑝𝑝 (𝑥𝑥1), 
 ,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

𝑝𝑝𝑝𝑝 (𝑥𝑥𝑛𝑛)

𝐞𝐞ℎ𝑜𝑜𝑜𝑜𝑝𝑝𝑝𝑝 𝑓𝑓(𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛)

𝑓𝑓(𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛)

Re-encryptionDistributedController

𝐞𝐞ℎ𝑜𝑜𝑜𝑜𝑝𝑝𝑝𝑝𝑈𝑈 𝑓𝑓(𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛)

Page 5: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Distribution

+

No authority

Decentralization

Decentralized Computing over Encrypted Data 5

Decentralization

⇒ Efficient decentralized key generation

Page 6: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

This talk :

Decentralized Re-encryption for a Quadratic Scheme

1. Example of application

2. Encryption scheme for quadratic multivariate polynomials

3. Decentralized scheme

Outline

Decentralized Computing over Encrypted Data 6

Page 7: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Group Testing

Page 8: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Motivation: Group Testing

8

OR

1 1 00 1 0

1 0 10 1 1




1011

Decentralized Computing over Encrypted Data

Page 9: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Motivation: Group Testing

9

1 1 00 1 0

1 0 10 1 1




OR

1011

Decentralized Computing over Encrypted Data

Page 10: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Motivation: Group Testing

10

1011

1 0 1 1 0 0

1 1 00 1 0

1 0 10 1 1




OR

Decentralized Computing over Encrypted Data

Page 11: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Motivation: Group Testing

11

1011

1 0 1 1 0 0

1 1 00 1 0

1 0 10 1 1




OR

Decentralized Computing over Encrypted Data

Page 12: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Motivation: Group Testing

12

𝑊𝑊1𝑊𝑊2 𝑊𝑊𝑜𝑜

ᅵ𝐹𝐹𝑗𝑗 = ᅵ𝑖𝑖

(𝑥𝑥𝑖𝑖𝑗𝑗⋀ᅵ𝑊𝑊𝑖𝑖)

𝑥𝑥11 𝑥𝑥12 
 𝑥𝑥1𝑛𝑛 

𝑥𝑥𝑜𝑜1 𝑥𝑥𝑜𝑜2 
 𝑥𝑥𝑜𝑜𝑛𝑛

OR

Decentralized Computing over Encrypted Data

Page 13: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Motivation: Group Testing

13

ᅵ𝐹𝐹𝑗𝑗 = ᅵ𝑖𝑖

(𝑥𝑥𝑖𝑖𝑗𝑗 ⋅ (1 − 𝑊𝑊𝑖𝑖))

𝑥𝑥11 𝑥𝑥12 
 𝑥𝑥1𝑛𝑛 

𝑥𝑥𝑜𝑜1 𝑥𝑥𝑜𝑜2 
 𝑥𝑥𝑜𝑜𝑛𝑛

OR

𝑊𝑊1𝑊𝑊2 𝑊𝑊𝑜𝑜

Decentralized Computing over Encrypted Data

Page 14: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

2-DNF on Encrypted Data

Decentralized Computing over Encrypted Data 14

𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛 ∈ {0,1}

ᅵ𝑖𝑖=1

𝑜𝑜

(ℓ𝑖𝑖,1 ∧ ℓ𝑖𝑖,2) ℓ𝑖𝑖,1 ∧ ℓ𝑖𝑖,2 ∈ {𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛} ∪ {𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛}

ᅵ𝑖𝑖=1

𝑜𝑜

(𝑊𝑊𝑖𝑖,1 ⋅ 𝑊𝑊𝑖𝑖,2) 𝑊𝑊𝑖𝑖,𝑗𝑗 = ℓ𝑖𝑖,𝑗𝑗𝑊𝑊𝑖𝑖,𝑗𝑗 = 1 − ℓ𝑖𝑖,𝑗𝑗

if ℓ𝑖𝑖,𝑗𝑗 ∈ 𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛if ℓ𝑖𝑖,𝑗𝑗 ∈ {𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛}ï¿œ

2-DNF:

Multivariate polynomial degree 2:

Page 15: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Encryption Scheme

Page 16: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

• BGN 2005

• Freeman 2010

• Our Scheme

• Multi-user setting

• Efficient distributed decryption

• Efficient distributed re-encryption

• Decentralized key generation

The Encryption Scheme

Decentralized Computing over Encrypted Data 16

Page 17: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Notations

Decentralized Computing over Encrypted Data 17

𝑎𝑎 ∈ ℀𝑝𝑝, 𝑎𝑎 𝑠𝑠 = 𝑔𝑔𝑠𝑠𝑎𝑎𝔟𝔟𝑠𝑠 = < 𝑔𝑔𝑠𝑠 >

𝑒𝑒:𝔟𝔟1 × 𝔟𝔟2 → 𝔟𝔟𝑇𝑇

𝒙𝒙 = 𝑥𝑥1, 
 , 𝑥𝑥𝑛𝑛 ∈ ℀𝑝𝑝𝑛𝑛, 𝒙𝒙 𝑠𝑠 = (𝑔𝑔𝑠𝑠𝑥𝑥1 , 
 ,𝑔𝑔𝑠𝑠

𝑥𝑥𝑛𝑛)

𝑎𝑎11 𝑎𝑎12𝑎𝑎21 𝑎𝑎22 ⚂𝑩𝑩 = 𝑎𝑎11 ⋅ 𝑩𝑩 𝑎𝑎12 ⋅ 𝑩𝑩

𝑎𝑎21 ⋅ 𝑩𝑩 𝑎𝑎22 ⋅ 𝑩𝑩

𝑎𝑎 1 • 𝑏𝑏 2 = 𝑎𝑎⚂𝑏𝑏 𝑇𝑇

Page 18: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

The Encryption Scheme

18

Keygen

Decentralized Computing over Encrypted Data

0 00 1

Page 19: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

0 00 1

0 00 1

The Encryption Scheme

19

𝑌𝑌20 00 1

Projection

𝒑𝒑𝑠𝑠 ∈ ker 𝑷𝑷𝑠𝑠 = {𝒙𝒙:𝒙𝒙 ï¿œ 𝑷𝑷𝑠𝑠 = 0 0 }

∈ GL2(℀𝑝𝑝)

sk𝑠𝑠

pk𝑠𝑠 = 𝒑𝒑𝑠𝑠 𝑠𝑠 ⇒ 𝒑𝒑𝑠𝑠 𝑠𝑠 ï¿œ 𝑷𝑷𝑠𝑠 = 0 0 𝑠𝑠

𝑩𝑩𝑠𝑠−1 𝑩𝑩𝑠𝑠𝑷𝑷𝑠𝑠 =

Keygen

𝒑𝒑𝑠𝑠 ∈ ker 𝑷𝑷𝑠𝑠 = {𝒙𝒙:𝒙𝒙 ï¿œ 𝑷𝑷𝑠𝑠 = 0 0 }

pk𝑠𝑠 = 𝒑𝒑𝑠𝑠 𝑠𝑠 ⇒ 𝒑𝒑𝑠𝑠 𝑠𝑠 ï¿œ 𝑷𝑷𝑠𝑠 = 0 0 𝑠𝑠

Decentralized Computing over Encrypted Data

Page 20: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

• Keygen:

sk𝑠𝑠 = 𝑷𝑷𝒔𝒔 = 0 00 1

0 00 1

0 00 1 sk𝑇𝑇 = (sk1, sk2)

pk𝑠𝑠 = 𝒑𝒑𝑠𝑠 𝑠𝑠 ⇒ 𝒑𝒑𝑠𝑠 𝑠𝑠 ï¿œ 𝑷𝑷𝑠𝑠 = 𝟎𝟎 𝑠𝑠 pk𝑇𝑇 = (pk1, pk2)

• Encrypt:

• 𝐶𝐶𝑠𝑠 = ( 𝒄𝒄𝑠𝑠,1 𝑠𝑠, 𝒄𝒄𝑠𝑠,2 𝑠𝑠) = (𝑚𝑚 ï¿œ 𝑎𝑎𝑠𝑠 𝑠𝑠 + 𝑟𝑟 ï¿œ 𝒑𝒑𝑠𝑠 𝑠𝑠, 𝑎𝑎𝑠𝑠 𝑠𝑠) 𝑟𝑟 ∈$ ℀𝑝𝑝

• 𝐶𝐶𝑇𝑇 = ( 𝒄𝒄𝑇𝑇,1 𝑇𝑇 , 𝒄𝒄𝑇𝑇,2 𝑇𝑇) = (𝑚𝑚 ï¿œ 𝑎𝑎1 1 • 𝑎𝑎2 2 + 𝒑𝒑1 1 • 𝒓𝒓2 2 + 𝒓𝒓1 1 • 𝒑𝒑2 2,

𝑎𝑎1 1 • 𝑎𝑎2 2) 𝒓𝒓1 1 ∈$ 𝔟𝔟12, 𝒓𝒓2 2 ∈$ 𝔟𝔟22

• Decrypt:

• 𝐶𝐶𝑠𝑠 ï¿œ 𝑷𝑷𝒔𝒔 = (𝑚𝑚 ï¿œ 𝑎𝑎𝑠𝑠 𝑠𝑠 ï¿œ 𝑷𝑷𝒔𝒔 + 𝟎𝟎 s, 𝑎𝑎𝑠𝑠 𝑠𝑠 ï¿œ 𝑷𝑷𝒔𝒔)

• 𝐶𝐶𝑇𝑇 ï¿œ (𝑷𝑷𝟏𝟏⚂𝑷𝑷𝟐𝟐) = (𝑚𝑚 ï¿œ 𝑎𝑎1 1 • 𝑎𝑎2 2 ï¿œ (𝑷𝑷𝟏𝟏⚂𝑷𝑷𝟐𝟐) + 𝟎𝟎 T, 𝑎𝑎1 1 • 𝑎𝑎2 2 ï¿œ (𝑷𝑷𝟏𝟏⚂𝑷𝑷𝟐𝟐))

The Encryption Scheme

Decentralized Computing over Encrypted Data 20

𝑌𝑌2 𝑩𝑩𝑠𝑠𝑩𝑩𝑠𝑠−1

∈ ker(𝑷𝑷1⚂𝑷𝑷2)

∈ ker(𝑷𝑷𝑠𝑠)

Page 21: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

• Add: Many times

• 𝒄𝒄𝑠𝑠 𝑠𝑠 + 𝒄𝒄𝒄𝑠𝑠 𝑠𝑠 = (𝑚𝑚 + 𝑚𝑚′) ï¿œ 𝒂𝒂𝑠𝑠 𝑠𝑠 + (𝑟𝑟 + 𝑟𝑟′) ï¿œ 𝒑𝒑𝑠𝑠 𝑠𝑠

• 𝒄𝒄𝑇𝑇 𝑇𝑇 + 𝒄𝒄𝑇𝑇 𝑇𝑇 = 𝑚𝑚 + 𝑚𝑚′ ï¿œ 𝒂𝒂1 1 • 𝒂𝒂2 2 + 𝒑𝒑1 1 • 𝒓𝒓2 + 𝒓𝒓′2 2 +

𝒓𝒓1 + 𝒓𝒓𝒄1 1 • 𝒑𝒑2 2

• Multiply: Once

• 𝒄𝒄1 1 • 𝒄𝒄2 2 = 𝑚𝑚1 ï¿œ 𝑚𝑚2 ï¿œ 𝒂𝒂1 1 • 𝒂𝒂2 2 + 𝒑𝒑1 1 • 𝒓𝒓′ 2 + 𝒓𝒓 1 • 𝒑𝒑2 2

with 𝒓𝒓 1 = 𝑚𝑚1𝑟𝑟2𝒂𝒂1

𝒓𝒓𝒄 2 = 𝑚𝑚2𝑟𝑟1𝒂𝒂2 + 𝑟𝑟1𝑟𝑟2𝒑𝒑2

The Homomorphic Properties

Decentralized Computing over Encrypted Data 21

Page 22: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Re-Encryption

22

sk𝑎𝑎

rk𝑎𝑎→𝑏𝑏

rk𝑎𝑎→𝑏𝑏

pk𝑎𝑎

sk𝑏𝑏

pk𝑏𝑏

Decentralized Computing over Encrypted Data

𝑷𝑷 = 𝑩𝑩−1𝑌𝑌2𝑩𝑩 𝑷𝑷𝒄 = 𝑩𝑩′−1𝑌𝑌2𝑩𝑩𝒄

𝑹𝑹 = 𝑩𝑩−1𝑩𝑩𝒄

Page 23: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Problem

Page 24: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

• Distributed decryption and re-encryption ?

• Yes, with distributed keys

• Decentralized key generation ?

• No 


Problem

Decentralized Computing over Encrypted Data 24

0 00 1

0 00 1 𝑌𝑌2

0 00 1𝑩𝑩𝑠𝑠

−1 𝑩𝑩𝑠𝑠𝑷𝑷𝑠𝑠 =

Page 25: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Simplification

Decentralized Computing over Encrypted Data 25

𝑷𝑷𝑠𝑠 = 1 0𝑥𝑥 0

𝒑𝒑𝑠𝑠 𝑠𝑠 = −𝑥𝑥 1 𝑠𝑠

sk𝑠𝑠 = 𝑥𝑥

pk𝑠𝑠 = −𝑥𝑥 𝑠𝑠

● Size of the keys:

● Size of the ciphertexts:

𝒂𝒂𝑠𝑠 𝑠𝑠 = 1 0 𝑠𝑠𝐶𝐶𝑠𝑠 ∈ 𝔟𝔟𝑠𝑠

2 × 𝔟𝔟𝑠𝑠2 ⇒ 𝐶𝐶𝑠𝑠 ∈ 𝔟𝔟𝑠𝑠

2

𝐶𝐶𝑇𝑇 ∈ 𝔟𝔟𝑇𝑇4 × 𝔟𝔟𝑇𝑇

4 ⇒ 𝐶𝐶𝑇𝑇 ∈ 𝔟𝔟𝑇𝑇4

Page 26: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

• Keygen:sk𝑠𝑠 = 𝑥𝑥 sk𝑇𝑇 = (sk1, sk2)pk𝑠𝑠 = −𝑥𝑥 𝑠𝑠 pk𝑇𝑇 = (pk1, pk2)

• Encrypt:• 𝐶𝐶𝑠𝑠 = 𝑔𝑔𝑠𝑠𝑜𝑜 ï¿œ pk𝑠𝑠𝑟𝑟 ,𝑔𝑔𝑠𝑠𝑟𝑟 𝑟𝑟 ∈$ ℀𝑝𝑝

• 𝐶𝐶𝑇𝑇 =

𝑐𝑐𝑇𝑇,1 = 𝑒𝑒 𝑔𝑔1,𝑔𝑔2 𝑜𝑜 ï¿œ 𝑒𝑒 𝑔𝑔1, pk2 𝑟𝑟11 ï¿œ 𝑒𝑒 pk1,𝑔𝑔2 𝑟𝑟21

𝑐𝑐𝑇𝑇,2 = 𝑒𝑒 𝑔𝑔1,𝑔𝑔2 𝑟𝑟11 ï¿œ 𝑒𝑒 pk1,𝑔𝑔2 𝑟𝑟22 ᅵᅵᅵ 𝑒𝑒 𝑔𝑔1,𝑔𝑔2 𝑜𝑜

𝑐𝑐𝑇𝑇,3 = 𝑒𝑒 𝑔𝑔1, pk2 𝑟𝑟12 ï¿œ 𝑒𝑒 𝑔𝑔1,𝑔𝑔2 𝑟𝑟21 ᅵᅵᅵ 𝑒𝑒 𝑔𝑔1,𝑔𝑔2 𝑜𝑜

𝑐𝑐𝑇𝑇,4 = 𝑒𝑒 𝑔𝑔1,𝑔𝑔2 𝑟𝑟12+𝑟𝑟22 ᅵᅵᅵ 𝑒𝑒 𝑔𝑔1,𝑔𝑔2 𝑜𝑜𝑒𝑒 𝑔𝑔1,𝑔𝑔2 𝑜𝑜

𝑟𝑟11, 𝑟𝑟12, 𝑟𝑟21, 𝑟𝑟22 ∈$ ℀𝑝𝑝4

• Decrypt:

• 𝑐𝑐𝑠𝑠,1 ï¿œ 𝑐𝑐𝑠𝑠,2sk𝑠𝑠

• 𝑐𝑐𝑇𝑇,1 ï¿œ 𝑐𝑐𝑇𝑇,2sk2 ï¿œ 𝑐𝑐𝑇𝑇,3

sk1 ï¿œ 𝑐𝑐𝑇𝑇,4sk1ï¿œsk2

The Optimized Encryption Scheme

Decentralized Computing over Encrypted Data 26

Page 27: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Decentralization

Page 28: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Decentralization:1) Decentratized Key Generation

Page 29: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

• 𝑘𝑘 points 𝑥𝑥1,𝑊𝑊1 , 
 , (𝑥𝑥𝑝𝑝 ,𝑊𝑊𝑝𝑝) with distinct abscissa

• Theorem (Lagrange interpolation):

∃!𝑃𝑃 𝑋𝑋 s.t. deg 𝑃𝑃 = 𝑘𝑘 − 1 and 𝑃𝑃 𝑥𝑥𝑖𝑖 = 𝑊𝑊𝑖𝑖

• Shamir Secret Sharing:

• 𝑠𝑠𝑘𝑘 = 𝑥𝑥 = 𝑃𝑃(0), 𝑝𝑝𝑘𝑘 = 𝑔𝑔𝑥𝑥

• sk𝑖𝑖 = 𝑃𝑃 𝑖𝑖 for 𝑖𝑖 = 1  𝑛𝑛

• For any subset 𝑆𝑆 of 𝑘𝑘 indices:

𝑥𝑥 = ᅵ𝑗𝑗∈𝑆𝑆

𝜆𝜆𝑆𝑆,𝑗𝑗𝑠𝑠𝑘𝑘𝑗𝑗

𝑊𝑊 = ∏𝑗𝑗∈𝑆𝑆 𝑣𝑣𝑗𝑗𝜆𝜆𝑆𝑆,𝑗𝑗 for 𝑣𝑣𝑗𝑗 = 𝑔𝑔𝑠𝑠𝑝𝑝𝑗𝑗

Shamir Secret Sharing 1979

Decentralized Computing over Encrypted Data 29

Page 30: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Decentralization:2) Distributed Re-Encryption

Page 31: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

• 𝑐𝑐𝑠𝑠 = 𝑐𝑐𝑠𝑠,1, 𝑐𝑐𝑠𝑠,2 under 𝑝𝑝𝑘𝑘𝑠𝑠 → 𝐶𝐶𝑠𝑠 = 𝐶𝐶𝑠𝑠,1,𝐶𝐶𝑠𝑠,2 under 𝑃𝑃𝑃𝑃𝑠𝑠

• Shamir Secret Sharing: 𝑠𝑠𝑘𝑘𝑠𝑠 = ∑𝑖𝑖 𝜆𝜆𝑖𝑖 ï¿œ 𝑠𝑠𝑘𝑘𝑠𝑠,𝑖𝑖

• Player 𝑖𝑖 computes:

𝑟𝑟𝑖𝑖′ ∈𝑅𝑅 ℀𝑝𝑝,𝛌𝛌𝑖𝑖 = 𝑐𝑐𝑠𝑠,2𝑠𝑠𝑝𝑝𝑠𝑠,𝑖𝑖 ï¿œ 𝑃𝑃𝑃𝑃𝑠𝑠

𝑟𝑟𝑖𝑖′,𝛜𝛜𝑖𝑖 = 𝑔𝑔𝑠𝑠

𝑟𝑟𝑖𝑖′

• Anybody can compute:

𝐶𝐶𝑠𝑠 = (𝑐𝑐𝑠𝑠,1 × ᅵ𝑖𝑖

𝛌𝛌𝑖𝑖𝜆𝜆𝑖𝑖 ,ï¿œ

𝑖𝑖

𝛜𝛜𝑖𝑖𝜆𝜆𝑖𝑖)

= (𝑔𝑔𝑠𝑠𝑜𝑜 ï¿œ 𝑃𝑃𝑃𝑃𝑠𝑠𝑟𝑟′ ,𝑔𝑔𝑠𝑠𝑟𝑟

′) 𝑟𝑟′ = ∑𝑖𝑖 𝜆𝜆𝑖𝑖 ï¿œ 𝑟𝑟𝑖𝑖′

Distributed Re-encryption

Decentralized Computing over Encrypted Data 31

Page 32: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Solution: Group Testing

32

𝐶𝐶𝑗𝑗 = RandT(Add𝑖𝑖(Multiply(𝐶𝐶𝑥𝑥𝑖𝑖𝑗𝑗 ,𝐶𝐶𝑊𝑊𝑖𝑖)))

𝑗𝑗

𝐶𝐶𝑥𝑥𝑖𝑖𝑗𝑗 𝐶𝐶𝑊𝑊𝑖𝑖

Decentralized Computing over Encrypted Data

Page 33: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Conclusion

Page 34: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

• Efficient scheme to evaluate quadratic multivariate polynomials

• Distributed decryption

• Distributed re-encryption

• Decentralized key generation

• Open problem:

Decentralized FHE

Conclusion

Decentralized Computing over Encrypted Data 34

Page 35: Decentralized Computing over Encrypted Data · Decentralized Computing over Encrypted Data 4 𝑥𝑥1,
,𝑥𝑥𝑛𝑛 𝐞𝐞ℎ𝑜𝑜𝑜𝑜 𝑝𝑝𝑝𝑝(𝑥𝑥 1),
,𝐞𝐞ℎ𝑜𝑜𝑜𝑜

Thank you

ia.cr/2018/1019

Joined work with David Pointcheval and Duong-Hieu Phan