Foundation of Cryptography (0368-4162-01), Lecture 8 Encryption - - PowerPoint PPT Presentation

foundation of cryptography 0368 4162 01 lecture 8
SMART_READER_LITE
LIVE PREVIEW

Foundation of Cryptography (0368-4162-01), Lecture 8 Encryption - - PowerPoint PPT Presentation

Definitions Constructions Active Adversaries Foundation of Cryptography (0368-4162-01), Lecture 8 Encryption Schemes Iftach Haitner, Tel Aviv University January 3 17, 2012 Definitions Constructions Active Adversaries Section 1


slide-1
SLIDE 1

Definitions Constructions Active Adversaries

Foundation of Cryptography (0368-4162-01), Lecture 8

Encryption Schemes Iftach Haitner, Tel Aviv University January 3 – 17, 2012

slide-2
SLIDE 2

Definitions Constructions Active Adversaries

Section 1 Definitions

slide-3
SLIDE 3

Definitions Constructions Active Adversaries

Correctness Definition 1 (encryption scheme) A trippet of PPT’s (G, E, D) such that

1

G(1n) outputs a key (e, d) ∈ {0, 1}∗ × {0, 1}∗

2

E(e, m) outputs a string in c ∈ {0, 1}∗

3

D(d, c) outputs m ∈ {0, 1}∗ Correctness: D(d, E(e, m)) = m, for any (e, d) ∈ Supp(G(1n)) and m ∈ {0, 1}∗

slide-4
SLIDE 4

Definitions Constructions Active Adversaries

Correctness Definition 1 (encryption scheme) A trippet of PPT’s (G, E, D) such that

1

G(1n) outputs a key (e, d) ∈ {0, 1}∗ × {0, 1}∗

2

E(e, m) outputs a string in c ∈ {0, 1}∗

3

D(d, c) outputs m ∈ {0, 1}∗ Correctness: D(d, E(e, m)) = m, for any (e, d) ∈ Supp(G(1n)) and m ∈ {0, 1}∗

slide-5
SLIDE 5

Definitions Constructions Active Adversaries

Correctness Definition 1 (encryption scheme) A trippet of PPT’s (G, E, D) such that

1

G(1n) outputs a key (e, d) ∈ {0, 1}∗ × {0, 1}∗

2

E(e, m) outputs a string in c ∈ {0, 1}∗

3

D(d, c) outputs m ∈ {0, 1}∗ Correctness: D(d, E(e, m)) = m, for any (e, d) ∈ Supp(G(1n)) and m ∈ {0, 1}∗ e – encryption key, d – decryption key m – plaintext, c = E(e, m) – ciphertext Ee(m) ≡ E(e, m) and Dd(c) ≡ D(d, c),

slide-6
SLIDE 6

Definitions Constructions Active Adversaries

Correctness Definition 1 (encryption scheme) A trippet of PPT’s (G, E, D) such that

1

G(1n) outputs a key (e, d) ∈ {0, 1}∗ × {0, 1}∗

2

E(e, m) outputs a string in c ∈ {0, 1}∗

3

D(d, c) outputs m ∈ {0, 1}∗ Correctness: D(d, E(e, m)) = m, for any (e, d) ∈ Supp(G(1n)) and m ∈ {0, 1}∗ e – encryption key, d – decryption key m – plaintext, c = E(e, m) – ciphertext Ee(m) ≡ E(e, m) and Dd(c) ≡ D(d, c), public/private key

slide-7
SLIDE 7

Definitions Constructions Active Adversaries

Security What would we like to achieve?

slide-8
SLIDE 8

Definitions Constructions Active Adversaries

Security What would we like to achieve? Attempt: for any m ∈ {0, 1}∗: (m, EG(1n)1(m)) ≡ (m, Uℓ(|m|))

slide-9
SLIDE 9

Definitions Constructions Active Adversaries

Security What would we like to achieve? Attempt: for any m ∈ {0, 1}∗: (m, EG(1n)1(m)) ≡ (m, Uℓ(|m|))

Shannon – only for m with |m| ≤ |G(1n)1|

slide-10
SLIDE 10

Definitions Constructions Active Adversaries

Security What would we like to achieve? Attempt: for any m ∈ {0, 1}∗: (m, EG(1n)1(m)) ≡ (m, Uℓ(|m|))

Shannon – only for m with |m| ≤ |G(1n)1| Other concerns, e.g., multiple encryptions, active adversary

slide-11
SLIDE 11

Definitions Constructions Active Adversaries Semantic Security

Semantic Security

1

Ciphertext reveal “no information" about the plaintext

slide-12
SLIDE 12

Definitions Constructions Active Adversaries Semantic Security

Semantic Security

1

Ciphertext reveal “no information" about the plaintext

2

Formulate via the simulation paradigm

slide-13
SLIDE 13

Definitions Constructions Active Adversaries Semantic Security

Semantic Security

1

Ciphertext reveal “no information" about the plaintext

2

Formulate via the simulation paradigm

3

Cannot hide the message length

slide-14
SLIDE 14

Definitions Constructions Active Adversaries Semantic Security

Semantic security – private-key model Definition 2 (Semantic Security – private-key model) An encryption scheme (G, E, D) is semantically secure in the private-key model, if for any PPT A, ∃ PPT A′ s.t. ∀ poly-bounded

  • dist. ensemble M = {Mn}n∈N and poly-bounded functions

h, f : {0, 1}∗ → {0, 1}∗

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

  • = neg(n)
slide-15
SLIDE 15

Definitions Constructions Active Adversaries Semantic Security

Semantic security – private-key model Definition 2 (Semantic Security – private-key model) An encryption scheme (G, E, D) is semantically secure in the private-key model, if for any PPT A, ∃ PPT A′ s.t. ∀ poly-bounded

  • dist. ensemble M = {Mn}n∈N and poly-bounded functions

h, f : {0, 1}∗ → {0, 1}∗

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

  • = neg(n)

poly-bounded?

slide-16
SLIDE 16

Definitions Constructions Active Adversaries Semantic Security

Semantic security – private-key model Definition 2 (Semantic Security – private-key model) An encryption scheme (G, E, D) is semantically secure in the private-key model, if for any PPT A, ∃ PPT A′ s.t. ∀ poly-bounded

  • dist. ensemble M = {Mn}n∈N and poly-bounded functions

