【数字签名】环签名
2022-3-17
| 2023-10-28
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
Sub-item
Last edited time
Oct 28, 2023 10:44 AM
Parent item
领域
环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作,签名者利用自己的私钥集合中其他成员的公钥就能独立的进行签名,集合中的其他成员可能不知道自己被包含在其中。环签名的优势除了能够对前者进行无条件匿名外,环中的其他成员也不能伪造真实的签名者签名。环签名在强调匿名性的同时,增加了审计监管的难度。
环签名的签名构成一个环,如下:
notion image

生成签名

  1. 设签名者的秘钥对 ,其中  。
  1. 公钥集合 ,用个公钥进行签名,是签名者的公钥。
  1. 签名者生成随机数,随机数集合,其中,随机数与公钥一一对应,对应的签名者的随机数,但是在这一步无需生成,因为会在后面的步骤中计算得到。令  ,符号∪是数学上的并集符号。
  1. 假设存在这样一个随机数和一个标量,满足  ,这里我们需要明白的是,对于已知的和公钥,如果我们知道,就能计算出来,具体计算值,在后面的步骤会给出来。因此,在这一步,签名者生成一个随机数,并计算,假设 。
  1. 根据递推式 ,分别计算 。签名者属于第个,
    1. 这里就从第个开始计算:
      … …
      … …
      递推至此,发现已经得出了,再看第四步的假设式子:,已知,等式可写成:
      得到:,计算
      这一步是签名者的私钥起了关键作用。最后,签名者组装环签名,发送给接收方。
       
      如果公钥集合中,没有一个公钥对应一把私钥,即签名者使用的全都是别人的公钥,那他无法求出使得形成一个环,。反之,如果所有成立,则生成这个等式的人至少拥有这个公钥中一把私钥.
      为什么说不是用自己的私钥和公钥,就不能求出使得形成一个环呢?这里实质上是一个离散对数难题。
      因为,对于签名者,如果使用的公钥不是自己的公钥,要计算,则
      为椭圆曲线的上一点,此时,根据离散对数难题(在一个有限循环群中,椭圆曲线上已知两点,满足关系,要求出是非常困难的),我们是无法计算出的。

      验证签名

      验证者根据,和消息,利用递推式,顺序求出,最后根据求出。然后判断。如果相等则签名有效,否则签名无效。

      应用场景:区块链中隐藏交易发起者地址

      交易发起者,使用环签名技术,把自己的公钥混合在多个公钥中,验证签名时就不知道是谁签的名了,达到隐藏交易发起者的身份。
       
密码学
  • 密码学算法
  • 数字签名
  • 伽罗华域(Galois Field,GF,有限域)介绍【数字签名】群签名
    目录