FHE Introduction Nigel Smart Avoncrypt 2015.

Slides:



Advertisements
Similar presentations
Fully Homomorphic Encryption over the Integers
Advertisements

Lattices, Cryptography and Computing with Encrypted Data
Secure Evaluation of Multivariate Polynomials
Paper by: Craig Gentry Presented By: Daniel Henneberger.
Manipulating Encrypted Data. You store your data in the cloud, encrypted of course. You want to use the computing power of the cloud to analyze your data.
Asymmetric-Key Cryptography
Data encryption with big prime numbers
7. Asymmetric encryption-
What Crypto Can Do for You: Solutions in Search of Problems Anna Lysyanskaya Brown University.
Block ciphers 1 Session 3. Contents Design of block ciphers Non-linear transformations 2/25.
YSLInformation Security -- Public-Key Cryptography1 Elliptic Curve Cryptography (ECC) For the same length of keys, faster than RSA For the same degree.
HW6 due tomorrow Teams T will get to pick their presentation day in the order Teams T will get to pick their presentation day in the orderQuestions? Review.
Elliptic Curve. p2. Outline EC over Z p EC over GF(2 n )
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
1 Cryptosystems Based on Discrete Logarithms. 2 Outline [1] Discrete Logarithm Problem [2] Algorithms for Discrete Logarithm –A trivial algorithm –Shanks’
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
Deciding Primality is in P M. Agrawal, N. Kayal, N. Saxena Slides by Adi Akavia.
Pass in HW6 now Can use up to 2 late days Can use up to 2 late days But one incentive not to burn them all: teams will get to pick their presentation day.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Simons Institute, Cryptography Boot Camp
CSCI 172/283 Fall 2010 Public Key Cryptography. New paradigm introduced by Diffie and Hellman The mailbox analogy: Bob has a locked mailbox Alice can.
Codes, Ciphers, and Cryptography-RSA Encryption
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
1 Introduction to Codes, Ciphers, and Cryptography Michael A. Karls Ball State University.
Homomorphic Encryption: WHAT, WHY, and HOW
Rachana Y. Patil 1 1.
10.1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 10 Symmetric-Key Cryptography.
Cryptography Lecture 8 Stefan Dziembowski
HW6 due tomorrow Teams T will get to pick their presentation day in the order Teams T will get to pick their presentation day in the order Teams mostly.
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
Public-Key Cryptography CS110 Fall Conventional Encryption.
Lecture note 8: Quantum Algorithms
On the Practical Feasibility of Secure Distributed Computing A Case Study Gregory Neven, Frank Piessens, Bart De Decker Dept. of Computer Science, K.U.Leuven.
Introduction to Algorithms Second Edition by Cormen, Leiserson, Rivest & Stein Chapter 31.
Modular Arithmetic with Applications to Cryptography Lecture 47 Section 10.4 Wed, Apr 13, 2005.
Some Number Theory Modulo Operation: Question: What is 12 mod 9?
On the Communication Complexity of SFE with Long Output Daniel Wichs (Northeastern) joint work with Pavel Hubáček.
* Partially sponsored by IARPA SPAR * Partially sponsored by DARPA PROCEED.
Alternative Wide Block Encryption For Discussion Only.
The Fast Fourier Transform and Applications to Multiplication
1 Network and Computer Security (CS 475) Modular Arithmetic and the RSA Public Key Cryptosystem Jeremy R. Johnson.
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.
China Summer School on Lattices and Cryptography Craig Gentry and Shai Halevi June 4, 2014 Homomorphic Encryption over Polynomial Rings.
1 Section Congruences In short, a congruence relation is an equivalence relation on the carrier of an algebra such that the operations of the algebra.
PRACTICAL (F)HE Shai Halevi 1 October 2015FHE+MMAPs Summer School, Paris Part I - BGV Basics Part II - Packed Ciphertexts Part III - Bootstrapping.
Almost Entirely Correct Mixing With Applications to Voting Philippe Golle Dan Boneh Stanford University.
Based on Lecture Slides from Steven Rudich, CMU 15 a.
China Summer School on Lattices and Cryptography Craig Gentry and Shai Halevi June 3, 2014 Fully Homomorphic Encryption and Bootstrapping.
Great Theoretical Ideas in Computer Science.
Introduction to Elliptic Curve Cryptography CSCI 5857: Encoding and Encryption.
Data encryption with big prime numbers DANIEL FREEMAN, SLU.
Foundations of Network and Computer Security J J ohn Black CSCI 6268/TLEN 5550, Spring 2014.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Introduction to Cryptography Hyunsung Kim, PhD University of Malawi, Chancellor College Kyungil University February, 2016.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Fully Homomorphic Encryption (FHE) By: Matthew Eilertson.
Cryptographic methods. Outline  Preliminary Assumptions Public-key encryption  Oblivious Transfer (OT)  Random share based methods  Homomorphic Encryption.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
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.
Public Key Cryptography. Asymmetric encryption is a form of cryptosystem in which Encryption and decryption are performed using the different keys—one.
Asymmetric-Key Cryptography
MPC and Verifiable Computation on Committed Data
Elliptic Curves.
The Learning With Errors Problem
Background: Lattices and the Learning-with-Errors problem
Symmetric-Key Cryptography
Introduction to Elliptic Curve Cryptography
Clements MAΘ October 30th, 2014
Practical (F)HE Part III – Bootstrapping
The RSA Public-Key Encryption Algorithm
Presentation transcript:

FHE Introduction Nigel Smart Avoncrypt 2015

Homomorphic Encryption Some encryption schemes are multiplicative homomorphic (M1 M2)e = (M1e) * (M2e) Some encryption schemes are additively homomorphic (Gm+n * Hr+s ) = (Gm * Hr ) * (Gn * Hs ) Problem is to come up with schemes which are both

