design and implementation of lattice-based cryptography · design and implementation of...

105
DESIGN AND I MPLEMENTATION OF L ATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg Thèse CIFRE effectuée au sein de CryptoExperts Soutenance de thèse de doctorat – 30 juin 2014

Upload: others

Post on 03-Jun-2020

17 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

DESIGN AND IMPLEMENTATION

OF LATTICE-BASED CRYPTOGRAPHY

Tancrède Lepoint

École Normale Supérieure & Université du LuxembourgThèse CIFRE effectuée au sein de CryptoExperts

Soutenance de thèse de doctorat – 30 juin 2014

Page 2: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Outline

1. Introduction

2. Fully Homomorphic Encryption

3. Cryptographic Multilinear Maps

4. Conclusion

2 / 41

Page 3: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Outline

1. Introduction

2. Fully Homomorphic Encryption

3. Cryptographic Multilinear Maps

4. Conclusion

2 / 41

Page 4: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Cloud Computing

Program or application onconnected server(s)rather than locally

3 / 41

Page 5: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Modelization

{mi}i

f(m0, . . . ,mi)f

f is the service provided by the Cloud on your data mi

4 / 41

Page 6: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Confidentiality of Your Data

{mi}i

f(m0, . . . ,mi)

The Cloud knows all your data

f{mi}i

1. Confidentiality of your data in the Cloud?

2. Confidentiality of the channel?

5 / 41

Page 7: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Confidentiality of Your Data

{mi}i

f(m0, . . . ,mi)

Secure channel? The Cloud knows all your data

f{mi}i

1. Confidentiality of your data in the Cloud?

2. Confidentiality of the channel?

5 / 41

Page 8: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

EncryptionAlice Bob

Eve

To:4442642999

(scam)

“My cell number is 444 264 2999”

But...They need to share a secret key !

6 / 41

Page 9: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

EncryptionAlice Bob

???

Eve???

To:

(scam)

0x93ac584f00. . . 0ab369

But...They need to share a secret key !

6 / 41

Page 10: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

EncryptionAlice Bob

Alice’s number:444 264 2999

Eve???

To:

(scam)

0x93ac584f00. . . 0ab369

But...They need to share a secret key !

6 / 41

Page 11: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

EncryptionAlice Bob

Alice’s number:444 264 2999

Eve???

To:

(scam)

0x93ac584f00. . . 0ab369

But...They need to share a secret key !

6 / 41

Page 12: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Key Exchange (Diffie-Hellman)

Alice

Bob

Eve

Eve

Eve

Eve

Eve

Eve

Eve

Eve

7 / 41

Page 13: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Key Exchange (Diffie-Hellman)

Alice

Bob

Eve

Eve

Eve

Eve

Eve

Eve

Eve

Eve

Public parameters: G = 〈g〉 or order p

7 / 41

Page 14: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Key Exchange (Diffie-Hellman)

Alice

Bob

Eve

Eve

Eve

Eve

Eve

Eve

Eve

Eve

Public parameters: G = 〈g〉 or order p

Random a← Zp

Random b← Zp

Alice: ga Bob: gb

7 / 41

Page 15: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Key Exchange (Diffie-Hellman)

Alice

Bob

Eve

Eve

Eve

Eve

Eve

Eve

Eve

Eve

Public parameters: G = 〈g〉 or order p

Random a← Zp

Random b← Zp

Alice: ga Bob: gb

= (gb)a = gab

= (ga)b = gab

7 / 41

Page 16: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contribution #1: [CLT-C13]

É New construction ofMULTILINEAR MAPS

É Extension of Bilinear Maps

É First implementations of:É Multilinear MapsÉ A 26-parties one-round key

exchange

Only one other construction ,!

Lots of exciting applications!!

Only implemented for 2 and 3 parties!

8 / 41

Page 17: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contribution #1: [CLT-C13]

É New construction ofMULTILINEAR MAPS

É Extension of Bilinear Maps

É First implementations of:É Multilinear MapsÉ A 26-parties one-round key

exchange

Only one other construction ,!

Lots of exciting applications!!

Only implemented for 2 and 3 parties!

8 / 41

Page 18: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contribution #1: [CLT-C13]

É New construction ofMULTILINEAR MAPS

É Extension of Bilinear Maps

É First implementations of:É Multilinear MapsÉ A 26-parties one-round key

exchange

Only one other construction ,!

Lots of exciting applications!!

Only implemented for 2 and 3 parties!

8 / 41

Page 19: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contribution #1: [CLT-C13]

É New construction ofMULTILINEAR MAPS

É Extension of Bilinear Maps

É First implementations of:É Multilinear MapsÉ A 26-parties one-round key

exchange

c0

c1

c2

c3

c4c5

c6c7c8c9

c10

c11

c12

c13

c14

c15c16

c17c18 c19 c20

c21c22

c23

c24

c25

Only one other construction ,!

Lots of exciting applications!!

Only implemented for 2 and 3 parties!

8 / 41

Page 20: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contribution #1: [CLT-C13]

É New construction ofMULTILINEAR MAPS

É Extension of Bilinear Maps

É First implementations of:É Multilinear MapsÉ A 26-parties one-round key

exchange

c0

c1

c2

c3

c4c5

c6c7c8c9

c10

c11

c12

c13

c14

c15c16

c17c18 c19 c20

c21c22

c23

c24

c25a0

Only one other construction ,!

Lots of exciting applications!!

Only implemented for 2 and 3 parties!

8 / 41

Page 21: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contribution #1: [CLT-C13]

É New construction ofMULTILINEAR MAPS

É Extension of Bilinear Maps

É First implementations of:É Multilinear MapsÉ A 26-parties one-round key

exchange

c0

c1

c2

c3

c4c5

c6c7c8c9

c10

c11

c12

c13

c14

c15c16

c17c18 c19 c20

c21c22

c23

c24

c25a0

a1

Only one other construction ,!

Lots of exciting applications!!

Only implemented for 2 and 3 parties!

8 / 41

Page 22: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contribution #1: [CLT-C13]

É New construction ofMULTILINEAR MAPS

É Extension of Bilinear Maps

É First implementations of:É Multilinear MapsÉ A 26-parties one-round key

exchange

c0

c1

c2

c3

c4c5

c6c7c8c9

c10

c11

c12

c13

c14

c15c16

c17c18 c19 c20

c21c22

c23

c24

c25

Only one other construction ,!

Lots of exciting applications!!

Only implemented for 2 and 3 parties!

8 / 41

Page 23: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Confidentiality of Your Data

{mi}i

f(m0, . . . ,mi)

Secure channel? The Cloud knows all your data

f{mi}i

É We assume communication with the Cloud is secure Ø

This is the current situation

9 / 41

Page 24: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Confidentiality of Your Data

Secure channel X

{mi}i

f(m0, . . . ,mi)

The Cloud knows all your data

f{mi}i

É We assume communication with the Cloud is secure Ø

This is the current situation

9 / 41

Page 25: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Confidentiality w.r.t. The Cloud

{Enc(mi)}i

The Cloud knows nothing about your data

