SlideShare a Scribd company logo
COMPUTING ON ENCRYPTED DATA
           Shai Halevi, IBM Research
                     January 5, 2012
Computing on Encrypted Data



  I want to delegate processing of my data,
      without giving away access to it.
Computing on Encrypted Data
• Wouldn’t it be nice to be able to…
  – Encrypt my data before sending to the cloud
  – While still allowing the cloud to
    search/sort/edit/… this data on my behalf
  – Keeping the data in the cloud in encrypted form
     • Without needing to ship it back and forth to be
       decrypted
Computing on Encrypted Data
• Wouldn’t it be nice to be able to…
  – Encrypt my queries to the cloud
  – While still allowing the cloud to process them
  – Cloud returns encrypted answers
     • that I can decrypt
Outsourcing Computation Privately

“I want to delegate the computation to the cloud,
    “I wantthe cloud the computation to the cloud”
       but to delegate shouldn’t see my input”


                      Enc(x)                 f


                               Enc[f(x)]
    Client                                           Server/Cloud
  (Input: x)                                         (Function: f)
Outsourcing Computation Privately



                $skj#hS28ksytA@ …
Outsourcing Computation Privately
                             $kjh9*mslt@na0
                              &maXxjq02bflx
                             m^00a2nm5,A4.
                            pE.abxp3m58bsa
                            (3saM%w,snanba
                            nq~mD=3akm2,A
                            Z,ltnhde83|3mz{n
                            dewiunb4]gnbTa*
                            kjew^bwJ^mdns0
Privacy Homomorphisms
• Rivest-Adelman-Dertouzos 1978
   Plaintext space P                   Ciphertext space C
          x1       x2   ci  Enc(xi)    c1       c2


                        y  Dec(d)
               y                             d

Example: RSA_encrypt(e,N)(x) = xe mod N
• x1e x x2e = (x1 x x2) e mod N
“Somewhat Homomorphic”: can compute some
functions on encrypted data, but not all
“Fully Homomorphic” Encryption
• Encryption for which we can compute arbitrary
  functions on the encrypted data
              Enc(x)       Eval    f


                       Enc(f(x))

• Another example: private information retrieval
  i             Enc(i)                  A[1 … n]
               Enc(A[i])
HOW TO DO IT?
Step 1: Boolean Circuit for f
• Every function can be constructed from
  Boolean AND, OR, NOT
  – Think of building it from hardware gates
• For any two bits b1, b2 (both 0/1 values)
  – NOT b1 = 1 – b1
  – b1 AND b2 = b1 b2
  – b1 OR b2 = b1+b2– b1 b2
• If we can do +, – , x, we can do everything
Step 2: Encryption Supporting ,
• Open Problem for over 30 years
• Gentry 2009: first plausible scheme
  – Security relies on hard problems in integer lattices
• Several other schemes in last two years


     Fully homomorphic encryption
              is possible
HOW MUCH DOES IT COST?
Performance
• A little slow…
• First working implementation in mid-2010,
  ½ -hour to compute a single AND gate
  – 13-14 orders of magnitude slowdown
    vs. computing on non-encrypted data
• A faster “dumbed down” version
  – Can only evaluate “very simple functions”
  – About ½-second for an AND gate
Performance
• Underlying “somewhat homomorphic” scheme
• PK is 2 integers, SK is one integer
          Dimension        KeyGen        Enc        Dec / AND
                                      (amortized)
             2048          1.25 sec   60 millisec   23 millisec
 Small




           800,000-bit
            integers
 Medium




             8192          10 sec      0.7 sec       0.12 sec
          3,200,000-bit
             integers

            32768          95 sec      5.3 sec       0.6 sec
 Large




          13,000,000-bit
             integers
Performance
• Fully homomorphic scheme

         Dimension        KeyGen     PK size     AND

            2048          40 sec    70 MByte    31 sec
Small




          800,000-bit
           integers
Medium




            8192          8 min     285 MByte   3 min
         3,200,000-bit
            integers

           32768          2 hours   2.3 GByte   30 min
Large




         13,000,000-bit
            integers
Performance
• A little slow…
• Butler Lampson: “I don’t think we’ll see
  anyone using Gentry’s solution in our
  lifetimes *…+”            – Forbes, Dec-19, 2011
New Stuff
• New techniques suggested during 2011
• Promise ~3 orders of magnitude improvement
  vs. Gentry’s original scheme
  – Implementations on the way
• Still very expensive, but maybe suitable for
  some niche applications
• Computing “simple functions” using these
  tools may be realistic
WHAT CAN I USE?
Things we can already use today
• Sometimes simple functions is all we need
  – Statistics, simple keyword match, etc.
• Interactive solutions are sometime faster
  – vs. the single round trip of Homomorphic Enc
• Great efficiency gains when settling for
  weaker notions of secrecy
  – “Order preserving encryption”
  – MIT’s CryptDB (onion encryption)
QUESTIONS?
BACKUP SLIDES
Limitations of function-as-circuit
• Some performance optimizations are ruled out
• Example: Binary search
  – log(n) steps to find element in an n-element array
  – But circuit must be of size ~n
• Example: private information retrieval
  – Non-encrypted access with one lookup
  – But encrypted access must touch all entries
     • Else you leak information (element is not in i’th entry)
• Only data-oblivious computation is possible
The [Gentry 2009] blueprint
Evaluate any function in four “easy” steps
• Step 1: Encryption from linear ECCs
  – Additive homomorphism             Error-Correcting Codes
• Step 2: ECC lives inside a ring
  – Also multiplicative homomorphism
  – But only for a few operations (low-degree poly’s)
• Step 3: Bootstrapping
  – Few ops (but not too few)  any number of ops
• Step 4: Everything else
  – “Squashing” and other fun activities
Step 1: Encryption from Linear ECCs
• For “random looking” codes, hard to
  distinguish close/far from code




• Many cryptosystems built on this hardness
  – E.g., *McEliece’78, AD’97, GGH’97, R’03,…+
Step 1: Encryption from Linear ECCs
• KeyGen: choose a “random” Code
  – Secret key: “good representation” of Code
     • Allows correction of “large” errors
  – Public key: “bad representation” of Code
     • Can generate “random code-words”
     • Hard to distinguish close/far from the code
• Enc(0): a word close to Code
• Enc(1): a random word
  – Far from Code (with high probability)
Example: Integers mod p [vDGHV 2010]
      p                                             N


• Code determined by a secret integer p
  – Codewords: multiples of p
• Good representation: p itself
• Bad representation:                     ri << p
  – N = pq, and also many xi = pqi + ri
• Enc(0): subset-sum(xi’s)+r mod N
  – r is new noise, chosen by encryptor
• Enc(1): random integer mod N
A Different Input Encoding
    p                                              N
                                                   xi = pqi + ri
• Both Enc(0), Enc(1) close to the code
  – Enc(0): distance to code is even    Plaintext encoded
  – Enc(1): distance to code is odd     in the “noise”

  – Security unaffected when p is odd

• In our example of integers mod p:
  – Enc(b) = 2(r+subset-sum(xi’s)) + b mod N
     = p + 2(r+subset-sum(ri’s))+b
                                           much smaller
                                             than p/2
  – Dec(c) = (c mod p) mod 2
Additive Homomorphism
• c1+c2 = (codeword1+codeword2)
         + (2r1+b1)+(2r2+b2 )
  – codeword1+codeword2 Code
  – (2r1+b1)+(2r2+b2 )=2(r1+r2)+b1+b2 is still small
• If 2(r1+r2)+b1+b2 < min-dist/2, then
  dist(c1+c2, Code) = 2(r1+r2)+b1+b2
   dist(c1+c2, Code)    b1+b2 (mod 2)
• Additively-homomorphic while close to Code
Step 2: Code Lives in a Ring
• What happens when multiplying in Ring:
   – c1∙c2 = (codeword1+2r1+b1)∙(codeword2+2r2+b2)
     = codeword1∙X + Y∙codeword2
       + (2r1+b1)∙(2r2+b2)            Code is an ideal
• If:
   – codeword1∙X + Y∙codeword2 Code
   – (2r1+b1)∙(2r2+b2) < min-dist/2
                                          Product in Ring of
• Then                                  small elements is small
   – dist(c1c2, Code) = (2r1+b1)∙(2r2+b2) = b1∙b2 mod 2
Example: Integers mod p [vDGHV 2010]
      p                                     N
                                            xi = pqi + ri
• Secret-key is p, public-key is N and the xi’s
• ci = Encpk(bi) = 2(r+subset-sum(xi’s)) + b mod N
                 = kip + 2ri+bi
  – Decsk(ci) = (ci mod p) mod 2
• c1+c2 mod N = (k1p+2r1+b1)+(k2p+2r2+b2) – kqp
               = k’p + 2(r1+r2) + (b1+b2)
• c1c2 mod N = (k1p+2r1+b1)(k2p+2r2+b2) – kqp
             = k’p + 2(2r1r2+r1b2+r2b1)+b1b2
• Additive, multiplicative homomorphism
  – As long as noise < p/2
Summary Up To Now
• We need a linear error-correcting code C
  – With “good” and “bad” representations
  – C lives inside an algebraic ring R
  – C is an ideal in R
  – Sum, product of small elements in R is still small
• Can find such codes in Euclidean space
  – Often associated with lattices
• Then we get a “somewhat homomorphic”
  encryption, supporting low-degree polynomials
  – Homomorphism while close to the code
Step 3: Bootstrapping
• So far, can evaluate low-degree polynomials
       x1               P
       x2
       …                        P(x1, x2 ,…, xt)

       xt
Step 3: Bootstrapping
• So far, can evaluate low-degree polynomials
      x1                 P
      x2
      …                           P(x1, x2 ,…, xt)

      xt

• Can eval y=P(x1,x2…,xn) when xi’s are “fresh”
• But y is an “evaluated ciphertext”
  – Can still be decrypted
  – But eval Q(y) will increase noise too much
• “Somewhat Homomorphic” encryption (SWHE)
Step 3: Bootstrapping
• So far, can evaluate low-degree polynomials
      x1                 P
      x2
      …                           P(x1, x2 ,…, xt)

      xt

• Bootstrapping to handle higher degrees
  – We have a noisy evaluated ciphertext y
  – Want to get another y with less noise
Step 3: Bootstrapping
• For ciphertext c, consider Dc(sk) = Decsk(c)
  – Hope: Dc( ) is a low-degree polynomial in sk
• Include in the public key also Encpk(sk)
                 c y
                                                  Requires
                                                  “circular
                       Dc                         security”
   sk1

   sk2                        c’ Dc(sk)
   …
                                 = Decsk(c) = y
   skn

• Homomorphic computation applied only to the
  “fresh” encryption of sk
Step 3: Bootstrapping
• Similarly define Mc ,c (sk) = Decsk(c1)∙Decsk(c1)
                        1   2

                 y1    y2
                 c1    c2



   sk1                Mc1,c2
                                c’
   sk2
                                Mc1,c2(sk)
    …
                                = Decsk(c1) x Decsk(c2) = y1 x y2
   skn
• Homomorphic computation applied only to the
  “fresh” encryption of sk
Step 4: Everything Else
• Cryptosystems from *G’09, vDGHV’10, BG’11a]
  cannot handle their own decryption
