As pointed out in the ZenGo X group by Elichai, this scheme is insecure, because
you can divide α122 by α∙22 to recover k1.
Parties P1,P2, holding shares x1,x2 of a private key x1+x2.
Both parties know X1=x1⋅G and X2=x2⋅G, as well
as the public key X=X1+X2.
P1
k1R(Z/(q))∗
K1=k11⋅G
K1⟶
ΠSHR(K1;1/k1)⟶
P2
Check ΠSHR(K1).
k2R(Z/(q))∗
K2=k21⋅G
R=k21⋅K1
r=x(R)
α∙22=k2(m+rx2)
K2⟶
ΠSHR(K2;1/k2)⟶
α∙22⟶
P1
Check ΠSHR(K2).
R=k11⋅K2
r=x(R)
α∙22⋅K2=?m⋅G+r⋅X2
α1∙1=k1(m+rx1)
α122=k1α∙22
α1∙1,α122⟶
P2
α1∙1⋅K1=?m⋅G+r⋅X1
α122⋅R=?m⋅G+r⋅X2
α121=k2α1∙1
α121⟶
P1
α121⋅R=?m⋅G+r⋅X1
Then α121+α122=k1k2(2m+r(x1+x2)). If you set
m=2−1H(M), then this works out. This requires 2 to have an inverse modulo
the order of the subgroup, which is always the case.