cronokirby

Avalanche Signatures

As pointed out in the ZenGo X group by Elichai, this scheme is insecure, because you can divide α122\alpha_{122} by α∙22\alpha_{\bullet22} to recover k1k_1.

Parties P1,P2P_1, P_2, holding shares x1,x2x_1, x_2 of a private key x1+x2x_1 + x_2. Both parties know X1=x1⋅GX_1 = x_1 \cdot G and X2=x2⋅GX_2 = x_2 \cdot G, as well as the public key X=X1+X2X = X_1 + X_2.


P1P_1

k1←R(Z/(q))∗k_1 \xleftarrow{R} (\mathbb{Z}/(q))^{*}

K1=1k1⋅G\displaystyle K_1 = \frac{1}{k_1} \cdot G

K1⟶K_1 \longrightarrow

ΠSHR(K1;1/k1)⟶\textcolor{blue}{\Pi^{\text{SHR}}(K_1;1 / k_1)} \longrightarrow


P2P_2

Check ΠSHR(K1)\textcolor{blue}{\Pi^{\text{SHR}}(K_1)}.

k2←R(Z/(q))∗k_2 \xleftarrow{R} (\mathbb{Z}/(q))^{*}

K2=1k2⋅G\displaystyle K_2 = \frac{1}{k_2} \cdot G

R=1k2⋅K1\displaystyle R = \frac{1}{k_2} \cdot K_1

r=x(R)r = x(R)

α∙22=k2(m+rx2)\alpha_{\bullet22} = k_2(m + rx_2)

K2⟶K_2 \longrightarrow

ΠSHR(K2;1/k2)⟶\textcolor{blue}{\Pi^{\text{SHR}}(K_2;1 / k_2)} \longrightarrow

α∙22⟶\alpha_{\bullet22} \longrightarrow


P1P_1

Check ΠSHR(K2)\textcolor{blue}{\Pi^{\text{SHR}}(K_2)}.

R=1k1⋅K2\displaystyle R = \frac{1}{k_1} \cdot K_2

r=x(R)r = x(R)

α∙22⋅K2=?m⋅G+r⋅X2\textcolor{blue}{\alpha_{\bullet22} \cdot K_2 \stackrel{?}{=} m \cdot G + r \cdot X_2}

α1∙1=k1(m+rx1)\alpha_{1 \bullet 1} = k_1 (m + r x_1)

α122=k1α∙22\alpha_{1 2 2} = k_1 \alpha_{\bullet 22}

α1∙1,α122⟶\alpha_{1 \bullet 1}, \alpha_{1 2 2} \longrightarrow


P2P_2

α1∙1⋅K1=?m⋅G+r⋅X1\textcolor{blue}{\alpha_{1 \bullet 1} \cdot K_1 \stackrel{?}{=} m \cdot G + r \cdot X_1}

α122⋅R=?m⋅G+r⋅X2\textcolor{blue}{\alpha_{1 2 2} \cdot R \stackrel{?}{=} m \cdot G + r \cdot X_2}

α121=k2α1∙1\alpha_{1 2 1} = k_2 \alpha_{1 \bullet 1}

α121⟶\alpha_{1 2 1} \longrightarrow


P1P_1

α121⋅R=?m⋅G+r⋅X1\textcolor{blue}{\alpha_{1 2 1} \cdot R \stackrel{?}{=} m \cdot G + r \cdot X_1}


Then α121+α122=k1k2(2m+r(x1+x2))\alpha_{121} + \alpha_{122} = k_1k_2(2m + r(x_1 + x_2)). If you set m=2−1H(M)m = 2^{-1} H(M), then this works out. This requires 22 to have an inverse modulo the order of the subgroup, which is always the case.