安全计算中的协议优化与实现
1. 基础概念与符号定义
在安全多方计算(MPC)中,我们需要区分秘密共享的定点元素(⟨x⟩)和秘密整数([[y]]),通过方括号的使用来进行区分。整数可以在 (F_q) 和 (Z_{2^k}) 中进行秘密共享,而定点数仅能在 (F_q) 中。在 (F_q) 上的输入可以隐式表示([[x]])或显式表示([[x]]q),以 (2^k) 为基的输入则通过后缀 (2^k) 明确表示,即 [[x]](_{2^k}),(F_2) 上的值遵循相同原则,使用显式后缀 2,即 [[x]](_2)。
我们采用了 Catrina 和 Saxena 引入的定点表示法,设 [[v]] 是一个受 (2^l) 限制的尾数,p 是按位定点精度,那么秘密共享的定点数 ⟨x⟩ 可以表示为:
[⟨x⟩ = [[v]] \cdot 2^p \mod q]
为了简化和不失一般性,我们假设 (l = 40),这样在使用典型的素数大小时(如 128 位素数)可以支持乘法运算。因为乘法的位数(截断前)可能会翻倍,即 80 位,并且还需要额外的 sec 位(通常 sec = 40),这源于概率截断协议。因此,对于 (F_q),域大小 q 应远大于 (2^{2 \cdot l + sec})。
2. 算术黑盒(FABB)
为了简化理论分析,我们通过理想的算术黑盒(FABB)对底层的 MPC 协议进行抽象。该概念最初由他人引入,具有一定的灵活性,允许进行扩展。我们的扩展包括定点算术功能和一组复杂的构建块,并指定了基于此功能的 UC 安全实现。
FABB 提供的安全算术操作如下表所示:
| Functionality |
安全计算协议优化与实现
超级会员免费看
订阅专栏 解锁全文

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



