HOMOMORPHIC ENCRYPTION Craig Gentry Shai Halevi Chris Peikert - - PowerPoint PPT Presentation

โ–ถ
homomorphic encryption
SMART_READER_LITE
LIVE PREVIEW

HOMOMORPHIC ENCRYPTION Craig Gentry Shai Halevi Chris Peikert - - PowerPoint PPT Presentation

FIELD-SWITCHING IN HOMOMORPHIC ENCRYPTION Craig Gentry Shai Halevi Chris Peikert Nigel P. Smart HE Over Cyclotomic Rings Denote the field = ( ) /( ) Its ring of integers is =


slide-1
SLIDE 1

FIELD-SWITCHING IN HOMOMORPHIC ENCRYPTION

Craig Gentry Shai Halevi Chris Peikert Nigel P. Smart

slide-2
SLIDE 2

HE Over Cyclotomic Rings

๏‚จ Denote the field ๐ฟ๐‘› = ๐‘…(๐œ‚๐‘›) โ‰… ๐‘… ๐‘Œ /(ฮฆ๐‘› ๐‘Œ )

๏‚ค Its ring of integers is ๐‘†๐‘› = ๐‘Ž(๐œ‚๐‘›) โ‰… ๐‘Ž ๐‘Œ /(ฮฆ๐‘› ๐‘Œ ) ๏‚ค Mod-๐‘Ÿ denoted ๐‘†๐‘›,๐‘Ÿ = ๐‘†๐‘›/๐‘Ÿ๐‘†๐‘› โ‰… ๐‘Ž๐‘Ÿ ๐‘Œ /(ฮฆ๐‘›(๐‘Œ))

๏‚จ โ€œNative plaintext spaceโ€ is ๐‘†๐‘›,2 ๏‚จ Ciphertexts , secret-keys are vectors over ๐‘†๐‘›,๐‘Ÿ ๏‚จ ๐’… wrt ๐’• encrypts ๐‘ if (for representatives in ๐‘†๐‘›) we

have ๐’•, ๐’… = ๐‘ โ‹…

๐‘Ÿ 2 + ๐‘“ (๐‘›๐‘๐‘’ ๐‘Ÿ) for small ๐‘“

๏‚ค Decryption via ๐‘ โ‰” ๐‘๐‘‡๐ถ( ๐’•, ๐’… ) ๏‚ค Using โ€œappropriateโ€ ๐‘Ž-bases of ๐‘†๐‘›,2, ๐‘†๐‘›,๐‘Ÿ * Not exactly

* * *

slide-3
SLIDE 3

HE Over Cyclotomic Rings

๏‚จ โ€œNative plaintextsโ€ encode vectors of values

๏‚ค ๐‘ โˆˆ ๐‘†๐‘›,2 โ†’ ๐›ฝ1 โ€ฆ ๐›ฝโ„“ โˆˆ ๐ป๐บ 2๐‘’ โ„“ (more on that later)

๏‚จ Homomorphic Operations

๏‚ค Addition: ๐’… โŠž ๐’…โ€ฒ encrypts ๐‘ + ๐‘โ€ฒ โˆˆ ๐‘†๐‘›,2, encoding

(๐›ฝ1 + ๐›ฝ1

โ€ฒ โ€ฆ ๐›ฝโ„“ + ๐›ฝโ„“ โ€ฒ)

๏‚ค Multiplication: ๐’… ร— ๐’…โ€ฒ encrypts ๐‘ ร— ๐‘โ€ฒ โˆˆ ๐‘†๐‘›,2, encoding

(๐›ฝ1 ร— ๐›ฝ1

โ€ฒ โ€ฆ ๐›ฝโ„“ ร— ๐›ฝโ„“ โ€ฒ)

๏‚ค Automorphism: ๐’…(๐‘Œ๐‘ข) encrypts ๐‘(๐‘Œ๐‘ข) โˆˆ ๐‘†๐‘›,2, encoding

some permutation of (๐›ฝ1 โ€ฆ ๐›ฝโ„“)

๏ฎ Relative to key ๐’•(๐‘Œ๐‘ข)

slide-4
SLIDE 4

HE Over Cyclotomic Rings

๏‚จ Also a key-switching operation ๏‚จ For any two ๐ญ, ๐ญโ€ฒ โˆˆ (๐‘†๐‘›,๐‘Ÿ)2 we can publish a

key-switching gadget ๐‘‹[๐’• โ†’ ๐’•โ€ฒ]

๏‚จ ๐‘‹ used to translate valid ๐ wrt ๐ญ into ๐โ€ฒ wrt ๐ญโ€ฒ

๏‚ค ๐, ๐โ€ฒ encrypt the same plaintext

๐’•, ๐’… = ๐’•โ€ฒ, ๐’…โ€ฒ + ๐‘“ (๐‘›๐‘๐‘’ ๐‘Ÿ) for some small ๐‘“

slide-5
SLIDE 5

How Large are ๐‘›, ๐‘Ÿ?

๏‚จ Ciphertexts are โ€œnoisyโ€ (for security)

๏‚ค noise grows during homomorphic computation ๏‚ค Decryption error if noise grows larger than ๐‘Ÿ

