CN117353898A - 用于浮点数明文的全同态加密方法、系统、终端及介质 - Google Patents
用于浮点数明文的全同态加密方法、系统、终端及介质 Download PDFInfo
- Publication number
- CN117353898A CN117353898A CN202311642376.8A CN202311642376A CN117353898A CN 117353898 A CN117353898 A CN 117353898A CN 202311642376 A CN202311642376 A CN 202311642376A CN 117353898 A CN117353898 A CN 117353898A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- divisor
- polynomial
- homomorphic
- dividend
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000007667 floating Methods 0.000 title claims abstract description 49
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 208000008589 Obesity Diseases 0.000 description 1
- 230000037396 body weight Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 235000020824 obesity Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Complex Calculations (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
Abstract
本发明公开了一种用于浮点数明文的全同态加密方法、系统、终端及介质,在服务端进行同态除法运算时,分别对接收到的第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解以降低多项式的次数,获得第二模数密文、第二除数密文和第二被除数密文;计算所述第二模数密文与所述第二除数密文的差值,获得加密密文差值;基于所述加密密文差值和所述第二模数密文,构建除数项多项式;根据泰勒展开求解所述除数项多项式,获得除数项值;计算所述除数项值与所述第二被除数密文的乘积,获得同态除法运算结果并发送至客户端。能够实现高精度、高效率且低位宽的同态除法运算,提高全同态加密时的加密性能。
Description
技术领域
本发明涉及数据加密技术领域,尤其涉及的是一种用于浮点数明文的全同态加密方法、系统、终端及介质。
背景技术
全同态加密(Fully Homomorphic Encryption,FHE)是密码学领域的一项重要技术,它允许在加密状态下对加密后的数据支持任意次数的加法和乘法运算,而无需对密文数据进行解密。这一技术在云计算安全领域具有重要意义,云用户可以将敏感数据安全地存储在云端,同时保护数据的隐私和机密性。
目前对浮点数明文进行全同态加密时,由于除法运算和逆运算非常耗时和复杂,并且,随着加密精度的提高,密文变得过大,进行同态除法运算时效率不高,全同态加密的加密性能仍需提升。
发明内容
本发明的主要目的在于提供一种用于浮点数明文的全同态加密方法、系统、智能终端及计算机可读存储介质,能够解决同态除法运算时效率不高的问题,提升全同态加密的加密性能。
为了实现上述目的,本发明第一方面提供一种用于浮点数明文的全同态加密方法,应用于对密文进行同态除法运算的服务端,其中,服务端进行同态除法运算的步骤包括:
分别对接收到的第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解以降低多项式的次数,获得第二模数密文、第二除数密文和第二被除数密文;
计算所述第二模数密文与所述第二除数密文的差值,获得加密密文差值;
基于所述加密密文差值和所述第二模数密文,构建除数项多项式;
根据泰勒展开求解所述除数项多项式,获得除数项值;
计算所述除数项值与所述第二被除数密文的乘积,获得同态除法运算结果并发送至客户端。
可选的,所述分别对接收到的第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解以降低多项式的次数,获得第二模数密文、第二除数密文和第二被除数密文,包括:
采用快速傅里叶变换分别将所述第一模数密文、所述第一除数密文和所述第一被除数密文中的多项式进行分解,获得所述第二模数密文、所述第二除数密文和所述第二被除数密文。
可选的,采用快速傅里叶变换将目标密文中的多项式进行分解,包括:
求解所述目标密文在每个单位根上的取值;
根据所有的所述取值,将所述目标密文从系数表示转换为点值表示。
可选的,所述根据泰勒展开求解所述除数项多项式,获得除数项值,包括:
根据泰勒展开逼近同态除法运算多项式的逆元,获得近似表达式;
根据所述近似表达式,求解所述除数项多项式,获得所述除数项值。
可选的,计算所述除数项值与所述第二被除数密文的乘积时,还包括:
采用快速傅里叶变换降低所述除数项值和/或所述第二被除数密文的位宽。
本发明第二方面提供一种用于浮点数明文的全同态加密系统,包括客户端和服务端,所述客户端用于将浮点数明文同态加密为密文,所述服务端用于对所述密文进行同态除法运算,并将同态除法运算的结果发送至客户端,所述服务端包括:
转换模块,用于分别对接收到的第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解以降低多项式的次数,获得第二模数密文、第二除数密文和第二被除数密文;
密文差值计算模块,用于计算所述第二模数密文与所述第二除数密文的差值,获得加密密文差值;
多项式构建模块,用于基于所述加密密文差值和所述第二模数密文,构建除数项多项式;
多项式求解模块,用于根据泰勒展开求解所述除数项多项式,获得除数项值;
除法运算模块,用于计算所述除数项值与所述第二被除数密文的乘积,获得同态除法运算结果并发送至客户端。
可选的,所述服务端还包括快速傅里叶变换单元,所述快速傅里叶变换单元用于采用快速傅里叶变换分别将所述第一模数密文、所述第一除数密文和所述第一被除数密文中的多项式进行分解,获得所述第二模数密文、所述第二除数密文和所述第二被除数密文。
可选的,在计算所述除数项值与所述第二被除数密文的乘积时,所述快速傅里叶变换单元还用于采用快速傅里叶变换降低所述除数项值和/或所述第二被除数密文的位宽。
本发明第三方面提供一种智能终端,上述智能终端包括存储器、处理器以及存储在上述存储器上并可在上述处理器上运行的用于浮点数明文的全同态加密程序,上述用于浮点数明文的全同态加密程序被上述处理器执行时实现任意一项上述用于浮点数明文的全同态加密方法的步骤。
本发明第四方面提供一种计算机可读存储介质,上述计算机可读存储介质上存储有用于浮点数明文的全同态加密程序,上述用于浮点数明文的全同态加密程序被处理器执行时实现任意一项上述用于浮点数明文的全同态加密方法的步骤。
由上可见,本发明在服务端进行同态除法运算时,对密文中的多项式进行分解来降低多项式的次数,能够降低计算复杂度,有效地减小数据的表示大小,并在保持高精度的同时实现并行的同态除法计算;然后利用泰勒展开逼近除法运算,来改进同态加密方案中的除法运算的效率。能够实现高精度、高效率且低位宽的同态除法运算,提升全同态加密的加密性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例提供的用于浮点数明文的全同态加密方法流程示意图;
图2是快速傅里叶分解将大位宽浮点数分解为小位宽浮点数示意图;
图3是本发明实施例提供的用于浮点数明文的全同态加密系统功能框图;
图4是本发明实施例提供的一种智能终端的内部结构原理框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况下,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当…时”或“一旦”或“响应于确定”或“响应于检测到”。类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合本发明实施例的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
全同态加密(Fully Homomorphic Encryption,FHE)是密码学领域的一项重要技术,它允许在加密状态下进行无限次的任意运算,而无需对明文数据进行解密。即对任意有效的函数f以及明文m,都有性质,其中,/>表示同态加密。这一技术在云计算安全领域具有重要意义,云用户可以将敏感数据安全地存储在云端,同时保护数据的隐私和机密性。此外,全同态加密可应用于密文检索,支持对加密索引和数据库的查询操作,以确保用户的数据隐私不受泄露风险。全同态加密还在安全多方计算和隐私集合求交等领域发挥作用,实现了多方间的协同处理和隐私保护。
但是,在对浮点数明文进行全同态加密时,除法运算和逆运算是非常耗时和复杂的操作,如果单次计算除法精确度是t,需要密文是tm,密文的大小随着精度的增大而增大,如果单次密文变得过大,就可能导致除法操作的算法电路受到限制,除法运算的效率不高。并且,传统的用于浮点数明文的全同态加密往往涉及复杂的指数运算,需要大量的乘法运算以及线性组合运算,当用户数据集或网络参数非常庞大时会造成巨大的计算开销,降低对隐私数据进行全同态加密时的加密性能。
针对上述技术问题,本发明在对用户数据或网络参数等进行同态除法运算时,首先降低多项式的次数,即将大多项式(多项式中最高次幂的指数较高的多项式,例如三次、四次或更高次的多项式)转换为小多项式(多项式中最高次幂的指数较低的多项式,例如一次或二次多项式),并可以将浮点数明文从大位宽(如32bit)转换为小位宽(如8bit)。能有效地减小数据的表示大小,并在保持高精度的同时实现并行的同态除法计算。再利用泰勒展开逼近多项式除法运算,来改进同态加密方案中的除法运算的效率。能够实现高精度、高效率且低位宽的同态除法运算,提高全同态加密的加密速度,从而提高在对用户数据或网络参数等进行全同态加密时的加密性能。
本发明实施例提供了一种用于浮点数明文的全同态加密方法,部署云计算服务器上,用来对用户数据,如身体质量指数(Body Mass Index,BMI)进行计算和分析。身体质量指数是一种常用的衡量人体肥胖程度的指标,通常用于评估个体的体重是否正常。它的计算公式为:BMI = 体重(kg)/ 身高(m)^2,进行BMI的计算和分析时受到隐私保护等因素的限制,无法直接获取个体的体重和身高信息。这时,通过利用同态除法运算,将个体的体重和身高数据进行加密,并将加密后的身高数据、体重数据(即密文)发送至服务端。使用同态除法可以在不暴露个体敏感数据的前提下,在服务端实现对BMI的计算和分析。具体地,客户端将体重和身高数据使用同态加密技术进行加密,得到加密后的数据并发送至服务端;服务端接收到加密后的数据后,将加密后的体重数据作为第一被除数密文,加密后的身高数据作为第一除数密文,通过同态除法运算就可以在保持数据加密的同时,实现BMI的计算。
具体的,如图1所示,本实施例的服务端在进行同态除法运算时,包括如下步骤:
步骤S100:分别对接收到的第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解以降低多项式的次数,获得第二模数密文、第二除数密文和第二被除数密文;
客户端采集到用户的身高和体重之后(基于BMI计算方法,为了叙述方便,以下将体重作为被除数,身高^2作为除数/>),然后客户端对创建密钥时使用的模数/>、被除数和除数/>这些明文进行同态加密,获得同态加密后的第一模数密文/>,与体重明文对应的第一被除数密文/>,与身高明文对应的第一除数密文/>,并将这些密文传递到服务端。其中,/>表示同态加密。模数/>由客户端创建公钥和私钥对时生成,是公开的。在将公钥发送至服务端或者服务端和客户端之间初始握手时,服务端就能够获得第一模数密文。因此,在服务端已获得第一模数密文后,后续进行同态除法运算时,只需要将第一被除数密文和第一除数密文发送至服务端就可以了。
同态加密中,密文通常表示为一个大多项式。如果直接对这个大多项式进行运算,那么计算复杂度会非常高。因此本实施例中,服务端收到第一模数密文、第一被除数密文和第一除数密文后,使用快速傅里叶变换(FFT)将大多项式转化为点值表示,在点值表示下,多项式的乘法运算就变成了对应点值的乘法运算,能够大大降低计算复杂度,有效地减小数据的表示大小,并在保持高精度的同时实现并行的同态除法计算。点值表示的结果可以看作是一系列小多项式的集合。也就是说,采用快速傅里叶变换(FFT)将大多项式分解成为小多项式的集合,降低了多项式的次数,获得第二模数密文、第二被除数密文/>、第二除数密文/>。/>为分解后/>的同态密文,小多项式的集合;/>为分解后/>的同态密文,小多项式的集合;/>为分解后/>的同态密文,小多项式的集合。
具体地,利用快速傅里叶变换进行分解的过程为:
设多项式为一个n-1次多项式,所有项的系数组成的系数向量唯一确定了多项式:/>。
给定了系数矩阵:,则可以定义对应的傅里叶转换, 其中,/>表示所有的n次单位根。则y是a的离散傅里叶变换(DFT),记作/>,其反函数/>成为傅里叶的逆变换。如果把离散傅里叶写成/>的形式,则/>是一个由/>适当幂次填充成的范德蒙矩阵:
。
范德蒙矩阵可以用来表示一个多项式在一系列点上的值,DFT可以看作是在单位根的范德蒙矩阵上的线性变换。
采用上述分解过程,分别将第一模数密文、第一除数密文和第一被除数密文作为目标密文,求解目标密文在每个单位根上的取值,即上述的值,然后将目标密文的所有组成范德蒙矩阵,从而将目标密文从系数表示转换为点值表示,即/>的形式。实现了对第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解。
借助于FFT将多项式从系数表示转换为点值表示,然后在点值表示下进行乘法运算,最后再通过逆FFT转换回系数表示,可以将多项式乘法的复杂度从O(n^2)降低到O(nlog n)。
将大多项式转换为小多项式的方法常用的还有牛顿法和二分法,优选采用快速傅里叶变换,不仅能够将大多项式分解为小多项式,还能将同态加密后的浮点数从大位宽转换为小位宽,并进行并行运算。
步骤S200:计算第二模数密文与第二除数密文的差值,获得加密密文差值;
步骤S300:基于加密密文差值和第二模数密文,构建除数项多项式;
浮点数除法可以转化为浮点数乘法来进行。具体来说,如果要计算A/B,可以先计算B的倒数1/B,然后将A乘以1/B,这样就将除法转化为了乘法。而除法运算和逆运算是非常耗时和复杂的操作。为了实现高效的除法运算,本实施例使用了泰勒展开。泰勒展开是一种将函数表示为无限次求导后在某个点处求值的级数的方法,在进行除法运算时,将除法运算看作是乘法的逆运算,然后使用泰勒展开来近似这个逆运算。
泰勒展开的推导过程为:
对于具有足够平滑性质的函数f(x),在某个点a处的泰勒展开式可表示为:f(x) =f(a) + f'(a)(x-a)/1! + f''(a)(x-a)^2/2! + ... + f^n(a)(x-a)^n/n! + ...。其中,f'(a)表示f(x)在点a处的一阶导数(斜率)、f''(a)表示二阶导数(曲率),以此类推,f^n(a)表示n阶导数。这个展开式可以看作是多项式的形式,其每一项代表了一个导数按照一定的系数进行组合,而这些系数是函数在a点的导数值。
对于复数的1/x的泰勒展开如下:
(1),
对于复数,记/>,若有/>,则多项式:
(2),
是具有/>精度的近似表达式,/>为加密精度。
对于复数,记/>,若有/>,则多项式:
(3),
是具有/>精度的近似表达式。
计算第二模数密文与第二除数密文/>之差,获得加密密文差值/>,,其中,/>,/>相当于/>的同态加密密文,根据上述公式(3),推导出除数项多项式为:
,
其中,为除数明文,/>为模数,/>为所述第二模数密文,/>为所述加密密文差值,/>为加密精度,/>表示同态加密。
步骤S400:根据泰勒展开求解除数项多项式,获得除数项值;
由于不能直接进行除法运算,所以需要先计算同态除法运算多项式的逆元,然后通过乘以这个逆元来实现除法运算。具体来说,上述公式(3)是通过迭代的方式,逐步逼近同态除法运算多项式的逆元。每一步迭代都会使得结果更接近于真正的逆元,当迭代次数足够多的时候,结果将会非常接近于真正的逆元,获得近似表达式。然后根据近似表达式求解除数项多项式,获得除数项值。可以表示为:
,
其中,为求解除数项多项式计算出来的密文,/>表示同态加密。
步骤S500:计算除数项值与第二被除数密文的乘积,获得同态除法运算结果并发送至客户端。
计算出密文,即除数项值/>后,然后计算除数项值/>与第二被除数密文/>之积,获得/>的密文运算结果,即:
,
再计算的密文运算结果与/>的乘积,就可以获得同态除法运算的结果/>,然后发送至客户端。
在上述运算过程中,如果直接进行多项式乘法运算,通常会导致结果多项式的度数增大,同时计算复杂度也会增加。因此,目前的同态加密方法在保持精度时,将数据表示为大位宽(位宽为浮点数占用存储器的位数,如32bit),就会导致除法运算的效率不高(由于除法运算需要多次同态乘法)。
本实施例中,还利用快速傅里叶变换的性质来设计算法,当除数项值和/或第二被除数密文为大位宽的浮点数时,将其分解为处理多个小位宽的浮点数,即降低位宽,从而提高计算效率。例如,在大数乘法中,将两个大数视为多项式的系数,然后通过快速傅里叶变换将这个多项式乘法问题转化为多个小数乘法问题。在这个过程中,如图2所示将大位宽的浮点数被分解为了多个小位宽的浮点数,当除法运算的精度不支持32bit时,分解为四个8bit分别进行除法运算,然后合并结果,从而大大提高了计算效率。
综上所述,本实施例在进行同态除法的运算时,首先将大多项式转换为小多项式,然后将浮点数密文从大位宽转换为小位宽,能有效地减小数据的表示大小,并在保持高精度的同时实现并行的同态除法计算,单次计算只需要计算小位宽的密文,提高对隐私数据的加密效率;再利用泰勒展开逼近多项式除法运算,提升同态加密方案中的除法运算的效率。
需要说明的是,本发明的用于浮点数明文的全同态加密方法不仅可以用于在生物医学工程(Biomedical Engineering)中计算和分析BMI,还可以应用于区块链、联邦学习等存在数据隐私计算需求的场景。还可以解决现有同态加密算法存在的运行效率低、密钥过大和密文爆炸等性能问题。
如图3所示,对应于上述用于浮点数明文的全同态加密方法,本发明实施例还提供用于浮点数明文的全同态加密系统,上述系统包括客户端和服务端,所述客户端用于将浮点数明文同态加密为密文,所述服务端用于对所述密文进行同态除法运算,并将同态除法运算的结果发送至客户端,所述服务端包括:
转换模块600,用于分别对接收到的第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解以降低多项式的次数,获得第二模数密文、第二除数密文和第二被除数密文;
密文差值计算模块610,用于计算所述第二模数密文与所述第二除数密文的差值,获得加密密文差值;
多项式构建模块620,用于基于所述加密密文差值和所述第二模数密文,构建除数项多项式;
多项式求解模块630,用于根据泰勒展开求解所述除数项多项式,获得除数项值;
除法运算模块640,用于计算所述除数项值与所述第二被除数密文的乘积,获得同态除法运算结果并发送至客户端。
可选的,所述服务端还包括快速傅里叶变换单元,所述快速傅里叶变换单元用于采用快速傅里叶变换分别将所述第一模数密文、所述第一除数密文和所述第一被除数密文中的多项式进行分解,获得所述第二模数密文、所述第二除数密文和所述第二被除数密文。
可选的,在计算所述除数项值与所述第二被除数密文的乘积时,所述快速傅里叶变换单元还用于采用快速傅里叶变换降低所述除数项值和/或所述第二被除数密文的位宽。
具体的,本实施例中,上述用于浮点数明文的全同态加密系统的各模块的具体功能可以参照上述用于浮点数明文的全同态加密方法中的对应描述,在此不再赘述。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图4所示。上述智能终端包括通过系统总线连接的处理器、存储器、网络接口以及显示屏。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和用于浮点数明文的全同态加密程序。该内存储器为非易失性存储介质中的操作系统和用于浮点数明文的全同态加密程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该用于浮点数明文的全同态加密程序被处理器执行时实现上述任意一种用于浮点数明文的全同态加密方法的步骤。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏。
本领域技术人员可以理解,图4中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质上存储有用于浮点数明文的全同态加密程序,上述用于浮点数明文的全同态加密程序被处理器执行时实现本发明实施例提供的任意一种用于浮点数明文的全同态加密方法的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种用于浮点数明文的全同态加密方法,应用于对密文进行同态除法运算的服务端,其特征在于,服务端进行同态除法运算的步骤包括:
分别对接收到的第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解以降低多项式的次数,获得第二模数密文、第二除数密文和第二被除数密文;
计算所述第二模数密文与所述第二除数密文的差值,获得加密密文差值;
基于所述加密密文差值和所述第二模数密文,构建除数项多项式;
根据泰勒展开求解所述除数项多项式,获得除数项值;
计算所述除数项值与所述第二被除数密文的乘积,获得同态除法运算结果并发送至客户端。
2.如权利要求1所述的用于浮点数明文的全同态加密方法,其特征在于,所述分别对接收到的第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解以降低多项式的次数,获得第二模数密文、第二除数密文和第二被除数密文,包括:
采用快速傅里叶变换分别将所述第一模数密文、所述第一除数密文和所述第一被除数密文中的多项式进行分解,获得所述第二模数密文、所述第二除数密文和所述第二被除数密文。
3.如权利要求2所述的用于浮点数明文的全同态加密方法,其特征在于,采用快速傅里叶变换将目标密文中的多项式进行分解,包括:
求解所述目标密文在每个单位根上的取值;
根据所有的所述取值,将所述目标密文从系数表示转换为点值表示。
4.如权利要求1所述的用于浮点数明文的全同态加密方法,其特征在于,所述根据泰勒展开求解所述除数项多项式,获得除数项值,包括:
根据泰勒展开逼近同态除法运算多项式的逆元,获得近似表达式;
根据所述近似表达式,求解所述除数项多项式,获得所述除数项值。
5.如权利要求1所述的用于浮点数明文的全同态加密方法,其特征在于,计算所述除数项值与所述第二被除数密文的乘积时,还包括:
采用快速傅里叶变换降低所述除数项值和/或所述第二被除数密文的位宽。
6.一种用于浮点数明文的全同态加密系统,其特征在于,包括客户端和服务端,所述客户端用于将浮点数明文同态加密为密文,所述服务端用于对所述密文进行同态除法运算,并将同态除法运算的结果发送至客户端,所述服务端包括:
转换模块,用于分别对接收到的第一模数密文、第一除数密文和第一被除数密文中的多项式进行分解以降低多项式的次数,获得第二模数密文、第二除数密文和第二被除数密文;
密文差值计算模块,用于计算所述第二模数密文与所述第二除数密文的差值,获得加密密文差值;
多项式构建模块,用于基于所述加密密文差值和所述第二模数密文,构建除数项多项式;
多项式求解模块,用于根据泰勒展开求解所述除数项多项式,获得除数项值;
除法运算模块,用于计算所述除数项值与所述第二被除数密文的乘积,获得同态除法运算结果并发送至客户端。
7.如权利要求6所述的用于浮点数明文的全同态加密系统,其特征在于,所述服务端还包括快速傅里叶变换单元,所述快速傅里叶变换单元用于采用快速傅里叶变换分别将所述第一模数密文、所述第一除数密文和所述第一被除数密文中的多项式进行分解,获得所述第二模数密文、所述第二除数密文和所述第二被除数密文。
8.如权利要求7所述的用于浮点数明文的全同态加密系统,其特征在于,在计算所述除数项值与所述第二被除数密文的乘积时,所述快速傅里叶变换单元还用于采用快速傅里叶变换降低所述除数项值和/或所述第二被除数密文的位宽。
9.智能终端,其特征在于,所述智能终端包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的用于浮点数明文的全同态加密程序,所述用于浮点数明文的全同态加密程序被所述处理器执行时实现如权利要求1-5任意一项所述用于浮点数明文的全同态加密方法的步骤。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有用于浮点数明文的全同态加密程序,所述用于浮点数明文的全同态加密程序被处理器执行时实现如权利要求1-5任意一项所述用于浮点数明文的全同态加密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311642376.8A CN117353898B (zh) | 2023-12-04 | 2023-12-04 | 用于浮点数明文的全同态加密方法、系统、终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311642376.8A CN117353898B (zh) | 2023-12-04 | 2023-12-04 | 用于浮点数明文的全同态加密方法、系统、终端及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117353898A true CN117353898A (zh) | 2024-01-05 |
CN117353898B CN117353898B (zh) | 2024-03-26 |
Family
ID=89367730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311642376.8A Active CN117353898B (zh) | 2023-12-04 | 2023-12-04 | 用于浮点数明文的全同态加密方法、系统、终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117353898B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283669A (zh) * | 2014-08-25 | 2015-01-14 | 东南大学 | 全同态加密中重加密深度优化方法 |
CN106850183A (zh) * | 2017-01-22 | 2017-06-13 | 蒋林智 | 一种全同态加密密文除法实现方法 |
WO2020145503A1 (en) * | 2019-01-10 | 2020-07-16 | Crypto Lab Inc. | Apparatus for processing approximately encrypted messages and methods thereof |
EP3909193A1 (en) * | 2019-01-10 | 2021-11-17 | Crypto Lab Inc. | Apparatus for processing approximately encrypted messages and methods thereof |
CN115658005A (zh) * | 2022-10-10 | 2023-01-31 | 南京大学 | 一种基于冗余的高精度低延时大整数除法加速装置 |
CN116137564A (zh) * | 2021-11-18 | 2023-05-19 | 合肥本源量子计算科技有限责任公司 | 密文解密方法及相关设备 |
CN117034307A (zh) * | 2023-07-14 | 2023-11-10 | 中国电信股份有限公司技术创新中心 | 数据加密方法、装置、计算机设备和存储介质 |
-
2023
- 2023-12-04 CN CN202311642376.8A patent/CN117353898B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104283669A (zh) * | 2014-08-25 | 2015-01-14 | 东南大学 | 全同态加密中重加密深度优化方法 |
CN106850183A (zh) * | 2017-01-22 | 2017-06-13 | 蒋林智 | 一种全同态加密密文除法实现方法 |
WO2020145503A1 (en) * | 2019-01-10 | 2020-07-16 | Crypto Lab Inc. | Apparatus for processing approximately encrypted messages and methods thereof |
EP3909193A1 (en) * | 2019-01-10 | 2021-11-17 | Crypto Lab Inc. | Apparatus for processing approximately encrypted messages and methods thereof |
CN116137564A (zh) * | 2021-11-18 | 2023-05-19 | 合肥本源量子计算科技有限责任公司 | 密文解密方法及相关设备 |
CN115658005A (zh) * | 2022-10-10 | 2023-01-31 | 南京大学 | 一种基于冗余的高精度低延时大整数除法加速装置 |
CN117034307A (zh) * | 2023-07-14 | 2023-11-10 | 中国电信股份有限公司技术创新中心 | 数据加密方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
吕由: "两方参与的隐私保护岭回归方案与应用", 《密码学报》, pages 276 - 287 * |
Also Published As
Publication number | Publication date |
---|---|
CN117353898B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dwarakanath et al. | Sampling from discrete Gaussians for lattice-based cryptography on a constrained device | |
US11551035B2 (en) | Machine learning based on homomorphic encryption | |
Li et al. | Novel image encryption algorithm based on improved logistic map | |
Liu et al. | Efficient and privacy-preserving outsourced calculation of rational numbers | |
Kim et al. | Private genome analysis through homomorphic encryption | |
Salinas et al. | Efficient secure outsourcing of large-scale linear systems of equations | |
CN110363030A (zh) | 用于执行基于格的密码操作的方法和处理设备 | |
KR101861089B1 (ko) | 근사 복소수 연산을 지원하는 복수 개의 메시지의 동형 암호화 방법 | |
US20200082738A1 (en) | Executing a cryptographic operation | |
Scholl et al. | Improved key generation for Gentry’s fully homomorphic encryption scheme | |
CN111984990B (zh) | 基于边缘计算的支持隐私保护的矩阵乘法任务外包方法 | |
CN111162894B (zh) | 具有隐私保护的外包云存储医疗数据聚合的统计分析方法 | |
CN110309674B (zh) | 一种基于全同态加密的排序方法 | |
US20110060901A1 (en) | Cryptographic System for Performing Secure Iterative Matrix Inversions and Solving Systems of Linear Equations | |
Liang et al. | The hybrid encryption algorithm of lightweight data in cloud storage | |
Zou et al. | Hybrid encryption algorithm based on AES and RSA in file encryption | |
WO2021252294A1 (en) | Protection of transformations by intermediate randomization in cryptographic operations | |
Chen et al. | When heaan meets fv: a new somewhat homomorphic encryption with reduced memory overhead | |
JP3794266B2 (ja) | 楕円曲線スカラー倍計算方法及び装置並びに記憶媒体 | |
CN113849828B (zh) | 经处理的数据的匿名生成和证明 | |
EP2947813B1 (en) | Decryption service providing device, processing device, safety evaluation device, program, and recording medium | |
Xiao et al. | Collision analysis of one kind of chaos-based hash function | |
CN117353898B (zh) | 用于浮点数明文的全同态加密方法、系统、终端及介质 | |
WO2022137447A1 (ja) | 秘匿情報処理システムおよび秘匿情報処理方法 | |
Blackledge et al. | Phase-only Digital Encryption using a Three-pass Protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |