Adaptive partitioning Dennis Hofheinz (KIT, Karlsruhe) Public-Key - - PowerPoint PPT Presentation

adaptive partitioning
SMART_READER_LITE
LIVE PREVIEW

Adaptive partitioning Dennis Hofheinz (KIT, Karlsruhe) Public-Key - - PowerPoint PPT Presentation

Adaptive partitioning Dennis Hofheinz (KIT, Karlsruhe) Public-Key Encryption Public-Key Encryption Accepted security notion: chosen-ciphertext security (IND-CCA) Public-Key Encryption Accepted security notion: chosen-ciphertext security


slide-1
SLIDE 1

Dennis Hofheinz (KIT, Karlsruhe)

Adaptive partitioning

slide-2
SLIDE 2

Public-Key Encryption

slide-3
SLIDE 3

Public-Key Encryption

  • Accepted security notion: chosen-ciphertext security (IND-CCA)
slide-4
SLIDE 4

Public-Key Encryption

  • Accepted security notion: chosen-ciphertext security (IND-CCA)

Adversary A Challenger pk m0,m1 Enc(pk,mb) b' Dec(sk,·)

slide-5
SLIDE 5

Public-Key Encryption

  • Accepted security notion: chosen-ciphertext security (IND-CCA)

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

Adversary A Challenger pk m0,m1 Enc(pk,mb) b' Dec(sk,·)

slide-6
SLIDE 6

Public-Key Encryption

  • Accepted security notion: chosen-ciphertext security (IND-CCA)

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

  • Observation: covers only 1-user, 1-ciphertext scenario

Adversary A Challenger pk m0,m1 Enc(pk,mb) b' Dec(sk,·)

slide-7
SLIDE 7

Public-Key Encryption

  • Accepted security notion: chosen-ciphertext security (IND-CCA)

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

  • Observation: covers only 1-user, 1-ciphertext scenario

Hybrid argument → multi-user, multi-ciphertext security

Adversary A Challenger pk m0,m1 Enc(pk,mb) b' Dec(sk,·)

slide-8
SLIDE 8

Public-Key Encryption

  • Accepted security notion: chosen-ciphertext security (IND-CCA)

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

  • Observation: covers only 1-user, 1-ciphertext scenario

Hybrid argument → multi-user, multi-ciphertext security

But: security guarantees may degrade in scenario size

Adversary A Challenger pk m0,m1 Enc(pk,mb) b' Dec(sk,·)

slide-9
SLIDE 9

Public-Key Encryption

  • Accepted security notion: chosen-ciphertext security (IND-CCA)

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

  • Observation: covers only 1-user, 1-ciphertext scenario

Hybrid argument → multi-user, multi-ciphertext security

But: security guarantees may degrade in scenario size

So: scenario size may influence keylength recommendations

Adversary A Challenger pk m0,m1 Enc(pk,mb) b' Dec(sk,·)

slide-10
SLIDE 10

This talk

slide-11
SLIDE 11

This talk

  • Tightly secure PKE: multi-challenge IND-CCA

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

pk m0,m1 Enc(pk,mb) b' Dec(sk,·) repeat Adversary A Challenger

slide-12
SLIDE 12

This talk

  • Tightly secure PKE: multi-challenge IND-CCA

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

  • Goal: tight reduction to standard assumption (e.g., DDH)

pk m0,m1 Enc(pk,mb) b' Dec(sk,·) repeat Adversary A Challenger

slide-13
SLIDE 13

This talk

  • Tightly secure PKE: multi-challenge IND-CCA

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

  • Goal: tight reduction to standard assumption (e.g., DDH)

Tight: reduction loss independent of # ciphertexts/queries

pk m0,m1 Enc(pk,mb) b' Dec(sk,·) repeat Adversary A Challenger

slide-14
SLIDE 14

This talk

  • Tightly secure PKE: multi-challenge IND-CCA

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

  • Goal: tight reduction to standard assumption (e.g., DDH)

Tight: reduction loss independent of # ciphertexts/queries

