随机存取机程序的自适应安全计算
1. 技术挑战与应对策略
在自适应安全计算中,在最小假设下,电路的最佳构造对于具有 s 个门的电路,通信复杂度为 (O(s^2poly(\kappa)))。传统多方计算(MPC)研究聚焦于根据底层函数的随机存取机(RAM)复杂度衡量构造的复杂度,并设计复杂度与 RAM 复杂度成正比而非电路复杂度的协议。然而将 RAM 程序转换为电路代价高昂,一个 T 时间的程序转换为电路后,规模可达 (O(T^3 log T))。若将 RAM 程序转换为电路并依赖现有构造,复杂度将达到 (O(T^6poly(log T, \kappa)))。因此,我们的方法是直接为 RAM 程序设计构造。
我们将 [9] 中的可模糊化混淆方案扩展到混淆 RAM,但这并非简单的技术组合,需要克服以下几个关键障碍:
1.1 确定性与随机性功能
所有混淆 RAM 构造都依赖预处理步骤,通常通过不经意随机存取机(ORAM)编译器使内存序列变得不经意。这意味着即使要安全评估的底层函数是确定性的,混淆后的有效功能也会是随机的。在自适应情况下,随机性功能处理起来很棘手,在一般情况下甚至不可能实现。我们通过考虑构造中使用的特定随机化,并证明其“可模糊化”来解决这个问题。具体而言,我们需要一个自适应安全的 ORAM 编译器,即模拟器能在不知道实际程序输入的情况下提供一系列内存访问,在得知输入后输出能将实际内存序列映射到模拟序列的随机数。我们首次构造了具有这种自适应属性的 ORAM 方案。
1.2 内存模糊化
在混淆 RAM 构造中,内存读写操作是具有挑战性的部分,因为要读取的内存位置只有在运行时才知道。为了将从内存读取的数据纳入计
超级会员免费看
订阅专栏 解锁全文
2720

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



