全同态软硬件加速研究

主流的全同态加密方案基于容错学习问题(Learning With Errors, LWE)及其代数变体环容错学习问题 (Ring Learning With Errors, RLWE),

包括 BFV[7]、BGV[8]、CKKS[9]、GSW[10]和TFHE[11]等。这些方案各自具有优点和局限性。

BGV和BFV方案适用于有限域上的计算,并具备高效的打包功能,但其不适用于具有大型乘法深度的电路或需要实现非线性函数的电路;

CKKS方案可以处理实数域上的计算,但是对于整数域上的精确计算存在局限性;

TFHE方案能够快速评估布尔电路,但其不支持批处理操作,无法同时处理同时大量数组。-  归类为AP/GINX加密体系。

软件

多项式方案主要基于RLWE 加密,包括BFV[7] , BGV[8]和CKKS[9],能够使用单指令-多数据(Single Instruction-Multiple Data, SIMD)对整数向量进行计算,从而实现快速的多项式运算。这些方案可以将多个明文打包成一个密码文本以提高并行度。为了进一步提升多项式函数的评估效率,不同的明文编码方式被提出以应对不同的计算需求。同时,为了解决密文模数Q 过大的问题,Garner等人[19]提出了剩余数系统(Residue Number System, RNS)方法。 

明文编码

全同态加密中多项式算子的明文编码相关研究,包括频域编码和时域编码两种方式,具体内容如下:

  • 频域编码

    • 编码原理与应用:RLWE的明文空间多项式商环允许将复数域上的明文信息向量编码到环 R_{n,Q}上,频域编码可将输入信息从复数域映射到整数环上的多项式,如BFV体系中的数论变换(NTT)和CKKS体系中的离散傅里叶变换(DFT)都可视为频域编码,这种编码方法在CKKS自举中广泛应用。

    • 计算优势与优化:频域编码支持密文的逐元素SIMD加法与乘法,可通过同态旋转操作实现同态求和、内积和卷积等计算,其中密文上的矩阵 - 向量乘在CKKS自举中有重要应用。为减少旋转操作耗时,提出了如将矩阵表示为对角矩阵并使用小步大步算法(BSGS)以及扩展对角线化思想到矩形矩阵等优化算法。

  • 时域编码
    • ​​​​​​​编码定义与特点:消息m\in\mathbb{Z}_{Q}^{N}的明文编码多项式\tilde{m}\in\mathbb{R}_{N,Q}定义为特定形式,通过这种编码可在不执行昂贵的同态旋转的情况下计算同态卷积和内积。
    • 相关应用与改进:基于时域编码,Bian等人提出通用线性变换方法,通过修改加解密函数,可在不使用NTT和同态旋转算法的情况下同态评估线性变换,提高了同态卷积的计算和通信效率;文献[4]提出新型线性运算方法,通过适当排列多项式系数,将多项式乘法视为一系列内积运算,进一步提升了计算效率。

        以卷积为例,对于卷积操作作用在核为4维张量K\in\mathbb{F}^{M×C×h×h}的3维张量T\in\mathbb{F}^{C×H×W}上生成3维张量T'\in\mathbb{F}^{M×H'×W'}的情况,可以通过环\mathbb{A}_{N,p}上的多项式乘积 \hat{t}'=\hat{t}\hat{k} 来求解。其中,两个多项式 \hat{t} 和 \hat{k} 满足特定的系数排列方式,使得卷积操作能够转化为一系列内积运算。

剩余数系统(RNS)

阐述了为解决RLWE密文模数过大问题而引入的剩余数系统(RNS),包括其原理、在多项式运算中的实现方式以及在不同加密方案中的应用和改进,具体内容如下:

  1. RNS原理与作用:为解决RLWE密文模数Q过大不适合实际计算的问题,利用中国剩余定理(CRT)将模数分解为互质因子的积,即Q=\prod_{i=0}^{k - 1}q_{i},可在表示为向量 a,b\in\prod_{i}R_{N,q_{i}} 的系数上进行算术操作,避免对大整数直接计算。

  2. 在多项式运算中的实现:Gentry等人提出基于双中国剩余定理的分圆多项式表示方案,将多项式分解为小模数的多项式分量,通过FFT转换为整数向量,多项式运算通过对不同分量进行模运算实现,类似方法也用于其他文献中。

  3. 在不同加密方案中的应用与改进

    1. BFV方案扩展:Barjard等人将BFV中的密钥切换方法扩展到RNS中。

    2. CKKS方案改进:Cheon等人提出CKKS自举及RNS变体,Han和Ki、Lee等人、Bossuat等人、Kim等人等分别对RNS - CKKS自举进行改进,包括同态模归约、三角函数逼近、并行工作、计算特定缩放因子、最小化计算误差等,提高了精度、效率和安全性。

硬件

依托可编程门阵列(Field-Programmable Gate Array, FPGA)、专用集成电路(Application-Specific Integrated Circuit, ASIC)、图形处理器(Graphics Processing Unit, GPU)等平台高并行性、高吞吐量的特点,提供全同态加密加速方案。

经典格密码同态加密方案硬件加速

  • 最早可以追溯到2012年,Göttert等人[56]首次提出基于FPGA 的格密码硬件实现方案。Göttert等人先对基于RLWE的格密码方案进行了软件实现,从而验证了该方案的可行性;然后利用硬件描述性语言设计, 在Xilinx Virtex-6 FPGA芯片上实现了同态加密中的格密码算法,该方案为同态加密开创了硬件加速架构设计的先河。

  • 2012年,Pöppelmann等人[57]面向格密码设计了基于快速傅里叶变换/数论变换(Number Theoretic Transforms, NTT)的多项式高效模乘器并进行了FPGA实现测试,指出多项式环模乘运算是影响格密码等同态加密方案效率的核心因素之一,因此利用NTT计算电路大幅降低多项式模乘的算法复杂度,能够有效提高同态加密方案的运算效率。

  • 2014年,Pöppelmann等人[58]利用基于FFT/NTT的多项式高效模乘器,在FPGA平台上实现了基于RLWE的格密码加密方案,并进行占用资源与性能评估。该实验结果证实了利用快速NTT多项式模乘器可以有效降低格密码硬件实现方案中的计算资源,并对基于格密码的同态加密方案提供了可观的加速效果。

BFV、BGV、CKKS主流同态加密方案硬件加速

硬件加速研究开始从FPGA扩展到了ASIC与GPU

  • 2020年,Riazi[60]等人提出了一种用于全同态加密的新型硬件架构HEAX,该架构有效加速了CKKS方案。Riazi等人首先提出了一种新的高度可并行化的数论变换架构,并在NTT引擎的基础上, 设计了一种用于同态加密数据计算的新型架构。通过在可重构硬件FPGA上进行实现,结果表明在全同态加密参数较大范围内,与单线程Intel Xeon(R) Silver 4 108处理器相比较,HEAX可以实现164- 268倍的性能提升。

  • 2021年Reagen等人[61]提出了一种面向服务器端基于同态加密的深度神经网络 (Deep Neural Network, DNN)硬件加速架构Cheetah,该架构针对BFV同态加密方案进行加速,利用同态加密参数调整与算子调度优化技术,使用商用的40 nm单元库并以400 MHz为目标频率进行综合,相较于当时最好的面向神经网络的同态加密接口解决方案Gazelle[23],综合电路可提供约79倍的加速效果。

  • 2021上,Samardzic等人[62]提出了一种支持多种同态加密算法的硬件加速器F1,该架构支持包括 BGV, BFV, GSW以及CKKS在内的多种主流的基 于RLWE的同态加密算法,为现在大部分同态加密方案提供加速服务。

F1加速器是第一个能够完整运行全同态加密程序的硬件加速器
  • 2022年,Samardzic等人[63]在研究了F1架构的基础上,提出了一种能够支持无限计算深度(即无限乘法深度)全同态加密方案的加速器CraterLake,支持BGV,GSW与CKKS方案。

  • Kim等人[64]于2022年提出了一种能够在程序运行时动态生成数据并重复使用内部运算密钥的全同态加速架构ARK,支持CKKS方案。

  • 2023年最新的研究进展中,Yang等人[66]提出并在Xilinx AIveoU280 FPGA上实现了一种面向 CKKS方案的实用全同态加密加速器—Poseidon。

  • Zhu等人[67]于2023年提出了第1个用于基于全同态加密的卷积神经网络 (HE-CNN) 推理的完整 FPGA加速框架FxHENN,支持CKKS方案。

  • Fan等人[69]于2023年面向CKKS方案提出了一种基于GPGPU的全同态加密加速解决方案TensorFHE,该方案也可支持BFV与BGV方案, 比GPGPU上最先进的全同态加密实现100x[65]快 2.61倍。TensorFHE这 种基于高性能商用硬件的纯软件加速器的提出,为在实际系统中使用最先进的全同态加密算法提供了可能性

<think>好的,用户想了解TFHE和CKKS两种同态加密方案的区别,以及它们的特点和应用场景。首先,我需要回顾一下这两种方案的基本概念和各自的特性。 首先,TFHE,全称是Fast Fully Homomorphic Encryption over the Torus,主要基于环上的LWE问题。它属于全同态加密方案,支持任意次的加法和乘法操作,也就是能够执行任意复杂的计算。不过,它的计算过程中需要频繁的“自举”(Bootstrapping)操作来减少噪声,这虽然保证了安全性,但也会增加计算开销。因此,TFHE更适合需要高安全性和支持任意计算,但对实时性要求不高的场景,比如安全多方计算和隐私保护的机器学习推理。 然后是CKKS,全称为Cheon-Kim-Kim-Song方案,它基于RLWE问题,是一种层次同态加密方案。CKKS支持近似计算,允许一定的误差,这使得它在处理实数或复数数据时非常高效,尤其是在需要大规模向量运算的场景,比如机器学习和数据分析。CKKS不需要频繁的自举,因此计算效率更高,适合对性能要求较高的应用,但安全性可能略低于TFHE。 接下来需要比较两者的核心差异。首先是计算类型:TFHE支持精确的全同态计算,而CKKS支持近似计算。安全性方面,TFHE基于更强的假设,可能更安全,但具体还要看参数选择。计算效率上,CKKS由于不需要频繁自举,速度更快,适合处理大量数据。应用场景方面,TFHE用于高安全需求的计算,CKKS则更适合机器学习等需要高效处理大数据的环境。 用户可能还关心如何选择这两种方案,或者它们的实际应用案例。比如在医疗数据分析中,如果数据需要精确计算且安全性要求极高,可能选择TFHE;而在图像识别或推荐系统中,处理大量近似数据时CKKS更合适。 另外,需要注意引用提供的内容。用户提供的引用里提到全同态加密(FHE)可以执行任意程序,而TFHE属于FHE的一种。CKKS虽然也属于同态加密,但更侧重于近似计算,可能属于层次同态。因此,在回答时需要明确区分这两点,并正确引用资料中的信息。 最后,生成相关问题时要围绕用户可能的后续疑问,比如性能比较、优化方法、实际应用中的选择标准等。确保问题能够帮助用户进一步深入理解两者的区别和应用。</think>TFHE和CKKS作为同态加密领域两大主流方案,在计算特性、安全模型和应用场景上存在显著差异。以下从六个维度对比分析: ### 一、数学基础与计算类型 1. **TFHE**(Fast Fully Homomorphic Encryption over the Torus) - 基于环上LWE问题(Ring Learning With Errors) - 支持**布尔电路**的精确计算,可实现任意逻辑门操作 - 计算过程需频繁使用自举(Bootstrapping)控制噪声[^2] 2. **CKKS**(Cheon-Kim-Kim-Song) - 基于RLWE问题(Ring-LWE) - 专为**浮点近似计算**设计,允许可控精度损失 - 支持复数域运算,无需自举即可完成多项式深度计算 $$ \text{加密公式:} \quad ct = (a, b = a \cdot s + m + e) \mod q $$ ### 二、性能特征对比 | 指标 | TFHE | CKKS | |-----------|-------------------------|-----------------------| | 计算速度 | 单指令约10ms级 | 单指令约0.1ms级 | | 数据吞吐量 | 适合小规模离散数据 | 支持批量向量化处理 | | 噪声管理 | 依赖周期性自举 | 通过模数缩放控制噪声 | ### 三、安全模型差异 - **TFHE**:可达到**IND-CCA1**安全级别,抗量子攻击能力较强 - **CKKS**:基础方案为IND-CPA安全,需结合其他技术提升安全性[^1] ### 四、典型应用场景 1. **TFHE适用场景** - 安全多方计算协议构建 - 隐私保护的逻辑电路验证 - 零知识证明系统底层原语 2. **CKKS优势领域** - 机器学习模型加密推理(如ResNet50推理耗时约3分钟[^2]) - 金融风险评估中的矩阵运算 - 医疗数据分析中的统计计算 ### 五、参数配置示例 ```python # CKKS参数设置示例 context = CKKSContext( poly_degree=8192, # 多项式阶数 coeff_mod_bit_sizes=[60,40,40,60], # 模数链 scale=2**30 # 缩放因子 ) ``` ### 六、发展趋势 - **TFHE**:最新研究通过GPU加速使自举操作提速100倍 - **CKKS**:2023年实现128位安全强度下10^6量级数据秒级处理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值