52、环或群签名、盲签名——2020年6月22日20:54:53

2020年6月22日20:54:57

2020年6月23日12:36:53

1、群签名

群签名,即群数字签名。是 1991 年 由 Chaum 和 van Heyst 提出的一个比较新的签名概念。Camenish、Stadler、Tsudik 等对这个概念进行了修改和完善。

群签名(group signature):
在一个群签名方案中,一个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。与其他数字签名一样,群签名是可以公开验证的,而且可以只用单个群公钥来验证。

一个群签名是一个包含下面过程的数字签名方案:
(1)创建:一个用以产生群公钥和私钥的概率多项式时间算法。
(2)加入:一个用户和群管理员之间的使用户成为群管理员的交互式协议。执行该协议可以产生群员的私钥和成员证书,并使群管理员得到群成员的私有密钥。
(3)签名:一个概率算法,当输入一个消息和一个群成员的私钥后,输出对消息的签名。
(4)验证:一个概率算法,当输入一个坏消息和一个群成员的私钥后,输出对消息的签名。
(5)打开:一个在给定一个签名及群私钥的条件下确认签名人的合法身份的算法。

2、环签名

环签名 (ring signature) 是一种数字签名方案,最初由 Rivest 等人提出,环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作。

环签名是一个能够实现签名者无条件匿名的签名方案

应用场景
(1)群签名场景

场景1: 机构内成员(C端用户)通过客户端 sig_client 访问机构内群签名服务,并在链上验证签名,保证成员的匿名性和签名的不可篡改,监管也可通过群主(可信机构,如 webank)追踪签名者信息(如拍卖、匿名存证等场景)

场景2:机构内下属机构各部署一套群签名服务,通过上级联盟链机构成员,将签名信息写到区块链上,链上验证群签名,保证签名的匿名性和不可篡改;(如征信等场景)

场景3:B端用户部署群签名服务,生成群签名,通过 AMOP 将签名信息发送给上链结构(如webank),上链机构将收集到的签名信息统一上链(如竞标、对账等场景)

(2)环签名场景

场景1(匿名投票):机构内成员(C端用户)通过客户端 sig-service-client 访问机构内环签名服务,对投票信息进行签名,并通过可信机构(如 webank)将签名信息和投票结果写到链上,其他人可验证签名和投票,仅可知道发布投票到链上的机构,却无法获取投票者身份信息

其他场景(如匿名存证、征信):场景与群签名匿名存证、征信场景类似,唯一的区别是任何人都无法追踪签名者身份

匿名交易:在 UTXO 模型下,可将环签名算法应用于匿名交易,任何人都无法追踪转账交易双方;

3、 门限签名

4、盲签名

是一种数字签名的方式,在消息内容被签名之前,对于签名者来说消息内容是不可见的.

类比例子:对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。

盲签名(Blind Signature)性质

它除了满足一般的数字签名条件外,还必须满足下面的两条性质:
签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。
签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次的签署的。

盲签名(Blind Signature)模型

接收者首先将待签数据进行盲变换,把变换后的盲数据发给签名者。
经签名者签名后再发给接收者。
接收者对签名再作去盲变换,得出的便是签名者对原数据的盲签名。
这样便满足了条件①。要满足条件②,必须使签名者事后看到盲签名时不能与盲数据联系起来,这通常是依靠某种协议来实现

END

2020年6月23日13:10:00

原文地址:https://www.cnblogs.com/oneapple/p/13179095.html