SLIDE 1
Quantum Authentication and Encryption with Key Recycling Or: How to - - PowerPoint PPT Presentation
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 2
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
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
To use a quantum ciphertext (or tag) instead so that any eavesdropping attack will disturb it
General Idea
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
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
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
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
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
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
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
Allow for almost the same There are subtle differences
Encryption with Key-Recycling vs QKD
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
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
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
Introduction The basic scheme and its analysis Extensions and open problem(s)
Road Map
SLIDE 18
Authentication with Key-Recycling
m The scheme
SLIDE 19
Authentication with Key-Recycling
qθ,k qθ,k m The scheme
SLIDE 20
Authentication with Key-Recycling
qθ,k qθ,k m x ¬← {0,1}n H qθ
|xñ〉
The scheme
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
Authentication with Key-Recycling
qθ,k qθ,k m x ¬← {0,1}n H qθ
|xñ〉, t = MACk(m||x)
The scheme
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Cannot expect to prove: “If Bob accepts then key remains (close to) random”
Insight Gained
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Introduction The basic scheme and its analysis Extensions and open problem(s)
Road Map
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
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
The Trouble with Error Correction
Obvious “solution”: send along the syndrome s = syn(x) of x
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
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
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
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