• Tricks to “squash” the decryption
  procedure, making it low-degree
  – Nontrivial, requires putting more information
    about the secret key in the public key
  – Requires yet another assumption, namely hardness
    of the Sparse-Subset-Sum Problem (SSSP)
  – I will not talk about squashing here

More Related Content

What's hot

Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
Christoph Matthies
 
Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...
Mazin Alwaaly
 
CNIT 141: 12. Elliptic Curves
CNIT 141: 12. Elliptic CurvesCNIT 141: 12. Elliptic Curves
CNIT 141: 12. Elliptic Curves
Sam Bowne
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard Problems
Sam Bowne
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
Victor Pereira
 
Cryptography Fundamentals
Cryptography FundamentalsCryptography Fundamentals
Cryptography FundamentalsDuy Do Phan
 
CNIT 141 7. Keyed Hashing
CNIT 141 7. Keyed HashingCNIT 141 7. Keyed Hashing
CNIT 141 7. Keyed Hashing
Sam Bowne
 
Cryptography
CryptographyCryptography
Cryptography
gueste4c97e
 
What is Asymmetric Encryption? Understand with Simple Examples
What is Asymmetric Encryption? Understand with Simple ExamplesWhat is Asymmetric Encryption? Understand with Simple Examples
What is Asymmetric Encryption? Understand with Simple Examples
CheapSSLsecurity
 
