37、短配对高效阈值属性基签名与标准模型下可分电子现金技术解析

短配对高效阈值属性基签名与标准模型下可分电子现金技术解析

短配对高效阈值属性基签名

在属性基签名(ABS)方案中,为了便于阐述,最初采用了类型 1 双线性配对,即形式为 (e : G × G → G_T) 的配对。不过,对方案进行修改以使用类型 2 或类型 3 配对(形式为 (e : G_1 × G_2 → G_T))也并不困难。

若使用类型 2 或类型 3 配对,公共参数会稍长一些。除了当前的值外,还需包含 (G_2) 的生成元 (g_2),以及 (g_2’)、(h_0’)、(u_0)、(u_1)、…、(u_{nm}) 等,且满足 (\log_{g_2} g_2’ = \log_g g_2),(\log_{h_0} h_0’ = \log_g h_0) 等条件。这些值用于计算验证算法中配对所需的 (g)、(g_2)、(h_0 g_2^{-1}) 和 (W(ρ)),而其他计算仍在 (G_1) 中进行。

下面是对 ((t, t)) - ABS 小宇宙方案的证明思路:
设事件 (C) 为对手 (A) 输出一个伪造签名 ((m^ , (S_1^ , S_2^ ))),使得哈希 (H(m^ \parallel ω_u^*)) 与挑战者在回答签名查询时产生的某个哈希相同。可以证明,存在一个算法 (C) 能以至少 (Pr[C 发生]) 的概率破解哈希函数。在事件 (C) 不发生的情况下,展示如何使用算法 (A) 产生的伪造签名来破解计算迪菲 - 赫尔曼(CDH)问题。

