CN107147484B - 一种面向隐私保护的浮点数全同态加密方法 - Google Patents

一种面向隐私保护的浮点数全同态加密方法 Download PDF

Info

Publication number
CN107147484B
CN107147484B CN201710333013.4A CN201710333013A CN107147484B CN 107147484 B CN107147484 B CN 107147484B CN 201710333013 A CN201710333013 A CN 201710333013A CN 107147484 B CN107147484 B CN 107147484B
Authority
CN
China
Prior art keywords
ciphertext
equal
homomorphic encryption
public key
floating point
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.)
Active
Application number
CN201710333013.4A
Other languages
English (en)
Other versions
CN107147484A (zh
Inventor
杨庚
白双杰
史经启
朱向洋
刘国秀
许建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN201710333013.4A priority Critical patent/CN107147484B/zh
Publication of CN107147484A publication Critical patent/CN107147484A/zh
Application granted granted Critical
Publication of CN107147484B publication Critical patent/CN107147484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

本发明提出了一种面向隐私保护的浮点数全同态加密方法,包含了密钥生成,部分同态加密、全同态加密步骤。在密钥生成阶段,生成随机私钥,结合伪随机函数用私钥生成公钥元素,生成随机噪声;在部分同态加密过程中,通过公钥和明文进行运算,实现明文数据的部分同态加密;在全同态加密过程中,生成新参数,将新参数与部分同态加密后的密文进行运算,得到扩展密文,然后利用同态解密刷新原密文,生成噪声更小的新密文,从而实现全同态加密。与现有技术相比,本发明可应用的数据类型丰富,同时在不泄露隐私的前提下,实现对数据的安全计算。

Description

一种面向隐私保护的浮点数全同态加密方法
技术领域
本发明涉及一种适用于云计算环境的浮点数全同态加密方法,属于信息安全技术领域。
背景技术
云服务为广大用户提供了广大的存储空间和强大的计算能力,但在人们享受便利的同时,隐私安全问题随之而来,这被认为是云环境下最大的挑战。研究者们一直在寻求构造一种既能充分利用云端强大的计算能力和存储空间,又能有效保护数据安全的方案。
同态加密与云环境中数据的机密性保护密切相关,是解决云环境中隐私保护问题的关键技术。公开号为106452723A的发明专利申请,公开了一种基于模运算的全同态加密处理方法,包括以下步骤:获取加密过程中任意数值数据类型的明文,并根据加密需要将其转换为对应的进制位明文,对得到的进制位明文中的各个数进行加密运算,将加密运算得到的密文进行组合,从而得到对应的密文组合,采用基于模加密的密文原码、密文反码和密文补码对得到的密文组合进行加减乘除密文运算,利用模除法对获取的密文运算结果进行解密,以获得解密后的明文。该方案能够解决现有的基于模运算的全同态加密处理方法中,由于密文乘法噪音难以控制,以及密文加法的结果等于进制时密文求和的结果在解密过程中出错所导致的加密结果无法被正确解密的技术问题。
另有公开号为103259643B的发明专利申请,公开了一种矩阵全同态加密算法,包括:1)初始化模块:根据待加密矩阵的维数、加密类型和矩阵元素值的范围,来生成加密、解密所需的密钥;2)加密模块:根据给定的明文矩阵,使用加密算法和密钥对明文矩阵进行加密,输出密文矩阵;3)解密模块:根据给定的密文矩阵,使用密钥和解密算法对密文矩阵进行解密,输出明文矩阵;4)矩阵全同态模块:矩阵的加法和乘法运算都满足矩阵同态的性质,矩阵加法和乘法产生的输出仍然满足同态的性质,即满足矩阵全同态的性质。该方案一是能够满足安全性需求;二是满足矩阵全同态的要求;三是明显提高了密文矩阵的运算速度。
但是以上方案虽然在一定程度上满足了安全性的需求,但是可应用的数据类型不广。
发明内容
本发明所要解决的技术问题是:针对如今对于安全计算的需求,提出了一种可应用于云计算环境的浮点数全同态加密方法,通过对浮点数加密,增加方法可应用的数据类型,同时在不泄露隐私的前提下,实现对数据的安全计算。
本发明为解决上述技术问题采用以下技术方案:
一种面向隐私保护的浮点数全同态加密方法,包括如下步骤:
(1)将待加密的浮点数表示为正规表达式,并将浮点数正规表达式的有效数转换为二进制的比特位明文数据;
(2)生成随机私钥,结合伪随机函数用私钥定义公钥元素,并根据生成的随机噪声参数计算出公钥;
(3)利用随机整数矩阵和公钥对明文进行运算,实现对明文数据的部分同态加密;
(4)根据步骤(2)生成新的密钥参数,将新密钥参数与步骤(3)部分同态加密的密文进行运算,实现密文的扩展;然后利用同态解密刷新原密文,生成噪声更小的新密文,从而实现全同态加密。
进一步的,作为本发明的浮点数全同态加密方法,步骤(1)具体如下:
记fl为要加密的任意浮点数,则用四个整数表示fl,即为:
fl=(-1)s′·sig·2e-k (1)
其中s′表示符号位,当s′=0时,fl为正数,当s′=1时,fl为负数;e表示指数,用于控制浮点数的数值范围大小;k表示精度,即为浮点数的有效位数,用于控制浮点数的精度大小;sig表示有效数,满足2k-1≤sig≤2k-1,且sig为整数;
在浮点数fl以正规表达式表示的基础上,将有效数sig转化为二进制比特位形式,记为:
sig=d1d2…dk (2);
其中d1、d2、…、dk代表明文元素。
进一步的,作为本发明的浮点数全同态加密方法,步骤(2)具体为:
令μ2表示私钥的个数,η表示每个私钥的比特位数,生成μ2个η比特的随机素数{pu,v}1≤u,v≤μ,即为
Figure BDA0001293053120000021
其中
Figure BDA0001293053120000022
表示整数集合;
令π表示私钥的乘积,即为π=Π1≤u,v≤μpu,v
令γ表示公钥元素的比特位数,定义公钥元素φ0为φ0=q0·π,其中
Figure BDA0001293053120000023
若X,Y表示任意整数,则定义模运算XmodY∈(-Y/2,Y/2);
令ri,b,u,v,ωi,b,u,v,σi,b,u,v分别为三个噪声参数,ρ为噪声参数的比特位数;
对于噪声参数
Figure BDA0001293053120000024
第一个公钥元素φi,b计算方法如下:
φi,bmod pu,v=ri,b,u,v (3)
其中1≤i≤β,0≤b≤1,1≤u,v≤μ,β为第一个公钥元素φi,0或φi,1的个数;
对于噪声参数
Figure BDA0001293053120000025
第二个公钥元素Πi,b计算方法如下:
Πi,bmod pu,v=2ωi,b,u,vi,b,u,v·2ρ+1 (4)
对于噪声参数
Figure BDA0001293053120000031
第三个公钥元素χi,b计算方法如下:
χi,b mod pu,v=2σi,b,u,vi,b,u,v (5)
其中1≤i≤μ,0≤b≤1,1≤u,v≤μ,函数δi,b,u,v定义如下:
Figure BDA0001293053120000032
令私钥集合为sk,则sk={pu,v}1≤u,v≤μ,公钥集合为pk,则
pk=<φ0,(φi,b)1≤i≤β,0≤b≤1,(Πi,b)1≤i≤μ,0≤b≤1,(χi,b)1≤i≤μ,0≤b≤1> (7)。
进一步的,作为本发明的浮点数全同态加密方法,步骤(3)具体如下:
令A,A′为随机整数矩阵,生成规则如下:
Figure BDA0001293053120000033
其中ai,j,a′i,j∈(-2η,2η),
根据步骤(2)生成的密钥和参数,对(2)式中的明文s进行加密,将明文元素d1、d2、…、dk打包存入矩阵M=[mi,j]1≤i,j≤μ,将明文mi,j加密,得到如下密文:
Figure BDA0001293053120000034
解密过程为:
Figure BDA0001293053120000035
1≤i,j≤μ,
Figure BDA0001293053120000036
为异或运算符。
进一步的,作为本发明的浮点数全同态加密方法,步骤(4)具体如下:
A、按照步骤(2)中的规则生成私钥sk={pu,v}1≤u,v≤μ和公钥pk,具体包括:
若fl为任意浮点数,则运算[fl]表示fl四舍五入后的整数;生成μ2个Θ比特的二进制私钥向量Su,v={su,v,0,…,su,v,Θ-1},1≤u,v≤μ,Θ为向量Su,v中元素的个数;
令每个私钥向量的汉明重量为θ,即向量中有θ个元素为1,Θ-θ个元素为0;令
Figure BDA0001293053120000037
随机选取Θ个整数ui∈[0,2γ+3),i=0,…,Θ-1,对于1≤u,v≤μ,使其满足:
Figure BDA0001293053120000041
令向量y=(y0,…,yΘ-1),其中yi=ui/2γ+2,因此yi,0≤i≤Θ-1均为小于2的有理正数,且二进制为精度均为γ+2,于是有下式成立:
Figure BDA0001293053120000042
其中εu,v为误差参数,且满足|εu,v|<2-(γ+2)
则私钥sk*为sk*={Su,v}1≤u,v≤μ,公钥pk*为pk*=(pk,y0,y1,…,yΘ-1);
B、在步骤(3)加密的基础上,将密文扩展:令zi=c·yi mod 2,i=0,…,Θ-1,令zi的二进制精度为
Figure BDA0001293053120000043
比特,若fl为任意浮点数,则运算
Figure BDA0001293053120000044
表示比fl大的最小整数,输出的密文为(c,z0,…zΘ-1);
该密文的解密过程如下:
Figure BDA0001293053120000045
将私钥su,v,i用步骤(3)的部分同态加密方法,加密为密文αu,v,i,即为:
Figure BDA0001293053120000046
C、将该私钥的密文放入上述公式(13)中与密文计算,即可得到噪声更小的新密文,使同态计算能一直持续下去。
进一步的,作为本发明的浮点数全同态加密方法,还包括同态性的验证步骤:
将明文mi,j,m′i,j分别加密为:
Figure BDA0001293053120000047
验证加法满足同态性:
[(c+c′)mod pi,j]2=mi,j+m′i,j (16)
验证乘法满足同态性:
[(c·c′)mod pi,j]2=mi,j·m′i,j (17)。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明解决了云计算实际应用过程中要解决的两个问题:一是在数据保证机密性要求的前提下,云端服务器能够直接对密文进行运算。二是针对如今数据量巨大,数据类型丰富的现状,该方法支持对于浮点数的同态加密,更加适用于一般情况。
附图说明
图1是本发明的方法整体流程图。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
本技术领域技术人员可以理解的是,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明针对如今对于安全计算的需求,提出了一种可应用于云计算环境的浮点数全同态加密方法,在密钥生成阶段,生成随机私钥,结合伪随机函数用私钥生成公钥元素,生成随机噪声;在SomeWhat同态加密过程中,通过公钥和明文进行运算,实现明文数据的部分同态加密;在全同态加密过程中,生成新参数,将新参数与部分同态加密的密文进行运算,实现密文的扩展,然后利用同态解密刷新原密文,生成噪声更小的新密文,从而实现全同态加密。
如图1所示,本发明具体包括以下步骤:
步骤一:浮点数的正规化表达式
记fl为要加密的任意浮点数,则fl可以用四个整数表示,即为:
fl=(-1)s′·sig·2e-k (1)
其中s′表示符号位,当s′=0时,fl为正数,当s′=1时,fl为负数;e表示指数,控制浮点数的数值范围大小;k表示精度,即为浮点数的有效位数,控制浮点数的精度大小;sig表示有效数,满足2k-1≤sig≤2k-1,且sig为整数。
步骤二:将十进制明文转化为二进制的比特位明文
在浮点数fl以正规表达式表示的基础上,将整数sig转化为二进制比特位形式,记为:
sig=d1d2…dk (2)
步骤三:对明文数据实现部分同态加密
首先生成密钥。令μ2表示私钥的个数,η表示每个私钥的比特位数,生成μ2个η比特的随机素数{pu,v}1≤u,v≤μ,即为
Figure BDA0001293053120000061
其中
Figure BDA0001293053120000062
表示整数集合。令π表示私钥的乘积,即为π=∏1≤u,v≤μpu,v。令γ表示公钥元素的比特位数,定义公钥元素φ0为φ0=q0·π,其中若X,Y表示任意整数,则定义模运算XmodY∈(-Y/2,Y/2)。
令ri,b,u,v,ωi,b,u,v,σi,b,u,v分别为三个噪声参数,ρ为噪声参数的比特位数。
对于噪声参数
Figure BDA0001293053120000064
第一个公钥元素φi,b计算方法如下:
φi,bmod pu,v=ri,b,u,v (3)
其中1≤i≤β,0≤b≤1,1≤u,v≤μ。β为第一个公钥元素φi,0或φi,1的个数。
对于噪声参数
Figure BDA0001293053120000065
第二个公钥元素Πi,b计算方法如下:
Πi,bmod pu,v=2ωi,b,u,vi,b,u,v·2ρ+1 (4)
对于噪声参数
Figure BDA0001293053120000066
第三个公钥元素χi,b计算方法如下:
χi,b mod pu,v=2σi,b,u,vi,b,u,v (5)
其中1≤i≤μ,0≤b≤1,1≤u,v≤μ,函数δi,b,u,v定义如下:
Figure BDA0001293053120000067
令私钥集合为sk,则sk={pu,v}1≤u,v≤μ,公钥集合为pk,则
pk=<φ0,(φi,b)1≤i≤β,0≤b≤1,(Πi,b)1≤i≤μ,0≤b≤1,(χi,b)1≤i≤μ,0≤b≤1> (7)
令A,A′为随机整数矩阵,生成规则如下:
Figure BDA0001293053120000068
其中ai,j,a′i,j∈(-2η,2η)。
根据上面生成的密钥和参数,对(2)式中的明文s进行加密,将明文元素d1、d2、…、dk打包存入矩阵M=[mi,j]1≤i,j≤μ,将明文mi,j加密,得到如下密文:
Figure BDA0001293053120000069
解密过程为:
Figure BDA00012930531200000610
1≤i,j≤μ,
Figure BDA0001293053120000071
为异或运算符。部分同态加密后的密文所含噪声较大,在进行有限次运算后,会导致噪声溢出,解密失败,因此需要步骤四压缩解密电路。
步骤四:压缩解密电路,实现全同态加密
在步骤三的基础上,生成新的密钥和参数。首先按照步骤三中部分同态加密方案的规则生成私钥sk={pu,v}1≤u,v≤μ和公钥pk。若fl为任意浮点数,则运算[fl]表示fl四舍五入后的整数。生成μ2个Θ比特的二进制私钥向量Su,v={su,v,0,…,su,v,Θ-1},1≤u,v≤μ,Θ为向量Su,v中元素的个数。令每个私钥向量的汉明重量为θ,即向量中有θ个元素为1,Θ-θ个元素为0。令
Figure BDA0001293053120000072
随机选取Θ个整数ui∈[0,2γ+3),i=0,…,Θ-1,对于1≤u,v≤μ,使其满足:
Figure BDA0001293053120000073
令向量y=(y0,…,yΘ-1),其中yi=ui/2γ+2,因此yi,0≤i≤Θ-1均为小于2的有理正数,且二进制为精度均为γ+2。于是有下式成立:
Figure BDA0001293053120000074
其中εu,v为误差参数,且满足|εu,v|<2-(γ+2)
则私钥sk*为sk*={Su,v}1≤u,v≤μ,公钥pk*为pk*=(pk,y0,y1,…,yΘ-1)。
在步骤三加密的基础上,将密文扩展,令zi=c·yi mod 2,i=0,…,Θ-1,令zi的二进制精度为
Figure BDA0001293053120000075
比特,若fl为任意浮点数,则运算
Figure BDA0001293053120000076
表示比fl大的最小整数。输出的密文为(c,z0,…zΘ-1)。
该密文的解密过程如下:
Figure BDA0001293053120000077
将私钥su,v,i用步骤三的部分同态加密方法,加密为密文αu,v,i,即为:
Figure BDA0001293053120000078
将该私钥的密文放入上述的解密电路中与密文计算,即可得到噪声较小的新密文,使同态计算可以一直持续下去。
步骤五:同态性的验证
明文mi,j,m′i,j分别加密为:
Figure BDA0001293053120000081
加法满足同态性:
[(c+c′)mod pi,j]2=mi,j+m′i,j (16)
乘法满足同态性:
[(c·c′)mod pi,j]2=mi,j·m′i,j (17)
综上所述,本发明首先将浮点数表示为正规表达式,然后将其进行部分同态加密,压缩解密电路,实现全同态加密。再上传到云环境中,供使用者使用,在数据保密的基础上,实现对数据的安全计算。
以下结合具体实例对本发明的原理做进一步说明:
步骤一:浮点数的正规化表达式
令浮点数x为2.25,即x=2.25,精度为20,即k=20。则x可用正规表达式表示为:
x=(-1)0·9·220·2-2-20 (18)
步骤二:十进制明文转化位二进制比特位
将表达式中的有效数部分转化为二进制形式,即
Figure BDA0001293053120000082
由于该浮点数的精度要求较低,也为了更加方便的演示加密过程,将表达式简化为:
x=(-1)0·9·2-2 (19)
则二进制明文为9=1001。
步骤三:对密文数据实现部分同态加密
首先生成密钥。生成随机素数p1,1=11,p1,2=13,p2,1=17,p2,2=19作为私钥,π表示它们的乘积,即π=p1,1·p1,2·p2,1·p2,2=46189,令q0=23,则无差错公钥元素φ0=q0·π=1062347,γ=20。将明文1001分成两部分[0,0]、[1,1],用私钥p1,1加密[0,0],用私钥p1,2加密[1,1]。由以上参数计算第一类公钥元素:
Figure BDA0001293053120000091
由于第二类公钥元素需要满足[Πi,b mod p1,i]2=0,i=1,2,b=1,2,所以有:Π1,0=13,Π1,1=132,Π2,0=143,Π2,1=145。
第三类公钥元素需要满足以下条件:
Figure BDA0001293053120000092
所以有χ1,0=78,χ1,1=221,χ2,0=66,χ2,1=209。
由p1,1加密的明文[0,0]打包加密为密文c1,由p1,2加密的明文[1,1]打包加密为密文c2。生成随机整数矩阵A=(a1,a2)=(1,1),A′=(a1′,a2′)=(1,1),则可得密文如下:
Figure BDA0001293053120000093
将c1,c2解密可得:
Figure BDA0001293053120000094
解密正确。
步骤四:压缩解密电路,实现全同态加密
在步骤三已有参数的基础上,生成新的参数,θ=2,Θ=4,γ=20,令
Figure BDA0001293053120000095
Figure BDA0001293053120000101
随机选取2个Θ比特的二进制向量S1,1={1,1,0,0},S1,2={0,0,1,1}。随机选取Θ个整数ui∈[0,2κ+1),满足:
Figure BDA0001293053120000102
即381300=u0+u1mod 223,322639=u2+u3 mod 223,令
u0=4194304,u1=4575604,u2=4194304,u3=4516943 (25)
可得公钥元素
Figure BDA0001293053120000103
将步骤三中的密文c1,c2扩展
Figure BDA0001293053120000104
zi,j小数点后的二进制精度为2比特,其中i=1,2,j=0,1,2,3。
则扩展后的密文为(-467324,0.00,0.00,0.00,0.00),(-436292,0.00,1.00,0.00,1.00)。
将扩展密文解密可得:
Figure BDA0001293053120000105
解密正确。
利用解密电路同态解密,刷新密文,降低密文噪声。首先将私钥向量S1,1,S1,2加密,可得S1,1的密文向量为(-436292,-436292,-467324,-467324),S1,2的密文向量为(-467324,-467324,-436292,-436292)。输入解密电路可得新密文分别为:
Figure BDA0001293053120000106
将新密文解密可得:
Figure BDA0001293053120000111
解密正确。
步骤五:同态性的验证
加法满足同态性:
[(c1′+c3′)mod p1]2=m1+m3=1 (30)
乘法满足同态性:
[(c1′·c3′)mod p1]2=m1·m3=0 (31)
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种面向隐私保护的浮点数全同态加密方法,其特征在于,包括:
(1)将待加密的浮点数表示为正规表达式,并将浮点数正规表达式的有效数转换为二进制的比特位明文数据;具体如下:
记fl为要加密的任意浮点数,则用四个整数表示fl,即为:
fl=(-1)s′·sig·2e-k (1)
其中s′表示符号位,当s′=0时,fl为正数,当s′=1时,fl为负数;e表示指数,用于控制浮点数的数值范围大小;k表示精度,即为浮点数的有效位数,用于控制浮点数的精度大小;sig表示有效数,满足2k-1≤sig≤2k-1,且sig为整数;
在浮点数fl以正规表达式表示的基础上,将有效数sig转化为二进制比特位形式,记为:
sig=d1d2…dk (2);
其中d1、d2、…、dk代表明文元素;
(2)生成随机私钥,结合伪随机函数用私钥定义公钥元素,并根据生成的随机噪声参数计算出公钥;具体为:
令μ2表示私钥的个数,η表示每个私钥的比特位数,生成μ2个η比特的随机素数{pu,v}1≤u,v≤μ,即为
Figure FDA0002240582400000011
其中
Figure FDA0002240582400000012
表示整数集合;
令π表示私钥的乘积,即为π=Π1≤u,v≤μpu,v
令γ表示公钥元素的比特位数,定义公钥元素φ0为φ0=q0·π,其中
Figure FDA0002240582400000013
若X,Y表示任意整数,则定义模运算X mod Y∈(-Y/2,Y/2);
令ri,b,u,v,ωi,b,u,v,σi,b,u,v分别为三个噪声参数,ρ为噪声参数的比特位数;
对于噪声参数
Figure FDA0002240582400000014
第一个公钥元素φi,b计算方法如下:
φi,b mod pu,v=ri,b,u,v (3)
其中1≤i≤β,0≤b≤1,1≤u,v≤μ,β为第一个公钥元素φi,0或φi,1的个数;
对于噪声参数
Figure FDA0002240582400000015
第二个公钥元素Πi,b计算方法如下:
Πi,b mod pu,v=2ωi,b,u,vi,b,u,v·2ρ+1 (4)
对于噪声参数
Figure FDA0002240582400000016
第三个公钥元素χi,b计算方法如下:
χi,b mod pu,v=2σi,b,u,vi,b,u,v (5)
其中1≤i≤μ,0≤b≤1,1≤u,v≤μ,函数δi,b,u,v定义如下:
Figure FDA0002240582400000021
令私钥集合为sk,则sk={pu,v}1≤u,v≤μ,公钥集合为pk,则
pk=<φ0,(φi,b)1≤i≤β,0≤b≤1,(Πi,b)1≤i≤μ,0≤b≤1,(χi,b)1≤i≤μ,0≤b≤1> (7);
(3)利用随机整数矩阵和公钥对明文进行运算,实现对明文数据的部分同态加密;
(4)根据步骤(2)生成新的密钥参数,将新密钥参数与步骤(3)部分同态加密的密文进行运算,实现密文的扩展;然后利用同态解密刷新原密文,生成噪声更小的新密文,从而实现全同态加密。
2.根据权利要求1所述的方法,其特征在于,步骤(3)具体如下:
令A,A′为随机整数矩阵,生成规则如下:
Figure FDA0002240582400000022
其中ai,j,a′i,j∈(-2η,2η),
根据步骤(2)生成的密钥和参数,对(2)式中的明文s进行加密,将明文元素d1、d2、…、dk打包存入矩阵M=[mi,j]1≤i,j≤μ,将明文mi,j加密,得到如下密文:
Figure FDA0002240582400000023
解密过程为:
Figure FDA0002240582400000024
1≤i,j≤μ,
Figure FDA0002240582400000025
为异或运算符。
3.根据权利要求2所述的方法,其特征在于,步骤(4)具体如下:
A、按照步骤(2)中的规则生成私钥sk={pu,v}1≤u,v≤μ和公钥pk,具体包括:
若fl为任意浮点数,则运算[fl]表示fl四舍五入后的整数;生成μ2个Θ比特的二进制私钥向量Su,v={su,v,0,…,su,v,Θ-1},1≤u,v≤μ,Θ为向量Su,v中元素的个数;
令每个私钥向量的汉明重量为θ,即向量中有θ个元素为1,Θ-θ个元素为0;令
Figure FDA0002240582400000026
随机选取Θ个整数ui∈[0,2γ+3),i=0,…,Θ-1,对于1≤u,v≤μ,使其满足:
Figure FDA0002240582400000027
令向量y=(y0,…,yΘ-1),其中yi=ui/2γ+2,因此yi,0≤i≤Θ-1均为小于2的有理正数,且二进制为精度均为γ+2,于是有下式成立:
Figure FDA0002240582400000031
其中εu,v为误差参数,且满足|εu,v|<2-(γ+2)
则私钥sk*为sk*={Su,v}1≤u,v≤μ,公钥pk*为pk*=(pk,y0,y1,…,yΘ-1);
B、在步骤(3)加密的基础上,将密文扩展:令zi=c·yi mod 2,i=0,…,Θ-1,令zi的二进制精度为
Figure FDA0002240582400000032
比特,若fl为任意浮点数,则运算
Figure FDA0002240582400000033
表示比fl大的最小整数,输出的密文为(c,z0,…zΘ-1);
该密文的解密过程如下:
Figure FDA0002240582400000034
将私钥su,v,i用步骤(3)的部分同态加密方法,加密为密文αu,v,i,即为:
Figure FDA0002240582400000035
C、将该私钥的密文放入上述公式(13)中与密文计算,即可得到噪声更小的新密文,使同态计算能一直持续下去。
4.根据权利要求3所述的方法,其特征在于,还包括同态性的验证步骤:
将明文mi,j,m′i,j分别加密为:
Figure FDA0002240582400000036
验证加法满足同态性:
[(c+c′)mod pi,j]2=mi,j+m′i,j (16)
验证乘法满足同态性:
[(c·c′)mod pi,j]2=mi,j·m′i,j (17)。
CN201710333013.4A 2017-05-12 2017-05-12 一种面向隐私保护的浮点数全同态加密方法 Active CN107147484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710333013.4A CN107147484B (zh) 2017-05-12 2017-05-12 一种面向隐私保护的浮点数全同态加密方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710333013.4A CN107147484B (zh) 2017-05-12 2017-05-12 一种面向隐私保护的浮点数全同态加密方法