h, f : {0, 1}∗ → {0, 1}∗

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

  • = neg(n)

poly-bounded? for simplicity we assume polynomial length

slide-17
SLIDE 17

Definitions Constructions Active Adversaries Semantic Security

Semantic security – private-key model Definition 2 (Semantic Security – private-key model) An encryption scheme (G, E, D) is semantically secure in the private-key model, if for any PPT A, ∃ PPT A′ s.t. ∀ poly-bounded

  • dist. ensemble M = {Mn}n∈N and poly-bounded functions

h, f : {0, 1}∗ → {0, 1}∗

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

  • = neg(n)

poly-bounded? for simplicity we assume polynomial length 1n and 1|m| can be omitted

slide-18
SLIDE 18

Definitions Constructions Active Adversaries Semantic Security

Semantic security – private-key model Definition 2 (Semantic Security – private-key model) An encryption scheme (G, E, D) is semantically secure in the private-key model, if for any PPT A, ∃ PPT A′ s.t. ∀ poly-bounded

  • dist. ensemble M = {Mn}n∈N and poly-bounded functions

h, f : {0, 1}∗ → {0, 1}∗

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

  • = neg(n)

poly-bounded? for simplicity we assume polynomial length 1n and 1|m| can be omitted Non-uniform definition

slide-19
SLIDE 19

Definitions Constructions Active Adversaries Semantic Security

Semantic security – private-key model Definition 2 (Semantic Security – private-key model) An encryption scheme (G, E, D) is semantically secure in the private-key model, if for any PPT A, ∃ PPT A′ s.t. ∀ poly-bounded

  • dist. ensemble M = {Mn}n∈N and poly-bounded functions

h, f : {0, 1}∗ → {0, 1}∗

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

  • = neg(n)

poly-bounded? for simplicity we assume polynomial length 1n and 1|m| can be omitted Non-uniform definition Reflection to ZK

slide-20
SLIDE 20

Definitions Constructions Active Adversaries Semantic Security

Semantic security – private-key model Definition 2 (Semantic Security – private-key model) An encryption scheme (G, E, D) is semantically secure in the private-key model, if for any PPT A, ∃ PPT A′ s.t. ∀ poly-bounded

  • dist. ensemble M = {Mn}n∈N and poly-bounded functions

h, f : {0, 1}∗ → {0, 1}∗

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

  • = neg(n)

poly-bounded? for simplicity we assume polynomial length 1n and 1|m| can be omitted Non-uniform definition Reflection to ZK public-key variant – A gets e

slide-21
SLIDE 21

Definitions Constructions Active Adversaries Indistinguishablity

Indistinguishablity of encryptions The encryption of two strings is indistinguishable

slide-22
SLIDE 22

Definitions Constructions Active Adversaries Indistinguishablity

Indistinguishablity of encryptions The encryption of two strings is indistinguishable Less intuitive than semantic security, but easier to work with

slide-23
SLIDE 23

Definitions Constructions Active Adversaries Indistinguishablity

Indistinguishablity of encryptions – private-key model Definition 3 (Indistinguishablity of encryptions – private-key model) An encryption scheme (G, E, D) has indistinguishable encryptions in the private-key model, if for any p, ℓ ∈ poly, {xn, yn ∈ {0, 1}ℓ(n)}n∈N, {zn ∈ {0, 1}p(n)}n∈N and poly-time B,

  • Pre←G(1n)1[B(zn, Ee(xn)) = 1] − Pre←G(1n)1[B(zn, Ee(yn)) = 1]
  • = neg(n)
slide-24
SLIDE 24

Definitions Constructions Active Adversaries Indistinguishablity

Indistinguishablity of encryptions – private-key model Definition 3 (Indistinguishablity of encryptions – private-key model) An encryption scheme (G, E, D) has indistinguishable encryptions in the private-key model, if for any p, ℓ ∈ poly, {xn, yn ∈ {0, 1}ℓ(n)}n∈N, {zn ∈ {0, 1}p(n)}n∈N and poly-time B,

  • Pre←G(1n)1[B(zn, Ee(xn)) = 1] − Pre←G(1n)1[B(zn, Ee(yn)) = 1]
  • = neg(n)

Non-uniform definition

slide-25
SLIDE 25

Definitions Constructions Active Adversaries Indistinguishablity

Indistinguishablity of encryptions – private-key model Definition 3 (Indistinguishablity of encryptions – private-key model) An encryption scheme (G, E, D) has indistinguishable encryptions in the private-key model, if for any p, ℓ ∈ poly, {xn, yn ∈ {0, 1}ℓ(n)}n∈N, {zn ∈ {0, 1}p(n)}n∈N and poly-time B,

  • Pre←G(1n)1[B(zn, Ee(xn)) = 1] − Pre←G(1n)1[B(zn, Ee(yn)) = 1]
  • = neg(n)

Non-uniform definition Public-key variant

slide-26
SLIDE 26

Definitions Constructions Active Adversaries Equivalence

Equivalence of definitions Theorem 4 An encryption scheme (G, E, D) is semantically secure iff is has indistinguishable encryptions.

slide-27
SLIDE 27

Definitions Constructions Active Adversaries Equivalence

Equivalence of definitions Theorem 4 An encryption scheme (G, E, D) is semantically secure iff is has indistinguishable encryptions. We prove the private key case

slide-28
SLIDE 28

Definitions Constructions Active Adversaries Equivalence

Indistinguishability = ⇒ Semantic Security

slide-29
SLIDE 29

Definitions Constructions Active Adversaries Equivalence

Indistinguishability = ⇒ Semantic Security Fix M, A, f and h, be as in Definition 2.

slide-30
SLIDE 30

Definitions Constructions Active Adversaries Equivalence

Indistinguishability = ⇒ Semantic Security Fix M, A, f and h, be as in Definition 2. We construct A′ as Algorithm 5 (A′) Input: 1n, 1|m| and h(m)

1

e ← G(1n)1

2

c = Ee(1|m|)

3

Output A(1n, 1|m|, h(m), c)

slide-31
SLIDE 31

Definitions Constructions Active Adversaries Equivalence

Indistinguishability = ⇒ Semantic Security Fix M, A, f and h, be as in Definition 2. We construct A′ as Algorithm 5 (A′) Input: 1n, 1|m| and h(m)

1

e ← G(1n)1

2

c = Ee(1|m|)

