Security of the Fiat-Shamir Transformation in the Quantum Random-Oracle Model
Jelle Don, Serge Fehr, Christian Majenz and Christian Schaffner QIP 2020 Hilton Shenzhen Shekou Nanhai Hotel, Shenzhen, China
Security of the Fiat-Shamir Transformation in the Quantum - - PowerPoint PPT Presentation
Security of the Fiat-Shamir Transformation in the Quantum Random-Oracle Model Jelle Don, Serge Fehr, Christian Majenz and Christian Schaffner QIP 2020 Hilton Shenzhen Shekou Nanhai Hotel, Shenzhen, China Two facts of life Two facts of life
Security of the Fiat-Shamir Transformation in the Quantum Random-Oracle Model
Jelle Don, Serge Fehr, Christian Majenz and Christian Schaffner QIP 2020 Hilton Shenzhen Shekou Nanhai Hotel, Shenzhen, China
Two facts of life
Two facts of life
Two facts of life
noninteractively
Two facts of life
noninteractively Fiat-Shamir reconciles the two in certain cases.
Outline
Interactive proof system
Interactive proof system
Prover Verifier
Interactive proof system
Prover Verifier is true!
x
Interactive proof system
Prover Verifier is true!
x
Prove it!
Interactive proof system
Prover Verifier is true!
x
Prove it! bla
Interactive proof system
Prover Verifier is true!
x
Prove it! bla bla
Interactive proof system
Prover Verifier is true!
x
Prove it! bla bla bla
Interactive proof system
Prover Verifier is true!
x
Prove it! bla bla bla bla
Interactive proof system
Prover Verifier is true!
x
Prove it! bla bla bla bla …
Interactive proof system
Prover Verifier is true!
x
Prove it! bla bla Now I believe that is true…
x
bla bla …
Interactive proof system
Interactive proof system
Many cryptographic properties:
Interactive proof system
Many cryptographic properties:
Interactive proof system
Many cryptographic properties:
Interactive proof system
Many cryptographic properties:
Interactive proof system
Many cryptographic properties:
Interactive proof system
Many cryptographic properties:
Interactive proof system
Many cryptographic properties:
perfect/statistical/computational
Interactive proof system
Many cryptographic properties:
Can we do the same without interaction?
perfect/statistical/computational
Interactive proof system
Many cryptographic properties:
Can we do the same without interaction? Yes, at least in some cases, using the Fiat Shamir transformation
perfect/statistical/computational
Prover Verifier is true!
x
Prove it!
a c ∈R 𝒟
Now I believe that is true…
x r
Σ
Prover Verifier is true!
x
Prove it!
a c ∈R 𝒟
Now I believe that is true…
x r
Σ
“public coin”
Prover Verifier is true!
x
Prove it!
a c ∈R 𝒟
Now I believe that is true…
x r
Fiat Shamir transformation
Prover Verifier is true!
x
Prove it!
a c = H(a)
Now I believe that is true…
x r
Fiat Shamir transformation
Prover Verifier is true!
x
Prove it!
a c = H(a)
Now I believe that is true…
x r
Fiat Shamir transformation
Hash function, “looks random”
Fiat Shamir transformation
Fiat Shamir transformation
Fiat Shamir transformation
Fiat Shamir transformation
(Pointcheval & Stern ‘00)
Fiat Shamir transformation
(Pointcheval & Stern ‘00)
Pretend that hash function is random and everybody has oracle access
Fiat Shamir transformation
(Pointcheval & Stern ‘00)
? What about the quantum ROM (QROM)?
Fiat Shamir transformation
(Pointcheval & Stern ‘00)
? What about the quantum ROM (QROM)?
Unruh ’17: The Fiat Shamir transformation preserves some security properties in the QROM if the underlying -protocol is statistically sound.
Σ
Fiat Shamir transformation
(Pointcheval & Stern ‘00)
? What about the quantum ROM (QROM)?
Unruh ’17: The Fiat Shamir transformation preserves some security properties in the QROM if the underlying -protocol is statistically sound.
Σ
Many cases important for post-quantum crypto still open.
Our results
QROM.
Our results
QROM.
Theorem (Don, Fehr, M, Schaffner):
The Fiat Shamir transformation of a -protocol inherits all its security properties in the QROM.
Σ
Our results
QROM.
Theorem (Don, Fehr, M, Schaffner):
The Fiat Shamir transformation of a -protocol inherits all its security properties in the QROM.
Σ
Concurrent work: Liu and Zhandry, less tight reduction.
Our results
QROM.
property for sigma protocols (related to collapsingness)
Theorem (Don, Fehr, M, Schaffner):
The Fiat Shamir transformation of a -protocol inherits all its security properties in the QROM.
Σ
Concurrent work: Liu and Zhandry, less tight reduction.
Our results
QROM.
property for sigma protocols (related to collapsingness)
Theorem (Don, Fehr, M, Schaffner):
The Fiat Shamir transformation of a -protocol inherits all its security properties in the QROM.
Σ
Concurrent work: Liu and Zhandry, less tight reduction.
The reduction
x
The reduction
H
x
The reduction
Random oracle
H
x
The reduction
p = (a, c = H(a), r)
𝒯
Verifier
x
The reduction
𝒯
Verifier
x
The reduction
a c ∈R {0,1}ℓc r
𝒯
Verifier
x
The reduction
𝒯
Verifier
x
The reduction
𝒯
Verifier
x
The reduction
H
𝒯
Verifier
x
The reduction
Measure random query
H
𝒯
a Verifier
x
The reduction
Measure random query
H
use result as
𝒯
a Verifier
x
The reduction
H
𝒯
a c ∈R {0,1}ℓc Verifier
x
The reduction
H
𝒯
a c ∈R {0,1}ℓc Verifier
x
The reduction
use challenge to reprogram
H*
𝒯
a c ∈R {0,1}ℓc Verifier
x
The reduction
H*
𝒯
a c ∈R {0,1}ℓc r Verifier
x
The reduction
H*
use part of output as response
𝒯
a c ∈R {0,1}ℓc r Verifier
x
The reduction
H*
𝒯
a c ∈R {0,1}ℓc r Verifier
x
Success probability: ε(𝒯[]) ≥ ε()
O(q2)
The reduction
H*
𝒯
a c ∈R {0,1}ℓc r Verifier
x
Success probability: ε(𝒯[]) ≥ ε()
O(q2)
The reduction
H*
Why on earth does it work?
𝒯
a c ∈R {0,1}ℓc r Verifier
x
Success probability: ε(𝒯[]) ≥ ε()
O(q2)
The reduction
H*
Why on earth does it work? Intuition: prover needs to measure anyway.
Technique
Simplified picture: one query.
Technique
Simplified picture: one query. (without final measurement)
H|ϕ⟩ = U2OHU1|ϕ⟩
Technique
Simplified picture: one query. (without final measurement)
H|ϕ⟩ = U2OHU1|ϕ⟩
for , independently uniformly random
H*(x) = H(x) x ≠ x0 H*(x0)
Technique
Simplified picture: one query. (without final measurement)
H|ϕ⟩ = U2OHU1|ϕ⟩
for , independently uniformly random
H*(x) = H(x) x ≠ x0 H*(x0)
“ unless queries on ”, i.e.
⇒ H = H* x0
Technique
Simplified picture: one query. (without final measurement)
H|ϕ⟩ = U2OHU1|ϕ⟩
for , independently uniformly random
H*(x) = H(x) x ≠ x0 H*(x0)
“ unless queries on ”, i.e.
⇒ H = H* x0
(*) (à la BBBV)
H*|ϕ⟩ = H|ϕ⟩ + U2OH*|x0⟩⟨x0|U1|ϕ⟩ − U2OH|x0⟩⟨x0|U1|ϕ⟩
Technique
Simplified picture: one query. (without final measurement)
H|ϕ⟩ = U2OHU1|ϕ⟩
for , independently uniformly random
H*(x) = H(x) x ≠ x0 H*(x0)
“ unless queries on ”, i.e.
⇒ H = H* x0
(*) (à la BBBV)
H*|ϕ⟩ = H|ϕ⟩ + U2OH*|x0⟩⟨x0|U1|ϕ⟩ − U2OH|x0⟩⟨x0|U1|ϕ⟩
Successful
for some
H* |x⟩|H*(x)⟩ x
Technique
Simplified picture: one query. (without final measurement)
H|ϕ⟩ = U2OHU1|ϕ⟩
for , independently uniformly random
H*(x) = H(x) x ≠ x0 H*(x0)
“ unless queries on ”, i.e.
⇒ H = H* x0
(*) (à la BBBV)
H*|ϕ⟩ = H|ϕ⟩ + U2OH*|x0⟩⟨x0|U1|ϕ⟩ − U2OH|x0⟩⟨x0|U1|ϕ⟩
Successful
for some
H* |x⟩|H*(x)⟩ x
Plan: 1. Use (*) to test whether
H* |x0⟩|H*(x0)⟩
Technique
Simplified picture: one query. (without final measurement)
H|ϕ⟩ = U2OHU1|ϕ⟩
for , independently uniformly random
H*(x) = H(x) x ≠ x0 H*(x0)
“ unless queries on ”, i.e.
⇒ H = H* x0
(*) (à la BBBV)
H*|ϕ⟩ = H|ϕ⟩ + U2OH*|x0⟩⟨x0|U1|ϕ⟩ − U2OH|x0⟩⟨x0|U1|ϕ⟩
Successful
for some
H* |x⟩|H*(x)⟩ x
Plan: 1. Use (*) to test whether
H* |x0⟩|H*(x0)⟩
Technique
(*)
H*|ϕ⟩ = H|ϕ⟩ + U2OH*|x0⟩⟨x0|U1|ϕ⟩ − U2OH|x0⟩⟨x0|U1|ϕ⟩
Plan: 1. Use (*) to test whether
H* |x0⟩|H*(x0)⟩
Technique
(*)
H*|ϕ⟩ = H|ϕ⟩ + U2OH*|x0⟩⟨x0|U1|ϕ⟩ − U2OH|x0⟩⟨x0|U1|ϕ⟩
Plan: 1. Use (*) to test whether
H* |x0⟩|H*(x0)⟩
⟨x0|⟨H*(x0)|H*|ϕ⟩ = ⟨x0|⟨H*(x0)|H|ϕ⟩
+⟨x0|⟨H*(x0)|U2OH*|x0⟩⟨x0|U1|ϕ⟩ − ⟨x0|⟨H*(x0)|U2OH|x0⟩⟨x0|U1|ϕ⟩
(*)
H|ϕ⟩ = H*|ϕ⟩ + U2OH|x0⟩⟨x0|U1|ϕ⟩ − U2OH*|x0⟩⟨x0|U1|ϕ⟩
Plan: 1. Use (*) to test whether
H |x0⟩|H(x0)⟩
∥⟨x0|⟨H*(x0)|H*|ϕ⟩∥2 ≤ ∥⟨x0|⟨H*(x0)|H|ϕ⟩∥2
+∥⟨x0|⟨H*(x0)|U2OH*|x0⟩⟨x0|U1|ϕ⟩∥2 + ∥⟨x0|⟨H*(x0)|U2OH|x0⟩⟨x0|U1|ϕ⟩∥2
Technique
(*)
H|ϕ⟩ = H*|ϕ⟩ + U2OH|x0⟩⟨x0|U1|ϕ⟩ − U2OH*|x0⟩⟨x0|U1|ϕ⟩
Plan: 1. Use (*) to test whether
H |x0⟩|H(x0)⟩
∥⟨x0|⟨H*(x0)|H*|ϕ⟩∥2 ≤ ∥⟨x0|⟨H*(x0)|H|ϕ⟩∥2
+∥⟨x0|⟨H*(x0)|U2OH*|x0⟩⟨x0|U1|ϕ⟩∥2 + ∥⟨x0|⟨H*(x0)|U2OH|x0⟩⟨x0|U1|ϕ⟩∥2
Technique
Small even after summing over x0
Measure query, outcome , reprogram before answering
x0
(*)
H|ϕ⟩ = H*|ϕ⟩ + U2OH|x0⟩⟨x0|U1|ϕ⟩ − U2OH*|x0⟩⟨x0|U1|ϕ⟩
Plan: 1. Use (*) to test whether
H |x0⟩|H(x0)⟩
∥⟨x0|⟨H*(x0)|H*|ϕ⟩∥2 ≤ ∥⟨x0|⟨H*(x0)|H|ϕ⟩∥2
+∥⟨x0|⟨H*(x0)|U2OH*|x0⟩⟨x0|U1|ϕ⟩∥2 + ∥⟨x0|⟨H*(x0)|U2OH|x0⟩⟨x0|U1|ϕ⟩∥2
Technique
(*)
H|ϕ⟩ = H*|ϕ⟩ + U2OH|x0⟩⟨x0|U1|ϕ⟩ − U2OH*|x0⟩⟨x0|U1|ϕ⟩
Plan: 1. Use (*) to test whether
H |x0⟩|H(x0)⟩
∥⟨x0|⟨H*(x0)|H*|ϕ⟩∥2 ≤ ∥⟨x0|⟨H*(x0)|H|ϕ⟩∥2
+∥⟨x0|⟨H*(x0)|U2OH*|x0⟩⟨x0|U1|ϕ⟩∥2 + ∥⟨x0|⟨H*(x0)|U2OH|x0⟩⟨x0|U1|ϕ⟩∥2
Technique
Measure query, outcome , reprogram after answering
x0
(*)
H|ϕ⟩ = H*|ϕ⟩ + U2OH|x0⟩⟨x0|U1|ϕ⟩ − U2OH*|x0⟩⟨x0|U1|ϕ⟩
Plan: 1. Use (*) to test whether
H |x0⟩|H(x0)⟩
∥⟨x0|⟨H*(x0)|H*|ϕ⟩∥2 ≤ ∥⟨x0|⟨H*(x0)|H|ϕ⟩∥2
+∥⟨x0|⟨H*(x0)|U2OH*|x0⟩⟨x0|U1|ϕ⟩∥2 + ∥⟨x0|⟨H*(x0)|U2OH|x0⟩⟨x0|U1|ϕ⟩∥2
Technique
(*)
H|ϕ⟩ = H*|ϕ⟩ + U2OH|x0⟩⟨x0|U1|ϕ⟩ − U2OH*|x0⟩⟨x0|U1|ϕ⟩
Plan: 1. Use (*) to test whether
H |x0⟩|H(x0)⟩
∥⟨x0|⟨H*(x0)|H*|ϕ⟩∥2 ≤ ∥⟨x0|⟨H*(x0)|H|ϕ⟩∥2
+∥⟨x0|⟨H*(x0)|U2OH*|x0⟩⟨x0|U1|ϕ⟩∥2 + ∥⟨x0|⟨H*(x0)|U2OH|x0⟩⟨x0|U1|ϕ⟩∥2 Square, Jensen’s inequality RHS: success probability of reduction, reprogramming before/after the measured query at random
⇒
Technique
(*)
H|ϕ⟩ = H*|ϕ⟩ + U2OH|x0⟩⟨x0|U1|ϕ⟩ − U2OH*|x0⟩⟨x0|U1|ϕ⟩
Plan: 1. Use (*) to test whether
H |x0⟩|H(x0)⟩
∥⟨x0|⟨H*(x0)|H*|ϕ⟩∥2 ≤ ∥⟨x0|⟨H*(x0)|H|ϕ⟩∥2
+∥⟨x0|⟨H*(x0)|U2OH*|x0⟩⟨x0|U1|ϕ⟩∥2 + ∥⟨x0|⟨H*(x0)|U2OH|x0⟩⟨x0|U1|ϕ⟩∥2 Square, Jensen’s inequality RHS: success probability of reduction, reprogramming before/after the measured query at random
⇒
queries: use (*) for each query. loss from Jensen, interpretation as expectation value
q O(q2)
Technique
Signatures
Prover Verifier for !
∃sk pk
Prove it!
Identification scheme Identification scheme
sk
Now I believe for …
∃sk pk a c ∈R 𝒟 r pk
Prover Verifier for !
∃sk pk
Prove it!
Identification scheme
sk
Now I believe that Prover has for …
sk pk a c ∈R 𝒟 r pk
Prover Verifier for !
∃sk pk
Prove it!
Identification scheme
sk
Now I believe that Prover has for …
sk pk
Still private!
a c ∈R 𝒟 r pk
Prover Verifier for !
∃sk pk
Prove it!
Identification scheme
sk
Now I believe that Prover has for …
sk pk
Still private!
a c ∈R 𝒟 r
An Identification scheme is a zero-knowledge proof of knowledge of a private key.
pk
pk
Prover Verifier for !
∃sk pk
Prove it!
Noninteractive Identification scheme
sk
Now I believe that Prover has for …
sk pk a c = H(a) r
pk
Prover Verifier for !
∃sk pk
Prove it!
Digital signature scheme
sk
Now I believe that Prover has used to sign
sk m a c = H(a∥m) r
Fiat Shamir signatures
Several NIST post-quantum candidates use Fiat Shamir:
Fiat Shamir signatures
Several NIST post-quantum candidates use Fiat Shamir:
Fiat Shamir signatures
Several NIST post-quantum candidates use Fiat Shamir:
Our result QROM security
⇒
Fiat Shamir signatures
Several NIST post-quantum candidates use Fiat Shamir:
Improved efficiency! Our result QROM security
⇒
Fiat Shamir signatures
Several NIST post-quantum candidates use Fiat Shamir:
Improved efficiency! Our result QROM security
⇒
Further applications
Remove almost all interaction from Mahadev’s verification for BQP (Alagic, Childs, Hung ’19)
Summary
The Fiat Shamir transformation is secure in the quantum random
This fact has nice applications, in particular for post-quantum secure digital signature schemes. Open problem: quantum forking lemma?
∃
Thanks!