Introduction - Computer Science and...

Post on 19-Mar-2020

1 views 0 download

Transcript of Introduction - Computer Science and...

Introduction

788.11 Cryptography and SecurityFall 2009Steve Lai

Outline

■ Basics of encryption

■ Homomorphic encryption

Basics of Encryption

For more information, see my CSE 651 or 794Q notes

Summary• Symmetric encryption

– Stream cipher (e.g., RC4)– Block cipher (e.g., DES, AES)

• Asymmetric encryption– RSA– ElGamal (based on Diffie-Hellman)

• Performance issues• Security issues

5

Symmetric-Key Encryption

• Stream cipher (e.g., Vernan’s one-time pad, RC4)

• Block cipher (e.g., DES, AES)

6

Stream ciphers

7

1 2 3

Stream ciphers typically process the plaintext byte by byte. So, the plaintext is a stream of bytes: , , , Use a key as the seed to generate a sequence of

pseudora

Stream ciphers

P P PK

••

1 2 3

1 2 3 4

ndom bytes (key-stream): , , , The ciphertext is , , , , , where

Various stream ciphers differ in their key-stream generators. Stream ciphers require tha

i i i

K K KC C C C

C P K

……

= ⊕

•• t a new key be used for each plaintext (or it will not be sesure).

8

In practice, Alice and Bob wish to share a permanent key and use it to encrypt many messages. One possible strategy: Suppose Bob and Alice share a secret key . Each time Bob (o

r

K

K

ii Alice) wants to send a message, he randomly

generates a string and use as the key (seed) to the pseudorandom generator. Send along with the ciphertext. Unfo

rtunately,

IV K IV

IV•i

the resulting scheme is not necessarily secure.

Example: WEP’s use of RC4• WEP is a protocol using RC4 to encrypt packets for

transmission over IEEE 802.11 wireless LAN.

• Each packet is encrypted with a separate key equal to the concatenation of a 24-bit IV (initialization vector) and a

40 or 104-bit permanent key.

• Not secure. See “Breaking 104 bit WEP in less than 60 seconds.”

9

lRC4 key:   IV (24)   Permanent key (40 or 104 bits)

Block Ciphers

Block ciphers are encryption schemes that use pseudorandom functions or pseudorandom permutations.

10

11

A block cipher is a symmetric-key that maps a block of bits to a block of bits.

encryption scheme

{0,1} and {0,1} . Block length

: .

Traditional view of block ciphers

n r

n nM C K

n= = =

ii

{ } { } Key length: .

For a fixed key , : 0,1 0,1 is a permutation.

n nk

r

k K E∈ →

i

i

Practical Block Ciphers: DES and AES

DES: Data Encryption StandardAES: Advanced Encryption Standard

12

Public‐Key Cryptography and RSA

Public-Key Cryptography• Also known as asymmetric-key cryptography.• Each user has a pair of keys: a public key and a

private key.• The public key is used for encryption.

– The key is known to the public.

• The private key is used for decryption.– The key is only known to the owner.

Public-Key Cryptosystem (PKC)• Each user u has a pair of keys (PKu, SKu).

– PKu is the public key, available in a public directory.

– SKu the private key, known to u only.• Key-generation algorithm: to generate keys.• Encryption algorithm E: to send message M to

user u, compute C = E(PKu, M).• Decryption algorithm D: Upon receiving C,

user u computes D(SKu, C).• Requirement: D(SKu , E(PKu, M)) = M.

Why Public-Key Cryptography?• Developed to address two main issues:

– key distribution– digital signatures

• Invented by Diffie & Hellman in 1976.

1

1

trapdoor

Easy:

Hard:

Easy:

Use as the private key.

Most (believed) one-way functions come from number theory.

trapdoor

One-way function with trapdoorf

f

f

x y

x y

x y

⎯⎯→

←⎯⎯

←⎯⎯⎯

The RSA Cryptosystem

• RSA Encryption• RSA Digital signature

By ivest, hamir & dleman of MIT in 1977. Best known and most widely used public-key scheme. Based on the one-way property

of mo

R S

du

lar powering:

A

assumed

The RSA Cryptosystem•••

1

: mod (easy) : mod (hard)

e

e

f x x nf x x n−

1

RSA

RSA

*

Encryption (easy):

Decryption (hard):

Looking for a trapdoor: ( ) .If is a number such that 1mod ( ), then

( )

It works in group

1

.

Idea behind RSA

e

e

e d

n

x x

x x

x xd ed n

e n

Z

d kϕ

ϕ

⎯⎯⎯→

←⎯⎯⎯

=≡

= +

( )( ) 1 ( )

for some , and

( ) 1 .ke ed n nd k

k

x x x x x x xϕ ϕ+= = = ⋅ = ⋅ =

1

