高效相关动作选择协议解析
在博弈论和密码学的交叉领域,如何在保证安全和隐私的前提下,实现高效的相关动作选择是一个重要问题。下面将详细介绍相关的加密方案、元素选择协议以及安全证明等内容。
1. 同态Paillier加密
同态Paillier加密方案在诚实但好奇的环境下的协议中有着重要应用。设$n = pq$为RSA模数,其中$p = 2p′ + 1$,$q = 2q′ + 1$,且$p$、$q$、$p′$和$q′$均为素数。对于消息$M \in Z_n$,使用$Enc_P(M)$表示在Paillier加密方案下对$M$的加密。该加密方案具有同态性质:
- $Enc_P(a) \cdot Enc_P(b) = E(a + b \mod n)$
- $Enc_P(a)^c = Enc_P(c \cdot a \mod n)$
同态Paillier加密方案在决策复合剩余假设下是语义安全的。
2. 元素选择协议
在博弈的联合策略中,$(a_i, b_i)$对是移动对,$a_i$是Alice的可能移动,$b_i$是Bob的可能移动。在协议执行过程中,会从${1, \ldots, m}$中随机选择一个索引$j$,选择$i$的概率为$p_i/2^{\ell}$。Alice和Bob并不知道所选的索引$j$,他们只能获得各自推荐的移动$a_j$和$b_j$。
该协议可以看作是以下简单但有缺陷方法的安全版本:Alice和Bob计算$P_i = \sum_{k = 1}^{i} p_k$($1 \leq i \leq m$),然后生成一个随机值$r \in [0, 2^{\ell} - 1]$。由于$r \in [P_{i - 1}, P_i)$的概率等于$p_i/2^{\ell}$,他们找到与所选$r$对应的索引$i$,并分别选择动作$a_i$和$b_i$。要使这个简单想法可行,需要克服许多挑战。
协议步骤如下
:
1.
设置
:Alice为同态Paillier加密方案生成一个密钥对$(pk, sk)$,使得$|n| = k$且$n > 2^{\ell} + 1$,其中$k$是安全参数。
2.
输入
:双方都知道项目${(a_i, b_i, p_i)}
{i = 1}^{m}$,公钥$pk$双方都知道,私钥$sk$只有Alice知道。
3.
输出
:Alice获得$a_j$的值,Bob获得$b_j$的值,其中$j$是根据概率分布选择的索引。
4.
具体协议步骤
:
1. Alice对每个三元组中的每个项目进行加密,得到${(Enc_P(a_i), Enc_P(b_i), Enc_P(p_i))}
{i = 1}^{m}$。然后她选择一个在$[m]$上的随机排列$\pi_a$,对加密后的三元组进行排列,得到${Enc_P(a_{\pi_a(i)}), Enc_P(b_{\pi_a(i)}), Enc_P(p_{\pi_a(i)})}
{i = 1}^{m}$,并将它们发送给Bob。
2. Bob选择一个在$[m]$上的随机排列$\pi_b$,对前一步收到的加密三元组进行排列。设$(Enc_P(a’_i), Enc_P(b’_i), Enc_P(p’_i))$表示$(Enc_P(a
{\pi_b(\pi_a(i))}, Enc_P(b_{\pi_b(\pi_a(i))}, Enc_P(p_{\pi_b(\pi_a(i))}))$($i = 1, \ldots, m$)。
3. 用$P’
i$表示$\sum
{k = 1}^{i} p’
k$。对于每个$i = 1, \ldots, m$,Bob计算$Enc_P(P’_i) = \prod
{k = 1}^{i} Enc_P(p’
k) = Enc_P(p’_1 + \cdots + p’_i)$。
4. 对于$i = 1, \ldots, m$,Bob均匀地生成一个随机值$y_i \stackrel{R}{\leftarrow} Z_n$,并计算$Enc_P(P’_i - y_i) = Enc_P(P’_i) \cdot Enc_P(-y_i)$。他将${Enc_P(P’_i - y_i)}
{i = 1}^{m}$发送给Alice。
5. Alice解密${Enc_P(P’
i - y_i)}
{i = 1}^{m}$,得到${P’
i - y_i \mod n}
{i = 1}^{m}$。设$x_i$表示$P’
i - y_i \mod n$。此时,Alice拥有${x_i}
{i = 1}^{m}$,Bob拥有${y_i}
{i = 1}^{m}$,使得$x_i + y_i \mod n = P’_i$。
6. Alice选择$r_a \stackrel{R}{\leftarrow} {0, 1}^{\ell}$,Bob选择$r_b \stackrel{R}{\leftarrow} {0, 1}^{\ell}$。设$r$表示$r_a \oplus r_b$,显然$r$是一个随机的$\ell$位整数。
7. Alice和Bob使用第2.4节中描述的二分搜索协议,从列表${P’_i}
{i = 1}^{m}$中共同找到满足$r < P’
i$且$r \geq P’
{i - 1}$(如果$P’_{i - 1}$存在)的$P’_i$的索引。设搜索的结果为索引$j$。
8. Bob选择一个随机的$\rho \stackrel{R}{\leftarrow} Z_n$,计算${\gamma_1, \gamma_2} = {Enc_P(a’_j + 0), Enc_P(b’_j - \rho)}$,并将该对发送给Alice。Alice解密${\gamma_1, \gamma_2}$,得到${a’_j, b’_j - \rho}$,并将$b’_j - \rho$发送回Bob。最后,Alice得知$a’_j$,Bob得知$b’_j$。
该协议的复杂度为$O(m + \ell \log m)$,轮复杂度为$O(\log m)$。与其他已知解决方案(如使用通用电路模拟结果)相比,该协议效率更高,其他方案至少需要$O(m\ell)$的计算量。
3. 二分搜索协议
该协议用于元素选择协议的第7步,为半诚实参与者提供了一种高效的搜索方法。通过二分搜索来计算随机选择的$r$对应的动作,即找到满足$r \in [P’_{i - 1}, P’_i)$的索引$j$。
输入 :Alice拥有${x_i} {i = 1}^{m}$,Bob拥有${y_i} {i = 1}^{m}$,使得$P’ i = x_i + y_i \mod n$,$0 < P’_i \leq 2^{\ell}$,且$P’_i < P’ {i + 1}$。Alice拥有$r_a$,Bob拥有$r_b$,$r = r_a \oplus r_b$。
输出 :满足$r < P’ i$且$r \geq P’ {i - 1}$(如果$P’_{i - 1}$存在)的索引$j$。
协议步骤
:Alice和Bob对列表${P’
i}
{i = 1}^{m}$执行以下递归过程:
1. 如果当前工作集${|P’
i, \ldots, P’_j|} = 1$,则返回$i$。
2. 否则,Alice和Bob运行一个加扰电路评估协议,计算$r \geq P’
{\lceil\frac{j - i + 1}{2}\rceil}$是否成立(即计算$r_a \oplus r_b \geq x_{\lceil\frac{j - i + 1}{2}\rceil} + y_{\lceil\frac{j - i + 1}{2}\rceil} \mod n$是否成立)。设$c$表示该协议的输出,如果条件成立则返回1,否则返回0。可以使用相关技术将通信和计算从关于$k = |n|$的函数减少到关于$\ell + 1$的函数。
3. 如果$c = 1$,则在列表${P’
{\lceil\frac{j - i + 1}{2}\rceil + 1}, \ldots, P’_j}$上递归;否则,在列表${P’_i, \ldots, P’
{\lceil\frac{j - i + 1}{2}\rceil}}$上递归。
步骤2的通信和计算复杂度为$O(\ell)$,轮复杂度为$O(1)$,因此总体复杂度为$O(\ell \log m)$,轮复杂度为$O(\log m)$。该二分搜索协议对诚实但好奇的对手是安全的。
4. 安全证明
为了证明元素选择协议的正确性,需要证明如果Alice和Bob都遵循协议,输出的动作对是根据概率分布选择的。
- 引理2 :对于任何$i \in {1, \ldots, m}$,随机选择的$r \in {0, 1}^{\ell}$导致返回索引$i$的概率等于$p’_i/2^{\ell}$。
- 引理3 :设$\pi$是$[m]$上的随机排列,$r$是${0, 1}^{\ell}$中的随机值。给定任何满足$\sum_{i = 1}^{m} p_i = 2^{\ell}$的集合${p_i} {i = 1}^{m}$,对于$i = 1, \ldots, m$,$r \in [\sum {k = 1}^{i - 1} p_{\pi(k)}, \sum_{k = 1}^{i} p_{\pi(k)})$的概率等于$1/m$。
定理1
:元素选择协议对诚实但好奇的对手是安全的。
-
正确性
:直接由引理2得出。
-
保密性
:要证明元素选择协议是安全的,只需证明存在模拟器$M_1$(或$M_2$),给定Alice(或Bob)的输入和输出,能够模拟Alice(或Bob)在协议执行过程中与Bob(或Alice)的交互,使得Alice(或Bob)在实际执行中的视图与模拟器产生的视图在计算上不可区分。
以下是模拟器$M_1$的具体步骤:
1. 收到Alice的第一条消息后,对于$i = 1, \ldots, m$,随机选择$x_i \stackrel{R}{\leftarrow} Z_n$,并将${Enc_P(x_i)}
{i = 1}^{m}$发送给Alice。
2. 选择$r_b \stackrel{R}{\leftarrow} {0, 1}^{\ell}$。从${0, 1}^{\ell}$中随机选择$m$个不同的值,按升序排序得到${r_1, \ldots, r_m}$,并设置$y_i = Enc_P(r_i - x_i \mod n)$($i = 1, \ldots, m$)。使用$r_b$和${y_i}
{i = 1}^{m}$作为输入,与Alice一起执行二分搜索协议。执行结束时,Alice收到一个随机索引$i$作为协议的结果。
3. 选择一个随机的$\omega \stackrel{R}{\leftarrow} Z_n$,计算${Enc_P(a’_j), Enc_P(\omega)}$,并将该对发送给Alice。
通过分析可以得出,Alice在元素选择协议执行过程中的视图与模拟视图在计算上是不可区分的。同样,可以类似地构造Bob交互的模拟器$M_2$。
5. 处理不诚实行为
前面介绍的元素选择协议是针对诚实但好奇的模型。然而,要使该协议对恶意对手安全是低效的,因为协议某些步骤的零知识证明成本很高。因此,需要一个新的针对恶意模型的协议,该协议基于条件门进行两方计算,并依赖于阈值同态ElGamal加密。
5.1 同态ElGamal加密
设$G_q$是一个素数阶$q$的有限循环群,$|q| = k$,$g$是群的生成元,且假设$G_q$的决策Diffie-Hellman(DDH)问题是困难的。给定发布的生成元$g$,ElGamal加密的公私钥对为$(pk, sk) = (y, x)$,其中$x \stackrel{R}{\leftarrow} Z_q$,$y = g^x$。对于公钥$y$和消息$M \in Z_q$,加密过程为$Enc_G^y(M) = (\alpha, \beta) = (g^r, g^M y^r)$,其中$r \stackrel{R}{\leftarrow} Z_q$。使用私钥$x$解密$(\alpha, \beta) = (g^r, g^M y^r)$时,先计算$\beta / \alpha^x = g^M$,然后求解$M \in Z_q$。由于这相当于求解离散对数问题,因此消息空间通常较小,在大多数协议中消息空间为${0, 1}$。
同态ElGamal加密是加法同态的,即$Enc_G^y(a_1) \cdot Enc_G^y(a_2) = Enc_G^y(a_1 + a_2)$,且$Enc_G^{pk}(a)^b = Enc_G^{pk}(ab)$。在DDH问题困难的假设下,同态ElGamal加密是语义安全的。
当Alice使用同态ElGamal加密生成密文时,她可以使用相关技术证明她知道加密的明文,还可以使用Fiat-Shamir技术将其变为非交互式的知识证明。此外,还可以证明特定加密是对0或1的加密。
5.2 阈值同态ElGamal加密
同态ElGamal加密方案可用于构建$(t, n)$ - 阈值密码系统,其中$0 < t \leq n$。在这种情况下,密钥由$n$方联合生成,只有至少$t$方参与时解密才能成功。加密过程与传统方式相同,任何人都可以使用公钥$y$加密消息。
设$A_1, \ldots, A_n$表示$n$个参与者,公钥为$y$,私钥为$x$,$y = g^x$。参与者$A_i$拥有私钥的份额$x_i$,其中$y_i = g^{x_i}$是公开的。这些份额可以使用安全的分布式密钥生成协议生成,通信复杂度为$O(n^2k)$。
为了从加密$(\alpha, \beta)$中恢复消息$M$,每个参与者$A_i$计算解密份额$d_i = \alpha^{x_i}$,并证明$\log_{\alpha} d_i = \log_g h_i$。有了$t$个正确的解密份额后,可以使用拉格朗日插值从这些份额中计算出$\alpha^x$,进而从$g^M = \beta / \alpha^x$中恢复$M$。在该框架下,也可以进行私有输出的解密。
阈值同态ElGamal密码系统在$t < n/2$时是健壮的,对于两方情况,使用$(2, 2)$ - 阈值方案也可以实现(非健壮的)公平性。为了实现公平性,只需考虑协议的解密阶段,可以通过逐步发布信息来实现。需要注意的是,如果允许各方在协议执行过程中过早退出,将无法完成执行,协议必须重新启动。
5.3 基于条件门的两方计算
Schoenmakers和Tuyls的工作引入了一种新的乘法门——条件门,它允许使用同态阈值ElGamal高效地进行两方乘法计算。条件门可以高效地计算$x$和$y$的乘法,其中$x$来自二值域,$y$不受限制。在该工作中,条件门还用于执行其他类型的安全计算,如XOR和不同类型的比较。
例如,比较两个按位加密的值$x$和$y$需要$\ell$轮和$2^{\ell} - 1$个条件门,总共约$12\ell$次模幂运算。然而,将这些技术应用于一般函数评估的困难在于操作数的不同表示形式,有些操作数是加密整数$x \in Z_q$,而另一些需要按位加密形式,且两种加密格式之间没有可用的转换过程。
总结
本文详细介绍了同态Paillier加密和同态ElGamal加密方案,以及基于这些加密方案的元素选择协议和二分搜索协议。通过安全证明,验证了元素选择协议对诚实但好奇的对手的安全性。同时,针对恶意对手的情况,引入了基于条件门的两方计算和阈值同态ElGamal加密。这些协议和技术在保证安全和隐私的前提下,为高效的相关动作选择提供了有效的解决方案。
下面是元素选择协议的流程图:
graph TD;
A[设置:Alice生成密钥对] --> B[输入:双方获取信息];
B --> C[Alice加密并排列三元组];
C --> D[Bob排列接收到的三元组];
D --> E[Bob计算Enc_P(P'_i)];
E --> F[Bob生成随机值y_i并计算Enc_P(P'_i - y_i)];
F --> G[Alice解密得到x_i];
G --> H[Alice和Bob选择随机值r_a和r_b];
H --> I[二分搜索找到索引j];
I --> J[Bob计算并发送加密对];
J --> K[Alice解密并发送回部分值];
K --> L[Alice和Bob获得各自的结果];
以下是二分搜索协议的步骤总结表格:
| 步骤 | 操作 |
| ---- | ---- |
| 1 | 如果工作集大小为1,返回索引 |
| 2 | 运行加扰电路评估协议判断条件 |
| 3 | 根据条件结果递归处理列表 |
高效相关动作选择协议解析(续)
6. 协议复杂度对比分析
为了更直观地了解不同协议在处理相关动作选择时的性能差异,我们对元素选择协议和其他已知解决方案(如使用通用电路模拟结果)的复杂度进行对比分析。
| 协议类型 | 计算复杂度 | 轮复杂度 |
|---|---|---|
| 元素选择协议 | (O(m + \ell \log m)) | (O(\log m)) |
| 通用电路模拟结果方案 | 至少 (O(m\ell)) | - |
从表格中可以看出,元素选择协议在计算复杂度和轮复杂度上都具有明显优势。通用电路模拟结果方案的计算复杂度较高,这意味着在处理大规模数据时,元素选择协议能够更高效地完成相关动作选择任务。
7. 安全性能评估
除了复杂度,协议的安全性能也是至关重要的。前面已经证明了元素选择协议对诚实但好奇的对手是安全的,下面我们进一步分析其在不同场景下的安全性能。
- 诚实但好奇的对手场景 :在这种场景下,对手会诚实地执行协议,但会试图从协议执行过程中获取额外的信息。通过安全证明中的引理和定理,我们知道元素选择协议的输出是根据概率分布选择的,并且二分搜索的结果不会泄露任何关于概率分布的信息。因此,即使对手试图分析协议执行过程,也无法获取到有价值的信息,保证了协议的安全性。
- 恶意对手场景 :对于恶意对手,原有的元素选择协议效率较低,因为需要进行昂贵的零知识证明。而引入的基于条件门的两方计算和阈值同态ElGamal加密的新协议,能够在一定程度上应对恶意对手。阈值同态ElGamal加密可以保证只有在足够多的参与者参与解密时才能成功解密,增加了协议的安全性。同时,条件门的使用使得一些安全计算能够高效地进行,如比较操作等。
8. 应用场景探讨
这些高效的相关动作选择协议在多个领域都有潜在的应用场景,以下是一些具体的例子:
- 博弈论 :在博弈中,参与者需要根据一定的概率分布选择行动。元素选择协议可以在保证参与者隐私的前提下,实现高效的相关动作选择。例如,在多人在线游戏中,玩家可以使用该协议来选择自己的行动,而不用担心其他玩家获取到自己的选择策略。
- 密码学安全多方计算 :在多方计算中,多个参与者需要共同计算一个函数,同时保护各自的输入隐私。元素选择协议和基于条件门的两方计算可以作为基础模块,用于构建更复杂的安全多方计算协议。
- 分布式系统 :在分布式系统中,不同节点之间需要进行协调和决策。相关动作选择协议可以帮助节点在不泄露敏感信息的情况下,根据一定的规则选择合适的行动,提高系统的安全性和效率。
9. 未来研究方向
虽然本文介绍的协议和技术已经在相关动作选择方面取得了一定的成果,但仍然存在一些可以进一步研究的方向:
- 加密格式转换 :在基于条件门的两方计算中,操作数的不同表示形式给一般函数评估带来了困难。未来可以研究如何实现加密整数和按位加密形式之间的转换,从而更方便地应用这些技术。
- 协议优化 :可以进一步优化元素选择协议和二分搜索协议的复杂度,提高协议的执行效率。例如,探索更高效的加密算法或搜索算法,减少计算和通信开销。
- 应对更复杂的攻击模型 :目前的协议主要针对诚实但好奇的对手和恶意对手。未来可以研究如何设计协议来应对更复杂的攻击模型,如主动攻击、联合攻击等。
总结
本文全面介绍了高效相关动作选择的相关协议和技术,包括同态Paillier加密、同态ElGamal加密、元素选择协议、二分搜索协议等。通过安全证明和复杂度分析,验证了这些协议的安全性和高效性。同时,探讨了协议的应用场景和未来研究方向。这些协议和技术为在保证安全和隐私的前提下实现高效的相关动作选择提供了有力的支持,具有重要的理论和实际意义。
下面是同态ElGamal加密和解密过程的流程图:
graph TD;
A[生成公私钥对] --> B[加密:选择r并计算Enc_G^y(M)];
B --> C[解密:计算beta / alpha^x];
C --> D[求解M];
以下是不同加密方案特点对比表格:
| 加密方案 | 同态性质 | 安全性假设 | 消息空间 |
| ---- | ---- | ---- | ---- |
| 同态Paillier加密 | 乘法同态 | 决策复合剩余假设 | (Z_n) |
| 同态ElGamal加密 | 加法同态 | 决策Diffie - Hellman问题困难 | 通常为 ({0, 1}) |
超级会员免费看
6598

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