๏ƒจMust set ๐‘Ÿ โ€œmuch largerโ€ than initial noise ๏ƒจSecurity relies on LWE-hardness with very large modulus/noise ratio ๏ƒจDimension (๐‘›) must be large to get hardness

๏‚จ Asymptotically ๐‘Ÿ = ๐‘ž๐‘๐‘š๐‘ง๐‘š๐‘๐‘• ๐‘™ , ๐‘› = ฮฉ

(๐‘™)

๏‚ค For realistic settings, ๐‘Ÿ โ‰ˆ 1000, ๐‘› > 10000

slide-6
SLIDE 6

Switching to Smaller ๐‘›?

๏‚จ As we compute, the noise grows

๏‚ค Cipehrtexts have smaller modulus/noise ratio ๏‚ค From a security perspective, it becomes permissible to

switch to smaller values of ๐‘›

๏‚จ How to do this? ๏‚จ Not even clear what outcome we want here:

๏‚ค Have ๐’… wrt ๐’• โˆˆ (๐‘†๐‘›,๐‘Ÿ)2, encrypting some ๐‘ โˆˆ ๐‘†๐‘›,2 ๏‚ค Want ๐’…โ€ฒ wrt ๐’•โ€ฒ โˆˆ (๐‘†๐‘›โ€ฒ,๐‘Ÿ)2 for ๐‘›โ€ฒ < ๐‘›

๏ฎ Encrypting ๐‘โ€ฒ โˆˆ ๐‘†๐‘›โ€ฒ,2 ??

slide-7
SLIDE 7

Ring-Switching: The Goal

๏‚จ We cannot get ๐‘โ€ฒ = ๐‘ since ๐‘โ€ฒ โˆˆ ๐‘†๐‘›โ€ฒ,2, ๐‘ โˆˆ ๐‘†๐‘›,2 ๏‚จ We want ๐‘โ€ฒ to be โ€œrelatedโ€ to ๐‘

๏‚ค ๐‘ โˆˆ ๐‘†๐‘›,2 encodes ๐›ฝ1 โ€ฆ ๐›ฝโ„“ โˆˆ ๐ป๐บ 2๐‘’ โ„“ ๏‚ค ๐‘โ€ฒ โˆˆ ๐‘†๐‘›โ€ฒ,2 encodes ๐›ฝ1

โ€ฒ โ€ฆ ๐›ฝโ„“โ€ฒ โ€ฒ

โˆˆ ๐ป๐บ 2๐‘’โ€ฒ โ„“โ€ฒ

๏‚จ May want ๐‘โ€ฒ to encode a subset of the ๐›ฝ๐‘—โ€™s?

๏‚ค E.g., the first โ„“โ€ฒ of them ๏‚ค Not always possible, only if ๐‘’โ€ฒ = ๐‘’

๏‚จ What relations between the ๐›ฝโ€ฒ๐‘˜, ๐›ฝ๐‘—โ€™s are possible?

slide-8
SLIDE 8

Prior Work

๏‚จ A limited ring-switching technique was described in

[BGVโ€™12]

๏‚ค Only for ๐‘› = 2๐‘œ, ๐‘›โ€ฒ = 2๐‘œโˆ’1

๏‚จ Transforms big-ring ๐ into small-ring ๐’…๐Ÿ

โ€ฒ , ๐’…๐Ÿ‘ โ€ฒ

s.t. ๐‘ (encrypted in ๐) can be recovered from ๐‘1

โ€ฒ , ๐‘2 โ€ฒ (encrypted in ๐’…๐Ÿ โ€ฒ , ๐’…๐Ÿ‘ โ€ฒ ).

๏‚จ Used only for bootstrapping

slide-9
SLIDE 9

Our Transformation: Overview

๏‚จ Work for any ๐‘›, ๐‘›โ€ฒ as long as ๐‘›โ€ฒ|๐‘› ๏‚จ ๐ wrt ๐ญ โˆˆ (๐‘†๐‘›,๐‘Ÿ)2 ๏ƒจ ๐โ€ฒ wrt ๐ญโ€ฒ โˆˆ (๐‘†๐‘›โ€ฒ,๐‘Ÿ)2 ๏‚จ ๐, ๐โ€ฒ encrypt ๐‘, ๐‘โ€ฒ, that encode vectors:

๏‚ค ๐’… โ†’ ๐›ฝ๐‘— โˆˆ ๐ป๐บ 2๐‘’ โ„“, ๐โ€ฒ โ†’ ๐›ฝ๐‘˜

โ€ฒ โˆˆ ๐ป๐บ 2๐‘’โ€ฒ โ„“โ€ฒ

๏‚ค Necessarily ๐‘’โ€ฒ|๐‘’, so ๐ป๐บ 2๐‘’โ€ฒ a subfield of ๐ป๐บ(2๐‘’)

๏‚จ Each ๐›ฝ๐‘˜

โ€ฒ is a ๐ป๐บ 2๐‘’โ€ฒ -linear function of some ๐›ฝ๐‘—โ€˜s

๏‚ค We can choose the linear functions, but not the subset of ๐›ฝ๐‘—โ€˜s