3

Output A(1n, 1|m|, h(m), c) Claim 6 A′ is a good simulator for A (according to Definition 2)

slide-32
SLIDE 32

Definitions Constructions Active Adversaries Equivalence

Proving Claim 6 For n ∈ N, let δ(n) :=

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

slide-33
SLIDE 33

Definitions Constructions Active Adversaries Equivalence

Proving Claim 6 For n ∈ N, let δ(n) :=

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

  • Claim 7

For every n ∈ N, exists xn ∈ Supp(Mn) with δ(n) ≤

  • Pre←G(1n)1[A(1n, 1|xn|, h(1n, xn), Ee(xn)) = f(1n, xn)]

−Pr[A′(1n, 1|xn|, h(1n, xn)) = f(1n, xn)]

slide-34
SLIDE 34

Definitions Constructions Active Adversaries Equivalence

Proving Claim 6 For n ∈ N, let δ(n) :=

  • Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)]

−Prm←Mn[A′(1n, 1|m|, h(1n, m)) = f(1n, m)]

  • Claim 7

For every n ∈ N, exists xn ∈ Supp(Mn) with δ(n) ≤

  • Pre←G(1n)1[A(1n, 1|xn|, h(1n, xn), Ee(xn)) = f(1n, xn)]

−Pr[A′(1n, 1|xn|, h(1n, xn)) = f(1n, xn)]

  • Proof: Write the lhs and rhs terms in the definition of δ(n) as

sums over the different choices of m ∈ Supp(Mn), and use |a + b| ≤ |a| + |b|

slide-35
SLIDE 35

Definitions Constructions Active Adversaries Equivalence

Assume ∃ an infinite I ⊆ N and p ∈ poly s.t. δ(n) > 1/p(n) for every n ∈ I.

slide-36
SLIDE 36

Definitions Constructions Active Adversaries Equivalence

Assume ∃ an infinite I ⊆ N and p ∈ poly s.t. δ(n) > 1/p(n) for every n ∈ I. The following algorithm contradicts the indistinguishability of (G, E, D) with respect to {(xn, yn = 1|xn|)}n∈N and {zn = (1n, 1|xn|, h(1n, xn), f(1n, xn))}n∈N. Algorithm 8 (B) Input: zn = (1n, 1|xn|, h(1n, xn), f(1n, xn)), c Output 1 iff A(1n, 1|xn|, h(xn), c) = f(1n, xn)

slide-37
SLIDE 37

Definitions Constructions Active Adversaries Equivalence

Semantic Security = ⇒ Indistinguishability Assume ∃ PPT B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and a {zn}n∈N, such that (wlg) for infinitely many n’s: (1) Pre←G(1n)1[B(zn, Ee(xn))= 1]−Pre←G(1n)1[B(zn, Ee(yn))= 1] ≥ 1 p(n)

slide-38
SLIDE 38

Definitions Constructions Active Adversaries Equivalence

Semantic Security = ⇒ Indistinguishability Assume ∃ PPT B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and a {zn}n∈N, such that (wlg) for infinitely many n’s: (1) Pre←G(1n)1[B(zn, Ee(xn))= 1]−Pre←G(1n)1[B(zn, Ee(yn))= 1] ≥ 1 p(n) Let Mn be xn wp 1

2 and yn otherwise.

Let f(1n, xn) = 1, f(1n, yn) = 0 and h(1n, ·) = zn). Define A(1n, 1ℓ(n), zn, c) to return B(zn, c).

slide-39
SLIDE 39

Definitions Constructions Active Adversaries Equivalence

Semantic Security = ⇒ Indistinguishability Assume ∃ PPT B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and a {zn}n∈N, such that (wlg) for infinitely many n’s: (1) Pre←G(1n)1[B(zn, Ee(xn))= 1]−Pre←G(1n)1[B(zn, Ee(yn))= 1] ≥ 1 p(n) Let Mn be xn wp 1

2 and yn otherwise.

Let f(1n, xn) = 1, f(1n, yn) = 0 and h(1n, ·) = zn). Define A(1n, 1ℓ(n), zn, c) to return B(zn, c). (2) Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m))= f(1n, m)] ≥ 1 2 + 1 p(n)

slide-40
SLIDE 40

Definitions Constructions Active Adversaries Equivalence

Semantic Security = ⇒ Indistinguishability Assume ∃ PPT B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and a {zn}n∈N, such that (wlg) for infinitely many n’s: (1) Pre←G(1n)1[B(zn, Ee(xn))= 1]−Pre←G(1n)1[B(zn, Ee(yn))= 1] ≥ 1 p(n) Let Mn be xn wp 1

2 and yn otherwise.

Let f(1n, xn) = 1, f(1n, yn) = 0 and h(1n, ·) = zn). Define A(1n, 1ℓ(n), zn, c) to return B(zn, c). (2) Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m))= f(1n, m)] ≥ 1 2 + 1 p(n) where for any A′ (3) Prm←Mn,e←G(1n)1[A(1n, 1|m|, h(1n, m), Ee(m)) = f(1n, m)] ≤ 1 2

slide-41
SLIDE 41

Definitions Constructions Active Adversaries Multiple Encryptions

Security Under Multiple Encryptions

slide-42
SLIDE 42

Definitions Constructions Active Adversaries Multiple Encryptions

Security Under Multiple Encryptions Definition 9 (Indistinguishablity for multiple encryptions – private-key model) An encryption scheme (G, E, D) has indistinguishable encryptions for multiple messages in the private-key model, if for any p, ℓ, t ∈ poly, {xn,1, . . . xn,t(n), yn,1, . . . , yn,t(n) ∈ {0, 1}ℓ(n)}n∈N, {zn ∈ {0, 1}p(n)}n∈N and polynomial-time B,

  • Pre←G(1n)1[B(zn, Ee(xn,1), . . . Ee(xn,t(n))) = 1]