f???

É For confidentiality, we use encryption

É Now... limited to storage/retrievalÉ This is not even what Dropbox/Google Drive/Microsoft OneDrive/Amazon

S2/iCloud Drive/etc. are doingÉ Allow access control and sharing, interaction with whole app universe, etc.

10 / 41

Page 26: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Confidentiality w.r.t. The Cloud

{Enc(mi)}i

{Enc(mi)}i∈I

The Cloud knows nothing about your data

Storage/Retrieval

É For confidentiality, we use encryptionÉ Now... limited to storage/retrieval

É This is not even what Dropbox/Google Drive/Microsoft OneDrive/AmazonS2/iCloud Drive/etc. are doingÉ Allow access control and sharing, interaction with whole app universe, etc.

10 / 41

Page 27: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Confidentiality w.r.t. The Cloud

{Enc(mi)}i

{Enc(mi)}i∈I

The Cloud knows nothing about your data

Storage/Retrieval

É For confidentiality, we use encryptionÉ Now... limited to storage/retrievalÉ This is not even what Dropbox/Google Drive/Microsoft OneDrive/Amazon

S2/iCloud Drive/etc. are doingÉ Allow access control and sharing, interaction with whole app universe, etc.

10 / 41

Page 28: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Fully Homomorphic Encryption

[RivestAdlemanDertouzos78]

Going beyond the storage/retrieval of encrypted data by permitting encrypteddata to be operated on for interesting operations, in a public fashion?

É Enable unlimited computation on encrypted data(w.l.o.g. mi’s are bits and f Boolean circuit)

pkFHE

{EncFHE(mi)}i

EncFHE(f(m0, . . . ,mi))

(public homomorphic computations)

f

11 / 41

Page 29: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contribution #2

É Theoretical improvements of the DGHV schemeÉ Packing several plaintexts in one ciphertext [CCKLLTY-EC13]É Adaptation of a technique to manage noise growth [CLT-PKC14]

É Exponential improvement!

É Fine analysis of the constraints to select concrete parameters

É Implementations of the schemes and benchmark on f =AES

12 / 41

Page 30: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Outline

1. Introduction

2. Fully Homomorphic Encryption

3. Cryptographic Multilinear Maps

4. Conclusion

13 / 41

Page 31: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

DGHV Scheme [vDGHV10]

É Public error-free element: x0 = q0 ·pÉ Secret key sk= p

É Ciphertext for m ∈ {0, 1}:c = q ·p+2 · r+m

where q large random, r small random

É Decryption of c:

m= (c mod p)mod 2

c =

γ bits

p : η bits

r : ρ bits

14 / 41

Page 32: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

DGHV Scheme [vDGHV10]

É Public error-free element: x0 = q0 ·pÉ Secret key sk= p

É Ciphertext for m ∈ {0, 1}:c = q ·p+2 · r+m

where q large random, r small random

É Decryption of c:

m= (c mod p)mod 2

c =

γ bits

p : η bits

r : ρ bits

14 / 41

Page 33: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

DGHV Scheme [vDGHV10]

É Public error-free element: x0 = q0 ·pÉ Secret key sk= p

É Ciphertext for m ∈ {0, 1}:c = q ·p+2 · r+m

where q large random, r small random

É Decryption of c:

m= (c mod p)mod 2

c =

γ bits

p : η bits

r : ρ bits

14 / 41

Page 34: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Homomorphic Properties

É How to Add and Multiply Encrypted Bits:É Add/Mult two near-multiples of p gives a near-multiple of p

É c1 = q1 ·p+2 · r1+m1, c2 = q2 ·p+2 · r2+m2

É c1+ c2 = p · (q1+q2) +2 · (r1+ r2) +m1+m2︸ ︷︷ ︸

mod 2→m1XORm2

É c1 · c2 = p · (c2q1+ c1q2−q1q2) +2 · (2r1r2+ r2m1+ r1m2) +m1 ·m2︸ ︷︷ ︸

mod 2→m1ANDm2

×

×

×

Correctness for multiplicative depth of L: log2 p=η≈ 2L · (ρ+1)

15 / 41

Page 35: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Homomorphic Properties

É How to Add and Multiply Encrypted Bits:É Add/Mult two near-multiples of p gives a near-multiple of p

É c1 = q1 ·p+2 · r1+m1, c2 = q2 ·p+2 · r2+m2

É c1+ c2 = p · (q1+q2) +2 · (r1+ r2) +m1+m2︸ ︷︷ ︸

mod 2→m1XORm2

É c1 · c2 = p · (c2q1+ c1q2−q1q2) +2 · (2r1r2+ r2m1+ r1m2) +m1 ·m2︸ ︷︷ ︸

mod 2→m1ANDm2

×

×

×

Correctness for multiplicative depth of L: log2 p=η≈ 2L · (ρ+1)

15 / 41

Page 36: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Our Contributions

1. New problem: Decisional Approximate-GCD problem [CCKLLTY-EC13]É Proved equivalent to the computational AGCD problem of [vDGHV10] in[CLT-PKC14]

É Proofs are simpler!

2. Batching: encrypt vectors of bits instead of single bits [CCKLLTY-EC13]É Reduce asymptotic overhead per gateÉ Useful for parallelization

3. Management of the noise growthÉ Heuristic method modeling noise growth [LP13]É Exponential improvement with scale-invariance technique [CLT-PKC14]

4. ImplementationsÉ Benchmark on AES circuit [CCKLLTY-EC13,CLT-PKC14]

16 / 41

Page 37: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Our Contributions

1. New problem: Decisional Approximate-GCD problem [CCKLLTY-EC13]É Proved equivalent to the computational AGCD problem of [vDGHV10] in[CLT-PKC14]

É Proofs are simpler!

2. Batching: encrypt vectors of bits instead of single bits [CCKLLTY-EC13]É Reduce asymptotic overhead per gateÉ Useful for parallelization

3. Management of the noise growthÉ Heuristic method modeling noise growth [LP13]É Exponential improvement with scale-invariance technique [CLT-PKC14]

4. ImplementationsÉ Benchmark on AES circuit [CCKLLTY-EC13,CLT-PKC14]

16 / 41

Page 38: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Our Contributions

1. New problem: Decisional Approximate-GCD problem [CCKLLTY-EC13]É Proved equivalent to the computational AGCD problem of [vDGHV10] in[CLT-PKC14]

É Proofs are simpler!

2. Batching: encrypt vectors of bits instead of single bits [CCKLLTY-EC13]É Reduce asymptotic overhead per gateÉ Useful for parallelization

3. Management of the noise growthÉ Heuristic method modeling noise growth [LP13]É Exponential improvement with scale-invariance technique [CLT-PKC14]

4. ImplementationsÉ Benchmark on AES circuit [CCKLLTY-EC13,CLT-PKC14]

16 / 41

Page 39: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Our Contributions

1. New problem: Decisional Approximate-GCD problem [CCKLLTY-EC13]É Proved equivalent to the computational AGCD problem of [vDGHV10] in[CLT-PKC14]

É Proofs are simpler!