that correspond to each ๐›ฝ๐‘˜

โ€ฒ

๏‚ค If ๐‘’โ€ฒ = ๐‘’, can use projections (so ๐›ฝ๐‘˜

โ€ฒโ€™s a subset of ๐›ฝ๐‘—โ€™s)

slide-10
SLIDE 10

Our Transformation: Overview

Denote ๐ฟ = ๐ฟ๐‘›, ๐‘† = ๐‘†๐‘›, ๐ฟโ€ฒ = ๐ฟ๐‘›โ€ฒ, ๐‘†โ€ฒ = ๐‘†๐‘›โ€ฒ

1.

Key-switching to map ๐’… wrt ๐’• ๏ƒจ๐’…โ€ฒโ€ฒ wrt ๐’•โ€ฒ

๏‚ค

๐’• โˆˆ ๐‘†๐‘Ÿ

2 and ๐’•โ€ฒ โˆˆ ๐‘†๐‘Ÿ โ€ฒ 2 โŠ‚ ๐‘†๐‘Ÿ 2

๏‚ค

๐’…โ€ฒโ€ฒ = (๐‘‘0

โ€ฒโ€ฒ, ๐‘‘1 โ€ฒโ€ฒ) over the big field, wrt subfield key

2.

Compute a small ๐‘  โˆˆ ๐‘†๐‘Ÿ that depends only on the desired linear functions

3.

Apply the trace function, ๐‘‘๐‘—

โ€ฒ = Tr๐ฟ/๐ฟโ€ฒ ๐‘  โ‹… ๐‘‘๐‘— โ€ฒโ€ฒ

4.

Output ๐’…โ€ฒ = (๐‘‘0

โ€ฒ, ๐‘‘1 โ€ฒ)

slide-11
SLIDE 11

Algebra

slide-12
SLIDE 12

Geometry of ๐ฟ

๏‚จ Use canonical-embedding to associate ๐‘ฃ โˆˆ ๐ฟ with a

๐œš(๐‘›)-vector of complex numbers

๏‚ค Thinking of ๐‘ฃ = ๐‘ฃ(๐‘Œ) as a polynomial, associate ๐‘ฃ with

the vector ๐œ ๐‘ฃ = ๐‘ฃ ๐œ๐‘—

๐‘—โˆˆ๐‘Ž๐‘›

โˆ—

๏ฎ ๐œ = ๐‘“2๐œŒ๐‘—/๐‘›, the principal complex ๐‘›โ€™th root of unity ๏ฎ E.g., if ๐‘ฃ โˆˆ ๐‘… โŠ‚ ๐ฟ then ๐œ ๐‘ฃ = ๐‘ฃ, ๐‘ฃ, โ€ฆ , ๐‘ฃ ๏‚จ We can talk about the โ€œsize of ๐‘ฃโ€

๏‚ค say the ๐‘š2 or ๐‘šโˆž norm of ๐œ ๐‘ฃ ๏‚ค For decryption, the โ€œnoise elementโ€ must be โ‰ช ๐‘Ÿ

slide-13
SLIDE 13

Geometry of ๐ฟ, ๐ฟโ€ฒ

๏‚จ ๐ฟ can be expressed as a vector-space over ๐ฟโ€ฒ

๏‚ค Similarly ๐‘† over ๐‘†โ€ฒ, ๐‘†๐‘Ÿ over ๐‘†๐‘Ÿ

โ€ฒ , etc.

๏‚จ Every ๐‘†โ€ฒ -basis ๐ถ induces a transformation

๐‘ˆ๐ถ: coefficients in ๐‘†โ€ฒ โ†ฆ element of ๐‘†

๏‚ค With canonical embedding on both sides, we have

a ๐ท-linear transformation ๐‘ˆ๐ถ: ๐ท๐œš(๐‘›) โ†’ ๐ท๐œš(๐‘›)

๏‚จ We want a โ€œgood basisโ€, where ๐‘ˆ๐ถ is โ€œshortโ€

and โ€œnearly orthogonalโ€

slide-14
SLIDE 14

Geometry of ๐ฟ, ๐ฟโ€ฒ

๏‚จ Lemma 1: There exists ๐‘†โ€ฒ-basis ๐ถ of R for which all

the singular values of ๐‘ˆ๐ถ are nearly the same.

๏‚ค Specifically ๐‘ก1 ๐‘ˆ = ๐‘ก๐‘œ ๐‘ˆ โ‹…

๐‘” where

๐‘” โ‰ค

๐‘ ๐‘๐‘’ ๐‘› ๐‘ ๐‘๐‘’ ๐‘›โ€ฒ = โˆ primes that divide ๐‘› but not ๐‘›โ€ฒ

๏‚จ The proof follows techniques from [LPR13],

the basis ๐ถ is essentially a tensor of DFT matrices

slide-15
SLIDE 15

The Trace Function

๏‚จ For ๐‘ฃ โˆˆ ๐ฟ, Tr ๐‘ฃ =

๐œ ๐‘ฃ ๐‘—

๐‘—โˆˆ๐‘Ž๐‘›

โˆ—

โˆˆ ๐‘…

