0x00 Abstract

继 Gennaro、Gentry 和 Parno(Cryptology ePrint Archive 2009/547)之后,我们使用完全同态加密来设计用于委托计算的改进方案。在这种方案中,委托人将函数 F 在许多动态选择的输入 xi 上的计算外包给工作人员,使得工作人员无法让委托人接受 F (xi) 以外的结果。 Gennaro 等人的“在线阶段”。方案非常有效:双方交换两条消息,委托人在时间 poly(log T ) 中运行,工作人员在时间 poly(T ) 中运行,其中 T 是 F 的时间复杂度。然而,“离线阶段”(取决于函数 F 而不是要委托的输入)效率低下:委托者及时运行 poly(T ) 并生成需要访问的长度为 poly(T ) 的公钥在在线阶段由工人。

我们的第一个构造消除了 Gennaro 等人的大公钥。方案。委托人仍然在离线阶段投入 poly(T ) 时间,但不需要沟通或发布任何内容。我们的第二个构造将离线阶段委托人的工作减少到 poly(log T),代价是与 poly(T)-time worker 进行 4 条消息(离线)交互(不必与 worker 相同)在线阶段使用)。最后,我们描述了第二个构造的“流水线”实现,它避免了在检测到错误后重新运行离线构造的需要(假设错误不是太频繁)。

关键词:可验证计算,外包计算,最坏情况/平均情况减少,计算上合理的证明,通用论证系统。

0x01 Introduction

委托计算的问题考虑了这样一种情况,即委托方希望将函数 f 的计算委托给另一方党, 工人.挑战在于委托人可能不信任工作人员,因此希望工作人员“证明”计算已正确完成。显然,我们希望验证这个证明比进行计算更容易。

这种“外包”计算的概念与现实世界的几个场景相关,如以下三个示例所示(取自 [GGP09,GKR08]):

  1. 志愿计算。志愿者计算的想法是让服务器将大型计算拆分为小单元,将这些单元发送给志愿者进行处理,然后重新组合结果(通过更简单的计算)。伯克利网络计算开放基础设施 (BOINC) [And03,And04] 就是这种平台的一个例子。使用 BOINC 平台的一些著名项目是 SETI@home 和 Great Internet Mersenne Prime Search [Mer07]。我们建议读者参考 [GKR08] 以了解有关这些项目的更多详细信息。
  2. 云计算。在云计算的背景下,企业从服务中购买计算时间,而不是购买自己的计算资源。
  3. 弱的移动设备。移动设备,如手机、安全访问卡、音乐播放器和传感器,通常在计算方面非常薄弱,因此需要远程计算机的帮助来运行昂贵的计算。

关于这种情况,一个很自然的问题是:如果工人不诚实怎么办?例如,在志愿者计算设置中,敌对的志愿者可能会将错误引入计算。在云计算示例中,云(即提供计算服务的业务)可能有经济动机来返回不正确的答案,如果这样的答案需要较少的工作并且不太可能被客户机检测到。此外,在某些情况下,外包给云的应用程序可能非常关键,委托方希望排除计算过程中的意外错误。对于弱移动设备,设备和远程计算机之间的通信通道可能被对手破坏。

在实践中,许多项目通过冗余来应对这种欺诈;同一个工作单元被发送给几个工作人员,然后比较结果的一致性。然而,这需要使用几个工人,对工人的串通几乎没有提供防御。

相反,我们希望工人向委托证明计算是正确执行的。当然,验证证明所需的时间要明显小于实际运行计算所需的时间,这一点很重要。同时,进行证明的工作人员的运行时间也应该是合理的——与进行计算所需的时间相当。例如,当委托计算一个花费时间T且输入和输出长度为n的函数f时,我们希望委托运行时间为poly(n, log T),而工作函数运行时间为poly(T)。

1.1以前的工作

从[Bab85,GMR89]开始,关于概率证明系统的大量工作与安全委托非常相关。实际上,在对输入x计算被委托函数f并发送结果y之后,worker可以使用各种类型的证明系统来说服委托方相信“f(x) = y”这一陈述。

