Public-Key Cryptography Public-Key Cryptography Lecture 9 - - PowerPoint PPT Presentation

public key cryptography public key cryptography
SMART_READER_LITE
LIVE PREVIEW

Public-Key Cryptography Public-Key Cryptography Lecture 9 - - PowerPoint PPT Presentation

Public-Key Cryptography Public-Key Cryptography Lecture 9 Public-Key Cryptography Lecture 9 El Gamal Encryption Public-Key Cryptography Lecture 9 El Gamal Encryption Public-Key Encryption from Trapdoor OWP Public-Key Cryptography Lecture


slide-1
SLIDE 1

Public-Key Cryptography

slide-2
SLIDE 2

Public-Key Cryptography

Lecture 9

slide-3
SLIDE 3

Public-Key Cryptography

Lecture 9 El Gamal Encryption

slide-4
SLIDE 4

Public-Key Cryptography

Lecture 9 El Gamal Encryption Public-Key Encryption from Trapdoor OWP

slide-5
SLIDE 5

Public-Key Cryptography

Lecture 9 El Gamal Encryption Public-Key Encryption from Trapdoor OWP CCA Security

slide-6
SLIDE 6

El Gamal Encryption

slide-7
SLIDE 7

El Gamal Encryption

Based on DH key-exchange

slide-8
SLIDE 8

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange

slide-9
SLIDE 9

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange

Random x X X=gx K=Yx K=Xy Random y Y Y=gy

slide-10
SLIDE 10

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad

Random x X X=gx K=Yx K=Xy Random y Y Y=gy

slide-11
SLIDE 11

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy

slide-12
SLIDE 12

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C

slide-13
SLIDE 13

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

slide-14
SLIDE 14

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad Bob’ s “message” in the key- exchange is his PK

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

slide-15
SLIDE 15

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad Bob’ s “message” in the key- exchange is his PK Alice’ s message in the key- exchange and the ciphertext of the one-time pad together form a single ciphertext

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

slide-16
SLIDE 16

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad Bob’ s “message” in the key- exchange is his PK Alice’ s message in the key- exchange and the ciphertext of the one-time pad together form a single ciphertext

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y)

slide-17
SLIDE 17

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad Bob’ s “message” in the key- exchange is his PK Alice’ s message in the key- exchange and the ciphertext of the one-time pad together form a single ciphertext

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx)

slide-18
SLIDE 18

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad Bob’ s “message” in the key- exchange is his PK Alice’ s message in the key- exchange and the ciphertext of the one-time pad together form a single ciphertext

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y

slide-19
SLIDE 19

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad Bob’ s “message” in the key- exchange is his PK Alice’ s message in the key- exchange and the ciphertext of the one-time pad together form a single ciphertext

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y

  • KeyGen uses GroupGen to get (G,g)
slide-20
SLIDE 20

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad Bob’ s “message” in the key- exchange is his PK Alice’ s message in the key- exchange and the ciphertext of the one-time pad together form a single ciphertext

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y

  • KeyGen uses GroupGen to get (G,g)
  • x, y uniform from [|G|]
slide-21
SLIDE 21

El Gamal Encryption

Based on DH key-exchange Alice, Bob generate a key using DH key-exchange Then use it as a one-time pad Bob’ s “message” in the key- exchange is his PK Alice’ s message in the key- exchange and the ciphertext of the one-time pad together form a single ciphertext

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y

  • KeyGen uses GroupGen to get (G,g)
  • x, y uniform from [|G|]
  • Message encoded into group element, and

decoded

slide-22
SLIDE 22

Security of El Gamal

slide-23
SLIDE 23

Security of El Gamal

El Gamal IND-CPA secure if DDH holds (for the collection of groups used)

slide-24
SLIDE 24

Security of El Gamal

El Gamal IND-CPA secure if DDH holds (for the collection of groups used) Construct a DDH adversary A * given an IND-CPA adversary A

slide-25
SLIDE 25

Security of El Gamal

El Gamal IND-CPA secure if DDH holds (for the collection of groups used) Construct a DDH adversary A * given an IND-CPA adversary A A *(G,g; gx,gy,gz) (where (G,g) ← GroupGen, x,y random and z=xy or random) plays the IND-CPA experiment with A:

slide-26
SLIDE 26

Security of El Gamal

El Gamal IND-CPA secure if DDH holds (for the collection of groups used) Construct a DDH adversary A * given an IND-CPA adversary A A *(G,g; gx,gy,gz) (where (G,g) ← GroupGen, x,y random and z=xy or random) plays the IND-CPA experiment with A: But sets PK=(G,g,gy) and Enc(Mb)=(gx,Mbgz)

slide-27
SLIDE 27

Security of El Gamal

El Gamal IND-CPA secure if DDH holds (for the collection of groups used) Construct a DDH adversary A * given an IND-CPA adversary A A *(G,g; gx,gy,gz) (where (G,g) ← GroupGen, x,y random and z=xy or random) plays the IND-CPA experiment with A: But sets PK=(G,g,gy) and Enc(Mb)=(gx,Mbgz) Outputs 1 if experiment outputs 1 (i.e. if b=b’)

slide-28
SLIDE 28

Security of El Gamal

El Gamal IND-CPA secure if DDH holds (for the collection of groups used) Construct a DDH adversary A * given an IND-CPA adversary A A *(G,g; gx,gy,gz) (where (G,g) ← GroupGen, x,y random and z=xy or random) plays the IND-CPA experiment with A: But sets PK=(G,g,gy) and Enc(Mb)=(gx,Mbgz) Outputs 1 if experiment outputs 1 (i.e. if b=b’) When z=random, A * outputs 1 with probability = 1/2