๏‚ค By definition: if ๐‘ฃ is small then so is Tr ๐‘ฃ

๏‚จ Tr: ๐ฟ โ†’ ๐‘… is ๐‘…โˆ’linear

๏‚ค ๐‘€: ๐ฟ โ†’ ๐‘… is ๐‘…-linear if โˆ€๐‘ฃ, ๐‘ค โˆˆ ๐ฟ, ๐‘Ÿ โˆˆ ๐‘…,

๐‘€ ๐‘ฃ + ๐‘€ ๐‘ค = ๐‘€(๐‘ฃ + ๐‘ค) and ๐‘€ ๐‘Ÿ โ‹… ๐‘ฃ = ๐‘Ÿ โ‹… ๐‘€(๐‘ฃ)

๏‚จ The trace is a โ€œuniversalโ€ ๐‘…-linear function:

๏‚ค For every ๐‘…-linear function ๐‘€ there exists ๐œ† โˆˆ ๐ฟ such

that ๐‘€ ๐‘ฃ = Tr ๐œ† โ‹… ๐‘ฃ โˆ€๐‘ฃ โˆˆ ๐ฟ

slide-16
SLIDE 16

The Trace Function

๏‚จ The trace Implies also a ๐‘Ž-linear map Tr: ๐‘† โ†’ ๐‘Ž,

and ๐‘Ž๐‘Ÿ-linear map Tr: ๐‘†๐‘Ÿ โ†’ ๐‘Ž๐‘Ÿ

๏‚จ Every ๐‘Ž-linear map L โˆถ ๐‘† โ†’ ๐‘Ž can be written as

๐‘€ ๐‘ = Tr ๐œ† โ‹… ๐‘

๏‚ค But ๐œ† need not be in ๐‘† ๏‚ค More on that later

slide-17
SLIDE 17

The Intermediate Trace Function

๏‚จ ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ: ๐ฟ โ†’ ๐ฟโ€ฒ when ๐ฟ is an extension of ๐ฟโ€ฒ

๏‚ค Satisfies ๐‘ˆ๐‘ 

๐ฟ/๐‘… = ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ โˆ˜ ๐‘ˆ๐‘ ๐ฟโ€ฒ/๐‘…

๏‚จ Lemma 2: if ๐‘ฃ is small then so is Tr๐ฟ/๐ฟโ€ฒ ๐‘ฃ

๏‚ค Less trivial than for Tr๐ฟ/๐‘… but still true

๏‚จ Tr๐ฟ/๐ฟโ€ฒ is a โ€œuniversalโ€ ๐ฟโ€ฒ-linear function:

๏‚ค Tr๐ฟ/๐ฟโ€ฒ: ๐ฟ โ†’ ๐ฟโ€ฒ is ๐ฟโ€ฒโˆ’linear ๏‚ค For every ๐ฟโ€ฒ-linear function ๐‘€ there exists ๐œ† โˆˆ ๐ฟ๐‘› such

that ๐‘€ ๐‘ฃ = TrK/Kโ€ฒ ๐œ† โ‹… ๐‘ฃ โˆ€๐‘ฃ โˆˆ ๐ฟ๐‘›

๏‚จ Similarly implies ๐‘†โ€ฒ-linear map ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ: ๐‘† โ†’ ๐‘†โ€ฒ and

๐‘†๐‘Ÿ

โ€ฒ -linear map ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ: ๐‘†๐‘Ÿ โ†’ ๐‘†๐‘Ÿ โ€ฒ

slide-18
SLIDE 18

Some Complications

๏‚จ Often we get Tr๐ฟ ๐ฟโ€ฒ

๐‘† โІ ๐‘†โ€ฒ

๏‚จ Also for many linear functions we get

๐‘€ ๐‘ฃ = TrK/Kโ€ฒ ๐œ† โ‹… ๐‘ฃ where ๐œ† is not in ๐‘†

๏‚จ In our setting this will cause problems when we

apply the trace to ciphertext elements

๏‚ค Thatโ€™s (one reason) why ciphertexts are not really

vectors over R

๏‚ค Hence the *โ€˜s throughout the slides

slide-19
SLIDE 19

The Dual of ๐‘†

๏‚จ Instead of ๐‘†, ciphertext are vectors over the dual

๐‘†โˆจ = {๐‘ โˆˆ ๐ฟ: โˆ€ ๐‘  โˆˆ ๐‘†, Tr ๐‘๐‘  โˆˆ ๐‘Ž}

๏‚ค Rโˆจ = R/t, Rโ€ฒโˆจ = Rโ€ฒ/tโ€ฒ for some t โˆˆ ๐‘†, ๐‘ขโ€ฒ โˆˆ ๐‘†โ€ฒ

๏‚จ We have Tr๐ฟ ๐ฟโ€ฒ

Rโˆจ = ๐‘†โ€ฒโˆจ

๏‚ค Also every Rโ€ฒ-linear ๐‘€: ๐‘†โˆจ โ†’ ๐‘†โ€ฒโˆจ can be written as

๐‘€ ๐‘ = ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ(๐‘  โ‹… ๐‘) for some ๐‘  โˆˆ ๐‘†

๏‚จ In the rest of this talk we ignore this point, and pretend

