The Zcash ArboretumFROST Guide PDF

7 Security

This section states the assumptions and games, then each security statement at the strength its support allows: the cited unforgeability theorem for FROST, with the non-interactive syntax in which it is stated and its correspondence to RFC 9591; its transfer to Orchard-protocol dealer keys, and the open composition with distributed key generation; the claimed unforgeability of the re-randomised scheme and the gaps in its proof; threshold spend authority, proved from a target notion that is itself open; unlinkability against specified outside observers, and the linkage that returned signature shares permit; and the class of the principal constructions and claims of the volume. Throughout, 𝔾 is a group of prime order q with generator B and identity 𝒪; a count of oracle queries is written Q, never q.

7.1 One-more discrete logarithms

Definition 7.1 (One-more discrete logarithm problem).

The one-more discrete logarithm game for 𝔾 is a search game in the sense of the Crypto Guide, §“Security as a game”, Definition “Security game and advantage”. The challenger keeps a challenge counter k and a query counter ℓ, both initially 0, and offers two oracles.

  1. 𝖢𝗁𝖺𝗅⁢(): set k:=k+1, draw xk←$𝔽q, and return Xk:=[xk]⁢B.

  2. 𝖣𝖫𝗈𝗀⁢(X), for any X∈𝔾: if X was queried before, return the stored answer; otherwise set ℓ:=ℓ+1, store and return the discrete logarithm of X to base B.

The adversary outputs (y1,…,yk)∈𝔽qk and wins if yj=xj for every j≤k and ℓ<k. Its advantage Adv𝔾omdl⁢(𝒜) is its probability of winning. The case of ℓ+1 challenges and at most ℓ queries is the ℓ-OMDL problem; the case of one challenge and no query is the discrete logarithm problem of the Crypto Guide, §“The discrete logarithm problem”.

The Crypto Guide names the problem in prose only. The game is that of ePrint 2022/833, Figure 9, in additive notation; its challenge queries are those that Theorem 7.9 counts.

Assumption 7.2 (One-more discrete logarithms on Pallas).

Let 𝔾 be the Pallas group, of order q=p𝖵𝖾𝗌𝗍𝖺, with generator B=G𝖲𝗉𝖾𝗇𝖽𝖠𝗎𝗍𝗁 (Ironwood Guide, §“Fields, groups, and encodings”; “GroupHash, domain separation, and nothing-up-my-sleeve generators”). Every efficient adversary has negligible advantage Adv𝔾omdl (Math Guide, §“Polynomial, exponential, and negligible functions”) in the game of Definition 7.1.

By its case of one challenge, the assumption implies the Ironwood Guide’s Assumption “Discrete logarithms on Pallas”.

Definition 7.3 (Algebraic one-more discrete logarithm problem).

Let 𝔾, q and B be as in Definition 7.1 and let ℓ≥0 be an integer. In the ℓ-AOMDL game the challenger draws x0,…,xℓ←$𝔽q and gives the adversary Xi:=[xi]⁢B for 0≤i≤ℓ. Its oracle takes a declaration (α,β0,…,βℓ)∈𝔽qℓ+2 and returns

α+∑i=0ℓβi⁢xi,

the discrete logarithm of [α]⁢B+∑i[βi]⁢Xi; it answers at most ℓ declarations. The adversary wins by outputting (x0,…,xℓ), and Adv𝔾ℓ⁢-aomdl⁢(𝒜) is its probability of winning.

The game is the intended one of ePrint 2024/436, Assumption 1 and Figure 1. The restriction lies on the oracle’s queries, which are declared combinations of B and the challenges, and not on the adversary, so no statement about algebraic adversaries is needed; the oracle of Definition 7.1 answers any element. The printed Figure 1 is ill-formed in three clauses: its oracle takes β1,…,βℓ but returns an expression in β0; it never checks the queried element against the declared combination; and its query counter is never incremented, so its final test, that the count is below ℓ+1, bounds nothing. This volume reads the game as stated above.

Lemma 7.4 (OMDL hardness implies AOMDL hardness).

For every 𝔾 of prime order q, every ℓ≥0 and every adversary 𝒜 in the ℓ-AOMDL game of Definition 7.3, there is an adversary 𝒜′ in the game of Definition 7.1, making ℓ+1 challenge queries and at most ℓ oracle queries, with

Adv𝔾omdl⁢(𝒜′)=Adv𝔾ℓ⁢-aomdl⁢(𝒜),

running in the time of 𝒜 plus ℓ+2 scalar multiplications per declaration.

Proof.

Algorithm 𝒜′ queries 𝖢𝗁𝖺𝗅 ℓ+1 times, obtaining X1,…,Xℓ+1, and runs 𝒜 on them as X0,…,Xℓ. On a declaration (α,β0,…,βℓ) it queries 𝖣𝖫𝗈𝗀 on [α]⁢B+∑i[βi]⁢Xi and returns the answer, which is α+∑iβi⁢xi, the value the AOMDL oracle returns. It outputs the output of 𝒜. The view of 𝒜 is that of the AOMDL game, the query counts agree, and 𝒜′ wins exactly when 𝒜 wins. □

The assumption of ePrint 2024/436, Theorem 1, is therefore no stronger than the OMDL assumption of the analysis RFC 9591 cites (ePrint 2022/833). Hence the analysis of ePrint 2024/436 needs no assumption beyond that of ePrint 2022/833.

7.2 Security of FROST signing

Definition 7.5 (Threshold signatures with leader requests).

A threshold signature scheme with leader requests 𝖳𝖲 has n servers, the participants of Definition 2.1 with identifiers 1,…,n, a threshold t, and the following algorithms, each with access to a random oracle h.

  1. 1.

    Key generation 𝖪𝗀⁢[h], run by a trusted party, outputs a verification key 𝑣𝑘, public auxiliary information 𝑣𝑘𝑠 (the paper’s 𝑎𝑢𝑥), which holds the verification shares, and secret keys 𝑠𝑘1,…,𝑠𝑘n.

  2. 2.

    Token generation: server i issues a first-round token 𝑝𝑝 and keeps a secret state for it.

  3. 3.

    A leader request 𝑙𝑟, formed by the leader, a party holding no secret of the scheme, carries a message 𝑙𝑟.𝗆𝗌𝗀, a signer set 𝑙𝑟.𝖲𝖲⊆{1,…,n}, and a map 𝑙𝑟.𝖯𝖯 from 𝑙𝑟.𝖲𝖲 to tokens. The scheme is an echo scheme: requests carry the tokens.

  4. 4.

    Partial signing 𝖯𝖲⁢[h]⁢(𝑙𝑟,i): server i answers 𝑙𝑟 with a partial signature computed from the state of the token 𝑙𝑟.𝖯𝖯⁢(i), or with the failure symbol ⊥ if 𝑙𝑟.𝖯𝖯⁢(i) is not an unused token of its own; each token is thus answered at most once.

  5. 5.

    Aggregation 𝖠𝗀𝗀⁢[h] maps partial signatures to a signature 𝑠𝑖𝑔.

  6. 6.

    Verification 𝖵𝖿⁢[h]⁢(𝑣𝑘,M,𝑠𝑖𝑔).

  7. 7.

    Strong verification 𝖲𝖵𝖿⁢[h]⁢(𝑣𝑘,𝑙𝑟,𝑠𝑖𝑔), which accepts, for each pair (𝑣𝑘,𝑙𝑟), at most one signature.

