匿名加密属性凭证方案解析
1. 预备知识
在深入了解加密属性凭证方案之前,我们需要先熟悉一些常见的密码学原语和相关符号。
- 符号表示 :
- (x \in_R V) 表示 (x) 是从集合 (V) 中均匀随机选取的。
- (H) 表示一个密码学哈希函数,其值域为 (Z_q),其中 (q) 是一个比特长度为 (k) 的素数,(k) 为安全参数。
- (\langle g \rangle) 表示一个素数阶 (q) 的循环群,代表一个合适的离散对数设置。
- ElGamal 密码系统 :该方案使用了具有加法同态性的 ElGamal 密码系统。对于循环群 (\langle g \rangle),私钥是一个随机选取的 (\lambda \in_R Z_q),对应的公钥是群元素 (f = g^{\lambda})。消息 (x \in Z_q) 通过选取一个随机的 (r \in_R Z_q) 并计算 (c = (g^r, g^x f^r) := \langle g^x \rangle) 进行加密。为了实现高效解密,(x) 必须限制在一个足够小的集合内,但这对我们的场景没有限制。解密函数用 (D) 表示。同态性质确保加密可以通过乘以一个随机的零加密 (\langle g^0 \rangle) 进行重新盲化。
- Σ - 协议 :零知识证明知识是一种双方协议,用于证明者向验证者证明他知道某些信息,而不泄露除被证明断言的值之外的任何信息。对于关系 (R = {(x; w)}) 和公共输入 (x),证明者以零知识方式证明他知道一个值 (w)(见证),使得 ((x; w