slide-29
SLIDE 29

Security of El Gamal

El Gamal IND-CPA secure if DDH holds (for the collection of groups used) Construct a DDH adversary A * given an IND-CPA adversary A A *(G,g; gx,gy,gz) (where (G,g) ← GroupGen, x,y random and z=xy or random) plays the IND-CPA experiment with A: But sets PK=(G,g,gy) and Enc(Mb)=(gx,Mbgz) Outputs 1 if experiment outputs 1 (i.e. if b=b’) When z=random, A * outputs 1 with probability = 1/2 When z=xy, exactly IND-CPA experiment: A * outputs 1 with probability = 1/2 + advantage of A.

slide-30
SLIDE 30

Abstracting El Gamal

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y

slide-31
SLIDE 31

Abstracting El Gamal

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y

slide-32
SLIDE 32

Abstracting El Gamal

Trapdoor PRG:

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y

slide-33
SLIDE 33

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK)

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK)

slide-34
SLIDE 34

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK) Three functions: GPK(.) (a PRG) and TPK(.) (make trapdoor info) and RSK(.) (opening the trapdoor)

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK)

slide-35
SLIDE 35

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK) Three functions: GPK(.) (a PRG) and TPK(.) (make trapdoor info) and RSK(.) (opening the trapdoor)

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK) EncPK(M) = (X=TPK(x), C=M.GPK(x))

slide-36
SLIDE 36

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK) Three functions: GPK(.) (a PRG) and TPK(.) (make trapdoor info) and RSK(.) (opening the trapdoor)

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK) EncPK(M) = (X=TPK(x), C=M.GPK(x)) DecSK(X,C) = C/RSK(TPK(x))

slide-37
SLIDE 37

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK) Three functions: GPK(.) (a PRG) and TPK(.) (make trapdoor info) and RSK(.) (opening the trapdoor) GPK(x) is pseudorandom even given TPK(x) and PK

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK) EncPK(M) = (X=TPK(x), C=M.GPK(x)) DecSK(X,C) = C/RSK(TPK(x))

slide-38
SLIDE 38

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK) Three functions: GPK(.) (a PRG) and TPK(.) (make trapdoor info) and RSK(.) (opening the trapdoor) GPK(x) is pseudorandom even given TPK(x) and PK (PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK) EncPK(M) = (X=TPK(x), C=M.GPK(x)) DecSK(X,C) = C/RSK(TPK(x))

slide-39
SLIDE 39

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK) Three functions: GPK(.) (a PRG) and TPK(.) (make trapdoor info) and RSK(.) (opening the trapdoor) GPK(x) is pseudorandom even given TPK(x) and PK (PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r) TPK(x) hides GPK(x). SK opens it.

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK) EncPK(M) = (X=TPK(x), C=M.GPK(x)) DecSK(X,C) = C/RSK(TPK(x))

slide-40
SLIDE 40

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK) Three functions: GPK(.) (a PRG) and TPK(.) (make trapdoor info) and RSK(.) (opening the trapdoor) GPK(x) is pseudorandom even given TPK(x) and PK (PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r) TPK(x) hides GPK(x). SK opens it. RSK(TPK(x)) = GPK(x)

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK) EncPK(M) = (X=TPK(x), C=M.GPK(x)) DecSK(X,C) = C/RSK(TPK(x))

slide-41
SLIDE 41

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK) Three functions: GPK(.) (a PRG) and TPK(.) (make trapdoor info) and RSK(.) (opening the trapdoor) GPK(x) is pseudorandom even given TPK(x) and PK (PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r) TPK(x) hides GPK(x). SK opens it. RSK(TPK(x)) = GPK(x) Enough for an IND-CPA secure PKE scheme

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK) EncPK(M) = (X=TPK(x), C=M.GPK(x)) DecSK(X,C) = C/RSK(TPK(x))

slide-42
SLIDE 42

Abstracting El Gamal

Trapdoor PRG: KeyGen: a pair (PK,SK) Three functions: GPK(.) (a PRG) and TPK(.) (make trapdoor info) and RSK(.) (opening the trapdoor) GPK(x) is pseudorandom even given TPK(x) and PK (PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r) TPK(x) hides GPK(x). SK opens it. RSK(TPK(x)) = GPK(x) Enough for an IND-CPA secure PKE scheme

C=MK Random x X X=gx K=Yx K=Xy Random y Y Y=gy C M=CK-1

KeyGen: PK=(G,g,Y), SK=(G,g,y) Enc(G,g,Y)(M) = (X=gx, C=MYx) Dec(G,g,y)(X,C) = CX-y KeyGen: (PK,SK) EncPK(M) = (X=TPK(x), C=M.GPK(x)) DecSK(X,C) = C/RSK(TPK(x)) (e.g., Security of El Gamal)

slide-43
SLIDE 43

Trapdoor PRG from Generic Assumption?

T

R

x

KeyGen G

z z PK SK

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

slide-44
SLIDE 44

Trapdoor PRG from Generic Assumption?

PRG constructed from OWP (or OWF)

T

R

x

KeyGen G

z z PK SK

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

slide-45
SLIDE 45

Trapdoor PRG from Generic Assumption?

PRG constructed from OWP (or OWF) Allows us to instantiate the construction with several candidates

T

R

x

KeyGen G

z z PK SK

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

slide-46
SLIDE 46

Trapdoor PRG from Generic Assumption?

