Multi-signature
A multi-signature scheme lets signers, each holding its own key pair, jointly produce one short signature on a message that verifies against their set of public keys, or, with key aggregation, against a single aggregate public key.
Syntax
A multi-signature scheme with key aggregation is a tuple :
- , public parameters (a group and hash functions),
- , run independently by each signer,
- , a deterministic algorithm mapping a multiset of public keys to an aggregate key,
- , an interactive protocol among the signers, signer on input , at the end of which each outputs a signature ,
- , a deterministic algorithm outputting a bit .
Properties
Correctness
The scheme is perfectly correct if whenever every signer runs honestly on , the output satisfies .
Unforgeability in the plain public-key model
There is one honest signer. The adversary chooses every other public key, with no proof that it knows the matching secret key, plays all other signers in signing sessions with the honest signer that it may interleave arbitrarily, and wins by outputting a valid signature, for a multiset of keys containing the honest key, on a message on which it never opened a signing session with the honest signer — MPSW19. Excluding only the pair of multiset and message would give a stronger notion, which BLS-based multi-signatures do not meet: in Boldyreva’s scheme the honest share does not depend on the multiset, so a share obtained for one multiset completes a signature on for another — standard.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\text{ms-uf}}_{\Pi,\calA}(\secpar)$}
\begin{algorithmic}
\State $\pp \gets \Setup(1^\secpar)$ ; $(\sk^*, \pk^*) \gets \KeyGen(\pp)$ ; $\calQ \gets \{\}$
\State $(L^*, m^*, \sigma^*) \gets \calA^{\calO_{\Sign}}(1^\secpar, \pp, \pk^*)$
\If{$\pk^* \notin L^*$ or $m^* \in \calQ$}
\Return $0$
\EndIf
\Return $[\Vrfy(\KeyAgg(L^*), m^*, \sigma^*)]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO_{\Sign}(j, L, m, M)$}
\begin{algorithmic}
\If{session $j$ is new and $\pk^* \in L$}
\State $\calQ \gets \calQ \cup \{m\}$
\State start the honest signer on $(\sk^*, L, m)$ as session $j$
\EndIf
\State feed $M$ to session $j$; let $M'$ be its next message
\Return $M'$
\end{algorithmic}
\end{algorithm}
The scheme is unforgeable if for all efficient ,
is negligible.
Knowledge-of-secret-key model
Unforgeability as in the plain public-key model, except that the adversary may use a public key other than , in a signing session or in its output, only after registering it with the coins of that produce it, so that the challenger knows the matching secret key. The requirement that every adversarial key be registered together with its secret key is the knowledge-of-secret-key (KOSK) assumption of RY07, under which Bol03 proves its multisignature secure.
\begin{algorithm}
\algname{Game}
\caption{$\Game^{\text{ms-kosk}}_{\Pi,\calA}(\secpar)$}
\begin{algorithmic}
\State $\pp \gets \Setup(1^\secpar)$ ; $(\sk^*, \pk^*) \gets \KeyGen(\pp)$ ; $\calQ \gets \{\}$ ; $\calR \gets \{\pk^*\}$
\State $(L^*, m^*, \sigma^*) \gets \calA^{\calO_{\Sign}, \calO_{\mathrm{Reg}}}(1^\secpar, \pp, \pk^*)$
\Comment{$\calO_{\Sign}$ as in the plain game, on key multisets $L \subseteq \calR$ only}
\If{$\pk^* \notin L^*$ or $L^* \not\subseteq \calR$ or $m^* \in \calQ$}
\Return $0$
\EndIf
\Return $[\Vrfy(\KeyAgg(L^*), m^*, \sigma^*)]$
\end{algorithmic}
\end{algorithm}
\begin{algorithm}
\algname{Oracle}
\caption{$\calO_{\mathrm{Reg}}(\rho)$}
\begin{algorithmic}
\State $(\sk, \pk) \gets \KeyGen(\pp; \rho)$
\State $\calR \gets \calR \cup \{\pk\}$
\Return $\pk$
\end{algorithmic}
\end{algorithm}
The scheme is unforgeable in the KOSK model if for all efficient , is negligible.
Proof-of-possession model
The scheme has two further algorithms, and a deterministic , with for every key pair outputs. Unforgeability is as in the KOSK game, except that the adversary also receives and registers a key by presenting a proof of possession (POP) for it, which the challenger checks with . This is the registered-key model of RY07 instantiated with a POP.
\begin{algorithm}
\algname{Oracle}
\caption{$\calO_{\mathrm{Reg}}(\pk, \pi)$}
\begin{algorithmic}
\If{$\PopVrfy(\pp, \pk, \pi) = 1$}
\State $\calR \gets \calR \cup \{\pk\}$
\EndIf
\end{algorithmic}
\end{algorithm}
The scheme is unforgeable in the POP model if for all efficient , the probability that it wins this game is negligible.
Variations
The schemes below work in a group of prime order with generator , with signer holding , and hash functions modeled as random oracles. Each aggregates keys as and , and outputs that verifies as a Schnorr signature under with the key included in the hash: with .
MuSig
Signing takes three rounds. Signer samples , sets , and sends ; once all commitments have arrived, it sends and checks every against ; with and it sends , and — MPSW19.
Two-round MuSig
MuSig without the commitment round: signer sends directly and then , as first proposed in the preprint version of MPSW19; its security proof is flawed — DEF+19.
MuSig2
Signing takes two rounds, and the first can run before the message is known. Signer samples and sends for . With , , and , it sends , and — NRS21. With this is two-round MuSig. The scheme is proved secure in the random-oracle model with , and in the combination of the algebraic group model and the random-oracle model with — NRS21. As an object, MuSig2 denotes the scheme with .
Participates in
Builds on Multi-signature
- Multi-signatures with proofs of possession ⇒ Multi-signatures in the KOSK model (via Proof-of-possession model)
- Multi-signatures in the plain public-key model ⇒ Multi-signatures in the KOSK model
Produces Multi-signature
- co-CDH ⇒ BLS multi-signatures with public-key aggregation
- Multi-signatures with proofs of possession ⇒ Multi-signatures in the KOSK model (via Knowledge-of-secret-key model)
- Multi-signatures in the plain public-key model ⇒ Multi-signatures in the KOSK model (via Knowledge-of-secret-key model)
- OMDL ⇒ MuSig2 (via MuSig2)
- DLOG ⇒ MuSig (via MuSig)
- Type 1 pairing + CDH ⇒ Multi-signatures in the KOSK model (Boldyreva) (via Knowledge-of-secret-key model)
- Type 1 pairing + CDH ⇒ Multi-signatures with proofs of possession (via Proof-of-possession model)
Barriers