环签名学习笔记

一、环签名的概念

 

1.问题的提出

①一般的数字签名会暴露成员身份。②一般的匿名方式不能确定来自成员。 ③ 群签名中,如果群管理者被控制,成员的身份会被暴露。

在传统的数字签名中,签名者使用自己的私钥对消息进行签名,然后其他人可以使用签名者的公钥验证签名的有效性。但是,这种方法会暴露签名者的身份信息。

环签名通过引入"环"的概念来解决这个问题。环签名包含一个签名者和一组其他成员的公钥,这个公钥集合形成了一个环。当一个人使用环中的某个成员的私钥来签名时,其他人可以使用该成员的公钥和环签名来验证签名的有效性,但无法确定具体是哪个成员进行了签名。

在环签名中,签名者使用自己的私钥和环中其他成员的公钥来生成环签名,而不是使用其他成员的私钥。生成环签名的过程如下:

  1. 签名者选择一个或多个其他成员的公钥,这些公钥形成一个环。(相当于一串钥匙)
  2. 签名者使用自己的私钥对消息进行签名。
  3. 签名者将自己的签名与环中其他成员的公钥进行组合或计算,生成环签名。

具体的组合或计算方式可能因使用的具体环签名方案而有所不同。在环签名方案中,这种组合或计算的方式是为了确保环签名的有效性和匿名性。

因此,公钥在环签名中的作用是确保签名的有效性,并为匿名性提供支持。签名者仅使用自己的私钥进行签名,而不需要获取环中其他成员的私钥。

2.环签名的过程与子算法

  • 密钥生成Gen(PPT算法):输入安全参数\kappa,为每一用户u_i生成公私钥对(x_i, y_i)1\leq i \leq n
  • 签名Sign(PPT算法):输入消息m,一组公钥L={y_1,y_2,...,y_n}以及签名者的私钥x_s,输出对于消息m的环签名R
  • 验证Verify(确定性算法):输入(m,R),输出“True”或者“False”。

wiki上的过程解释:https://en.wikipedia.org/wiki/Ring_signature

环签名之所以被称为"环"签名,是因为签名者与其他成员的公钥形成了一个环状结构,实现了签名者的匿名性和签名验证的有效性。

3.环签名的特点

  1. 签名者利用自己的私钥可以将签名中的一系列值首尾相连,环签名 因其签名值由一定的规则组成一个环而得名;
  2. 没有群体建立过程,也无特殊的管理者
  3. 不需要预先加入和撤出单个群体,群体的形成根据需要在签名前由 签名人自己指定,是一种自组织结构;
  4. 不能追踪签名人身份,能通过验证确定签名者是其中某一人,但无 人能指出具体是哪一位成员.

4.环签名的安全性

  1. 正确性:按照正确的签名步骤对消息进行签名,并且传播过程签名不被篡改,则环签名满足 验证等式
  2. 无条件匿名性:攻击者即便非法获取了所有环成员的私钥,他能确定出真正签名者的概率不 超过\frac{1}{r},𝑟是环中成员(可能的签名者)的个数;
  3. 不可伪造性:环中其他成员不能伪造真实签名者的签名,攻击者即使在获得某个有效环签名 的基础上也不能以不可忽略的优势成功伪造一个新消息的合法签名

5.环签名和群签名的比较

  1. 管理系统:环签名中没有管理者,环中成员地位平等;群签名有一个群管理者,为群中其 他成员分发密钥;
  2. 两者都是一种个体代表群体签名的体制,达到签名者匿名的作用.环签名具有无条 件匿名性,任何人都不知道真正的签名者是谁;群签名中,签名可以由群管理者打开,确 定真正的签名者,保证了签名的可追踪性
  3. 环签名是一种自组织结构,真实签名者使用其他环成员的公钥时不需要他们的 同意,环成员可以任意离开、加入;群签名中成员相对固定,群成员离开、加入群时密钥 需要改变

二、3个经典的环签名算法

1.RST环签名算法(第一个环签名算法)

(1)Preliminaries

  • 单向陷门函数的定义:给定𝑥,可以较容易的计算y=f(x),而给定𝑦,计算满足y=f(x)的𝑥即计算f^{-1}是困难的. 但若得到对应的陷门𝑡(一个额外的参数,通过使用陷门,加密者可以使用单向函数对信息进行加密,而解密者则使用相应的陷门对加密后的信息进行解密),计算f^{-1}是容易的。

  •  基于RSA算法的陷门函数

  • 组合函数及其性质

 性质:

① 对每个输入进行排列:对于每个s(1 \leq s \leq r),固定y_i,组合函数为y_s到z的一一映射

②单一输入有效可解:给定z和y_i,可有效解得y_s,满足C_k,v(y_1,y_2...)=z

③没有陷门输入不可求。如果敌手不能求得任一陷门函数g_1, g_2, g_3,...,g_r的逆,则求解满足组合函数的等式是不可行的。

(2)算法描述

 

 

 

2.AOS环签名算法

3.ZK环签名算法



  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值