FULLY HOMOMORPHIC ENCRYPTION WITH POLYLOG OVERHEAD Craig Gentry and Shai Halevi IBM Watson Nigel Smart Univ. Of Bristol.

Slides:



Advertisements
Similar presentations
A Simple BGN-Type Cryptosystem from LWE
Advertisements

FULLY HOMOMORPHIC ENCRYPTION
Asymptotically Optimal Communication for Torus- Based Cryptography David Woodruff MIT Joint work with Marten van Dijk Philips/MIT.
Attacking Cryptographic Schemes Based on Perturbation Polynomials Martin Albrecht (Royal Holloway), Craig Gentry (IBM), Shai Halevi (IBM), Jonathan Katz.
Fully Homomorphic Encryption over the Integers
Secure Evaluation of Multivariate Polynomials
Cryptographic Multilinear Maps
Computer Interfacing and Protocols
+ Accelerating Fully Homomorphic Encryption on GPUs Wei Wang, Yin Hu, Lianmu Chen, Xinming Huang, Berk Sunar ECE Dept., Worcester Polytechnic Institute.
Paper by: Craig Gentry Presented By: Daniel Henneberger.
1 Lecture 3: Secret Key Cryptography Outline concepts DES IDEA AES.
A Security Protocol for Sensor Networks Khadija Stewart, Themistoklis Haniotakis and Spyros Tragoudas Dept. of Electrical and Computer Engineering Southern.
New Advances in Garbling Circuits Based on joint works with Yuval Ishai Eyal Kushilevitz Brent Waters University of TexasTechnion Benny Applebaum Tel Aviv.
Heiko Schröder, 2003 Parallel Architectures 1 Various communication networks State of the art technology Important aspects of routing schemes Known results.
Advanced Topics in Algorithms and Data Structures An overview of the lecture 2 Models of parallel computation Characteristics of SIMD models Design issue.
Simplified DES CS-480b Network Security Dick Steflik.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
Secure Efficient Multiparty Computing of Multivariate Polynomials and Applications Dana Dachman-Soled, Tal Malkin, Mariana Raykova, Moti Yung.
1 高等演算法 Homework One 暨南大學資訊工程學系 黃光璿 2004/11/11. 2 Problem 1.
1 A Quantum self- Routing Packet Switching Manish Kumar Shukla, Rahul Ratan and A. Yavuz Oruc, Department of Electrical and Computer Engineering, University.
Shuffle Exchange Network and de Bruijn’s Graph Shuffle Exchange graph Merge exchange into a single node De Bruijn.
Models of Parallel Computation Advanced Algorithms & Data Structures Lecture Theme 12 Prof. Dr. Th. Ottmann Summer Semester 2006.
ON THE PROVABLE SECURITY OF HOMOMORPHIC ENCRYPTION Andrej Bogdanov Chinese University of Hong Kong Bertinoro Summer School | July 2014 based on joint work.
Simons Institute, Cryptography Boot Camp
Multiplication.
ALGEBRA TILES Variables such as ‘x’ and ‘y’ are used to represent an unknown number Algebra tiles are the generally accepted manipulative to help students.
Homomorphic Encryption: WHAT, WHY, and HOW
THE LAPLACE TRANSFORM LEARNING GOALS Definition The transform maps a function of time into a function of a complex variable Two important singularity functions.
Cryptography and Network Security
CSCI 5857: Encoding and Encryption
1 Time Analysis Analyzing an algorithm = estimating the resources it requires. Time How long will it take to execute? Impossible to find exact value Depends.
1 Fingerprinting techniques. 2 Is X equal to Y? = ? = ?
Secure Computation (Lecture 7-8) Arpita Patra. Recap >> (n,t)-Secret Sharing (Sharing/Reconstruction) > Shamir Sharing > Lagrange’s Interpolation for.
Chapter 20 Symmetric Encryption and Message Confidentiality.
1 Information Security – Theory vs. Reality , Winter Lecture 10: Garbled circuits (cont.), fully homomorphic encryption Eran Tromer.
Implementing RSA Encryption in Java
Télécom 2A – Algo Complexity (1) Time Complexity and the divide and conquer strategy Or : how to measure algorithm run-time And : design efficient algorithms.
EE5393, Circuits, Computation, and Biology Computing with Probabilities 1,1,0,0,0,0,1,0 1,1,0,1,0,1,1,1 1,1,0,0,1,0,1,0 a = 6/8 c = 3/8 b = 4/8.
Making Secure Computation Practical IBM: Craig Gentry, Shai Halevi, Charanjit Jutla, Hugo Krawczyk, Tal Rabin, NYU: Victor Shoup SRI: Mariana Raykova Stanford:
1 Secure Multi-party Computation Minimizing Online Rounds Seung Geol Choi Columbia University Joint work with Ariel Elbaz(Columbia University) Tal Malkin(Columbia.
* Partially sponsored by IARPA SPAR * Partially sponsored by DARPA PROCEED.
THE LAPLACE TRANSFORM LEARNING GOALS Definition
Secure Computation Lecture Arpita Patra. Recap >> Improving the complexity of GMW > Step I: Offline: O(n 2 c AND ) OTs; Online: i.t., no crypto.
FHE Introduction Nigel Smart Avoncrypt 2015.
China Summer School on Lattices and Cryptography Craig Gentry and Shai Halevi June 4, 2014 Homomorphic Encryption over Polynomial Rings.
DES Analysis and Attacks CSCI 5857: Encoding and Encryption.
PRACTICAL (F)HE Shai Halevi 1 October 2015FHE+MMAPs Summer School, Paris Part I - BGV Basics Part II - Packed Ciphertexts Part III - Bootstrapping.
CS 151: Digital Design Chapter 4: Arithmetic Functions and Circuits
Almost Entirely Correct Mixing With Applications to Voting Philippe Golle Dan Boneh Stanford University.
China Summer School on Lattices and Cryptography Craig Gentry and Shai Halevi June 3, 2014 Fully Homomorphic Encryption and Bootstrapping.
China Summer School on Lattices and Cryptography Craig Gentry and Shai Halevi June 3, 2014 Somewhat Homomorphic Encryption.
Online/Offline Attribute-Based Encryption Brent WatersSusan Hohenberger Presented by Shai Halevi.
x² + 5x + 4 9acny 42 n³ 7y³ + 3y²n - 6n² + 8x a9a n x² + 5x + 4x4x 7n ¼ + 6x³ a ⅔ 42 6.
Fully Homomorphic Encryption (FHE) By: Matthew Eilertson.
Cryptographic methods. Outline  Preliminary Assumptions Public-key encryption  Oblivious Transfer (OT)  Random share based methods  Homomorphic Encryption.
Packing Techniques for Homomorphic Encryption Schemes Scott Thompson CSCI-762 4/28/2016.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Outline of implementation
Attack on Fully Homomorphic Encryption over Principal Ideal Lattice
AccAAD: An Efficient Append-Only Authenticated Dictionary for Transparency Logs Vivek Bhupatiraju, PRIMES 2018.
Design and Analysis of Computer Algorithm (CS575-01)
Verifiable Oblivious Storage
Making Secure Computation Practical
Lecture 6 Overview.
Linear Sorting Sorting in O(n) Jeff Chastine.
Chapter -2 Block Ciphers and the Data Encryption Standard
Practical (F)HE Part III – Bootstrapping
Florida State University
Presentation transcript:

FULLY HOMOMORPHIC ENCRYPTION WITH POLYLOG OVERHEAD Craig Gentry and Shai Halevi IBM Watson Nigel Smart Univ. Of Bristol

Homomorphic Encryption Usual procedures (KeyGen,Enc,Dec) Say, encrypting bits Usual semantic-security requirement (pk, Enc pk (0)) ~ (pk, Enc pk (1)) Additional Eval procedure Evaluate arithmetic circuits on ciphertexts Result decrypted to the evaluation of the same circuit on the underlying plaintext bits Ciphertext does not grow with circuit complexity This work: asymptotically efficient Eval

Contemporary HE Schemes

Our Result # of levelstime per level

Our Approach Use HE over polynomial rings Pack an array of bits in each ciphertext Use ring-automorphisms to move bits around in the arrays Efficient data-movement schemes Using Beneš/Waksman networks and extensions

BACKGROUND Homomorphic Encryption over Polynomials Rings Evaluation representation, plaintext slots Homomorphic SIMD operations

HE Over Polynomial Rings

Plaintext Algebra (1)

Plaintext Algebra (2) 32T: T: T: T: T: T:

Plaintext Slots

Homomorphic SIMD [SV’11]

We will use this later x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x7 x8x8 x9x9 x 10 x 11 x 12 x 13 x x1x1 00x4x4 0x6x6 0 0x9x9 x 10 0x 12 0x 14 x x = = + x1x1 x9x9 x 10 x4x4 x 12 x6x6 x 14

COMPUTING ON DATA ARRAYS Forget about encryption for the moment…

So you want to compute some function… x1x1 x2x2 x3x3 x4x4 x5x5 x7x7 x8x8 x9x9 x 10 x 11 x 12 x 14 x 15 x 16 x 17 x 18 x 19 x 21 x 22 x 23 x 24 x 25 x 26 ADD and MUL are a complete set of operations. Input bits

x1x1 x2x2 x3x3 x4x4 x5x5 x7x7 x8x8 x9x9 x 10 x 11 x 12 x 14 x 15 x 16 x 17 x 18 x 19 x 21 x 22 x 23 x 24 x 25 x 26 x 15 x 16 x 17 x 18 x 19 x 21 x8x8 x9x9 x 10 x 11 x 12 x 14 x1x1 x2x2 x3x3 x4x4 x5x5 x7x7 x 22 x 23 x 24 x 25 x 26 Input bits ××××××××××× So you want to compute some function using SIMD…

Routing Values Between Levels We need to map this Into that x 15 x 16 x 17 x 18 x 19 1x 21 x8x8 x9x9 x 10 x 11 x 12 1x 14 x1x1 x2x2 x3x3 x4x4 x5x5 0x7x7 x 22 x 23 x 24 x 25 x 26 x 15 x 17 x 19 x 21 x 23 x 25 x2x2 x4x4 0x8x8 x 10 x 12 x 14 x1x1 x3x3 x5x5 x7x7 x9x9 x 11 1 x 16 x 18 1x 22 x 24 x

x1x1 x2x2 x3x3 x4x4 x5x5 x7x7 x1x1 x2x2 x3x3 x4x4 x5x5 x7x7 x1x1 x3x3 x5x5 **** x1x1 x2x2 x3x3 x4x4 x5x x1x1 x3x3 x5x5 0000x2x2 x4x x2x2 x4x4 *****

0 x1x1 x2x2 x3x3 x4x4 x5x5 x1x1 x3x3 x5x5 0000x2x2 x4x x1+x2x1+x2 x3+x4x3+x4 x5x5 0000

01 1 x1x1 x2x2 x3x3 x4x4 x5x5 x7x7 x8x8 x9x9 x 10 x 11 x 12 x 14 x 15 x 16 x 17 x 18 x 19 x 21 x 22 x 23 x 24 x 25 x 26 Input bits ××××××××××× Not quite obvious

Routing Values Between Levels: Three Problems to Solve

Moving Values Between Slots 32T: T: T: T: T: T:

Moving Values Between Slots

Homomorphic Automorphisms

From Shifts to Arbitrary Permutations

Use Beneš/Walksman Permutation Networks: Two back-to-back butterflies Every exchange is controlled by a bit Values sent on either straight edges or cross edges Every permutation can be realized by appropriate setting of the control bits

Realizing Permutation Networks Claim: every butterfly level can be realized by two shifts and two SELECTs Example: Control bits:

Realizing Permutation Networks shift(-2) shift(2) input output a1a1 a2a2 a3a

Realizing Permutation Networks shift(-2) shift(2) input output a1a1 a2a2 a3a SELECT(a 1,a 2 ) SELECT(a 3,a 4 ) a4a4 a5a5

Realizing Permutation Networks Claim: every level of the Benes network can be realized by two shifts and two SELECTs Proof : In every level, all the exchanges are between nodes at the same distance Distance 2 i for some i Can implement all these exchanges using shift(2 i ), shift(-2 i ), and two SELECTs

Realizing Permutation Networks

Routing Values Between Levels see paper

Handling Large Permutations

Decomposing Permutations ?

Decomposing Permutations ?

Decomposing Permutations ?

Decomposing Permutations ?

Decomposing Permutations ?

? Decomposing Permutations

Handling Large Permutations

Permuting The Columns         Implement a Beneš network over each column

Permuting The Columns         First level in all the networks        

Permuting The Columns Second level in all the networks                , etc.

Handling Large Permutations

Routing Values Between Levels see paper

Low Overhead Homomorphic Encryption

QUESTIONS?

Fan-Out and Cloning x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x x 15 x 16 x 17 x 18 x 19 x 20 x x8x8 x9x9 x 10 x 11 x 12 x 13 x 14 variables intended multiplicity

Fan-Out and Cloning x1x1 x2x2 x3x3 x4x4 x5x5 x6x6 x7x x 15 x 16 x 17 x 18 x 19 x 20 x x8x8 x9x9 x 10 x 11 x 12 x 13 x x 11 x2x2 x 17 x1x1 x5x5 x6x6 x9x x7x7 x8x8 x 12 x 14 x 16 x 18 x x 10 x 13 x 15 x 19 x 21 x3x3 x4x4 Sort by intended multiplicity:

Fan-Out and Cloning x 11 x2x2 x 17 x1x1 x5x5 x6x6 x9x x7x7 x8x8 x 12 x 14 x 16 x 18 x x 10 x 13 x 15 x 19 x 21 x3x3 x4x4 433 x 11 x2x2 x x 11 x2x2 x 17 Replicate Replicate and shift

Fan-Out and Cloning x 11 x2x2 x 17 x 11 x2x2 x x 11 x2x2 x 17 x1x1 x5x5 x6x6 x9x x7x7 x8x8 x 12 x 14 x 16 x 18 x x 10 x 13 x 15 x 19 x 21 x3x3 x4x4 Merge

Fan-Out and Cloning x 11 x2x2 x 17 x 11 x2x2 x 17 x1x x5x5 x6x6 x9x9 x 10 x 13 x 15 x 19 2 x x 11 x2x2 x 17 x 11 x2x2 x 17 x1x x5x5 x6x6 x9x9 x 10 x 13 x 15 x x 11 x2x2 x 17 x1x1 x5x5 x6x6 x9x x7x7 x8x8 x 12 x 14 x 16 x 18 x x 10 x 13 x 15 x 19 x 21 x3x3 x4x4 2 Replicate, shift, merge Replicate, shift

Fan-Out and Cloning x 11 x2x2 x 17 x 11 x2x2 x 17 x1x x5x5 x6x6 x9x9 x 10 x 13 x 15 x x x 11 x2x2 x 17 x 11 x2x2 x 17 x1x x5x5 x6x6 x9x9 x 10 x 13 x 15 x x 11 x2x2 x 17 x1x1 x5x5 x6x6 x9x x7x7 x8x8 x 12 x 14 x 16 x 18 x x 10 x 13 x 15 x 19 x 21 x3x3 x4x4 Merge

Fan-Out and Cloning x 11 x2x2 x 17 x 11 x2x2 x 17 x1x x5x5 x6x6 x9x9 x 10 x 13 x 15 x x 11 x2x2 x 17 x 11 x2x2 x 17 x1x x5x5 x6x6 x9x9 x 10 x 13 x 15 x x 11 x2x2 x 17 x1x1 x5x5 x6x6 x9x x7x7 x8x8 x 12 x 14 x 16 x 18 x x 10 x 13 x 15 x 19 x 21 x3x3 x4x x3x3 x4x x7x7 x8x8 x 12 x 14 x 16 x 18 x 20 Copy, merge Copy Each variable appears at least as much as needed