2. Batching: encrypt vectors of bits instead of single bits [CCKLLTY-EC13]É Reduce asymptotic overhead per gateÉ Useful for parallelization

3. Management of the noise growthÉ Heuristic method modeling noise growth [LP13]É Exponential improvement with scale-invariance technique [CLT-PKC14]

4. ImplementationsÉ Benchmark on AES circuit [CCKLLTY-EC13,CLT-PKC14]

16 / 41

Page 40: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Semantic Security of the SchemeConsider

D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)}

Security of the scheme based on:

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D, decide whether z is uniformlygenerated in [0, x0) or in D

Semantic security of the scheme:

É Recall that c = q ·p+2r+mÉ Since gcd(2, q0) = 1, c = 2 ·

(q/2 mod q0) ·p+ r︸ ︷︷ ︸

indistinguishable from uniform mod x0

+m mod (q0 ·p)

É Therefore ciphertext of m indistinguishable from uniform

17 / 41

Page 41: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Semantic Security of the SchemeConsider

D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)}

Security of the scheme based on:

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D, decide whether z is uniformlygenerated in [0, x0) or in D

Semantic security of the scheme:É Recall that c = q ·p+2r+m

É Since gcd(2, q0) = 1, c = 2 ·�

(q/2 mod q0) ·p+ r︸ ︷︷ ︸

indistinguishable from uniform mod x0

+m mod (q0 ·p)

É Therefore ciphertext of m indistinguishable from uniform

17 / 41

Page 42: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Semantic Security of the SchemeConsider

D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)}

Security of the scheme based on:

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D, decide whether z is uniformlygenerated in [0, x0) or in D

Semantic security of the scheme:É Recall that c = q ·p+2r+m

É Since gcd(2, q0) = 1, c = 2 ·�

(q/2 mod q0) ·p+ r︸ ︷︷ ︸

indistinguishable from uniform mod x0

+m mod (q0 ·p)

É Therefore ciphertext of m indistinguishable from uniform

17 / 41

Page 43: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Batching (1)É In one ciphertext, encode ` plaintexts

É Addition and Multiplication: in parallelover the ` slots

É Permutations between the slots (algebraicstructure)

u1 u2 u3 · · · u`

+× v1 v2 v3 · · · v`

w1 w2 w3 · · · w`

É Public element x0 = q0 ·pÉ Ciphertext of m ∈ {0, 1}:

c = q ·p+2r+m

É c mod p= 2r+m ; c mod q0 = q︸︷︷︸

uniform in [0, q0)

·p+2r+m mod q0

É We can writec =CRTq0,p

q′, 2r+m�

18 / 41

Page 44: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Batching (1)É In one ciphertext, encode ` plaintexts

É Addition and Multiplication: in parallelover the ` slots

É Permutations between the slots (algebraicstructure)

u1 u2 u3 · · · u`u1 u2 u3 u4 · · · u`

π

u2 u` · · · u3 · · · u1 u4 · · ·

É Public element x0 = q0 ·pÉ Ciphertext of m ∈ {0, 1}:

c = q ·p+2r+m

É c mod p= 2r+m ; c mod q0 = q︸︷︷︸

uniform in [0, q0)

·p+2r+m mod q0

É We can writec =CRTq0,p

q′, 2r+m�

18 / 41

Page 45: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Batching (1)É In one ciphertext, encode ` plaintexts

É Addition and Multiplication: in parallelover the ` slots

É Permutations between the slots (algebraicstructure)

u1 u2 u3 · · · u`

+× v1 v2 v3 · · · v`

w1 w2 w3 · · · w`

É Public element x0 = q0 ·pÉ Ciphertext of m ∈ {0, 1}:

c = q ·p+2r+m

É c mod p= 2r+m ; c mod q0 = q︸︷︷︸

uniform in [0, q0)

·p+2r+m mod q0

É We can writec =CRTq0,p

q′, 2r+m�

18 / 41

Page 46: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Batching (1)É In one ciphertext, encode ` plaintexts

É Addition and Multiplication: in parallelover the ` slots

É Permutations between the slots (algebraicstructure)

u1 u2 u3 · · · u`

+× v1 v2 v3 · · · v`

w1 w2 w3 · · · w`

É Public element x0 = q0 ·pÉ Ciphertext of m ∈ {0, 1}:

c = q ·p+2r+m

É c mod p= 2r+m ; c mod q0 = q︸︷︷︸

uniform in [0, q0)

·p+2r+m mod q0

É We can writec =CRTq0,p

q′, 2r+m�

18 / 41

Page 47: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Batching (1)É In one ciphertext, encode ` plaintexts

É Addition and Multiplication: in parallelover the ` slots

É Permutations between the slots (algebraicstructure)

u1 u2 u3 · · · u`

+× v1 v2 v3 · · · v`

w1 w2 w3 · · · w`

É Public element x0 = q0 ·pÉ Ciphertext of m ∈ {0, 1}:

c = q ·p+2r+m

É c mod p= 2r+m ; c mod q0 = q︸︷︷︸

uniform in [0, q0)

·p+2r+m mod q0

É We can writec =CRTq0,p

q′, 2r+m�

18 / 41

Page 48: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Batching (1)É In one ciphertext, encode ` plaintexts

É Addition and Multiplication: in parallelover the ` slots

É Permutations between the slots (algebraicstructure)

u1 u2 u3 · · · u`

+× v1 v2 v3 · · · v`

w1 w2 w3 · · · w`

É Public element x0 = q0 ·pÉ Ciphertext of m ∈ {0, 1}:

c = q ·p+2r+m

É c mod p= 2r+m ; c mod q0 = q︸︷︷︸

uniform in [0, q0)

·p+2r+m mod q0

É We can writec =CRTq0,p

q′, 2r+m�

18 / 41

Page 49: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Batching (2): Extend the Chinese Remainder Theorem

c =CRTq0,p

q′, 2r+m�

É Generalization to several slots is easy!

É Ciphertext of ~m= (m1, . . . , m`) ∈ {0, 1}`:

c =CRTq0,p1,...,p`

q′, 2r1+m1, . . . , 2r`+m`

É Decryption:mi = (c mod pi)mod 2

É Thanks to the structure of the CRT:É Addition: the addition is performed modulo each pi similarly to DGHVÉ Multiplication: the multiplication is performed modulo each pi similarly to

DGHV

19 / 41

Page 50: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Batching (2): Extend the Chinese Remainder Theorem

c =CRTq0,p

q′, 2r+m�

É Generalization to several slots is easy!

É Ciphertext of ~m= (m1, . . . , m`) ∈ {0, 1}`:

c =CRTq0,p1,...,p`

q′, 2r1+m1, . . . , 2r`+m`

É Decryption:mi = (c mod pi)mod 2

É Thanks to the structure of the CRT:É Addition: the addition is performed modulo each pi similarly to DGHVÉ Multiplication: the multiplication is performed modulo each pi similarly to

DGHV

19 / 41

Page 51: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Batching (2): Extend the Chinese Remainder Theorem

c =CRTq0,p