that everything is over ๐‘†

slide-20
SLIDE 20

Prime Splitting

๏‚จ The integer 2 splits over ๐‘† as 2 = โˆ ๐’’๐‘—

๐‘“ ๐‘—

๏ฎ ๐‘— ranges over ๐ป = ๐‘Ž๐‘› โˆ— /(2)

๏‚ค ๐’’๐‘— is generated by (2, ๐บ๐‘— ๐‘Œ = โˆ

๐‘Œ โˆ’ ๐œ‚๐‘›

๐‘—โ‹…2๐‘˜ ๐‘˜

)

๏‚ค In this talk we assume ๐‘“=1 (i.e., ๐‘› is odd) ๏‚ค โ„“ = |๐ป| prime ideals, each ๐‘†/๐’’๐‘— โ‰… ๐ป๐บ(2๐‘’) ๏‚ค R2 = ๐‘†/(2) โ‰…โŠ•๐‘— ๐‘†/๐’’๐‘— โ‰…โŠ•๐‘— ๐ป๐บ(2๐‘’)

๏‚จ Using CRT, each ๐‘ โˆˆ ๐‘†2 encodes the vector

(๐‘ ๐‘›๐‘๐‘’ ๐’’๐‘—1

๐›ฝ1

, โ€ฆ , ๐‘ ๐‘›๐‘๐‘’ ๐’’๐‘—โ„“

๐›ฝโ„“

) โˆˆ ๐ป๐บ 2๐‘’ โ„“

slide-21
SLIDE 21

Prime Splitting

๏‚จ Similarly 2 splits over ๐‘†โ€ฒ as 2 = โˆ ๐’’๐‘˜

โ€ฒ ๐‘“โ€ฒ ๐‘˜

๏‚ค Again we assume ๐‘“โ€ฒ = 1 ๏‚ค Using CRT, each ๐‘โ€ฒ โˆˆ ๐‘†2

โ€ฒ encodes the vector

(๐‘โ€ฒ ๐‘›๐‘๐‘’ ๐’’๐‘˜1

โ€ฒ ๐›ฝ1

โ€ฒ

, โ€ฆ , ๐‘โ€ฒ ๐‘›๐‘๐‘’ ๐’’๐‘˜โ„“โ€ฒ

โ€ฒ ๐›ฝโ„“

โ€ฒ

) โˆˆ ๐ป๐บ 2๐‘’โ€ฒ โ„“โ€ฒ

๏‚จ When ๐‘›โ€ฒ|๐‘› then also ๐‘’โ€ฒ|๐‘’, โ„“โ€ฒ|โ„“, and each ๐’’๐’Œ

โ€ฒ split

  • ver ๐‘† as a product of some of the ๐’’๐‘— โ€™s
slide-22
SLIDE 22

Prime Splitting

๏‚จ Example for ๐‘› = 91, ๐‘›โ€ฒ = 7

2 ๐’’1

โ€ฒ

๐’’3

โ€ฒ

๐’’22 ๐’’15 ๐’’1 ๐’’31 ๐’’17 ๐’’3

๐‘Ž ๐‘†โ€ฒ ๐‘† โІ โІ

๐‘’ = 12 โ„“ = 6 ๐‘’โ€ฒ = 3 โ„“โ€ฒ = 2

Lie over 2 Lie over ๐‘ž1

โ€ฒ

Lie over ๐‘ž3

โ€ฒ

slide-23
SLIDE 23

Plaintext-Slot Representation

๏‚จ Recall that ๐‘†/๐’’๐‘— โ‰… ๐ป๐บ(2๐‘’) for all the ๐’’๐‘—โ€™s

๏‚ค But the isomorphisms are not unique

๏‚จ To fix the isomorphisms:

๏‚ค Fix a primitive ๐‘›-th root of unity ๐œ• โˆˆ ๐ป๐บ(2๐‘’) ๏‚ค Fix representatives ๐‘ฃ๐‘— โˆˆ ๐‘Ž๐‘›

โˆ— for all ๐‘— โˆˆ ๐‘Ž๐‘› โˆ— /(2)

๏‚ค โ„Ž๐‘—: ๐‘† ๐’’๐‘—

โ†’ ๐ป๐บ(2๐‘’) defined via โ„Ž๐‘— ๐œ‚๐‘› = ๐œ•๐‘ฃ๐‘—

๏‚จ Same for isomorphisms ๐‘†โ€ฒ/๐’’๐‘˜

โ€ฒ โ‰… ๐ป๐บ(2๐‘’โ€ฒ)

๏‚ค Define โ„Ž๐‘˜

โ€ฒ: ๐‘†โ€ฒ ๐’’๐‘˜ โ€ฒ

โ†’ ๐ป๐บ(2๐‘’โ€ฒ) by fixing ๐œโ€ฒ and ๐‘ฃ๐‘˜

โ€ฒ

slide-24
SLIDE 24

Plaintext-Slot Representation

๏‚จ Making the โ„Ž๐‘—โ€™s and โ„Ž๐‘˜

โ€ฒโ€˜s โ€œconsistentโ€