(a) Choose large primes and , and let : . (b) Choose (1 ( )) coprime to ( ), and compute : mod ( ). ( .) (c) Public ke

Key generation:

1 mod ( )

RSA Cryptosystem

p q n pqe e n nd nn ede

ϕ ϕ

ϕϕ−

=< <

= ≡

*

*

*

Encryption:

Decrypti

y: . Secret key: . ( ) : mod , where .

( ) : mod , where .

( and work for , \ , but not secu

on:

( , ) ( ,

re.)

)e

pk n

dsk n

pk sk n n

E x x n x Z

D y y n y Z

E D

pk n e sk

x y Z Z

n d= ∈

=

=

=

1

Then ( ) ( 1)( 1) andmod ( ) can be calculated

Factor into .

Determine ( ) directly

easily.

Equivalent to factoring . Knowing ( ) will enable us to f

.

Mathematical Attacksn p q

d e n

nn

n pq

ϕ

ϕ

ϕ

= − −

=

•actor by solving

( 1)( 1)

The best known algorithms are not faster than those for factoring . Also, if is known, can be factored with

Determine directly

high pro

( )

b

.

npq

p q

n dd

n

nnϕ=⎧

⎨ = −

−⎩

ability.

*

In light of current factorization technoligies, RSA recommends that be of 1024-2048 bits.

If a message \ ,

RSA works, but Since gcd( , ) 1, the sender can factor

.

Remarks

n n

n

m Z Z

m n n

>

ii

*

Also, sincegcd( , ) 1, the adversary can factor , too.

Question: how likely is

\ ?

e

n n

m n n

m Z Z•

>

i

We have seen many attacks on RSA.

Also, RSA is deterministic and, therefore, not CPA-secure (i.e., not ciphertext-indistinguishable against CPA).

We wish to make RSA secure

Security of RSA•

• against CPA and aforementioned attacks.

RSA primitive: the RSA we have described. also called plain RSA or textbook RSA•i

Encryption: ( ) RSA( ) ( ) mod ,

where is a random string.

Thus, Padded-RSA( ) RSA( ) for some random .

Secure against many of aforementioned attacks.

Theorem: Padd

Padded RSAe

pkE m r m r m n

r

m r m r

=•

=

=

( )ed RSA is CPA-secure if log .

Padded RSA is adopted in PKCS #1 v.1.5.

m O n

=

PKCS: ublic ey ryptography tandard. Let ( , , ) give a pair of RSA keys. Say bytes (e.g., 216). First byte 00. To encrypt a message :

pad so

P K C S

Padded RSA as in PKCS #1 v.1.5

n e dn

mk

m

k= = ≠

••

•i

( ) ( )

that 00 02 00 ( bytes) where 8 or more random bytes 00. original message must be 11 bytes.

the ciphertext is : RSA mod . In 1998, Bleichenbacher published

e

m r kr

m k

c m

m

m n

′ == ≠

≤ −

′= =

ii

ia chosen-ciphertext

attack, forcing RSA to upgrade its PKCS #1, now using OAEP.

Message padding: instead of encrypting directly, we encrypt , where is a random bit string. As such, however, there is a 50% overhead.

So, we wish to use a shor

OAEP: basic ideam

m r r r•

⊕•

ter bit string . Besides, should be protected, too. This leads to a scheme called Optimal Asy

can be appmmetrilie

c Encryption Padding ( ). It not only to RS

dto ot

OAEPher trapdoo r A but

rr•

functions.

Choose , ( ) s.t. = . ( , RSA modulus).

:{0,1} {0,1} , a pseudorandom generator. :{0,1} {0,1} , a hash function.

To encrypt a block of bits : 1. choose a

Encryption. rand

OAEP

k l

l k

k l k l k l n n

Gh

m l

+

om bit string {0,1} . 2. encode as : ( ( ) ( ( ))) (if , the message space of RSA, return to step 1). 3. compute the ciphertext : ( ).

: ( ) . Decryption:

k

n

pk

sk

rm x m G r r h m G r

x Zy E x

x D y a b

∈= ⊕ ⊕

= =•

⊕∉

=

( )( ) .m a G b h a= ⊕ ⊕

OAEP is adopted in current RSA PKCS #1 (v. 2.1). It is a scheme, not an encryption scheme. Intuitively, with OAEP, the ciphertext should not reveal any

informatio

p

n ab

adding

o

Remarks on OAEP•••

ut the plaintext if RSA is one-way and and are A slightly more complicated version of OAEP, in which

( ( ) ( ( ))), has been p

truely random (random or

0 0

c es

r

a l ).

k k

h G

x m G r r h m G r′ ′⊕ ⊕

= ⊕oved CCA-secure in the model

(i.e., if , are random oracles.)

In practice, hash functions such as SHA-1 are