The syntax is that of ePrint 2022/833, Section 3.1, restricted to what this volume uses. The leader is the Coordinator of Definition 2.8.

Definition 7.6 (Threshold unforgeability levels).

Let 𝖳𝖲 be an echo scheme (Definition 7.5). The game has the following procedures.

  1. 𝖨𝗇𝗂𝗍⁢(C): require C⊆{1,…,n} and |C|<t; draw h; run (𝑣𝑘,𝑣𝑘𝑠,𝑠𝑘1,…,𝑠𝑘n)←𝖪𝗀⁢[h]; set 𝐻𝑆:={1,…,n}∖C; return 𝑣𝑘, 𝑣𝑘𝑠 and 𝑠𝑘j for j∈C.

  2. Token oracle on i∈𝐻𝑆: server i issues a token, which is added to the set 𝑃𝑃i and returned.

  3. Partial-signing oracle on (i,𝑙𝑟), i∈𝐻𝑆: record 𝑙𝑟; run 𝖯𝖲⁢[h]⁢(𝑙𝑟,i); if the answer is not ⊥, add i to S2⁢(𝑙𝑟); return the answer.

  4. Random oracle: return h⁢(x).

  5. 𝖥𝗂𝗇⁢(M,𝑠𝑖𝑔): for every recorded 𝑙𝑟 set

    S3(𝑙𝑟):={i∈𝐻𝑆∩𝑙𝑟.𝖲𝖲:𝑙𝑟.𝖯𝖯(i)∈𝑃𝑃i},S4(𝑙𝑟):=𝐻𝑆∩𝑙𝑟.𝖲𝖲.

    The adversary loses unless 𝖵𝖿⁢[h]⁢(𝑣𝑘,M,𝑠𝑖𝑔) holds.

The adversary acts as the leader. The trivial-forgery predicates are

tf2⁢(𝑙𝑟) :|S2⁢(𝑙𝑟)|≥t−|C|,
tf3⁢(𝑙𝑟) :tf2⁢(𝑙𝑟)⁢ and ⁢S2⁢(𝑙𝑟)=S3⁢(𝑙𝑟),
tf4⁢(𝑙𝑟) :tf2⁢(𝑙𝑟)⁢ and ⁢S2⁢(𝑙𝑟)=S4⁢(𝑙𝑟),

and, for i∈{2,3,4}, the trivial strong-forgery predicate tsfi⁢(𝑙𝑟,𝑣𝑘,𝑠𝑖𝑔) is tfi⁢(𝑙𝑟) and 𝖲𝖵𝖿⁢[h]⁢(𝑣𝑘,𝑙𝑟,𝑠𝑖𝑔). The game TS-UF-i is won by a valid (M,𝑠𝑖𝑔) such that no recorded 𝑙𝑟 with 𝑙𝑟.𝗆𝗌𝗀=M satisfies tfi⁢(𝑙𝑟); TS-SUF-i replaces tfi⁢(𝑙𝑟) by tsfi⁢(𝑙𝑟,𝑣𝑘,𝑠𝑖𝑔). The advantage Adv𝖳𝖲ts⁢-⁢suf⁢-⁢i⁢(𝒜) is the probability of winning.

The games are those of ePrint 2022/833, Figures 2 and 3, the predicates transcribed exactly. Under TS-SUF-3 a forgery on M is trivial only if one request 𝑙𝑟 for M was answered by at least t−|C| honest servers, those servers are exactly the honest servers of 𝑙𝑟.𝖲𝖲 listed with a token they issued, and 𝑠𝑖𝑔 is the unique signature that strong verification associates with (𝑣𝑘,𝑙𝑟). Only these levels are defined: the volume uses TS-SUF-3 and the failure of TS-UF-4.

Construction 7.7 (FROST1 in the non-interactive syntax).

Let t≤n<q, and let hj⁢(x):=h⁢(j,x) for one random oracle h. The scheme 𝖥𝖱𝖮𝖲𝖳𝟣⁢[𝔾] is the following echo scheme.

  1. 1.

    𝖪𝗀: draw a0,…,at−1←$𝔽q; set 𝑠𝑘i:=∑jij⁢aj and 𝑣𝑘i:=[𝑠𝑘i]⁢B for each i, 𝑣𝑘:=[a0]⁢B and 𝑣𝑘𝑠:=(𝑣𝑘1,…,𝑣𝑘n).

  2. 2.

    Token of server i: draw u,v←$𝔽q; the token is 𝑝𝑝:=([u]⁢B,[v]⁢B), and (u,v) is kept for it.

  3. 3.

    For a request 𝑙𝑟 and each i∈𝑙𝑟.𝖲𝖲 let (Ui,Vi):=𝑙𝑟.𝖯𝖯⁢(i) and bi:=h1⁢(𝑣𝑘,𝑙𝑟,i); let

    R:=∑i∈𝑙𝑟.𝖲𝖲(Ui+[bi]Vi),c:=h2(𝑣𝑘,𝑙𝑟.𝗆𝗌𝗀,R).
  4. 4.

    𝖯𝖲⁢(𝑙𝑟,i): if 𝑙𝑟.𝖯𝖯⁢(i) is an unused token of i with secret (u,v), erase (u,v) and return (R,zi) with zi:=u+bi⁢v+c⁢λ𝑙𝑟.𝖲𝖲,i⁢𝑠𝑘i; otherwise return ⊥.

  5. 5.

    𝖠𝗀𝗀: if all partial signatures carry one R, return (R,∑izi).

  6. 6.

    𝖵𝖿⁢(𝑣𝑘,M,(R,z)): accept if and only if [z]⁢B=R+[h2⁢(𝑣𝑘,M,R)]⁢𝑣𝑘.

  7. 7.

    𝖲𝖵𝖿⁢(𝑣𝑘,𝑙𝑟,(R∗,z∗)): accept if and only if R∗ equals the R computed from 𝑙𝑟 and [z∗]⁢B=R∗+[c]⁢𝑣𝑘.

The construction is ePrint 2022/833, Figure 8, in additive notation; the paper’s token secrets r,s and binding factors di are written u,v and bi here, those letters being taken. FROST2 (Crites, Komlo and Maller, ePrint 2021/1375) replaces the factors bi by one b:=h1⁢(𝑣𝑘,𝑙𝑟); ePrint 2022/833, Section 5, proves FROST2 TS-SUF-2-secure and not TS-UF-3-secure. RFC 9591 specifies FROST1: its binding factor takes the identifier (Section 4.4), and its Section 7.2 (“Optimizations”) rules the shared factor NOT RECOMMENDED, because it removes the guarantee that the set of participants that started Round One is the set that produced the signature.

Proposition 7.8 (RFC 9591 signing realises FROST1).

