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 ๐›ฝ โ„“

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend