分享自:

基于GPU加速的快速全同态加密算法设计与实现

期刊:网络空间安全科学学报DOI:10.20172/j.issn.2097-3136.240304

本文档属于类型a,即报告了一项单一原创研究的学术论文。以下是针对该研究的详细学术报告:

主要作者及研究机构
本研究的作者包括谭泽玖、赵鑫、万俊平、刘虎成、蒋琳、徐金明、纪守领和王轩。研究机构包括哈尔滨工业大学(深圳)计算机科学与技术学院、浙江大学控制科学与工程学院、浙江大学计算机科学与技术学院、鹏城国家实验室以及广东省安全智能新技术重点实验室。该研究发表于《网络空间安全科学学报》(Journal of Cybersecurity)2024年6月的第2卷第3期。

学术背景
本研究的主要科学领域是隐私计算(Privacy Computing)和全同态加密(Fully Homomorphic Encryption, FHE)。全同态加密是一种能够直接对加密数据(密文)执行代数运算的加密技术,但其计算效率低,尤其是密文评估中的数论变换(Number Theoretic Transform, NTT)涉及大量高维度整系数多项式环运算,限制了其在隐私计算中的应用。针对这一问题,本研究提出了一种基于CPU+GPU异构架构的CKKS全同态加密实现方案,旨在通过GPU并行加速技术提升计算效率。

研究流程
研究主要包括以下几个步骤:
1. NTT算法的GPU优化设计
- 根据NTT算法的数据内存访问规律,设计了一种数据暂存共享内存策略,减少频繁的全局内存访问。
- 针对数据规模可变导致内核出现部分空闲线程的问题,设计了线程工作负载动态分配机制,并采用不同基数的蝴蝶变换结构,提高数据输入的灵活性并优化并行策略。
- 提出了单—多内核混合调用模式,通过NTT算法蝶形变换分组大小动态切换内核调用模式,充分利用GPU多核调用的并行潜力。

  1. CKKS全同态加密算法的实现

    • 基于上述优化的NTT算法,设计并实现了并行程度更高、计算复杂度更低的NTT算法,并利用该算法实现并行的同态乘法运算。
    • 基于HElib库实现了CPU+GPU异构的CKKS全同态加密算法。
  2. 实验验证与性能分析

    • 在不同GPU平台(NVIDIA GTX 980、GTX 1050ti和Quadro RTX 8000)上对优化的NTT和INTT算法进行了性能测试。
    • 将GPU加速的NTT/INTT算法与使用AVX-512加速的HElib库进行了对比,验证了GPU加速方案的有效性。
    • 测试了不同参数设置下的CKKS密文乘法性能,并与HElib库进行了对比。
    • 在卷积神经网络(CNN)密文推理任务中,测试了GPU加速方案的性能提升。

主要结果
1. NTT/INTT算法的性能提升
- 在NVIDIA GTX 1050ti GPU上,采用混合方法的NTT/INTT算法比单核模式和多核模式分别提升了1.2~5倍的性能。
- 与使用AVX-512加速的HElib库相比,GPU加速的NTT/INTT算法计算时间减少了近65%。

  1. CKKS密文乘法的性能提升

    • 在多项式阶数和明文向量较大时,GPU加速的CKKS密文乘法效率显著提升。例如,当参数为(65 536, 725, 16 384)时,本方案的密文乘法时间为1800ms,而HElib库为2422ms。
  2. 卷积神经网络密文推理的性能提升

    • 在卷积层(如conv2d_2)中,GPU加速方案的计算时间比HElib库缩短了一半。
    • 随着分圆多项式次数的增加,GPU加速方案的计算效率提升更加明显。

结论
本研究通过GPU并行加速技术显著提升了全同态加密算法的计算效率,尤其是在NTT/INTT算法、CKKS密文乘法以及卷积神经网络密文推理任务中表现优异。该研究为隐私计算领域提供了更高效的解决方案,具有重要的科学价值和应用价值。

研究亮点
1. 创新的NTT算法优化策略:通过数据暂存共享内存、动态线程分配和混合内核调用模式,显著提升了NTT算法的并行计算效率。
2. 高效的CKKS全同态加密实现:基于GPU的CKKS算法在密文乘法和密文推理任务中表现出色,为隐私计算提供了更高效的工具。
3. 广泛的实验验证:在多个GPU平台上进行了全面的性能测试,验证了GPU加速方案的有效性和通用性。

其他有价值的内容
本研究还探讨了GPU加速方案在降低异构硬件之间数据传输时延以及多任务执行时的动态线程调度问题,为未来的研究提供了方向。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com