ran

us

dom orac

ed for ,

le

.

G h

G h•

( )

( ) 2

( ) 2

A random oracle is a random function :{0,1} {0,1} .

Recall: there are 2 such functions. Each random oracle is a black box that implements one

of the 2 random

Random Oracle

n

n

n l n

l n

l n

f⋅

••

→•

0

0

0

0

functions, say .

The 2 values of are totally independent and random. The only way to know the value of ( ) is to explicitly

evaluate at (i.e., to ask the oracle). No practical

n

f

ff x

f x

••

• /feasible way to implement a random oracle. Infeasible: use a trusted authority. Infeasible: use a ( ) 2 -bit dis .

k nl n ⋅

ii

31

Cryptosystems Based on Discrete Logarithms

32

Outline

• Discrete Logarithm Problem• Diffie-Hellman key agreement• ElGamal encryption

33

{ }0 1 2 | | 1

A group is if there is an element of order | |.

In this case, , , , , ; is called a generator.

If ( , ) be a finite gr

cycl

oup

(n

ic

ot n

Discrete logarithm problem (DLP)

G

G G G

G

G

α

α α α α α−

=

{ }0 1 2 1

ecessarily cyclic) and an element of order , then

, , , , is a cyclic (sub)group of order .

For any , there is a unique such that . This integer is called the

d

n

xn

G n

n

y x Z yx

α

α α α α α

α α

=

∈ ∈ =•

iscrete logarithm (or index) of with respect to base . We write log .

The DLP is to compute log for a given .

yy x

y yα

α

α•

=

34

{ }

{ }

* 0 1 2 2

*

* 0 1 2 1 *

*

. , , , , ,

where is a large prime, and is a generator of . ( is cyclic when is prime.)

. , , , , ,

where

Frequently used settings p

p

p

qp p

p

G Z G

p GZ p

G Z Z

Z

α α α α α

α

α α α α α

α

• = = =

• = = ⊂

is an element of prime order .

For these settings, there is no polynomial-time algorithm for DLP.

q

35

*19

*19

0 1 2 3 4 5

6 7

2

2

2

{1, 2, ..., 18}.

2 is a generator. That is, 2 .

2 1, 2 2, 2 4, 2 8, 2 16, 2 13, 2 7, 2 14, log 7 6log 14 7log 12 ?

Example 1

G Z

Z

= =

=

= = = = = =

= ====

36

{ }

{ }

*11

*11

3

3

1, 2, , 10 .

3 = 1, 3, 9, 5, 4

3 is a generator of , but not a generator of .log 5 3log 10 not defined

Example 2

G Z

G

G Z

= =

′ =

==

37

{ } { }{ }

0 1 2

*

*

1

*1

*

2

Let be a generator of (a primitive root of unity modulo ).

Z 1, 2, , 1 , , , , .

, , , , .

Given , find the uni

0 1 2 2

que such that m

DLP in

p

p

p

p

p

xp p

p

Z p

p

Z

y Z x Z y

Z

α

α α α α

α−

= − =

=

∈ =

… …

( )( )

*

lo

*

g

od .

That is, given , find .

There is a subexponential-time algorithm for DLP in

Index Calculus, 2 , where log .

p

O

p

n n

x

p

Z

O

x

n p

Z

α• ∈

=i

38

( )

1

1

RSA

RSA

RSA

RSA is a one-way function: (easy)

(difficult)

trapdo

( is a trapdoor)

Logar

or

RSA vs. Discrete Logarithm

e

e

de

x x

x x

x x d

⎯⎯⎯→

←⎯⎯⎯

←⎯⎯⎯

•exp

log

ithm is the inverse of exponetiation: (easy) (difficult) log is hard to compute, so exp is a one-way function,

but without a trapd

x

x

xx

α

α

α

α

⎯⎯⎯→

←⎯⎯⎯•

. An encryption scheme based on the difficu

oor

nolty of log

will simply encrypt as .t xx α

39

{ } { }

0* 2 21

1 Z , , , , . , , , , .

Alice and Bob wish to set up a key. 1. Alice and Bob agree on a large prime and a primitive

0 1

root

2 2

secret

Diffie-Hellman key agreement

p pp

p

pZα α α α −−• = =

−… …

*

R 1

R 1

(generator) Z . ( )

2. Alice Bob: mod , where .

3. Alice Bob: mod , where .

4. They agree on the key: mod . Diffie-Hellman problem: given ,

, , not se ret

cp

ap

bp

ab

a b

p a Z

p b Z

p

α

α

α

α

α α

→ ←

← ←

• * , compute .

Diffie-Hellman assumption: the Diffie-Hellman problem is intractable.

abpZ α∈

40

*

*

0. Bob is to send a message to Alice, who has private key and public key : .

1. Regard as an element in Z .