Additively Homomorphic Schemes Schemes which support addition e.g. Paillier, ElGamal in exponent, ElGamal in Paillier group etc have wide application Electronic voting protocols Key splitting protocols These are practical and deployed in various situations.

Mult+Add + + + + + * x * y * * * Every function can be represented by a sequence of additions and multiplications over a ring R So called arithmetic circuit description * + + + x * + + y * * *

Mult+Add Suppose we have an encryption scheme which can support homomorphic encryption and multiplication Denote encryption via a box [x], then we have the equations [x +y] = [x] + [y] [x * y] = [x] * [y] We could then evaluate the circuit

Mult + Add Assume data, x, is in some finite ring R A ciphertext, [x], also lives in a ring C The plaintext operations + and * are on elements in R. The ciphertext operations + and * are on elements in C. Big Idea: If we could do this we could compute on encrypted data and outsource computation.

Require Fully Homomorphic Encryption (FHE) Data Owner Server a b F(X,Y) [a] [b] F(X,Y) DECRYPT [F(a,b)] F(a,b) We want the computation of F(a,b) to be done on the server without interation Require Fully Homomorphic Encryption (FHE) i.e. the encryption algorithm supports operations ⊕ and ⊗ This is very slow! Data is placed on the server Server performs some computation Ciphertext returned to the data owner Data owner then decrypts.

The process of given [a] and [b] and F and producing [F(a,b)] we call Eval. So if F is a function with one input we would have Eval(F,[x]) = [F(x)] We require that the size of the output ciphertext [F(x)] does not depend on F. Otherwise trivial solution is output (F,[x]) The only thing which depends on F is the complexity of performing the Eval operation

Practical Instantiations All encryption schemes supporting addition AND multiplications are based on lattices. All systems have the following property A ciphertext has an implicit noise quantity N. A fresh (newly encrypted ciphertext) has a small value of N. Adding ciphertexts with noise N and N’ produces one with noise N+N’ Multiplying ciphertexts with noise N and N’ produces one with noise M(N,N’) for some function M. Exact M depends on the scheme

Somewhat Homomorphic Encryption When noise gets too big a ciphertext will not decrypt correctly. This implies a bound on the complexity of the circuit a scheme can evaluate. Such schemes are called “Somewhat” homomorphic as opposed to “Fully” homomorphic. SHE vs FHE We can (sometimes) produce a FHE scheme from an SHE scheme using a process called bootstrapping.

Bootstrapping Let D(s,c) be the decryption function of the scheme. Now think of D(s,c) as a function of the secret key s only. So for each c we define a new function Dc(s) Suppose Dc(s) is simple enough to be evaluated by the SHE scheme (with a little more room afterwards). Publish an encryption of s, i.e. Output [s]

Eval(Dc(.), [s]) = [Dc(s)] = [m] = c’ Bootstrapping Recall Eval(F, [x]) = [F(x)] Take a ciphertext c=[m] encrypting a message m. So take F(x)= Dc(x) then and use the encrypted secret key [s] to obtain Eval(Dc(.), [s]) = [Dc(s)] = [m] = c’ So Eval produces a new encryption of m. We “gain” if the noise in c’ is less than the noise in c.

Bootstrapping This works when the “circuit” for decryption is simple. Most lattice schemes have low decryption circuit complexity. Thus this is where we find FHE schemes living Also lattices allow easy creation of SHE schemes to start with as well.

Example Scheme (BGV) We keep a high level view, and hide many details Let R be a ring of polynomials over the integers R=Z[X]/F(X) Let Rq denote the same ring but also reduced mod q, for a prime q. Rq =Zq [X]/F(X) Let plaintext space be Rp for a prime p ≠ q Let secret key be a small element s in Rq

Example Scheme (BGV) To encrypt we Pick a small “noise” value e in Rq Pick a random element a in Rq Set b = m + p*e + a*s As described this is a symmetric key scheme, but we are keeping things simple. To decrypt we compute b-a*s mod q = m + p*e and then take the result modulo p.

B-A*s = p*(e+e’) + (m+m’) Example Scheme (BGV) Take two ciphertexts (a,b) and (a’,b’) b=a*s+p*e+m b’=a’*s+p*e’+m’ Clearly additively homomorphic: A=a+a’ B=b+b’ B-A*s = p*(e+e’) + (m+m’) Noise is additive e+e’

C – B*s + A*s2 = (b-a*s)*(b’-a’*s) Example Scheme (BGV) Multiplication more complex, basically take tensors of ciphertexts and decrypt under the tensor secret key A=a*a’ B=a*b’+a’*b C=b*b’ Then C – B*s + A*s2 = (b-a*s)*(b’-a’*s) = m*m’ + p* noise Noise is multiplicative noise ≈ e*e’

C – B*s + A*s2 = (b-a*s)*(b’-a’*s) Example Scheme (BGV) C – B*s + A*s2 = (b-a*s)*(b’-a’*s) We can “relinearize” (A,B,C) to get back a two element ciphertext (A’,B’) such that B- A *s = m*m’ + p * noise This is a process called “key switching” Details not given here

In Practice We have practical and efficient SHE schemes for reasonable size values of plaintext moduli p. Depth is limited really to small values(<10) Mainly focused on multiplicative depth as this is where the main noise comes from Making efficient bootstrapping impossible.

In Practice Some application can be enabled using low depth SHE Statistical calculations : std-dev. Fourier Transforms + Masking. Preprocessing for MPC (SPDZ protocol). EU project HEAT looking into practical use-cases for low depth SHE based systems.

Questions?