基于全同态加密的数据通用计算方法、装置、设备及介质
未命名
08-17
阅读:107
评论:0

1.本技术涉及信息安全技术领域,特别涉及一种基于全同态加密的数据通用计算方法、装置、设备及介质。
背景技术:
2.在当今数字化时代,数据的规模和复杂性不断增加,数据处理和分析的需求也与日俱增。云计算是一种基于互联网的计算模型,它提供了强大的计算、存储和数据处理能力,使得用户能够以灵活和高效的方式管理和处理数据。云计算消除了传统的硬件设备和基础设施投资,用户只需按需付费使用云服务。这使得中小型企业和个人用户也能够享受到高性能计算和存储资源,降低了it成本。
3.尽管云计算带来了诸多好处,但数据隐私和安全问题成为了使用云计算的一大难题。用户在使用云计算的过程中会导致个人隐私的泄露。隐私泄露会将用户的敏感信息暴露于公众或未经授权的人员手中,包括个人身份信息、金融账户信息、医疗记录和个人通信等。个人隐私泄露可能导致身份盗窃、欺诈活动、个人声誉损害等问题,给个人造成巨大的困扰和经济损失。因此,我国目前出台了多项法规和政策来保护公民数据隐私,该法规政策对个人信息的收集、使用、存储、处理、传输等方面提出了明确的要求,规定了侵犯个人信息权益的违法行为的处罚措施,维护公民的个人隐私数据和国家公共安全。
4.隐私计算提供了一种安全的数据计算方式,使数据在计算过程中不被泄露。隐私计算通过在数据处理和分析过程中采取隐私保护措施,使得用户可以在不泄露原始数据的情况下共享自己的个人隐私数据,在充分利用云计算能力的情况下保护自己的个人敏感数据。
5.隐私计算包括差分隐私、可信执行环境和安全多方计算等技术。其中,差分隐私是一种通过在数据中引入噪声来保护隐私的技术,其可在保持数据可用性的前提下,对数据进行随机化处理,使得个体信息无法被唯一识别;可信执行环境(trusted execution environment,tee)是硬件处理器内的一个安全区域,在可信环境内部计算的数据不能被外部所访问,通过该方式保证数据计算过程中不被泄露。安全多方计算的算法通过密码学的技术手段可使多个参与方在不泄露隐私数据的前提下,对等地进行协同计算。安全多方计算的算法经过严格理论论证,有强安全性保障,并且近年来,在效率上不断取得突破。
6.同态加密是在安全多方计算中的一种技术,其可实现在密文上进行计算,主要适用于双方计算,可以很好的适用与数据外包场景中。目前的同态加密技术主要包括部分同态加密和全同态加密,部分同态加密只支持一些特定的函数计算,开销较小,易实现,已经可以在实际中使用;全同态加密可以支持任意给定的f函数的任意次运算,计算开销极大,只能在特定场合使用。
7.目前的部分同态加密算法主要包括了bfv、bgv和ckks,这些同态加密算法需在计算前根据计算深度提前设置好加密的相关参数。在特定的加密参数下,该算法可以进行一定深度的密文计算,计算后的结果可以正确解密。但如果一旦计算的深度查过加密参数可
以支持的范围,就会导致解密错误。部分同态加密算法能够利用simd的特性将多个数据编码到一个密文中,可以高效的处理基于代数电路的计算任务。但是,这些算法很难处理基于逻辑电路的计算任务,通常利用多项式逼近等方法进行处理,难以满足高精度的任务场景。
8.目前的全同态加密算法主要包括fhew和tfhe,这些同态加密算法可以高效的完成单个数据的自举运算,从而支持无限深度的计算任务。fhew和tfhe通过可编程自举的方式可以高效的处理基于逻辑电路的计算任务,且计算任务可以支持无限深度。但是这些算法在处理基于代数电路的计算任务时效率较低。
9.综上所述,当前基于全同态加密的云外包解决方案难以同时高效、准确的处理线性函数和非线性函数,亟待解决。
技术实现要素:
10.本技术提供一种基于全同态加密的数据通用计算方法、装置、设备及介质,以解决当前基于全同态加密的云外包解决方案难以同时高效、准确的处理线性函数和非线性函数等问题。
11.本技术第一方面实施例提供一种基于全同态加密的数据通用计算方法,包括以下步骤:基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,对所述至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到所述每个第一tfhe密文对应的第二tfhe密文;将所有第二tfhe密文转换为第一ckks密文,以及根据预设线性函数计算策略对所述第一ckks密文进行计算,得到第二ckks密文,并向所述用户发送所述第二ckks密文。
12.可选地,在本技术的一个实施例中,所述对所述至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到所述每个第一tfhe密文对应的第二tfhe密文,包括:对所述至少一个第一tfhe密文中每个第一tfhe密文的所述非线性函数构造测试向量;将所述测试向量在对应的第一tfhe密文上进行盲旋转操作,得到所述每个第一tfhe密文对应的第二tfhe密文。
13.可选地,在本技术的一个实施例中,所述将所有第二tfhe密文转换为第一ckks密文,包括:对每个第二tfhe密文进行编码,得到转换向量和转换矩阵;基于所述转换向量、所述转换矩阵和预设转换密钥进行同态矩阵乘法运算和同态加法运算,得到第一转换结果;对所述第一转换结果进行同态模余操作,得到第二转换结果;基于预设多项式逼近法,消除所述第二转换结果的小数位,得到纠正结果。
14.可选地,在本技术的一个实施例中,所述预设线性函数计算策略的数学表达式为:
[0015][0016][0017]
其中,mi(i=0,1,2,...,l-1)为用户隐私数据,为第一ckks密文,n为所述第一ckks密文的维数,q为所述第一ckks密文的模数,s为私钥。
[0018]
可选地,在本技术的一个实施例中,所述基于tfhe同态加密算法对用户的隐私数
据进行加密得到至少一个第一tfhe密文,包括:确定满足预设安全条件的加密参数;基于所述加密参数和预设私钥,将所述用户隐私数据加密为所述至少一个第一tfhe密文。
[0019]
本技术第二方面实施例提供一种基于全同态加密的数据通用计算装置,包括:第一计算模块,用于基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,对所述至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到所述每个第一tfhe密文对应的第二tfhe密文;转换模块,用于将所有第二tfhe密文转换为第一ckks密文,以及第二计算模块,用于根据预设线性函数计算策略对所述第一ckks密文进行计算,得到第二ckks密文,并向所述用户发送所述第二ckks密文。
[0020]
可选地,在本技术的一个实施例中,所述第一计算模块包括:构造单元,用于对所述至少一个第一tfhe密文中每个第一tfhe密文的所述非线性函数构造测试向量;盲旋转单元,用于将所述测试向量在对应的第一tfhe密文上进行盲旋转操作,得到所述每个第一tfhe密文对应的第二tfhe密文。
[0021]
可选地,在本技术的一个实施例中,所述转换模块包括:编码单元,用于对每个第二tfhe密文进行编码,得到转换向量和转换矩阵;运算单元,用于基于所述转换向量、所述转换矩阵和预设转换密钥进行同态矩阵乘法运算和同态加法运算,得到第一转换结果;模余单元,用于对所述第一转换结果进行同态模余操作,得到第二转换结果;纠正单元,用于基于预设多项式逼近法,消除所述第二转换结果的小数位,得到纠正结果。
[0022]
可选地,在本技术的一个实施例中,所述预设线性函数计算策略的数学表达式为:
[0023][0024][0025]
其中,mi(i=0,1,2,...,l-1)为用户隐私数据,为第一ckks密文,n为所述第一ckks密文的维数,q为所述第一ckks密文的模数,s为私钥。
[0026]
可选地,在本技术的一个实施例中,所述第一计算模块还包括:定参单元,用于确定满足预设安全条件的加密参数;加密单元,用于基于所述加密参数和预设私钥,将所述用户隐私数据加密为所述至少一个第一tfhe密文。
[0027]
本技术第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的基于全同态加密的数据通用计算方法。
[0028]
本技术第四方面实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,该程序被处理器执行时实现如上的基于全同态加密的数据通用计算方法。
[0029]
由此,本技术的实施例具有以下有益效果:
[0030]
本技术的实施例可通过基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,对至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到每个第一tfhe密文对应的第二tfhe密文;将所有第二tfhe密文转换为第一ckks密文,以及根据预设线性函数计算策略对第一ckks密文进行计算,得到第二ckks密文,并向用
户发送第二ckks密文。本技术利用tfhe同态加密和ckks同态加密,实现tfhe密文非线性函数计算,并可通过tfhe密文向ckks密文的转换以及ckks密文的线性函数计算,完成了在同态加密密文上的通用函数计算,从而能够同时处理线性函数和非线性函数,提高了密文转换的精度和安全性,且以外包的形式通过服务商对全同态加密数据进行数据加密计算,有效提高了用户端计算资源和存储空间的利用率。由此,解决了当前基于全同态加密的云外包解决方案难以同时高效、准确的处理线性函数和非线性函数问题。
[0031]
本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
[0032]
本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0033]
图1为根据本技术实施例提供的一种基于全同态加密的数据通用计算方法的流程图;
[0034]
图2为本技术的一个实施例提供的一种基于全同态加密的数据通用计算方法的逻辑架构示意图;
[0035]
图3为根据本技术实施例的基于全同态加密的数据通用计算装置的示例图;
[0036]
图4为本技术实施例提供的电子设备的结构示意图。
[0037]
其中,10-基于全同态加密的数据通用计算装置、100-第一计算模块、200-转换模块、300-第二计算模块、401-存储器、402-处理器、403-通信接口。
具体实施方式
[0038]
下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
[0039]
下面参考附图描述本技术实施例的基于全同态加密的数据通用计算方法、装置、设备及介质。针对上述背景技术中提到的问题,本技术提供了一种基于全同态加密的数据通用计算方法,在该方法中,通过基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,对至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到每个第一tfhe密文对应的第二tfhe密文;将所有第二tfhe密文转换为第一ckks密文,以及根据预设线性函数计算策略对第一ckks密文进行计算,得到第二ckks密文,并向用户发送第二ckks密文。本技术利用tfhe同态加密和ckks同态加密,实现tfhe密文非线性函数计算,并可通过tfhe密文向ckks密文的转换以及ckks密文的线性函数计算,完成了在同态加密密文上的通用函数计算,从而能够同时处理线性函数和非线性函数,提高了密文转换的精度和安全性,且以外包的形式通过服务商对全同态加密数据进行数据加密计算,有效提高了用户端计算资源和存储空间的利用率。由此,解决了当前基于全同态加密的云外包解决方案难以同时高效、准确的处理线性函数和非线性函数问题。
[0040]
为了便于本领域技术人员更好的理解本技术的基于全同态加密的数据通用计算方法的执行逻辑,下述对本技术逻辑架构进行简单的概括和说明:
[0041]
本技术的逻辑架构主要包含用户和服务商两个主体,其中,用户拥有其私人数据,并且不想将数据泄露给其它人,同时用户希望借助外部算力在数据上进行一些计算;服务商是具有强大计算能力的云计算提供商,通常具有较多的计算设备和较大的存储空间,能够提供数据外包计算服务。
[0042]
具体而言,图1为本技术实施例所提供的一种基于全同态加密的数据通用计算方法的流程图。
[0043]
如图1所示,该基于全同态加密的数据通用计算方法包括以下步骤:
[0044]
在步骤s101中,基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,对至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到每个第一tfhe密文对应的第二tfhe密文。
[0045]
在本技术的实施例中,用户可将其隐私数据通过tfhe全同态加密后外包给服务商,服务商可以在加密数据上充分利用tfhe全同态加密方法的可编程自举性,以进行数据任意深度的非线性函数计算。
[0046]
可选地,在本技术的一个实施例中,基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,包括:确定满足预设安全条件的加密参数;基于加密参数和预设私钥,将用户隐私数据加密为至少一个第一tfhe密文。
[0047]
在本技术的实施例中,用户可使用tfhe全同态加密算法将隐私数据加密成密文。
[0048]
具体的,用户首先可确定一组满足特定安全性的加密参数(n,p,q),并生成私钥s,基于下式将隐私数据m逐个加密成使用私钥s加密成tfhe密文ct:
[0049][0050]
其中,n为tfhe密文的维数,p为明文模数,q为密文模数,为随机数,e为从某个噪声分布χ
nosie
中选取的噪声,为缩放参数,用于保护最低有效位。
[0051]
除上述tfhe密文数据外,在本技术的实施例中,用户还需要将一些辅助计算的密钥,如自举密钥和转换密钥等发送给服务商,其中辅助密钥均为一定格式的全同态密文,服务商可借助上述密钥辅助计算密文,避免泄露用户密钥和明文的信息。
[0052]
由此,本技术的实施例通过利用全同态加密技术,不仅避免了数据外包场景下信息的泄露,有效保护了用户隐私,为后续数据的线性函数运算和非线性函数运算的实现提供可安全可靠的数据支撑。
[0053]
可选地,在本技术的一个实施例中,对至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到每个第一tfhe密文对应的第二tfhe密文,包括:对至少一个第一tfhe密文中每个第一tfhe密文的非线性函数构造测试向量;将测试向量在对应的第一tfhe密文上进行盲旋转操作,得到每个第一tfhe密文对应的第二tfhe密文。
[0054]
需要说明的是,在服务商接收到用户的加密数据(ct0,ct1,...ct
n-1
)和自举密钥bk,以及密文转后密钥ck后,本技术的实施例可在密文上利用tfhe密文的可编程自举算法进行非线性函数的计算。
[0055]
具体的,如果服务方需要在密文上计算某个非线性函数f(x),则首先需根据该非线性函数构造一个测试向量tv=rlwe(f(0),f(0),...,f(k-1));进而在tfhe密文上进行盲
旋转操作。
[0056]
举例而言,对于一个tfhe加密的密文举例而言,对于一个tfhe加密的密文服务商可在密文上计算x
b+as
tv,从而将测试向量旋转到对应加密明文的位置,继而将该明文抽取出来,以得到计算后的密文
[0057]
可以理解的是,本技术的实施例通过用户将隐私数据加密成tfhe密文发送给服务商,服务商利用tfhe密文的可编程自举方法,从而可进行任意非线性函数的计算,如基于布尔电路的非线性函数计算(and、or、nand)等,也构造查找表进行计算,提高了对tfhe密文的非线性函数计算的效率和精度。
[0058]
在步骤s102中,将所有第二tfhe密文转换为第一ckks密文。
[0059]
在服务商对tfhe密文进行非线性函数计算后,进一步地,本技术的实施例可将将tfhe同态密文转换成高精度ckks密文,同时不损失密文的精度。
[0060]
可选地,在本技术的一个实施例中,将所有第二tfhe密文转换为第一ckks密文,包括:对每个第二tfhe密文进行编码,得到转换向量和转换矩阵;基于转换向量、转换矩阵和预设转换密钥进行同态矩阵乘法运算和同态加法运算,得到第一转换结果;对第一转换结果进行同态模余操作,得到第二转换结果;基于预设多项式逼近法,消除第二转换结果的小数位,得到纠正结果。需要说明的是,服务商在tfhe密文上计算非线性函数后,本技术的实施例需将l个tfhe密文转换成ckks密文,密文转化过程进行了一次自举运算,该密文转化过程的具体过程如下所述:
[0061]
1、服务商将需要转换的l个tfhe密文编码为一个向量b和矩阵a:
[0062]
b=(b0,b1,...,b
l-1
)
[0063][0064]
2、服务商借助用户之前发来的转换密钥进行同态的矩阵乘法运算,即计算进而进行同态加法运算,得到即相当于在密文上进行解密函数的计算;
[0065]
3、服务方需要在同态上进行模余操作,得到
[0066]
本领域技术人员应当了解的是,由于(as+b mod q)=(m0,m1,...m
l-1
)+e,因此,服务商可得到使用ckks加密的密文然而,目前同态线性计算和同态模余操作产生的噪声较大,对密文的精度影响也较大,导致当前的密文转换精度较低,难以满足高精度场景的需要。
[0067]
由此,本技术的实施例在进行密文转换后,可通过下式进行一次纠正计算,以更新转换精度:
[0068]
[0069]
其中,函数g为利用多项式逼近等方法如雷米兹算法等逼近的四舍五入函数,满足下式:
[0070]
|g((m0,m1,...,m
l-1
)+e)-(m0,m1,...,m
l-1
)|《e
[0071]
由此,本技术的实施例可通过多项式逼近等方法消除之前转换后的密文的小数位的噪声,从而可以支持更高的精度(达到16bit以上),有效提高了密文转换的精度,形成了更加精确的密文。
[0072]
在步骤s103中,根据预设线性函数计算策略对第一ckks密文进行计算,得到第二ckks密文,并向用户发送第二ckks密文。
[0073]
在tfhe密文的非线性函数计算,并转换为高精度的ckks密文后,进一步地,本技术的实施例还可利用ckks密文实现数据的高效线性函数计算,从而高效的完成了在同态加密密文上的通用函数计算,并将计算结果进行加密发送至用户。
[0074]
可选地,在本技术的一个实施例中,预设线性函数计算策略的数学表达式为:
[0075][0076][0077]
其中,mi(i=0,1,2,...,l-1)为用户隐私数据,为第一ckks密文,n为第一ckks密文的维数,q为第一ckks密文的模数,s为私钥。
[0078]
在进行高精度密文转换之后,服务商可得到高精度加密的ckks密文进而,本技术的实施例便可在ckks密文上进行线性函数计算。
[0079]
由于ckks密文可将多个数据编码至一个密文中,一次密文加法或者密文乘法的运算可同时计算多个数据,具有很好的simd特性,在处理线性函数计算时具有很高的效率,本技术实施例中的线性函数计算主要通过ckks上密文的加法和乘法进行实现,如下式所示:
[0080][0081][0082]
由此,本技术的实施例基于ckks密文在处理线性函数计算时,其效率和精度更高,从而通过结合tfhe密文在处理非线性函数和ckks密文在处理线性函数时的优越性,实现了全同态加密的数据通用数据高效计算。
[0083]
服务商在完成非线性计算后,进行密文的转换,并在加密数据上进行线性函数的计算,线性计算后,本技术实施例可将计算完的ckks密文发送给用户,用户可利用自身的私钥进行解密,从而得到线性函数计算和非线性函数计算后的结果。
[0084]
综上,本技术实施例中的tfhe同态加密算法和ckks同态加密算法分别基于lwe困难问题和rlwe困难问题,上述两种算法均具有很强的困难问题作为安全性保障,安全性较高,相比其他数据外包方案相比,本技术实施例中的tfhe同态加密算法和ckks同态加密算法安全性可被证明。
[0085]
根据本技术实施例提出的基于全同态加密的数据通用计算方法,通过用户将数据使用全同态加密后外包给服务商,服务商可以在加密数据上进行非线性函数的计算;完成非线性计算后,可进行高精度密文转换,且根据ckks密文实现高效线性函数的计算,完成了在同态加密密文上的高精度通用函数计算;完成线性计算后,将计算结果返还至用户,从而能够同时处理线性函数和非线性函数,提高了密文转换的精度和安全性,且以外包的形式通过服务商对全同态加密数据进行数据加密计算,有效提高了用户端计算资源和存储空间的利用率。
[0086]
其次,参照附图描述根据本技术实施例提出的基于全同态加密的数据通用计算装置。
[0087]
图3是本技术实施例的基于全同态加密的数据通用计算装置的方框示意图。
[0088]
如图3所示,该基于全同态加密的数据通用计算装置10包括:第一计算模块100、转换模块200以及第二计算模块300。
[0089]
其中,第一计算模块100,用于基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,对至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到每个第一tfhe密文对应的第二tfhe密文。
[0090]
转换模块200,用于将所有第二tfhe密文转换为第一ckks密文。
[0091]
第二计算模块300,用于根据预设线性函数计算策略对第一ckks密文进行计算,得到第二ckks密文,并向用户发送第二ckks密文。
[0092]
可选地,在本技术的一个实施例中,第一计算模块100包括:构造单元和盲旋转单元。
[0093]
其中,构造单元,用于对至少一个第一tfhe密文中每个第一tfhe密文的非线性函数构造测试向量。
[0094]
盲旋转单元,用于将测试向量在对应的第一tfhe密文上进行盲旋转操作,得到每个第一tfhe密文对应的第二tfhe密文。
[0095]
可选地,在本技术的一个实施例中,转换模块200包括:编码单元、运算单元模余单元以及纠正单元。
[0096]
其中,编码单元,用于对每个第二tfhe密文进行编码,得到转换向量和转换矩阵。
[0097]
运算单元,用于基于转换向量、转换矩阵和预设转换密钥进行同态矩阵乘法运算和同态加法运算,得到第一转换结果。
[0098]
模余单元,用于对第一转换结果进行同态模余操作,得到第二转换结果。
[0099]
纠正单元,用于基于预设多项式逼近法,消除第二转换结果的小数位,得到纠正结果。
[0100]
可选地,在本技术的一个实施例中,预设线性函数计算策略的数学表达式为:
[0101][0102][0103]
其中,mi(i=0,1,2,...,l-1)为用户隐私数据,为第
一ckks密文,n为第一ckks密文的维数,q为第一ckks密文的模数,s为私钥。
[0104]
可选地,在本技术的一个实施例中,第一计算模块100还包括:定参单元和加密单元。
[0105]
其中,定参单元,用于确定满足预设安全条件的加密参数。
[0106]
加密单元,用于基于加密参数和预设私钥,将用户隐私数据加密为至少一个第一tfhe密文。
[0107]
需要说明的是,前述对基于全同态加密的数据通用计算方法实施例的解释说明也适用于该实施例的基于全同态加密的数据通用计算装置,此处不再赘述。
[0108]
根据本技术实施例提出的基于全同态加密的数据通用计算装置,通过用户将数据使用全同态加密后外包给服务商,服务商可以在加密数据上进行非线性函数的计算,完成非线性计算后,进行密文的转换,并可在加密数据上进行线性函数的计算,完成线性计算后,将计算结果返还给用户,从而能够同时处理线性函数和非线性函数,提高了密文转换的精度和安全性,且以外包的形式通过服务商对全同态加密数据进行数据加密计算,有效提高了用户端计算资源和存储空间的利用率。
[0109]
图4为本技术实施例提供的电子设备的结构示意图。该电子设备可以包括:
[0110]
存储器401、处理器402及存储在存储器401上并可在处理器402上运行的计算机程序。
[0111]
处理器402执行程序时实现上述实施例中提供的基于全同态加密的数据通用计算方法。
[0112]
进一步地,电子设备还包括:
[0113]
通信接口403,用于存储器401和处理器402之间的通信。
[0114]
存储器401,用于存放可在处理器402上运行的计算机程序。
[0115]
存储器401可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0116]
如果存储器401、处理器402和通信接口403独立实现,则通信接口403、存储器401和处理器402可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0117]
可选地,在具体实现上,如果存储器401、处理器402及通信接口403,集成在一块芯片上实现,则存储器401、处理器402及通信接口403可以通过内部接口完成相互间的通信。
[0118]
处理器402可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。
[0119]
本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的基于全同态加密的数据通用计算方法。
[0120]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特
点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或n个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0121]
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本技术的描述中,“n个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0122]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或n个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0123]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或n个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0124]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,n个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0125]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0126]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机
可读取存储介质中。
[0127]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
技术特征:
1.一种基于全同态加密的数据通用计算方法,其特征在于,包括以下步骤:基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,对所述至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到所述每个第一tfhe密文对应的第二tfhe密文;将所有第二tfhe密文转换为第一ckks密文,以及根据预设线性函数计算策略对所述第一ckks密文进行计算,得到第二ckks密文,并向所述用户发送所述第二ckks密文。2.根据权利要求1所述的方法,其特征在于,所述对所述至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到所述每个第一tfhe密文对应的第二tfhe密文,包括:对所述至少一个第一tfhe密文中每个第一tfhe密文的所述非线性函数构造测试向量;将所述测试向量在对应的第一tfhe密文上进行盲旋转操作,得到所述每个第一tfhe密文对应的第二tfhe密文。3.根据权利要求2所述的方法,其特征在于,所述将所有第二tfhe密文转换为第一ckks密文,包括:对每个第二tfhe密文进行编码,得到转换向量和转换矩阵;基于所述转换向量、所述转换矩阵和预设转换密钥进行同态矩阵乘法运算和同态加法运算,得到第一转换结果;对所述第一转换结果进行同态模余操作,得到第二转换结果;基于预设多项式逼近法,消除所述第二转换结果的小数位,得到纠正结果。4.根据权利要求3所述的方法,其特征在于,所述预设线性函数计算策略的数学表达式为:为:其中,m
i
(i=0,1,2,...,l-1)为用户隐私数据,为第一ckks密文,n为所述第一ckks密文的维数,q为所述第一ckks密文的模数,s为私钥。5.根据权利要求1所述的方法,其特征在于,所述基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,包括:确定满足预设安全条件的加密参数;基于所述加密参数和预设私钥,将所述用户隐私数据加密为所述至少一个第一tfhe密文。6.一种基于全同态加密的数据通用计算装置,其特征在于,包括:第一计算模块,用于基于tfhe同态加密算法对用户的隐私数据进行加密得到至少一个第一tfhe密文,对所述至少一个第一tfhe密文中每个第一tfhe密文进行非线性函数计算,得到所述每个第一tfhe密文对应的第二tfhe密文;转换模块,用于将所有第二tfhe密文转换为第一ckks密文,以及
第二计算模块,用于根据预设线性函数计算策略对所述第一ckks密文进行计算,得到第二ckks密文,并向所述用户发送所述第二ckks密文。7.根据权利要求6所述的装置,其特征在于,所述第一计算模块包括:构造单元,用于对所述至少一个第一tfhe密文中每个第一tfhe密文的所述非线性函数构造测试向量;盲旋转单元,用于将所述测试向量在对应的第一tfhe密文上进行盲旋转操作,得到所述每个第一tfhe密文对应的第二tfhe密文。8.根据权利要求7所述的装置,其特征在于,所述转换模块包括:编码单元,用于对每个第二tfhe密文进行编码,得到转换向量和转换矩阵;运算单元,用于基于所述转换向量、所述转换矩阵和预设转换密钥进行同态矩阵乘法运算和同态加法运算,得到第一转换结果;模余单元,用于对所述第一转换结果进行同态模余操作,得到第二转换结果;纠正单元,用于基于预设多项式逼近法,消除所述第二转换结果的小数位,得到纠正结果。9.根据权利要求8所述的装置,其特征在于,所述预设线性函数计算策略的数学表达式为:为:其中,m
i
(i=0,1,2,...,l-1)为用户隐私数据,为第一ckks密文,n为所述第一ckks密文的维数,q为所述第一ckks密文的模数,s为私钥。10.根据权利要求6所述的装置,其特征在于,所述第一计算模块还包括:定参单元,用于确定满足预设安全条件的加密参数;加密单元,用于基于所述加密参数和预设私钥,将所述用户隐私数据加密为所述至少一个第一tfhe密文。11.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-5任一项所述的基于全同态加密的数据通用计算方法。12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-5任一项所述的基于全同态加密的数据通用计算方法。
技术总结
本申请涉及一种基于全同态加密的数据通用计算方法、装置、设备及介质,其中,方法包括:基于TFHE同态加密算法对用户的隐私数据进行加密得到至少一个第一TFHE密文,对至少一个第一TFHE密文中每个第一TFHE密文进行非线性函数计算,得到每个第一TFHE密文对应的第二TFHE密文;将所有第二TFHE密文转换为第一CKKS密文,以及根据预设线性函数计算策略对第一CKKS密文进行计算,得到第二CKKS密文,并向用户发送第二CKKS密文。由此,解决了当前基于全同态加密的云外包解决方案难以同时高效、准确的处理线性函数和非线性函数问题。理线性函数和非线性函数问题。理线性函数和非线性函数问题。
技术研发人员:关振宇 边松 张舟 金意儿 潘豪文
受保护的技术使用者:北京航空航天大学
技术研发日:2023.06.30
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/