q′, 2r+m�

É Generalization to several slots is easy!

É Ciphertext of ~m= (m1, . . . , m`) ∈ {0, 1}`:

c =CRTq0,p1,...,p`

q′, 2r1+m1, . . . , 2r`+m`

É Decryption:mi = (c mod pi)mod 2

É Thanks to the structure of the CRT:É Addition: the addition is performed modulo each pi similarly to DGHVÉ Multiplication: the multiplication is performed modulo each pi similarly to

DGHV19 / 41

Page 52: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Security of the Batch Scheme BDGHV

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)},decide whether z is uniformly generated in [0, x0) or in D

Sketch:

(Error-Free) `-Decisional Approximate-GCD

Given x0 = q0 ·p1 · · ·p` and polynomially many xi ∈D` = {CRTq0 ,pi (q, . . . , ri, . . .) : q← [0, q0), ri← [0, 2ρ )}, decide whetherz is uniformly generated in [0, x0) or in D`

É For `= 1, the above problem is the (Error-Free) Decisional Approximate-GCDÉ Let A be an adversary having adv. ε to solve this latter problemÉ Denote Di the distribution of elements of the form

CRTq0 ,p1 ,...,p` (q, ∗, . . . ,∗︸ ︷︷ ︸

`− i random

, ri, . . . , r`)

É ∃j0 s.t. A has advantage ≥ ε/` to distinguish Dj0−1 and Dj0É With proba 1/`, you can place p at the position j0 (generate the `−1 other pi’s yourself), and you use the

challenge z for this slot

Security based on same problem as before!

20 / 41

Page 53: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Security of the Batch Scheme BDGHV

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)},decide whether z is uniformly generated in [0, x0) or in D

Sketch:

(Error-Free) `-Decisional Approximate-GCD

Given x0 = q0 ·p1 · · ·p` and polynomially many xi ∈D` = {CRTq0 ,pi (q, . . . , ri, . . .) : q← [0, q0), ri← [0, 2ρ )}, decide whetherz is uniformly generated in [0, x0) or in D`

É For `= 1, the above problem is the (Error-Free) Decisional Approximate-GCDÉ Let A be an adversary having adv. ε to solve this latter problemÉ Denote Di the distribution of elements of the form

CRTq0 ,p1 ,...,p` (q, ∗, . . . ,∗︸ ︷︷ ︸

`− i random

, ri, . . . , r`)

É ∃j0 s.t. A has advantage ≥ ε/` to distinguish Dj0−1 and Dj0É With proba 1/`, you can place p at the position j0 (generate the `−1 other pi’s yourself), and you use the

challenge z for this slot

Security based on same problem as before!

20 / 41

Page 54: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Security of the Batch Scheme BDGHV

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)},decide whether z is uniformly generated in [0, x0) or in D

Sketch:

(Error-Free) `-Decisional Approximate-GCD

Given x0 = q0 ·p1 · · ·p` and polynomially many xi ∈D` = {CRTq0 ,pi (q, . . . , ri, . . .) : q← [0, q0), ri← [0, 2ρ )}, decide whetherz is uniformly generated in [0, x0) or in D`

É For `= 1, the above problem is the (Error-Free) Decisional Approximate-GCD

É Let A be an adversary having adv. ε to solve this latter problemÉ Denote Di the distribution of elements of the form

CRTq0 ,p1 ,...,p` (q, ∗, . . . ,∗︸ ︷︷ ︸

`− i random

, ri, . . . , r`)

É ∃j0 s.t. A has advantage ≥ ε/` to distinguish Dj0−1 and Dj0É With proba 1/`, you can place p at the position j0 (generate the `−1 other pi’s yourself), and you use the

challenge z for this slot

Security based on same problem as before!

20 / 41

Page 55: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Security of the Batch Scheme BDGHV

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)},decide whether z is uniformly generated in [0, x0) or in D

Sketch:

(Error-Free) `-Decisional Approximate-GCD

Given x0 = q0 ·p1 · · ·p` and polynomially many xi ∈D` = {CRTq0 ,pi (q, . . . , ri, . . .) : q← [0, q0), ri← [0, 2ρ )}, decide whetherz is uniformly generated in [0, x0) or in D`

É For `= 1, the above problem is the (Error-Free) Decisional Approximate-GCDÉ Let A be an adversary having adv. ε to solve this latter problem

É Denote Di the distribution of elements of the form

CRTq0 ,p1 ,...,p` (q, ∗, . . . ,∗︸ ︷︷ ︸

`− i random

, ri, . . . , r`)

É ∃j0 s.t. A has advantage ≥ ε/` to distinguish Dj0−1 and Dj0É With proba 1/`, you can place p at the position j0 (generate the `−1 other pi’s yourself), and you use the

challenge z for this slot

Security based on same problem as before!

20 / 41

Page 56: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Security of the Batch Scheme BDGHV

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)},decide whether z is uniformly generated in [0, x0) or in D

Sketch:

(Error-Free) `-Decisional Approximate-GCD

Given x0 = q0 ·p1 · · ·p` and polynomially many xi ∈D` = {CRTq0 ,pi (q, . . . , ri, . . .) : q← [0, q0), ri← [0, 2ρ )}, decide whetherz is uniformly generated in [0, x0) or in D`

É For `= 1, the above problem is the (Error-Free) Decisional Approximate-GCDÉ Let A be an adversary having adv. ε to solve this latter problemÉ Denote Di the distribution of elements of the form

CRTq0 ,p1 ,...,p` (q, ∗, . . . ,∗︸ ︷︷ ︸

`− i random

, ri, . . . , r`)

É ∃j0 s.t. A has advantage ≥ ε/` to distinguish Dj0−1 and Dj0É With proba 1/`, you can place p at the position j0 (generate the `−1 other pi’s yourself), and you use the

challenge z for this slot

Security based on same problem as before!

20 / 41

Page 57: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Security of the Batch Scheme BDGHV

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)},decide whether z is uniformly generated in [0, x0) or in D

Sketch:

(Error-Free) `-Decisional Approximate-GCD

Given x0 = q0 ·p1 · · ·p` and polynomially many xi ∈D` = {CRTq0 ,pi (q, . . . , ri, . . .) : q← [0, q0), ri← [0, 2ρ )}, decide whetherz is uniformly generated in [0, x0) or in D`

É For `= 1, the above problem is the (Error-Free) Decisional Approximate-GCDÉ Let A be an adversary having adv. ε to solve this latter problemÉ Denote Di the distribution of elements of the form

CRTq0 ,p1 ,...,p` (q, ∗, . . . ,∗︸ ︷︷ ︸

`− i random

, ri, . . . , r`)

