跨联盟链的门限签名

将群分割为m个子群

共有三层签名验证方案,第一层是对子群内单个节点签名验证(离散对数);第二层是每个子群计算验证成功的节点数,如果大于子群阈值则进行下一步计算;第三层是利用shamir秘密分割进行验证。

群密钥生成

生成元\(\alpha\) (用于离散对数)

大质数 \(u, v\) 满足 $ v|(u-1)$

多项式函数\(f(x), g_A(x), g_B(x), g_C(x)\) (有多少个子群就选取多少个g(x)函数,下面都是以两个子群A,B为例) 最高次幂分别为\(t-1, t_A-1, t_B-1\)

群私钥为\(SK_C=(12)\)

群公钥为\(PK_C=(13)\)

\(f(x_i), g_A(y_{A_j} ), g_B(y_{B_k})\)秘密分发给每一个节点,同时计算\(\lambda_i , \mu_i\),一并作为节点的私钥

shamir秘密分割的拉格朗日插值法:

\(\lambda_i , \mu_i\)分别对应\(f(x), g(x)\)的拉格朗日系数系数, 满足下式:

节点\(i\)的公钥\(PK_{C_i}=(14)\)

单个节点的签名验证(离散对数)

\(t_X\) 是X子群的门限

子群X的公钥\(r_{X_i}=(15) ,r_X=(16)\)

子群X下的节点\(i\)的签名\(S_{X_i}=(17)\)

签名验证(18)

(18)式中\(r_i\) 与(15)的$r_{X_i} $相同

正确性证明:

可靠性基于离散对数

子群门限验证

对于每一个子群X,如果步骤二中验证成功的节点数\(t'_X \ge t_X\), 进行下一步。

群门限签名

聚合后的签名 \(S_C\)为所有参与验证的节点签名相加

(20)中\(S_C\)定义与后面证明有出入,应该是默认在\(t_A'\)个参与验证的节点中,只选取\(t_A\)(门限值)个节点计算。

论文这个地方可能存在错误:

验证:

证明如下:

posted @ 2023-02-25 18:50  avengekiller  阅读(88)  评论(0)    收藏  举报