PRG constructed from OWP (or OWF) Allows us to instantiate the construction with several candidates Is there a similar construction for TPRG from OWP?

T

R

x

KeyGen G

z z PK SK

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

slide-47
SLIDE 47

Trapdoor PRG from Generic Assumption?

PRG constructed from OWP (or OWF) Allows us to instantiate the construction with several candidates Is there a similar construction for TPRG from OWP? Trapdoor property seems fundamentally different: generic OWP does not suffice

T

R

x

KeyGen G

z z PK SK

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

slide-48
SLIDE 48

Trapdoor PRG from Generic Assumption?

PRG constructed from OWP (or OWF) Allows us to instantiate the construction with several candidates Is there a similar construction for TPRG from OWP? Trapdoor property seems fundamentally different: generic OWP does not suffice Will start with “Trapdoor OWP”

T

R

x

KeyGen G

z z PK SK

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

slide-49
SLIDE 49

Trapdoor OWP

slide-50
SLIDE 50

(KeyGen,f,f’) (all PPT) is a trapdoor one- way permutation (TOWP) if

Trapdoor OWP

slide-51
SLIDE 51

(KeyGen,f,f’) (all PPT) is a trapdoor one- way permutation (TOWP) if For all (PK,SK) ←KeyGen

Trapdoor OWP

slide-52
SLIDE 52

(KeyGen,f,f’) (all PPT) is a trapdoor one- way permutation (TOWP) if For all (PK,SK) ←KeyGen fPK a permutation

Trapdoor OWP

slide-53
SLIDE 53

(KeyGen,f,f’) (all PPT) is a trapdoor one- way permutation (TOWP) if For all (PK,SK) ←KeyGen fPK a permutation f’SK is the inverse of fPK

Trapdoor OWP

slide-54
SLIDE 54

(KeyGen,f,f’) (all PPT) is a trapdoor one- way permutation (TOWP) if For all (PK,SK) ←KeyGen fPK a permutation f’SK is the inverse of fPK For all PPT adversary, probability of success in the TOWP experiment is negligible

Trapdoor OWP

slide-55
SLIDE 55

(KeyGen,f,f’) (all PPT) is a trapdoor one- way permutation (TOWP) if For all (PK,SK) ←KeyGen fPK a permutation f’SK is the inverse of fPK For all PPT adversary, probability of success in the TOWP experiment is negligible

(PK,SK)←KeyGen

x←{0,1}k x’ = x? fPK(x),PK x’ Yes/No

Trapdoor OWP

slide-56
SLIDE 56

(KeyGen,f,f’) (all PPT) is a trapdoor one- way permutation (TOWP) if For all (PK,SK) ←KeyGen fPK a permutation f’SK is the inverse of fPK For all PPT adversary, probability of success in the TOWP experiment is negligible

(PK,SK)←KeyGen

x←{0,1}k b’ = BPK(x)? fPK(x),PK b’ Yes/No

Trapdoor OWP

Hardcore predicate: BPK s.t. (PK,fPK(x),BPK(x)) ≈ (PK,fPK(x),r)

slide-57
SLIDE 57

Trapdoor PRG from Trapdoor OWP

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

T

R

x

KeyGen G

z z PK SK

slide-58
SLIDE 58

Same construction as PRG from OWP

Trapdoor PRG from Trapdoor OWP

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

T

R

x

KeyGen G

z z PK SK

slide-59
SLIDE 59

Same construction as PRG from OWP One bit TPRG

Trapdoor PRG from Trapdoor OWP

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

T

R

x

KeyGen G

z z PK SK

slide-60
SLIDE 60

Same construction as PRG from OWP One bit TPRG KeyGen same as TOWP’ s KeyGen

Trapdoor PRG from Trapdoor OWP

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

T

R

x

KeyGen G

z z PK SK

slide-61
SLIDE 61

TPK(x)

GPK(x)

Same construction as PRG from OWP One bit TPRG KeyGen same as TOWP’ s KeyGen GPK(x) := BPK(x). TPK(x) := fPK(x). RsK(y) := GPK(f’SK(y))

Trapdoor PRG from Trapdoor OWP

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r)

fPK BPK

x

T

R

x

KeyGen G

z z PK SK

slide-62
SLIDE 62

TPK(x)

GPK(x)

Same construction as PRG from OWP One bit TPRG KeyGen same as TOWP’ s KeyGen GPK(x) := BPK(x). TPK(x) := fPK(x). RsK(y) := GPK(f’SK(y))

Trapdoor PRG from Trapdoor OWP

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r) (PK,fPK(x),BPK(x)) ≈ (PK,fPK(x),r)

fPK BPK

x

T

R

x

KeyGen G

z z PK SK

slide-63
SLIDE 63

TPK(x)

GPK(x)

Same construction as PRG from OWP One bit TPRG KeyGen same as TOWP’ s KeyGen GPK(x) := BPK(x). TPK(x) := fPK(x). RsK(y) := GPK(f’SK(y)) (SK assumed to contain PK)

Trapdoor PRG from Trapdoor OWP

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r) (PK,fPK(x),BPK(x)) ≈ (PK,fPK(x),r)

fPK BPK

x

T

R

x

KeyGen G

z z PK SK

slide-64
SLIDE 64

TPK(x)

GPK(x)

Same construction as PRG from OWP One bit TPRG KeyGen same as TOWP’ s KeyGen GPK(x) := BPK(x). TPK(x) := fPK(x). RsK(y) := GPK(f’SK(y)) (SK assumed to contain PK) More generally, last permutation

  • utput serves as TPK

Trapdoor PRG from Trapdoor OWP

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r) (PK,fPK(x),BPK(x)) ≈ (PK,fPK(x),r)