互动的证明。IP=PSPACE定理[LFKN92,Sha92]对任何可在多项式空间中计算的函数f产生交互证明,其验证器(委托)运行时间为多项式时间。然而,证明者(工作者)的复杂性也仅受多项式空间(因此是指数时间)的限制。这个定理是精制和按比例缩小(FL93)给验证器复杂性聚(n, s)和验证的复杂性2聚为函数f (s)在时间T和空间年代可计算的,输入的长度n。注意,验证的复杂性仍然superpolynomial T,甚至对于在尽可能最小的空间中运行的计算,即s = O (log T)。然而,最近Goldwasser等人[GKR08]将证明复杂度改进为poly(T, 2s),即poly(T) we n s = O(log T)。更一般地,Goldwasser等人[GKR08]给出了小深度d(即并行时间)计算的交互证明。对于这些,它们实现了证明复杂性poly(T)和验证复杂性poly(n, d, log T)。(这意味着空间有界计算的结果,因为在时间T和空间s中运行的算法可以转换为在时间poly(T, 2s)和深度d = O(s2)中运行的算法。)然而,如果我们不局限于小空间或小深度的计算,那么我们就不能使用交互证明。事实上,任何具有与验证者运行时间(从而通信)TV的交互证明的语言,都可以在空间poly(n, TV)中确定。

pcp和MIPs。MIP=NEXP定理[BFL91]和Babai等人[BFLS91]给出了时间T计算的多证明交互证明和概率可检验证明,证明运行在时间poly(T)和验证运行在时间poly(n, log T),完全符合我们的要求。然而,使用这些委托需要专门的通信模型——要么是两个非通信的验证者,要么是验证者给予验证者随机访问长PCP(长度为poly(T))的机制,验证者在验证期间不能更改该PCP。

交互式参数。交互论证[BCC88](又名计算上的合理证明[Mic94])将合理性条件放宽为计算性的,而不是改变通信模型。也就是说,不是要求任何证明者策略都不能说服错误陈述的验证者,而是要求任何计算上可行的证明者策略都不能说服错误陈述的验证者。在该模型中,Kilian [Kil92]和Micali [Mic94]给出了证明复杂性poly(T, k)和验证复杂性poly(n, k, log T)的恒轮协议(其中k为安全参数),并假设存在抗碰撞函数。在亚指数硬度假设下,安全参数可以取小到polylog(T);对于下面描述的方案也是如此。

对交互的解决方案。在这项工作中,我们感兴趣的是接近非交互解决方案(具有计算可靠性)。理想情况下,工作者/验证者应该能够在发送计算结果的同一消息中向委托/验证者发送一个证明。

这种可能性的有效的非交互式参数是由Micali [Mic94],与验证表明,非交互式参数复杂性保利(T, k)和验证器复杂性聚(n, k,日志T)可能在随机预言模型(Oracle是用来消除交互la菲亚特-沙米尔[FS86])。试探性地,人们可能希望通过使用适当的哈希函数族实例化随机oracle,我们可以获得委托计算的非交互式解决方案:在离线阶段,验证者/委派者(或可信的第三方)从族中选择并发布一个随机哈希函数,而在在线阶段,证明完全是非交互的(从验证者到验证者只有一条消息)。然而,众所周知,随机Oracle启发式在一般情况下是不可靠的[CGH04],甚至在Fiat-Shamir [Bar01,GK03]的背景下也是如此。因此,尽管进行了大量的努力,有效的非交互参数的存在仍然是复杂性和密码学中一个重要的开放问题。

最近在减少互动方面取得了一些进展。通过Kalai和Raz [KR09]的转换,Goldwasser、Kalai和Rothblum [GKR08]展示了如何将小深度计算的交互证明转换为“公钥”模型中的非交互参数(假设存在单服务器私人信息检索(PIR)方案):在脱机阶段,验证者/委派者生成公钥/秘钥对,发布公钥并存储秘钥。然后,在在线阶段,验证者/工作者检索公钥,并可以构造一个证明,并将其与计算结果一起发送。然而,与[GKR08]的交互证明一样,这个解决方案只适用于小深度的计算,因为验证者的复杂性随深度线性增长。

最近,Gennaro、Gentry和Parno [GGP09]展示了如何通过增加验证器的离线复杂度和公钥大小,以及使用完全同态加密(FHE)方案(最近由Gentry [Gen09]构建)来委派任意计算。在他们的建筑,在委托投资保利(T, k)工作在离线阶段构造公钥的大小保利(T, k)和一个密钥大小聚(k) (f o r d e l e g T i n g f u n c T i o n f中可计算的时间T)。在线阶段,在委托的运行时间减少了聚(n, k,日志T)对于一个长度为n的输入,和工人的复杂性是保利(T, k)。因此,在委托的大型投资在离线阶段可以平摊在网上的许多执行阶段委托f的计算资源。他们的在线舞台并非完全没有互动,而是由两条信息组成。然而,在许多应用程序中,两条消息无论如何都是必要的,因为委托可能需要将输入x传递给工作者。

