Bi-Deniable Public-Key Encryption Adam ONeill 1 , 2 Chris Peikert 1 - - PowerPoint PPT Presentation

bi deniable public key encryption
SMART_READER_LITE
LIVE PREVIEW

Bi-Deniable Public-Key Encryption Adam ONeill 1 , 2 Chris Peikert 1 - - PowerPoint PPT Presentation

Bi-Deniable Public-Key Encryption Adam ONeill 1 , 2 Chris Peikert 1 Brent Waters 2 1 Georgia Tech 2 U Texas, Austin CRYPTO 2011 17 Aug 1 / 13 Deniable Encryption [CDNO97] c = Enc pk (surpriz prty 4 big bro!) (Images courtesy


slide-1
SLIDE 1

Bi-Deniable Public-Key Encryption Adam O’Neill1,2 Chris Peikert1 Brent Waters2

1Georgia Tech 2U Texas, Austin

CRYPTO 2011 17 Aug

1 / 13

slide-2
SLIDE 2

Deniable Encryption

[CDNO’97]

c = Encpk(“surpriz prty 4 big bro!”)

(Images courtesy xkcd.org) 2 / 13

slide-3
SLIDE 3

Deniable Encryption

[CDNO’97]

c = Encpk(“surpriz prty 4 big bro!”) !!

(Images courtesy xkcd.org) 2 / 13

slide-4
SLIDE 4

Deniable Encryption

[CDNO’97]

c = DenEncpk(“surpriz prty 4 big bro!”)

(Images courtesy xkcd.org)

What We Want: Bi-Deniability

1 Bob decrypts Alice’s message correctly, but . . .

2 / 13

slide-5
SLIDE 5

Deniable Encryption

[CDNO’97]

(fake!) (fake!)

c = DenEncpk(“surpriz prty 4 big bro!”)

(Images courtesy xkcd.org)

What We Want: Bi-Deniability

1 Bob decrypts Alice’s message correctly, but . . .

2 / 13

slide-6
SLIDE 6

Deniable Encryption

[CDNO’97]

c = Encpk(“Dad is so lame!!!!”)

(Images courtesy xkcd.org)

What We Want: Bi-Deniability

1 Bob decrypts Alice’s message correctly, but . . . 2 Fake coins & keys “look as if” another message was encrypted.

2 / 13

slide-7
SLIDE 7

Deniable Encryption

[CDNO’97]

c = Encpk(“Dad is so lame!!!!”)

(Images courtesy xkcd.org)

What We Want: Bi-Deniability

1 Bob decrypts Alice’s message correctly, but . . . 2 Fake coins & keys “look as if” another message was encrypted.

⋆⋆ Coercion is after the fact (cf. “uncoercible communication” [BT’94])

2 / 13

slide-8
SLIDE 8

Applications of Deniability

1 Anti-coercion: journalists, lawyers, whistle-blowers

3 / 13

slide-9
SLIDE 9

Applications of Deniability

1 Anti-coercion: journalists, lawyers, whistle-blowers

3 / 13

slide-10
SLIDE 10

Applications of Deniability

1 Anti-coercion: journalists, lawyers, whistle-blowers 2 Voting (?): can reveal any candidate, so can’t ‘sell’ vote

3 / 13

slide-11
SLIDE 11

Applications of Deniability

1 Anti-coercion: journalists, lawyers, whistle-blowers 2 Voting (?): can reveal any candidate, so can’t ‘sell’ vote 3 Implies selective-opening security [DNRS’99,BHY’09]

3 / 13

slide-12
SLIDE 12

Applications of Deniability

1 Anti-coercion: journalists, lawyers, whistle-blowers 2 Voting (?): can reveal any candidate, so can’t ‘sell’ vote 3 Implies selective-opening security [DNRS’99,BHY’09] 4 Implies noncommitting encryption for adaptive corruption [CFGN’96]

3 / 13

slide-13
SLIDE 13

Prior Work

Theory [CDNO’97] ◮ Sender-deniable public-key encryption ◮ Receiver-deniability with interaction ◮ Bi-deniability via interaction w/ 3rd parties (one must remain uncoerced)

4 / 13

slide-14
SLIDE 14

Prior Work

Theory [CDNO’97] ◮ Sender-deniable public-key encryption ◮ Receiver-deniability with interaction ◮ Bi-deniability via interaction w/ 3rd parties (one must remain uncoerced) Practice: TrueCrypt, Rubberhose FS, . . . ◮ “Plausible deniability:” move along, no message here. . . Maybe OK for storage, but not so much for communication.

4 / 13

slide-15
SLIDE 15

This Work

1 Bi-deniable encryption: sender & receiver are simultaneously

coercible, and can reveal any message (chosen at coercion time).

5 / 13

slide-16
SLIDE 16

This Work

1 Bi-deniable encryption: sender & receiver are simultaneously

coercible, and can reveal any message (chosen at coercion time). Works in “multi-distributional” (flexible) model: DenGen & DenEnc algorithms, equivocated as if Gen & Enc were run.

5 / 13

slide-17
SLIDE 17

This Work

1 Bi-deniable encryption: sender & receiver are simultaneously

coercible, and can reveal any message (chosen at coercion time). Works in “multi-distributional” (flexible) model: DenGen & DenEnc algorithms, equivocated as if Gen & Enc were run.

⋆ True public-key schemes: non-interactive, no 3rd parties ⋆ One generic construction [DN’00] & one using lattices [GPV’08] ⋆ Both have |keys| > |messages| . . . but this is inherent [Nielsen’02] 5 / 13

slide-18
SLIDE 18

This Work

1 Bi-deniable encryption: sender & receiver are simultaneously

coercible, and can reveal any message (chosen at coercion time). Works in “multi-distributional” (flexible) model: DenGen & DenEnc algorithms, equivocated as if Gen & Enc were run.

⋆ True public-key schemes: non-interactive, no 3rd parties ⋆ One generic construction [DN’00] & one using lattices [GPV’08] ⋆ Both have |keys| > |messages| . . . but this is inherent [Nielsen’02]

2 “Plan-ahead” bi-deniability with short keys

(analogue of “somewhat non-committing” encryption [GWZ’09])

⋆ Bounded number of alternative messages, decided in advance ⋆ Sender & receiver automatically agree on fake message 5 / 13

slide-19
SLIDE 19

This Work

1 Bi-deniable encryption: sender & receiver are simultaneously

coercible, and can reveal any message (chosen at coercion time). Works in “multi-distributional” (flexible) model: DenGen & DenEnc algorithms, equivocated as if Gen & Enc were run.

⋆ True public-key schemes: non-interactive, no 3rd parties ⋆ One generic construction [DN’00] & one using lattices [GPV’08] ⋆ Both have |keys| > |messages| . . . but this is inherent [Nielsen’02]

2 “Plan-ahead” bi-deniability with short keys

(analogue of “somewhat non-committing” encryption [GWZ’09])

⋆ Bounded number of alternative messages, decided in advance ⋆ Sender & receiver automatically agree on fake message

3 Analogous solutions in the ID-based setting.

5 / 13

slide-20
SLIDE 20

Subsequent Work

1

[DF’11] announced interactive, fully sender-deniable encryption

6 / 13

slide-21
SLIDE 21

Subsequent Work

1

[DF’11] announced interactive, fully sender-deniable encryption

⋆ Unfortunately, there is a fatal bug in deniability claim (& an attack) ⋆ Obtaining full deniability remains an intriguing open problem! 6 / 13

slide-22
SLIDE 22

Subsequent Work

1

[DF’11] announced interactive, fully sender-deniable encryption

⋆ Unfortunately, there is a fatal bug in deniability claim (& an attack) ⋆ Obtaining full deniability remains an intriguing open problem!

2 “Fully receiver-/bi-deniable PKE is impossible” [BNNO’11]

⋆ Formally: σ-bit secret key ⇒ (1/σ)-distinguishable real vs. fake ⋆ Don’t deny the impossibility — instead, be “flexible.” 6 / 13

slide-23
SLIDE 23

“Flexible” Bi-Deniability

◮ ‘Normal’ Gen, Enc, Dec algorithms . . . plus ‘deniable’ DenGen, DenEnc and ‘faking’ RecFake, SendFake.

7 / 13

slide-24
SLIDE 24

“Flexible” Bi-Deniability

◮ ‘Normal’ Gen, Enc, Dec algorithms . . . plus ‘deniable’ DenGen, DenEnc and ‘faking’ RecFake, SendFake. ◮ The following are indistinguishable for all bits b, b′: (pk, sk) ← Gen c ← Enc(pk, b; r) View: (pk, c, sk, r)

7 / 13

slide-25
SLIDE 25

“Flexible” Bi-Deniability

◮ ‘Normal’ Gen, Enc, Dec algorithms . . . plus ‘deniable’ DenGen, DenEnc and ‘faking’ RecFake, SendFake. ◮ The following are indistinguishable for all bits b, b′: (pk, sk) ← Gen c ← Enc(pk, b; r) View: (pk, c, sk, r) (pk, fk) ← DenGen c ← DenEnc(pk, b′; r) sk∗ ← RecFake(fk, c, b) r∗ ← SendFake(pk, r, b′, b) View: (pk, c, sk∗, r∗)

7 / 13

slide-26
SLIDE 26

“Flexible” Bi-Deniability

◮ ‘Normal’ Gen, Enc, Dec algorithms . . . plus ‘deniable’ DenGen, DenEnc and ‘faking’ RecFake, SendFake. ◮ The following are indistinguishable for all bits b, b′: (pk, sk) ← Gen c ← Enc(pk, b; r) View: (pk, c, sk, r) (pk, fk) ← DenGen c ← DenEnc(pk, b′; r) sk∗ ← RecFake(fk, c, b) r∗ ← SendFake(pk, r, b′, b) View: (pk, c, sk∗, r∗)

(Even better, RecFake could output fake coins for Gen, instead of sk∗.)

7 / 13

slide-27
SLIDE 27

“Flexible” Bi-Deniability

◮ ‘Normal’ Gen, Enc, Dec algorithms . . . plus ‘deniable’ DenGen, DenEnc and ‘faking’ RecFake, SendFake. ◮ The following are indistinguishable for all bits b, b′: (pk, sk) ← Gen c ← Enc(pk, b; r) View: (pk, c, sk, r) (pk, fk) ← DenGen c ← DenEnc(pk, b′; r) sk∗ ← RecFake(fk, c, b) r∗ ← SendFake(pk, r, b′, b) View: (pk, c, sk∗, r∗)

(Even better, RecFake could output fake coins for Gen, instead of sk∗.)

◮ “Full” deniability requires equivocable Gen and Enc algs.

7 / 13

slide-28
SLIDE 28

Is (Flexible) Deniability Meaningful?

Objection #1 ◮ Everyone knows that the coins & message could be fake. So who do we think we’re fooling?

8 / 13

slide-29
SLIDE 29

Is (Flexible) Deniability Meaningful?

Objection #1 ◮ Everyone knows that the coins & message could be fake. So who do we think we’re fooling? Answer ◮ ‘Perfectly secret’ communication is inherently deniable. . . . . . but most encryption introduces risk of coercion!

8 / 13

slide-30
SLIDE 30

Is (Flexible) Deniability Meaningful?

Objection #1 ◮ Everyone knows that the coins & message could be fake. So who do we think we’re fooling? Answer ◮ ‘Perfectly secret’ communication is inherently deniable. . . . . . but most encryption introduces risk of coercion! ◮ Deniable encryption avoids this side-effect risk.

8 / 13

slide-31
SLIDE 31

Is (Flexible) Deniability Meaningful?

Objection #1 ◮ Everyone knows that the coins & message could be fake. So who do we think we’re fooling? Answer ◮ ‘Perfectly secret’ communication is inherently deniable. . . . . . but most encryption introduces risk of coercion! ◮ Deniable encryption avoids this side-effect risk. The purpose is not to ‘convince’ the coercer, but just to preempt coercion in the first place.

8 / 13

slide-32
SLIDE 32

Is (Flexible) Deniability Meaningful?

Objection #2 ◮ Wouldn’t the coercer request the coins of DenGen & DenEnc?

9 / 13

slide-33
SLIDE 33

Is (Flexible) Deniability Meaningful?

Objection #2 ◮ Wouldn’t the coercer request the coins of DenGen & DenEnc? Answer ◮ He could, but users should just insist they ran Gen & Enc.

9 / 13

slide-34
SLIDE 34

Is (Flexible) Deniability Meaningful?

Objection #2 ◮ Wouldn’t the coercer request the coins of DenGen & DenEnc? Answer ◮ He could, but users should just insist they ran Gen & Enc. Two cases:

1 Coercer has no further recourse: all’s well.

9 / 13

slide-35
SLIDE 35

Is (Flexible) Deniability Meaningful?

Objection #2 ◮ Wouldn’t the coercer request the coins of DenGen & DenEnc? Answer ◮ He could, but users should just insist they ran Gen & Enc. Two cases:

1 Coercer has no further recourse: all’s well. 2 Coercer punishes until he gets what he wants.

⋆ Flexible deniability allows for “crying uncle” (proving true message) 9 / 13

slide-36
SLIDE 36

Is (Flexible) Deniability Meaningful?

Objection #2 ◮ Wouldn’t the coercer request the coins of DenGen & DenEnc? Answer ◮ He could, but users should just insist they ran Gen & Enc. Two cases:

1 Coercer has no further recourse: all’s well. 2 Coercer punishes until he gets what he wants.

⋆ Flexible deniability allows for “crying uncle” (proving true message) ⋆ . . . But so does full deniability! Just use verifiable randomness. 9 / 13

slide-37
SLIDE 37

Is (Flexible) Deniability Meaningful?

Objection #2 ◮ Wouldn’t the coercer request the coins of DenGen & DenEnc? Answer ◮ He could, but users should just insist they ran Gen & Enc. Two cases:

1 Coercer has no further recourse: all’s well. 2 Coercer punishes until he gets what he wants.

⋆ Flexible deniability allows for “crying uncle” (proving true message) ⋆ . . . But so does full deniability! Just use verifiable randomness. ⋆ (Also calls into question the applicability to voting.) 9 / 13

slide-38
SLIDE 38

A Tool for Deniability: Translucent Sets

[CDNO’97]

{0, 1}k = U P Public description pk with secret ‘trapdoor’ sk.

10 / 13

slide-39
SLIDE 39

A Tool for Deniability: Translucent Sets

[CDNO’97]

{0, 1}k = U P x Public description pk with secret ‘trapdoor’ sk. Properties

1 Given only pk,

⋆ Can efficiently sample from P (and from U, trivially). ⋆ P-sample is pseudorandom: ‘looks like’ a U-sample. . . ⋆ . . . so it can be ‘faked’ as a U-sample. 10 / 13

slide-40
SLIDE 40

A Tool for Deniability: Translucent Sets

[CDNO’97]

{0, 1}k = U P x Public description pk with secret ‘trapdoor’ sk. Properties

1 Given only pk,

⋆ Can efficiently sample from P (and from U, trivially). ⋆ P-sample is pseudorandom: ‘looks like’ a U-sample. . . ⋆ . . . so it can be ‘faked’ as a U-sample.

2 Given sk, can easily distinguish a P-sample from a U-sample.

10 / 13

slide-41
SLIDE 41

A Tool for Deniability: Translucent Sets

[CDNO’97]

{0, 1}k = U P x Public description pk with secret ‘trapdoor’ sk. Properties

1 Given only pk,

⋆ Can efficiently sample from P (and from U, trivially). ⋆ P-sample is pseudorandom: ‘looks like’ a U-sample. . . ⋆ . . . so it can be ‘faked’ as a U-sample.

2 Given sk, can easily distinguish a P-sample from a U-sample.

◮ Many instantiations: trapdoor perms (RSA), DDH, lattices, . . .

10 / 13

slide-42
SLIDE 42

Translucence for Deniability

[CDNO’97]

U P sk Normal: Enc(0) = UU Enc(1) = UP

11 / 13

slide-43
SLIDE 43

Translucence for Deniability

[CDNO’97]

U P sk Normal: Enc(0) = UU Enc(1) = UP Deniable: Enc(0) = PP Enc(1) = UP

11 / 13

slide-44
SLIDE 44

Translucence for Deniability

[CDNO’97]

U P sk Normal: Enc(0) = UU Enc(1) = UP Deniable: Enc(0) = PP Enc(1) = UP Deniability ✔ Alice can fake: PP → UP → UU

11 / 13

slide-45
SLIDE 45

Translucence for Deniability

[CDNO’97]

U P sk Normal: Enc(0) = UU Enc(1) = UP Deniable: Enc(0) = PP Enc(1) = UP

Deniability ✔ Alice can fake: PP → UP → UU ✗ What about Bob?? His sk reveals the true message bits!

11 / 13

slide-46
SLIDE 46

Our Contribution: Bi-Translucent Sets

Properties

1 A pk has many sk, each inducing a slightly different P-test.

12 / 13

slide-47
SLIDE 47

Our Contribution: Bi-Translucent Sets

Properties

1 A pk has many sk, each inducing a slightly different P-test.

12 / 13

slide-48
SLIDE 48

Our Contribution: Bi-Translucent Sets

x Properties

1 A pk has many sk, each inducing a slightly different P-test. 2 For a given P-sample x, most sk classify it correctly.

12 / 13

slide-49
SLIDE 49

Our Contribution: Bi-Translucent Sets

x Properties

1 A pk has many sk, each inducing a slightly different P-test. 2 For a given P-sample x, most sk classify it correctly. 3 But given a P-sample x and the faking key fk,

can generate a ‘good-looking’ sk∗ that classifies x as a U-sample.

12 / 13

slide-50
SLIDE 50

Our Contribution: Bi-Translucent Sets

x Properties

1 A pk has many sk, each inducing a slightly different P-test. 2 For a given P-sample x, most sk classify it correctly. 3 But given a P-sample x and the faking key fk,

can generate a ‘good-looking’ sk∗ that classifies x as a U-sample. ⇒ Bob can also fake P → U!

12 / 13

slide-51
SLIDE 51

Our Contribution: Bi-Translucent Sets

x Properties

1 A pk has many sk, each inducing a slightly different P-test. 2 For a given P-sample x, most sk classify it correctly. 3 But given a P-sample x and the faking key fk,

can generate a ‘good-looking’ sk∗ that classifies x as a U-sample. ⇒ Bob can also fake P → U! ⋆⋆ Instantiation idea: in [GPV’08] IBE, authority can induce an “oblivious decryption error” via carefully chosen skid

12 / 13

slide-52
SLIDE 52

Extensions and Open Questions

1 Basic scheme does bit-by-bit encryption to fresh public keys.

(But this is inherent for complete equivocability.)

13 / 13

slide-53
SLIDE 53

Extensions and Open Questions

1 Basic scheme does bit-by-bit encryption to fresh public keys.

(But this is inherent for complete equivocability.)

‘Plan-ahead’ deniability: encrypt & equivocate a short symmetric key that conceals one of 2+ possible long messages

13 / 13

slide-54
SLIDE 54

Extensions and Open Questions

1 Basic scheme does bit-by-bit encryption to fresh public keys.

(But this is inherent for complete equivocability.)

‘Plan-ahead’ deniability: encrypt & equivocate a short symmetric key that conceals one of 2+ possible long messages

2 Full deniability (unified Gen and Enc), possibly with interaction /

trusted setup?

13 / 13

slide-55
SLIDE 55

Extensions and Open Questions

1 Basic scheme does bit-by-bit encryption to fresh public keys.

(But this is inherent for complete equivocability.)

‘Plan-ahead’ deniability: encrypt & equivocate a short symmetric key that conceals one of 2+ possible long messages

2 Full deniability (unified Gen and Enc), possibly with interaction /

trusted setup?

Thanks! Full version: ePrint #2011/352

13 / 13