Enables security guarantees for arbitrary/unknown scenarios

pk m0,m1 Enc(pk,mb) b' Dec(sk,·) repeat Adversary A Challenger

slide-15
SLIDE 15

This talk

  • Tightly secure PKE: multi-challenge IND-CCA

Adv(A) = Pr [ b = b' ] – 1/2, should be negligible

  • Goal: tight reduction to standard assumption (e.g., DDH)

Tight: reduction loss independent of # ciphertexts/queries

Enables security guarantees for arbitrary/unknown scenarios

  • Difficulty: standard techniques yield non-tight reductions

pk m0,m1 Enc(pk,mb) b' Dec(sk,·) repeat Adversary A Challenger

slide-16
SLIDE 16

Tight CCA security

slide-17
SLIDE 17

Tight CCA security

  • Tightly secure PKE: multi-challenge IND-CCA
  • Standard techniques yield non-tight reductions, examples:

m0

(1),m1 (1)

C(1)=Enc(pk,mb

(1))

m0

(Q),m1 (Q)

C(Q)=Enc(pk,mb

(Q))

… Challenger Adversary A

slide-18
SLIDE 18

Tight CCA security

  • Tightly secure PKE: multi-challenge IND-CCA
  • Standard techniques yield non-tight reductions, examples:

IBE: reduction knows "punctured" sk, randomize one C(i)

m0

(1),m1 (1)

C(1)=Enc(pk,mb

(1))

m0

(Q),m1 (Q)

C(Q)=Enc(pk,mb

(Q))

… Challenger Adversary A

slide-19
SLIDE 19

Tight CCA security

  • Tightly secure PKE: multi-challenge IND-CCA
  • Standard techniques yield non-tight reductions, examples:

IBE: reduction knows "punctured" sk, randomize one C(i)

HPS: reduction knows full sk, entropy in sk randomizes one C(i)

m0

(1),m1 (1)

C(1)=Enc(pk,mb

(1))

m0

(Q),m1 (Q)

C(Q)=Enc(pk,mb

(Q))

… Challenger Adversary A

slide-20
SLIDE 20

Tight CCA security

  • Tightly secure PKE: multi-challenge IND-CCA
  • Standard techniques yield non-tight reductions, examples:

IBE: reduction knows "punctured" sk, randomize one C(i)

HPS: reduction knows full sk, entropy in sk randomizes one C(i)

NY (double encryption with consistency proof): make one C(i) "special" (with simulated proof), requires simulation-soundness

  • Difficulty: simulation-soundness in face of many simulated proofs

m0

(1),m1 (1)

C(1)=Enc(pk,mb

(1))

m0

(Q),m1 (Q)

C(Q)=Enc(pk,mb

(Q))

… Challenger Adversary A

slide-21
SLIDE 21

Previous work / contribution

slide-22
SLIDE 22

Previous work / contribution

Scheme |pk| |C| (KEM) Loss Assumption CS98/BBM00 3 3 O(Q) DDH KD04/BBM00 2 2 O(Q) DDH CS03 3 2 O(Q) DCR HJ12 O(1) O(λ) O(1) DLIN (PFG) LPJY15 O(λ) 47 O(λ) DLIN (PFG) H16 2 60 O(λ) DLIN (PFG) GHKW16 2λ 3 O(λ) DDH This work 24 6 O(λ) DLIN (PFG) This work 20 30 O(λ) DCR

slide-23
SLIDE 23

Previous work / contribution

  • This work: not yet practical, but conceptual progress

Scheme |pk| |C| (KEM) Loss Assumption CS98/BBM00 3 3 O(Q) DDH KD04/BBM00 2 2 O(Q) DDH CS03 3 2 O(Q) DCR HJ12 O(1) O(λ) O(1) DLIN (PFG) LPJY15 O(λ) 47 O(λ) DLIN (PFG) H16 2 60 O(λ) DLIN (PFG) GHKW16 2λ 3 O(λ) DDH This work 24 6 O(λ) DLIN (PFG) This work 20 30 O(λ) DCR

slide-24
SLIDE 24

Previous work / contribution

  • This work: not yet practical, but conceptual progress

Generic new techniques to randomize challenge ciphertexts

Scheme |pk| |C| (KEM) Loss Assumption CS98/BBM00 3 3 O(Q) DDH KD04/BBM00 2 2 O(Q) DDH CS03 3 2 O(Q) DCR HJ12 O(1) O(λ) O(1) DLIN (PFG) LPJY15 O(λ) 47 O(λ) DLIN (PFG) H16 2 60 O(λ) DLIN (PFG) GHKW16 2λ 3 O(λ) DDH This work 24 6 O(λ) DLIN (PFG) This work 20 30 O(λ) DCR

slide-25
SLIDE 25

Previous work / contribution

  • This work: not yet practical, but conceptual progress

Generic new techniques to randomize challenge ciphertexts

Yields first DCR-based tightly secure PKE scheme

Scheme |pk| |C| (KEM) Loss Assumption CS98/BBM00 3 3 O(Q) DDH KD04/BBM00 2 2 O(Q) DDH CS03 3 2 O(Q) DCR HJ12 O(1) O(λ) O(1) DLIN (PFG) LPJY15 O(λ) 47 O(λ) DLIN (PFG) H16 2 60 O(λ) DLIN (PFG) GHKW16 2λ 3 O(λ) DDH This work 24 6 O(λ) DLIN (PFG) This work 20 30 O(λ) DCR

slide-26
SLIDE 26

Previous work / contribution

  • This work: not yet practical, but conceptual progress

Generic new techniques to randomize challenge ciphertexts

Yields first DCR-based tightly secure PKE scheme

  • Remaining talk: overview over new techniques

Scheme |pk| |C| (KEM) Loss Assumption CS98/BBM00 3 3 O(Q) DDH KD04/BBM00 2 2 O(Q) DDH CS03 3 2 O(Q) DCR HJ12 O(1) O(λ) O(1) DLIN (PFG) LPJY15 O(λ) 47 O(λ) DLIN (PFG) H16 2 60 O(λ) DLIN (PFG) GHKW16 2λ 3 O(λ) DDH This work 24 6 O(λ) DLIN (PFG) This work 20 30 O(λ) DCR

slide-27
SLIDE 27

Basic strategy

slide-28
SLIDE 28

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Basic strategy

  • This work: not yet practical, but conceptual progress

– Generic new techniques to randomize challenge ciphertexts – Yields first DCR-based tightly secure PKE scheme

  • Remaining talk: overview over new techniques
  • Starting point: Naor-Yung double encryption:
slide-29
SLIDE 29

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Basic strategy

  • This work: not yet practical, but conceptual progress

– Generic new techniques to randomize challenge ciphertexts – Yields first DCR-based tightly secure PKE scheme

  • Remaining talk: overview over new techniques
  • Starting point: Naor-Yung double encryption:

Consistency proof: proves that M0=M1

slide-30
SLIDE 30

Naor-Yung encryption

slide-31
SLIDE 31

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Naor-Yung encryption

  • One (known) way to prove Naor-Yung secure:
slide-32
SLIDE 32

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Naor-Yung encryption

  • One (known) way to prove Naor-Yung secure:

0) IND-CCA experiment (many challenges), use sk0 to decrypt