É ∃j0 s.t. A has advantage ≥ ε/` to distinguish Dj0−1 and Dj0

É With proba 1/`, you can place p at the position j0 (generate the `−1 other pi’s yourself), and you use thechallenge z for this slot

Security based on same problem as before!

20 / 41

Page 58: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Security of the Batch Scheme BDGHV

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)},decide whether z is uniformly generated in [0, x0) or in D

Sketch:

(Error-Free) `-Decisional Approximate-GCD

Given x0 = q0 ·p1 · · ·p` and polynomially many xi ∈D` = {CRTq0 ,pi (q, . . . , ri, . . .) : q← [0, q0), ri← [0, 2ρ )}, decide whetherz is uniformly generated in [0, x0) or in D`

É For `= 1, the above problem is the (Error-Free) Decisional Approximate-GCDÉ Let A be an adversary having adv. ε to solve this latter problemÉ Denote Di the distribution of elements of the form

CRTq0 ,p1 ,...,p` (q, ∗, . . . ,∗︸ ︷︷ ︸

`− i random

, ri, . . . , r`)

É ∃j0 s.t. A has advantage ≥ ε/` to distinguish Dj0−1 and Dj0É With proba 1/`, you can place p at the position j0 (generate the `−1 other pi’s yourself), and you use the

challenge z for this slot

Security based on same problem as before!

20 / 41

Page 59: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Security of the Batch Scheme BDGHV

(Error-Free) Decisional Approximate-GCD

Given x0 = q0 ·p and polynomially many xi ∈D= {q ·p+ r : q← [0, q0), r← [0, 2ρ)},decide whether z is uniformly generated in [0, x0) or in D

Sketch:

(Error-Free) `-Decisional Approximate-GCD

Given x0 = q0 ·p1 · · ·p` and polynomially many xi ∈D` = {CRTq0 ,pi (q, . . . , ri, . . .) : q← [0, q0), ri← [0, 2ρ )}, decide whetherz is uniformly generated in [0, x0) or in D`

É For `= 1, the above problem is the (Error-Free) Decisional Approximate-GCDÉ Let A be an adversary having adv. ε to solve this latter problemÉ Denote Di the distribution of elements of the form

CRTq0 ,p1 ,...,p` (q, ∗, . . . ,∗︸ ︷︷ ︸

`− i random

, ri, . . . , r`)