Let a ciphersuite (Definition 4.1) whose element serialisation is total, as that of FROST(Pallas, BLAKE2b-512) is, meet Assumption 4.2 with distance δ and digest length Nh bytes. Map RFC 9591 signing (Constructions 4.4, 4.8 and 4.9, Definition 4.7) over key material of Construction 3.2 at identifiers 1,…,n to the syntax of Definition 7.5 as follows: the Coordinator is the leader; the Round One pair (Di,Ei) is the token; the request (m,L) is 𝑙𝑟 with 𝑙𝑟.𝗆𝗌𝗀=m, 𝑙𝑟.𝖲𝖲 the identifiers of L and 𝑙𝑟.𝖯𝖯⁢(i) the pair of i in L; 𝑣𝑘:=𝑃𝐾 and 𝑣𝑘𝑠:=(𝑃𝐾1,…,𝑃𝐾n), from which the coefficient commitments are computed, since t verification shares determine the committed polynomial in the exponent (Lemmas 2.6 and 2.4). For every adversary 𝒜 in the TS-SUF-3 game of Definition 7.6 for RFC 9591 signing under this map whose requests list only identifiers in {1,…,n}, making qs token queries and qh hash queries, there is an adversary 𝒜′ against 𝖥𝖱𝖮𝖲𝖳𝟣⁢[𝔾] (Construction 7.7) with the same query counts and about the same running time, such that, with Q:=qs+qh+1,

AdvRFCts⁢-⁢suf⁢-⁢3⁢(𝒜)≤Adv𝖥𝖱𝖮𝖲𝖳𝟣⁢[𝔾]ts⁢-⁢suf⁢-⁢3⁢(𝒜′)+2⁢qs⁢(δ+(qh+2⁢qs)⋅2−256)+3⁢Q2⋅2−8⁢Nh+(qh+(n+1)⁢qs+1)⁢δ.

A request naming another identifier lies outside the FROST1 game and is not covered, and so is a suite whose serialisation is not total: its abort on R=𝒪 follows hash evaluations that consume no token. The correspondence rests on four facts.

  1. (a)

    The binding-factor input 𝗌𝖾𝗋𝔾⁢(𝑃𝐾)⁢‖H4⁢(m)‖⁢H5⁢(𝖾𝗇𝖼⁢(L))∥𝗌𝖾𝗋𝔽q⁢(i) determines (𝑣𝑘,𝑙𝑟,i), except on a collision of H4 or H5 or on a digest used before its preimage is queried.

  2. (b)

    The challenge input 𝗌𝖾𝗋𝔾⁢(R)⁢‖𝗌𝖾𝗋𝔾⁢(𝑃𝐾)‖⁢m is an injective reordering of (𝑣𝑘,M,R), the two element encodings having fixed length.

  3. (c)

    The separated hashes H1 and H2 realise h1 and h2 as independent oracles.

  4. (d)

    Hedged nonces replace the uniform token secrets of FROST1 at the cost of Lemma 4.5 per nonce, a hop the reduction needs because it does not know the honest shares that enter H3.

Proof.

Game hops, with additive losses (Crypto Guide, §“Security as a game”, Remark “Game-hopping”).

Game G0 is the RFC game.

Game G1: every honest nonce is a uniform scalar. The 2⁢qs nonces are replaced one at a time, in the order in which they are drawn. At each hop Lemma 4.5 applies with the rest of the game as the observer: its queries to H3 are the qh queries of 𝒜 and at most 2⁢qs evaluations by honest servers, each at an input with a fresh 32-byte prefix. Hence |Pr⁢[G0]−Pr⁢[G1]|≤2⁢qs⁢(δ+(qh+2⁢qs)⋅2−256). Game G2 aborts on a collision of H4 or of H5, or when a hash input contains an output value of H4 or H5 before the query that produces it. Each of the two oracles receives at most Q queries, from 𝒜 and one per answered request, at most qs of them. By Assumption 4.2 a collision of either has probability at most Q2⋅2−8⁢Nh in total; each new answer equals one of at most Q digest strings already present in inputs with probability at most Q⋅2−8⁢Nh, which over Q queries and both oracles gives 2⁢Q2⋅2−8⁢Nh.

Game G3 answers H1 and H2 at distinct inputs by uniform scalars. Under Assumption 4.2 each answer is an independent sample within distance δ of uniform, and the distinct inputs number at most qh queries of 𝒜, at most n binding factors and one challenge per answered request, and one challenge of the final verification; replacing the answers one at a time costs (qh+(n+1)⁢qs+1)⁢δ (Math Guide, Theorem “Properties of statistical distance”).

In G3, algorithm 𝒜′ plays the FROST1 game. It relays token queries. It simulates H3, H4 and H5 lazily and records their queries. It answers an H1 query 𝗌𝖾𝗋𝔾⁢(𝑃𝐾′)⁢‖u‖⁢v∥𝗌𝖾𝗋𝔽q⁢(i) by h1⁢(𝑣𝑘,𝑙𝑟,i) when 𝑃𝐾′=𝑃𝐾 and u, v are recorded outputs of H4 on m and of H5 on 𝖾𝗇𝖼⁢(L), with 𝑙𝑟 formed from (m,L), and by a fresh value otherwise; by (a) and the abort rule of G2 the request is unique. It answers an H2 query 𝗌𝖾𝗋𝔾⁢(R)⁢‖𝗌𝖾𝗋𝔾⁢(𝑃𝐾′)‖⁢m by h2⁢(𝑣𝑘,m,R) when 𝑃𝐾′=𝑃𝐾, and by a fresh value otherwise; by (b) the input determines (m,R), and by (c) the two simulations are independent. The checks of Construction 4.8, namely the message check, the presence of the member’s own unused pair in L, deserialisation of every commitment and the order of the identifiers, are decided from public data. Algorithm 𝒜′ therefore queries the partial-signing oracle exactly when the RFC participant would answer, does not query the oracle when the participant would abort, leaving the token unused in both games, since an aborting participant keeps its pair; it never submits a token already answered, and returns zi, discarding R. The sets S2, S3 and S4 of the two games coincide; a valid RFC signature 𝗌𝖾𝗋𝔾⁢(R)∥𝗌𝖾𝗋𝔽q⁢(z) is a valid FROST1 signature (R,z); and strong verification agrees. So 𝒜′ wins when 𝒜 wins in G3. □

Theorem 7.9 (Unforgeability of FROST).

Let 𝔾 have prime order q, and let 𝖥𝖱𝖮𝖲𝖳𝟣⁢[𝔾] be Construction 7.7 with n servers and threshold t. For every adversary 𝒜 in the TS-SUF-3 game of Definition 7.6 making at most qs token queries, the first-round queries, and at most qh random-oracle queries, there is an adversary ℬ in the game of Definition 7.1, making at most 2⁢qs+t challenge queries, such that, with Q:=qs+qh+1,

Adv𝖥𝖱𝖮𝖲𝖳𝟣⁢[𝔾]ts⁢-⁢suf⁢-⁢3⁢(𝒜)≤ 4⁢n⁢Q⁢Adv𝔾omdl⁢(ℬ)+6⁢Q/q,

only the two terms Adv𝔾omdl⁢(ℬ) and 6⁢Q/q lying under the root. Algorithm ℬ runs in about twice the time of 𝒜, plus at most 6⁢n⁢Q+4⁢qs+2⁢n2 exponentiations and group operations. For some parameters, for instance n=20 and t=3, the scheme 𝖥𝖱𝖮𝖲𝖳𝟣⁢[𝔾] is not TS-UF-4-secure. The hypotheses are those of the game: static corruption of fewer than t servers, trusted key generation, and the random-oracle model.

Proof.

Cited: ePrint 2022/833, Theorem 5.4, whose bound, query counts and running time are those stated, the root spanning only Adv𝔾omdl⁢(ℬ)+6⁢Q/q; the TS-UF-4 separation is its Section 5.4, by an explicit attack at n=20 and t=3. □