slide-33
SLIDE 33

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Naor-Yung encryption

  • One (known) way to prove Naor-Yung secure:

0) IND-CCA experiment (many challenges), use sk0 to decrypt 1) simulate all proofs π (using NIZK simulator) in challenges

NIZK ind.

slide-34
SLIDE 34

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Naor-Yung encryption

  • One (known) way to prove Naor-Yung secure:

0) IND-CCA experiment (many challenges), use sk0 to decrypt 1) simulate all proofs π (using NIZK simulator) in challenges 2) randomize all M1 in challenges

NIZK ind. CPA

slide-35
SLIDE 35

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Naor-Yung encryption

  • One (known) way to prove Naor-Yung secure:

0) IND-CCA experiment (many challenges), use sk0 to decrypt 1) simulate all proofs π (using NIZK simulator) in challenges 2) randomize all M1 in challenges 3) use sk1 (not sk0) to decrypt (in decryption queries)

NIZK ind. CPA sim-snd

slide-36
SLIDE 36

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Naor-Yung encryption

  • One (known) way to prove Naor-Yung secure:

0) IND-CCA experiment (many challenges), use sk0 to decrypt 1) simulate all proofs π (using NIZK simulator) in challenges 2) randomize all M1 in challenges 3) use sk1 (not sk0) to decrypt (in decryption queries) 4) randomize all M0 in challenges

