水银签名凭证中的属性选择性委托
立即解锁
发布时间: 2025-09-17 00:55:40 阅读量: 4 订阅数: 43 AIGC 

# 汞签名凭证中的属性选择性委托
## 1. 多展示凭证概述
多展示凭证是指能够在多次运行展示算法时,验证者无法区分其与使用不同凭证的协议运行情况的凭证。多展示凭证主要分为两类:
- **零知识凭证**:在展示算法过程中,不会向验证者透露凭证信息,而是通过零知识证明让验证者相信有效凭证的存在。
- **自盲化凭证**:在展示算法中会部分或全部向验证者展示凭证,随后对凭证进行修改,使其仍然有效,但在后续展示中无法被识别。
## 2. 可委托凭证
可委托凭证允许凭证持有者向其他用户(匿名)颁发新凭证,这个过程被称为委托,它能让凭证形成信任链。每个凭证会标识颁发原始凭证的根权威机构以及与该原始凭证的距离步数,但不会唯一标识链上的其他委托者。
### 2.1 可委托凭证的算法
Crites 和 Lysyanskaya 为可委托凭证提供了一个模型,包含以下关键算法:
1. **NymGen(sk, L(pk0))**:这是一个概率算法,输入参与者的私钥 `sk` 和根颁发者(公钥为 `pk0`)下的委托级别 `L(pk0)`,为该参与者在该级别生成一个假名和辅助信息。
2. **Issue/Obtain 算法**:
- **Obtain(LI(pk0), pk0, skR, nymR, auxR, nymI)**:输入包括颁发者的委托级别、根权威机构的公钥、接收者的私钥、假名和辅助信息,以及颁发者的假名。
- **Issue(LI(pk0), pk0, skI, nymI, auxI, credI, nymR)**:输入为颁发者的委托级别、根权威机构的公钥、私钥、假名、辅助信息、凭证,以及接收者的假名。该协议输出接收者的新凭证,其属性是 `credI` 的一个(可能相等的)子集,委托级别为 `LI(pk0) + 1`。
3. **Prove/Verify 算法**:
- **Prove(LP (pk0), pk0, skP, nymP, auxP, credP)**:输入包括证明者的委托级别、根权威机构的公钥、证明者的私钥、验证者所知的证明者的假名及其辅助信息,以及证明者的凭证。
- **Verify(pp, LP (pk0), pk0, nymP)**:输入为系统参数 `pp`、证明者的委托级别、根权威机构的公钥,以及证明者的假名。输出与基本匿名凭证模型相同。
### 2.2 可委托凭证的安全目标扩展
可委托凭证扩展了匿名凭证的基本安全目标:
- **正确性和不可伪造性**:信任链上的每个凭证都必须正确且诚实地生成,才能认为最终展示的凭证是正确和诚实的。
- **匿名性**:扩展到委托者,既能保护委托者的隐私,也有助于为证明者提供匿名性。如果两个具有相同根权威机构但不同委托者的凭证变得可区分,会减少证明者的匿名集。
### 2.3 属性的选择性委托
虽然对于可委托凭证如何使用属性没有明确共识,但 Blömer 和 Bobolz 提出委托凭证必须编码委托者凭证属性的一个子集,即属性的选择性委托。这种模型适用于委托凭证的属性预期代表严格相等或更低权限的场景,例如颁发过程本身被委托的情况,它允许根颁发者为每个子颁发者提供包含其有权签名的所有属性的凭证。
## 3. 过往工作
### 3.1 SPS - EQ 凭证
SPS - EQ 凭证是汞签名的前身,是一种自盲化的基于属性的凭证。它基于结构保留签名在等价类上的新颖原语(SPS - EQ)。
- **结构保留签名方案**:消息、签名和公钥都由同一双线性对中的组元素组成。
- **SPS - EQ 方案**:进一步定义了消息和签名空间上的等价关系,允许消息和签名在等价类内随机化。除了常规的签名和验证函数外,还包括 `ChgRepR(M, σ, μ, pk)` 函数,该函数输入消息 `M`、签名 `σ`、随机化因子 `μ` 和公钥 `pk`,输出与 `M` 属于同一等价类的消息 `M'` 和签名 `σ'`,且满足 `Verify(M', σ', pk) = Verify(M, σ, pk)`。
- **安全要求**:包括类隐藏属性(对手无法判断一对消息是否属于同一等价类)和起源隐藏属性(`ChgRepR` 函数的输出与新
0
0
复制全文
相关推荐




