Quantum Authentication and Encryption with Key Recycling Or: How to - - PowerPoint PPT Presentation

quantum authentication and encryption with key recycling
SMART_READER_LITE
LIVE PREVIEW

Quantum Authentication and Encryption with Key Recycling Or: How to - - PowerPoint PPT Presentation

Quantum Authentication and Encryption with Key Recycling Or: How to Re-use a One-Time Pad Even if P = NP Safely & Feasibly Serge Fehr Louis Salvail CWI Amsterdam University of Montral Encryption & Authentication Schemes with


slide-1
SLIDE 1

Quantum Authentication and Encryption with Key Recycling

Louis Salvail

University of Montréal

Serge Fehr

CWI Amsterdam

Or: How to Re-use a One-Time Pad Even if P = NP — Safely & Feasibly

slide-2
SLIDE 2

Schemes with information theoretic security One-time pad: Ek(m) = m + k Universal hashing, e.g.: MACA,b(m) = Am + b

Encryption & Authentication

slide-3
SLIDE 3

Schemes with information theoretic security One-time pad: Ek(m) = m + k Universal hashing, e.g.: MACA,b(m) = Am + b

Encryption & Authentication

Well-known disadvantage: key cannot be re-used Reason: Eve can learn info on key by observing cipher Even worse: such attack remains undetected

slide-4
SLIDE 4

Schemes with information theoretic security One-time pad: Ek(m) = m + k Universal hashing, e.g.: MACA,b(m) = Am + b

Encryption & Authentication

Well-known disadvantage: key cannot be re-used Reason: Eve can learn info on key by observing cipher Even worse: such attack remains undetected Thus, key has to be refreshed even if not under attack

slide-5
SLIDE 5

To use a quantum ciphertext (or tag) instead so that any eavesdropping attack will disturb it

General Idea

slide-6
SLIDE 6

To use a quantum ciphertext (or tag) instead so that any eavesdropping attack will disturb it

General Idea

We may hope for: Encode ciphertext (or tag) c into a quantum state |cñ〉 Check upon arrival if |cñ〉 is still in “good form” Conclude: no eavesdropping took place

slide-7
SLIDE 7

To use a quantum ciphertext (or tag) instead so that any eavesdropping attack will disturb it

General Idea

We may hope for: Encode ciphertext (or tag) c into a quantum state |cñ〉 Check upon arrival if |cñ〉 is still in “good form” Conclude: no eavesdropping took place Would allow for: unbounded safe re-use of the key as long as not under attack

slide-8
SLIDE 8

General idea goes back to

Known Results - and our Results

[Bennett, Brassard & Breidbart 1982]: proposed a simple scheme gave hand-wavy arguments for its security

slide-9
SLIDE 9

General idea goes back to

Known Results - and our Results

[Bennett, Brassard & Breidbart 1982]: proposed a simple scheme gave hand-wavy arguments for its security Their paper got rejected, and idea was abandoned - until...

slide-10
SLIDE 10

General idea goes back to

Known Results - and our Results

[Bennett, Brassard & Breidbart 1982]: proposed a simple scheme gave hand-wavy arguments for its security Their paper got rejected, and idea was abandoned - until... [Damgård, Pedersen, Salvail 2005]: proposed a new scheme with rigorous security proof But: honest users need quantum computing capabilities

slide-11
SLIDE 11

General idea goes back to

Known Results - and our Results

[Bennett, Brassard & Breidbart 1982]: proposed a simple scheme gave hand-wavy arguments for its security Their paper got rejected, and idea was abandoned - until... [Damgård, Pedersen, Salvail 2005]: proposed a new scheme with rigorous security proof But: honest users need quantum computing capabilities Our result: new simple scheme, based on BB84 qubits rigorous security proof

slide-12
SLIDE 12

General idea goes back to

Known Results - and our Results