以下是具体算法:
- 算法 (B)
- 输入 :计算迪菲 - 赫尔曼问题实例 ((G, p, g, A = g^a, B = g^b)),其中 (a, b \in_R Z_p^ ),(g \in G) 是生成元。
-
运行过程
1.
提交阶段 :(A) 将挑战属性集 ((ω_u^ )) 发送给 (B)。
2. 设置阶段
- (g_1 = A),(g_2 = B)。
- 随机采样 (w_1, w_2, v \in_R Z_p^ ),并设置 (h_0 = (g_2(g^{w_2})^{1/vw_1}))。
- 对于 (i \in ω_u^
),随机采样 (\gamma_i \in_R Z_p^ ),并设置 (h_i = g^{\gamma_i})。
- 对于 (i \in U \setminus ω_u^
),随机采样 (\gamma_i, \nu_i \in_R Z_p^ ),并设置 (h_i = g^{\gamma_i} g_1^{-\nu_i})。
- 随机采样 (k \in_R {0, …, nm}),(\zeta \in_R {0, …, 4Q - 1}) 和 (\xi \in_R Z_p^
),并设置 (u_0 = g_2^{-4kQ + \zeta} g^{\xi})。
- 对于 (i = 1) 到 (nm),随机采样 (\zeta_i \in_R {0, …, 4Q - 1}) 和 (\xi_i \in_R Z_p^ ),并设置 (u_i = g_2^{\zeta_i} g^{\xi_i})。
- 此时 (W(x) = u_0 \prod_{i = 1}^{nm} u_i^{x[i]} = g_2^{F_u(x)} g^{J_u(x)}),其中 (F_u(x) = -4kQ + \zeta + \sum_{i = 1}^{nm} x[i] \zeta_i \mod p),(J_u(x) = \xi + \sum_{i = 1}^{nm} x[i] \xi_i \mod p)。
- 为简化算法分析,定义函数 (K_u(x)) 为:
[
K_u(x) =
\begin{cases}
0, & \text{如果 } F_u(x) = 0 \mod 4Q \
1, & \text{否则}
\end{cases}
]
- 显然,若 (K_u(x) = 1),则 (F_u(x) \neq 0 \mod p),因为 (p) 远大于 (Q)。
- (B) 将公共参数 ({G, G_T, e, p, g, g_1, g_2, h_0, …, h_n, u_0, …, u_{nm}, H}) 提供给 (A)。从 (A) 的角度看,所有参数的分布与实际构造相同。
3.
查询阶段
-
提取 :若 (A) 查询属性集 (ω_u),且 (|ω_u \cap ω_u^ | < t),则按以下方式颁发私钥:
- 设 (z_i) 是以 (g) 为底 (h_i) 的离散对数。对于 (i \notin ω_u^ ),(h_i = g^{\gamma_i - \nu_i a} = g^{z_i}),所以 (z_i = \gamma_i - \nu_i a);对于 (i \in ω_u^ ),(h_i = g^{\gamma_i} = g^{z_i}),(z_i = \gamma_i)。
- 设 (\Gamma, \Gamma’, S) 为三个集合,其中 (\Gamma = ω_u \cap ω_u^ ),(\Gamma’) 满足 (\Gamma \subseteq \Gamma’ \subseteq ω_u) 且 (|\Gamma’| = t - 1),(S = \Gamma’ \cup {0})。随机选择 (t - 1) 个点 (\lambda_i \in Z_p),并设置 (f_u(i) = \lambda_i) 对于每个 (i \in \Gamma’),同时 (f_u(0) = a)。
- 对于 (i \in \Gamma),随机采样 (\lambda_i \in_R Z_p^
) 并计算 (D_i = g_2^{\lambda_i + \gamma_i} h_0^{\gamma_i} = g_2^{\lambda_i + z_i} h_0^{z_i})。
- 对于 (i \in \Gamma’ - \Gamma),随机采样 (\lambda_i \in_R Z_p^ ),计算 (D_i’ = g_2^{\lambda_i + \gamma_i}),(D_i’’ = g_1^{-w_2 \nu_i / w_1 v} (g_2^{w_1 v} g^{w_2})^{\gamma_i / w_1 v}),(D_i = D_i’ D_i’’ = g_2^{\lambda_i + z_i} h_0^{z_i})。由于 (\lambda_i) 的选择,由 (f_u(i) = \lambda_i) 对于 (i \in \Gamma’) 和 (f_u(0) = a) 定义的多项式 (f_u(x)) 是一个 (t - 1) 次的随机多项式,且 (f_u(0) = a)。
- 对于 (i \in ω_u - \Gamma’),设置 (\gamma_i’ = \gamma_i - a \Delta_{i,S}(0)) 并计算 (D_i’ = g_2^{(\sum_{j \in \Gamma’} \Delta_{j,S}(i) \lambda_j) + \gamma_i}),(D_i’’ = g_1^{-w_2 \nu_i + w_2 \Delta_{i,S}(0) / (w_1 v)} (g_2^{w_1 v} g^{w_2})^{\gamma_i’ / w_1 v}),(D_i = D_i’ D_i’’ = g_2^{f_u(i) + z_i} h_0^{z_i})。
-
签名 :若 (A) 查询消息 (m) 和签名属性集 (ω_s):
- 若 (|ω_s \cap ω_u^
| < t),(B) 可使用上述过程获取对应于 ((ω_s)) 的私钥,并使用签名算法对消息进行签名。
- 对于属性集 (ω_s \subset ω_u^ ) 且 (|ω_s| = t),(B) 执行以下操作:
1. 计算 (ρ = H(m \parallel ω_s))。
2. 若 (K_u(ρ) = 0),算法 (B) 停止并失败。
3. 随机采样 (c’ \in_R Z_p^
) 并设置 (g^c = g^{c’ - a / F_u(ρ)})。
4. 计算 (S = g_1^{-J_u(ρ) / F_u(ρ)} \cdot W(ρ)^{c’} \cdot \prod_{i \in ω_s} (g_2^{\gamma_i} h_0^{\gamma_i})^{\Delta_{i,ω_s}(0)})。
5. 签名为 ((S, g^{c’} g_1^{-1 / F_u(ρ)}))。
- 伪造 :最终,(A) 返回针对挑战属性集 (ω_u^ ) 上消息 (m^ ) 的签名 ((S_1^ , S_2^ ))。若 (H(m^ \parallel ω_u^ )) 等于回答 (A) 的某个签名查询时获得的哈希,或者 (F_u(H(m^ \parallel ω_u^ )) \neq 0),则 (B) 中止;否则,(B) 计算并输出:
[
S_1^ \prod_{i \in ω_u^ } h_0^{\gamma_i \Delta_{i,ω_u^ }(0)} (S_2^ )^{J_u(\hat{ρ})} \prod_{i \in ω_u^ } B^{\gamma_i \Delta_{i,ω_u^ }(0)} = g^{ab}
]

  • 算法 (C)
    • 输入 :从方案中使用的抗碰撞哈希函数族中随机采样的哈希函数 (H^*) 的描述。
    • 运行过程
      1. 初始化一个空列表 (H^*_{list}),并运行算法 (A),在安全游戏的每个阶段回答其查询:
        • 提交 :(A) 将挑战属性集 (ω_u^*) 发送给 (C)。
        • 设置 :(C) 运行方案中的正常设置算法,但不随机采样哈希函数 (H),而是使用输入的函数 (H^*)。
        • 查询阶段
          • 提取 :(C) 按安全游戏的方式回答这些查询。
          • 签名 :(C) 按安全游戏的方式回答这些查询,并对于每个签名查询 ((m, ω_s)),将 ((m \parallel ω_s, H^ (m \parallel ω_s))) 添加到 (H^ _{list}) 中。
        • 伪造 :当 (A) 输出针对消息 (m^ ) 的伪造签名 ((S_1^ , S_2^ )) 时,(C) 将 ((m^ \parallel ω_u^ , H^ (m^ \parallel ω_u^ ))) 添加到 (H^ _{list}) 中,然后在 (H^ _{list}) 中搜索哈希函数的碰撞。若找到碰撞,则输出;否则,停止并表示失败。