RFC 9591, Section 7 (“Security Considerations”), claims security against existential unforgeability under chosen-message attacks as defined in that analysis, assuming that the shares are generated and distributed securely, by a trusted dealer or by a distributed key generation protocol, and that at most the Coordinator and MIN⁢_⁢PARTICIPANTS−1 participants are corrupted. For dealer keys in a suite with total element serialisation and requests listing only identifiers in {1,…,n}, the claim rests on Theorem 7.9 at level TS-SUF-3, through Proposition 7.8; with distributed key generation it is open (Remark 7.13). It does not rest on the theorem of the original paper, which concerns an interactive variant.

Remark 7.10 (Role of the binding factors).

The share zi is bound through ρi to 𝑃𝐾, the message, the commitment list L and the identifier (Definition 4.7). Changing the message, the signing set or any commitment in L changes some ρj, hence R and c, except on a collision of H1, H4 or H5; a share moved into another run fails its share equation, and the aggregate fails verification. Without such binding, concurrent sessions of two-round Schnorr signing admit forgeries: in time subexponential in the bit length of q, by an attack that combines the challenges of concurrent sessions (Drijvers, Edalatnejad, Ford, Kiltz, Loss, Neven and Stepanovs, “On the Security of Two-Round Multi-Signatures”, IEEE Symposium on Security and Privacy 2019), which applies to t-of-n threshold signing with up to t−1 corrupt participants (ePrint 2020/852, Section 2.5); and in polynomial time once more than log2⁡q sessions are open concurrently (Benhamouda, Lepoint, Loss, Orrù and Raykova, “On the (in)security of ROS”, EUROCRYPT 2021). The remark explains Theorem 7.9 and adds no claim; the security of FROST rests on that theorem.

7.3 Unforgeability and key generation

Lemma 7.11 (Sign normalisation and unforgeability).

Consider a game over dealer key material (Construction 3.2) that decides its winning condition from public data, the adversary’s output and the transcript of its oracles, as the games of Definition 7.6 do, over a group in which exactly half of the q−1 non-identity points pass the parity test of Construction 6.7; for Pallas this test is the last bit of 𝗋𝖾𝗉𝗋ℙ. An adversary with advantage ϵ in the game whose key material is normalised by Construction 6.7 is, run unchanged, an adversary with advantage at least

q−12⁢q⁢ϵ

in the game with unnormalised dealer key material.

Proof.

The reduction plays the unnormalised game, runs the adversary unchanged on it, and stops unless 𝑃𝐾≠𝒪 and 𝑃𝐾 passes the parity test; since s is uniform, this event has probability (q−1)/(2⁢q), and it is decided from public data before the adversary receives anything else. On the event normalisation changes nothing. The normalised key material is distributed as unnormalised dealer key material conditioned on the event: step (1) of Construction 6.7 redraws a zero secret, and negation (Lemma 6.6) maps the sharings whose group key fails the test bijectively onto those whose group key passes it, the coefficients staying uniform. The conditioned view is therefore that of the normalised game, and the win carries over. □

For q=p𝖵𝖾𝗌𝗍𝖺 the factor is 1/2−1/(2⁢q) with 1/(2⁢q)=2−255 to the precision stated: normalisation costs a factor 2 in advantage, up to that term.

Corollary 7.12 (Unforgeability for Orchard-protocol dealer keys).

Assume Assumption 7.2, and Assumption 4.2 as Proposition 6.2 instantiates it for FROST(Pallas, BLAKE2b-512) (Construction 6.1). Then Theorem 7.9, through Proposition 7.8, holds for RFC 9591 signing against adversaries whose requests list only identifiers in {1,…,n}, with the effective randomiser zero on dealer key material (Construction 3.2) normalised by Construction 6.7 and completed in either of two ways, the corrupt participants holding the common secrets:

  1. (a)

    by Construction 6.8 (𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝗍𝗋𝗎𝖾), with 𝗌𝗄 drawn independently of the key material and given to every participant; the TS-SUF-3 advantage of such an adversary is at most 2⁢q/(q−1) times the sum of the bound of Theorem 7.9 and the loss of Proposition 7.8, with q=p𝖵𝖾𝗌𝗍𝖺, the simulation of Lemma 6.11, part (a), being exact;

  2. (b)

    for a dealer that shares an 𝖺𝗌𝗄 derived from a spending key that no participant holds (𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝖿𝖺𝗅𝗌𝖾; Ironwood Guide, Construction “Spend-side secrets”), with the further terms of Lemma 6.11, part (b), of the Ironwood Guide’s Assumption “Pseudorandomness of PRF expansion” and Lemma “Rejection in key generation”, and of the bias below 2−257 of ToScalar (Definition “Field reductions” there), by a hybrid that replaces 𝖺𝗌𝗄 with a uniform scalar.

The corollary covers signing with the randomiser zero only; the re-randomised protocol is the subject of §7.4.

Proof.

Hybrids, then the cited statements. For (a), Lemma 6.11, part (a), replaces the adversary that receives 𝗌𝗄 and the values derived from it by one that draws 𝗌𝗄 itself and computes them from 𝖺𝗄=𝖤𝗑𝗍𝗋𝖺𝖼𝗍ℙ⁢(𝑃𝐾), rejection included, with no loss. For (b), Lemma 6.11, part (b), simulates 𝗇𝗄 and 𝗋𝗂𝗏𝗄 from independent uniform values; the key-derivation hybrid then replaces 𝖺𝗌𝗄, before normalisation, by a uniform scalar, at the cost of Assumption “Pseudorandomness of PRF expansion”, of Lemma “Rejection in key generation” and of the ToScalar bias. These hybrids apply because the win is efficiently decidable from the key: the deciding algorithm answers the signing queries with the shares. What remains is the game of Definition 7.6 over normalised dealer keys. Lemma 7.11 passes to unnormalised dealer keys, which are the output of 𝖪𝗀 of FROST1; Proposition 7.8 passes such an adversary to 𝖥𝖱𝖮𝖲𝖳𝟣⁢[𝖯𝖺𝗅𝗅𝖺𝗌]; and Theorem 7.9 with Assumption 7.2 bounds that advantage. □

Remark 7.13 (Distributed key generation and unforgeability).

Theorem 7.9 assumes trusted key generation, and no checked source proves FROST1 unforgeable with a distributed key generation, in particular with Construction 3.6. RFC 9591, Section 7, lists secure generation by a dealer or by a distributed protocol as an assumption, not as a result. The nearest results are two. Crites, Komlo and Maller (ePrint 2021/1375, Theorem 7) prove FROST2 with their key generation unforgeable under the one-more discrete logarithm assumption and a further assumption: that an algorithm outputting a group element with a valid Schnorr proof of knowledge for it knows the element’s discrete logarithm, in that an extractor computes the logarithm from the algorithm’s code and random coins. The original paper (ePrint 2020/852) proves, under discrete logarithms, an interactive variant with its own key generation, not the specified scheme. Classification (Definition 1.1): unforgeability of FROST1 with distributed key generation is an open problem.

7.4 Unforgeability of re-randomised FROST

Definition 7.14 (Re-randomisable threshold unforgeability).