[Bennett, Brassard & Breidbart 1982]: proposed a simple scheme gave hand-wavy arguments for its security Their paper got rejected, and idea was abandoned - until... [Damgård, Pedersen, Salvail 2005]: proposed a new scheme with rigorous security proof But: honest users need quantum computing capabilities Our result: new simple scheme, based on BB84 qubits rigorous security proof Related line of work: encryption/authentication of quantum messages Some also offer key recycling and/or other features (see e.g. Portmann’s talk) But, in all of those: honest users need quantum computer (even when restricting to classical messages)

slide-13
SLIDE 13

Allow for almost the same There are subtle differences

Encryption with Key-Recycling vs QKD

slide-14
SLIDE 14

Encryption with key recycling: non-interactive (up to the ``feedback”)

  • nly a 1-bit message is to be authenticated, offline

potential for better efficiency Allow for almost the same There are subtle differences

Encryption with Key-Recycling vs QKD

slide-15
SLIDE 15

Encryption with key recycling: non-interactive (up to the ``feedback”)

  • nly a 1-bit message is to be authenticated, offline

potential for better efficiency Allow for almost the same There are subtle differences

Encryption with Key-Recycling vs QKD

QKD: adaptively adjust to the noise

slide-16
SLIDE 16

Encryption with key recycling: non-interactive (up to the ``feedback”)

  • nly a 1-bit message is to be authenticated, offline

potential for better efficiency Allow for almost the same There are subtle differences

Encryption with Key-Recycling vs QKD

Our main motivation: intellectual interest QKD: adaptively adjust to the noise

slide-17
SLIDE 17

Introduction The basic scheme and its analysis Extensions and open problem(s)

Road Map

slide-18
SLIDE 18

Authentication with Key-Recycling

m The scheme

slide-19
SLIDE 19

Authentication with Key-Recycling

qθ,k qθ,k m The scheme

slide-20
SLIDE 20

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉

The scheme

slide-21
SLIDE 21

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉

qθ + + + + x × × × × ×

1 1 1 1 1 H qθ|xñ〉 ↕︎

↕︎ ↕︎ ↕︎ ↕ ︎ ↕ ︎ ↕ ︎ ↕ ︎ ↕ ︎ …⋰ …⋰ …⋰

The scheme

slide-22
SLIDE 22

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉, t = MACk(m||x)

The scheme

slide-23
SLIDE 23

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉, t = MACk(m||x)

= A[ ] + b

x m

The scheme

slide-24
SLIDE 24

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉

recover x check t , t = MACk(m||x) = A[ ] + b

x m

The scheme

slide-25
SLIDE 25

Claims (informal) Offers authentication security

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉

recover x check t , t = MACk(m||x) = A[ ] + b

x m

The scheme

slide-26
SLIDE 26

Claims (informal) Offers authentication security

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉

recover x check t , t = MACk(m||x) = A[ ] + b

x m

  • b

v i

  • u

s l y The scheme

slide-27
SLIDE 27

Claims (informal) Offers authentication security

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉

recover x check t If Bob accepts then key (qθ, k) can be safely re-used , t = MACk(m||x) = A[ ] + b

x m

The scheme

slide-28
SLIDE 28

Claims (informal) Offers authentication security

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉

recover x check t If Bob accepts then key (qθ, k) can be safely re-used , t = MACk(m||x) If Bob rejects then qθ (only) must be refreshed = A[ ] + b

x m

The scheme

slide-29
SLIDE 29

Claims (informal) Offers authentication security

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉

recover x check t If Bob accepts then key (qθ, k) can be safely re-used , t = MACk(m||x) If Bob rejects then qθ (only) must be refreshed = A[ ] + b

x m

Intuition: If Eve gets to see authentication tags ti = MACk(mi) = Ami + b for known messages m1,m2,... and a fixed key k = (A,b), and so accumulates (linear) info on k and can solve for it. The scheme

slide-30
SLIDE 30

