35
ChloΓ© HΓ©bant Decentralized Computing over Encrypted Data

Decentralized Computing over Encrypted DataΒ Β· Decentralized Computing over Encrypted Data 4 π‘₯π‘₯1,…,π‘₯π‘₯𝑛𝑛 πΈπΈβ„Žπ‘œπ‘œπ‘œπ‘œ 𝑝𝑝𝑝𝑝(π‘₯π‘₯ 1),…,πΈπΈβ„Žπ‘œπ‘œπ‘œπ‘œ

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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