homomorphic encryption
play

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 =


  1. FIELD-SWITCHING IN HOMOMORPHIC ENCRYPTION Craig Gentry Shai Halevi Chris Peikert Nigel P. Smart

  2. HE Over Cyclotomic Rings ๏‚จ Denote the field ๐ฟ ๐‘› = ๐‘…(๐œ‚ ๐‘› ) โ‰… ๐‘… ๐‘Œ /(ฮฆ ๐‘› ๐‘Œ ) ๏‚ค Its ring of integers is ๐‘† ๐‘› = ๐‘Ž(๐œ‚ ๐‘› ) โ‰… ๐‘Ž ๐‘Œ /(ฮฆ ๐‘› ๐‘Œ ) ๏‚ค Mod- ๐‘Ÿ denoted ๐‘† ๐‘›,๐‘Ÿ = ๐‘† ๐‘› /๐‘Ÿ๐‘† ๐‘› โ‰… ๐‘Ž ๐‘Ÿ ๐‘Œ /(ฮฆ ๐‘› (๐‘Œ)) ๏‚จ โ€œ N ative 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

  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 ๐’•(๐‘Œ ๐‘ข )

  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 ๐‘“

  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

  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 ??

  7. Ring-Switching: The Goal ๏‚จ We cannot get ๐‘ โ€ฒ = ๐‘ since ๐‘ โ€ฒ โˆˆ ๐‘† ๐‘› โ€ฒ ,2 , ๐‘ โˆˆ ๐‘† ๐‘›,2 ๏‚จ We want ๐‘ โ€ฒ to be โ€œrelatedโ€ to ๐‘ ๏‚ค ๐‘ โˆˆ ๐‘† ๐‘›,2 encodes ๐›ฝ 1 โ€ฆ ๐›ฝ โ„“ โˆˆ ๐ป๐บ 2 ๐‘’ โ„“ โˆˆ ๐ป๐บ 2 ๐‘’ โ€ฒ โ„“ โ€ฒ โ€ฒ โ€ฆ ๐›ฝ โ„“ โ€ฒ ๏‚ค ๐‘ โ€ฒ โˆˆ ๐‘† ๐‘› โ€ฒ ,2 encodes ๐›ฝ 1 โ€ฒ ๏‚จ 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?

  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 โ€ฒ , ๐‘ 2 โ€ฒ , ๐’… ๐Ÿ‘ โ€ฒ (encrypted in ๐’… ๐Ÿ โ€ฒ ). ๐‘ 1 ๏‚จ Used only for bootstrapping

  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 ๐‘’ ) โ€ฒ is a ๐ป๐บ 2 ๐‘’ โ€ฒ -linear function of some ๐›ฝ ๐‘— โ€˜s ๏‚จ Each ๐›ฝ ๐‘˜ ๏‚ค 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)

  10. Our Transformation: Overview Denote ๐ฟ = ๐ฟ ๐‘› , ๐‘† = ๐‘† ๐‘› , ๐ฟ โ€ฒ = ๐ฟ ๐‘› โ€ฒ , ๐‘† โ€ฒ = ๐‘† ๐‘› โ€ฒ Key-switching to map ๐’… wrt ๐’• ๏ƒจ ๐’…โ€ฒ โ€ฒ wrt ๐’•โ€ฒ 1. โ€ฒ 2 โŠ‚ ๐‘† ๐‘Ÿ 2 and ๐’• โ€ฒ โˆˆ ๐‘† ๐‘Ÿ 2 ๐’• โˆˆ ๐‘† ๐‘Ÿ ๏‚ค ๐’…โ€ฒ โ€ฒ = (๐‘‘ 0 โ€ฒโ€ฒ , ๐‘‘ 1 โ€ฒโ€ฒ ) over the big field, wrt subfield key ๏‚ค Compute a small ๐‘  โˆˆ ๐‘† ๐‘Ÿ that depends only on the 2. desired linear functions โ€ฒ = Tr ๐ฟ/๐ฟโ€ฒ ๐‘  โ‹… ๐‘‘ ๐‘— โ€ฒโ€ฒ Apply the trace function, ๐‘‘ ๐‘— 3. Output ๐’… โ€ฒ = (๐‘‘ 0 โ€ฒ , ๐‘‘ 1 โ€ฒ ) 4.

  11. Algebra

  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 ๐œ ๐‘ฃ = ๐‘ฃ, ๐‘ฃ, โ€ฆ , ๐‘ฃ ๏‚จ W e can talk about the โ€œsize of ๐‘ฃ โ€ ๏‚ค say the ๐‘š 2 or ๐‘š โˆž norm of ๐œ ๐‘ฃ ๏‚ค For decryption, the โ€œnoise elementโ€ must be โ‰ช ๐‘Ÿ

  13. Geometry of ๐ฟ, ๐ฟ โ€ฒ ๏‚จ ๐ฟ can be expressed as a vector-space over ๐ฟ โ€ฒ โ€ฒ , etc. ๏‚ค Similarly ๐‘† over ๐‘† โ€ฒ , ๐‘† ๐‘Ÿ over ๐‘† ๐‘Ÿ ๏‚จ 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โ€

  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

  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 ๐œ† โ‹… ๐‘ฃ โˆ€๐‘ฃ โˆˆ ๐ฟ

  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

  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 ๐‘€ ๐‘ฃ = Tr K/K โ€ฒ ๐œ† โ‹… ๐‘ฃ โˆ€๐‘ฃ โˆˆ ๐ฟ ๐‘› ๏‚จ Similarly implies ๐‘†โ€ฒ -linear map ๐‘ˆ๐‘  ๐ฟ/๐ฟ โ€ฒ : ๐‘† โ†’ ๐‘†โ€ฒ and โ€ฒ -linear map ๐‘ˆ๐‘  ๐ฟ/๐ฟ โ€ฒ : ๐‘† ๐‘Ÿ โ†’ ๐‘† ๐‘Ÿ โ€ฒ ๐‘† ๐‘Ÿ

  18. Some Complications ๐‘† โŠ† ๐‘† โ€ฒ ๏‚จ Often we get Tr ๐ฟ ๐ฟ โ€ฒ ๏‚จ Also for many linear functions we get ๐‘€ ๐‘ฃ = Tr K/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

  19. The Dual of ๐‘† ๏‚จ Instead of ๐‘† , ciphertext are vectors over the dual ๐‘† โˆจ = {๐‘ โˆˆ ๐ฟ: โˆ€ ๐‘  โˆˆ ๐‘†, Tr ๐‘๐‘  โˆˆ ๐‘Ž} ๏‚ค R โˆจ = R/t , R โ€ฒโˆจ = R โ€ฒ /t โ€ฒ for some t โˆˆ ๐‘†, ๐‘ข โ€ฒ โˆˆ ๐‘† โ€ฒ R โˆจ = ๐‘† โ€ฒโˆจ ๏‚จ We have Tr ๐ฟ ๐ฟ โ€ฒ ๏‚ค 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 ๐‘†

  20. Prime Splitting ๐‘“ ๏‚จ The integer 2 splits over ๐‘† as 2 = โˆ ๐’’ ๐‘— ๐‘— โˆ— /(2) ๏ฎ ๐‘— ranges over ๐ป = ๐‘Ž ๐‘› ๐‘—โ‹…2 ๐‘˜ ๏‚ค ๐’’ ๐‘— is generated by (2, ๐บ ๐‘— ๐‘Œ = โˆ ๐‘Œ โˆ’ ๐œ‚ ๐‘› ) ๐‘˜ ๏‚ค In this talk we assume ๐‘“ =1 (i.e., ๐‘› is odd) ๏‚ค โ„“ = |๐ป| prime ideals, each ๐‘†/๐’’ ๐‘— โ‰… ๐ป๐บ(2 ๐‘’ ) ๏‚ค R 2 = ๐‘†/(2) โ‰…โŠ• ๐‘— ๐‘†/๐’’ ๐‘— โ‰…โŠ• ๐‘— ๐ป๐บ(2 ๐‘’ ) ๏‚จ Using CRT, each ๐‘ โˆˆ ๐‘† 2 encodes the vector ) โˆˆ ๐ป๐บ 2 ๐‘’ โ„“ (๐‘ ๐‘›๐‘๐‘’ ๐’’ ๐‘— 1 , โ€ฆ , ๐‘ ๐‘›๐‘๐‘’ ๐’’ ๐‘— โ„“ ๐›ฝ 1 ๐›ฝ โ„“

Recommend


More recommend