NIZK ind. CPA CPA sim-snd

slide-37
SLIDE 37

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Naor-Yung encryption

  • One (known) way to prove Naor-Yung secure:

0) IND-CCA experiment (many challenges), use sk0 to decrypt 1) simulate all proofs π (using NIZK simulator) in challenges 2) randomize all M1 in challenges 3) use sk1 (not sk0) to decrypt (in decryption queries) 4) randomize all M0 in challenges

  • Difficulty outsourced into simulation-sound NIZK proofs π

(many-challenge setting, with tight security reduction) NIZK ind. CPA CPA sim-snd

slide-38
SLIDE 38

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

Naor-Yung encryption

  • One (known) way to prove Naor-Yung secure:

0) IND-CCA experiment (many challenges), use sk0 to decrypt 1) simulate all proofs π (using NIZK simulator) in challenges 2) randomize all M1 in challenges 3) use sk1 (not sk0) to decrypt (in decryption queries) 4) randomize all M0 in challenges

  • Difficulty outsourced into simulation-sound NIZK proofs π

(many-challenge setting, with tight security reduction) NIZK ind. CPA CPA sim-snd

This work: New randomization strategy/ New way to prove NY in multi-challenge setting

slide-39
SLIDE 39

Recap: hash proof systems

slide-40
SLIDE 40

Recap: hash proof systems

  • Ingredient: hash proof systems (designated-verifier NIZKs):

Prover Verifier

(knows hpk) (knows hsk)

(x,π)

slide-41
SLIDE 41

Recap: hash proof systems

  • Ingredient: hash proof systems (designated-verifier NIZKs):

Prover Verifier

(knows hpk) (knows hsk)

– Unique proofs for x L, can be computed in two ways:

∊ π = hpk(x,w) = hsk(x)

(x,π)

slide-42
SLIDE 42

Recap: hash proof systems

  • Ingredient: hash proof systems (designated-verifier NIZKs):

Prover Verifier

(knows hpk) (knows hsk)

– Unique proofs for x L, can be computed in two ways:

∊ π = hpk(x,w) = hsk(x)

– NIZK simulator uses secret key hsk to compute π

(x,π)

slide-43
SLIDE 43

Recap: hash proof systems

  • Ingredient: hash proof systems (designated-verifier NIZKs):

Prover Verifier

(knows hpk) (knows hsk)

– Unique proofs for x L, can be computed in two ways:

∊ π = hpk(x,w) = hsk(x)

– NIZK simulator uses secret key hsk to compute π – Statistical soundness:

  • if only proofs for true statements x known…

… then any proof π for false x inf.th. hidden

(x,π)

slide-44
SLIDE 44

Recap: hash proof systems

  • Ingredient: hash proof systems (designated-verifier NIZKs):

Prover Verifier

(knows hpk) (knows hsk)

– Unique proofs for x L, can be computed in two ways:

∊ π = hpk(x,w) = hsk(x)

– NIZK simulator uses secret key hsk to compute π – Statistical soundness:

  • if only proofs for true statements x known…

… then any proof π for false x inf.th. hidden

  • Efficient HPSs for linear [CS02] and OR-languages [ABP15] known

(x,π)

slide-45
SLIDE 45

Idea for our proof system (uses HPSs)

slide-46
SLIDE 46

Idea for our proof system (uses HPSs)

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-47
SLIDE 47