下面是算法 (B) 的流程 mermaid 图:

graph TD;
    A[开始] --> B[接收CDH问题实例];
    B --> C[接收挑战属性集ωu*];
    C --> D[计算系统参数];
    D --> E[提供公共参数给A];
    E --> F{查询类型};
    F -- 提取 --> G[颁发私钥];
    F -- 签名 --> H{|ωs ∩ ωu*| < t};
    H -- 是 --> I[获取私钥并签名];
    H -- 否 --> J[计算ρ];
    J --> K{Ku(ρ) = 0};
    K -- 是 --> L[停止并失败];
    K -- 否 --> M[采样c'并设置gc];
    M --> N[计算S];
    N --> O[生成签名];
    F -- 伪造 --> P{条件判断};
    P -- 满足中止条件 --> Q[中止];
    P -- 不满足中止条件 --> R[计算并输出结果];
标准模型下可分电子现金

离线电子现金系统是传统现金的数字模拟,其主要期望特性之一是匿名性,即花费硬币不应泄露花费者的身份,同时用户不能在不被检测的情况下重复花费硬币。

紧凑电子现金系统允许使用 (O(L + λ)) 位存储 (O(2^L)) 个硬币的钱包,其中 (\lambda) 是安全参数。当用户能够更高效地花费 (2^{\ell})((\ell \leq L))金额,而不是重复花费单个硬币时,这种电子现金被称为可分电子现金。

以下是相关技术的发展历程:
|时间|事件|
| ---- | ---- |
|2005年|Camenisch、Hohenberger 和 Lysyanskaya 描述了一个紧凑电子现金系统,允许用户以 (O(L + λ)) 的计算成本提取 (2^L) 个硬币的钱包。使用可验证随机函数的适当选择,展示了如何仅使用 (O(L + λ)) 位存储钱包,并描述了一种硬币追踪机制。该协议后来扩展为具有硬币背书或可转移性属性的电子现金系统。|
|后续|上述电子现金实现大多依赖随机预言机模型,但该模型不能准确反映现实情况。为填补这一空白,Belenkiy 等人描述了一个标准模型下具有非交互式花费的紧凑电子现金系统。Fuchsbauer 等人使用 Groth - Sahai 证明构建了一个标准模型下的可转移公平电子现金系统。Blazy 等人给出了一个具有更强匿名性的类似构造。|
|90年代|提出了可分电子现金的构造。Okamoto 提供了一个实际实现,并在后续得到改进,但这些方案并非完全不可链接,多次花费同一可分硬币可能会被关联起来。|
|2007年|Canard 和 Gouget 设计了第一个具有完全匿名性(和不可链接性)的可分电子现金系统,可在不涉及可信第三方的情况下识别违规用户。后来,Au 等人提出了一个更高效但安全性较弱的实现。Canard 和 Gouget 展示了如何在不牺牲原始安全性的情况下提高其原始方案的效率。|

本文提出了标准模型下第一个匿名可分电子现金系统,该系统与 Belenkiy 等人的方案类似,依赖 Groth - Sahai 非交互式证明系统。

与最快的基于随机预言机的方案相比,该方案在多个指标上效率较低。例如,在 [18] 中花费阶段具有恒定的通信复杂度(与钱包的价值 (2^L) 无关),而本方案的花费协议在最坏情况下要求用户向商家传输 (O(L)) 个群元素。另一方面,由于使用有界累加器,[18] 中银行需要设置大小为 (O(2^L)) 的公钥,而本方案仅需银行拥有大小为 (O(1)) 的密钥。

在不使用随机预言机实现可分性时,需要解决几个技术问题。Canard 和 Gouget 的解决方案将每个钱包与二叉树关联,结合不同但相关阶的循环群。由于这些技术与 Groth - Sahai 工具包不兼容,需要找到其他方法将钱包拆分到二叉树的节点上,特别是使用不同的方法对树中对应于已花费的分割硬币的节点进行身份验证。

与第一个真正匿名的可分电子现金构造类似,本方案花费算法的通信复杂度取决于初始金额 (2^L) 的分割程度。从价值为 (2^L) 的初始树开始,当需要花费价值为 (2^{\ell}) 的硬币时,花费阶段的通信成本为 (O(L - \ell))。因此,将钱包分割成小硬币的程度越高,花费阶段的成本就越高。

该电子现金构造的缺点是存款阶段的复杂性,银行在检查收到的硬币是否构成重复花费时,计算工作量取决于之前收到的硬币数量。尽管银行通常具有显著的计算资源,且重复花费检查可以由职员并行进行,但这在实践中仍是一个真正的瓶颈。因此,该系统不应被视为实际解决方案,而应仅被视为一个可行性结果。

短配对高效阈值属性基签名与标准模型下可分电子现金技术解析

短配对高效阈值属性基签名(续)

下面对算法的安全性进行分析。设事件 (C) 为对手 (A) 输出一个伪造签名 ((m^ , (S_1^ , S_2^ ))),使得哈希 (H(m^ \parallel ω_u^*)) 与挑战者在回答签名查询时产生的某个哈希相同,设 (Forge) 为算法 (A) 成功输出有效伪造签名的事件。

当事件 (C) 发生时,算法 (C) 能成功找到给定哈希函数 (H^*) 的碰撞。因此有:
[
Adv_{A}^{CMA} = Pr[Forge] = Pr[Forge \land C] + Pr[Forge \land \neg C] = Adv_{C,H}^{CR} + Pr[Forge|\neg C]Pr[\neg C] \leq Adv_{C,H}^{CR} + Pr[Forge|\neg C]
]

当 (B) 不中止时,其对 (A) 环境的模拟是完美的。在伪造步骤中若没有哈希碰撞,(B) 仅在回答签名查询 ((m, ω_s)) 时 (K_u(H(m \parallel ω_s)) = 0) 或者在伪造步骤中 (F_u(H(m^ \parallel ω_u^ )) \neq 0) 时才会中止。用 (\rho_i) 表示回答第 (i) 个签名查询时获得的哈希,用 (\rho^ ) 表示伪造步骤获得的哈希。通过与 Waters 论文中相同的技术(本文完整版本也有详细说明),可以得到:
[
Pr\left[F_u(\rho^
) = 0 \land \bigwedge_{i = 1}^{Q} K_u(\rho_i) \neq 0\right] \geq \frac{1}{8Q(nm + 1)}
]

因此有:
[
Adv_{B}^{CDH} \geq \frac{1}{8Qnm + 1} Pr[Forge|\neg C]
]

进而得到:
[
Adv_{A}^{CMA} \leq 8Q(nm + 1)Adv_{B}^{CDH} + Adv_{C,H}^{CR}
]

标准模型下可分电子现金(续)

为了更清晰地理解可分电子现金系统的工作流程,下面给出一个简化的流程图:

graph TD;
    A[用户] --> B[银行]
    B --> C[用户获取钱包]
    C --> D{是否花费硬币};
    D -- 是 --> E[选择花费金额2^ℓ];
    E --> F[与商家交互进行花费];
    F --> G[商家接收硬币];
    G --> H[商家向银行存款];
    H --> I{银行检查是否双花};
    I -- 否 --> J[存款成功];
    I -- 是 --> K[识别违规用户];
    D -- 否 --> L[结束]

可分电子现金系统的主要流程如下:
1. 用户获取钱包 :用户与银行运行取款协议,获得一个包含 (2^L) 个硬币的钱包。
2. 花费硬币
- 用户根据需要选择花费金额 (2^{\ell})((\ell \leq L))。
- 用户与商家进行交互,将相应的硬币信息和证明发送给商家。
- 商家接收硬币,并验证其有效性。
3. 存款阶段
- 商家将收到的硬币存入银行。
- 银行检查该硬币是否构成重复花费。
- 若不是重复花费,存款成功。
- 若是重复花费,银行识别出违规用户。

该系统的改进方向主要有两个方面:
- 优化存款阶段 :当前银行在存款阶段的计算工作量取决于之前收到的硬币数量,这是一个瓶颈。未来的改进可以让银行仅需在已花费硬币表中查找硬币的序列号,就像之前一些紧凑电子现金构造那样。
- 降低花费阶段的通信复杂度 :目前花费阶段的通信复杂度与钱包的分割程度有关,分割越细,通信成本越高。可以探索新的技术,使得花费阶段仅需传输恒定数量的群元素。

综上所述,短配对高效阈值属性基签名方案在安全性上与计算迪菲 - 赫尔曼问题紧密相关,通过巧妙的构造和算法设计,实现了较好的安全性保证。而标准模型下的可分电子现金系统虽然解决了匿名性和可分性的问题,但在效率方面还有待提高,特别是存款阶段的复杂度和花费阶段的通信复杂度。未来的研究可以针对这些问题进行深入探索,以推动相关技术的发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值