The game TRUF, for the instance of Definition 5.3 given by FROST with effective-randomiser map Hr, runs as follows.

  1. 1.

    The adversary chooses (n,t) and a static set 𝑐𝑜𝑟 with |𝑐𝑜𝑟|≤t−1.

  2. 2.

    The challenger runs centralised key generation, a Shamir sharing of a uniform x with 𝑃𝐾=[x]⁢B, and gives 𝑃𝐾, every 𝑃𝐾i and xj for j∈𝑐𝑜𝑟.

  3. 3.

    Oracle 𝖲𝗂𝗀𝗇⁢(k,𝑠𝑠𝑖𝑑), for honest k, opens session 𝑠𝑠𝑖𝑑 and returns Round One commitments ρk=(Rk,Sk).

  4. 4.

    Oracle 𝖲𝗂𝗀𝗇′⁢(k,𝑠𝑠𝑖𝑑,m,S,α,𝑎𝑢𝑥,(ρi)i∈S), once per open session: add m to the set 𝒬m; set α^:=Hr⁢(α,𝑎𝑢𝑥), x¯k:=xk+α^ and 𝑃𝐾¯:=𝑃𝐾+[α^]⁢B; return the Round Two share zk computed with x¯k and 𝑃𝐾¯.

  5. 5.

    The adversary outputs (m∗,σ∗,α∗,𝑎𝑢𝑥∗) and wins if m∗∉𝒬m and σ∗ is valid on m∗ under 𝑃𝐾 or under 𝑃𝐾+[Hr⁢(α∗,𝑎𝑢𝑥∗)]⁢B.

The randomisers are adversarial, and the oracle applies Hr itself. The advantage Advtruf⁢(𝒜) is the probability of winning.

The game is that of ePrint 2024/436, Definition 6 and Figure 4, in additive notation and with the evident reading of its interface; the symbol ρk is the paper’s name for a commitment pair, not a binding factor.

Remark 7.15 (Scope of the game).

Four clauses bound what TRUF covers.

  1. (a)

    TRUF is existential: its oracle records messages only, and a new signature on a signed message does not win. It is therefore weaker than Definition 5.1, which records message–signature pairs, and Theorem 1 of ePrint 2024/436 would not, as printed, give the strong notion that ZIP 312, “Requirements”, asks for (Remark 5.13, (b)).

  2. (b)

    The choice α=0 does not give the identity shift, since Hr⁢(0,𝑎𝑢𝑥) need not be 0, contrary to the preprint’s statement that an adversary obtains unrandomised signatures by submitting the randomiser zero. The game has no unrandomised signing oracle and does not contain ordinary unforgeability.

  3. (c)

    Freshness is on the message alone. All Actions of a transaction sign one digest, so a forgery under a second Action’s randomised key on a digest already signed for another Action is not a win.

  4. (d)

    A Coordinator that chooses the effective randomiser outright (Remark 5.8) is outside the game, whose oracle applies Hr.

Each clause is a reason why the target notion of §7.5, Definition 7.18, is stated separately.

Remark 7.16 (The claimed unforgeability of re-randomised FROST).

Theorem 1 of ePrint 2024/436 claims that Rerandomized-FROST is unforgeable in the sense of Definition 7.14, in the random-oracle model under the assumption of Definition 7.3, with its Equation (3) as printed:

Adv≤Q⋅AdvDaomdl⁢(λ)+2⁢Q2/q−𝗇𝖾𝗀𝗅⁢(λ),

all three terms under one root, with Q:=qh+qs counting random-oracle and signing queries and q the group order (p in the paper). No number is used from it. Its assumptions are static corruption and centralised key generation (Section 2.3 there); the paper states that its definition can be adapted to distributed key generation, and gives no proof. The abstract’s “same security assumptions underlying plain FROST” is correct only in the sense of Lemma 7.4.

Remark 7.17 (Gaps in the printed reduction).

The reduction of ePrint 2024/436, Section 6, has five gaps, one per clause.

  1. (a)

    The simulated verification shares do not interpolate to 𝑃𝐾 as printed. For |C|=t−1 and Lj⁢(i) the Lagrange coefficient of the node j of {0}∪C at i, the required relation is

    𝑃𝐾i=[L0⁢(i)]⁢𝑃𝐾+∑j∈C[Lj⁢(i)]⁢[xj]⁢B.
  2. (b)

    The Round Two logarithm query omits the Lagrange coefficient: the share zk=rk+sk⁢ak+c⁢λk⁢x¯k needs the logarithm of Rk+[ak]⁢Sk+[c⁢λk]⁢𝑃𝐾¯k.

  3. (c)

    The random-oracle simulation is not a consistent lazy sampler: the table of Hr stores no outputs, index and message are mixed in the binding-factor table, one branch returns c in place of ak, and an unrandomised case α=⊥ is used that neither 𝔽q nor the game defines.

  4. (d)

    The forking step reprograms the signature hash at a key 𝑃𝐾′ left undefined, does not show that the reprogrammed query is the challenge query of both forgeries when their randomised keys differ, and derives no bound, so Equation (3) is not derived.

  5. (e)

    Nonce extraction is unsound: the printed numerator has sign errors and uses the randomisers in place of their Hr images; and when c0=c1 and a0=a1 but h0≠h1, the two responses give one linear equation in two unknowns.

With the query counter of Definition 7.3 restored, these remain material gaps: a repair may exist, but no complete reduction is given, and the claim of Remark 7.16 is recorded, not used as a theorem. Classification (Definition 1.1): unforgeability of re-randomised FROST in the game of Definition 7.14 is an open problem.

7.5 Threshold spend authority

Definition 7.18 (Threshold unforgeability under re-randomisation).

Fix a key generation K for threshold parameters (t,n), followed by Construction 6.7, and the ciphersuite FROST(Pallas, BLAKE2b-512), whose hashes are available as Assumption 4.2 models them.

  1. 1.

    Corruption. The adversary names a set C of fewer than t participants before key generation and takes their part in K: it receives every message K delivers to a member of C and, when K is interactive, sends the messages of the members of C in each round after seeing the honest participants’ messages of that round. The honest participants, and a dealer, run K as specified and abort as it prescribes. For Construction 3.2 the adversary receives the shares of C and the coefficient commitments.

  2. 2.

    Keys. After a run of K without abort it receives 𝑃𝐾 and every 𝑃𝐾j, and it controls the Coordinator.

  3. 3.

    Signing. It obtains Round One commitments from honest participants (Construction 4.4) and Round Two shares on requests (m,L,α^,DT) with transaction data DT (Definition 5.9), in which it supplies the effective randomiser α^ directly, as the wire form of ZIP 312 lets a Coordinator do; each honest participant runs Construction 5.10 with that α^ and DT.

  4. 4.

    Output. The adversary outputs (θ∗,α∗,m∗,σ∗) with θ∗∈{1,−1}, and wins if σ∗ is valid on m∗ under

    𝗋𝗄∗:=[θ∗]⁢𝑃𝐾+[α∗]⁢B

    and fewer than t−|C| honest participants returned shares to requests whose message is m∗ and whose shifted group key 𝑃𝐾+[α^]⁢B equals 𝗋𝗄∗.

The scheme satisfies the notion for K if every efficient adversary wins with negligible probability.

The notion is the target for ZIP 312, “Round Two - Signature Share Generation”; no source states it. Naming (θ∗,α∗) relates 𝗋𝗄∗ to 𝑃𝐾, so a key whose logarithm the adversary knows is no win; θ∗=−1 admits the opposite point that an Action may witness (Ironwood Guide, Remark “Sign of 𝖺𝗄ℙ”). Freshness is on the pair (𝗋𝗄,m), the counterpart of the Ironwood Guide’s Definition “Spend-authority experiment”, whose queries (α,m) fix 𝗋𝗄.