É ∃j0 s.t. A has advantage ≥ ε/` to distinguish Dj0−1 and Dj0É With proba 1/`, you can place p at the position j0 (generate the `−1 other pi’s yourself), and you use the

challenge z for this slot

Security based on same problem as before!

20 / 41

Page 60: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Advantages of the Batch Variant

É Parallelization:u1 u2 u3 · · · u`

+× v1 v2 v3 · · · v`

w1 w2 w3 · · · w`

É Use the fact that q� p to pack elements

c =

γ bits

p : η bits

r : ρ bits

É (Also asymptotic reduction of overhead per gate with permutations)

[CCKLLTY13]

With essentially same complexity costs and same security, operations over`≥ 1 bits!

21 / 41

Page 61: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Mitigating Noise Growth: Scale-Invariance

É Even with batch variant, exponential growth of the noise

×

×

×

É New technique introduced by Brakerski: scale-invarianceÉ Instead of encrypting in the LSB of c mod p, encrypt in the MSBÉ Adapted for DGHV [CLT-PKC14]

(γ − η) bits η bits

m1r∗1

r1q1

ρ bitsρ∗ bits

(γ − η) bits η bits

m2r∗2

r2q2

ρ bitsρ∗ bits×

MSB

(2γ − η) bits η bits

m r′q′

(ρ + ρ∗ + η) bits

LSB

Convert(γ − η) bits η bits

mr∗ rq

ρ∗ bits (ρ + ρ∗) bits

22 / 41

Page 62: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Mitigating Noise Growth: Scale-Invariance

É Even with batch variant, exponential growth of the noise

×

×

×

É New technique introduced by Brakerski: scale-invarianceÉ Instead of encrypting in the LSB of c mod p, encrypt in the MSBÉ Adapted for DGHV [CLT-PKC14]

(γ − η) bits η bits

m1r∗1

r1q1

ρ bitsρ∗ bits

(γ − η) bits η bits

m2r∗2

r2q2

ρ bitsρ∗ bits×

MSB

(2γ − η) bits η bits

m r′q′

(ρ + ρ∗ + η) bits

LSB

Convert(γ − η) bits η bits

mr∗ rq

ρ∗ bits (ρ + ρ∗) bits

22 / 41

Page 63: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contributions to Scale-InvarianceÉ Design of a new scheme based on Brakerski’s ideaÉ Quantification of the noise growth:

Lemma (simplified) [CLT-PKC14]

Let c1 and c2 be ciphertexts of m1 and m2 with noises ≤ 2ρ. Then

c3 =Convert(c1 · c2)

is a ciphertext of m1 AND m2 with noise ≤ 2ρ+θ for a fixed θ =O (log2λ)

É Noise growth is linear in multiplicative depthÉ Correctness for multiplicative depth of L:

log2 p=η≈ρ+θ ·L

instead of ≈ 2L ·ρ of the previous schemeExponential improvement!

23 / 41

Page 64: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contributions to Scale-InvarianceÉ Design of a new scheme based on Brakerski’s ideaÉ Quantification of the noise growth:

Lemma (simplified) [CLT-PKC14]

Let c1 and c2 be ciphertexts of m1 and m2 with noises ≤ 2ρ. Then

c3 =Convert(c1 · c2)

is a ciphertext of m1 AND m2 with noise ≤ 2ρ+θ for a fixed θ =O (log2λ)

É Noise growth is linear in multiplicative depthÉ Correctness for multiplicative depth of L:

log2 p=η≈ρ+θ ·L

instead of ≈ 2L ·ρ of the previous schemeExponential improvement!

23 / 41

Page 65: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Fully Homomorphic Encryption Scheme

É Only way to get fully homomorphic encryption: select parameters toevaluate decryption circuit

É If c =Enc(m), run homomorphically Dec:

cresult =Enc�

Dec(c)�

=Enc�

Dec(Enc(m))�

=Enc�

m�

É select parameters s.t. one can do additional homomorphic operation(s)

É Adaptation to batch scheme BDGHV in [CCKLLTY-EC13] and toscale-invariant scheme in [CLT-PKC14]

É for scale-invariant scheme:linear noise growth⇒ bootstrapping not required for many levels

Bootstrapping

24 / 41

Page 66: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Fully Homomorphic Encryption Scheme

É Only way to get fully homomorphic encryption: select parameters toevaluate decryption circuit

É If c =Enc(m), run homomorphically Dec:

cresult =Enc�

Dec(c)�

=Enc�

Dec(Enc(m))�

=Enc�

m�

É select parameters s.t. one can do additional homomorphic operation(s)

É Adaptation to batch scheme BDGHV in [CCKLLTY-EC13] and toscale-invariant scheme in [CLT-PKC14]

É for scale-invariant scheme:linear noise growth⇒ bootstrapping not required for many levels

Bootstrapping

24 / 41

Page 67: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Fully Homomorphic Encryption Scheme

É Only way to get fully homomorphic encryption: select parameters toevaluate decryption circuit

É If c =Enc(m), run homomorphically Dec:

cresult =Enc�

Dec(c)�

=Enc�

Dec(Enc(m))�

=Enc�

m�

É select parameters s.t. one can do additional homomorphic operation(s)

É Adaptation to batch scheme BDGHV in [CCKLLTY-EC13] and toscale-invariant scheme in [CLT-PKC14]É for scale-invariant scheme:

linear noise growth⇒ bootstrapping not required for many levels

Bootstrapping

24 / 41

Page 68: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

ImplementationsÉ Benchmark on a nontrivial, not astronomical circuit: AES

pkFHE,EncFHE(k)

{AESk(mi)}i

EncFHE(f(m0, . . . ,mi))

(public homomorphic computations)

EncFHE AES−1

f

{EncFHE(mi)}i

É Batch DGHV (with bootstrapping) [CCKLLTY-EC13]λ γ ` Mult Bootstrapping AES Relative time

72 2.9MB 544 0.68 s 225 s 113 h 768 s80 – – – – – –

É Scale-Invariant DGHV (without bootstrapping) [CLT-PKC14]λ γ ` Mult Convert AES Relative time

72 2MB 569 0.1 s 33 s 3.6 h 23 s80 4.5MB 1875 0.3 s 277 s 102 h 195 s

É Lattice-Based Scheme [GHS12]λ Ciphertext size ` AES Relative time

80 0.3 MB 720 65 h 300 s

25 / 41

Page 69: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Implementations

É Benchmark on a nontrivial, not astronomical circuit: AES

É Batch DGHV (with bootstrapping) [CCKLLTY-EC13]λ γ ` Mult Bootstrapping AES Relative time

72 2.9MB 544 0.68 s 225 s 113 h 768 s80 – – – – – –

É Scale-Invariant DGHV (without bootstrapping) [CLT-PKC14]λ γ ` Mult Convert AES Relative time

72 2MB 569 0.1 s 33 s 3.6 h 23 s80 4.5MB 1875 0.3 s 277 s 102 h 195 s

É Lattice-Based Scheme [GHS12]λ Ciphertext size ` AES Relative time

80 0.3 MB 720 65 h 300 s

25 / 41

Page 70: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Implementations

É Benchmark on a nontrivial, not astronomical circuit: AES

É Batch DGHV (with bootstrapping) [CCKLLTY-EC13]λ γ ` Mult Bootstrapping AES Relative time

72 2.9MB 544 0.68 s 225 s 113 h 768 s80 – – – – – –

É Scale-Invariant DGHV (without bootstrapping) [CLT-PKC14]λ γ ` Mult Convert AES Relative time

72 2MB 569 0.1 s 33 s 3.6 h 23 s80 4.5MB 1875 0.3 s 277 s 102 h 195 s

É Lattice-Based Scheme [GHS12]λ Ciphertext size ` AES Relative time

80 0.3 MB 720 65 h 300 s

25 / 41

Page 71: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Implementations

É Benchmark on a nontrivial, not astronomical circuit: AES

É Batch DGHV (with bootstrapping) [CCKLLTY-EC13]λ γ ` Mult Bootstrapping AES Relative time

72 2.9MB 544 0.68 s 225 s 113 h 768 s80 – – – – – –

É Scale-Invariant DGHV (without bootstrapping) [CLT-PKC14]λ γ ` Mult Convert AES Relative time

72 2MB 569 0.1 s 33 s 3.6 h 23 s80 4.5MB 1875 0.3 s 277 s 102 h 195 s

É Lattice-Based Scheme [GHS12]λ Ciphertext size ` AES Relative time

80 0.3 MB 720 65 h 300 s

25 / 41

Page 72: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Future Work

É Assessment of advantages/disadvantages of existing schemes

É Optimizing cloud communications

É Prototypes of real-world applications?

É FHE outside “noisy” framework?

26 / 41

Page 73: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Outline

1. Introduction

2. Fully Homomorphic Encryption

3. Cryptographic Multilinear Maps

4. Conclusion

27 / 41

Page 74: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Starting Point: DDH and Bilinear MapsÉ “The DDH assumption is a gold mine” (Boneh, 98)

É Given (ga, gb, z) hard to decide if z= gab or random

É We “hide” values ai’s in gai

É Easy to compute linear/affine functions + check if ai = 0 (and constants)É Hard to compute/check quadratic functions

É Beyond DDH: Bilinear MapsÉ Give possibility to compute quadratic functions in the exponent

É but computing cubic is hard. . .É Lots of new capabilities

É Can we do better multilinear maps?É i.e. give possibility to compute polynomials up to degree k in the exponents,

but no more?É Considered by [BS03]: very fruitful, but unlikely to be constructed similarly

to bilinear maps

28 / 41

Page 75: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Starting Point: DDH and Bilinear MapsÉ “The DDH assumption is a gold mine” (Boneh, 98)

É Given (ga, gb, z) hard to decide if z= gab or random

É We “hide” values ai’s in gai

É Easy to compute linear/affine functions + check if ai = 0 (and constants)É Hard to compute/check quadratic functions

É Beyond DDH: Bilinear MapsÉ Give possibility to compute quadratic functions in the exponent

É but computing cubic is hard. . .É Lots of new capabilities

É Can we do better multilinear maps?É i.e. give possibility to compute polynomials up to degree k in the exponents,

but no more?É Considered by [BS03]: very fruitful, but unlikely to be constructed similarly

to bilinear maps

28 / 41

Page 76: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Starting Point: DDH and Bilinear MapsÉ “The DDH assumption is a gold mine” (Boneh, 98)

É Given (ga, gb, z) hard to decide if z= gab or random

É We “hide” values ai’s in gai

É Easy to compute linear/affine functions + check if ai = 0 (and constants)É Hard to compute/check quadratic functions

É Beyond DDH: Bilinear MapsÉ Give possibility to compute quadratic functions in the exponent

É but computing cubic is hard. . .É Lots of new capabilities

É Can we do better multilinear maps?É i.e. give possibility to compute polynomials up to degree k in the exponents,

but no more?É Considered by [BS03]: very fruitful, but unlikely to be constructed similarly

to bilinear maps28 / 41

Page 77: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

MMaps vs. HE

É Wanted: add and multiply (bounded # times) encodings... ⇒ looks like HE

Multilinear Maps Homomorphic Encryption

Encoding ea = ga Encrypting ca = Enc(a)Computing low-degree polynomialsof the ea’s is easy

Computing low-degree polynomialsof the ca’s is easy

Can test if encoding of 0 Cannot test anything.... . . unless you know the secret key sk

Can we modify the existing HE schemes to getMMaps?

É First construction of approximate MMaps: Garg, Gentry, Halevi in 2013

29 / 41

Page 78: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

MMaps vs. HE

É Wanted: add and multiply (bounded # times) encodings... ⇒ looks like HE

Multilinear Maps Homomorphic Encryption

Encoding ea = ga Encrypting ca = Enc(a)Computing low-degree polynomialsof the ea’s is easy

Computing low-degree polynomialsof the ca’s is easy

Can test if encoding of 0 Cannot test anything.... . . unless you know the secret key sk

Can we modify the existing HE schemes to getMMaps?

É First construction of approximate MMaps: Garg, Gentry, Halevi in 2013

29 / 41

Page 79: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

MMaps vs. HE

É Wanted: add and multiply (bounded # times) encodings... ⇒ looks like HE

Multilinear Maps Homomorphic Encryption

Encoding ea = ga Encrypting ca = Enc(a)Computing low-degree polynomialsof the ea’s is easy

Computing low-degree polynomialsof the ca’s is easy

Can test if encoding of 0 Cannot test anything.... . . unless you know the secret key sk

Can we modify the existing HE schemes to getMMaps?

É First construction of approximate MMaps: Garg, Gentry, Halevi in 201329 / 41

Page 80: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Our Contributions [CLT-C13]

1. Start from (B)DGHV and transform it into approximate MMaps!

É Only 1 other known construction of MMaps: the initial one

É All (κ+1)-degree functions seem hardÉ Some attacks in the original scheme have no equivalent here

2. Optimizations and (first!) implementation

É Open-Source implementation of multilinear maps (Github)

É Implementation of a 26-partite Diffie-Hellman Key Exchange

30 / 41

Page 81: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

MMaps from DGHV?Ciphertext of m ∈ {0, . . . , g −1} using DGHV:

c =CRTq0,p(q, g · r+m)

É Problem: q was used as a mask to hide everythingÉ But we need a deterministic extraction procedure to construct protocols

É seems hard to cancel a large random

É If we remove it, no more encryption... c = g · r+m ∈ Z!

É Let us consider Batch DGHV instead!

31 / 41

Page 82: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

MMaps from DGHV?Ciphertext of m ∈ {0, . . . , g −1} using DGHV:

c =CRTq0,p(q, g · r+m)

É Problem: q was used as a mask to hide everythingÉ But we need a deterministic extraction procedure to construct protocols

É seems hard to cancel a large random

É If we remove it, no more encryption... c = g · r+m ∈ Z!

É Let us consider Batch DGHV instead!

31 / 41

Page 83: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (1)Ciphertext of ~m ∈ {0, . . . , g −1}` using BDGHV:

c =CRTq0,p1,...,p`(q, g · r1+m1, . . . , g · r`+m`)

É Problem #1: (Again) q was used as a mask to hide everything

É Let us remove it!É Seems less secure (does not rely on Approximate-GCD anymore)? How can

we exploit that?

É Problem #2: We don’t know the pi’s, how can we sample?

É Define random encodings xi’s, and compute a subset sum of themÉ We don’t know anymore what is the value of ~m, but we don’t often need it in

protocols

É Problem #3: Fuzzy threshold for easy vs. hard?É Because we don’t know exactly how the noise increases

É Use a secret mask z with x′i = xi/z!

32 / 41

Page 84: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (1)Ciphertext of ~m ∈ {0, . . . , g −1}` using BDGHV without mask:

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`)

É Problem #1: (Again) q was used as a mask to hide everythingÉ Let us remove it!

É Seems less secure (does not rely on Approximate-GCD anymore)? How canwe exploit that?

É Problem #2: We don’t know the pi’s, how can we sample?

É Define random encodings xi’s, and compute a subset sum of themÉ We don’t know anymore what is the value of ~m, but we don’t often need it in

protocols

É Problem #3: Fuzzy threshold for easy vs. hard?É Because we don’t know exactly how the noise increases

É Use a secret mask z with x′i = xi/z!

32 / 41

Page 85: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (1)Ciphertext of ~m ∈ {0, . . . , g −1}` using BDGHV without mask:

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`)

É Problem #1: (Again) q was used as a mask to hide everythingÉ Let us remove it!

É Seems less secure (does not rely on Approximate-GCD anymore)? How canwe exploit that?

É Problem #2: We don’t know the pi’s, how can we sample?

É Define random encodings xi’s, and compute a subset sum of themÉ We don’t know anymore what is the value of ~m, but we don’t often need it in

protocols

É Problem #3: Fuzzy threshold for easy vs. hard?É Because we don’t know exactly how the noise increases

É Use a secret mask z with x′i = xi/z!

32 / 41

Page 86: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (1)Encoding of a random ~m ∈ {0, . . . , g −1}`:

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`) =∑

i∈S

xi

É Problem #1: (Again) q was used as a mask to hide everythingÉ Let us remove it!

É Seems less secure (does not rely on Approximate-GCD anymore)? How canwe exploit that?

É Problem #2: We don’t know the pi’s, how can we sample?É Define random encodings xi’s, and compute a subset sum of them

É We don’t know anymore what is the value of ~m, but we don’t often need it inprotocols

É Problem #3: Fuzzy threshold for easy vs. hard?É Because we don’t know exactly how the noise increases

É Use a secret mask z with x′i = xi/z!

32 / 41

Page 87: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (1)Encoding of a random ~m ∈ {0, . . . , g −1}`:

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`) =∑

i∈S

xi

É Problem #1: (Again) q was used as a mask to hide everythingÉ Let us remove it!

É Seems less secure (does not rely on Approximate-GCD anymore)? How canwe exploit that?

É Problem #2: We don’t know the pi’s, how can we sample?É Define random encodings xi’s, and compute a subset sum of them

É We don’t know anymore what is the value of ~m, but we don’t often need it inprotocols

É Problem #3: Fuzzy threshold for easy vs. hard?É Because we don’t know exactly how the noise increases

É Use a secret mask z with x′i = xi/z!

32 / 41

Page 88: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (1)Encoding of a random ~m ∈ {0, . . . , g −1}`:

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`)

z=∑

i∈S

x′i

É Problem #1: (Again) q was used as a mask to hide everythingÉ Let us remove it!

É Seems less secure (does not rely on Approximate-GCD anymore)? How canwe exploit that?

É Problem #2: We don’t know the pi’s, how can we sample?É Define random encodings xi’s, and compute a subset sum of them

É We don’t know anymore what is the value of ~m, but we don’t often need it inprotocols

É Problem #3: Fuzzy threshold for easy vs. hard?É Because we don’t know exactly how the noise increasesÉ Use a secret mask z with x′i = xi/z!

32 / 41

Page 89: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (2)

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`)

