Fully Homomorphic Encryption over the Integers

Similar documents
Fully Homomorphic Encryption over the Integers

Manipulating Data while It Is Encrypted

On Homomorphic Encryption and Secure Computation

Fully Homomorphic Encryption

Fully Homomorphic Encryption from LWE

Fully Homomorphic Encryption and Bootstrapping

Fully Homomorphic Encryption

An Overview of Homomorphic Encryption

Some security bounds for the DGHV scheme

Computing with Encrypted Data Lecture 26

Fully Homomorphic Encryption over the Integers with Shorter Public Keys

Lattice Based Crypto: Answering Questions You Don't Understand

Fully Homomorphic Encryption - Part II

Faster Fully Homomorphic Encryption

Fully Homomorphic Encryption

Public Key Compression and Modulus Switching for Fully Homomorphic Encryption over the Integers

Fully Homomorphic Encryption. Zvika Brakerski Weizmann Institute of Science

Shai Halevi IBM August 2013

FULLY HOMOMORPHIC ENCRYPTION: Craig Gentry, IBM Research

Gentry s Fully Homomorphic Encryption Scheme

Fully homomorphic encryption scheme using ideal lattices. Gentry s STOC 09 paper - Part II

Fully Homomorphic Encryption over the Integers with Shorter Public Keys

MASTER. Fully homomorphic encryption in JCrypTool. Ramaekers, C.F.W. Award date: Link to publication

The Distributed Decryption Schemes for Somewhat Homomorphic Encryption

On i-hop Homomorphic Encryption

An RNS variant of fully homomorphic encryption over integers

Computing on Encrypted Data

Lattices. A Lattice is a discrete subgroup of the additive group of n-dimensional space R n.

Fully Key-Homomorphic Encryption and its Applications

Homomorphic Encryption. Liam Morris

Open problems in lattice-based cryptography

Faster fully homomorphic encryption: Bootstrapping in less than 0.1 seconds

Report Fully Homomorphic Encryption

Craig Gentry. IBM Watson. Winter School on Lattice-Based Cryptography and Applications Bar-Ilan University, Israel 19/2/ /2/2012

Fully Homomorphic Encryption

Gentry s SWHE Scheme

Parameter Constraints on Homomorphic Encryption Over the Integers

Multikey Homomorphic Encryption from NTRU

Fully Homomorphic Encryption over the Integers

Multiparty Computation from Somewhat Homomorphic Encryption. November 9, 2011

Classical hardness of the Learning with Errors problem

1 Number Theory Basics

ENEE 457: Computer Systems Security 10/3/16. Lecture 9 RSA Encryption and Diffie-Helmann Key Exchange

8 Elliptic Curve Cryptography

Evaluating 2-DNF Formulas on Ciphertexts

Implementing Homomorphic Encryption

How to Use Short Basis : Trapdoors for Hard Lattices and new Cryptographic Constructions

CPSC 467b: Cryptography and Computer Security

CPE 776:DATA SECURITY & CRYPTOGRAPHY. Some Number Theory and Classical Crypto Systems

Ideal Lattices and NTRU

10 Public Key Cryptography : RSA

COMP4109 : Applied Cryptography

Attribute-based Encryption & Delegation of Computation

Practical Fully Homomorphic Encryption without Noise Reduction

Better Bootstrapping in Fully Homomorphic Encryption

Cryptography and RSA. Group (1854, Cayley) Upcoming Interview? Outline. Commutative or Abelian Groups

Classical hardness of Learning with Errors

Question 2.1. Show that. is non-negligible. 2. Since. is non-negligible so is μ n +

Cryptology. Scribe: Fabrice Mouhartem M2IF

March 19: Zero-Knowledge (cont.) and Signatures

HOMOMORPHIC ENCRYPTION AND LATTICE BASED CRYPTOGRAPHY 1 / 51

9 Knapsack Cryptography

Fully Homomorphic Encryption Using Ideal Lattices

The RSA public encryption scheme: How I learned to stop worrying and love buying stuff online

Fully Homomorphic Encryption

Cosc 412: Cryptography and complexity Lecture 7 (22/8/2018) Knapsacks and attacks

General Impossibility of Group Homomorphic Encryption in the Quantum World

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Packing Messages and Optimizing Bootstrapping in GSW-FHE

Introduction to Public-Key Cryptosystems:

MATH 158 FINAL EXAM 20 DECEMBER 2016

A new security notion for asymmetric encryption Draft #8

Theme : Cryptography. Instructor : Prof. C Pandu Rangan. Speaker : Arun Moorthy CS

In fact, 3 2. It is not known whether 3 1. All three problems seem hard, although Shor showed that one can solve 3 quickly on a quantum computer.

Public Key Cryptography

High-Performance FV Somewhat Homomorphic Encryption on GPUs: An Implementation using CUDA

Cryptographic Multilinear Maps. Craig Gentry and Shai Halevi

basics of security/cryptography

Efficient and Secure Delegation of Linear Algebra