Idea for our proof system (uses HPSs)

  • Structure of π:

, where C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) π = (π0, π1, Com(τ))

slide-48
SLIDE 48

Idea for our proof system (uses HPSs)

  • Structure of π:

, where

– τ is a random bit (similar to Katz-Wang signature scheme)

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) π = (π0, π1, Com(τ))

slide-49
SLIDE 49

Idea for our proof system (uses HPSs)

  • Structure of π:

, where

– τ is a random bit (similar to Katz-Wang signature scheme) – π0 is a HPS proof (under hsk0) for (M0=M1 τ=0)

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) π = (π0, π1, Com(τ))

slide-50
SLIDE 50

Idea for our proof system (uses HPSs)

  • Structure of π:

, where

– τ is a random bit (similar to Katz-Wang signature scheme) – π0 is a HPS proof (under hsk0) for (M0=M1 τ=0)

– π1 is a HPS proof (under hsk1) for (M0=M1 τ=1)

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) π = (π0, π1, Com(τ))

slide-51
SLIDE 51

Idea for our proof system (uses HPSs)

  • Structure of π:

, where

– τ is a random bit (similar to Katz-Wang signature scheme) – π0 is a HPS proof (under hsk0) for (M0=M1 τ=0)

– π1 is a HPS proof (under hsk1) for (M0=M1 τ=1)

  • Simulated π for bad C breaks only hsk1-τ (but not hskτ)

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) π = (π0, π1, Com(τ))

slide-52
SLIDE 52

Adaptive partitioning

slide-53
SLIDE 53

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Randomization strategy:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5)

slide-54
SLIDE 54

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Randomization strategy:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) τ=0 τ=1

slide-55
SLIDE 55

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Randomization strategy:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) τ=0 τ=1 C(5) C(1) C(2)

slide-56
SLIDE 56

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Randomization strategy:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C(5) C(1) C(2) τ=0 τ=1

slide-57
SLIDE 57

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Randomization strategy:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C(5) C(1) C(2) τ=0 τ=1 C(Q)

slide-58
SLIDE 58

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Randomization strategy:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C(5) C(1) C(2) C(Q)

slide-59
SLIDE 59

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Randomization strategy:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C(5) C(1) C(2) C(Q) C(10)

slide-60
SLIDE 60

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Randomization strategy:
  • Requires O(λ) steps

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C(5) C(1) C(2) C(Q) C(10)

slide-61
SLIDE 61

Adaptive partitioning

slide-62
SLIDE 62

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Step 1: guess τ* (τ of first Dec-query with valid π and M0≠M1)

(This means adversary breaks soundness of hsk1-τ*) C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-63
SLIDE 63

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Step 1: guess τ* (τ of first Dec-query with valid π and M0≠M1)

(This means adversary breaks soundness of hsk1-τ*)

  • Step 2: randomize all challenge ciphertexts with τ=1-τ*

(This allows to randomize half of all challenge ciphertexts) C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-64
SLIDE 64

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Step 1: guess τ* (τ of first Dec-query with valid π and M0≠M1)

(This means adversary breaks soundness of hsk1-τ*)

  • Step 2: randomize all challenge ciphertexts with τ=1-τ*

(This allows to randomize half of all challenge ciphertexts)

  • Step 3: re-randomize partitioning bit τ in challenges, then goto 1

(Prepare to randomize one half of another random partition of challenges) C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-65
SLIDE 65

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Step 1: guess τ* (τ of first Dec-query with valid π and M0≠M1)

(This means adversary breaks soundness of hsk1-τ*)

  • Step 2: randomize all challenge ciphertexts with τ=1-τ*

(This allows to randomize half of all challenge ciphertexts)

  • Step 3: re-randomize partitioning bit τ in challenges, then goto 1

(Prepare to randomize one half of another random partition of challenges)

  • Difference to [KW03]: KW keep τ public (but simulation capabilities hidden)

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-66
SLIDE 66

Adaptive partitioning

slide-67
SLIDE 67

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Illustration:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C*

