+ All Categories
Home > Documents > An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group &...

An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group &...

Date post: 07-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
22
An Overview of Homomorphic Encryption Alexander Lange Department of Computer Science Rochester Institute of Technology Rochester, NY 14623 May 9, 2011 Alexander Lange (RIT) Homomorphic Encryption May 9, 2011 1 / 22
Transcript
Page 1: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 2: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 3: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 4: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 5: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 6: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 7: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 8: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 9: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 10: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 11: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 12: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 13: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 14: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 15: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 16: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 17: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 18: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 19: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 20: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 21: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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

Page 22: An Overview of Homomorphic Encryption · 2011-05-15 · Outline 1 Algebraic Homomorphisms Group & Ring Homomorphism 2 Application to Cryptography Example: RSA 3 History Data Banks

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


Recommended