高效可证明安全的受限部分盲签名:双线性对的应用
1. 引言
盲签名由Chaum引入,允许接收者在不向签名者透露消息任何信息的情况下获得消息签名。它在电子投票、电子现金等注重匿名性的应用中发挥着重要作用。
电子现金方案存在双花问题。在线电子现金方案虽能解决双花问题,但每次交易商店都需联系银行,导致银行成为系统瓶颈。Chaum提出的离线电子现金方案可事后追踪双花者,但因采用割选协议,效率较低。
受限盲签名由Brands首次提出,允许接收者获得签名者未知消息的盲签名,但消息选择受限。Brands还提出了高效电子现金系统,不过其原始受限盲签名方案基于Chaum - Pedersen的交互式零知识证明,通信成本高且签名长度长。
部分盲签名由Abe和Fujisaki引入,允许签名者为接收者生成盲签名,并明确包含共同商定的信息。它克服了全盲签名的一些缺点,在设计高效电子现金系统中很重要。
Maitland和Boyd首次结合这两种盲签名,提出了可证明安全的受限部分盲签名方案,但仍使用Chaum - Pedersen的零知识证明,增加了通信成本和签名长度。
本文提出了基于双线性对的新受限盲签名方案和受限部分盲签名方案,前者可视为后者的特殊情况。方案使用间隙Diffie - Hellman群,无需低效的零知识证明,具有签名长度短和通信复杂度低的优势,并在随机预言模型中给出了形式化安全证明。
2. 定义
-
受限部分盲签名
:是一个四元组 (PG, KG, SG, SV)。
- 系统参数生成PG :输入安全参数k,输出公共系统参数Params。
- 密钥生成KG :输入Params,输出公私钥对 (pk, sk)。
- 签名生成SG :用户U和签名者S为概率交互式图灵机。假设info是U和S商定的公共信息,U的公共输入带包含pk和info,S的公共输入带包含info,S的私有输入带包含sk,U的私有输入带包含消息m。U和S进行签名发行协议,在多项式时间内停止。若完成,U的私有输出带包含 (info, m, σ) 或⊥。
- 签名验证SV :输入 (pk, info, m, σ),输出接受或拒绝。
- 完整性 :若S和U遵循签名发行协议,对于每个常数c > 0,存在边界k0,使得对于k > k0,S在其适当的带上输出完成和info,U输出满足SV(info, m, σ) = accept的 (info, m, σ) 的概率至少为1 - 1/kc。
- 受限性 :设m是用户U在盲签名发行协议开始时知道相对于生成元组 (g1, · · ·, gk) 表示 (a1, · · ·, ak) 的消息。协议结束后,设 (b1, · · ·, bk) 是U知道的m的盲化数m′的表示。若存在两个函数I1和I2,使得I1(a1, · · ·, ak) = I2(b1, · · ·, bk),则该协议称为受限盲签名协议。
- 部分盲性 :设U0和U1是两个遵循签名发行协议的诚实用户。通过一系列步骤,若对于每个常数c > 0,存在边界k0,使得对于所有概率多项式时间算法S∗,S∗输出b′ = b的概率至多为1/2 + 1/kc(k > k0),则签名方案是部分盲的。
- 不可伪造性 :设S是遵循签名发行协议的诚实签名者。对于任何概率多项式时间算法U∗,在上述游戏中,U∗输出的满足SV(pk, info, mj, σj) = accept(j = 1, · · ·, linfo + 1)的概率至多为1/kc(k > k0,常数c > 0),则部分盲签名方案是不可伪造的。
3. 基于双线性对的受限盲签名
3.1 间隙Diffie - Hellman盲签名方案的变体
引入反转计算Diffie - Hellman问题(RCDHP):给定g, ga和gb,计算满足a ≡ bc mod q的gc。RCDHP与CDHP等价。
基于RCDHP提出间隙Diffie - Hellman盲签名方案的变体:
- 系统参数与前文相同。
- 给定签名消息m和签名者的私钥x,签名为σ = H(m)x−1。任何人可验证 < g, y, σ, H(m) > 是有效的Diffie - Hellman元组。
- 盲签名方案:
- 用户选择随机数r ∈ Z∗q,发送 ˜m = H(m) · yr给签名者。
- 签名者计算 ˜σ = ˜mx−1并发送给用户。
- 用户计算σ = ˜σ · g−r。若 < g, y, σ, H(m) > 是有效的Diffie - Hellman元组,则σ是消息m的有效签名。
3.2 提出的受限盲签名方案
- 系统参数生成 :给定安全参数k,G1是由g生成的间隙Diffie - Hellman群,阶为素数q,G2是同阶的循环乘法群,双线性对e : G1 × G1 → G2,H : G1 × G1 → G1是密码哈希函数。系统参数为Params = {G1, G2, e, q, g, k, H}。
- 密钥生成 :签名者的公私钥对为 (x, y = gx)。
-
签名生成
:
- 签名者生成随机数r ∈ Zq,发送z = mrx, b = mr, a = yr给接收者。
- 接收者检查e(z, g) = e(b, y) = e(m, a)。若不满足,终止协议;否则,生成随机数α, λ, u ∈ Zq,计算m′ = mα, z′ = zαλ, b′ = bαλ, a′ = aλ, ˜m = H(m′, z′, b′, a′)yu,并发送 ˜m给签名者。
- 签名者响应 ˜σ = ˜mx−1,接收者计算σ = ˜σg−u。
- 签名验证 :(z′, b′, a′, σ) 是m′的有效签名,当且仅当e(σ, y) = e(H(m′, z′, b′, a′), g) 且e(z′, g) = e(b′, y) = e(m′, a′)。
下面是该方案的流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(签名者生成随机数r):::process
B --> C(签名者计算z = mrx, b = mr, a = yr):::process
C --> D(签名者发送z, b, a给接收者):::process
D --> E{接收者检查e(z, g) = e(b, y) = e(m, a)}:::decision
E -->|否| F([终止协议]):::startend
E -->|是| G(接收者生成随机数α, λ, u):::process
G --> H(接收者计算m′ = mα, z′ = zαλ, b′ = bαλ, a′ = aλ, ˜m = H(m′, z′, b′, a′)yu):::process
H --> I(接收者发送 ˜m给签名者):::process
I --> J(签名者计算 ˜σ = ˜mx−1):::process
J --> K(签名者发送 ˜σ给接收者):::process
K --> L(接收者计算σ = ˜σg−u):::process
L --> M([结束]):::startend
3.3 方案的安全性分析
该方案具有正确性、盲性和受限性:
-
正确性
:σ = ˜σg−u = H(m′, z′, b′, a′)x−1,所以e(σ, y) = e(H(m′, z′, b′, a′), g);z′ = zαλ = mrxαλ, b′ = mrαλ, a′ = yrλ,所以e(z′, g) = e(b′, y) = e(m′, a′)。
-
盲性
:设 ( ˜m, m, z, b, a, ˜σ) 是签名者看到的协议记录,(z′, b′, a′, σ) 是接收者获得的有效签名。选择唯一盲化因子F = ˜σ/σ,确定m′ = mα, a′ = aλ, F = gu,可得到 ˜m = ˜σx = (σF)x = H(m′, z′, b′, a′)yu, z′ = zαλ, b′ = bαλ。
-
受限性
:接收者获得的签名消息只能是m′ = mα的形式。若m有关于基g1和g2的表示 (μ1, μ2),m′有关于g1和g2的表示 (μ′1, μ′2),则I1(μ1, μ2) = μ1/μ2 = μ′1/μ′2 = I2(μ′1, μ′2) 成立。在电子现金系统应用中,用户选择随机数u作为身份信息,计算m = gu1 g2,与银行进行签名发行协议获得硬币,消费时需证明知道m′关于g1和g2的表示,限制m′必须是mα的形式。
4. 基于双线性对的受限部分盲签名
4.1 提出的受限部分盲签名方案
- 系统参数生成PG :给定安全参数k,G1是由g生成的间隙Diffie - Hellman群,其阶为素数q,G2是同阶的循环乘法群,双线性对为e : G1 × G1 → G2。定义两个密码哈希函数H : G1 × G1 × {0, 1}∗→G1,H0 : {0, 1}∗→Zq。系统参数为Params = {G1, G2, e, q, g, k, H, H0}。
- 密钥生成KG :输入Params,输出签名者的公私钥对 (x, y = gx)。
-
签名生成SG
:设共享信息info = c,签名消息为m′ = mα(α由接收者选择)。
- 签名者生成随机数r ∈ Zq,发送z = mrx, b = mr, a = yr给接收者。
- 接收者检查e(z, g) = e(b, y) = e(m, a)。若不满足,终止协议;否则,生成随机数α, λ, u ∈ Zq,计算m′ = mα, z′ = zαλ, b′ = bαλ, a′ = aλ, ˜m = H(m′, z′, b′, a′, c)(gH0(c)y)u,并发送 ˜m给签名者。
-
签名者响应 ˜σ = ˜m
1
H0(c)+x ,接收者计算σ = ˜σg−u。
以下是该方案签名生成过程的表格展示:
|步骤|签名者操作|接收者操作|
| ---- | ---- | ---- |
|1|生成随机数r ∈ Zq,发送z = mrx, b = mr, a = yr| - |
|2| - |检查e(z, g) = e(b, y) = e(m, a),若满足,生成α, λ, u ∈ Zq,计算m′ = mα, z′ = zαλ, b′ = bαλ, a′ = aλ, ˜m = H(m′, z′, b′, a′, c)(gH0(c)y)u,发送 ˜m|
|3|计算 ˜σ = ˜m
1
H0(c)+x ,发送 ˜σ|计算σ = ˜σg−u|
下面是该方案签名生成过程的流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(签名者生成随机数r):::process
B --> C(签名者计算z = mrx, b = mr, a = yr):::process
C --> D(签名者发送z, b, a给接收者):::process
D --> E{接收者检查e(z, g) = e(b, y) = e(m, a)}:::decision
E -->|否| F([终止协议]):::startend
E -->|是| G(接收者生成随机数α, λ, u):::process
G --> H(接收者计算m′ = mα, z′ = zαλ, b′ = bαλ, a′ = aλ, ˜m = H(m′, z′, b′, a′, c)(gH0(c)y)u):::process
H --> I(接收者发送 ˜m给签名者):::process
I --> J(签名者计算 ˜σ = ˜m
1
H0(c)+x ):::process
J --> K(签名者发送 ˜σ给接收者):::process
K --> L(接收者计算σ = ˜σg−u):::process
L --> M([结束]):::startend
4.2 方案的安全性和效率讨论
在哈希函数H和H0理想随机的假设下,该受限部分盲签名方案具有良好的安全性。它满足部分盲签名的完整性、部分盲性、受限性和不可伪造性等安全性质。从效率方面来看,由于使用了双线性对和间隙Diffie - Hellman群,避免了低效的零知识证明,相比之前的方案,签名长度更短,通信复杂度更低。
4.3 基于该签名方案的电子现金系统
可以利用提出的受限部分盲签名方案构建一个不可追踪的离线电子现金系统。在这个系统中,用户与银行进行签名发行协议获得电子硬币,在消费时,用户向商店提供签名和相关证明信息。商店验证签名的有效性,若有效则接受交易。该系统结合了受限部分盲签名的优点,既保证了用户的匿名性,又能在一定程度上限制用户的行为,同时避免了在线电子现金系统的瓶颈问题和传统离线电子现金系统的低效问题。
总结
本文围绕受限部分盲签名展开研究,提出了基于双线性对的受限盲签名方案和受限部分盲签名方案。通过引入反转计算Diffie - Hellman问题(RCDHP),构建了间隙Diffie - Hellman盲签名方案的变体,并在此基础上设计了受限盲签名方案。进一步提出的受限部分盲签名方案将受限盲签名作为特殊情况包含在内。对这些方案进行了详细的安全性分析,证明其具有正确性、盲性、受限性和不可伪造性等安全性质。同时,在效率方面,这些方案相比传统方案具有签名长度短、通信复杂度低的优势。最后,利用受限部分盲签名方案构建了不可追踪的离线电子现金系统,为电子现金领域的发展提供了新的思路和解决方案。
超级会员免费看
15

被折叠的 条评论
为什么被折叠?



