Homomorphic Encryption

Victor Pereira
Victor PereiraMicrosoft Student Partner um Microsoft
Homomorphic Encryption

    Craig Gentry scheme
Why homomorphic encryption?
• Proposed by Rivest, Adleman and Dertouzos
• Confidentiality problems
• Ability to compute over ciphertext instead of
  plaintext
• One could use information without knowing the
  content of that information
• Privacy garanteed
Homomorphic Encryption
• Crypto Magic

    5 * 6 = CT(5) * CT(6) -> D ( k, E(k,5) * E(k,6) ) = 5 * 6




                               Homomorphic Assumption

• Partially homomorphic/fully homomorphic
Homomorphic Encryption
• Partially homomorphic schemes
  – RSA: CT(x)*CT(y) = (xe mod M) * (ye mod M) = xeye
    mod M = (xy)e mod M = CT(x*y), where e is the
    exponent key and M the modulus
     •   p=61;
     •   q=53;
     •   N=3233;
     •   Φ(N)=60*52=3120;
     •   e=17;
     •   d=2753;
Homomorphic Encryption
• Partially homomorphic schemes
  – RSA: Obtain 5*6 performing RSA(5)*RSA(6)
     •   RSA(5) = 517 (mod 3233) = 3086;
     •   RSA(6) = 617 (mod 3233) = 824;
     •   3068*824 = 2542864;
     •   RSA-1(2542864) = 25428642753 (mod 3233) = 30;
     •   5*6 = 30;
Homomorphic Encryption
• Fully homomorphic schemes
  – Craig Gentry scheme
    • Based on ideal lattices
  – Zaryab Khan scheme
    • Based on perfectly colorblind function
Craig Gentry scheme
• Suppose a scheme with a “noise parameter”
  attached to each CT;
• Encryption algorithm outputs a CT with a small noise
  parameter (say less than n);
• Decryption algorithm only works if noise is less than
  some parameter N >> n;
• To compute E(a+b) / E(a*b), include noise;
• This gives a “somewhat homomorphic” scheme.
Craig Gentry scheme
• Now suppose a new algorithm RECRYPT, such that:
   – Input: E(a), with noise N’ < N
   – Output: E’(a), with noise √N
• “Somewhat homomorphic” -> fully homomorphic!
• Apply RECRYPT to E(a) and E(b) to ensure that the
  noise in E(a*b) or E(a+b) is smaller than N
• “Bootstrappable”
Craig Gentry scheme (integers)
• Key: odd integer p > 2N
• Encryption algorithm: given a bit b -> E(b) = c = b +
  2x + kp, where x is in [-n/2,n/2] and k is an integer
  chosen from some range
• Decryption algorithm: b = (c mod p) mod 2, where (c
  mod p) is the noise and belongs to [-n,n]
• Decryption works if b + 2x ∈ [-N,N] ⊂[-p/2,p/2]
Craig Gentry scheme (integers)
• Graig Gentry scheme’s homomorphic assumptions
   – Addiction: c1 + c2 = b1+ b2 + 2(x1+x2) + (k1+k2)p =
     b1 xor b2 + 2x + kp
      • Decryption works if (b1+2x1) + (b2+2x2) is in [-
        N,N]
   – Multiplication: c1*c2 = b1*b2 + 2(b1x2 + b2x1 +
     2x1x2) + kp = b1*b2 + 2x + kp
      • Decryption works if (b1+2x1) * (b2+2x2) is in [-
        N,N]
Craig Gentry scheme (integers)
• Addition example: 4+4
  – CT(100):
                                          22 21 21
     • CT(1) = 1 + 2*3 + 5*3 = 22
                                         +22 21 21
     • CT(0) = 0 + 2*3 + 5*3 = 21
                                          44 42 42
     • CT(0) = 0 + 2*3 + 5*3 = 21
  – D(44 42 42):
     • D(44) = 44 mod 3 = 2
     • D(42) = 42 mod 3 = 0
                                    1000 = 8 = 4+4
     • D(42) = 42 mod 3 = 0
