Identification scheme
A protocol in which a prover holding a secret key convinces a verifier holding the matching public key of its identity, canonically as a three-message commit-challenge-response sigma protocol such as Schnorr’s proof of knowledge of a discrete logarithm.
Syntax
An identification scheme is a tuple , following the two-party protocol syntax:
- , a randomized algorithm sampling a key pair,
- and are interactive algorithms, the prover on input and the verifier on input ; at the end outputs a bit , accepting iff .
We write . A canonical (three-move, public-coin) scheme has the prover send a commitment , the verifier reply with a uniform challenge from a challenge space , and the prover answer with a response ; accepts or rejects as a deterministic function of .
Properties
Correctness
is perfectly correct if for all , , where and .
Impersonation under passive attack
The adversary first sees transcripts of honest executions, then interacts with an honest verifier in the role of the prover.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\text{imp-pa}}_{\Pi,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\sk, \pk) \gets \KeyGen(1^\secpar)$
\State $\stA \gets \calA^{\calO_{\text{tr}}}(1^\secpar, \pk)$
\Comment{Phase 1: honest transcripts}
\State Run $\langle \calA(\stA), V(\pk) \rangle$; let $b$ be the output of $V$
\Comment{Phase 2: $\calA$ acts as the prover}
\Return $b$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO_{\text{tr}}()$}
\begin{algorithmic}
\State Run $\langle P(\sk), V(\pk) \rangle$ with fresh coins; let $\tau$ be its transcript
\Return $\tau$
\end{algorithmic}
\end{algorithm}
is secure against impersonation under passive attack if for all efficient ,
is negligible.
Impersonation under active and concurrent attack
In phase 1 the adversary plays the verifier, possibly dishonestly, in sessions with prover instances holding ; in phase 2 it has no prover access and must make an honest verifier accept. Under concurrent attack it may interleave the phase-1 sessions arbitrarily; under active attack it must finish each session before opening the next — BP02.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\text{imp-ca}}_{\Pi,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\sk, \pk) \gets \KeyGen(1^\secpar)$
\State $\stA \gets \calA^{\calO_{\text{prov}}}(1^\secpar, \pk)$
\Comment{Phase 1: $\calA$ plays the verifier}
\State Run $\langle \calA(\stA), V(\pk) \rangle$; let $b$ be the output of $V$
\Comment{Phase 2: no prover access}
\Return $b$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO_{\text{prov}}(i, M)$}
\begin{algorithmic}
\If{session $i$ is new}
\State start a prover $P_i(\sk)$ with fresh coins
\EndIf
\State feed $M$ to $P_i$; let $M'$ be its next message
\Return $M'$
\end{algorithmic}
\end{algorithm}
is secure against impersonation under concurrent attack if for all efficient ,
is negligible. Security against impersonation under active attack is the same with restricted to sequential sessions. A passive adversary can be simulated by an active one that plays the honest verifier, so concurrent security implies active security, which implies passive security — standard.
Variations
Schnorr identification protocol
For in a group of prime order , the prover sends for , receives a uniform challenge from a challenge space with negligible, and replies ; the verifier accepts iff . The protocol is special sound and perfectly honest-verifier zero-knowledge — Sch91. As an object, the Schnorr identification protocol denotes this protocol with security against impersonation under passive attack.
Schnorr identification under concurrent attack
The Schnorr identification protocol, required to be secure against impersonation under concurrent attack: an adversary that first runs arbitrarily many interleaved sessions, as verifier, with honest provers holding makes an honest verifier accept with negligible probability — BP02. Active attack is the special case of non-interleaved sessions.
Okamoto identification protocol
The public parameters are independent generators of a group of prime order . The secret key is and the public key is . The prover sends for , receives from a challenge space with negligible, and replies for ; the verifier accepts iff — Oka92. Each public key has secret keys, and the transcripts of every phase-1 session are distributed independently of which one the prover holds: the protocol is perfectly witness-indistinguishable — standard. As an object, the Okamoto identification protocol denotes this protocol with security against impersonation under active attack.
Participates in
Builds on Identification scheme
- Schnorr identification under concurrent attack ⇒ Schnorr identification protocol (via Schnorr identification under concurrent attack)
- ID ⇒ DS
- ID ⇒ OWF
- Schnorr identification ⇒ Schnorr signatures (Fiat–Shamir) (via Schnorr identification protocol)
Produces Identification scheme
- Schnorr identification under concurrent attack ⇒ Schnorr identification protocol (via Schnorr identification protocol)
- DLOG ⇒ Schnorr identification protocol (via Schnorr identification protocol)
- OMDL ⇒ Schnorr identification under concurrent attack (via Schnorr identification under concurrent attack)
- DLOG ⇒ Okamoto identification protocol (via Okamoto identification protocol)
Barriers