2. Use Diffie-Hellman to set up a temp

Ideas behind ElGamal encryption in

x

p

p

mx y

m

Z

α=

( )

orary key. Bob generates and computes ( ).

3. Bob uses this key to encrypt as .

4. Bob sends along with so that Alice can compute .

That is, ( ) ,

k xk

k

k k xk

k k

k y

m m y

m y

E m m y

α

α α

α

=

= ⋅

i

41

*

*

1

1. Key generation (e.g. for Alice): choose a large prime and a primitive root Z ,

where 1 has a large prime factor. randomly choose a number a

ElGamal encryption in p

p

p

p

px Z

Z

α

• ∈

• ∈

*R 1

*

nd compute ;

set ( , , ) and ( , , ).2. Encryption: ( ) ( , ), where Z , .

3. Decryption: ( , ) .

4. Remarks: All operations are done in Z , . ., modulo .

x

k kpk p p

xsk

p

y

p pE m my m k Z

D a b ba

i e

sk x pk y

p

α

α α

α −

=

• = =

= ∈ ←

=

The encryption scheme non-deterministiis c.

42

Based on the Diffie-Hellman assumption. Diffie-Hellman problem discrete logarithm problem. Open problem: discrete logarithm Diffie-Hellman

?

Theorem:

Security of ElGamal encryption against CPA•• ≤• ≤

If the Diffie-Hellman assumption is true, then the ElGamal encryption scheme is CPA-secure.

43

A function : is if ( ) ( ) ( ).

ElGamal encryption is h ( ) ( ) ( ), in the following sense:

If ( )

homo

om

morph

omorphic,

,

ic

Security of ElGamal encryption against CCA

k

f G G f xy f x f y

E mm E m E m

E m α

′• → =

′ ′• = ⋅

= ( ) ( )( ) ( ) ( ) ( )

and ( ) , , then ( ) ( )

= , , , ,

is a valid encryption of .

As such, ElGamal encryption is (i.e., no

not CCA-secure t indisting

k k k

k k k k k k k kk k k k

my E m m y E m E m

my m y m mm

mm

y m y y

α

α α α α α ′ ′+ +

′ ′

′ ′ ′ ′

′ ′ ′= ⋅

′ ′⋅ = =

uishable against CCA).

Symmetric vs. Asymmetric

• Symmetric encryptions are much faster than asymmetric ones.– AES is typically 100 times faster than RSA

encryption, and1000 times faster than RSA decryption.

• Use asymmetric cipher to set up a session key and then use symmetric cipher to encrypt data.

Security Issues

What does it mean that an encryption scheme is secure (or insecure)?

• Semantic security• Ciphertext-indistinguishability• Non-malleability

46

Consider ciphertext-only attacks; i.e., the adversary is an eavesdropper.

Several op

tions An encryption scheme is if giHow to define security?

ven a c

: ecu s re

Different levels of security•

(1) (2) (3)

iphertext ( ), no adversary can find the secret key find the plaintext find any character of the plaintext find any meaningful information about the plaintext

(4)

kc E mk

m

=

find any information about the plaintext. We will adopt (and formalize) , which is called

and seems to indicat th#5 semantic

sec e highest level o

f

(5

seuri curt

.

)

y ity•

47

Different types of attackers• Different types of attacks (classified by the

amount of information that may be obtained by the attacker):– Ciphertext-only attack

– Known-plaintext attack

– Chosen-plaintext attack (CPA)

– Chosen-ciphertext attack (CCA)

48

The security of an encryption scheme typically depends on its key length. Is RSA secure if 216, 512, or 1024?

In general, an encryption scheme is associate

d with an

Security Parameter

n

=i

integer called its (For now, you may think of it as .)

When probability Pr( ) of an encr

security parameter. key lengt

yption scheme being broken

we say that the is negligible, it .

h

is w rn•

.t. the encryption scheme'security param

s eter.

49

0

0

A nonegative function : is said to be if for every positive polynomial ( ), there is an integer such that

1

negligible

( ) for all (i( )

.

Negligible functionsf N R

P nn

f n n nP n

< >

log

e., for sufficiently large ).

Examples: 2 , 2 , are negligible functions.

Negligible functions approach zero faster than the reciprocal of polynomial. We wri

everynegl( )te to d

n n n

n

n

n

− − −•

• enote an unspecified negligible function.

50

* Message space: {0,1} . Key generation algorithm : On input 1 , (1 ) outputs

a key {0,1} . ( {0,1} ; and is the security parameter.) Encryption a

lg

o

Symmetric-key encryption scheme

n n

n n

MG G

k K n•

=

rithm : On input a key and a plaintext , outputs a ciphertext . We write ( , ) or ( ).

Decryption algorithm : On input a key and a ciphertext , outputs a messag