−Pre←G(1n)1[B(zn, Ee(yn,1), . . . Ee(yn,t(n))) = 1

  • = neg(n)
slide-43
SLIDE 43

Definitions Constructions Active Adversaries Multiple Encryptions

Security Under Multiple Encryptions Definition 9 (Indistinguishablity for multiple encryptions – private-key model) An encryption scheme (G, E, D) has indistinguishable encryptions for multiple messages in the private-key model, if for any p, ℓ, t ∈ poly, {xn,1, . . . xn,t(n), yn,1, . . . , yn,t(n) ∈ {0, 1}ℓ(n)}n∈N, {zn ∈ {0, 1}p(n)}n∈N and polynomial-time B,

  • Pre←G(1n)1[B(zn, Ee(xn,1), . . . Ee(xn,t(n))) = 1]

−Pre←G(1n)1[B(zn, Ee(yn,1), . . . Ee(yn,t(n))) = 1

  • = neg(n)

Extensions: Different length messages

slide-44
SLIDE 44

Definitions Constructions Active Adversaries Multiple Encryptions

Security Under Multiple Encryptions Definition 9 (Indistinguishablity for multiple encryptions – private-key model) An encryption scheme (G, E, D) has indistinguishable encryptions for multiple messages in the private-key model, if for any p, ℓ, t ∈ poly, {xn,1, . . . xn,t(n), yn,1, . . . , yn,t(n) ∈ {0, 1}ℓ(n)}n∈N, {zn ∈ {0, 1}p(n)}n∈N and polynomial-time B,

  • Pre←G(1n)1[B(zn, Ee(xn,1), . . . Ee(xn,t(n))) = 1]

−Pre←G(1n)1[B(zn, Ee(yn,1), . . . Ee(yn,t(n))) = 1

  • = neg(n)

Extensions: Different length messages Semantic security version

slide-45
SLIDE 45

Definitions Constructions Active Adversaries Multiple Encryptions

Security Under Multiple Encryptions Definition 9 (Indistinguishablity for multiple encryptions – private-key model) An encryption scheme (G, E, D) has indistinguishable encryptions for multiple messages in the private-key model, if for any p, ℓ, t ∈ poly, {xn,1, . . . xn,t(n), yn,1, . . . , yn,t(n) ∈ {0, 1}ℓ(n)}n∈N, {zn ∈ {0, 1}p(n)}n∈N and polynomial-time B,

  • Pre←G(1n)1[B(zn, Ee(xn,1), . . . Ee(xn,t(n))) = 1]

−Pre←G(1n)1[B(zn, Ee(yn,1), . . . Ee(yn,t(n))) = 1

  • = neg(n)

Extensions: Different length messages Semantic security version Public-key definition

slide-46
SLIDE 46

Definitions Constructions Active Adversaries Multiple Encryptions

Multiple Encryption in the Public-Key Model Theorem 10 A public-key encryption scheme has indistinguishable encryptions for multiple messages, iff it has indistinguishable encryptions for a single message.

slide-47
SLIDE 47

Definitions Constructions Active Adversaries Multiple Encryptions

Multiple Encryption in the Public-Key Model Theorem 10 A public-key encryption scheme has indistinguishable encryptions for multiple messages, iff it has indistinguishable encryptions for a single message. Proof: Assume (G, E, D) is public-key secure for a single message and not for multiple messages with respect to B, {x1,t(n), . . . xn,t(n), yn,1, . . . , yn,t(n) ∈ {0, 1}ℓ(n)}n∈N, {zn ∈ {0, 1}p(n)}n∈N.

slide-48
SLIDE 48

Definitions Constructions Active Adversaries Multiple Encryptions

Multiple Encryption in the Public-Key Model Theorem 10 A public-key encryption scheme has indistinguishable encryptions for multiple messages, iff it has indistinguishable encryptions for a single message. Proof: Assume (G, E, D) is public-key secure for a single message and not for multiple messages with respect to B, {x1,t(n), . . . xn,t(n), yn,1, . . . , yn,t(n) ∈ {0, 1}ℓ(n)}n∈N, {zn ∈ {0, 1}p(n)}n∈N. It follows that for some function i(n) ∈ [t(n)]

  • Pr[B(1n, e, Ee(xn,1), . . . , Ee(xn,i−1), Ee(yn,i) . . . , Ee(yn,t(n))) = 1]

−Pr[B(1n, e, Ee(xn,1), . . . , Ee(xn,i), Ee(yn,i+1) . . . , Ee(yn,t(n))) = 1]

  • > neg(n)

where in both cases e ← G(1n)1

slide-49
SLIDE 49

Definitions Constructions Active Adversaries Multiple Encryptions

Algorithm 11 (B′) Input: 1n, zn = (i(n), x1,t(n), . . . xn,t(n), yn,1, . . . , yn,t(n), e ,c Return B(c, Ee(xn,1), . . . , Ee(xn,i−1), c, Ee(yn,i+1) . . . , Ee(yn,t(n)))

slide-50
SLIDE 50

Definitions Constructions Active Adversaries Multiple Encryptions

Algorithm 11 (B′) Input: 1n, zn = (i(n), x1,t(n), . . . xn,t(n), yn,1, . . . , yn,t(n), e ,c Return B(c, Ee(xn,1), . . . , Ee(xn,i−1), c, Ee(yn,i+1) . . . , Ee(yn,t(n))) B′ is critically using the public key

slide-51
SLIDE 51

Definitions Constructions Active Adversaries Multiple Encryptions

Multiple Encryption in the Private-Key Model Fact 12 Assuming (non uniform) OWFs exists, there exists an encryption scheme that has private-key indistinguishable encryptions for a single messages, but not for multiple messages

slide-52
SLIDE 52

Definitions Constructions Active Adversaries Multiple Encryptions

Multiple Encryption in the Private-Key Model Fact 12 Assuming (non uniform) OWFs exists, there exists an encryption scheme that has private-key indistinguishable encryptions for a single messages, but not for multiple messages Proof: Let g : {0, 1}n → {0, 1}n+1 be a (non-uniform) PRG, and for i ∈ N let gi be its ”iterated extension" to output of length i (see Lecture 2, Construction 15).

slide-53
SLIDE 53

Definitions Constructions Active Adversaries Multiple Encryptions

Multiple Encryption in the Private-Key Model Fact 12 Assuming (non uniform) OWFs exists, there exists an encryption scheme that has private-key indistinguishable encryptions for a single messages, but not for multiple messages Proof: Let g : {0, 1}n → {0, 1}n+1 be a (non-uniform) PRG, and for i ∈ N let gi be its ”iterated extension" to output of length i (see Lecture 2, Construction 15). Construction 13 G(1n) outputs e ← {0, 1}n, Ee(m) outputs g|m|(e) ⊕ m De(c) outputs g|c|(e) ⊕ c

slide-54
SLIDE 54

Definitions Constructions Active Adversaries Multiple Encryptions

Claim 14 (G, E, D) has private-key indistinguishable encryptions for a single message Proof:

slide-55
SLIDE 55

Definitions Constructions Active Adversaries Multiple Encryptions

Claim 14 (G, E, D) has private-key indistinguishable encryptions for a single message Proof: Assume not, and let B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and {zn ∈ {0, 1}p(n)}n∈N be the triplet that realizes it.

slide-56
SLIDE 56

Definitions Constructions Active Adversaries Multiple Encryptions

Claim 14 (G, E, D) has private-key indistinguishable encryptions for a single message Proof: Assume not, and let B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and {zn ∈ {0, 1}p(n)}n∈N be the triplet that realizes it. Wlog,

  • Pr[B(zn, g|xn|(Un) ⊕ xn) = 1] − Pr[B(zn, U|xn| ⊕ xn) = 1]
  • > neg(n)

(4)

slide-57
SLIDE 57

Definitions Constructions Active Adversaries Multiple Encryptions

Claim 14 (G, E, D) has private-key indistinguishable encryptions for a single message Proof: Assume not, and let B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and {zn ∈ {0, 1}p(n)}n∈N be the triplet that realizes it. Wlog,

  • Pr[B(zn, g|xn|(Un) ⊕ xn) = 1] − Pr[B(zn, U|xn| ⊕ xn) = 1]
  • > neg(n)

(4) Hence, B implies a (non-uniform) distinguisher for g

slide-58
SLIDE 58

Definitions Constructions Active Adversaries Multiple Encryptions

Claim 14 (G, E, D) has private-key indistinguishable encryptions for a single message Proof: Assume not, and let B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and {zn ∈ {0, 1}p(n)}n∈N be the triplet that realizes it. Wlog,

  • Pr[B(zn, g|xn|(Un) ⊕ xn) = 1] − Pr[B(zn, U|xn| ⊕ xn) = 1]
  • > neg(n)

(4) Hence, B implies a (non-uniform) distinguisher for g Claim 15 (G, E, D) does not have a private-key indistinguishable encryptions for multiple messages

slide-59
SLIDE 59

Definitions Constructions Active Adversaries Multiple Encryptions

Claim 14 (G, E, D) has private-key indistinguishable encryptions for a single message Proof: Assume not, and let B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and {zn ∈ {0, 1}p(n)}n∈N be the triplet that realizes it. Wlog,

  • Pr[B(zn, g|xn|(Un) ⊕ xn) = 1] − Pr[B(zn, U|xn| ⊕ xn) = 1]
  • > neg(n)

(4) Hence, B implies a (non-uniform) distinguisher for g Claim 15 (G, E, D) does not have a private-key indistinguishable encryptions for multiple messages Proof:

slide-60
SLIDE 60

Definitions Constructions Active Adversaries Multiple Encryptions

Claim 14 (G, E, D) has private-key indistinguishable encryptions for a single message Proof: Assume not, and let B, {xn, yn ∈ {0, 1}ℓ(n)}n∈N and {zn ∈ {0, 1}p(n)}n∈N be the triplet that realizes it. Wlog,

  • Pr[B(zn, g|xn|(Un) ⊕ xn) = 1] − Pr[B(zn, U|xn| ⊕ xn) = 1]
  • > neg(n)

(4) Hence, B implies a (non-uniform) distinguisher for g Claim 15 (G, E, D) does not have a private-key indistinguishable encryptions for multiple messages Proof: Take xn,1 = xn,2, yn,1 = yn,2 and D(c1, c2) outputs 1 iff c1 = c2

slide-61
SLIDE 61

Definitions Constructions Active Adversaries

Section 2 Constructions

slide-62
SLIDE 62

Definitions Constructions Active Adversaries

Private key indistinguishable encryptions for multiple messages Suffice to encrypt messages of some fixed length (here the length is n).

slide-63
SLIDE 63

Definitions Constructions Active Adversaries

Private key indistinguishable encryptions for multiple messages Suffice to encrypt messages of some fixed length (here the length is n). Let F be a (non-uniform) length preserving PRF

slide-64
SLIDE 64

Definitions Constructions Active Adversaries

Private key indistinguishable encryptions for multiple messages Suffice to encrypt messages of some fixed length (here the length is n). Let F be a (non-uniform) length preserving PRF Construction 16 G(1n): output e ← Fn, Ee(m): choose r ← {0, 1}n and output (r, e(r) ⊕ m) De(r, c): output e(r) ⊕ c

slide-65
SLIDE 65

Definitions Constructions Active Adversaries

Private key indistinguishable encryptions for multiple messages Suffice to encrypt messages of some fixed length (here the length is n). Let F be a (non-uniform) length preserving PRF Construction 16 G(1n): output e ← Fn, Ee(m): choose r ← {0, 1}n and output (r, e(r) ⊕ m) De(r, c): output e(r) ⊕ c Claim 17 (G, E, D) has private-key indistinguishable encryptions for a multiple messages

slide-66
SLIDE 66

Definitions Constructions Active Adversaries

Private key indistinguishable encryptions for multiple messages Suffice to encrypt messages of some fixed length (here the length is n). Let F be a (non-uniform) length preserving PRF Construction 16 G(1n): output e ← Fn, Ee(m): choose r ← {0, 1}n and output (r, e(r) ⊕ m) De(r, c): output e(r) ⊕ c Claim 17 (G, E, D) has private-key indistinguishable encryptions for a multiple messages Proof:

slide-67
SLIDE 67

Definitions Constructions Active Adversaries

Public-key indistinguishable encryptions for multiple messages Let (G, f, Inv) be a (non-uniform) TDP , and let b be an hardcore predicate for f.

slide-68
SLIDE 68

Definitions Constructions Active Adversaries

Public-key indistinguishable encryptions for multiple messages Let (G, f, Inv) be a (non-uniform) TDP , and let b be an hardcore predicate for f. Construction 18 (bit encryption) G(1n): output (e, d) ← G(1n) Ee(m): choose r ← {0, 1}n and output (y = fe(r), c = b(r) ⊕ m) Dd(y, c): output b(Invd(y)) ⊕ c

slide-69
SLIDE 69

Definitions Constructions Active Adversaries

Public-key indistinguishable encryptions for multiple messages Let (G, f, Inv) be a (non-uniform) TDP , and let b be an hardcore predicate for f. Construction 18 (bit encryption) G(1n): output (e, d) ← G(1n) Ee(m): choose r ← {0, 1}n and output (y = fe(r), c = b(r) ⊕ m) Dd(y, c): output b(Invd(y)) ⊕ c Claim 19 (G, E, D) has public-key indistinguishable encryptions for a multiple messages

slide-70
SLIDE 70

Definitions Constructions Active Adversaries

Public-key indistinguishable encryptions for multiple messages Let (G, f, Inv) be a (non-uniform) TDP , and let b be an hardcore predicate for f. Construction 18 (bit encryption) G(1n): output (e, d) ← G(1n) Ee(m): choose r ← {0, 1}n and output (y = fe(r), c = b(r) ⊕ m) Dd(y, c): output b(Invd(y)) ⊕ c Claim 19 (G, E, D) has public-key indistinguishable encryptions for a multiple messages We believe that public-key encryptions schemes are “more complex" than private-key ones

slide-71
SLIDE 71

Definitions Constructions Active Adversaries

Section 3 Active Adversaries

slide-72
SLIDE 72

Definitions Constructions Active Adversaries

Active Adversaries Chosen plaintext attack (CPA): The adversary can ask for encryption and choose the messages to distinguish accordingly

slide-73
SLIDE 73

Definitions Constructions Active Adversaries

Active Adversaries Chosen plaintext attack (CPA): The adversary can ask for encryption and choose the messages to distinguish accordingly Chosen ciphertext attack (CPA): The adversary can also ask for decryptions of certain messages

slide-74
SLIDE 74

Definitions Constructions Active Adversaries

Active Adversaries Chosen plaintext attack (CPA): The adversary can ask for encryption and choose the messages to distinguish accordingly Chosen ciphertext attack (CPA): The adversary can also ask for decryptions of certain messages

slide-75
SLIDE 75

Definitions Constructions Active Adversaries

Active Adversaries Chosen plaintext attack (CPA): The adversary can ask for encryption and choose the messages to distinguish accordingly Chosen ciphertext attack (CPA): The adversary can also ask for decryptions of certain messages In the public-key settings, the adversary is also given the public key

slide-76
SLIDE 76

Definitions Constructions Active Adversaries

Active Adversaries Chosen plaintext attack (CPA): The adversary can ask for encryption and choose the messages to distinguish accordingly Chosen ciphertext attack (CPA): The adversary can also ask for decryptions of certain messages In the public-key settings, the adversary is also given the public key We focus on indistinguishability, but each of the above definitions has an equivalent semantic security variant.

slide-77
SLIDE 77

Definitions Constructions Active Adversaries

CPA Security Let (G, E, D) be an encryption scheme. For a pair of algorithms A = (A1, A2), n ∈ N, z ∈ {0, 1}∗ and b ∈ {0, 1}, let: Experiment 20 (ExpCPA

A,n,z(b))

1

(e, d) ← G(1n)

2

(m0, m1, s) ← AEe(·)

1

(1n, z)

3

c ← Ee(mb)

4

Output AEe(·)

2

(1n, s, c)

slide-78
SLIDE 78

Definitions Constructions Active Adversaries

CPA Security Let (G, E, D) be an encryption scheme. For a pair of algorithms A = (A1, A2), n ∈ N, z ∈ {0, 1}∗ and b ∈ {0, 1}, let: Experiment 20 (ExpCPA

A,n,z(b))

1

(e, d) ← G(1n)

2

(m0, m1, s) ← AEe(·)

1

(1n, z)

3

c ← Ee(mb)

4

Output AEe(·)

2

(1n, s, c) Definition 21 (private key CPA) (G, E, D) has indistinguishable encryptions in the private-key model under CPA attack, if ∀ PPT A1, A2, and poly-bounded {zn}n∈N: |Pr[ExpCPA

A,n,zn(0) = 1] − Pr[ExpCPA A,n,zn(1) = 1]| = neg(n)

slide-79
SLIDE 79

Definitions Constructions Active Adversaries

public-key variant...

slide-80
SLIDE 80

Definitions Constructions Active Adversaries

public-key variant... The scheme from Construction 16 has indistinguishable encryptions in the private-key model under CPA attack(for short, private-key CPA secure)

slide-81
SLIDE 81

Definitions Constructions Active Adversaries

public-key variant... The scheme from Construction 16 has indistinguishable encryptions in the private-key model under CPA attack(for short, private-key CPA secure) The scheme from Construction 18 has indistinguishable encryptions in the public-key model (for short, public-key CPA secure)

slide-82
SLIDE 82

Definitions Constructions Active Adversaries

public-key variant... The scheme from Construction 16 has indistinguishable encryptions in the private-key model under CPA attack(for short, private-key CPA secure) The scheme from Construction 18 has indistinguishable encryptions in the public-key model (for short, public-key CPA secure) In both cases, definitions are not equivalent

slide-83
SLIDE 83

Definitions Constructions Active Adversaries

CCA Security Experiment 22 (ExpCCA1

A,n,z (b))

1

(e, d) ← G(1n)

2

(m0, m1, s) ← AEe(·),Dd(·)

1

(1n, z)

3

c ← Ee(mb)

4

Output AEe(·)

2

(1n, s, c)

slide-84
SLIDE 84

Definitions Constructions Active Adversaries

CCA Security Experiment 22 (ExpCCA1

A,n,z (b))

1

(e, d) ← G(1n)

2

(m0, m1, s) ← AEe(·),Dd(·)

1

(1n, z)

3

c ← Ee(mb)

4

Output AEe(·)

2

(1n, s, c) Experiment 23 (ExpCCA2

A,n,zn(b))

1

(e, d) ← G(1n)

2

(x0, x1, s) ← AEe(·),Dd(·)

1

(1n, z)

3

c ← Ee(xb)

4

Output A

Ee(·),D¬c

d (·)

2

(1n, s, c)

slide-85
SLIDE 85

Definitions Constructions Active Adversaries

Definition 24 (private key CCA1/CCA2) (G, E, D) has indistinguishable encryptions in the private-key model under x ∈ {CCA1, CCA2} attack, if ∀ PPT A1, A2, and poly-bounded {zn}n∈N: |Pr[Expx

A,n,zn(0) = 1] − Pr[Expx A,n,zn(1) = 1]| = neg(n)

slide-86
SLIDE 86

Definitions Constructions Active Adversaries

Definition 24 (private key CCA1/CCA2) (G, E, D) has indistinguishable encryptions in the private-key model under x ∈ {CCA1, CCA2} attack, if ∀ PPT A1, A2, and poly-bounded {zn}n∈N: |Pr[Expx

A,n,zn(0) = 1] − Pr[Expx A,n,zn(1) = 1]| = neg(n)

The public key definition is analogous

slide-87
SLIDE 87

Definitions Constructions Active Adversaries Private-key CCA2

Private-key CCA2 Is the scheme from Construction 16 private-key CCA1 secure?

slide-88
SLIDE 88

Definitions Constructions Active Adversaries Private-key CCA2

Private-key CCA2 Is the scheme from Construction 16 private-key CCA1 secure? CCA2 secure? Let (G, E, D) be a private key CPA scheme, and let (GenM, Mac, Vrfy) be an existential unforgeable strong MAC. Construction 25 G′(1n): Output (e ← GE(1n), k ← GenM(1n)).a E′

d,k(m): let c = Ee(m) and output (c, t = Mack(c))

De,k(c, t): if Vrfyk(c, t) = 1, output De(c). Otherwise,

  • utput ⊥

aWe assume for simplicity that the encryption and decryption keys are the

same.

slide-89
SLIDE 89

Definitions Constructions Active Adversaries Private-key CCA2

Private-key CCA2 Is the scheme from Construction 16 private-key CCA1 secure? CCA2 secure? Let (G, E, D) be a private key CPA scheme, and let (GenM, Mac, Vrfy) be an existential unforgeable strong MAC. Construction 25 G′(1n): Output (e ← GE(1n), k ← GenM(1n)).a E′

d,k(m): let c = Ee(m) and output (c, t = Mack(c))

De,k(c, t): if Vrfyk(c, t) = 1, output De(c). Otherwise,

  • utput ⊥

aWe assume for simplicity that the encryption and decryption keys are the

same.

slide-90
SLIDE 90

Definitions Constructions Active Adversaries Private-key CCA2

Theorem 26 Construction 25 is a private-key CCA2-secure encryption scheme.

slide-91
SLIDE 91

Definitions Constructions Active Adversaries Private-key CCA2

Theorem 26 Construction 25 is a private-key CCA2-secure encryption scheme. Proof: ?

slide-92
SLIDE 92

Definitions Constructions Active Adversaries Public-key CCA1

Public-key CCA1

slide-93
SLIDE 93

Definitions Constructions Active Adversaries Public-key CCA1

Public-key CCA1 Let (G, E, D) be a public-key CPA scheme and let (P, V) be a NIZK for L = {(c0, c1, pk0, pk1): ∃(m, z0, z1) s.t. c0 = Epk0(m, z0) ∧ c1 = Epk1(m, z1)}

slide-94
SLIDE 94

Definitions Constructions Active Adversaries Public-key CCA1

Public-key CCA1 Let (G, E, D) be a public-key CPA scheme and let (P, V) be a NIZK for L = {(c0, c1, pk0, pk1): ∃(m, z0, z1) s.t. c0 = Epk0(m, z0) ∧ c1 = Epk1(m, z1)} Construction 27 (The Naor-Yung Paradigm) G′(1n):

1

For i ∈ {0, 1}: set (ski, pki) ← G(1n).

2

Let r ← {0, 1}ℓ(n), and output pk′ = (pk0, pk1, r) and sk′ = (pk′, sk0, sk1)

E′

pk′(m):

1

For i ∈ {0, 1}: ci = Epki(m, zi), where zi is a uniformly chosen string of the right length

2

π ← P((c0, c1, pk0, pk1), (m, z0, z1), r)

3

Output (c0, c1, π).

D′

sk′(c0, c1, π): If V((c0, c1, pk0, pk1), π, r) = 1, return

Dsk0(c0). Otherwise, return ⊥

slide-95
SLIDE 95

Definitions Constructions Active Adversaries Public-key CCA1

Omitted details: We assume for simplicity that the encryption key output by G(1n) is of length at least n. ℓ is an arbitrary polynomial, and determines the maximum message length to encrypt using ”security parameter" n.

slide-96
SLIDE 96

Definitions Constructions Active Adversaries Public-key CCA1

Omitted details: We assume for simplicity that the encryption key output by G(1n) is of length at least n. ℓ is an arbitrary polynomial, and determines the maximum message length to encrypt using ”security parameter" n. Is the scheme CCA1 secure?

slide-97
SLIDE 97

Definitions Constructions Active Adversaries Public-key CCA1

Omitted details: We assume for simplicity that the encryption key output by G(1n) is of length at least n. ℓ is an arbitrary polynomial, and determines the maximum message length to encrypt using ”security parameter" n. Is the scheme CCA1 secure? We need the NIZK to be “adaptive secure". Theorem 28 Assuming that (P, V) is adaptive secure, then Construction 27 is a public-key CCA1 secure encryption scheme.

slide-98
SLIDE 98

Definitions Constructions Active Adversaries Public-key CCA1

Omitted details: We assume for simplicity that the encryption key output by G(1n) is of length at least n. ℓ is an arbitrary polynomial, and determines the maximum message length to encrypt using ”security parameter" n. Is the scheme CCA1 secure? We need the NIZK to be “adaptive secure". Theorem 28 Assuming that (P, V) is adaptive secure, then Construction 27 is a public-key CCA1 secure encryption scheme. Proof: Given an attacker A′ for the CCA1 security of (G′, E′, D′), we use it to construct an attacker A on the CPA security of (G, E, D). Let S = (S1, S2) be the (adaptive) simulator for (P, V, L)

slide-99
SLIDE 99

Definitions Constructions Active Adversaries Public-key CCA1

Algorithm 29 (A) Input: (1n, pk)

1

let j ← {0, 1}, pk1−j = pk, (pkj, skj) ← G(1n) and (r, s) ← S1(1n)

2

Emulate A′(1n, pk′ = (pk0, pk1, r)) as follows:

3

On query (c0, c1, π) of A′ to D′: If V((c0, c1, pk0, pk1), π, r) = 1, answer Dskj(cj). Otherwise, answer ⊥.

4

Output the same pair (m0, m1) as A′ does

5

On challenge c ( = Epk(mb)):

Set c1−j = c, a ← {0, 1}, cj = Epkj(ma), and π ← S2((c0, c1, pk0, pk1), r, s) Send c′ = (c0, c1, π) to A′

6

Output the same value that A′ does

slide-100
SLIDE 100

Definitions Constructions Active Adversaries Public-key CCA1

Claim 30 Assume that A′ breaks the CCA1 security of (G′, E′, D′) with probability δ(n), then A breaks the CPA security of (G, E, D) with probability (δ(n) − neg(n))/2.

slide-101
SLIDE 101

Definitions Constructions Active Adversaries Public-key CCA1

Claim 30 Assume that A′ breaks the CCA1 security of (G′, E′, D′) with probability δ(n), then A breaks the CPA security of (G, E, D) with probability (δ(n) − neg(n))/2. The adaptive soundness and adaptive zero-knowledge of (P, V), yields that Pr[A′ “makes" A(1n) decrypt an invalid cipher] = neg(n) (5)

slide-102
SLIDE 102

Definitions Constructions Active Adversaries Public-key CCA1

Claim 30 Assume that A′ breaks the CCA1 security of (G′, E′, D′) with probability δ(n), then A breaks the CPA security of (G, E, D) with probability (δ(n) − neg(n))/2. The adaptive soundness and adaptive zero-knowledge of (P, V), yields that Pr[A′ “makes" A(1n) decrypt an invalid cipher] = neg(n) (5) Hence, only negligible information leaks about j.

slide-103
SLIDE 103

Definitions Constructions Active Adversaries Public-key CCA1

Claim 30 Assume that A′ breaks the CCA1 security of (G′, E′, D′) with probability δ(n), then A breaks the CPA security of (G, E, D) with probability (δ(n) − neg(n))/2. The adaptive soundness and adaptive zero-knowledge of (P, V), yields that Pr[A′ “makes" A(1n) decrypt an invalid cipher] = neg(n) (5) Hence, only negligible information leaks about j. Let A′(1n, a∗, b∗) be the output of A′(1n) in the emulation induced by A, where a = a∗ and b = b∗.

slide-104
SLIDE 104

Definitions Constructions Active Adversaries Public-key CCA1

Claim 30 Assume that A′ breaks the CCA1 security of (G′, E′, D′) with probability δ(n), then A breaks the CPA security of (G, E, D) with probability (δ(n) − neg(n))/2. The adaptive soundness and adaptive zero-knowledge of (P, V), yields that Pr[A′ “makes" A(1n) decrypt an invalid cipher] = neg(n) (5) Hence, only negligible information leaks about j. Let A′(1n, a∗, b∗) be the output of A′(1n) in the emulation induced by A, where a = a∗ and b = b∗. It holds that

1

A′(1n, 0, 1) ≡ A′(1n, 1, 0)

slide-105
SLIDE 105

Definitions Constructions Active Adversaries Public-key CCA1

Claim 30 Assume that A′ breaks the CCA1 security of (G′, E′, D′) with probability δ(n), then A breaks the CPA security of (G, E, D) with probability (δ(n) − neg(n))/2. The adaptive soundness and adaptive zero-knowledge of (P, V), yields that Pr[A′ “makes" A(1n) decrypt an invalid cipher] = neg(n) (5) Hence, only negligible information leaks about j. Let A′(1n, a∗, b∗) be the output of A′(1n) in the emulation induced by A, where a = a∗ and b = b∗. It holds that

1

A′(1n, 0, 1) ≡ A′(1n, 1, 0)

2

The adaptive zero-knowledge of (P, V) yields that |Pr[A′(1n, 1, 1) = 1] − Pr[A′(1n, 0, 0) = 1]| ≥ δ(n) − neg(n)

slide-106
SLIDE 106

Definitions Constructions Active Adversaries Public-key CCA1

Let A(b) be the outputs of A when the challenge is b.

slide-107
SLIDE 107

Definitions Constructions Active Adversaries Public-key CCA1

Let A(b) be the outputs of A when the challenge is b. |Pr[A(1) = 1] − Pr[A(0) = 1]| =

  • 1

2(Pr[A′(0, 1) = 1] + Pr[A′(1, 1) = 1]) −1 2(Pr[A′(0, 0) = 1] + Pr[A′(1, 0) = 1])

slide-108
SLIDE 108

Definitions Constructions Active Adversaries Public-key CCA1

Let A(b) be the outputs of A when the challenge is b. |Pr[A(1) = 1] − Pr[A(0) = 1]| =

  • 1

2(Pr[A′(0, 1) = 1] + Pr[A′(1, 1) = 1]) −1 2(Pr[A′(0, 0) = 1] + Pr[A′(1, 0) = 1])

  • ≥ 1

2

  • Pr[A′(1, 1) = 1] − Pr[A′(0, 0) = 1]
  • −1

2

  • Pr[A′(1, 0) = 1] − Pr[A′(0, 1) = 1]
slide-109
SLIDE 109

Definitions Constructions Active Adversaries Public-key CCA1

Let A(b) be the outputs of A when the challenge is b. |Pr[A(1) = 1] − Pr[A(0) = 1]| =

  • 1

2(Pr[A′(0, 1) = 1] + Pr[A′(1, 1) = 1]) −1 2(Pr[A′(0, 0) = 1] + Pr[A′(1, 0) = 1])

  • ≥ 1

2

  • Pr[A′(1, 1) = 1] − Pr[A′(0, 0) = 1]
  • −1

2

  • Pr[A′(1, 0) = 1] − Pr[A′(0, 1) = 1]
  • ≥ (δ(n) − neg(n))/2
slide-110
SLIDE 110

Definitions Constructions Active Adversaries Public-key CCA1

Public-key CCA2 Is Construction 27 CCA2 secure?

slide-111
SLIDE 111

Definitions Constructions Active Adversaries Public-key CCA1

Public-key CCA2 Is Construction 27 CCA2 secure? Problem: Soundness might not hold with respect to the simulated CRS, after seeing a proof for an invalid statement

slide-112
SLIDE 112

Definitions Constructions Active Adversaries Public-key CCA1

Public-key CCA2 Is Construction 27 CCA2 secure? Problem: Soundness might not hold with respect to the simulated CRS, after seeing a proof for an invalid statement Solution: use simulation sound NIZK