Craig Gentry scheme (integers)
• Multiplication example: 4*4
  – CT(100):
     • CT(1) = 1 + 2*3 + 5*3 = 22
                                                22 21 21
     • CT(0) = 0 + 2*3 + 5*3 = 21              ×22 21 21
     • CT(0) = 0 + 2*3 + 5*3 = 21   484 924 1365 882 441
  – D(484 924 1365 882 441):
     •   D(484) = 484 mod 3 = 1
     •   D(924) = 924 mod 3 = 0
     •   D(1365) = 1365 mod 3 = 0
                                    10000 = 16 = 4*4
     •   D(882) = 882 mod 3 = 0
     •   D(441) = 441 mod 3 = 0
Craig Gentry scheme (ideal lattices)
• Replace integers by ideal lattices
• Ideal lattices have many representations or
  “bases”
• Bases:
  – Good: good to decrypt, bad to encrypt
  – Bad: bad to decrypt, good to encrypt
• Public key scheme, where good bases are
  private keys and bad bases are public keys
Cryptography over lattices
• L = ζ(B) = {Bc : c ∈ Zk}, B ∈ Rn×k, where the k
  columns of the basis are linearly independent
• NP-hard problems over lattices:
  – SVP (shortest vector problem): given a basis for
    lattice L of size n, find the shortest nonzero vector
    v ∈ L s.t. ||v|| = λ(L);
  – CVP (closest vector problem): given a basis for
    lattice L of size n and a vector t ∈ Rn, find a
    nonzero vector v ∈ L s.t. ||t-v|| ≤ γ;
Cryptography over lattices
• NP-hard problems over lattices:
  – SIVP (shortest independent vector problem): like
    the SVP, except the output are linearly
    independent vectors v1, …, v2 ∈ L of length at
    most λ(L);
  – BDDP (bounded distance decoding problem):
    same as CVP but with the promise that there is a
    unique solution.
Craig Gentry scheme
• Why inefficient?
  – CT size and computation time increase sharply as
    the security level increases;
  – 2k security -> CT size and computation time are
    high-degree polynomials in k;
  – Efforts are being made to reduce the
    computational requirements of Craig Gentry
    construction
Homomorphic Encryption
• Nowadays:
  – Craig Gentry presented a working implementation
    of the fully homomorphic system, including the
    bootstrapping function
  – Exists a practical application of homomorphic
    encryption to a hybrid wireless network
  – Perform statistical tests over encrypted data such
    as temperature, humidity, etc.
  – There are also some practical implementations of
    simplifications of this scheme over databases
Problems solved
• Cloud security
• Problems related to personal records like
  medical records
• Work with information stored in databases
• Querys to search engines
• …
My Project
• Design an API and include it on a Web Service
  that will work over CLOUD platforms
• The API should provide homomorphic
  encryption functions to be used
• Create a prototype that will work under the
  constructed API
QUESTIONS?
1 von 20

Recomendados

Introduction to Homomorphic Encryption von
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionChristoph Matthies
13.6K views69 Folien
Homomorphic encryption von
Homomorphic encryptionHomomorphic encryption
Homomorphic encryptionNamit Sinha
4K views19 Folien
Homomorphic Encryption von
Homomorphic EncryptionHomomorphic Encryption
Homomorphic EncryptionGöktuğ Serez
2.5K views58 Folien
Homomorphic Encryption von
Homomorphic EncryptionHomomorphic Encryption
Homomorphic EncryptionVipin Tejwani
8.2K views26 Folien
Homomorphic encryption von
Homomorphic encryptionHomomorphic encryption
Homomorphic encryptionCysinfo Cyber Security Community
1.4K views13 Folien
Homomorphic encryption in cloud computing final von
Homomorphic encryption  in cloud computing finalHomomorphic encryption  in cloud computing final
Homomorphic encryption in cloud computing finalSantanu Das Saan
2.7K views21 Folien

Más contenido relacionado

Was ist angesagt?