Claims (informal) Offers authentication security

Authentication with Key-Recycling

qθ,k qθ,k m x ¬← {0,1}n H qθ

|xñ〉

recover x check t If Bob accepts then key (qθ, k) can be safely re-used , t = MACk(m||x) If Bob rejects then qθ (only) must be refreshed = A[ ] + b

x m

Intuition: If Eve gets to see authentication tags ti = MACk(mi) = Ami + b for known messages m1,m2,... and a fixed key k = (A,b), and so accumulates (linear) info on k and can solve for it. But here: authenticated message m||x is partly unknown, since H qθ

|xñ〉 hides x (to some extent) when qθ is unknown.

The scheme

slide-31
SLIDE 31

An “Attack”

qθ,k qθ,k m x ¬← {0,1}n H qθ1 |x1ñ〉 Ä⊗ H qθ2 |x2ñ〉 Ä⊗ …⋰ , t recover x check t

slide-32
SLIDE 32

An “Attack”

qθ,k qθ,k m x ¬← {0,1}n H qθ1 |x1ñ〉 Ä⊗ H qθ2 |x2ñ〉 Ä⊗ …⋰ , t recover x check t Eve measures 1st qubit as if qθ1 = 0

slide-33
SLIDE 33

An “Attack”

qθ,k qθ,k m x ¬← {0,1}n H qθ1 |x1ñ〉 Ä⊗ H qθ2 |x2ñ〉 Ä⊗ …⋰ , t recover x check t Eve measures 1st qubit as if qθ1 = 0 Effect: If qθ1 = 0 then she learns x1, H qθ1 |x1ñ〉 is unaffected Bob accepts

slide-34
SLIDE 34

An “Attack”

qθ,k qθ,k m x ¬← {0,1}n H qθ1 |x1ñ〉 Ä⊗ H qθ2 |x2ñ〉 Ä⊗ …⋰ , t recover x check t Eve measures 1st qubit as if qθ1 = 0 Effect: If qθ1 = 0 then she learns x1, H qθ1 |x1ñ〉 is unaffected Bob accepts If qθ1 = 1 then she does not learn x1, H qθ1 |x1ñ〉 gets disturbed Bob rejects with prob. »≈ 1/2

slide-35
SLIDE 35

An “Attack”

qθ,k qθ,k m x ¬← {0,1}n H qθ1 |x1ñ〉 Ä⊗ H qθ2 |x2ñ〉 Ä⊗ …⋰ , t recover x check t Effect: If qθ1 = 0 then she learns x1, H qθ1 |x1ñ〉 is unaffected Bob accepts If qθ1 = 1 then she does not learn x1, H qθ1 |x1ñ〉 gets disturbed Bob rejects with prob. »≈ 1/2

slide-36
SLIDE 36

An “Attack”

qθ,k qθ,k m x ¬← {0,1}n H qθ1 |x1ñ〉 Ä⊗ H qθ2 |x2ñ〉 Ä⊗ …⋰ , t recover x check t Effect: If qθ1 = 0 then she learns x1, H qθ1 |x1ñ〉 is unaffected Bob accepts If qθ1 = 1 then she does not learn x1, H qθ1 |x1ñ〉 gets disturbed Bob rejects with prob. »≈ 1/2 Eve’s conclusion: If Bob rejects then qθ1 = 1 (but now qθ gets refreshed!)

slide-37
SLIDE 37

An “Attack”

qθ,k qθ,k m x ¬← {0,1}n H qθ1 |x1ñ〉 Ä⊗ H qθ2 |x2ñ〉 Ä⊗ …⋰ , t recover x check t Effect: If qθ1 = 0 then she learns x1, H qθ1 |x1ñ〉 is unaffected Bob accepts If qθ1 = 1 then she does not learn x1, H qθ1 |x1ñ〉 gets disturbed Bob rejects with prob. »≈ 1/2 Eve’s conclusion: If Bob rejects then qθ1 = 1 (but now qθ gets refreshed!) If Bob accepts: qθ1 is likely to be 0 (⇒ Eve learned info on qθ)