e

k

E km M E c c E k m

c E mD k c

D

∈ ←

( )

. We write : ( , ) or : ( ). Correctness requirement: for each and ,

( ) . , are polynomial probabilistic algorithms. is determin is

tic.

k

k k

m m D k c m D ck K m M

D E m mG E D

=

=

=

51

Informally, an encryption scheme is if whatever an adversary with can learn about , one can learn equally well without . A private-key encrypt

semantically secure( )

Semantic Security

mcc

E m

=•

ion scheme ( , , ) with security parameter is against an eavesdropper if for every probabilistic polynomial-time (PPT) algorithm there exists a

sem

PPT such that for

antically secure

a

G E Dn

A A′

( )( )

ll polynomial-time computable functions and , there exists a negligible function such that:

Pr : (1 ), {0,1}

1 , , ( ) ( )

1 , ( ) ( )

( )

Pr : {0,1}

||

n nk

n n

n

f h

A h m f m

A h m f

negl

k G m

m

E m

m

⎡ ⎤= ← ←⎣ ⎦

⎡ ⎤− = ←⎣ ⎦′ negl( ).n≤

52

Adversary: a eavesdropper. ( , , ) : an encryption scheme with security parameter . Imagine a game played by Bob and Eve (adversary)

polynomial-ti

: Eve

me

i

Ciphertext-Indistinguishability

G E D n•••

i 0 1

0 1

s given input 1 and outputs a pair of messages , .

Bob chooses a key (1 ) and { , }. He computes ( ) and gives to Eve.

Eve tries to det

of the same

leng

h

rm

t

e

n

nu

k

m m

k G m m mc E m c

← ←

i

i 0 1

ciphertext-indistinguishable against eavesd

ine whether is the encryption of or . An encryption scheme is

if no adversary can succeed with probability non-negligibly g

rr

eater thanoppers

c m m•

1 2.

53

0 10 1

0 1 0 1

An encryption scheme is

if for every PPT algorithm and a

Definit ciphertext-indistinguishable again

ll , , , it holds:

Pr (1

st eavesdrop

, , , ( )) :

perion:

{ , },

s

nk u

A m m M

A m m E m m m m

m

m

m

= ←

=∈

(1 )

1 negl( )2

nk G

n

⎡ ⎤←⎣ ⎦

≤ +

54

Against an eavesdropper, an encryption scheme

Theorem is semantical

ly secure iff it is ciphertext-indisti

ngu

:i

Equivalence of semantic security and ciphertext-indistinguishability

•shable.

Under CPA, CCA1 or CCA2, an encryption scheme is semantically secure if and only if it is ciphertext-indistin

Theor

guish

em

a .

:

ble

55

1 1 2 2 1 2

In CSE 651 we described CPA as follows:

Given : ( , ), ( , ), , ( , ), where , , , are chosen by the adversary; and a new ciphertext .

Chosen-plaintext attacks (CPA)

t t tm c m c m c m m mc

… …i

1 2

Q : what is the plaintext of ?

Adaptively-chosen-plaintext attack : , , , are chosen adaptively.

Now we describe CPA in terms of oracle.

t

c

m m m•

i

56

1. A ke

A CPA on an encryption scheme ( , , ) is modeled as fo

y (1 ) is generated.2. The adversary is given input 1 and oracle access to . She

llow

may request

s.

Chosen-plaintext attacks (CPA)

n

nk

k GE

G E D

0 1 0 1

the oracle to encrypt plaintexts of her choice. 3. The adversary chooses two message , with ; and is given a challenge ciphertext ( ), where {0,1}.4. The adversary continues to hav

k b u

m m m mc E m b

=

← ←

0 1

e oracle access and may request the encryptions of additional plaintexts of her choice, even and .5. The adversary finally answers 0 or 1.

Note: The CPA here actually refers to an adaptive CPA

m m

.

57

polynomia An encryption scheme ( , , ) is IND-CPA if no

adversary can answer correctly with probability n

l-timon-negligibly greater than 1 2.

Defi

e

Ciphertext-indistinguishability against CPAG E D•

( )0 1 0 1

nition: an encryption scheme ( , , ) is IND-CPA if for ever polynomial adversary it holds that:

Pr 1 , , , ( ) : (1 ), { , },

| k n nk u

E m m

G E DA

A m m E k G m m m⎡ = ← ←⎣

]0 1 , 1 negl( )2

|Am m M

n

≤ +

58

1 1 2 2 1 2

In CSE 651 we also described CCA as follows:

Given : ( , ), ( , ), , ( , ), where , , , are chosen by the adversary; and a new ciphertext

Chosen-ciphertext attacks (CCA)

t t tm c m c m c c c c

… …i

1 2

. Q : what is the plaintext of ?

