群签名、环签名和聚合签名

群签名

群签名(group signature)方案是一种类似于数字签名的密码原语,其目的在于允许用户代表群签名消息,并在该群内保持匿名。也就是说,看到签名的人可以用公钥验证该消息是由该群成员发送的,但不知道是哪一个。同时,用户不能滥用这种匿名行为,因为群管理员可以通过使用秘密信息(密钥)来消除(恶意)用户的匿名性。

群签名方案的关键是“群管理员”,它负责添加群成员,并能够在发生争议时揭示签名者身份。

以此来看,群签名在有“管理员”,并且需要一定匿名性的场景下可以有有比较好应用,比如电子商务,电子政务,企业管理等场景。

然而群签名的安全性和效率成为群签名应用的瓶颈。许多安全的群签名效率较低,并且许多已有的群签名不支持成员撤销或成员撤销效率很低,不适合大群组应用

目前比较经典的群签名方案有ACJT 2000,BBS04群签名算法等,但是他们或多或少都存在一些比如无法撤销,效率底下的问题,后续也有一些对于在这些算法基础上的改进,但基本未看到实现,所以在这里也不再展开。

环签名

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

环签名与群签名的关键区别在于环签名没有 ”群管理员“,环签名没有可信中心,没有群的建立过程,对于验证者来说,签名人是完全正确匿名的。环签名提供了一种匿名泄露秘密的巧妙方法。环签名的这种无条件匿名性在对信息需要长期保护的一些特殊环境中非常有用。例如,即使RSA被攻破也必须保护匿名性的场合。

聚合签名

聚合签名是一种用来将任意多个签名聚合成一个签名的变体签名方案,它可以把一笔多签交易的各个参与方的公钥和签名合并为一个公钥与签名,整个合并过程是不可见的,无法从合并后的公钥与签名推导出合并前的信息,并且在验证时仅需一次验证即可。当前通常使用Schnorr签名算法实现签名聚合。

私钥签名,公钥验证签名。

posted @ 2022-08-12 17:33  Weisswire  阅读(1863)  评论(0编辑  收藏  举报