slide-38
SLIDE 38

An “Attack”

qθ,k qθ,k m x ¬← {0,1}n H qθ1 |x1ñ〉 Ä⊗ H qθ2 |x2ñ〉 Ä⊗ …⋰ , t recover x check t Effect: If qθ1 = 0 then she learns x1, H qθ1 |x1ñ〉 is unaffected Bob accepts If qθ1 = 1 then she does not learn x1, H qθ1 |x1ñ〉 gets disturbed Bob rejects with prob. »≈ 1/2 Eve’s conclusion: If Bob rejects then qθ1 = 1 (but now qθ gets refreshed!) If Bob accepts: qθ1 is likely to be 0 (⇒ Eve learned info on qθ) No need to worry: The more info she tries to learn the more likely she fails

slide-39
SLIDE 39

Cannot expect to prove: “If Bob accepts then key remains (close to) random”

Insight Gained

slide-40
SLIDE 40

But then: may not be necessary for the key to stay random high uncertainty might be sufficient Cannot expect to prove: “If Bob accepts then key remains (close to) random”

Insight Gained

slide-41
SLIDE 41

Formal Statement - Informally Stated

  • Theorem. If before the execution:

Guess(qθ |Eve’s view) »≈ 0 & dδ(k, unif |qθ, Eve’s view) »≈ 0

slide-42
SLIDE 42

Formal Statement - Informally Stated

  • Theorem. If before the execution:

Guess(qθ |Eve’s view) »≈ 0 & dδ(k, unif |qθ, Eve’s view) »≈ 0 then after the execution: Guess(qθʹ″|Eve’s view) »≈ 0 & dδ(k, unif |qθʹ″, Eve’s view) »≈ 0 where qθʹ″ := qθ if Bob accepted and freshly chosen otherwise.

slide-43
SLIDE 43

Thus: starting off with a, say, uniformly random key (qθ,k) , the (possibly refreshed) key can be re-used over and over.

Formal Statement - Informally Stated

  • Theorem. If before the execution:

Guess(qθ |Eve’s view) »≈ 0 & dδ(k, unif |qθ, Eve’s view) »≈ 0 then after the execution: Guess(qθʹ″|Eve’s view) »≈ 0 & dδ(k, unif |qθʹ″, Eve’s view) »≈ 0 where qθʹ″ := qθ if Bob accepted and freshly chosen otherwise.

slide-44
SLIDE 44

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

m x

slide-45
SLIDE 45

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, d)

m x

Thus:

slide-46
SLIDE 46

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, d)

m x

= P[d = 0] Guess(qθʹ″|E,Q, t,d = 0) + P[d = 1] Guess(qθʹ″|E,Q, t, d = 1) Thus:

slide-47
SLIDE 47

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, d)

m x

= P[d = 0] Guess(qθʹ″|E,Q, t,d = 0) + P[d = 1] Guess(qθʹ″|E,Q, t, d = 1) Thus:

  • =

qθ

slide-48
SLIDE 48

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, d)

m x

= P[d = 0] Guess(qθʹ″|E,Q, t,d = 0) + P[d = 1] Guess(qθʹ″|E,Q, t, d = 1) £≤ + Guess(qθ |E,Q, t) 1

#qθ

Thus:

  • =

qθ

slide-49
SLIDE 49

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, d)

m x

= P[d = 0] Guess(qθʹ″|E,Q, t,d = 0) + P[d = 1] Guess(qθʹ″|E,Q, t, d = 1) £≤ + Guess(qθ |E,Q, t) 1

#qθ

Thus:

  • =

qθ

slide-50
SLIDE 50

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, d)

m x