fPK BPK

x

T

R

x

KeyGen G

z z PK SK

slide-65
SLIDE 65

TPK(x)

GPK(x)

Same construction as PRG from OWP One bit TPRG KeyGen same as TOWP’ s KeyGen GPK(x) := BPK(x). TPK(x) := fPK(x). RsK(y) := GPK(f’SK(y)) (SK assumed to contain PK) More generally, last permutation

  • utput serves as TPK

Trapdoor PRG from Trapdoor OWP

fPK BPK

...

fPK BPK

GPK(x)

TPK(x)

(PK,TPK(x),GPK(x)) ≈ (PK,TPK(x),r) (PK,fPK(x),BPK(x)) ≈ (PK,fPK(x),r)

fPK BPK

x

T

R

x

KeyGen G

z z PK SK

slide-66
SLIDE 66

Candidate TOWPs

slide-67
SLIDE 67

Candidate TOWPs

From some (candidate) OWP collections, with index as public-key

slide-68
SLIDE 68

Candidate TOWPs

From some (candidate) OWP collections, with index as public-key Recall candidate OWF collections

slide-69
SLIDE 69

Candidate TOWPs

From some (candidate) OWP collections, with index as public-key Recall candidate OWF collections Rabin OWF: fRabin(x; N) = x2 mod N, where N = PQ, and P, Q are k-bit primes (and x uniform from {0...N})

slide-70
SLIDE 70

Candidate TOWPs

From some (candidate) OWP collections, with index as public-key Recall candidate OWF collections Rabin OWF: fRabin(x; N) = x2 mod N, where N = PQ, and P, Q are k-bit primes (and x uniform from {0...N}) Fact: fRabin(.; N) is a permutation among quadratic residues, when P, Q are ≡ 3 (mod 4)

slide-71
SLIDE 71

Candidate TOWPs

From some (candidate) OWP collections, with index as public-key Recall candidate OWF collections Rabin OWF: fRabin(x; N) = x2 mod N, where N = PQ, and P, Q are k-bit primes (and x uniform from {0...N}) Fact: fRabin(.; N) is a permutation among quadratic residues, when P, Q are ≡ 3 (mod 4) Fact: Can invert fRabin(.; N) given factorization of N

slide-72
SLIDE 72

Candidate TOWPs

From some (candidate) OWP collections, with index as public-key Recall candidate OWF collections Rabin OWF: fRabin(x; N) = x2 mod N, where N = PQ, and P, Q are k-bit primes (and x uniform from {0...N}) Fact: fRabin(.; N) is a permutation among quadratic residues, when P, Q are ≡ 3 (mod 4) Fact: Can invert fRabin(.; N) given factorization of N RSA function: fRSA(x; N,e) = xe mod N where N=PQ, P,Q k-bit primes, e s.t. gcd(e,φ(N)) = 1 (and x uniform from {0...N})

slide-73
SLIDE 73

Candidate TOWPs

From some (candidate) OWP collections, with index as public-key Recall candidate OWF collections Rabin OWF: fRabin(x; N) = x2 mod N, where N = PQ, and P, Q are k-bit primes (and x uniform from {0...N}) Fact: fRabin(.; N) is a permutation among quadratic residues, when P, Q are ≡ 3 (mod 4) Fact: Can invert fRabin(.; N) given factorization of N RSA function: fRSA(x; N,e) = xe mod N where N=PQ, P,Q k-bit primes, e s.t. gcd(e,φ(N)) = 1 (and x uniform from {0...N}) Fact: fRSA(.; N,e) is a permutation

slide-74
SLIDE 74

Candidate TOWPs

From some (candidate) OWP collections, with index as public-key Recall candidate OWF collections Rabin OWF: fRabin(x; N) = x2 mod N, where N = PQ, and P, Q are k-bit primes (and x uniform from {0...N}) Fact: fRabin(.; N) is a permutation among quadratic residues, when P, Q are ≡ 3 (mod 4) Fact: Can invert fRabin(.; N) given factorization of N RSA function: fRSA(x; N,e) = xe mod N where N=PQ, P,Q k-bit primes, e s.t. gcd(e,φ(N)) = 1 (and x uniform from {0...N}) Fact: fRSA(.; N,e) is a permutation Fact: While picking (N,e), can also pick d s.t. xed = x

slide-75
SLIDE 75

Candidate TOWPs

From some (candidate) OWP collections, with index as public-key Recall candidate OWF collections Rabin OWF: fRabin(x; N) = x2 mod N, where N = PQ, and P, Q are k-bit primes (and x uniform from {0...N}) Fact: fRabin(.; N) is a permutation among quadratic residues, when P, Q are ≡ 3 (mod 4) Fact: Can invert fRabin(.; N) given factorization of N RSA function: fRSA(x; N,e) = xe mod N where N=PQ, P,Q k-bit primes, e s.t. gcd(e,φ(N)) = 1 (and x uniform from {0...N}) Fact: fRSA(.; N,e) is a permutation Fact: While picking (N,e), can also pick d s.t. xed = x

see handout

slide-76
SLIDE 76

Recap

slide-77
SLIDE 77

Recap

CPA-secure PKE

slide-78
SLIDE 78

Recap

CPA-secure PKE DH Key-exchange, El Gamal and DDH assumption

slide-79
SLIDE 79

Recap

CPA-secure PKE DH Key-exchange, El Gamal and DDH assumption Trapdoor PRG

slide-80
SLIDE 80

Recap

