Digital signature
TODO: high level description
Syntax
A Digital Signature scheme is a tuple of efficient algorithms with respect to signing keyspace , verification (or public) keyspace , message space , and signature space :
- is a randomized algorithm which samples a signing key and verification (or public) key ,
- is a (possibly) randomized algorithm which takes a signing key and message , outputting signature ,
- is a deterministic algorithm which takes a verification key a message and a signature , outputting a bit indicating whether the signature is valid or not.
Properties
Correctness
A Digital Signature scheme is -correct if for all ,
over the randomness of and possibly
Existential Unforgeability
The following is the existential unforgeability under chosen message attacks (EUF-CMA) game. This security notion requires that an adversary cannot find a message signature pair even given many samples
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\eufcma}_{\DS,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\sk, \vk) \gets \KeyGen(1^\secpar)$; $b \getsr \bits$
\State $\calQ \gets \{\}$
\State $(\hat{m},\hat{\sigma}) \gets \calA^{\calO}(1^\secpar, \vk)$
\If{$\hat{m}\in \calQ$}
\Comment{$\hat{m}$ cannot repeat}
\Return $0$
\EndIf
\Return $[\Vrfy(\vk,\hat{m},\hat{\sigma})]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO(m)$}
\begin{algorithmic}
\State $\sigma \gets \Sign(\sk,m)$
\State $\calQ \gets \calQ \cup \{m\}$
\Return $\sigma$
\end{algorithmic}
\end{algorithm}
A DS scheme is EUF-CMA unforgeable if for all efficient ,
is negligible.
Strong Unforgeability
The following is the strongly unforgeability under chosen message attacks (SUF-CMA) game. This security notion strenghtens the above EUF-CMA notation and requires to prevent an adversary from “mauling” the signature to produce a new signature for the same message. For example, by rerandomizing the signature into another valid signature.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\sufcma}_{\DS,\calA}(\secpar)$}
\begin{algorithmic}
\State $(\sk, \vk) \gets \KeyGen(1^\secpar)$; $b \getsr \bits$
\State $\calQ \gets \{\}$
\State $(\hat{m},\hat{\sigma}) \gets \calA^{\calO}(1^\secpar, \vk)$
\If{$(\hat{m},\hat{\sigma})\in \calQ$}
\Comment{$(\hat{m},\hat{\sigma})$ cannot repeat}
\Return $0$
\EndIf
\Return $[\Vrfy(\vk,\hat{m},\hat{\sigma})]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO(m)$}
\begin{algorithmic}
\State $\sigma \gets \Sign(\sk,m)$
\State $\calQ \gets \calQ \cup \{(m, \sigma)\}$
\Return $\sigma$
\end{algorithmic}
\end{algorithm}
A DS scheme is SU-CMA unforgeable if for all efficient ,
is negligible.
Variations
Other results
- If OWFs exist, then Digital Signatures exist — Lamport signature citation