An Overview of Homomorphic Encryption
Alexander Lange
Department of Computer ScienceRochester Institute of Technology
Rochester, NY 14623
May 9, 2011
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 1 / 22
Outline1 Algebraic Homomorphisms
Group & Ring Homomorphism2 Application to Cryptography
Example: RSA3 History
Data BanksBlind Signatures
4 Additive HomomorphismsElGamalPaillier
5 ApplicationsE-VotingPrivate Information Retrieval
6 Fully Homorphic EncryptionOverviewCraig Gentry
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 2 / 22
Algebraic Homomorphisms Group & Ring Homomorphism
Algebraic Homomorphisms
Definition (Group Homomorphism)
Let (G, ?) and (H, �) be groups. The map ϕ : G→ H is a homomorphism if
ϕ(x ? y) = ϕ(x) � ϕ(y) ∀ x , y ∈ G
Definition (Ring Homomorphism)
Let R and S be rings with addition and multiplication. The map ϕ : R → S is ahomomorphism if
1 ϕ is a group homomorphism on the additive groups (R,+) and (S,+)
2 ϕ(xy) = ϕ(x)ϕ(y) ∀ x , y ∈ R
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 3 / 22
Application to Cryptography
Application to CryptographyA homomorphic encryption function allows for the manipulation of encrypteddata with out the seemingly inherent loss of the encryption.Applications
• E-Cash
• E-Voting
• Private information retrieval
• Cloud computing
A fully homomorphic encryption function (two operations) has been an openproblem in cryptography for 30+ years. The first ever system was proposed byCraig Gentry in 2009.However, encryption systems that respect one operation have been utilizedfor decades.
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 4 / 22
Application to Cryptography Example: RSA
Example: The RSA Cryptosystem
Definition (RSA)
Let n = pq where p and q are primes. Pick a and b such that ab ≡ 1(mod φ(n)). n and b are public while p, q and a are private.
eK (x) = xb mod n
dK (y) = ya mod n
The Homomorphism: Suppose x1 and x2 are plaintexts. Then,
eK (x1)eK (x2) = xb1 xb
2 mod n = (x1x2)b mod n = eK (x1x2)
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 5 / 22
History Data Banks
HistoryOn Data Banks and Privacy Homomorphisms
• Rivest, Adleman and Dertouzos, 1978
• Introduced idea of “Privacy Homomorphisms”
• “...it appears likely that there exist encryption functions which permitencrypted data to be operated on without preliminary decryption.”
• Encrypted data of loan company• What is the size of the average loan?• How many loans over $5,000?
• Introduced four possible encryption functions (RSA was one of them)
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 6 / 22
History Blind Signatures
HistoryBlind signatures for untraceable payments
• David Chaum, 1982
• Calls for payment system with:• Anonymity of payment• Proof of payment
• Analogy to secure voting• Place vote in a carbon envelope• The signer can then sign the envelope, consequently signing the vote with
out ever knowing what the vote is
• Although no mention of a private homomorphism, the paper helpsintroduce the need for secure voting as well as the relationship betweene-cash and e-voting
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 7 / 22
Additive Homomorphisms ElGamal
ElGamal Cryptosystem
Definition (ElGamal)
Let p be a prime and pick α ∈ Z∗p such that α is a generator of Z∗p. Pick a andβ such that β ≡ αa (mod p). p, α and β are public; a is private. Let r ∈ Zp−1
be a secret random number. Then,
eK (x , r) = (αr mod p, xβr mod p)
The Homomorphism: Let x1 and x2 be plaintexts. Then,
eK (x1, r1)eK (x2, r2) =(αr1 mod p, x1β
r1 mod p)(αr2 mod p, x2β
r2 mod p)
=(αr1αr2 mod p, x1β
r1x2βr2 mod p
)=
(αr1+r2 mod p, (x1x2)β
r1+r2 mod p)
= eK (x1x2, r1 + r2)
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 8 / 22
Additive Homomorphisms ElGamal
ElGamalThe Problem: This homomorphism is multiplicative
• E-cash and e-voting would benefit from an additive homomorphism
One solution: Modify ElGamal
• Put the plaintext in the exponent
If we modify ElGamal so that
eK (x , r) = (αr mod p, αxβr mod p)
Then the homomorphism is
eK (x1, r1)eK (x2, r2) =(αr1 mod p, αx1βr1 mod p
)(αr2 mod p, αx2βr2 mod p
)=
(αr1+r2 mod p, αx1+x2βr1+r2 mod p
)= eK (x1 + x2, r1 + r2)
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 9 / 22
Additive Homomorphisms ElGamal
The problem with this modification is that dK = αx , introducing the discretelogarithm problem into the decryption. For large enough texts, this becomesimpractical.
We would like another cryptosystem which takes advantage of this additiveproperty of exponentiation, but does so with out extra decryption time.
Solution: the Paillier Cryptosystem
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 10 / 22
Additive Homomorphisms Paillier
Paillier Cryptosystem• Introduced by Pascal Paillier in Public-Key Cryptosystems Based on
Composite Degree Residuosity Classes, 1999
• Probabilistic, asymmetric algorithm
• Decisional composite residuosity assumption• Given composite n and integer z, it is hard to determine if y exists such that
z ≡ yn (mod n2)
• Homomorphic and self-blinding
• Extended by Damgard and Jurik in 2001• modulo n2 =⇒ modulo ns+1
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 11 / 22
Additive Homomorphisms Paillier
Paillier Cryptosystem
Definition
Pick two large primes p and q and let n = pq. Let λ denote the Carmichaelfunction, that is, λ(n) = lcm(p− 1,q − 1). Pick random g ∈ Z∗n2 such that L(gλ
mod n2) is invertible modulo n (where L(u) = u−1n ). n and g are public; p and
q (or λ) are private. For plaintext x and resulting ciphertext y , select a randomr ∈ Z∗n. Then,
eK (x , r) = gm rn mod n2
dK (y) =L(yλ mod n2)
L(gλ mod n2)mod n
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 12 / 22
Applications E-Voting
Paillier Example: E-Voting
Suppose Alice, Bob and Oscar are running in an election. Only 6 peoplevoted in the election, and the results are tabulated below.
Vote Oscar Bob Alice1 ! −→ 00 00 01 = 12 ! −→ 00 01 00 = 43 ! −→ 00 01 00 = 44 ! −→ 00 00 01 = 15 ! −→ 01 00 00 = 166 ! −→ 00 00 01 = 1
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 13 / 22
Applications E-Voting
Paillier Example: E-VotingLet p = 5 and q = 7. Then n = 35, n2 = 1225 and λ = 12. g is chosen to be141. For the first vote x1 = 1, r is randomly chosen as 4. Then,
eK (x1, r1) = eK (1,4) = 1411 · 435 = 141 · 324 = 359 mod 1225
All votes, r values and resulting encryptions are shown below
x r eK (x , r)1 4 3594 17 1734 26 4861 12 1088
16 11 5411 32 163
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 14 / 22
Applications E-Voting
Paillier Example: E-VotingIn order to sum the votes, we multiply the encrypted data modulo n2:
359 · 173 · 486 · 1088 · 541 · 163 mod 1225 = 983We then decrypt:
L(yλ mod n2) = L(98312 mod 1225) =36− 1
35= 1
L(gλ mod n2) = L(14112 mod 1225) =456− 1
35= 13
dK (y) =(L(yλ mod n2)
)(L(gλ mod n2)
)−1 mod n
= 1 · 13−1 mod 35
= 27
We convert 27 to (01 02 03) for the final results.
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 15 / 22
Applications Private Information Retrieval
Another Application: Private Information Retrieval• Idea first introduced by Chor, Goldreich, Kushilevitz and Sudan in 1997
• The problem:• How can the user access an item from a database with out the database
knowing which item it is? (Private Information Retrieval)• How can the user do this with out knowing about any other item of the
database? (Symmetric Private Information Retrieval)
• The additive homomorphic properties of Paillier allow for the indexing andfiltering of an encrypted database
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 16 / 22
Applications Private Information Retrieval
Some PIR Protocols• Stern Protocol - Uses a simple homomorphic scheme and a linear
indexing technique
• Chang Protocol - Expands on Stern by allowing the indexing to take placeon a hyper cube. Uses the Paillier Cryptosystem
• Lipmaa Protocol - Expands on Chang by using Damgard-Jurik system -removes the limit set on the plaintext due to Paillier
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 17 / 22
Fully Homorphic Encryption Overview
Fully Homomorphic Encryption• Up until now, the homomorphic systems described have been partially
homomorphic• They preserve the structures of multiplication or division, but cannot do both
• If a fully homomorphic encryption was implemented, then any arbitrarycomputation could be performed on a ciphertext, preserving theencryption as if the computation was performed on the plaintext
• The additive and multiplicative preservation of a Ring Homomorphismmodulo 2 directly correspond to the XOR and AND operations of a circuit
• Applications:• Private queries on search engines - The search engine would be able to
return encrypted data with out every decrypting the query• Cloud Computing - Storing encrypted data on the cloud is seemingly
useless; no manipulation of the data can be obtained with out allowing thecloud access and/or decrypting the data off the cloud
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 18 / 22
Fully Homorphic Encryption Craig Gentry
Craig Gentry• In 2009, Craig Gentry proposed the first fully homomorphic encryption
scheme in his PhD thesis A Fully Homomorphic Encryption Scheme
• Centers around a function which introduces a certain level of noise intothe encryption
• Each operation on the ciphertext results in compounding noise• Resolved with the bootstrapability of the encryption
• Each re-encryption cuts down the noise• Analogy to Alice’s jewelry shop
• Involves operations on Ideal Lattices• Allows for less complex circuit implementation• Correspond to the structure of Rings
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 19 / 22
Fully Homorphic Encryption Craig Gentry
A Simple Example Over the IntegersA Somewhat Homomorphic Scheme
• KEYGENε: Output a random odd integer p
• For bit m ∈ {0,1}, let a random m′ = m mod 2 (ie. m′ is even if m = 0,odd if m = 1). Pick a random q. Then ENCRYPTε(m,p) = c = m′ + pq.m′ is the noise associated with the plaintext.
• Let c′ = c mod p where c′ ∈ (−p/2,p/2). ThenDECRYPTε(p, c) = c′ mod 2. c′ is considered to be the noise associatedwith the ciphertext (ie. the shortest distance to a multiple of p)
The Homomorphism: (Multiplication) Let m1,m2 ∈ {0,1}. Then
e(m1,p)e(m2,p) = (m′1 + pq1)(m′2 + pq2)
=⇒ d(c) = (m′1 + pq1)(m′2 + pq2) mod p mod 2 = m′1 ·m′2 mod 2 = m1 ·m2
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 20 / 22
Fully Homorphic Encryption Craig Gentry
The Problem• The compounding noise (m′1 ·m′2 in the example) results in loss of
homomorphic property after a certain number of operations• The bootstrapping of the algorithm allows for this noise to be reduced,
allowing for no limit in operations
• However, the combination of the noise production followed by the noisereduction makes the scheme completely impractical
• Complexity grows as more and more operations are performed (inherentlimitation of the algorithm)
• Gentry has stated that in order to perform one search on Google using thisencryption, the amount of computations needed would increase by a trillion
• More schemes have been introduced to try and decrease this complexity, butall rely on the same
• Despite this impracticality, Gentry’s discovery is an amazingbreakthrough in cryptography and proves that (at least theoretical) fullyhomomorphic encryption schemes exist
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 21 / 22
Fully Homorphic Encryption Craig Gentry
Questions?Sources
• R. L. Rivest, L. Adleman, and M. L. Dertouzos. ”On data banks andprivacy homomorphisms.” Foundations of Secure Computation, 1978.
• Craig Gentry. ”Computing Arbitrary Functions of Encrypted Data.”Association for Computing Machinery, 2010.
• Pascal Paillier. ”Public-Key Cryptosystems Based on Composite DegreeResiduosity Classes.” EUROCRYPT 1999.
• Laura Lincoln. ”Symmetric Private Information Retrieval via AdditiveHomomorphic Probabilistic Encryption”. RIT, Department of ComputerScience, 2006.
• David Chaum. ”Blind signatures for untraceable payments.” Advances inCryptology - Crypto ’82, Springer-Verlag 1983
• Paillier Cryptosystem Interactive Simulator. Andreas Steffen. HSRHochschule fur Technik Rapperswil. 2009.
• Steve Weis. ”Verifying Elections with Cryptography”. Google Tech Talks:Theory and Practive of Cyptography. December 2007. Youtube.
Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 22 / 22