SlideShare ist ein Scribd-Unternehmen logo
1 von 20
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?

Weitere ähnliche Inhalte

Was ist angesagt?

Fully Homomorphic Encryption (1).pptx
Fully Homomorphic Encryption (1).pptxFully Homomorphic Encryption (1).pptx
Fully Homomorphic Encryption (1).pptxssuser1716c81
 
Cryptography Fundamentals
Cryptography FundamentalsCryptography Fundamentals
Cryptography FundamentalsDuy Do Phan
 
Steganography presentation
Steganography presentationSteganography presentation
Steganography presentationAshwin Prasad
 
Pretty good privacy
Pretty good privacyPretty good privacy
Pretty good privacyPunnya Babu
 
Emily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum CryptographyEmily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum CryptographyCSNP
 
Presentation about RSA
Presentation about RSAPresentation about RSA
Presentation about RSASrilal Buddika
 
2. public key cryptography and RSA
2. public key cryptography and RSA2. public key cryptography and RSA
2. public key cryptography and RSADr.Florence Dayana
 
Public Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmIndra97065
 
Rsa and diffie hellman algorithms
Rsa and diffie hellman algorithmsRsa and diffie hellman algorithms
Rsa and diffie hellman algorithmsdaxesh chauhan
 
Cryptography & Steganography
Cryptography & SteganographyCryptography & Steganography
Cryptography & SteganographyAnimesh Shaw
 
Discrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve CryptosystemsDiscrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve CryptosystemsNIT Sikkim
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.pptUday Meena
 

Was ist angesagt? (20)

Key management
Key managementKey management
Key management
 
Cryptography
CryptographyCryptography
Cryptography
 
Fully Homomorphic Encryption (1).pptx
Fully Homomorphic Encryption (1).pptxFully Homomorphic Encryption (1).pptx
Fully Homomorphic Encryption (1).pptx
 
Cryptography Fundamentals
Cryptography FundamentalsCryptography Fundamentals
Cryptography Fundamentals
 
Cryptography
CryptographyCryptography
Cryptography
 
Steganography presentation
Steganography presentationSteganography presentation
Steganography presentation
 
Pretty good privacy
Pretty good privacyPretty good privacy
Pretty good privacy
 
Emily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum CryptographyEmily Stamm - Post-Quantum Cryptography
Emily Stamm - Post-Quantum Cryptography
 
Presentation about RSA
Presentation about RSAPresentation about RSA
Presentation about RSA
 
2. public key cryptography and RSA
2. public key cryptography and RSA2. public key cryptography and RSA
2. public key cryptography and RSA
 
Rsa cryptosystem
Rsa cryptosystemRsa cryptosystem
Rsa cryptosystem
 
RSA Algorithm
RSA AlgorithmRSA Algorithm
RSA Algorithm
 
Elliptic curve cryptography
Elliptic curve cryptographyElliptic curve cryptography
Elliptic curve cryptography
 
Public Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithmPublic Key Cryptography and RSA algorithm
Public Key Cryptography and RSA algorithm
 
Rsa and diffie hellman algorithms
Rsa and diffie hellman algorithmsRsa and diffie hellman algorithms
Rsa and diffie hellman algorithms
 
Cryptography
CryptographyCryptography
Cryptography
 
Rsa Crptosystem
Rsa CrptosystemRsa Crptosystem
Rsa Crptosystem
 
Cryptography & Steganography
Cryptography & SteganographyCryptography & Steganography
Cryptography & Steganography
 
Discrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve CryptosystemsDiscrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
Discrete Logarithmic Problem- Basis of Elliptic Curve Cryptosystems
 
Cryptography.ppt
Cryptography.pptCryptography.ppt
Cryptography.ppt
 

Ähnlich wie Homomorphic Encryption

Dynamic Programming Matrix Chain Multiplication
Dynamic Programming Matrix Chain MultiplicationDynamic Programming Matrix Chain Multiplication
Dynamic Programming Matrix Chain MultiplicationKrishnakoumarC
 
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.pptImmanImman6
 
"Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL.""Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL."Vissarion Fisikopoulos
 
parameterized complexity for graph Motif
parameterized complexity for graph Motifparameterized complexity for graph Motif
parameterized complexity for graph MotifAMR koura
 
Elliptic curve cryptography and zero knowledge proof
Elliptic curve cryptography and zero knowledge proofElliptic curve cryptography and zero knowledge proof
Elliptic curve cryptography and zero knowledge proofNimish Joseph
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofArunanand Ta
 
Quantum factorization.pdf
Quantum factorization.pdfQuantum factorization.pdf
Quantum factorization.pdfssuser8b461f
 
Rsa in CTF
Rsa in CTFRsa in CTF
Rsa in CTFSoL ymx
 
Digital Fingerprinting
Digital FingerprintingDigital Fingerprinting
Digital Fingerprintingsanthu652
 
implementing the encryption in the JAVA.ppt
implementing the encryption in the JAVA.pptimplementing the encryption in the JAVA.ppt
implementing the encryption in the JAVA.pptMuhammadAbdullah311866
 
Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryptionhubx
 
Cryptography using rsa cryptosystem
Cryptography using rsa cryptosystemCryptography using rsa cryptosystem
Cryptography using rsa cryptosystemSamdish Arora
 
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 BlockchainFerdin Joe John Joseph PhD
 

Ähnlich wie Homomorphic Encryption (20)

Class3
Class3Class3
Class3
 
Computing on Encrypted Data
Computing on Encrypted DataComputing on Encrypted Data
Computing on Encrypted Data
 
Dynamic Programming Matrix Chain Multiplication
Dynamic Programming Matrix Chain MultiplicationDynamic Programming Matrix Chain Multiplication
Dynamic Programming Matrix Chain Multiplication
 
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
 
"Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL.""Mesh of Periodic Minimal Surfaces in CGAL."
"Mesh of Periodic Minimal Surfaces in CGAL."
 
parameterized complexity for graph Motif
parameterized complexity for graph Motifparameterized complexity for graph Motif
parameterized complexity for graph Motif
 
Elliptic curve cryptography and zero knowledge proof
Elliptic curve cryptography and zero knowledge proofElliptic curve cryptography and zero knowledge proof
Elliptic curve cryptography and zero knowledge proof
 
Elliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge ProofElliptic Curve Cryptography and Zero Knowledge Proof
Elliptic Curve Cryptography and Zero Knowledge Proof
 
Quantum factorization.pdf
Quantum factorization.pdfQuantum factorization.pdf
Quantum factorization.pdf
 
Rsa in CTF
Rsa in CTFRsa in CTF
Rsa in CTF
 
Digital Fingerprinting
Digital FingerprintingDigital Fingerprinting
Digital Fingerprinting
 
Bch codes
Bch codesBch codes
Bch codes
 
implementing the encryption in the JAVA.ppt
implementing the encryption in the JAVA.pptimplementing the encryption in the JAVA.ppt
implementing the encryption in the JAVA.ppt
 
Introduction to Homomorphic Encryption
Introduction to Homomorphic EncryptionIntroduction to Homomorphic Encryption
Introduction to Homomorphic Encryption
 
Cryptography using rsa cryptosystem
Cryptography using rsa cryptosystemCryptography using rsa cryptosystem
Cryptography using rsa cryptosystem
 
Codes and Isogenies
Codes and IsogeniesCodes and Isogenies
Codes and Isogenies
 
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
 
Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
MFCS-17.ppt
MFCS-17.pptMFCS-17.ppt
MFCS-17.ppt
 
Metric k center
Metric k centerMetric k center
Metric k center
 

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