Publications (2)

Publication Number Publication Date
CN107147484A CN107147484A (zh) 2017-09-08
CN107147484B true CN107147484B (zh) 2020-03-31

Family

ID=59776892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710333013.4A Active CN107147484B (zh) 2017-05-12 2017-05-12 一种面向隐私保护的浮点数全同态加密方法

Country Status (1)

Country Link
CN (1) CN107147484B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111526148B (zh) * 2020-04-26 2022-02-25 中山大学 一种云计算环境下加密音频的安全去噪系统及方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218774B (zh) * 2017-06-30 2020-10-16 武汉斗鱼网络科技有限公司 一种提高视频播放安全性的方法、服务器及计算机设备
CN107612675B (zh) * 2017-09-20 2020-09-25 电子科技大学 一种隐私保护下的广义线性回归方法
CN108111295B (zh) * 2017-12-15 2020-08-25 河海大学 一种基于类模运算的同态加密方法
CN108282328B (zh) * 2018-02-02 2021-03-12 沈阳航空航天大学 一种基于同态加密的密文统计方法
CN109361510B (zh) * 2018-11-07 2021-06-11 西安电子科技大学 一种支持溢出检测和大整数运算的信息处理方法及应用
CN109726567B (zh) * 2018-11-27 2023-08-01 南京邮电大学 一种基于全同态加密的移动目标加密方法
CN109861964B (zh) * 2018-11-30 2021-10-15 华为技术有限公司 数据分析方法、设备以及系统
CN109327304B (zh) * 2018-12-18 2022-02-01 武汉大学 一种云计算中实现隐私保护的轻量级同态加密方法
CN109787743B (zh) * 2019-01-17 2022-06-14 广西大学 一种基于矩阵运算的可验证的全同态加密方法
CN109889320B (zh) * 2019-01-24 2022-04-15 中国人民武装警察部队工程大学 一种bgv型多密钥全同态加密方法
CN110176983B (zh) * 2019-05-22 2021-09-03 西安电子科技大学 基于全同态加密的隐私保护关联规则挖掘方法
CN110912713B (zh) * 2019-12-20 2023-06-23 支付宝(杭州)信息技术有限公司 多方联合进行模型数据处理的方法及装置
CN111865555B (zh) * 2020-07-09 2023-08-22 暨南大学 一种基于k-Lin假设的同态加密方法
CN112231718B (zh) * 2020-07-13 2024-03-12 广发银行股份有限公司 数据加密处理方法、装置、计算机设备和存储介质
WO2022035909A1 (en) 2020-08-10 2022-02-17 X-Logos, LLC Methods for somewhat homomorphic encryption and key updates based on geometric algebra for distributed ledger technology
CN112152777B (zh) * 2020-08-18 2022-04-22 西安交通大学 一种面向同态密码运算的密钥转换方法、系统、设备及可读存储介质
WO2022061184A2 (en) * 2020-09-17 2022-03-24 X-Logos, LLC Methods and systems for encrypting rational numbers and adding randomness to rsa cryptosystems using p-adic numbers
CN112948795B (zh) * 2021-02-19 2022-04-12 支付宝(杭州)信息技术有限公司 保护隐私的身份认证方法及装置
CN113704833B (zh) * 2021-08-27 2022-12-09 西安交通大学 一种基于全连接层全同态加密运算的加速器安全分类方法
CN113553610B (zh) * 2021-09-22 2021-12-31 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) 基于同态加密和可信硬件的多方隐私保护机器学习方法
CN114124349B (zh) * 2021-11-19 2024-04-09 北京数牍科技有限公司 一种用于同态加密方案的快速解密方法
CN115001741B (zh) * 2022-04-22 2024-02-23 山东云海国创云计算装备产业创新中心有限公司 一种数据加密方法及相关组件
CN116455575B (zh) * 2023-06-16 2023-10-10 北京天润基业科技发展股份有限公司 一种密钥生成、加密、解密方法、电子设备及存储介质
CN116719502B (zh) * 2023-08-11 2023-10-20 蓝象智联(杭州)科技有限公司 一种基于隐私保护的数据相减运算方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314580A (zh) * 2011-09-20 2012-01-11 西安交通大学 一种基于向量和矩阵运算的支持计算的加密方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6792142B1 (en) * 2001-01-16 2004-09-14 Micron Technology, Inc. Image sensing system with histogram modification

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314580A (zh) * 2011-09-20 2012-01-11 西安交通大学 一种基于向量和矩阵运算的支持计算的加密方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Floating-Point Homomorphic Encryption;Jung Hee Cheon,Andrey Kim,et al.;《IACR 》;20161231;第1-3页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111526148B (zh) * 2020-04-26 2022-02-25 中山大学 一种云计算环境下加密音频的安全去噪系统及方法