๏‚ค Fix ๐œ• โˆˆ ๐ป๐บ(2๐‘’) and set ๐œ•โ€ฒ = ๐œ๐‘›/๐‘›โ€ฒ โˆˆ ๐ป๐บ(2๐‘’โ€ฒ) ๏‚ค Fix ๐‘ฃ๐‘˜

โ€ฒ โˆˆ ๐‘˜ โ‹… 2 โŠ‚ ๐‘Ž๐‘›โ€ฒ โˆ— โˆ€๐‘˜, then โˆ€ ๐’’๐‘— that lies over ๐’’๐‘˜ โ€ฒ,

choose ๐‘ฃ๐‘— โˆˆ ๐‘— โ‹… (2) s.t. ๐‘ฃ๐‘— = ๐‘ฃ๐‘˜

โ€ฒ mod ๐‘›โ€ฒ

๏‚จ Fact: if ๐’’๐‘— lies over ๐’’๐‘˜

โ€ฒ and ๐‘ โ€ฒ โˆˆ ๐‘†โ€ฒ โŠ‚ ๐‘†, then

โ„Ž๐‘— ๐‘ โ€ฒ๐‘›๐‘๐‘’ ๐’’๐‘— = โ„Ž๐‘˜

โ€ฒ ๐‘ โ€ฒ๐‘›๐‘๐‘’ ๐’’๐‘˜ โ€ฒ

โˆˆ ๐ป๐บ(2๐‘’โ€ฒ)

๏‚ค In words: for a sub-ring plaintext, the slots mod ๐’’๐‘˜

โ€ฒ and

all the ๐’’๐‘—โ€™s lie over it, hold the same value

slide-25
SLIDE 25

Plaintext-Slot Representation

๏‚จ Lemma 3: โˆ€ collection of ๐ป๐บ(2๐‘’โ€ฒ)-linear functions

๐‘€๐‘˜: ๐ป๐บ 2๐‘’

โ„“ โ„“โ€ฒ โ†’ ๐ป๐บ 2๐‘’โ€ฒ

๐‘˜โˆˆ๐‘Ž๐‘›โ€ฒ

โˆ— /2

โˆƒ a unique ๐‘†2

โ€ฒ -linear function ๐‘€: ๐‘†2 โ†’ ๐‘†2 โ€ฒ s.t.

โ„Ž๐‘˜

โ€ฒ(๐‘โ€ฒmod ๐’’๐‘˜ โ€ฒ) = ๐‘€๐‘˜((โ„Ž๐‘— ๐‘ ๐‘›๐‘๐‘’ ๐’’๐‘— ๐‘—))

holds โˆ€ ๐‘ โˆˆ ๐‘†2 and ๐‘โ€ฒ = ๐‘€(๐‘), and โˆ€ ๐‘˜

๏‚ค The ๐‘—โ€™s range over all the ๐’’๐‘—โ€™s that lie over ๐’’๐‘˜

โ€ฒ

slide-26
SLIDE 26

Illustration of Lemma 3

๏‚จ โˆƒ๐‘€: ๐‘†2 โ†’ ๐‘†2

โ€ฒ s.t. โˆ€ ๐‘ โˆˆ ๐‘†2 and ๐‘โ€ฒ = ๐‘€ ๐‘ โˆˆ ๐‘†2 โ€ฒ

๏‚ค โ„Ž1

โ€ฒ ๐‘โ€ฒ = ๐‘€1 โ„Ž1 ๐‘ , โ„Ž15 ๐‘ , โ„Ž22 ๐‘

๏‚ค โ„Ž3

โ€ฒ ๐‘โ€ฒ = ๐‘€2 โ„Ž3 ๐‘ , โ„Ž17 ๐‘ , โ„Ž31 ๐‘

๏‚จ Can express ๐‘€ ๐‘ = ๐‘ˆ๐‘ 

๐ฟ/๐ฟโ€ฒ(๐‘  โ‹… ๐‘) for some ๐‘  โˆˆ ๐‘†2

๐’’1

โ€ฒ

๐’’3

โ€ฒ

๐’’22 ๐’’15 ๐’’1 ๐’’31 ๐’’17 ๐’’3

๐‘†โ€ฒ ๐‘†

โІ

(๐‘’ = 12, โ„“ = 6) (๐‘’โ€ฒ = 3, โ„“โ€ฒ = 2)

๐‘€1: ๐ป๐บ 212 3 โ†’ ๐ป๐บ(23) ๐‘€3: ๐ป๐บ 212 3 โ†’ ๐ป๐บ(23) * Not exactly

*

slide-27
SLIDE 27

The Transformation

slide-28
SLIDE 28

Step 1, Key Switching

๏‚จ Let ๐’• โˆˆ ๐‘†๐‘Ÿ

2, ๐’•โ€ฒ โˆˆ ๐‘†๐‘Ÿ โ€ฒ 2 โŠ‚ ๐‘†๐‘Ÿ 2 (chosen at keygen)

๏‚จ Publish a key-switching matrix ๐‘‹[๐’• โ†’ ๐’•โ€ฒ] ๏‚จ Given ctxt ๐’… wrt ๐’•, use W to get ๐’…โ€ฒโ€ฒ wrt ๐’•โ€ฒ