CPA-secure PKE DH Key-exchange, El Gamal and DDH assumption Trapdoor PRG Abstracts what DDH gives for El Gamal

slide-81
SLIDE 81

Recap

CPA-secure PKE DH Key-exchange, El Gamal and DDH assumption Trapdoor PRG Abstracts what DDH gives for El Gamal With a secret-key, trapdoor information can also yield the pseudorandom string

slide-82
SLIDE 82

Recap

CPA-secure PKE DH Key-exchange, El Gamal and DDH assumption Trapdoor PRG Abstracts what DDH gives for El Gamal With a secret-key, trapdoor information can also yield the pseudorandom string Can be used to get IND-CPA secure PKE scheme

slide-83
SLIDE 83

Recap

CPA-secure PKE DH Key-exchange, El Gamal and DDH assumption Trapdoor PRG Abstracts what DDH gives for El Gamal With a secret-key, trapdoor information can also yield the pseudorandom string Can be used to get IND-CPA secure PKE scheme Trapdoor OWP

slide-84
SLIDE 84

Recap

CPA-secure PKE DH Key-exchange, El Gamal and DDH assumption Trapdoor PRG Abstracts what DDH gives for El Gamal With a secret-key, trapdoor information can also yield the pseudorandom string Can be used to get IND-CPA secure PKE scheme Trapdoor OWP With a secret-key, invert the OWP

slide-85
SLIDE 85

Recap

CPA-secure PKE DH Key-exchange, El Gamal and DDH assumption Trapdoor PRG Abstracts what DDH gives for El Gamal With a secret-key, trapdoor information can also yield the pseudorandom string Can be used to get IND-CPA secure PKE scheme Trapdoor OWP With a secret-key, invert the OWP Can be used to construct Trapdoor PRG

slide-86
SLIDE 86

Recap

CPA-secure PKE DH Key-exchange, El Gamal and DDH assumption Trapdoor PRG Abstracts what DDH gives for El Gamal With a secret-key, trapdoor information can also yield the pseudorandom string Can be used to get IND-CPA secure PKE scheme Trapdoor OWP With a secret-key, invert the OWP Can be used to construct Trapdoor PRG Next: CCA secure PKE

slide-87
SLIDE 87

CCA Secure PKE

slide-88
SLIDE 88

CCA Secure PKE

In SKE, to get CCA security, we used a MAC

slide-89
SLIDE 89

CCA Secure PKE

In SKE, to get CCA security, we used a MAC Bob would accept only messages from Alice

slide-90
SLIDE 90

CCA Secure PKE

In SKE, to get CCA security, we used a MAC Bob would accept only messages from Alice But in PKE, Bob wants to receive messages from Eve as well

slide-91
SLIDE 91

CCA Secure PKE

In SKE, to get CCA security, we used a MAC Bob would accept only messages from Alice But in PKE, Bob wants to receive messages from Eve as well Only if it is indeed Eve’ s own message: she should know her own message!

slide-92
SLIDE 92

Chosen Ciphertext Attack

slide-93
SLIDE 93

Chosen Ciphertext Attack

Suppose Enc SIM-CPA secure

slide-94
SLIDE 94

A subtle e-mail attack

Chosen Ciphertext Attack

Suppose Enc SIM-CPA secure

slide-95
SLIDE 95

A subtle e-mail attack

Chosen Ciphertext Attack

Suppose Enc SIM-CPA secure

slide-96
SLIDE 96

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Suppose Enc SIM-CPA secure

slide-97
SLIDE 97

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Suppose Enc SIM-CPA secure

Alice → Bob: Enc(m)

slide-98
SLIDE 98

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Suppose Enc SIM-CPA secure

Alice → Bob: Enc(m)

slide-99
SLIDE 99

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Suppose Enc SIM-CPA secure

Alice → Bob: Enc(m)

slide-100
SLIDE 100

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Suppose Enc SIM-CPA secure

Alice → Bob: Enc(m) Eve: Hack(Enc(m)) = Enc(m*)

slide-101
SLIDE 101

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Suppose Enc SIM-CPA secure

Alice → Bob: Enc(m) Eve: Hack(Enc(m)) = Enc(m*) (where m* = Reverse of m)

slide-102
SLIDE 102

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Suppose Enc SIM-CPA secure

Suppose encrypts a character at a time (still secure)

Alice → Bob: Enc(m) Eve: Hack(Enc(m)) = Enc(m*) (where m* = Reverse of m)

slide-103
SLIDE 103

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Eve → Bob: Enc(m*)

Suppose Enc SIM-CPA secure

Suppose encrypts a character at a time (still secure)

Alice → Bob: Enc(m) Eve: Hack(Enc(m)) = Enc(m*) (where m* = Reverse of m)

slide-104
SLIDE 104

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Eve → Bob: Enc(m*)

Suppose Enc SIM-CPA secure

Suppose encrypts a character at a time (still secure)

...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I

Alice → Bob: Enc(m) Eve: Hack(Enc(m)) = Enc(m*) (where m* = Reverse of m)

slide-105
SLIDE 105

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Eve → Bob: Enc(m*)

Suppose Enc SIM-CPA secure

Suppose encrypts a character at a time (still secure)

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I

Alice → Bob: Enc(m) Bob → Eve: “what’s this: m*?” Eve: Hack(Enc(m)) = Enc(m*) (where m* = Reverse of m)

slide-106
SLIDE 106

A subtle e-mail attack

Chosen Ciphertext Attack

I look around for your eyes shining I seek you in everything...

Eve → Bob: Enc(m*)

Suppose Enc SIM-CPA secure

Suppose encrypts a character at a time (still secure)

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I