Also Published As

Publication number Publication date
CN107147484A (zh) 2017-09-08

Similar Documents

Publication Publication Date Title
CN107147484B (zh) 一种面向隐私保护的浮点数全同态加密方法
CN103259643B (zh) 一种矩阵全同态加密方法
JP6083234B2 (ja) 暗号処理装置
US8121294B2 (en) System and method for a derivation function for key per page
CN104320393B (zh) 重加密可控的高效属性基代理重加密方法
JP7031580B2 (ja) 暗号化装置、暗号化方法、復号化装置、及び復号化方法
JP6575532B2 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
Agrawal et al. Elliptic curve cryptography with hill cipher generation for secure text cryptosystem
CN111314050A (zh) 一种加解密方法及装置
CN105933101B (zh) 一种基于参数高次偏移的全同态加密公钥压缩方法
WO2019043921A1 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、暗号化プログラム及び復号プログラム
CN103812658A (zh) 一种基于流密码的安全通信协议
CN111817853B (zh) 一种后量子安全的签密算法
US20230134515A1 (en) Authentication encryption device, authentication decryption device, authentication encryption method, authentication decryption method, and storage medium
Singh et al. Study & analysis of cryptography algorithms: RSA, AES, DES, T-DES, blowfish
JP5103407B2 (ja) 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム
Kumar et al. A comparative analysis of encryption algorithms for better utilization
Nakahara Jr Lai-Massey Cipher Designs: History, Design Criteria and Cryptanalysis
CN111314051A (zh) 一种加解密方法和装置
Dubinsky Cryptography for Payment Professionals
CN115865531B (zh) 一种代理重加密数字资产授权方法
Moldovyan et al. On some applications of quasigroups in cryptography
JP7136226B2 (ja) 認証暗号化装置、認証復号装置、認証暗号化方法、認証復号方法、認証暗号化プログラムおよび認証復号プログラム
Yadav et al. Hybrid cryptography approach to secure the data in computing environment
Tripathi et al. Cryptography and Associated Aspects

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