Cryptography and Network Security
Cryptography and Network SecurityCryptography and Network Security
Cryptography and Network Security
Pa Van Tanku
 
Applied Cryptography
Applied CryptographyApplied Cryptography
Applied Cryptography
Marcelo Martins
 
Cryptography & Steganography
Cryptography & SteganographyCryptography & Steganography
Cryptography & Steganography
Animesh Shaw
 
Network Security & Cryptography
Network Security & CryptographyNetwork Security & Cryptography
Network Security & Cryptography
Dr. Himanshu Gupta
 
Cryptography
CryptographyCryptography
Cryptography
subodh pawar
 
Cryptography
CryptographyCryptography
Cryptography
Vicky Kamboj
 
Cryptography - 101
Cryptography - 101Cryptography - 101
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
Adri Jovin
 
CNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated EncryptionCNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated Encryption
Sam Bowne
 
Cryptography
CryptographyCryptography
Cryptography
Niharjyoti Sarangi
 

What's hot (20)

Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
 
Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...Information and data security block cipher and the data encryption standard (...
Information and data security block cipher and the data encryption standard (...
 
CNIT 141: 12. Elliptic Curves
CNIT 141: 12. Elliptic CurvesCNIT 141: 12. Elliptic Curves
CNIT 141: 12. Elliptic Curves
 
9. Hard Problems
9. Hard Problems9. Hard Problems
9. Hard Problems
 
Homomorphic Encryption
Homomorphic EncryptionHomomorphic Encryption
Homomorphic Encryption
 
Cryptography Fundamentals
Cryptography FundamentalsCryptography Fundamentals
Cryptography Fundamentals
 
CNIT 141 7. Keyed Hashing
CNIT 141 7. Keyed HashingCNIT 141 7. Keyed Hashing
CNIT 141 7. Keyed Hashing
 
Cryptography
CryptographyCryptography
Cryptography
 
Cryptography
CryptographyCryptography
Cryptography
 
What is Asymmetric Encryption? Understand with Simple Examples
What is Asymmetric Encryption? Understand with Simple ExamplesWhat is Asymmetric Encryption? Understand with Simple Examples
What is Asymmetric Encryption? Understand with Simple Examples
 
Cryptography and Network Security
Cryptography and Network SecurityCryptography and Network Security
Cryptography and Network Security
 
Applied Cryptography
Applied CryptographyApplied Cryptography
Applied Cryptography
 
Cryptography & Steganography
Cryptography & SteganographyCryptography & Steganography
Cryptography & Steganography
 
Network Security & Cryptography
Network Security & CryptographyNetwork Security & Cryptography
Network Security & Cryptography
 
Cryptography
CryptographyCryptography
Cryptography
 
Cryptography
CryptographyCryptography
Cryptography
 
Cryptography - 101
Cryptography - 101Cryptography - 101
Cryptography - 101
 
Elliptic Curve Cryptography
Elliptic Curve CryptographyElliptic Curve Cryptography
Elliptic Curve Cryptography
 
CNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated EncryptionCNIT 141: 8. Authenticated Encryption
CNIT 141: 8. Authenticated Encryption
 
Cryptography
CryptographyCryptography
Cryptography
 

Similar to Computing on Encrypted Data

Overview on Cryptography and Network Security
Overview on Cryptography and Network SecurityOverview on Cryptography and Network Security
Overview on Cryptography and Network Security
Dr. Rupa Ch
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
Sathish Kumar
 
Digital Fingerprinting
Digital FingerprintingDigital Fingerprinting
Digital Fingerprinting
santhu652
 
"Practical Machine Learning With Ruby" by Iqbal Farabi (ID Ruby Community)
"Practical Machine Learning With Ruby" by Iqbal Farabi (ID Ruby Community)"Practical Machine Learning With Ruby" by Iqbal Farabi (ID Ruby Community)
"Practical Machine Learning With Ruby" by Iqbal Farabi (ID Ruby Community)
Tech in Asia ID
 
PKC&RSA
PKC&RSAPKC&RSA
PKC&RSA
Anver S R
 
Cybersecurity cyberlab3
Cybersecurity cyberlab3Cybersecurity cyberlab3
Cybersecurity cyberlab3
rayborg
 
Blockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in BlockchainBlockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in Blockchain
Ferdin Joe John Joseph PhD
 
what engineers don't know (but probably mathematicians do)
what engineers don't know (but probably mathematicians do)what engineers don't know (but probably mathematicians do)
what engineers don't know (but probably mathematicians do)
budi rahardjo
 
rsa.ppt
rsa.pptrsa.ppt
Common Crypto Pitfalls
Common Crypto PitfallsCommon Crypto Pitfalls
Common Crypto Pitfalls
Amirali Sanatinia
 
Paillier Cryptosystem
Paillier CryptosystemPaillier Cryptosystem
Paillier Cryptosystem
Dejan Radic
 
Trible data encryption standard (3DES)
Trible data encryption standard (3DES)Trible data encryption standard (3DES)
Trible data encryption standard (3DES)
Ahmed Mohamed Mahmoud
 
Pysense: wireless sensor computing in Python?
Pysense: wireless sensor computing in Python?Pysense: wireless sensor computing in Python?
Pysense: wireless sensor computing in Python?
Davide Carboni
 
Using R in remote computer clusters
Using R in remote computer clustersUsing R in remote computer clusters
Using R in remote computer clusters
Burak Himmetoglu
 
Public_Key_Cryptography in crypto analysis.ppt
Public_Key_Cryptography in crypto analysis.pptPublic_Key_Cryptography in crypto analysis.ppt
Public_Key_Cryptography in crypto analysis.ppt
ImmanImman6
 
1_Asymptotic_Notation_pptx.pptx
1_Asymptotic_Notation_pptx.pptx1_Asymptotic_Notation_pptx.pptx
1_Asymptotic_Notation_pptx.pptx
pallavidhade2
 
Python Programming - IX. On Randomness
Python Programming - IX. On RandomnessPython Programming - IX. On Randomness
Python Programming - IX. On RandomnessRanel Padon
 
asymptotic analysis and insertion sort analysis
asymptotic analysis and insertion sort analysisasymptotic analysis and insertion sort analysis
asymptotic analysis and insertion sort analysisAnindita Kundu
 

Similar to Computing on Encrypted Data (20)

Class3
Class3Class3
Class3
 
Overview on Cryptography and Network Security
Overview on Cryptography and Network SecurityOverview on Cryptography and Network Security
Overview on Cryptography and Network Security
 
RSA ALGORITHM
RSA ALGORITHMRSA ALGORITHM
RSA ALGORITHM
 
Digital Fingerprinting
Digital FingerprintingDigital Fingerprinting
Digital Fingerprinting
 
"Practical Machine Learning With Ruby" by Iqbal Farabi (ID Ruby Community)
"Practical Machine Learning With Ruby" by Iqbal Farabi (ID Ruby Community)"Practical Machine Learning With Ruby" by Iqbal Farabi (ID Ruby Community)
"Practical Machine Learning With Ruby" by Iqbal Farabi (ID Ruby Community)
 
PKC&RSA
PKC&RSAPKC&RSA
PKC&RSA
 
Cybersecurity cyberlab3
Cybersecurity cyberlab3Cybersecurity cyberlab3
Cybersecurity cyberlab3
 
Blockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in BlockchainBlockchain Technology - Week 6 - Role of Cryptography in Blockchain
Blockchain Technology - Week 6 - Role of Cryptography in Blockchain
 
what engineers don't know (but probably mathematicians do)
what engineers don't know (but probably mathematicians do)what engineers don't know (but probably mathematicians do)
what engineers don't know (but probably mathematicians do)
 
rsa.ppt
rsa.pptrsa.ppt
rsa.ppt
 
Common Crypto Pitfalls
Common Crypto PitfallsCommon Crypto Pitfalls
Common Crypto Pitfalls
 
rsa.ppt
rsa.pptrsa.ppt
rsa.ppt
 
Paillier Cryptosystem
Paillier CryptosystemPaillier Cryptosystem
Paillier Cryptosystem
 
Trible data encryption standard (3DES)
Trible data encryption standard (3DES)Trible data encryption standard (3DES)
Trible data encryption standard (3DES)
 
Pysense: wireless sensor computing in Python?
Pysense: wireless sensor computing in Python?Pysense: wireless sensor computing in Python?
Pysense: wireless sensor computing in Python?
 
Using R in remote computer clusters
Using R in remote computer clustersUsing R in remote computer clusters
Using R in remote computer clusters
 
Public_Key_Cryptography in crypto analysis.ppt
Public_Key_Cryptography in crypto analysis.pptPublic_Key_Cryptography in crypto analysis.ppt
Public_Key_Cryptography in crypto analysis.ppt
 
1_Asymptotic_Notation_pptx.pptx
1_Asymptotic_Notation_pptx.pptx1_Asymptotic_Notation_pptx.pptx
1_Asymptotic_Notation_pptx.pptx
 
Python Programming - IX. On Randomness
Python Programming - IX. On RandomnessPython Programming - IX. On Randomness
Python Programming - IX. On Randomness
 
asymptotic analysis and insertion sort analysis
asymptotic analysis and insertion sort analysisasymptotic analysis and insertion sort analysis
asymptotic analysis and insertion sort analysis
 

More from New York Technology Council

NYTECH Presents "Legal Essentials for Startups: Part 1 of 3 - Organizing the ...
NYTECH Presents "Legal Essentials for Startups: Part 1 of 3 - Organizing the ...NYTECH Presents "Legal Essentials for Startups: Part 1 of 3 - Organizing the ...
NYTECH Presents "Legal Essentials for Startups: Part 1 of 3 - Organizing the ...
New York Technology Council
 
What Can Brain Science Teach Us About User Experience?
What Can Brain Science Teach Us About User Experience?What Can Brain Science Teach Us About User Experience?
What Can Brain Science Teach Us About User Experience?
New York Technology Council
 
How Quick Are We to Judge? A Case Study of Trust and Web Site Design
How Quick Are We to Judge? A Case Study of Trust and Web Site DesignHow Quick Are We to Judge? A Case Study of Trust and Web Site Design
How Quick Are We to Judge? A Case Study of Trust and Web Site Design
New York Technology Council
 
Long-Range Planning for the Successful Sale of a Company
Long-Range Planning for the Successful Sale of a CompanyLong-Range Planning for the Successful Sale of a Company
Long-Range Planning for the Successful Sale of a Company
New York Technology Council
 
The Future of the Cloud
The Future of the CloudThe Future of the Cloud
The Future of the Cloud
New York Technology Council
 
NYTECH "Measuring Your User Experience Design"
NYTECH "Measuring Your User Experience Design"NYTECH "Measuring Your User Experience Design"
NYTECH "Measuring Your User Experience Design"
New York Technology Council
 
NYTECH & CompTIA "Federal Legislative Briefing" 2012
NYTECH & CompTIA "Federal Legislative Briefing" 2012NYTECH & CompTIA "Federal Legislative Briefing" 2012
NYTECH & CompTIA "Federal Legislative Briefing" 2012
New York Technology Council
 
Mobile Technology & Social Change
Mobile Technology & Social ChangeMobile Technology & Social Change
Mobile Technology & Social Change
New York Technology Council
 
How Telecom Tools Address Some of the World's Toughest Challenges
How Telecom Tools Address Some of the World's Toughest ChallengesHow Telecom Tools Address Some of the World's Toughest Challenges
How Telecom Tools Address Some of the World's Toughest Challenges
New York Technology Council
 
The New Patent Law: What Should Management Do Now?
The New Patent Law: What Should Management Do Now?The New Patent Law: What Should Management Do Now?
The New Patent Law: What Should Management Do Now?
New York Technology Council
 
BioDigitalSystems Human Body
BioDigitalSystems Human BodyBioDigitalSystems Human Body
BioDigitalSystems Human Body
New York Technology Council
 
Ogmento - The World is Our Game Board
Ogmento - The World is Our Game BoardOgmento - The World is Our Game Board
Ogmento - The World is Our Game Board
New York Technology Council
 
Mobile: A New Era of Augmented Humanity
Mobile: A New Era of Augmented HumanityMobile: A New Era of Augmented Humanity
Mobile: A New Era of Augmented Humanity
New York Technology Council
 
The Democratization of Production
The Democratization of ProductionThe Democratization of Production
The Democratization of Production
New York Technology Council
 
Freedom From the Web's Monopolies
Freedom From the Web's MonopoliesFreedom From the Web's Monopolies
Freedom From the Web's Monopolies
New York Technology Council
 
Federal Action Briefing Breakfast
Federal Action Briefing BreakfastFederal Action Briefing Breakfast
Federal Action Briefing Breakfast
New York Technology Council
 
Federal Action Briefing - Internet Sales Tax
Federal Action Briefing - Internet Sales TaxFederal Action Briefing - Internet Sales Tax
Federal Action Briefing - Internet Sales Tax
New York Technology Council
 
Healthcare and BI
Healthcare and BIHealthcare and BI
Healthcare and BI
New York Technology Council
 
IBM Watson: Clinical Decision Support
IBM Watson: Clinical Decision SupportIBM Watson: Clinical Decision Support
IBM Watson: Clinical Decision Support
New York Technology Council
 
B2B Content Marketing Workbook
B2B Content Marketing WorkbookB2B Content Marketing Workbook
B2B Content Marketing Workbook
New York Technology Council
 

More from New York Technology Council (20)

NYTECH Presents "Legal Essentials for Startups: Part 1 of 3 - Organizing the ...
NYTECH Presents "Legal Essentials for Startups: Part 1 of 3 - Organizing the ...NYTECH Presents "Legal Essentials for Startups: Part 1 of 3 - Organizing the ...
NYTECH Presents "Legal Essentials for Startups: Part 1 of 3 - Organizing the ...
 
What Can Brain Science Teach Us About User Experience?
What Can Brain Science Teach Us About User Experience?What Can Brain Science Teach Us About User Experience?
What Can Brain Science Teach Us About User Experience?
 
How Quick Are We to Judge? A Case Study of Trust and Web Site Design
How Quick Are We to Judge? A Case Study of Trust and Web Site DesignHow Quick Are We to Judge? A Case Study of Trust and Web Site Design
How Quick Are We to Judge? A Case Study of Trust and Web Site Design
 
Long-Range Planning for the Successful Sale of a Company
Long-Range Planning for the Successful Sale of a CompanyLong-Range Planning for the Successful Sale of a Company
Long-Range Planning for the Successful Sale of a Company
 
The Future of the Cloud
The Future of the CloudThe Future of the Cloud
The Future of the Cloud
 
NYTECH "Measuring Your User Experience Design"
NYTECH "Measuring Your User Experience Design"NYTECH "Measuring Your User Experience Design"
NYTECH "Measuring Your User Experience Design"
 
NYTECH & CompTIA "Federal Legislative Briefing" 2012
NYTECH & CompTIA "Federal Legislative Briefing" 2012NYTECH & CompTIA "Federal Legislative Briefing" 2012
NYTECH & CompTIA "Federal Legislative Briefing" 2012
 
Mobile Technology & Social Change
Mobile Technology & Social ChangeMobile Technology & Social Change
Mobile Technology & Social Change
 
How Telecom Tools Address Some of the World's Toughest Challenges
How Telecom Tools Address Some of the World's Toughest ChallengesHow Telecom Tools Address Some of the World's Toughest Challenges
How Telecom Tools Address Some of the World's Toughest Challenges
 
The New Patent Law: What Should Management Do Now?
The New Patent Law: What Should Management Do Now?The New Patent Law: What Should Management Do Now?
The New Patent Law: What Should Management Do Now?
 
BioDigitalSystems Human Body
BioDigitalSystems Human BodyBioDigitalSystems Human Body
BioDigitalSystems Human Body
 
Ogmento - The World is Our Game Board
Ogmento - The World is Our Game BoardOgmento - The World is Our Game Board
Ogmento - The World is Our Game Board
 
Mobile: A New Era of Augmented Humanity
Mobile: A New Era of Augmented HumanityMobile: A New Era of Augmented Humanity
Mobile: A New Era of Augmented Humanity
 
The Democratization of Production
The Democratization of ProductionThe Democratization of Production
The Democratization of Production
 
Freedom From the Web's Monopolies
Freedom From the Web's MonopoliesFreedom From the Web's Monopolies
Freedom From the Web's Monopolies
 
Federal Action Briefing Breakfast
Federal Action Briefing BreakfastFederal Action Briefing Breakfast
Federal Action Briefing Breakfast
 
Federal Action Briefing - Internet Sales Tax
Federal Action Briefing - Internet Sales TaxFederal Action Briefing - Internet Sales Tax
Federal Action Briefing - Internet Sales Tax
 
Healthcare and BI
Healthcare and BIHealthcare and BI
Healthcare and BI
 
IBM Watson: Clinical Decision Support
IBM Watson: Clinical Decision SupportIBM Watson: Clinical Decision Support
IBM Watson: Clinical Decision Support
 
B2B Content Marketing Workbook
B2B Content Marketing WorkbookB2B Content Marketing Workbook
B2B Content Marketing Workbook
 

Recently uploaded

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
Ralf Eggert
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 

Recently uploaded (20)

Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 

Computing on Encrypted Data

  • 1. COMPUTING ON ENCRYPTED DATA Shai Halevi, IBM Research January 5, 2012
  • 2. Computing on Encrypted Data I want to delegate processing of my data, without giving away access to it.
  • 3. Computing on Encrypted Data • Wouldn’t it be nice to be able to… – Encrypt my data before sending to the cloud – While still allowing the cloud to search/sort/edit/… this data on my behalf – Keeping the data in the cloud in encrypted form • Without needing to ship it back and forth to be decrypted
  • 4. Computing on Encrypted Data • Wouldn’t it be nice to be able to… – Encrypt my queries to the cloud – While still allowing the cloud to process them – Cloud returns encrypted answers • that I can decrypt
  • 5. Outsourcing Computation Privately “I want to delegate the computation to the cloud, “I wantthe cloud the computation to the cloud” but to delegate shouldn’t see my input” Enc(x) f Enc[f(x)] Client Server/Cloud (Input: x) (Function: f)
  • 6. Outsourcing Computation Privately $skj#hS28ksytA@ …
  • 7. Outsourcing Computation Privately $kjh9*mslt@na0 &maXxjq02bflx m^00a2nm5,A4. pE.abxp3m58bsa (3saM%w,snanba nq~mD=3akm2,A Z,ltnhde83|3mz{n dewiunb4]gnbTa* kjew^bwJ^mdns0
  • 8. Privacy Homomorphisms • Rivest-Adelman-Dertouzos 1978 Plaintext space P Ciphertext space C x1 x2 ci  Enc(xi) c1 c2 y  Dec(d) y d Example: RSA_encrypt(e,N)(x) = xe mod N • x1e x x2e = (x1 x x2) e mod N “Somewhat Homomorphic”: can compute some functions on encrypted data, but not all
  • 9. “Fully Homomorphic” Encryption • Encryption for which we can compute arbitrary functions on the encrypted data Enc(x) Eval f Enc(f(x)) • Another example: private information retrieval i Enc(i) A[1 … n] Enc(A[i])
  • 10. HOW TO DO IT?
  • 11. Step 1: Boolean Circuit for f • Every function can be constructed from Boolean AND, OR, NOT – Think of building it from hardware gates • For any two bits b1, b2 (both 0/1 values) – NOT b1 = 1 – b1 – b1 AND b2 = b1 b2 – b1 OR b2 = b1+b2– b1 b2 • If we can do +, – , x, we can do everything
  • 12. Step 2: Encryption Supporting , • Open Problem for over 30 years • Gentry 2009: first plausible scheme – Security relies on hard problems in integer lattices • Several other schemes in last two years Fully homomorphic encryption is possible
  • 13. HOW MUCH DOES IT COST?
  • 14. Performance • A little slow… • First working implementation in mid-2010, ½ -hour to compute a single AND gate – 13-14 orders of magnitude slowdown vs. computing on non-encrypted data • A faster “dumbed down” version – Can only evaluate “very simple functions” – About ½-second for an AND gate
  • 15. Performance • Underlying “somewhat homomorphic” scheme • PK is 2 integers, SK is one integer Dimension KeyGen Enc Dec / AND (amortized) 2048 1.25 sec 60 millisec 23 millisec Small 800,000-bit integers Medium 8192 10 sec 0.7 sec 0.12 sec 3,200,000-bit integers 32768 95 sec 5.3 sec 0.6 sec Large 13,000,000-bit integers
  • 16. Performance • Fully homomorphic scheme Dimension KeyGen PK size AND 2048 40 sec 70 MByte 31 sec Small 800,000-bit integers Medium 8192 8 min 285 MByte 3 min 3,200,000-bit integers 32768 2 hours 2.3 GByte 30 min Large 13,000,000-bit integers
  • 17. Performance • A little slow… • Butler Lampson: “I don’t think we’ll see anyone using Gentry’s solution in our lifetimes *…+” – Forbes, Dec-19, 2011
  • 18. New Stuff • New techniques suggested during 2011 • Promise ~3 orders of magnitude improvement vs. Gentry’s original scheme – Implementations on the way • Still very expensive, but maybe suitable for some niche applications • Computing “simple functions” using these tools may be realistic
  • 19. WHAT CAN I USE?
  • 20. Things we can already use today • Sometimes simple functions is all we need – Statistics, simple keyword match, etc. • Interactive solutions are sometime faster – vs. the single round trip of Homomorphic Enc • Great efficiency gains when settling for weaker notions of secrecy – “Order preserving encryption” – MIT’s CryptDB (onion encryption)
  • 23. Limitations of function-as-circuit • Some performance optimizations are ruled out • Example: Binary search – log(n) steps to find element in an n-element array – But circuit must be of size ~n • Example: private information retrieval – Non-encrypted access with one lookup – But encrypted access must touch all entries • Else you leak information (element is not in i’th entry) • Only data-oblivious computation is possible
  • 24. The [Gentry 2009] blueprint Evaluate any function in four “easy” steps • Step 1: Encryption from linear ECCs – Additive homomorphism Error-Correcting Codes • Step 2: ECC lives inside a ring – Also multiplicative homomorphism – But only for a few operations (low-degree poly’s) • Step 3: Bootstrapping – Few ops (but not too few)  any number of ops • Step 4: Everything else – “Squashing” and other fun activities
  • 25. Step 1: Encryption from Linear ECCs • For “random looking” codes, hard to distinguish close/far from code • Many cryptosystems built on this hardness – E.g., *McEliece’78, AD’97, GGH’97, R’03,…+
  • 26. Step 1: Encryption from Linear ECCs • KeyGen: choose a “random” Code – Secret key: “good representation” of Code • Allows correction of “large” errors – Public key: “bad representation” of Code • Can generate “random code-words” • Hard to distinguish close/far from the code • Enc(0): a word close to Code • Enc(1): a random word – Far from Code (with high probability)
  • 27. Example: Integers mod p [vDGHV 2010] p N • Code determined by a secret integer p – Codewords: multiples of p • Good representation: p itself • Bad representation: ri << p – N = pq, and also many xi = pqi + ri • Enc(0): subset-sum(xi’s)+r mod N – r is new noise, chosen by encryptor • Enc(1): random integer mod N
  • 28. A Different Input Encoding p N xi = pqi + ri • Both Enc(0), Enc(1) close to the code – Enc(0): distance to code is even Plaintext encoded – Enc(1): distance to code is odd in the “noise” – Security unaffected when p is odd • In our example of integers mod p: – Enc(b) = 2(r+subset-sum(xi’s)) + b mod N = p + 2(r+subset-sum(ri’s))+b much smaller than p/2 – Dec(c) = (c mod p) mod 2
  • 29. Additive Homomorphism • c1+c2 = (codeword1+codeword2) + (2r1+b1)+(2r2+b2 ) – codeword1+codeword2 Code – (2r1+b1)+(2r2+b2 )=2(r1+r2)+b1+b2 is still small • If 2(r1+r2)+b1+b2 < min-dist/2, then dist(c1+c2, Code) = 2(r1+r2)+b1+b2  dist(c1+c2, Code) b1+b2 (mod 2) • Additively-homomorphic while close to Code
  • 30. Step 2: Code Lives in a Ring • What happens when multiplying in Ring: – c1∙c2 = (codeword1+2r1+b1)∙(codeword2+2r2+b2) = codeword1∙X + Y∙codeword2 + (2r1+b1)∙(2r2+b2) Code is an ideal • If: – codeword1∙X + Y∙codeword2 Code – (2r1+b1)∙(2r2+b2) < min-dist/2 Product in Ring of • Then small elements is small – dist(c1c2, Code) = (2r1+b1)∙(2r2+b2) = b1∙b2 mod 2
  • 31. Example: Integers mod p [vDGHV 2010] p N xi = pqi + ri • Secret-key is p, public-key is N and the xi’s • ci = Encpk(bi) = 2(r+subset-sum(xi’s)) + b mod N = kip + 2ri+bi – Decsk(ci) = (ci mod p) mod 2 • c1+c2 mod N = (k1p+2r1+b1)+(k2p+2r2+b2) – kqp = k’p + 2(r1+r2) + (b1+b2) • c1c2 mod N = (k1p+2r1+b1)(k2p+2r2+b2) – kqp = k’p + 2(2r1r2+r1b2+r2b1)+b1b2 • Additive, multiplicative homomorphism – As long as noise < p/2
  • 32. Summary Up To Now • We need a linear error-correcting code C – With “good” and “bad” representations – C lives inside an algebraic ring R – C is an ideal in R – Sum, product of small elements in R is still small • Can find such codes in Euclidean space – Often associated with lattices • Then we get a “somewhat homomorphic” encryption, supporting low-degree polynomials – Homomorphism while close to the code
  • 33. Step 3: Bootstrapping • So far, can evaluate low-degree polynomials x1 P x2 … P(x1, x2 ,…, xt) xt
  • 34. Step 3: Bootstrapping • So far, can evaluate low-degree polynomials x1 P x2 … P(x1, x2 ,…, xt) xt • Can eval y=P(x1,x2…,xn) when xi’s are “fresh” • But y is an “evaluated ciphertext” – Can still be decrypted – But eval Q(y) will increase noise too much • “Somewhat Homomorphic” encryption (SWHE)
  • 35. Step 3: Bootstrapping • So far, can evaluate low-degree polynomials x1 P x2 … P(x1, x2 ,…, xt) xt • Bootstrapping to handle higher degrees – We have a noisy evaluated ciphertext y – Want to get another y with less noise
  • 36. Step 3: Bootstrapping • For ciphertext c, consider Dc(sk) = Decsk(c) – Hope: Dc( ) is a low-degree polynomial in sk • Include in the public key also Encpk(sk) c y Requires “circular Dc security” sk1 sk2 c’ Dc(sk) … = Decsk(c) = y skn • Homomorphic computation applied only to the “fresh” encryption of sk
  • 37. Step 3: Bootstrapping • Similarly define Mc ,c (sk) = Decsk(c1)∙Decsk(c1) 1 2 y1 y2 c1 c2 sk1 Mc1,c2 c’ sk2 Mc1,c2(sk) … = Decsk(c1) x Decsk(c2) = y1 x y2 skn • Homomorphic computation applied only to the “fresh” encryption of sk
  • 38. Step 4: Everything Else • Cryptosystems from *G’09, vDGHV’10, BG’11a] cannot handle their own decryption • Tricks to “squash” the decryption procedure, making it low-degree – Nontrivial, requires putting more information about the secret key in the public key – Requires yet another assumption, namely hardness of the Sparse-Subset-Sum Problem (SSSP) – I will not talk about squashing here