Adaptively-chosen-ciphertext attack : , , , are chosen adaptively.

Now we describe CCA in terms of oracle.

We will allow a CCA adversary to al

t

cc

c c c•

i

so have CPA capability. (So, combined CCA+CPA, rather than pure CCA.)

59

1. A key

A CCA on an encryption scheme ( , , ) is modeled as f

(1 ) is generated.2. The adversary is given input 1 and oracle access to and . S

ol

he

low .

ay

s

m

Chosen-ciphertext attacks (CCA)

n

nk k

k GE D

G E D

0 1 0 1

request the oracles to perform encryptions and/or decryptions for her.3. The adversary chooses two message , with ; and is given a challenge ciphertext ( ), where {0,1}.4. The

k b u

m m m mc E m b

=

← ← adversary continues to have oracle access to and , but

is not allowed to request the decryption of .5. The adversary finally answers 0 or 1.

k k

cE D

60

The CCA described above is also called CCA2.

If in item #4 the adversary has no access to the decryption oracle, the CCA is called CCA

1.

CCA1 vs. CCA2•

61

polynomia An encryption scheme ( , , ) is IND-CCA if no

adversary can answer correctly with probability n

l-timon-negligibly greater than 1 2.

Defi

e

Ciphertext-indistinguishability against CCAG E D•

( )

0 1,

1 0

nition: an encryption scheme ( , , ) is IND-CCA if for ever polynomial-time adversary , it holds that:

Pr 1 , , , ( ) : (1 ), { , },

| k k n nk u

E D m m

G E DA

A m m E k G m m m⎡ = ← ←⎣

]0 1 , 1 negl( )2

|Am m M

n

≤ +

62

An encryption scheme ( , , ) is if given a ciphertext ( ), it is computationally infeasible for an adversary to produce

non-ma

a cip

lleabl

hertext

e

such

that (

Non-malleabilityG E D

c E mc

m D c

=′

′ ′=

) has some known relation with .

RSA is malleable.

IND-CCA2 non-malleable.

Later we will see that every homomorphic encryption scheme is malleable, and hence cannot be IND-CCA2.

Highes t s

m

ecurity level possible: IND-CCA1. (?)

Homomorphic Encryption

Fontaine and Galand, “A survey of homomorphic encryption for nonspecialists,” EURASIP Journal on Information Security, 2007.

( )

1 2 1 2*

1 2 1 2

1 1

2 2

1

RSA( ) RSA( ) RSA( )

where is the multiplication in (i.e., modulo ).

Easy to ver

ify:

RSA( )

RSA( )

RSA( )

RSA( )

RS

RSA is homomorphic

n

e

e

e

m m m m

Z n

m m m m

m m

m m

m

⋅ = ⋅

⋅ = ⋅

=

=

i

ii

i ( )2 1 2 1 2A( ) ee em m m m m= ⋅ = ⋅

: message space: ciphertext space

: some binary operation in : some binary operation in

An encryption scheme is if for any encryDefinit hom

ptionion:

key omorphic

Homomorphic encryption

M

C

MC

MC

k

1 2 1 2

1 2

the encryption function satisfies ( ) ( ) ( )for all messages , .

applicable only to deterministic encryption schemeComment: s.

M C

EE m m E m E m

m m M=

66

( ) ( )1 1 2 2

1 2 1 2

1 2

1

1 2

1 2 2

a

( ) ( ) ( ), in the following sense:

( ) ( ) is valid encryption of .

Verification:

If ( ) , and ( ) , , then

(

ElGamal encryption is homomorphic

k k k k

m m

E m m E m E m

E m E m

E m g m y E m g m y

E m

• ⋅ ← ⋅

= =

( ) ( )( )

1 1 2 2

1 2 1 2

1

1

2 1 2

2

) ( ) , ,

,

is a encryption of .

n

k k k k

k k k k

E m g m y g m y

g ym m

mm

+ +

⋅ = ⋅

=

: message space: ciphertext space

: some binary operation in : some binary operation in

An encryption scheme is Definition if forhomo any

:

morphicencrypt

Homomorphic encryption redefined

M

C

MC

MC

1 2 1 2

1 2

ion key the encryption function satisfies ( ) ( ) ( )for all messages , .

a means " encryption can be computed fromComm "ent: n

M C

k EE m m E m E m

m m M←

( )1 2 1 2

1 2

An encryption scheme is ifits encryption and decryption satisfy ( ) ( )for all messages , and all encryption/decrypt

Definition: homomorp

i

hic

on

An equivalent definition

M C

E Dm m D E m E m

m m M=

∈key pairs.

( )

( )( )

1

1 21 2

1 22

An encryption scheme is w.r.t if there is a polynomial time algorithm such tha

homomort

( )or

fo

Defi phic

( ), ( )

( ), ( )

