HOMOMORPHIC
ENCRYPTION
By,
Sreelakshmy.R
A Ganga Mythily
Private Search
Delegate PROCESSING of data
without giving away ACCESS to it
► You: Encrypt the query, send to Google
(Google does not know the key, cannot “see” the query)
► Google: Encrypted query → Encrypted results
(You decrypt and recover the search results)
2 of 32
Private Cloud Computing
Delegate PROCESSING of data
without giving away ACCESS to it
(Input: x) (Program: P)
Enc(x), P → Enc(P(x))
Encrypt x
3 of 32
A form of encryption which allows specific types of
computations to be carried out on ciphertext and
generate an encrypted result which, when decrypted,
matches the result of operations performed on the
plaintext.
What is homomorphic encryption?
Different types of HE
- Partially Homomorphic - (Additively or Multiplicatively)
- RSA
- ElGamal
- Paillier
- Fully Homomorphic
- Gentry’s System
Applications
- E-voting
- Biometric verification
- Protection of mobile agent
- Lottery protocol
Electronic Voting- Protecting Data
A Symmetric Homomorphic
Encryption Scheme over Integers
Shared key: odd integer p
● To encrypt a bit m:
Choose at random large q, small r (|r| < p/2)
Cipher c = pq + 2r + m [ Ciphertext is close to a multiple of p ]
● To decrypt c:
Message m = (c mod p) mod 2
How is it homomorphic?
Homomorphic Addition
c1 = q1p + 2r1 + m1
c2 = q2p + 2r2 + m2
c1 + c2 = (q1 + q2)p + 2(r1 + r2) + (m1 + m2)
c’ = q’p + 2 r’ + m’
How is it homomorphic?
Homomorphic Multiplication
c1 = q1p + 2r1 + m1
c2 = q2p + 2r2 + m2
c1 *c2 =(c1q2+q1c2q1q2)p + 2(2r1r2 + r1m2 + m1r2) + m1m2
c’ = q’p + 2 r’ + m’
Paillier Encryption
- Pascal Paillier in 1999
- Probabilistic algorithm
- Additively homomorphic system
m = plaintext, c = ciphertext
E(m) is encryption of m, D(c) is decryption of c
D(E(m1) E(m2)) = m1 + m2
Thank you

Homomorphic encryption

  • 1.
  • 2.
    Private Search Delegate PROCESSINGof data without giving away ACCESS to it ► You: Encrypt the query, send to Google (Google does not know the key, cannot “see” the query) ► Google: Encrypted query → Encrypted results (You decrypt and recover the search results) 2 of 32
  • 3.
    Private Cloud Computing DelegatePROCESSING of data without giving away ACCESS to it (Input: x) (Program: P) Enc(x), P → Enc(P(x)) Encrypt x 3 of 32
  • 4.
    A form ofencryption which allows specific types of computations to be carried out on ciphertext and generate an encrypted result which, when decrypted, matches the result of operations performed on the plaintext. What is homomorphic encryption?
  • 6.
    Different types ofHE - Partially Homomorphic - (Additively or Multiplicatively) - RSA - ElGamal - Paillier - Fully Homomorphic - Gentry’s System
  • 7.
    Applications - E-voting - Biometricverification - Protection of mobile agent - Lottery protocol
  • 8.
  • 9.
    A Symmetric Homomorphic EncryptionScheme over Integers Shared key: odd integer p ● To encrypt a bit m: Choose at random large q, small r (|r| < p/2) Cipher c = pq + 2r + m [ Ciphertext is close to a multiple of p ] ● To decrypt c: Message m = (c mod p) mod 2
  • 10.
    How is ithomomorphic? Homomorphic Addition c1 = q1p + 2r1 + m1 c2 = q2p + 2r2 + m2 c1 + c2 = (q1 + q2)p + 2(r1 + r2) + (m1 + m2) c’ = q’p + 2 r’ + m’
  • 11.
    How is ithomomorphic? Homomorphic Multiplication c1 = q1p + 2r1 + m1 c2 = q2p + 2r2 + m2 c1 *c2 =(c1q2+q1c2q1q2)p + 2(2r1r2 + r1m2 + m1r2) + m1m2 c’ = q’p + 2 r’ + m’
  • 12.
    Paillier Encryption - PascalPaillier in 1999 - Probabilistic algorithm - Additively homomorphic system m = plaintext, c = ciphertext E(m) is encryption of m, D(c) is decryption of c D(E(m1) E(m2)) = m1 + m2
  • 13.