Public Key Compression and Modulus Switching for Fully Homomorphic Encryption over the Integers

CPSC 467b: Cryptography and Computer Security

Logic gates. Quantum logic gates. α β 0 1 X = 1 0. Quantum NOT gate (X gate) Classical NOT gate NOT A. Matrix form representation

Craig Gentry. IBM Watson. Winter School on Lattice-Based Cryptography and Applications Bar-Ilan University, Israel 19/2/ /2/2012

Public Key 9/17/2018. Symmetric Cryptography Review. Symmetric Cryptography: Shortcomings (1) Symmetric Cryptography: Analogy

Public Key Cryptography

From NewHope to Kyber. Peter Schwabe April 7, 2017

Public-Key Encryption: ElGamal, RSA, Rabin

Discrete Mathematics GCD, LCM, RSA Algorithm

Introduction to Cybersecurity Cryptography (Part 4)

SIS-based Signatures

i-hop Homomorphic Encryption Schemes

A Knapsack Cryptosystem Secure Against Attacks Using Basis Reduction and Integer Programming

(Batch) Fully Homomorphic Encryption over Integers for Non-Binary Message Spaces

Better Bootstrapping in Fully Homomorphic Encryption

(Batch) Fully Homomorphic Encryption over Integers for Non-Binary Message Spaces

Homomorphic Evaluation of the AES Circuit

Practical Verifiable Encryption and Decryption of Discrete Logarithms

Security Issues in Cloud Computing Modern Cryptography II Asymmetric Cryptography

CS483 Design and Analysis of Algorithms

Lecture 30: Hybrid Encryption and Prime Number Generation. Hybrid Encryption & Primes

Transcription:

Fully Homomorphic Encryption over the Integers Many slides borrowed from Craig Marten van Dijk 1, Craig Gentry 2, Shai Halevi 2, Vinod Vaikuntanathan 2 1 MIT, 2 IBM Research

Computing on Encrypted Data Storing my files on the cloud Encrypt them to protect my information Search through them for emails with homomorphic in the subject line Cloud should return only these (encrypted) messages, w/o knowing the key Private Internet search Encrypt my query, send to Google I still want to get the same results Results would be encrypted too

Public-key Encryption Three procedures: KeyGen, Enc, Dec (sk,pk) KeyGen($) Generate random public/secret key-pair c Enc pk (m) Encrypt a message with the public key m Dec sk (c) Decrypt a ciphertext with the secret key E.g., RSA: c m e mod N, m c d mod N (N,e) public key, d secret key

Homomorphic Public-key Encryption Also another procedure: Eval c* Eval pk (Π, c 1,,c n ) Circuit Encryption of output value m*=π(m 1,,m n ) Encryption of inputs m 1,,m n to Π Π a Boolean circuit with ADD, MULT mod 2

An Analogy: Alice s Jewelry Store Alice s workers need to assemble raw materials into jewelry But Alice is worried about theft How can the workers process the raw materials without having access to them?

An Analogy: Alice s Jewelry Store Alice puts materials in locked glove box For which only she has the key Workers assemble jewelry in the box Alice unlocks box to get results

The Analogy Enc: putting things inside the box Anyone can do this (imagine a mail-drop) c i Enc pk (m i ) Dec: Taking things out of the box Only Alice can do it, requires the key m* Dec sk (c*) Eval: Assembling the jewelry Anyone can do it, computing on ciphertext c* Eval pk (Π, c 1,,c n ) m* = Π(m 1,,m n ) is the ring, made from raw materials m 1,,m n

Can we do it? As described so far, sure.. (Π, c 1,,c n ) = c* Eval pk (Π, c 1,,c n ) Dec sk (c*) decrypts individual c i s, apply Π (the workers do nothing, Alice assembles the jewelry by herself) Of course, this is cheating: We want c* to remain small independent of the size of Π Compact homomorphic encryption We may also want Π to remain secret This is the main challenge Can be done with generic tools (Yao s garbled circuits)

What was known? Somewhat homomorphic schemes: Only work for some circuits E.g., RSA works for MULT gates (mod N) c*= c 1 x c 2 x c n =(m 1 x m 2 x m n ) e (mod N) X c 1 = m 1 e c 2 = m 2 e c n = m n e

Somewhat Homomorphic Schemes RSA, ElGamal work for MULT mod N GoMi, Paillier work for XOR, ADD BGN05 works for quadratic formulas SYY99 works for shallow fan-in-2 circuits c* grows exponentially with the depth of Π IP07 works for branching program MGH08 works for low-degree polynomials c* grows exponentially with degree

A Recent Breakthrough Genrty09: A bootstrapping technique Somewhat homomorphic Fully homomorphic Scheme E can evaluate its own decryption circuit Scheme E* can evaluate any circuit Gentry also described a candidate bootstrappable scheme Based on ideal lattices

The Current Work A second bootstrappable scheme Very simple: using only modular arithmetic Security is based on the hardness of finding approximate-gcd

