pre-signing
round_1
- 生成随机值 $k_i \leftarrow F_q$ 和 $\rho_i \leftarrow Z_{N_i}^*$,并生成 Pallier 密文 $K_i=enc_i(k_i; \rho_i)$
- 对于每个 $P_j$ 生成 $k_i \in I_{\in}, \space K_i=enc_i(k_i; \rho_i) $ 的 zk-proof:$\psi_{j,i}^0 = M(prove, \prod_j^{enc}, (sid, i), (I_{\in}, K_i); (k_i, \rho_i))$
- 广播 $(sid, i, K_i)$,向 $P_j$ 发送 $(sid, i, \psi_{j, i}^0)$
round_2
- 收到 $P_j$ 的 $(sid, j, K_j, \psi_{i, j}^0)$,验证 $M(vrfy, \prod_i^{enc}, (sid, j), (I_{\in}, K_j), \psi_{i,j}) = 1$
- 计算 $R_i = {k_i} \cdot g$
对于每个 $P_j$
生成 $k_i \in I_{\in}, \space R_i = {k_i} \cdot g, \space K_i = enc_i(k_i; \rho_i) $ 的 zk-proof:
$\psi_{j,i} = M(prove, \prod_j^{log}, (sid, i), (I_{\in}, K_i, R_i, g); (k_i, \rho_i) ))$
- 向 $P_j$ 发送 $(sid, i, R_i, \psi_{j,i})$
final
收到 $P_j$ 的 $(sid, j, R_j, \psi_{i,j})$
- 验证 $M(vrfy, \prod_i^{log}, (sid, j), (I_{\in}, K_{j}, R_{j}, g), \psi_{i,j})=1$
- 计算 $R = \sum_jR_j$
- 存储 $R, k_i$
signing
round_1
- 输入:$(sid, l, i,m)$
- 计算 $\sigma_i = k_i + x_i \cdot H(m||R)$
- 向 $P_j$ 发送 $(sid, i, \sigma_i)$
final
- 收到 $P_j$ 的 $(sid, j, \sigma_j)$
计算签名 $\sigma = \sum_j\sigma_j$,推导如下
$$ \begin{align} s &= k+x \cdot H(m||R) \\ &=(k_1 + x_1 \cdot H(m||R)) + (k_2 + x_2 \cdot H(m||R)) + (k_3 + x_3 \cdot H(m||R)) \end{align} $$
验证签名
- 计算 $P_1 = s \cdot g$
- 计算 $P_2 = R + X \cdot H(m || R)$
验证 $P_1 == P_2$
推导如下:
$$ \begin{align} s \cdot g &= (\sum{s_i}) \cdot g \\ &= ((k_1 + x_1 \cdot H(m||R)) + (k_2 + x_2 \cdot H(m||R)) + (k_3 + x_3 \cdot H(m||R))) \cdot g \\ &= (k_1 + k_2 + k_3) \cdot g + (x_1 + x_2 + x_3) \cdot g \cdot H(m||R) \\ &= R + X \cdot H(m||R) \end{align} $$
没有评论