๏‚ค Just plain key-switching in the big ring ๏‚ค ๐’…โ€ฒโ€ฒ still over the big ring, but wrt a sub-ring key ๏‚ค ๐’…โ€ฒโ€ฒ encrypts the same ๐‘†2-element as ๐’…

slide-29
SLIDE 29

Security of Key-Swicthing

๏‚จ Security of usual big-ring key-switching relies on the

secret ๐’•โ€ฒ being drawn from ๐‘†๐‘Ÿ

๏‚ค Then ๐‘‹ constrains only LWE-instance over ๐‘†๐‘Ÿ ๏‚ค What can we say when it is drawn from ๐‘†๐‘Ÿ

โ€ฒ ?

๏‚จ We devise LWE instances over ๐‘†๐‘Ÿ with secret from

๐‘†๐‘Ÿ

โ€ฒ , with security relying on LWE in ๐‘†๐‘Ÿ โ€ฒ

๏‚ค Instead of one small error element in ๐‘†๐‘Ÿ, choose many

small elements in ๐‘†๐‘Ÿ

โ€ฒ , use an ๐‘†๐‘Ÿ โ€ฒ -basis of ๐‘†๐‘Ÿ to combine

them into a single error element in ๐‘†๐‘Ÿ

slide-30
SLIDE 30

๐‘†๐‘Ÿ-LWE With Secret in ๐‘†๐‘Ÿ

โ€ฒ

๏‚จ Let ๐ถ = (๐›พ1, โ€ฆ , ๐›พ๐‘œ) be any ๐‘†๐‘Ÿ

โ€ฒ -basis of ๐‘†๐‘Ÿ

๏‚จ Given the LWE secret ๐‘กโ€ฒ โˆˆ ๐‘†๐‘Ÿ

โ€ฒ โŠ‚ ๐‘†๐‘Ÿ

๏‚ค Choose uniform ๐‘ โ† ๐‘†๐‘Ÿ and small ๐‘“1

โ€ฒ, โ€ฆ , ๐‘“๐‘œ โ€ฒ โ† ๐‘†๐‘Ÿ โ€ฒ

๏‚ค Set ๐‘“ = ๐‘“๐‘—

โ€ฒ๐›พ๐‘— ๐‘—

โˆˆ ๐‘†๐‘Ÿ and output (๐‘, ๐‘ = ๐‘๐‘กโ€ฒ + ๐‘“)

๏‚จ If the basis B is โ€œgoodโ€ (short, orthogonal) then ๐‘“ is

not much larger than the ๐‘“๐‘—

โ€ฒโ€™s

๏‚ค This is where we use Lemma 1 (โˆƒ good basis)

slide-31
SLIDE 31

๐‘†๐‘Ÿ-LWE With Secret in ๐‘†๐‘Ÿ

โ€ฒ

๏‚จ Theorem: If decision-LWE is hard in ๐‘†๐‘Ÿ

โ€ฒ , then (๐‘, ๐‘)

is indistinguishable from uniform in ๐‘†๐‘Ÿ

2

๏‚จ Proof:

๏‚ค We can consider ๐‘ = ๐‘๐‘—

โ€ฒ๐›พ๐‘— ๐‘—

for uniform ๐‘๐‘—

โ€ฒ โ† ๐‘†๐‘Ÿ โ€ฒ

๏ฎ Induces the same uniform distribution on ๐‘

๏‚ค Then we would get ๐‘ = (๐‘๐‘—

โ€ฒ๐‘กโ€ฒ + ๐‘“๐‘— โ€ฒ)๐›พ๐‘— ๐‘—

.

๏‚ค If the (๐‘๐‘—

โ€ฒ๐‘กโ€ฒ + ๐‘“๐‘— โ€ฒ) were uniform in ๐‘†๐‘Ÿ โ€ฒ , then ๐‘ would be

uniform in ๐‘†๐‘Ÿ. โ–ก

slide-32
SLIDE 32

Steps 2,3: Ring Switching

๏‚จ ๐’…โ€ฒโ€ฒ encrypts ๐‘ โˆˆ ๐‘†2 wrt ๐’•โ€ฒ

๏‚ค ๐‘ encodes a vector ๐œท = ๐›ฝ๐‘— ๐‘— โˆˆ ๐ป๐บ 2๐‘’ โ„“ ๏‚ค We view it as ๐œท = (๐œท1, โ€ฆ , ๐œทโ„“โ€ฒ) โˆˆ ๐ป๐บ 2๐‘’ โ„“/โ„“โ€ฒ โ„“โ€ฒ

๏‚จ โ„“โ€ฒ target functions, ๐‘€๐‘˜: ๐ป๐บ 2๐‘’ โ„“/โ„“โ€ฒ

โ†’ ๐ป๐บ(2๐‘’โ€ฒ)

๏‚ค Want small-ring ciphertext ๐’…โ€ฒ encrypting ๐‘ โˆˆ ๐‘†2

โ€ฒ that

encodes ๐œทโ€ฒ = ๐›ฝ1

โ€ฒ, โ€ฆ , ๐›ฝโ„“โ€ฒ โ€ฒ