slide-68
SLIDE 68

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Illustration:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C* τ=0 τ=1

slide-69
SLIDE 69

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Illustration:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C* τ=0 τ=1 C(5) C(1) C(2)

slide-70
SLIDE 70

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Illustration:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C* C(5) C(1) C(2) τ=0 τ=1

slide-71
SLIDE 71

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Illustration:

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π ) C(1) C(Q) C(10) C(2) C(5) C* C(5) C(1) C(2) τ=0 τ=1 C(Q)

slide-72
SLIDE 72

Adaptive partitioning

slide-73
SLIDE 73

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Omitted difficulty: how does this re-partitioning work?
  • Step 3: re-randomize partitioning bit τ in challenges, then goto 1

(Prepare to randomize one half of another random partition of challenges) C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-74
SLIDE 74

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Omitted difficulty: how does this re-partitioning work?
  • Step 3: re-randomize partitioning bit τ in challenges, then goto 1

(Prepare to randomize one half of another random partition of challenges)

Problem: how to manage/recall what is randomized

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-75
SLIDE 75

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Omitted difficulty: how does this re-partitioning work?
  • Step 3: re-randomize partitioning bit τ in challenges, then goto 1

(Prepare to randomize one half of another random partition of challenges)

Problem: how to manage/recall what is randomized

Solution idea: in i-th randomization cycle, use i-th bit of H(C0,C1)

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-76
SLIDE 76

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Omitted difficulty: how does this re-partitioning work?
  • Step 3: re-randomize partitioning bit τ in challenges, then goto 1

(Prepare to randomize one half of another random partition of challenges)

Problem: how to manage/recall what is randomized

Solution idea: in i-th randomization cycle, use i-th bit of H(C0,C1)

  • Remaining problem: efficient HPSs for OR-proofs

C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-77
SLIDE 77

π = (π0, π1, Com(τ))

Adaptive partitioning

π0 proves (M0=M1 τ=0) under hsk ∨ π1 proves (M0=M1 τ=1) under hsk ∨

1

  • Omitted difficulty: how does this re-partitioning work?
  • Step 3: re-randomize partitioning bit τ in challenges, then goto 1

(Prepare to randomize one half of another random partition of challenges)

Problem: how to manage/recall what is randomized

Solution idea: in i-th randomization cycle, use i-th bit of H(C0,C1)

  • Remaining problem: efficient HPSs for OR-proofs

In pairing-friendly groups: [ABP15]

In DCR setting: new proof system (uses that we can compute dlogs in DCR) C = ( C0=Enc(pk0,M0), C1=Enc(pk1,M1), π )

slide-78
SLIDE 78

Summary

slide-79
SLIDE 79

Summary

  • New strategy to obtain tightly IND-CCA secure PKE schemes
slide-80
SLIDE 80

Summary

  • New strategy to obtain tightly IND-CCA secure PKE schemes
  • Core difference to previous approaches: decide adaptively which

ciphertexts are to be randomized in each randomization cycle

slide-81
SLIDE 81

Summary

  • New strategy to obtain tightly IND-CCA secure PKE schemes
  • Core difference to previous approaches: decide adaptively which

ciphertexts are to be randomized in each randomization cycle

  • Main benefit: DCR-based solution (using new OR-proofs)
slide-82
SLIDE 82

Summary

  • New strategy to obtain tightly IND-CCA secure PKE schemes
  • Core difference to previous approaches: decide adaptively which

ciphertexts are to be randomized in each randomization cycle

  • Main benefit: DCR-based solution (using new OR-proofs)
  • Follow-up work shows potential of ideas
slide-83
SLIDE 83

Summary

  • New strategy to obtain tightly IND-CCA secure PKE schemes
  • Core difference to previous approaches: decide adaptively which

ciphertexts are to be randomized in each randomization cycle

  • Main benefit: DCR-based solution (using new OR-proofs)
  • Follow-up work shows potential of ideas

Compact tightly secure PKE from DDH

Compact tightly secure structure-preserving signatures