z=∑

i∈S

x′i

É Multiplication of encodings with masks zi (i.e. level-i) and zj (i.e. level-j)⇒ encoding with mask zi+j (i.e. level-(i+ j))

É Zero-test procedure: does a level-κ encoding encodes ~0?

É Need to cancel zκ but cannot reveal z!É Define

pzt =∑̀

i=1

hi · (zκ · g−1 mod pi) ·∏

j 6=i

pj

É Computeω= c ·pzt mod x0

isZero(ω) =�

1 ifω� x0

0 otherwise

33 / 41

Page 90: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (2)

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`)

z=∑

i∈S

x′i

É Multiplication of encodings with masks zi (i.e. level-i) and zj (i.e. level-j)⇒ encoding with mask zi+j (i.e. level-(i+ j))

É Zero-test procedure: does a level-κ encoding encodes ~0?

É Need to cancel zκ but cannot reveal z!É Define

pzt =∑̀

i=1

hi · (zκ · g−1 mod pi) ·∏

j 6=i

pj

É Computeω= c ·pzt mod x0

isZero(ω) =�

1 ifω� x0

0 otherwise

33 / 41

Page 91: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (2)

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`)

z=∑

i∈S

x′i

É Multiplication of encodings with masks zi (i.e. level-i) and zj (i.e. level-j)⇒ encoding with mask zi+j (i.e. level-(i+ j))