Definition 7.19 (Threshold spend-authority experiment).

The adversary names a static set C of fewer than t participants. An Orchard-protocol threshold key is generated by K, the adversary taking the part of C as in Definition 7.18, normalised by Construction 6.7, and completed in one of two ways:

  1. (a)

    by Construction 6.8 (𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝗍𝗋𝗎𝖾), with 𝗌𝗄 drawn uniformly and independently of the key material and given to every participant, the ideal form of the agreement on 𝗌𝗄; or

  2. (b)

    when K is a dealer that shares an 𝖺𝗌𝗄 derived from a spending key, by the Ironwood Guide’s Construction “Spend-side secrets” from that spending key, which no participant holds (𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝖿𝖺𝗅𝗌𝖾).

The adversary controls the Coordinator and the participants of C, receives their state, the common secrets included, and every public field, may create notes to any address of the key, and runs signing runs of Construction 5.10 with the honest participants, supplying the message, the transaction data they check (Definition 5.9) and the effective randomiser. A note of the key is a note whose transmission key is [𝗂𝗏𝗄]⁢𝗀𝖽 for the key’s 𝗂𝗏𝗄. The adversary wins by outputting a block chain containing an accepted Action whose witness consumes a note of the key and whose signature is valid under its 𝗋𝗄 on a digest m such that fewer than t−|C| honest participants returned shares to requests with message m and shifted key 𝗋𝗄.

The experiment is the formal content of the clause of ZIP 312, “Threat Model”, that a rogue Coordinator “should not be able to create signed transactions without the approval of” t participants (Definition 5.14). Freshness is on (𝗋𝗄,m) because every Action of a transaction signs one digest.

Theorem 7.20 (Threshold spend authority from the target notion).

Suppose that re-randomised FROST over FROST(Pallas, BLAKE2b-512) with keys from K satisfies Definition 7.18. Then, under the Ironwood Guide’s Assumptions “Knowledge soundness of the Action proof”, “Discrete logarithms on Pallas” and “GroupHash as a random oracle”, and, for keys completed as in Definition 7.19, (b), its Assumption “Pseudorandomness of PRF expansion”, no efficient adversary wins Definition 7.19 except with negligible probability. The statement is conditional: its premise is an open problem (Remark 7.22).

Proof.

The proof cites statements only. Let 𝒜 be an efficient adversary in Definition 7.19.

(1) Simulation. A reduction ℬ plays Definition 7.18 with the same C, relaying the part of 𝒜 in K. It completes the key. For 𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝗍𝗋𝗎𝖾 it draws 𝗌𝗄 and computes 𝗇𝗄, 𝗊𝗌𝗄, 𝗊𝗄, 𝗋𝗂𝗏𝗄 and 𝗂𝗏𝗄 from 𝗌𝗄 and 𝖺𝗄=𝖤𝗑𝗍𝗋𝖺𝖼𝗍ℙ⁢(𝑃𝐾) (Lemma 6.11, part (a)); for 𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝖿𝖺𝗅𝗌𝖾 it simulates 𝗇𝗄 and 𝗋𝗂𝗏𝗄 (Lemma 6.11, part (b)), at a negligible cost. It gives 𝒜 the state of C and every public field, and simulates the chain and every other honest party. It relays each signing run to its oracles with the message, transaction data, commitment list and effective randomiser of 𝒜; the honest oracles perform the check of Definition 5.9, and a failed check aborts identically in both games. The view of 𝒜 is thus that of the experiment, and the number of honest shares returned for a pair (𝗋𝗄,m) is the same in both games.

(2) Extraction. On the block chain output by 𝒜, ℬ runs the extractor of Assumption “Knowledge soundness of the Action proof” and finds an Action that meets the winning condition, stopping if there is none. Its witness gives 𝖺𝗄wℙ, αw and 𝗂𝗏𝗄w with 𝗋𝗄=𝖺𝗄wℙ+[αw]⁢G𝖲𝗉𝖾𝗇𝖽𝖠𝗎𝗍𝗁 and the consumed note’s transmission key [𝗂𝗏𝗄w]⁢𝗀𝖽, where 𝗂𝗏𝗄w=𝖢𝗈𝗆𝗆𝗂𝗍𝗋𝗂𝗏𝗄w𝗂𝗏𝗄⁢(𝖤𝗑𝗍𝗋𝖺𝖼𝗍ℙ⁢(𝖺𝗄wℙ),𝗇𝗄w) (Ironwood Guide, Definition “Orchard Action statement”).

(3) The witnessed key. The note is a note of the key, so [𝗂𝗏𝗄w]⁢𝗀𝖽=[𝗂𝗏𝗄]⁢𝗀𝖽. The point 𝗀𝖽≠𝒪 has prime order p𝖵𝖾𝗌𝗍𝖺, and 𝗂𝗏𝗄w and 𝗂𝗏𝗄 are integers below p𝖯𝖺𝗅𝗅𝖺𝗌<p𝖵𝖾𝗌𝗍𝖺, so 𝗂𝗏𝗄w=𝗂𝗏𝗄. The Ironwood Guide’s Proposition “Binding of 𝗂𝗏𝗄 to (𝖺𝗄,𝗇𝗄)” gives 𝖤𝗑𝗍𝗋𝖺𝖼𝗍ℙ⁢(𝖺𝗄wℙ)=𝖤𝗑𝗍𝗋𝖺𝖼𝗍ℙ⁢(𝑃𝐾), except with negligible probability, and its Lemma “Coordinate extraction identifies opposite points” gives 𝖺𝗄wℙ=[θ]⁢𝑃𝐾 for some θ∈{1,−1}.

(4) Output. The Action is accepted, so its signature σ is valid under 𝗋𝗄 on m, and 𝗋𝗄=[θ]⁢𝑃𝐾+[αw]⁢B. Algorithm ℬ outputs (θ,αw,m,σ), which wins Definition 7.18 by the winning condition of the experiment and step (1).

The corrupt participants’ 𝗇𝗄 and the other common secrets enter only through the simulation of Lemma 6.11, and no step uses their secrecy; there the proof departs from the single-holder case. The losses are the failure probability of the extractor, the binding term and, for 𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝖿𝖺𝗅𝗌𝖾, the simulation term, all negligible. □

Corollary 7.21 (Bundle binding for threshold keys).

The Ironwood Guide’s Proposition “Bundle binding” is stated for single holders under its hypothesis (S), that the holder signs under 𝗋𝗌𝗄i only 𝖲𝗂𝗀𝖧𝖺𝗌𝗁⁢(T). Its threshold counterpart is the hypothesis

  1. (St)

    for each threshold-signed Action i of a transaction T, with randomised validating key 𝗋𝗄i, fewer than t−|C| honest participants return shares to requests whose shifted group key is 𝗋𝗄i and whose message is not 𝖲𝗂𝗀𝖧𝖺𝗌𝗁⁢(T).

If the premise of Theorem 7.20 and (St) hold, then under the Ironwood Guide’s Assumption “Collision resistance of BLAKE2b” and, for keys completed as in Definition 7.19, (b), its Assumption “Pseudorandomness of PRF expansion”, an adversary in Definition 7.19 that receives T outputs, only with negligible probability, an accepted transaction that contains an Action with key 𝗋𝗄i and whose effecting data differ from those of T.