= P[d = 0] Guess(qθʹ″|E,Q, t,d = 0) + P[d = 1] Guess(qθʹ″|E,Q, t, d = 1) £≤ + Guess(qθ |E,Q, t) 1

#qθ

H qθ

|xñ〉

Thus:

  • =

qθ

slide-51
SLIDE 51

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, d)

m x

= P[d = 0] Guess(qθʹ″|E,Q, t,d = 0) + P[d = 1] Guess(qθʹ″|E,Q, t, d = 1) £≤ + Guess(qθ |E,Q, t) 1

#qθ

H qθ

|xñ〉

Thus:

  • =

qθ

slide-52
SLIDE 52

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, d)

m x

= P[d = 0] Guess(qθʹ″|E,Q, t,d = 0) + P[d = 1] Guess(qθʹ″|E,Q, t, d = 1) £≤ + Guess(qθ |E,Q, t) 1

#qθ

H qθ

|xñ〉

»≈ 0 Thus:

  • =

qθ

slide-53
SLIDE 53

Note: Eve’s view Eʹ″ after the execution consists of her old view E the tag t = A[ ] + b whatever she kept of H qθ

|xñ〉, call it Q

Bob’s decision, call it d

Proof - The Easy Part

Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, d)

m x

= P[d = 0] Guess(qθʹ″|E,Q, t,d = 0) + P[d = 1] Guess(qθʹ″|E,Q, t, d = 1) £≤ + Guess(qθ |E,Q, t) 1

#qθ

H qθ

|xñ〉

»≈ 0 Thus:

  • =

qθ Proving dδ(k, unif |qθʹ″, Eʹ″) »≈ 0 is more involved. Builds up on techniques from [Tomamichel,Fehr,Kaniewski,Wehner ‘13].

slide-54
SLIDE 54

Introduction The basic scheme and its analysis Extensions and open problem(s)

Road Map

slide-55
SLIDE 55

Encryption with key-recycling Idea: extract randomness from x for one-time-pad key Can mix-and-match with authentication

Extensions

slide-56
SLIDE 56

Encryption with key-recycling Idea: extract randomness from x for one-time-pad key Can mix-and-match with authentication

Extensions

Tolerate noise in the quantum communication Straightforward error-correction does not work Error-correction “without leaking partial info” by Dodis and Smith comes to the rescue

slide-57
SLIDE 57

The Trouble with Error Correction

Obvious “solution”: send along the syndrome s = syn(x) of x

slide-58
SLIDE 58

The Trouble with Error Correction

Obvious “solution”: send along the syndrome s = syn(x) of x Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, s, d) £≤ + Guess(qθ |E,Q, t, s ) 1

#qθ

H qθ

|xñ〉

The problem: in the analysis . . .

slide-59
SLIDE 59

The Trouble with Error Correction

Obvious “solution”: send along the syndrome s = syn(x) of x Guess(qθʹ″|Eʹ″) = Guess(qθʹ″|E, Q, t, s, d) £≤ + Guess(qθ |E,Q, t, s ) 1

#qθ

H qθ

|xñ〉

The problem: in the analysis . . . We still expect this to be small, but cannot prove it

slide-60
SLIDE 60

What we did: Considered one of the very first ideas for quantum crypto (suggested >30 ago, even before QKD) First provably-secure solution w/o quantum computer

Conclusion

slide-61
SLIDE 61

Open problems / future directions: To do the error correction in a better way (Dodis-Smith technique works only for small error) Minimize amount of quantum communication What we did: Considered one of the very first ideas for quantum crypto (suggested >30 ago, even before QKD) First provably-secure solution w/o quantum computer

Conclusion

slide-62
SLIDE 62

Open problems / future directions: To do the error correction in a better way (Dodis-Smith technique works only for small error) Minimize amount of quantum communication What we did: Considered one of the very first ideas for quantum crypto (suggested >30 ago, even before QKD) First provably-secure solution w/o quantum computer

Conclusion Thank you!