环签名

作者: 飞狗未来 | 来源:发表于2019-03-28 13:53 被阅读0次

    环签名指的是在r个公钥中隐藏自己拥有私钥的那个公钥,支持在区块链上隐藏交易发送人(地址/公钥)。

    环签名
    假定要签名的消息为m,s为签名者,其公钥为 P_s ,私钥为 S_s ,环成员数量为r( r > s \geq 1 ),以及环成员的公钥{ P_1 , P_2 ,…, P_r },签名者计算环签名如下:

    计算环签名

    1. 获取对称加密秘钥:首先,签名者计算对称密钥k,即是要签名的消息m的散列:
      k=h(m)
      (一个更复杂的计算k=h(m, P_1,…,P_r );然而,上面更简单的计算也是安全的。)
    2. 选择一个随机的粘合值v:其次,签名者从{0,1}^b中随机均匀地取v值。
    3. 选择随机数x_i1 \leq x \leq r,并且r \neq s
      y_i = g_i(x_i)
    4. 计算y_s
      C_k,_v(y_1, y_2,...,y_r) = v
      通过假设,给定其它输入的任意值,对于满足方程的y_s有一个唯一的值,该值可以有效地计算出来。
    5. 计算x_s
      x_s = g_ s^{−1} (y_s)
    6. 计算得到环签名:
      消息m的环签名,是一个2r+1元组
      (P_1, P_2,...,P_r; v; x_1, x_2,...,x_r)

    验证

    1. 首先,对于i = 1,2,…,r为验证者计算
      y_i = g_i(x_i)
    2. 获取对称加密秘钥:首先,签名者计算对称密钥k,即是要签名的消息m的散列:
      k=h(m)
      3.验证环签名
      C_k,_v(y_1, y_2,...,y_r) = v

    附录

    相关文章

      网友评论

        本文标题:环签名

        本文链接:https://www.haomeiwen.com/subject/owwfbqtx.html