Proof.

Let T′ be the output and m′:=𝖲𝗂𝗀𝖧𝖺𝗌𝗁⁢(T′). If m′=𝖲𝗂𝗀𝖧𝖺𝗌𝗁⁢(T), descending the digest tree of the Ironwood Guide’s Definition “Signature digest”, whose nodes hash unambiguous encodings under their personalisations, from the equal roots to a node whose inputs differ gives a collision, which has negligible probability by Assumption “Collision resistance of BLAKE2b” there. Otherwise m′≠𝖲𝗂𝗀𝖧𝖺𝗌𝗁⁢(T), and by (St) fewer than t−|C| honest participants returned shares for the pair (𝗋𝗄i,m′); the signature σ′ of T′ for that Action, valid under 𝗋𝗄i on m′, is fresh on the pair. The reduction of Theorem 7.20, which relayed the effective randomiser αi with 𝗋𝗄i=𝑃𝐾+[αi]⁢B and simulated the common secrets by Lemma 6.11, outputs (1,αi,m′,σ′), a win in Definition 7.18. □

Hypothesis (St) does not follow from Definition 5.9: a Coordinator may send a second request with the same effective randomiser together with its own matching transaction data, and the check passes. It is an approval policy that the corollary assumes. The corollary is conditional, as the theorem is.

Remark 7.22 (Status of threshold spend authority).

The premise of Theorem 7.20 is an open problem for every randomiser flow. Theorem 7.9 has no randomisation. The game of Definition 7.14 applies the randomiser hash inside its oracle, which only the flow of Construction 5.6 matches; wherever the Coordinator sends the effective randomiser, as in the wire form of ZIP 312 or when it forwards a randomiser fixed elsewhere, the flow is outside that game (Remark 5.8). The preprint’s freshness is on messages only, and its proof is incomplete (Remark 7.17). Composition with distributed key generation is open (Remark 7.13). The Ironwood Guide’s Theorem “Spend authority” does not apply: it fixes a key with 𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝖿𝖺𝗅𝗌𝖾 and the signing oracle of one holder. Unconditional threshold spend authority is an open problem (Definition 1.1); the clause of ZIP 312 is itself a “should”.

7.6 Unlinkability

Neither ePrint 2024/436 nor ZIP 312 proves threshold unlinkability. ZIP 312, “Rationale”, argues by matching distributions: its randomiser generation “generates randomizer uniformly at random as required by RedDSA.GenRandom”, and signing is compatible with the randomisation, signing and validation of the protocol specification. Its “Requirements” defer the formal notion to the criteria of the protocol specification for signatures with re-randomisable keys. The randomiser is close to uniform, not uniform (Lemma 5.7). This subsection states a notion against specified observers and proves it.

Definition 7.23 (Outsider unlinkability).

Fix threshold parameters (t,n), the identifiers 1,…,n and a key generation K with these parameters. The game generates two threshold keys independently by K and gives both group keys to an observer, which is neither the Coordinator nor a key-share holder and makes at most qh random-oracle queries. The observer chooses a number N of run positions, for each position k a signing set Ik of at least t identifiers, and two assignments a0,a1 of the run positions to the two keys. For b∈{0,1}, run position k signs with signing set Ik under key ab⁢(k) by Construction 5.10, the observer choosing the message mk, a signature digest, after receiving the run’s randomised validating key 𝗋𝗄k. Signing sets and their sizes, and messages as functions of the view, thus do not depend on the assignment. The view of a run is taken at one of three levels:

  1. the chain level: 𝗋𝗄k, the aggregate and mk;

  2. the commitment level: the chain level with the commitment list of Round One, which RFC 9591, Section 5, sends without confidentiality;

  3. the share level: the commitment level with the returned signature shares, which RFC 9591 also sends without confidentiality.

The scheme is outsider-unlinkable at a level with distance ϵ if the observer’s views under a0 and a1, its oracle answers included, are within statistical distance ϵ (Math Guide, §“Statistical distance”).

The Coordinator and the share holders are excluded because ZIP 312 trusts them with unlinkability (Definition 5.14).

Proposition 7.24 (Unlinkability against outside observers).

Let signing be over FROST(Pallas, BLAKE2b-512), with distance δ<2−257 (Proposition 6.2). Assume:

  1. (1)

    an honest Coordinator and honest signers following Construction 5.10;

  2. (2)

    a randomiser fresh per run and hidden from the observer, drawn by Construction 5.6, hence within the distance of Lemma 5.7;

  3. (3)

    the seed and the transaction data on the confidential and authenticated channel of Definition 2.10, type (b), and Round One and the returned shares on the authenticated channels of RFC 9591.

Let Qh:=qh+N+2⁢∑k|Ik|, which bounds the number of distinct inputs at which the observer and the honest parties together query H3 and HR. Then the scheme is outsider-unlinkable (Definition 7.23) at the chain and commitment levels with distance at most

2⁢∑k=1N(1+2⁢|Ik|)⁢(δ+Qh⋅2−256).

The hypotheses that the observer is neither the Coordinator nor a signer of the runs, and that the randomiser channel is confidential, are necessary.

Proof.

Sufficiency is proved by hybrids (i) to (iii), from each assignment towards one common game. The argument is statistical and programs no oracle, so it has no abort term.

(i) Each randomiser α^k is replaced by a uniform scalar, one run at a time, at δ+Qh⋅2−256 per run, by Lemma 5.7 applied with the rest of the game as the observer; its queries to HR are among the Qh, each other honest evaluation having its own fresh 32-byte prefix. Then every 𝗋𝗄k=𝑃𝐾+[α^k]⁢B is uniform and independent of the group keys and of the other runs (Ironwood Guide, Proposition “Unlinkability of randomised validating keys”, part (i)).

(ii) Each honest nonce is replaced by a uniform scalar, at δ+Qh⋅2−256 per nonce, by Lemma 4.5 applied in the same way, whatever the share. The commitments are then uniform and independent of the keys, and so is the event of a zero nonce and the abort it causes.

(iii) The rest of the view is a function of these values, the observer’s choices and the oracle. For run k: ρi is H1 at an input holding 𝗌𝖾𝗋𝔾⁢(𝗋𝗄k), H4⁢(mk), H5 of the list encoding and i; R=∑i∈Ik(Di+[ρi]⁢Ei); c=H2⁢(𝗌𝖾𝗋𝔾⁢(R)⁢‖𝗌𝖾𝗋𝔾⁢(𝗋𝗄k)‖⁢mk); and z is the unique scalar with [z]⁢B=R+[c]⁢𝗋𝗄k (Theorem 5.11). The binding-factor input holds 𝗋𝗄k and not 𝑃𝐾 because Construction 5.10 substitutes the shifted key; with 𝑃𝐾 there, the check that R is the sum of the Di+[ρi]⁢Ei under a candidate 𝑃𝐾 would test whether a run belongs to that key. After (i) and (ii) the view has one distribution under a0 and under a1. The triangle inequality (Math Guide, §“Statistical distance”, Theorem “Properties of statistical distance”) over both chains of hybrids, each of N randomiser hops and 2⁢∑k|Ik| nonce hops, gives the bound.