Paillier Cryptosystem von
Paillier CryptosystemPaillier Cryptosystem
Paillier CryptosystemDejan Radic
117 views16 Folien
Presentation about RSA von
Presentation about RSAPresentation about RSA
Presentation about RSASrilal Buddika
7.5K views43 Folien
2. Stream Ciphers von
2. Stream Ciphers2. Stream Ciphers
2. Stream CiphersSam Bowne
7.7K views31 Folien
Ch04 von
Ch04Ch04
Ch04Joe Christensen
2.1K views30 Folien
Introduction to Cryptography von
Introduction to CryptographyIntroduction to Cryptography
Introduction to CryptographyMd. Afif Al Mamun
13.4K views26 Folien
Cryptography von
CryptographyCryptography
Cryptographygueste4c97e
12.9K views17 Folien

Was ist angesagt?(20)

Paillier Cryptosystem von Dejan Radic
Paillier CryptosystemPaillier Cryptosystem
Paillier Cryptosystem
Dejan Radic117 views
2. Stream Ciphers von Sam Bowne
2. Stream Ciphers2. Stream Ciphers
2. Stream Ciphers
Sam Bowne7.7K views
Cryptography von gueste4c97e
CryptographyCryptography
Cryptography
gueste4c97e12.9K views
Elliptical curve cryptography von Barani Tharan
Elliptical curve cryptographyElliptical curve cryptography
Elliptical curve cryptography
Barani Tharan3.7K views
Public Key Cryptography and RSA algorithm von Indra97065
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithm
Indra9706516.2K views
CNIT 141 8. Authenticated Encryption von Sam Bowne
CNIT 141 8. Authenticated EncryptionCNIT 141 8. Authenticated Encryption
CNIT 141 8. Authenticated Encryption
Sam Bowne226 views
Diffie hellman key exchange algorithm von Sunita Kharayat
Diffie hellman key exchange algorithmDiffie hellman key exchange algorithm
Diffie hellman key exchange algorithm
Sunita Kharayat1.5K views
Cryptography von KARNAN L S
CryptographyCryptography
Cryptography
KARNAN L S1.4K views
DES (Data Encryption Standard) pressentation von sarhadisoftengg
DES (Data Encryption Standard) pressentationDES (Data Encryption Standard) pressentation
DES (Data Encryption Standard) pressentation
sarhadisoftengg4.4K views
Computer Security Lecture 2: Classical Encryption Techniques 1 von Benha University
Computer Security Lecture 2: Classical Encryption Techniques 1Computer Security Lecture 2: Classical Encryption Techniques 1
Computer Security Lecture 2: Classical Encryption Techniques 1
Benha University2.4K views

Similar a Homomorphic Encryption

Class3 von
Class3Class3
Class3ankitasinghbsc
676 views44 Folien
Computing on Encrypted Data von
Computing on Encrypted DataComputing on Encrypted Data
Computing on Encrypted DataNew York Technology Council
6K views38 Folien
Dynamic Programming Matrix Chain Multiplication von
Dynamic Programming Matrix Chain MultiplicationDynamic Programming Matrix Chain Multiplication
Dynamic Programming Matrix Chain MultiplicationKrishnakoumarC
22 views36 Folien
"Mesh of Periodic Minimal Surfaces in CGAL." von
"Mesh of Periodic Minimal Surfaces in CGAL.""Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL."Vissarion Fisikopoulos
45 views27 Folien
parameterized complexity for graph Motif von
parameterized complexity for graph Motifparameterized complexity for graph Motif
parameterized complexity for graph MotifAMR koura
439 views40 Folien
Elliptic curve cryptography and zero knowledge proof von
Elliptic curve cryptography and zero knowledge proofElliptic curve cryptography and zero knowledge proof
Elliptic curve cryptography and zero knowledge proofNimish Joseph
1K views58 Folien

Similar a Homomorphic Encryption(20)