我们注意到,在委托方拥有秘钥的方案中(即[GKR08]和[GGP09],以及我们下面的两个结构),存在稳健性只有当对抗性的工作人员不知道授权人已经拒绝了一个证明时才有保证。因此,要么接受/拒绝的决定应该保密,要么在拒绝后重新运行(可能很昂贵)离线阶段。

1.2我们的结果

在这项工作中,我们提供了以下协议,以改进Gennaro等人的工作[GGP09]:

  • 我们的第一个协议消除了Gennaro等人方案的大公钥。也就是说,委托在脱机阶段仍然执行poly(T, k)工作,但这次计算的结果只是一个长度为poly(n, k, log T)的秘钥;在在线阶段之前,不需要与工作者进行任何交互(甚至不需要传输公钥)。
  • 我们的第二个协议将离线阶段的委托工作减少到poly(n, k, log T),代价是与时间为poly(T, k)的worker进行恒轮交互。在这个协议中,在一个被拒绝的证明之后重新运行离线阶段变得更加合理。因此,没有理由对接受/拒绝的决定保密。
  • 最后,我们描述了第二个协议的“流水线”实现,它避免了重新运行脱机阶段的延迟,同时保持了可靠性,即使接受/拒绝的决定被揭示。此解决方案要求双方都维护状态,并且如果故障不经常发生,则保持完整性。因此,这个解决方案最适用于这样的情况:委托多次使用一个worker,并且有随机错误(在通信或计算)可能导致委托偶尔拒绝。

与[GGP09]一样,我们所有的协议都要求使用完全同态加密方案,并有一个2消息在线阶段。表1给出了我们的模型和结果与以往工作的完整比较。

组织。关于完全同态加密方案的初步介绍见第2节。然后我们在第3节给出我们的模型的正式定义。在第4 - 8节中,我们从一个简单的方案Del1开始,它实现了相当弱的属性,并通过一系列步骤加强它,从而得到我们的主要委托方案Del4和Del5。

由于空间限制,我们跳过了所有的证明。详细内容请参考本文全文[CKV10]。

0x02 关于完全同态加密的初步研究

受Gennaro, Gentry和Parno [GGP09]最近关于安全授权的工作的启发,我们的结构依赖于使用完全同态加密方案。

完全同态加密。如果一个公钥加密方案 E = (KeyGen, Enc, Dec) 与一个额外的多项式时间算法 Eval 相关联,则称它是完全同态的,该算法将公钥 pk 作为输入,密文 ^x = E n c ( x) 和电路 C,并输出一个新的密文 c = Evalpk(^x, C),使得 Decsk(c) = C(x),其中 sk 是与公钥 pk 对应的密钥。要求 c = E v a lpk(Encpk(x), C) 的大小在多项式上取决于安全参数和 C(x) 的长度,但在其他方面与电路 C 的大小无关。我们还要求Eval 是确定性的,并且该方案具有完美的正确性(即它始终保持 Decsk(Encpk(x)) = x 和 Decsk(Evalpk(Encpk(x), C)) = C(x))。为了安全,我们只要求 E 在语义上是安全的。

在最近的一项突破中,Gentry [Gen09] 提出了一种基于理想格的完全同态加密方案。在他的基本方案中,算法的复杂性(KeyGen、Enc、Dec)线性依赖于电路 C 的深度,其中 d 是电路 C 深度的上限,允许作为 Eval 的输入。然而,在他的方案是循环安全的附加假设下(即,即使给定密钥的加密,它仍然是安全的),这些算法的复杂性与 C 无关。此外,Gentry 的构造满足完美的正确性和 Eval他的方案可以是确定性的。详情请参阅 [Gen09]。

[GGP09] 构造的一个有趣方面是他们如何使用完全同态加密方案的保密属性来实现其委托方案中的健全性;这种现象在我们的工作中也多次出现。

0x03 模型

在本节中,我们正式定义了一个模型来捕获我们感兴趣的委托计算场景。

定义 1(委派方案)。委托方案是一个交互协议 Del = ?D, W?委托人 D 和工作人员 W 之间的结构如下:

......