(iv) Necessity. The Coordinator and every signer of a run hold its seed with L, hence its randomiser, and so does any party that reads a randomiser channel without confidentiality. Each computes 𝖺𝗄ℙ=𝑃𝐾=𝗋𝗄−[α^]⁢G𝖲𝗉𝖾𝗇𝖽𝖠𝗎𝗍𝗁 and so links the run to every run of the key, distinguishing two assignments that differ on it, except when the two independent group keys coincide. A randomiser reused across two runs of one key gives both the same shifted key (ePrint 2024/436, Section 7). Hence the exclusions and the confidential randomiser channel are necessary; this part is the volume’s one statement of why that channel is confidential. □

The proposition is scoped against the Ironwood Guide’s Definition “Public leakage and privacy preconditions” (“Privacy”). A key with 𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝗍𝗋𝗎𝖾 violates (P1), which requires 𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝖿𝖺𝗅𝗌𝖾; every randomiser of ZIP 312 violates (P2), which requires α drawn by 𝖦𝖾𝗇𝖱𝖺𝗇𝖽𝗈𝗆; and (P4) excludes an adversary holding 𝗇𝗄, which every participant of Construction 6.8 holds. The Ironwood Guide’s Theorem “Privacy of an Action” and the key-dependent clauses of its Theorem “End-to-end security” therefore cover no threshold-signed Action, and for the other fields of such an Action this volume claims nothing.

Proposition 7.25 (Linkage through returned signature shares).

Let t≥2. At the share level of Definition 7.23 every run of a key is linked. From a share zi of run k, the commitment list, the public 𝗋𝗄k and mk, the observer computes ρi, R, c and λIk,i, and then the tag

[1λIk,i⁢c]⁢([zi]⁢B−Di−[ρi]⁢Ei)−𝗋𝗄k=𝑃𝐾i−𝑃𝐾,

which is the same for every run of the key; the division is defined except when c=0, which has probability at most δ+1/q. From the at least t tags of one run, interpolation in the exponent gives 𝑃𝐾j−𝑃𝐾 for every identifier j, so runs with disjoint signing sets are linked too. For two keys generated independently by Construction 3.2, the tags at one identifier agree with probability 1/q. The chain and commitment levels are therefore the strongest that the channels of RFC 9591 and ZIP 312 support: unlinkability against an observer of the network needs confidential channels for the returned shares, which neither requires. For t=1 the tag is 𝒪 and carries no key.

Proof.

An honest share is zi=di+ei⁢ρi+λI,i⁢c⁢(𝑠𝑘i+α^) (Construction 5.10), so

[zi]⁢B−Di−[ρi]⁢Ei=[λI,i⁢c]⁢(𝑃𝐾i+[α^]⁢B);

dividing by λI,i⁢c and subtracting 𝗋𝗄=𝑃𝐾+[α^]⁢B gives 𝑃𝐾i−𝑃𝐾. Here λI,i≠0 for distinct non-zero identifiers, and c is an answer of H2, which takes the value 0 with probability at most 1/q+δ (Math Guide, Theorem “Properties of statistical distance”, part (3)). With f the sharing polynomial, the tags are the values [g⁢(j)]⁢B of g:=f−f⁢(0), of degree at most t−1; t of them determine [g⁢(j)]⁢B for every j by Lagrange interpolation in the exponent (Math Guide, Theorem “Lagrange interpolation”), the map a↦[a]⁢B being linear. For a dealer key with t≥2, g⁢(j)=∑k≥1ak⁢jk is uniform for j≠0, since a1 is uniform and independent of the other coefficients; so the tags of two independent keys at j agree with probability 1/q. For t=1, f is constant and g=0. □

On the toy curve of Example 4.12, two re-randomised runs of the key with randomisers 565 and 908 have randomised keys (268,139) and (436,331), and both give the tags 𝑃𝐾1−𝑃𝐾=(433,783) and 𝑃𝐾3−𝑃𝐾=(933,275).

7.7 Status of the constructions

Table 3 classifies the principal constructions and claims of the volume by Definition 1.1, with its source and the section that states it.

Object and source Home
Specified
FROST signing, aggregation and share verification; RFC 9591 §4
Trusted-dealer key generation; RFC 9591, Appendix C §3.1
Even-y requirement on the spend validating key of an Orchard-protocol key; ZIP 2005 (Proposed) §6.3
Re-randomised signing, aggregation and share verification; FROST(Pallas, BLAKE2b-512); the threat model; ZIP 312 (Draft), which leaves key generation out of scope §§5.5, 6.1, 5.6
Randomiser derivation of ZIP 312 (Draft); with the signature digest as message it yields a valid threshold spend only with negligible probability (Proposition 5.5), so no randomiser derivation usable for spend authorisation is specified §5.3
Derivation with 𝗎𝗌𝖾⁢_⁢𝗊𝗌𝗄=𝗍𝗋𝗎𝖾 and the constraints on FROST keys; ZIP 2005 (Proposed), taking effect with NU6.3 (ZIP 258) §6.4
Message-check obligation; ZIP 312 §5.4
Consensus rule under which the aggregate is accepted; protocol specification, §“Action Descriptions” §6.2
Designed but unspecified
Distributed key generation for Zcash; ePrint 2020/852, specified by no RFC or ZIP §3.2
Agreement on the common spending key §6.4
Sign normalisation of shared key material (Construction 6.7), this volume’s own §6.3
Seed-and-commitments randomiser and the order under it §§5.3, 6.5
Message-check mechanism §5.4
Threshold spend authorisation of an Action under the seed-and-commitments randomiser §6.6
Open problem
Unforgeability of FROST with distributed key generation §7.3
Unforgeability of re-randomised FROST in the game of ePrint 2024/436, claimed with a gapped proof; and in the target notion, Definition 7.18 §§7.4, 7.5
Threshold strong unforgeability under re-randomised keys, Definition 5.1 §5.6
Unconditional threshold spend authority §7.5
Composition of a constructor-chosen α with ZIP 312 §6.5
Established
TS-SUF-3 of FROST1 under OMDL in the random-oracle model; ePrint 2022/833, Theorem 5.4 Theorem 7.9
Proved in this volume
Correctness Theorems 4.11, 5.11
Validity of the aggregate Proposition 6.3, Corollary 6.4
Correspondence to FROST1 Proposition 7.8
OMDL hardness implies AOMDL hardness Lemma 7.4
No randomiser derived from the signature digest Proposition 5.5
Distance of nonces and randomisers from uniform Lemmas 4.5, 5.7
Replay and identifiable abort Propositions 4.14, 4.10
Validity of dealt and jointly generated key material Propositions 3.3, 3.8
Correctness of sign normalisation of a dealt or jointly generated sharing Lemma 6.6, Construction 6.7
Transfer of unforgeability to Orchard-protocol dealer keys Lemmas 7.11, 6.11, Corollary 7.12
Order of a threshold spend authorisation Proposition 6.12
Nonce-reuse criterion Lemma 4.13
Threshold spend authority and bundle binding from the target notion Theorem 7.20, Corollary 7.21
Outsider unlinkability at the chain and commitment levels Proposition 7.24
Linkage at the share level Proposition 7.25
Table 3: Classification of the principal constructions and claims of the volume (Definition 1.1), one row per object, with its source and the section or statement that gives it. Specified objects are those of an RFC, a ZIP or the protocol specification, with the ZIP’s status; designed objects are published or constructed here without a specification; open problems have no proof in any checked source; established claims rest on a published proof; the last group lists the principal statements proved in this volume.