Dynamic Programming Matrix Chain Multiplication von KrishnakoumarC
Dynamic Programming Matrix Chain MultiplicationDynamic Programming Matrix Chain Multiplication
Dynamic Programming Matrix Chain Multiplication
KrishnakoumarC22 views
parameterized complexity for graph Motif von AMR koura
parameterized complexity for graph Motifparameterized complexity for graph Motif
parameterized complexity for graph Motif
AMR koura439 views
Elliptic curve cryptography and zero knowledge proof von Nimish Joseph
Elliptic curve cryptography and zero knowledge proofElliptic curve cryptography and zero knowledge proof
Elliptic curve cryptography and zero knowledge proof
Nimish Joseph1K views
Elliptic Curve Cryptography and Zero Knowledge Proof von Arunanand Ta
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge Proof
Arunanand Ta6K views
Rsa in CTF von SoL ymx
Rsa in CTFRsa in CTF
Rsa in CTF
SoL ymx2.4K views
Digital Fingerprinting von santhu652
Digital FingerprintingDigital Fingerprinting
Digital Fingerprinting
santhu652992 views
Introduction to Homomorphic Encryption von hubx
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
hubx682 views
Cryptography using rsa cryptosystem von Samdish Arora
Cryptography using rsa cryptosystemCryptography using rsa cryptosystem
Cryptography using rsa cryptosystem
Samdish Arora1.7K views
Digital Signatures: Reassessing security of randomizable signatures von Priyanka Aash
Digital Signatures: Reassessing security of randomizable signaturesDigital Signatures: Reassessing security of randomizable signatures
Digital Signatures: Reassessing security of randomizable signatures
Priyanka Aash343 views