โˆˆ ๐ป๐บ 2๐‘’โ€ฒ โ„“โ€ฒ

๏‚ค For each ๐‘˜, ๐›ฝ๐‘˜

โ€ฒ = ๐‘€๐‘˜(๐œท๐‘˜)

slide-33
SLIDE 33

Steps 2,3: Ring Switching

๏‚จ By Lemma 2, โˆƒ๐‘€: ๐‘†2 โ†’ ๐‘†2

โ€ฒ that induces the ๐‘€๐‘˜โ€™s

๏‚ค Expressed as ๐‘€ ๐‘ = ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ(๐‘  โ‹… ๐‘) for ๐‘  โˆˆ ๐‘†2

โ€ฒ

๏‚ค We identify ๐‘  with a short representative in ๐‘†โ€ฒ

๏ฎ One must exists since 2 is โ€œshortโ€ ๏ฎ Thus identify ๐‘€ with ๐‘€ ๐‘ = ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ(๐‘  โ‹… ๐‘) over ๐‘†

๏‚ค Further identify ๐‘  as a representative of ๐‘  โˆˆ ๐‘†๐‘Ÿ

โ€ฒ

๏‚จ Apply the trace, ๐‘‘๐‘—

โ€ฒ = ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ(๐‘  โ‹… ๐‘‘๐‘— โ€ฒโ€ฒ)

๏‚ค Recall that ๐’…โ€ฒโ€ฒ is valid wrt ๐’•โ€ฒ โˆˆ ๐‘†๐‘Ÿ

โ€ฒ โŠ‚ ๐‘†๐‘Ÿ

* Not exactly

*

slide-34
SLIDE 34

Correctness

๏‚จ Recall ๐’•โ€ฒ, ๐’…โ€ฒโ€ฒ = ๐‘™ โ‹… ๐‘Ÿ + ๐‘ โ‹…

๐‘Ÿ 2 + ๐‘“ over ๐ฟ

๏‚ค For some ๐‘™, ๐‘“ โˆˆ ๐‘† (with ๐‘“ small) and ๐ญโ€ฒ over ๐‘†โ€ฒ

๏‚จ Thus we have the equalities (over ๐ฟ):

๏‚ค ๐’•โ€ฒ, ๐’…โ€ฒ = ๐’•โ€ฒ, ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ (๐‘  โ‹… ๐’…โ€ฒโ€ฒ) = ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ ๐‘  โ‹… ๐’•โ€ฒ, ๐’…โ€ฒโ€ฒ

= ๐‘€ ๐‘Ÿ โ‹… ๐‘™ + ๐‘ โ‹… ๐‘Ÿ 2 + ๐‘“ = ๐‘€ ๐‘™ โ‹… ๐‘Ÿ + ๐‘€ ๐‘ โ‹… ๐‘Ÿ 2 + ๐‘€ ๐‘“ = ๐‘™โ€ฒ โ‹… ๐‘Ÿ + ๐‘โ€ฒ โ‹… ๐‘Ÿ 2 + ๐‘“โ€ฒ

๏‚ค ๐‘โ€ฒ encodes the ๐›ฝ๐‘˜

โ€ฒโ€™s that we want

slide-35
SLIDE 35

Correctness

  • We have ๐’•โ€ฒ, ๐’…โ€ฒ = ๐‘™โ€ฒ โ‹… ๐‘Ÿ + ๐‘โ€ฒ โ‹…

๐‘Ÿ 2 + ๐‘“โ€ฒ

๏‚ค This looks like a valid encryption of ๐‘โ€ฒ ๏‚ค It remains to show that ๐‘“โ€ฒ is short

๏‚จ ๐‘“โ€ฒ = ๐‘€ ๐‘“ = ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ(๐‘  โ‹… ๐‘“)

๏‚ค ๐‘“ is short (from the input), ๐‘  is short (reduced mod 2) ๏‚ค So ๐‘  โ‹… ๐‘“ is short ๏‚ค By Lemma 3 also ๐‘ˆ๐‘ ๐ฟ/๐ฟโ€ฒ(๐‘  โ‹… ๐‘“) is short

slide-36
SLIDE 36

Conclusions

๏‚จ We have a general ring-switching technique

๏‚ค Converts ๐’… over ๐‘†๐‘› to ๐’…โ€ฒ over ๐‘†๐‘›โ€ฒ for ๐‘›โ€ฒ|๐‘› ๏‚ค The plaintext slots in ๐’…โ€ฒ can contain any linear functions

  • f the slots in ๐’…

๏ฎ A ๐’…โ€ฒ-slot is a function of the ๐’…-slots that lie above it

๏‚ค We may choose projection functions to have ๐’…โ€ฒ contain

subset of the slots of ๐’…

๏‚จ Lets us to speed up computation by switching to a

smaller ring

slide-37
SLIDE 37

Epilog: The [AP13] Work

Alperin-Sheriff & Peikert described a clever use of ring-switching for efficient homomorphic computation

  • f DFT-like transformations:

1.

Decompose it to an FFT-like network of โ€œlocalโ€ linear functions

2.

Use ring-switching for each level

3.

Then switch back up before the next level Yields fastest bootstrapping procedure to date