同态加密算力开销如何弥补?港科大提出同态加密算法硬件加速方案( 四 )
文章图片
图五:蒙哥马利模乘运算流水线处理示意图 。
通过以上处理 , 不同迭代的运算操作被最大程度地交叠在一起 , 考虑到完成外层循环所需迭代次数较多 , 可以近似认为 , 完成整个蒙哥马利模乘运算所需时钟周期约为
文章图片
。
达成时钟周期的设计目标后 , 我们还希望能够提高FPGA逻辑电路的时钟频率 。 尽管主流FPGA中的DSP组件的工作频率都可以达到400MHz以上 , 但是 , 由于硬件资源的限制 , 并且考虑到系统中逻辑电路的复杂程度 , 将整个系统的工作频率提高到这个数值几乎不可能 。 为了尽力提高工作频率 , 本系统设计中做出了如下优化:
限制乘法操作数位宽:在蒙哥马利算法的介绍中 , 我们提及 , 基数一般选择为FPGA可以轻易进行乘法运算的位宽 。 显然 , 如果直接将选择为1024 , FPGA需要漫长的时间才能完成如此大位宽的乘法运算 。 因此 , 可以将限制为32 , 便于掌控整个时序逻辑 。 将乘法器声明为流水(Pipelined)乘法器:流水乘法器可以将大位宽的乘法拆分到多个时钟周期执行 , 从而缓解紧张的时序 。 简单来说 , 如果我们设置系统频率为200MHz , 乘法器几乎不可能在一个时钟周期 , 也就是5纳秒内完成64比特整数之间的乘法 , 但是如果将乘法时间延长到6个时钟周期 , 则乘法器则可以相对容易地在30纳秒内完成该乘法操作 。 简化控制逻辑:这几乎是FPGA开发中不可缺少的优化操作了 , 通过缩短逻辑电路的长度 , 可以增加FPGA在更高时钟频率下完成信号传递的频率 。 在本工程中 , 可以使用独热编码(One-hotEncoding)表示状态机的状态 , 独热编码可以有效提高状态机的查询和匹配速度 , 优化时序逻辑 。系统性能测试
完成硬件设计后 , 通过使用OpenCLAPI , 上位机可以调用FPGA实现运算的硬件加速 。 我们使用FPGA硬件加速内核分别构建了Paillier加密和解密运算算子 , 并对比了它们和CPU的运算性能 , 其中CPU的运算通过调用Paillier运算库PHE实现 , 对比结果如图六和图七所示 。 当公钥位宽为1024比特时 , FPGA加速系统在加解密运算中分别实现了10.62倍和2.76倍的加速比 。
文章图片
【同态加密算力开销如何弥补?港科大提出同态加密算法硬件加速方案】图六:FPGA和CPU加密性能对比 。
文章图片
图七:FPGA和CPU解密性能对比 。
将FPGA硬件加速集成到主流联邦学习框架FATE中后 , 我们也看到了不错的性能提升 。 我们使用PyOpenCLAPI将FPGA硬件加速功能集成为单一模块 , 嵌入到FATE中执行加密运算 。 分别执行十次逻辑回归迭代和十次线性回归迭代后 , 我们得到了图八所示的测试结果:FPGA加速FATE削减了原始FATE中71.2%的加密时间 。
文章图片
图八:单次训练迭代中FPGA加速FATE和原始FATE的加密时间对比 。
总结及展望
同态加密是一种强有力的隐私保护技术 , 对于它们的探索 , 是近年来炙手可热的研究方向;FPGA是一种资源丰富的运算处理芯片 , 对于高并行度的计算任务可以带来显著的性能提升 。 对于高性能FPGA工程的追求 , 在当前阶段还是难以摆脱长期的RTL开发 。 通过使用HLS快速开发基于FPGA的同态加密工程 , 是对FPGA在隐私安全计算行业进行角色定位的有效探索与尝试 。 近年来 , FPGA的主流供应商Xilinx和Intel在可编程硬件的高级语言开发上不断增加投入 , FPGA的入手难度也逐渐降低 。 相信随着数据安全重要性的不断提升 , 工业界将浮现出更多基于FPGA的安全计算产品 , 而类似于HLS的硬件上层开发模式 , 也将在这个领域逐渐占据一片天地 。
- 算力|不靠显卡!NVIDIA在中国焕发第二春:自动驾驶芯片被车厂爆买
- 埃隆马斯克|一句话暴涨20%!马斯克称将允许新加密货币购买特斯拉周边
- 俄罗斯突袭加密货币勒索组织 REvil,缴获超 600 万美元现金
- revil|俄罗斯突袭加密货币勒索组织 REvil,缴获超 600 万美元现金
- 加密货币|Coinbase后再上线Binance,Alchemy Pay或成加密支付领域最大黑马
- 区块链|小米区块链虚拟宠物“加密兔”将于3月1日下线
- 中心化|小米区块链宠物“加密兔”宣布 3 月 1 日下线
- 天玑9000|独立AI+高算力ISP旗舰影像必备,联发科方向对了!天玑9000拍照技术拉满
- 智能|黑芝麻智能大算力芯片年内上车,首批车型将是自主品牌
- 安霸高管揭秘5nm自动驾驶芯片:500eTOPS算力从这来