É Zero-test procedure: does a level-κ encoding encodes ~0?É Need to cancel zκ but cannot reveal z!É Define

pzt =∑̀

i=1

hi · (zκ · g−1 mod pi) ·∏

j 6=i

pj

É Computeω= c ·pzt mod x0

isZero(ω) =�

1 ifω� x0

0 otherwise

33 / 41

Page 92: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

From Batch DGHV to MMaps (2)

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`)

z=∑

i∈S

x′i

É Multiplication of encodings with masks zi (i.e. level-i) and zj (i.e. level-j)⇒ encoding with mask zi+j (i.e. level-(i+ j))

É Zero-test procedure: does a level-κ encoding encodes ~0?É Need to cancel zκ but cannot reveal z!É Define

pzt =∑̀

i=1

hi · (zκ · g−1 mod pi) ·∏

j 6=i

pj

É Computeω= c ·pzt mod x0

isZero(ω) =�

1 ifω� x0

0 otherwise

33 / 41

Page 93: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Zero Test

c =CRTp1,...,p`(g · r1+m1, . . . , g · r`+m`)

z=∑

i∈S

x′i

and

pzt =∑̀

i=1

hi · (zκ · g −1 mod pi) ·∏

j 6=i

pj

É If c encodes ~0, we have

c ·pzt mod x0 =∑̀

i=1

hiri ·∏

j 6=i

pj� x0 =∏

i=1,...,n

pi

É If c encodes ~m 6= ~0, we have

c ·pzt mod x0 =∑̀

i=1

hi(ri+mi · g −1 mod pi) ·∏

j 6=i

pj ≈ x0

Actually we need distinct gi’s to avoid another attack

34 / 41

Page 94: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Zero Test

c =CRTp1,...,p`(g1 · r1+m1, . . . , g` · r`+m`)

z=∑

i∈S

x′i

and

pzt =∑̀

i=1

hi · (zκ · gi−1 mod pi) ·

j 6=i

pj

É If c encodes ~0, we have

c ·pzt mod x0 =∑̀

i=1

hiri ·∏

j 6=i

pj� x0 =∏

i=1,...,n

pi

É If c encodes ~m 6= ~0, we have

c ·pzt mod x0 =∑̀

i=1

hi(ri+mi · gi−1 mod pi) ·

j 6=i

pj ≈ x0

Actually we need distinct gi’s to avoid another attack

34 / 41

Page 95: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Implementation: 26-partite Key Exchange

É Implementation of a 26-partiteone-round Diffie-Hellman keyexchange

É Public parameters of multilinearmaps for κ= 25 levels

Publish: 59 s (20 MB of data)KeyGen: 4 min

25 level-1 encodings1 level-0 encoding ⇒ c =CRT(· · · )/z25

Total time: < 5 min

35 / 41

Page 96: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Implementation: 26-partite Key Exchange

É Implementation of a 26-partiteone-round Diffie-Hellman keyexchange

É Public parameters of multilinearmaps for κ= 25 levels

c0

c1

c2

c3

c4c5

c6c7c8c9

c10

c11

c12

c13

c14

c15c16

c17c18 c19 c20

c21c22

c23

c24

c25

Publish: 59 s (20 MB of data)

KeyGen: 4 min

25 level-1 encodings1 level-0 encoding ⇒ c =CRT(· · · )/z25

Total time: < 5 min

35 / 41

Page 97: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Implementation: 26-partite Key Exchange

É Implementation of a 26-partiteone-round Diffie-Hellman keyexchange

É Public parameters of multilinearmaps for κ= 25 levels

c0

c1

c2

c3

c4c5

c6c7c8c9

c10

c11

c12

c13

c14

c15c16

c17c18 c19 c20

c21c22

c23

c24

c25a0

Publish: 59 s (20 MB of data)

KeyGen: 4 min

25 level-1 encodings1 level-0 encoding ⇒ c =CRT(· · · )/z25

Total time: < 5 min

35 / 41

Page 98: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Implementation: 26-partite Key Exchange

É Implementation of a 26-partiteone-round Diffie-Hellman keyexchange

É Public parameters of multilinearmaps for κ= 25 levels

c0

c1

c2

c3

c4c5

c6c7c8c9

c10

c11

c12

c13

c14

c15c16

c17c18 c19 c20

c21c22

c23

c24

c25

Publish: 59 s (20 MB of data)KeyGen: 4 min

25 level-1 encodings1 level-0 encoding ⇒ c =CRT(· · · )/z25

Total time: < 5 min

35 / 41

Page 99: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Future Work

É Explosion of multilinear maps in cryptography (and of obfuscation, builton multilinear maps)

É Improve the practicality of multilinear mapsÉ akin to what has been done for FHE, and beyond

É Applications with reasonable number of multilinearity level

É Cryptanalysis to build confidence in the multilinear maps proposals

36 / 41

Page 100: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Outline

1. Introduction

2. Fully Homomorphic Encryption

3. Cryptographic Multilinear Maps

4. Conclusion

37 / 41

Page 101: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contributions to Fully Homomorphic Encryption

On the Minimal Number of Bootstrappings in HomomorphicCircuits.L., Paillier [WAHC 2013]

Batch Fully Homomorphic Encryption over the Integers.Cheon, Coron, Kim, Lee, L., Tibouchi, Yun [EUROCRYPT 2013]

Scale-Invariant Fully Homomorphic Encryption over the Integers.Coron, L., Tibouchi [PKC 2014]

A Comparison of the Homomorphic Encryption Schemes FV andYASHE.L., Naehrig [AFRICACRYPT 2014]

Implementation: https://github.com/tlepoint/homomorphic-simon38 / 41

Page 102: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Contributions to Multilinear Maps

Practical Multilinear Maps over the Integers.Coron, L., Tibouchi [CRYPTO 2013]

Implementation: https://github.com/tlepoint/multimap

39 / 41

Page 103: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg

Other Areas

É Lattice-Based Signature

Lattice Signatures and Bimodal Gaussians.Ducas, Durmus, L., Lyubashevsky [CRYPTO 2013]

Implementation: http://bliss.di.ens.fr

Most efficient existing lattice-based signature scheme!

É White-Box Cryptography

Two Attacks on a White-Box AES Implementation.L., Rivain, De Mulder, Roelse, Preneel [SAC 2013]

White-Box Security Notions for Symmetric Encryption Schemes.Delerablée, L., Paillier, Rivain [SAC 2013]

40 / 41

Page 104: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg
Page 105: Design and Implementation of Lattice-Based Cryptography · DESIGN AND IMPLEMENTATION OF LATTICE-BASED CRYPTOGRAPHY Tancrède Lepoint École Normale Supérieure & Université du Luxembourg