【117】基于完全同态加密的改进计算委托相关推荐

  1. 基于同态加密体制的安全多方计算

    本文首发公众号VenusBlockChain,关注公众号后可免费阅读!VenusBlockChain致力于区块链技术研究,传播区块链技术和解决方案.区块链应用落地.区块链行业动态等.有兴趣的小伙伴们, ...

  2. 【联邦学习实战】基于同态加密和差分隐私混合加密机制的FedAvg

    联邦学习实战--基于同态加密和差分隐私混合加密机制的FedAvg 前言 1. FedAvg 1.1 getData.py 1.2 Models.py 1.3 client.py 1.4 server. ...

  3. showdialog 尝试读取或写入受保护的内存_TreadMarks: 基于工作站网络的共享内存计算...

    TreadMarks: 基于工作站网络的共享内存计算 以前学MIT6.824时看过TreadMarks相关论文,这篇论文当时只翻译了一半.最近无意中看到这篇未完成的翻译,google了下发现仍然没有人 ...

  4. MySQL:安装和基于SSL加密的主从复制(基于5.7)

    小生博客:http://xsboke.blog.51cto.com -------谢谢您的参考,如有疑问,欢迎交流 目录: --------mysql-5.7.13简介及安装 --------配置my ...

  5. 腾讯基于 Flink 的实时流计算平台演进之路

    原文地址:https://www.infoq.cn/article/TjDeQDJQpKZ*NpG71pRW 大家好,我是来自腾讯大数据团队的杨华(vinoyang),很高兴能够参加这次北京的 QCo ...

  6. 基于属性加密的ABE算法的应用场景思考展望

    ABE算法先前使用在云计算场景中,和区块链存在交叉应用场景,具体问题体现在 数据的异地存储.云服务器提供商的不可信.管理员能否对自身数据拥有足够的控制能力以及如何保证数据的安全有效共享都是亟需解决的问 ...

  7. 基于佳点集的改进麻雀搜索算法

    文章目录 一.理论基础 1.麻雀搜索算法 2.GSSA搜索算法 (1)佳点集 (2)改进的迭代局部搜索 (3)逐维透镜反向学习 (4)GSSA算法流程 二.仿真实验和结果分析 三.参考文献 一.理论基 ...

  8. AI周报丨《2021年人工智能专利综合指数报告》近日发布;北大团队提出基于卷积神经网络的全光计算,超快、超低能耗

    行业动态 <2021年人工智能专利综合指数报告> 近日发布 人工智能(Artificial Intelligence,简称AI),是研究人类智能活动规律,构造具有一定智能的人工系统,国际数 ...

  9. 基于同态加密的隐私计算技术在基因序列演化分析场景的应用

    一.概述 数据要素的流通共享和核心价值挖掘是数据要素市场培育的核心内容.必须在保证隐私安全的前提下实现有效信息共享.然而,当前仍然有三大隐私制约数据流通与协作.一是"数据孤岛"现象 ...

最新文章

  1. memcahce 介绍以及安装以及扩展的安装
  2. 创新实训个人记录:P versus NP
  3. resultset rs =pst.executequery();发生异常_07795.14.4HMaster无法成为Active异常分析
  4. openwrt系统安装到云服务器异常,OpenWrt路由器系统下服务OpenClash 安装教程及其折腾踩坑记录...
  5. Waiting 180 more seconds for 1 worker threads to finish
  6. 在资源使用状况视图中查看资源的负荷情况
  7. android wifi热点项目总结,高通Android wifi移植和wifi热点问题总结
  8. 变异系数法之matlab
  9. 【Vue】—计算属性
  10. ArcGIS数据生产与精细化制图之中国年降水量分布图的制作
  11. 计算机网络中属于通信子网,计算机网络通常被划分为通信子网和资源子网,通信子网提供信息传输服务,资源子网提供共享资源。...
  12. 按键精灵html库,【源码分享】雷电模拟器 - 按键精灵PC - 命令库
  13. 模拟登陆115网盘(MFC版)
  14. ValueError: continuous format is not supported
  15. 一个后端工程师如何实现漂亮的后台管理系统
  16. Mac电脑如何使用时间机器进行备份?
  17. git报错ssh: Could not resolve hostname dev-nys: Name or service not known fatal: Could not read from r
  18. 数字射线检测图像质量
  19. 变种 背包问题_算法题:背包问题
  20. PLC和触摸屏通过智能网关与另一台主站PLC双向通讯

热门文章

  1. 响应式布局之媒体查询
  2. 张萌韩墨羽——Ument_Share集成
  3. Alook搭配JS脚本完美食用
  4. php 电梯广告系统设计,电梯广告-市场营销- 人大经济论坛-经管百科
  5. 仿百度网盘的一款轻量级微服务架构网盘系统
  6. 【4天快速入门Python数据挖掘之第1天】Matplotlib的使用
  7. 关键词提取算法TextRank
  8. React Native Expo 项目中添加动画音效
  9. 玩转Python :获取微信好友个性签名生成词云
  10. 在Pycharm中更新安装最新版本pip,安装tensorflow