HOMOMORPHIC ENCRYPTION Craig Gentry Shai Halevi Chris Peikert - - PowerPoint PPT Presentation
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 =
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
* * *
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 ๐(๐๐ข)
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 ๐
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
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 ??
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?
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
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)
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 โฒ)
Algebra
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 โช ๐
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โ
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
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 ๐ โ ๐ฃ โ๐ฃ โ ๐ฟ
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
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 ๐๐ ๐ฟ/๐ฟโฒ: ๐๐ โ ๐๐ โฒ
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
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 ๐
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๐ โ
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
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
โฒ
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 ๐ฃ๐
โฒ
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
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 ๐๐
โฒ
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
*
The Transformation
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 ๐
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 ๐๐
๐๐-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)
๐๐-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 ๐๐. โก
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 ๐, ๐ฝ๐
โฒ = ๐๐(๐ท๐)
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
*
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
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
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
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.