Alice → Bob: Enc(m) Eve: Reverse m* to find m! Bob → Eve: “what’s this: m*?” Eve: Hack(Enc(m)) = Enc(m*)

I look around for your eyes shining I seek you in everything... !

(where m* = Reverse of m)

slide-107
SLIDE 107

Malleability

slide-108
SLIDE 108

Malleability

Malleability: Eve can “malleate” a ciphertext (without having to decrypt it) to produce a new ciphertext that would decrypt to a “related” message

slide-109
SLIDE 109

Malleability

Malleability: Eve can “malleate” a ciphertext (without having to decrypt it) to produce a new ciphertext that would decrypt to a “related” message E.g.: Malleability of El Gamal

slide-110
SLIDE 110

Malleability

Malleability: Eve can “malleate” a ciphertext (without having to decrypt it) to produce a new ciphertext that would decrypt to a “related” message E.g.: Malleability of El Gamal Recall: Enc(G,g,Y)(m) = (gx,M.Yx)

slide-111
SLIDE 111

Malleability

Malleability: Eve can “malleate” a ciphertext (without having to decrypt it) to produce a new ciphertext that would decrypt to a “related” message E.g.: Malleability of El Gamal Recall: Enc(G,g,Y)(m) = (gx,M.Yx) Given (X,C) change it to (X,TC): will decrypt to TM

slide-112
SLIDE 112

Malleability

Malleability: Eve can “malleate” a ciphertext (without having to decrypt it) to produce a new ciphertext that would decrypt to a “related” message E.g.: Malleability of El Gamal Recall: Enc(G,g,Y)(m) = (gx,M.Yx) Given (X,C) change it to (X,TC): will decrypt to TM Or change (X,C) to (Xa,Ca): will decrypt to Ma

slide-113
SLIDE 113

Malleability

Malleability: Eve can “malleate” a ciphertext (without having to decrypt it) to produce a new ciphertext that would decrypt to a “related” message E.g.: Malleability of El Gamal Recall: Enc(G,g,Y)(m) = (gx,M.Yx) Given (X,C) change it to (X,TC): will decrypt to TM Or change (X,C) to (Xa,Ca): will decrypt to Ma If chosen-ciphertext attack possible

slide-114
SLIDE 114

Malleability

Malleability: Eve can “malleate” a ciphertext (without having to decrypt it) to produce a new ciphertext that would decrypt to a “related” message E.g.: Malleability of El Gamal Recall: Enc(G,g,Y)(m) = (gx,M.Yx) Given (X,C) change it to (X,TC): will decrypt to TM Or change (X,C) to (Xa,Ca): will decrypt to Ma If chosen-ciphertext attack possible i.e., Eve can get a ciphertext of her choice decrypted

slide-115
SLIDE 115

Malleability

Malleability: Eve can “malleate” a ciphertext (without having to decrypt it) to produce a new ciphertext that would decrypt to a “related” message E.g.: Malleability of El Gamal Recall: Enc(G,g,Y)(m) = (gx,M.Yx) Given (X,C) change it to (X,TC): will decrypt to TM Or change (X,C) to (Xa,Ca): will decrypt to Ma If chosen-ciphertext attack possible i.e., Eve can get a ciphertext of her choice decrypted Then Eve can exploit malleability to learn something “related to” Alice’ s messages

slide-116
SLIDE 116

Malleability

Malleability: Eve can “malleate” a ciphertext (without having to decrypt it) to produce a new ciphertext that would decrypt to a “related” message E.g.: Malleability of El Gamal Recall: Enc(G,g,Y)(m) = (gx,M.Yx) Given (X,C) change it to (X,TC): will decrypt to TM Or change (X,C) to (Xa,Ca): will decrypt to Ma If chosen-ciphertext attack possible i.e., Eve can get a ciphertext of her choice decrypted Then Eve can exploit malleability to learn something “related to” Alice’ s messages

More subtly, the 1 bit - valid or invalid - may leak information on message or SK

slide-117
SLIDE 117

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I I look around for your eyes shining I seek you in everything... I look around for your eyes shining I seek you in everything... !

Chosen Ciphertext Attack

SIM-CCA: does capture this attack

slide-118
SLIDE 118

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I I look around for your eyes shining I seek you in everything... I look around for your eyes shining I seek you in everything... !

Chosen Ciphertext Attack

SIM-CCA: does capture this attack

Key/ Enc Key/ Dec

Env

slide-119
SLIDE 119

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I I look around for your eyes shining I seek you in everything... I look around for your eyes shining I seek you in everything... !

Chosen Ciphertext Attack

SIM-CCA: does capture this attack

Key/ Enc Key/ Dec

Env

slide-120
SLIDE 120

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I I look around for your eyes shining I seek you in everything... I look around for your eyes shining I seek you in everything... !

Chosen Ciphertext Attack

SIM-CCA: does capture this attack

Key/ Enc Key/ Dec

Env

slide-121
SLIDE 121

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I I look around for your eyes shining I seek you in everything... I look around for your eyes shining I seek you in everything... !

Chosen Ciphertext Attack

SIM-CCA: does capture this attack

Key/ Enc Key/ Dec

Env

slide-122
SLIDE 122

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I I look around for your eyes shining I seek you in everything... I look around for your eyes shining I seek you in everything... !

Chosen Ciphertext Attack

SIM-CCA: does capture this attack

Key/ Enc Key/ Dec

Env

slide-123
SLIDE 123

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I I look around for your eyes shining I seek you in everything... I look around for your eyes shining I seek you in everything... !