Homomorphic Encryption

  • 1. Homomorphic Encryption Craig Gentry scheme
  • 2. Why homomorphic encryption? • Proposed by Rivest, Adleman and Dertouzos • Confidentiality problems • Ability to compute over ciphertext instead of plaintext • One could use information without knowing the content of that information • Privacy garanteed
  • 3. Homomorphic Encryption • Crypto Magic 5 * 6 = CT(5) * CT(6) -> D ( k, E(k,5) * E(k,6) ) = 5 * 6 Homomorphic Assumption • Partially homomorphic/fully homomorphic
  • 4. Homomorphic Encryption • Partially homomorphic schemes – RSA: CT(x)*CT(y) = (xe mod M) * (ye mod M) = xeye mod M = (xy)e mod M = CT(x*y), where e is the exponent key and M the modulus • p=61; • q=53; • N=3233; • Φ(N)=60*52=3120; • e=17; • d=2753;
  • 5. Homomorphic Encryption • Partially homomorphic schemes – RSA: Obtain 5*6 performing RSA(5)*RSA(6) • RSA(5) = 517 (mod 3233) = 3086; • RSA(6) = 617 (mod 3233) = 824; • 3068*824 = 2542864; • RSA-1(2542864) = 25428642753 (mod 3233) = 30; • 5*6 = 30;
  • 6. Homomorphic Encryption • Fully homomorphic schemes – Craig Gentry scheme • Based on ideal lattices – Zaryab Khan scheme • Based on perfectly colorblind function
  • 7. Craig Gentry scheme • Suppose a scheme with a “noise parameter” attached to each CT; • Encryption algorithm outputs a CT with a small noise parameter (say less than n); • Decryption algorithm only works if noise is less than some parameter N >> n; • To compute E(a+b) / E(a*b), include noise; • This gives a “somewhat homomorphic” scheme.
  • 8. Craig Gentry scheme • Now suppose a new algorithm RECRYPT, such that: – Input: E(a), with noise N’ < N – Output: E’(a), with noise √N • “Somewhat homomorphic” -> fully homomorphic! • Apply RECRYPT to E(a) and E(b) to ensure that the noise in E(a*b) or E(a+b) is smaller than N • “Bootstrappable”
  • 9. Craig Gentry scheme (integers) • Key: odd integer p > 2N • Encryption algorithm: given a bit b -> E(b) = c = b + 2x + kp, where x is in [-n/2,n/2] and k is an integer chosen from some range • Decryption algorithm: b = (c mod p) mod 2, where (c mod p) is the noise and belongs to [-n,n] • Decryption works if b + 2x ∈ [-N,N] ⊂[-p/2,p/2]
  • 10. Craig Gentry scheme (integers) • Graig Gentry scheme’s homomorphic assumptions – Addiction: c1 + c2 = b1+ b2 + 2(x1+x2) + (k1+k2)p = b1 xor b2 + 2x + kp • Decryption works if (b1+2x1) + (b2+2x2) is in [- N,N] – Multiplication: c1*c2 = b1*b2 + 2(b1x2 + b2x1 + 2x1x2) + kp = b1*b2 + 2x + kp • Decryption works if (b1+2x1) * (b2+2x2) is in [- N,N]
  • 11. Craig Gentry scheme (integers) • Addition example: 4+4 – CT(100): 22 21 21 • CT(1) = 1 + 2*3 + 5*3 = 22 +22 21 21 • CT(0) = 0 + 2*3 + 5*3 = 21 44 42 42 • CT(0) = 0 + 2*3 + 5*3 = 21 – D(44 42 42): • D(44) = 44 mod 3 = 2 • D(42) = 42 mod 3 = 0 1000 = 8 = 4+4 • D(42) = 42 mod 3 = 0
  • 12. Craig Gentry scheme (integers) • Multiplication example: 4*4 – CT(100): • CT(1) = 1 + 2*3 + 5*3 = 22 22 21 21 • CT(0) = 0 + 2*3 + 5*3 = 21 ×22 21 21 • CT(0) = 0 + 2*3 + 5*3 = 21 484 924 1365 882 441 – D(484 924 1365 882 441): • D(484) = 484 mod 3 = 1 • D(924) = 924 mod 3 = 0 • D(1365) = 1365 mod 3 = 0 10000 = 16 = 4*4 • D(882) = 882 mod 3 = 0 • D(441) = 441 mod 3 = 0
  • 13. Craig Gentry scheme (ideal lattices) • Replace integers by ideal lattices • Ideal lattices have many representations or “bases” • Bases: – Good: good to decrypt, bad to encrypt – Bad: bad to decrypt, good to encrypt • Public key scheme, where good bases are private keys and bad bases are public keys
  • 14. Cryptography over lattices • L = ζ(B) = {Bc : c ∈ Zk}, B ∈ Rn×k, where the k columns of the basis are linearly independent • NP-hard problems over lattices: – SVP (shortest vector problem): given a basis for lattice L of size n, find the shortest nonzero vector v ∈ L s.t. ||v|| = λ(L); – CVP (closest vector problem): given a basis for lattice L of size n and a vector t ∈ Rn, find a nonzero vector v ∈ L s.t. ||t-v|| ≤ γ;
  • 15. Cryptography over lattices • NP-hard problems over lattices: – SIVP (shortest independent vector problem): like the SVP, except the output are linearly independent vectors v1, …, v2 ∈ L of length at most λ(L); – BDDP (bounded distance decoding problem): same as CVP but with the promise that there is a unique solution.
  • 16. Craig Gentry scheme • Why inefficient? – CT size and computation time increase sharply as the security level increases; – 2k security -> CT size and computation time are high-degree polynomials in k; – Efforts are being made to reduce the computational requirements of Craig Gentry construction
  • 17. Homomorphic Encryption • Nowadays: – Craig Gentry presented a working implementation of the fully homomorphic system, including the bootstrapping function – Exists a practical application of homomorphic encryption to a hybrid wireless network – Perform statistical tests over encrypted data such as temperature, humidity, etc. – There are also some practical implementations of simplifications of this scheme over databases
  • 18. Problems solved • Cloud security • Problems related to personal records like medical records • Work with information stored in databases • Querys to search engines • …
  • 19. My Project • Design an API and include it on a Web Service that will work over CLOUD platforms • The API should provide homomorphic encryption functions to be used • Create a prototype that will work under the constructed API