nition:

r

A generalized definition

M

M

M

A

E m m

m m

A E m E m

A E m E mD

=

1 2all messages , and all encryption/decryptionkey pairs.

How to further Question: generalize it?

m m M∈

An encryption scheme is

homomorphic if it is homomor additively multipli

phic w.r.t homomorphic if it iscatively

alg homomorphic w.r.t

ebraicly mo

homo

Various homomorphic encryptions

M

M

+

⋅iii rphic if it is homomorphic w.r.t both

and

RSA and ElGamal are homomorphic.

Padded RSA and OAEP-RSA are homomorphic.

RSA is not

m

ultiplicatively

n

IND-CPA secure; ElGamal is

ot

.

M M+

( )( )Now, encrypt as ( ) ,

ElGamal encryption can be made additively homomorphic.

Original ElGamal: ( ) , .

, where , are

generator

s of

Additively homomorphic ElGamal encryption

k k

k k

mm c E m g h y

E m g my

g h= =•

• =

*

DL ElGamal decryption

1 2 1 2

Descrypting takes two steps:

.

( ) ( ) ( ).

p

m

c

h

Z

m c

E m m E m E m

←⎯⎯ ←⎯⎯⎯⎯⎯⎯

+ ← ⋅•

( )

A simple application To vote yes or no, encode a yes-vote as 1 and a no-vote as 1.

Encrypt as , .

Send the encrypted vote to a trusted party.

k m k

mm

m c g h y

c

=

=

= −

i

i

i{ }

( )

1 2 3

1 1

1 1 1

All votes: , , , ,

, mod ( 1)

(why?) mod ( 1)

i i i

k

i

k

k kk m k

i ii i

k k

i ii i i

c c c c

c g h y E m p

D c m p m=

= =

= =

⎛ ⎞∑ ∑ ∑= ⋅ → −⎜ ⎟⎝ ⎠

⎛ ⎞ = −⎜ ⎟⎝

=⎠

∏ ∑

∏ ∑ ∑

i

i

i

Alice is worth millions, and Bob millions. Q: ?

Two millionnairs, Alice and Bob, want to know who is richer without revealing their actual wealth.

Initially

s

Yao's Millionaire Problem

a b a b<•

Multiparty Computation

uggested and solved by Andrew Yao in 1982.

Later latergeneralized to a problem called .

Would be trivial if there is a secure encryption scheme that is homomorphic w.r "

.t.

( )( )1 2 1 2

<", namely,

( ), ( )

m m D A E m E m< ←

{ }

*

*

* *

Let 2 be any number . Quadratic residues: elements in which are a square.

QR = the subgroup of quadratic residues in .

QNR = QR = quadratic non-residues in .

Quadratic Residues

n

n n

n n n n

nZ

Z

Z Z

• ≥

• −

( )

( )( ) ( ) ( )

( 1)/2

1 if [ ] QR ( is a square)1 if [ ] QNR (not a square) Legendre symbol:

0 if [ ] 0

Euler's criterion: mod .

Jacobi symbol: , assuming .

p

p

p

xp

xp

x x xn p q

x xx

x

x p

n pq

+ ∈⎧⎪− ∈• = ⎨⎪ =⎩

• =

• = =

( ) ( ) ( )( ) ( )

( )( )

*

*

Thus, 1 iff 1.

is a quadratic residue in iff 1.

QR QNR QR QNR QNR .

If 1, then QNR .

If 1, QR QN Quadratic resi

R .