Chosen Ciphertext Attack

SIM-CCA: does capture this attack

Key/ Enc Key/ Dec

Env

slide-124
SLIDE 124

Hey Eve, What’s this that you sent me?

> > > > ...gnihtyreve ni uoy kees I gninihs seye ruoy rof dnuora kool I I look around for your eyes shining I seek you in everything... I look around for your eyes shining I seek you in everything... !

Chosen Ciphertext Attack

SIM-CCA: does capture this attack

Key/ Enc Key/ Dec

Env

!

slide-125
SLIDE 125

Secure (and correct) if: ∀ ∃ s.t. ∀

  • utput of

is distributed identically in REAL and IDEAL

SIM-CCA Security (PKE)

PK/ Enc SK/ Dec

Env

Send Recv

Env REAL IDEAL Replay Filter

slide-126
SLIDE 126

SIM-CCA Security and Malleability

PK/ Enc SK/ Dec

Env

Send Recv

Env REAL IDEAL Replay Filter

slide-127
SLIDE 127

SIM-CCA Security and Malleability

PK/ Enc SK/ Dec

Env

Send Recv

Env REAL IDEAL Replay Filter If can cause Bob to

  • utput a

message

slide-128
SLIDE 128

SIM-CCA Security and Malleability

PK/ Enc SK/ Dec

Env

Send Recv

Env REAL IDEAL Replay Filter If can cause Bob to

  • utput a

message then can send such a message to Bob by itself

slide-129
SLIDE 129

SIM-CCA Security and Malleability

PK/ Enc SK/ Dec

Env

Send Recv

Env REAL IDEAL Replay Filter If can cause Bob to

  • utput a

message then can send such a message to Bob by itself Hence message not a result of malleating

slide-130
SLIDE 130

Constructing CCA Secure PKE

slide-131
SLIDE 131

Constructing CCA Secure PKE

Possible from generic assumptions

slide-132
SLIDE 132

Constructing CCA Secure PKE

Possible from generic assumptions e.g. Enhanced T-OWP, Lossy T-OWF , Correlation-secure T-OWF , Adaptive T-OWF/relation, ...

slide-133
SLIDE 133

Constructing CCA Secure PKE

Possible from generic assumptions e.g. Enhanced T-OWP, Lossy T-OWF , Correlation-secure T-OWF , Adaptive T-OWF/relation, ... e.g. Using a CPA secure PKE to create two ciphertexts and a “Non-Interactive Zero Knowledge proof” of consistency

slide-134
SLIDE 134

Constructing CCA Secure PKE

Possible from generic assumptions e.g. Enhanced T-OWP, Lossy T-OWF , Correlation-secure T-OWF , Adaptive T-OWF/relation, ... e.g. Using a CPA secure PKE to create two ciphertexts and a “Non-Interactive Zero Knowledge proof” of consistency e.g. Include a “NIZK proof of knowledge” of the plaintext

slide-135
SLIDE 135

Constructing CCA Secure PKE

Possible from generic assumptions e.g. Enhanced T-OWP, Lossy T-OWF , Correlation-secure T-OWF , Adaptive T-OWF/relation, ... e.g. Using a CPA secure PKE to create two ciphertexts and a “Non-Interactive Zero Knowledge proof” of consistency e.g. Include a “NIZK proof of knowledge” of the plaintext Much more efficient from specific number theoretic/algebraic assumptions

slide-136
SLIDE 136

Constructing CCA Secure PKE

Possible from generic assumptions e.g. Enhanced T-OWP, Lossy T-OWF , Correlation-secure T-OWF , Adaptive T-OWF/relation, ... e.g. Using a CPA secure PKE to create two ciphertexts and a “Non-Interactive Zero Knowledge proof” of consistency e.g. Include a “NIZK proof of knowledge” of the plaintext Much more efficient from specific number theoretic/algebraic assumptions Even more efficient in the “Random Oracle Model”

slide-137
SLIDE 137

Constructing CCA Secure PKE

Possible from generic assumptions e.g. Enhanced T-OWP, Lossy T-OWF , Correlation-secure T-OWF , Adaptive T-OWF/relation, ... e.g. Using a CPA secure PKE to create two ciphertexts and a “Non-Interactive Zero Knowledge proof” of consistency e.g. Include a “NIZK proof of knowledge” of the plaintext Much more efficient from specific number theoretic/algebraic assumptions Even more efficient in the “Random Oracle Model” Significant efficiency gain using “Hybrid Encryption”

slide-138
SLIDE 138

Hybrid Encryption

slide-139
SLIDE 139

Hybrid Encryption

PKE is far less efficient compared to SKE (CCA- or CPA-secure)

slide-140
SLIDE 140

Hybrid Encryption

PKE is far less efficient compared to SKE (CCA- or CPA-secure) SKE using Block Ciphers (e.g. AES) and MAC is very fast

slide-141
SLIDE 141

Hybrid Encryption

PKE is far less efficient compared to SKE (CCA- or CPA-secure) SKE using Block Ciphers (e.g. AES) and MAC is very fast El Gamal uses exponentiations (CCA-secure versions even more)

slide-142
SLIDE 142

Hybrid Encryption

PKE is far less efficient compared to SKE (CCA- or CPA-secure) SKE using Block Ciphers (e.g. AES) and MAC is very fast El Gamal uses exponentiations (CCA-secure versions even more) Hybrid encryption: Use (CCA secure) PKE to transfer a key (or key generation material) for the (CCA secure) SKE. Use SKE with this key for sending data

slide-143
SLIDE 143

Hybrid Encryption