Outline 1. A homomorphic symmetric encryption 2. Turning it into public-key encryption Result is almost bootstrappable 3. Making it bootstrappable Similar to Gentry 09 4. Security Time permitting 5. Gentry s bootstrapping technique Not today

A homomorphic symmetric encryption Shared secret key: odd number p To encrypt a bit m: Choose at random large q, small r Output c = pq + 2r + m Ciphertext is close to a multiple of p m = LSB of distance to nearest multiple of p To decrypt c: Output m = (c mod p) mod 2 2r+m much smaller than p

Why is this homomorphic? c 1 =q 1 p+2r 1 +m 1, c 2 =q 2 p+2r 2 +m 2 Distance to nearest multiple of p c 1 +c 2 = (q 1 +q 2 )p + 2(r 1 +r 2 ) + (m 1 +m 2 ) 2(r 1 +r 2 )+(m 1 +m 2 ) still much smaller than p c 1 +c 2 mod p = 2(r 1 +r 2 ) + (m 1 +m 2 ) c 1 x c 2 = (c 1 q 2 +q 1 c 2 q 1 q 2 )p + 2(2r 1 r 2 +r 1 m 2 +m 1 r 2 ) + m 1 m 2 2(2r 1 r 2 + ) still much smaller than p c 1 xc 2 mod p = 2(2r 1 r 2 + ) + m 1 m 2

How homomorphic is this? Can keep adding and multiplying until the noise term grows larger than q/2 Noise doubles on addition, squares on multiplication We choose r ~ 2 n, p ~ 2 n 2 (and q ~ 2 n 5 ) Can compute polynomials of degree ~n before the noise grows too large

Homomorphic Public-Key Encryption Secret key is an odd p as before Public key is many encryptions of 0 x i = [ q i p + 2r i ] x0 for i=1,2,,n Enc pk (m) = [ subset-sum(x i s)+m+2r] x0 Dec sk (c) = (c mod p) mod 2 Eval as before

Keeping it small The ciphertext s bit-length doubles with every multiplication The original ciphertext already has n 6 bits After ~log n multiplications we get ~n 7 bits We can keep the bit-length at n 6 by adding more encryption of zero y 1 =n 6 +1, y 2 =n 6 +2,, y m =2n 6 Whenever the ciphertext length grows, set c = c mod y m mod y m-1 mod y 1

Bootstrappable yet? Almost, but not quite: c/p, rounded to nearest integer Decryption is m = c (p x [c/p]) mod 2 Same as c [c/p] mod 2, since p is odd Computing [c/p] mod 2 takes degree O(n) But O() has constant bigger than one Our scheme only supports degree < n To get a bootstrappable scheme, use Gentry09 technique to squash the decryption circuit

Squashing the decryption circuit Add to public key many real numbers r 1,r 2,, r t [0,2] sparse set S for which Σ i S r i = 1/p mod 2 Enc, Eval output ψ i =c x r i mod 2, i=1,,t Together with c itself New secret key is bit-vector σ 1,,σ t σ i =1 if i S, σ i =0 otherwise New Dec(c) is c [Σ i σ i Ψ i ] mod 2 Can be computed with a low-degree circuit because S is sparse

Security The approximate-gcd problem: Input: integers x 1, x 2, x 3, Chosen as x i = q i p + r i for a secret odd p p $ [0,P], q i $ [0,Q], r i $ [0,R] (with R ^ P ^ Q) Task: find p Thm: If we can distinguish Enc(0)/Enc(1) for some p, then we can find that p Roughly: the LSB of r i is a hard core bit Scheme is secure if approx-gcd is hard Is approx-gcd really a hard problem?

Hardness of Approximate-GCD Several lattice-based approaches for solving approximate-gcd Related to Simultaneous Diophantine Approximation (SDA) Studied in [Hawgrave-Graham01] We considered some extensions of his attacks All run out of steam when q i > p 2 In our case p ~n 2, q i ~n 5 p p 2

Relation to SDA x i = q i p + r i (r i^p ^ q i ), i = 0,1,2, y i = x i /x 0 = (q i +s i )/q 0, s i ~ r i /p^1 y1, y2, is an instance of SDA q 0 is a denominator that approximates all y i s Use Lagarias es algorithm: Consider the rows of this matrix: Find a short vector in the lattice that they span <q 0,q 1,,q t > L is short Hopefully we will find it L= R x 1 x 2 x t -x 0-x0 -x 0

Relation to SDA (cont.) When will Lagarias es algorithm succeed? <q 0,q 1,,q t > L should be shortest in lattice In particular shorter than ~det(l) 1/t+1 This only holds for t > log Q/log P The dimension of the lattice is t+1 Quality of lattice-reduction deteriorates exponentially with t When log Q > (log P) 2 (so t>log P), LLL-type reduction isn t good enough anymore Minkowski bound

Conclusions Fully Homomorphic Encryption is a very powerful tool Gentry09 gives first feasibility result Showing that it can be done in principle We describe a conceptually simpler scheme, using only modular arithmetic What about efficiency? Computation, ciphertext-expansion are polynomial, but a rather large one

Thank you