Quadratic Residues (cont'd)

x xn p q

n n n n n n

n

n n

xn

x xp q

xnxn

x Z

Z

x

x

+ −

+

• = = = ±

• = =

• = ∪ = ∪ ∪

• = − ∈

• = ∈ ∪

( )*

Given with 1, it is intractable to determine

whether QR or QNR without knowing .

Knowin

duosity

g , easy to determine if QR or QNR

assumption:

.

n

n n

n n

xnx Z

x x n pq

n pq x

+

+

∈ =

∈ ∈ =

• = ∈

{ } First probabilistic encryption scheme. Encrypt one bit 0,1 at a time. Encrypt 0 as a random number in QR .

Encrypt 1 as a random number

Goldwasser-Micali encryption scheme (idea)

n

bb

b

=

=

( ) ( )

in QNR . To decrypt ( ), simply determine if QR

(i.e., 1?)

n

n

c cp q

c E b c

+

=

=

• ∈

=

1R

2 *R

System setup: Alice chooses and QNR . Public key: ( , ). Private key: ( , ) Encryption: ( ) , where . Note: ( ) is a

Goldwasser-Micali encryption scheme

n

bn

n pq gn g p qE b g r r Z

E b

+= ∈

=

••

∈ quadratic residue iff 0.

To decrypt ( ), simply determine if QR .

Drawback: it takes =1024 bits to encrypt a single bit. This scheme has an expansion of 1024.

n

bc E b c

n

== ∈•

0 1

Idea of Goldwasser-Micali: Take a group and a subgroup . Partition into two parts: and \ . Randomly select an element in to e

Reducing the expansion

b

G HG M H M G H

M= =

•iii

{ }

ncrypt . To generalize, choose and such that can be split into more parts. Benaloh: small prime; ( ) , 0, 1 ;

expansion: . Okamoto & Uchiya

m k

bG H G

k E m g r m k

n k

= = ∈ −

2

1

*

*

ma: reduced the expansion to 3. Paillier: reduced the expansion to 2 using group .

Damgard & Jurik: generalized Paillier's scheme using group , with expansion 1 1/ .s

n

n

Z

Z s+

+

( ){ }

2*

2

2

2

One of the most well-known homomorphic encryption. , where .

( ).

: is an th residue mod .

mod for some .

Paillier's encryption scheme

n

n

G Z n pq

G n n n

H z G z n n

z y n y G

ϕ ϕ

= =

= =

= ∈

= ∈

i

i is a subgroup and ( ). Use to divide into classes. Let be any element with order a multiple of .

H H nH G ng G n

ϕ•

=

• ∈

i

( )

( ) { }

2

2

* *

2

*

* *

Define :

, mod Theorem: is bijective. Each defines a class in , namely,

, ( , ) :

Encryption:

n n nx n

n n

n n

f Z Z Z

x y g y nf

x Z Z

f x Z f x y y Z

× →

=

*

2

plaintext

select a random

ciphertext mod additively homomorphic

n

nm n

m Z

r Z

c g r n

=

iiii

( )( )

2*

( ) 2

( ) 2

Decryption: (private key: or ( )) ciphertext

mod plaintext mod

mod

where ( ) ( 1) / ( ) is the Carmichael function, i.e

n

n

n

n pq nc Z

L c nm n

L g n

L u u nn

λ

λ

λ

λ

=

⎡ ⎤⎢ ⎥=⎢ ⎥⎣ ⎦

= −

i

i

ii

( ) *

., the smallest integer such that 1mod for all . For , ( ) lcm( 1, 1). (In RSA, ( ) can be used in place of ( ).)

nna n a Z

n pq n p qn n

λ

λλ ϕ

≡ ∈= = − −i

i

2*

2

Security: Assumption: Without knowing , it is intractable to determine if an element is an th residue

modulo . If this assumption holds, Paillier

n

n pqz Z n

n

=

•i

i

0 1

0

0 1

2 20 1

0

's encryption scheme is semantically secure under CPA.

Let be the ciphertext o f either or .

So, either m orod

mod .

So,

m mn n

m

c m m

c g r n g r n

cg r−

=

=

iii 1 0

0

2 21

02

mod mod .

is the ciphertext of iff is an th residue

modulo .

o

r m mn n

m

n g r n

c m cg n

n

−i

Question: In the above argument, which problem is reduced to which problem?

i

( )( )( )2 2

2 *R

21 2 1 2

2

21 1

Additively homomorphic on :

Recall: ( ) mod , , .

( ) ( ) mod mod .

( ) mod mod .

( ) mod mod .

n

m nn n

k k

m m

Z

E m g r n m Z r Z

D E m E m n m m n

D E m n m n

D E m n m n

= ∈ ∈

= +

=

=

i

i

i

i

2

A simple application To vote yes or no, encode a yes vote as 1 and a no vote as 1. Encrypt as mod . Send the encrypted vote to a trusted party.

m n

mm

m c g r nc

=−

=

=i

ii

{ }

1

1 2 3

2

11

All votes: , , , ,

(wh mod mod y?)

k

k k

i

k

i ii

ii

c c c c

D c n m n m== =

⎛ ⎞=⎜ ⎟

⎝ ⎠⇒∏ ∑∑i

…i

At STOC'09, Craig Gentry presented a fully homomorphic encryption scheme. A homomorphic public-key encryption scheme has four algorithms: KeyGen, E

Fully homomorphic encryption

S

1

1

ncrypt, Decrypt, Evaluate. : a circuit. is homomorphic for if for any key pair (sk, pk) output by KeyGen, any plaintext , , , and any ciphertext , , with Encrypt( )

t

t i i

CS C

π πψ ψ ψ π=

••

……

( )( )1 1

, it holds that:

( , , ) Decrypt Evaluate , , , .

is if it is homomorphic for all circfully homomorp uihic ts.t tC C

S

π π ψ ψ=

… …

Applications

– Protection of mobile agents– Watermarking/fingerprinting protocols– Electronic auction and lottery protocols– Multiparty computation– Oblivious transfer– Privacy preserving data mining– Others