PKE is far less efficient compared to SKE (CCA- or CPA-secure) SKE using Block Ciphers (e.g. AES) and MAC is very fast El Gamal uses exponentiations (CCA-secure versions even more) Hybrid encryption: Use (CCA secure) PKE to transfer a key (or key generation material) for the (CCA secure) SKE. Use SKE with this key for sending data Hopefully the combination remains CCA secure

slide-144
SLIDE 144

Hybrid Encryption

PKE is far less efficient compared to SKE (CCA- or CPA-secure) SKE using Block Ciphers (e.g. AES) and MAC is very fast El Gamal uses exponentiations (CCA-secure versions even more) Hybrid encryption: Use (CCA secure) PKE to transfer a key (or key generation material) for the (CCA secure) SKE. Use SKE with this key for sending data Hopefully the combination remains CCA secure PKE used to encrypt only a (short) key for the SKE

slide-145
SLIDE 145

Hybrid Encryption

PKE is far less efficient compared to SKE (CCA- or CPA-secure) SKE using Block Ciphers (e.g. AES) and MAC is very fast El Gamal uses exponentiations (CCA-secure versions even more) Hybrid encryption: Use (CCA secure) PKE to transfer a key (or key generation material) for the (CCA secure) SKE. Use SKE with this key for sending data Hopefully the combination remains CCA secure PKE used to encrypt only a (short) key for the SKE Relatively low overhead on top of the (fast) SKE encryption

slide-146
SLIDE 146

Hybrid Encryption

slide-147
SLIDE 147

Hybrid Encryption

Hybrid Encryption: KEM/DEM paradigm

slide-148
SLIDE 148

Hybrid Encryption

Hybrid Encryption: KEM/DEM paradigm Key Encapsulation Method: a public-key scheme to transfer a key

slide-149
SLIDE 149

Hybrid Encryption

Hybrid Encryption: KEM/DEM paradigm Key Encapsulation Method: a public-key scheme to transfer a key

Or to generate a key

slide-150
SLIDE 150

Hybrid Encryption

Hybrid Encryption: KEM/DEM paradigm Key Encapsulation Method: a public-key scheme to transfer a key Data Encapsulation Method: a shared-key scheme (using the key transferred using KEM)

Or to generate a key

slide-151
SLIDE 151

Hybrid Encryption

Hybrid Encryption: KEM/DEM paradigm Key Encapsulation Method: a public-key scheme to transfer a key Data Encapsulation Method: a shared-key scheme (using the key transferred using KEM) For what KEM/DEM is a hybrid encryption scheme CCA secure?

Or to generate a key

slide-152
SLIDE 152

Hybrid Encryption

Hybrid Encryption: KEM/DEM paradigm Key Encapsulation Method: a public-key scheme to transfer a key Data Encapsulation Method: a shared-key scheme (using the key transferred using KEM) For what KEM/DEM is a hybrid encryption scheme CCA secure? Works if KEM is a SIM-CCA secure PKE scheme and DEM is a SIM-CCA secure SKE scheme

Or to generate a key

slide-153
SLIDE 153

Hybrid Encryption

Hybrid Encryption: KEM/DEM paradigm Key Encapsulation Method: a public-key scheme to transfer a key Data Encapsulation Method: a shared-key scheme (using the key transferred using KEM) For what KEM/DEM is a hybrid encryption scheme CCA secure? Works if KEM is a SIM-CCA secure PKE scheme and DEM is a SIM-CCA secure SKE scheme Easy to prove using “composition” properties of the SIM definition

Or to generate a key

slide-154
SLIDE 154

Hybrid Encryption

Hybrid Encryption: KEM/DEM paradigm Key Encapsulation Method: a public-key scheme to transfer a key Data Encapsulation Method: a shared-key scheme (using the key transferred using KEM) For what KEM/DEM is a hybrid encryption scheme CCA secure? Works if KEM is a SIM-CCA secure PKE scheme and DEM is a SIM-CCA secure SKE scheme Easy to prove using “composition” properties of the SIM definition Less security sufficient: KEM used to transfer a random key; DEM uses a new key every time.

Or to generate a key

slide-155
SLIDE 155

Today

slide-156
SLIDE 156

Today

CPA secure PKE: Constructions

slide-157
SLIDE 157

Today

CPA secure PKE: Constructions El Gamal Encryption

slide-158
SLIDE 158

Today

CPA secure PKE: Constructions El Gamal Encryption TPRG and TOWP

slide-159
SLIDE 159

Today

CPA secure PKE: Constructions El Gamal Encryption TPRG and TOWP CCA secure PKE

slide-160
SLIDE 160

Today

CPA secure PKE: Constructions El Gamal Encryption TPRG and TOWP CCA secure PKE Motivating problem: Malleability

slide-161
SLIDE 161

Today

CPA secure PKE: Constructions El Gamal Encryption TPRG and TOWP CCA secure PKE Motivating problem: Malleability Hybrid Encryption: KEM/DEM

slide-162
SLIDE 162

Today

CPA secure PKE: Constructions El Gamal Encryption TPRG and TOWP CCA secure PKE Motivating problem: Malleability Hybrid Encryption: KEM/DEM Given a basic (CCA secure) PKE, improves efficiency by combining with (CCA secure) SKE

slide-163
SLIDE 163

Today

CPA secure PKE: Constructions El Gamal Encryption TPRG and TOWP CCA secure PKE Motivating problem: Malleability Hybrid Encryption: KEM/DEM Given a basic (CCA secure) PKE, improves efficiency by combining with (CCA secure) SKE Next: Constructions for CCA secure PKE