faster homomorphic linear transformations in helib
play

Faster Homomorphic Linear Transformations in HElib Shai Halevi - PowerPoint PPT Presentation

Faster Homomorphic Linear Transformations in HElib Shai Halevi (IBM) Victor Shoup (IBM & NYU) Fully Homomorphic Encryption allows for arbitrary computation on encrypted data In this talk, the focus is on linear transformations . . . more


  1. Faster Homomorphic Linear Transformations in HElib Shai Halevi (IBM) Victor Shoup (IBM & NYU)

  2. Fully Homomorphic Encryption allows for arbitrary computation on encrypted data In this talk, the focus is on linear transformations . . . more specifically, applying a fixed, public linear transformation to a vector encrypted in the BGV (Brakerski-Gentry-Vaikuntanathan) cryptosystem We present new algorithms and their implementation in HElib We get speed ups of up to ≈ 75 × One important application: bootstrapping ➪ in Chen and Han’s new bootstrapping algorithm (Eurocrypt 2018), most of the time is spent performing a change of basis ➪ speed up of up to ≈ 6 × for bootstrapping as a whole

  3. Fully Homomorphic Encryption allows for arbitrary computation on encrypted data In this talk, the focus is on linear transformations . . . more specifically, applying a fixed, public linear transformation to a vector encrypted in the BGV (Brakerski-Gentry-Vaikuntanathan) cryptosystem We present new algorithms and their implementation in HElib We get speed ups of up to ≈ 75 × One important application: bootstrapping ➪ in Chen and Han’s new bootstrapping algorithm (Eurocrypt 2018), most of the time is spent performing a change of basis ➪ speed up of up to ≈ 6 × for bootstrapping as a whole

  4. Fully Homomorphic Encryption allows for arbitrary computation on encrypted data In this talk, the focus is on linear transformations . . . more specifically, applying a fixed, public linear transformation to a vector encrypted in the BGV (Brakerski-Gentry-Vaikuntanathan) cryptosystem We present new algorithms and their implementation in HElib We get speed ups of up to ≈ 75 × One important application: bootstrapping ➪ in Chen and Han’s new bootstrapping algorithm (Eurocrypt 2018), most of the time is spent performing a change of basis ➪ speed up of up to ≈ 6 × for bootstrapping as a whole

  5. Fully Homomorphic Encryption allows for arbitrary computation on encrypted data In this talk, the focus is on linear transformations . . . more specifically, applying a fixed, public linear transformation to a vector encrypted in the BGV (Brakerski-Gentry-Vaikuntanathan) cryptosystem We present new algorithms and their implementation in HElib We get speed ups of up to ≈ 75 × One important application: bootstrapping ➪ in Chen and Han’s new bootstrapping algorithm (Eurocrypt 2018), most of the time is spent performing a change of basis ➪ speed up of up to ≈ 6 × for bootstrapping as a whole

  6. Fully Homomorphic Encryption allows for arbitrary computation on encrypted data In this talk, the focus is on linear transformations . . . more specifically, applying a fixed, public linear transformation to a vector encrypted in the BGV (Brakerski-Gentry-Vaikuntanathan) cryptosystem We present new algorithms and their implementation in HElib We get speed ups of up to ≈ 75 × One important application: bootstrapping ➪ in Chen and Han’s new bootstrapping algorithm (Eurocrypt 2018), most of the time is spent performing a change of basis ➪ speed up of up to ≈ 6 × for bootstrapping as a whole

  7. Fully Homomorphic Encryption allows for arbitrary computation on encrypted data In this talk, the focus is on linear transformations . . . more specifically, applying a fixed, public linear transformation to a vector encrypted in the BGV (Brakerski-Gentry-Vaikuntanathan) cryptosystem We present new algorithms and their implementation in HElib We get speed ups of up to ≈ 75 × One important application: bootstrapping ➪ in Chen and Han’s new bootstrapping algorithm (Eurocrypt 2018), most of the time is spent performing a change of basis ➪ speed up of up to ≈ 6 × for bootstrapping as a whole

  8. Fully Homomorphic Encryption allows for arbitrary computation on encrypted data In this talk, the focus is on linear transformations . . . more specifically, applying a fixed, public linear transformation to a vector encrypted in the BGV (Brakerski-Gentry-Vaikuntanathan) cryptosystem We present new algorithms and their implementation in HElib We get speed ups of up to ≈ 75 × One important application: bootstrapping ➪ in Chen and Han’s new bootstrapping algorithm (Eurocrypt 2018), most of the time is spent performing a change of basis ➪ speed up of up to ≈ 6 × for bootstrapping as a whole

  9. Fully Homomorphic Encryption allows for arbitrary computation on encrypted data In this talk, the focus is on linear transformations . . . more specifically, applying a fixed, public linear transformation to a vector encrypted in the BGV (Brakerski-Gentry-Vaikuntanathan) cryptosystem We present new algorithms and their implementation in HElib We get speed ups of up to ≈ 75 × One important application: bootstrapping ➪ in Chen and Han’s new bootstrapping algorithm (Eurocrypt 2018), most of the time is spent performing a change of basis ➪ speed up of up to ≈ 6 × for bootstrapping as a whole

  10. BGV encryption R = Z [ X ] / (  n ( X )) Plaintext space: R p : = R/pR ( p = small prime) Ciphertext space: R q : = R/qR ( n, p, q pairwise coprime) c ∈ R 2 × 1 Ciphertext: ¯ q s = ( 1 , s 1 ) ∈ R 2 × 1 Secret key: ¯ , where s 1 has small norm q Decryption: 〈 ¯ s, ¯ c 〉 = pε + m ���� “noise”

  11. BGV encryption R = Z [ X ] / (  n ( X )) Plaintext space: R p : = R/pR ( p = small prime) Ciphertext space: R q : = R/qR ( n, p, q pairwise coprime) c ∈ R 2 × 1 Ciphertext: ¯ q s = ( 1 , s 1 ) ∈ R 2 × 1 Secret key: ¯ , where s 1 has small norm q Decryption: 〈 ¯ s, ¯ c 〉 = pε + m ���� “noise”

  12. BGV encryption R = Z [ X ] / (  n ( X )) Plaintext space: R p : = R/pR ( p = small prime) Ciphertext space: R q : = R/qR ( n, p, q pairwise coprime) c ∈ R 2 × 1 Ciphertext: ¯ q s = ( 1 , s 1 ) ∈ R 2 × 1 Secret key: ¯ , where s 1 has small norm q Decryption: 〈 ¯ s, ¯ c 〉 = pε + m ���� “noise”

  13. BGV encryption R = Z [ X ] / (  n ( X )) Plaintext space: R p : = R/pR ( p = small prime) Ciphertext space: R q : = R/qR ( n, p, q pairwise coprime) c ∈ R 2 × 1 Ciphertext: ¯ q s = ( 1 , s 1 ) ∈ R 2 × 1 Secret key: ¯ , where s 1 has small norm q Decryption: 〈 ¯ s, ¯ c 〉 = pε + m ���� “noise”

  14. BGV encryption R = Z [ X ] / (  n ( X )) Plaintext space: R p : = R/pR ( p = small prime) Ciphertext space: R q : = R/qR ( n, p, q pairwise coprime) c ∈ R 2 × 1 Ciphertext: ¯ q s = ( 1 , s 1 ) ∈ R 2 × 1 Secret key: ¯ , where s 1 has small norm q Decryption: 〈 ¯ s, ¯ c 〉 = pε + m ���� “noise”

  15. BGV encryption R = Z [ X ] / (  n ( X )) Plaintext space: R p : = R/pR ( p = small prime) Ciphertext space: R q : = R/qR ( n, p, q pairwise coprime) c ∈ R 2 × 1 Ciphertext: ¯ q s = ( 1 , s 1 ) ∈ R 2 × 1 Secret key: ¯ , where s 1 has small norm q Decryption: 〈 ¯ s, ¯ c 〉 = pε + m ���� “noise”

  16. Representation of ciphertext space R q Coefficient representation DoubleCRT representation • q = q 1 · · · q ℓ , where each q  is a small prime such that Z q  contains n th roots of unity • A polynomial in R q is reduced modulo each q  , and then evaluated at the primitive n th roots of unity in Z q  Addition of ciphertexts in DoubleCRT representation takes linear time . . . so does multiplication by a constant Switching between DoubleCRT and coefficient representations: somewhat expensive (requires CRT and FFT)

  17. Representation of ciphertext space R q Coefficient representation DoubleCRT representation • q = q 1 · · · q ℓ , where each q  is a small prime such that Z q  contains n th roots of unity • A polynomial in R q is reduced modulo each q  , and then evaluated at the primitive n th roots of unity in Z q  Addition of ciphertexts in DoubleCRT representation takes linear time . . . so does multiplication by a constant Switching between DoubleCRT and coefficient representations: somewhat expensive (requires CRT and FFT)

  18. Representation of ciphertext space R q Coefficient representation DoubleCRT representation • q = q 1 · · · q ℓ , where each q  is a small prime such that Z q  contains n th roots of unity • A polynomial in R q is reduced modulo each q  , and then evaluated at the primitive n th roots of unity in Z q  Addition of ciphertexts in DoubleCRT representation takes linear time . . . so does multiplication by a constant Switching between DoubleCRT and coefficient representations: somewhat expensive (requires CRT and FFT)

  19. Representation of ciphertext space R q Coefficient representation DoubleCRT representation • q = q 1 · · · q ℓ , where each q  is a small prime such that Z q  contains n th roots of unity • A polynomial in R q is reduced modulo each q  , and then evaluated at the primitive n th roots of unity in Z q  Addition of ciphertexts in DoubleCRT representation takes linear time . . . so does multiplication by a constant Switching between DoubleCRT and coefficient representations: somewhat expensive (requires CRT and FFT)

  20. Representation of ciphertext space R q Coefficient representation DoubleCRT representation • q = q 1 · · · q ℓ , where each q  is a small prime such that Z q  contains n th roots of unity • A polynomial in R q is reduced modulo each q  , and then evaluated at the primitive n th roots of unity in Z q  Addition of ciphertexts in DoubleCRT representation takes linear time . . . so does multiplication by a constant Switching between DoubleCRT and coefficient representations: somewhat expensive (requires CRT and FFT)

Recommend


More recommend