当前位置: 首页 > 专利查询>郑珂威专利>正文

用于完全同态加密的精度控制及累计误差消除方法技术

技术编号:19436238 阅读:68 留言:0更新日期:2018-11-14 13:05
本发明专利技术公开了一种用于完全同态加密的精度控制及累计误差消除方法,通过对明文进行拆分;针对每一个组成部分进行加密并通过运算得到结果密文;对结果密文进行同态比较运算;通过比较运算结果进行保留操作或者进行进位及保留操作;通过解密和取整操作获得结果明文,实现对基于系数映射变换的多项式完全同态加密方法进行精度控制;这样操作后,运算结果密文的每一字节部分都可以控制在原方案的精度范围内,通过解密和取整操作之后,结果明文可以达到完全精确。单次密文运算精度可以达到完全精确,而任意次数连续密文运算的精度也可以达到完全精确。

【技术实现步骤摘要】
用于完全同态加密的精度控制及累计误差消除方法
本专利技术涉及信息安全
,尤其涉及一种用于完全同态加密的精度控制及累计误差消除方法。
技术介绍
中国专利201510192143.1中所提出的基于系数映射变换的多项式完全同态加密方法对密文数据进行运算其本质是一种近似运算,因此如何控制运算精度是一个重要的问题。尤其是在连续进行多次密文运算后,累计误差会逐步变大,以致结果密文在解密后显著偏离正确的取值,从而影响该方法和系统的实际使用。相比较于受到广泛学术研究的格上完全同态加密方法的精确运算特征,基于系数映射变换的多项式完全同态加密算法其密文运算采用了近似运算原理,从而可以在保证密文安全性的同时大大提升密文运算的整体效率,同时可以很好的控制密文的体积及其扩张速度,但与此同时,近似运算付出的代价则是精度的损失。单次密文同态运算的精度问题主要源于基于系数映射变换的多项式完全同态加密方法的原始方案的近似运算特征,其中运算支持函数的采样密度越高,则运算精度也越高,但是同时运算支持函数的体积则会急速扩张,对网络存储和传输都带来不利影响。但如果采用密度过低,则运算精度甚至无法满足低有效位数密文的单次运算需要。因此,这里的运算精度和运算资源(存储空间和计算时间)是互斥的一对参数。
技术实现思路
鉴于目前存在的上述不足,本专利技术提供一种用于完全同态加密的精度控制及累计误差消除方法,能够在同等采样密度的基础上,单次密文运算精度可以达到完全精确,而任意次数连续密文运算的精度也可以达到完全精确。为达到上述目的,本专利技术的实施例采用如下技术方案:一种用于完全同态加密的精度控制方法,所述用于完全同态加密的精度控制方法包括以下步骤:对明文进行拆分;针对每一个组成部分进行加密并通过运算得到结果密文;对结果密文进行同态比较运算;通过比较运算结果进行保留操作或者进行进位及保留操作;通过解密和取整操作获得结果明文。优选地,所述对明文进行拆分具体为:将明文表达成二进制后,按字节进行拆分,得到若干个组成部分P,P满足下式,P={PM,PE}PM={PM1,PM2,...,PMn},PMi∈[1,n]∈[0,256]PE={PE1,PE2,...,PEn},PEi∈[1,n]∈[0,256]。当P为整数时,P={P1,P2,...,Pn},Pi∈[1,n]∈[0,256]。优选地,所述针对每一个组成部分进行加密并通过运算得到结果密文包括:对每一个组成部分进行加密得到密文,Enc(P,key)={Enc(P1,key),Enc(P2,key),...,Enc(Pn,key)}={C1,C2,...,Cn};进行加法或者乘法运算时,先分别针对密文的每个部分进行运算,然后再将各个部分的运算结果组成结果密文,{C11,C12,...,C1n}+{C21,C22,...,C2m}={C11+C21,C12+C22,...,C1n+C2n,C2n+1,...,C2m}n<m{C11,C12,...,C1n}×{C21,C22,...,C2m}={C11·C21,C11C22+C12C21,C11C23+C12C22+C13C21,...,C2m}。n<m优选地,所述对结果密文进行同态比较运算包括:预设一比较运算分辨率,对结果的每个组成部分进行比较,可以得知每个组成部分运算结果是否大于比较运算分辨率。优选地,所述通过比较运算结果进行保留操作或者进行进位及保留操作包括:如果小于比较运算分辨率,则这部分保留;如果大于比较运算分辨率,则进行进位操作,具体为,使用公钥加密的方式,得到符合比较运算分辨率的密文,然后使用同态减法操作将待规约的密文反复减去比较运算分辨率,直至结果小于比较运算分辨率为止。然后将得到的进位数通过公钥加密后加到高位的密文上即可。一种用于完全同态加密的累计误差消除方法,所述用于完全同态加密的累计误差消除方法包括以下步骤:对明文进行拆分;针对每一个组成部分进行加密并通过运算得到结果密文;对结果密文进行同态比较运算;通过比较运算结果进行保留操作或者进行进位及保留操作;在密文状态下进行同态取整操作;通过解密和取整操作获得结果明文。优选地,所述对明文进行拆分具体为:将明文表达成二进制后,按字节进行拆分,得到若干个组成部分P={P1,P2,...,Pn},Pi∈[1,n]∈[0,256]。优选地,所述针对每一个组成部分进行加密并通过运算得到结果密文包括:对每一个组成部分进行加密得到密文,Enc(P,key)={Enc(P1,key),Enc(P2,key),...,Enc(Pn,key)}={C1,C2,...,Cn};进行加法或者乘法运算时,先分别针对密文的每个部分进行运算,然后再将各个部分的运算结果组成结果密文,{C11,C12,...,C1n}+{C21,C22,...,C2m}={C11+C21,C12+C22,...,C1n+C2n,C2n+1,...,C2m}n<m{C11,C12,...,C1n}×{C21,C22,...,C2m}={C11·C21,C11C22+C12C21,C11C23+C12C22+C13C21,...,C2m}。n<m优选地,所述对结果密文进行同态比较运算包括:预设一比较运算分辨率,对结果的每个组成部分进行比较,可以得知每个组成部分运算结果是否大于比较运算分辨率。优选地,所述通过比较运算结果进行保留操作或者进行进位及保留操作包括:如果小于比较运算分辨率,则这部分保留;如果大于比较运算分辨率,则进行进位操作,具体为,使用公钥加密的方式,得到符合比较运算分辨率的密文,然后使用同态减法操作将待规约的密文反复减去比较运算分辨率,直至结果小于比较运算分辨率为止。然后将得到的进位数通过公钥加密后加到高位的密文上即可。优选地,所述在密文状态下进行同态取整操作包括:利用高斯函数的取整特性,结合运算支持函数,计算得到密文的小数部分,再利用同态减法获得密文取整。优选地,所述高斯函数表达式如下:其结果是变量x的小数部分。当I=2时,基于系数映射变化的完全同态加密算法得到的密文可以表达为:将该密文表达式代入所述述高斯方程可得:式中G为高斯函数,C为密文,ai为分项系数,明文一部分,f1为函数密钥部分的第一个函数,密钥的一部分,f2为函数密钥部分的第二个函数,密钥的一部分,xi为第一密钥函数的自变量,明文一部分,yi为第二密钥函数的自变量,明文一部分,zi为多项式密钥部分的分项,密钥的一部分;通过同态三角函数运算和同态反三角函数运算,求解得到高斯函数的结果密文CG,即输入密文C的小数部分。优选地,通过一次同态减法运算,得到Cfinal=C-CG这里的Cfinal就是经过同态取整运算的结果密文。本专利技术实施的优点:通过对明文进行拆分;针对每一个组成部分进行加密并通过运算得到结果密文;对结果密文进行同态比较运算;通过比较运算结果进行保留操作或者进行进位及保留操作;通过解密和取整操作获得结果明文,实现对基于系数映射变换的多项式完全同态加密方法进行精度控制;这样操作后,运算结果密文的每一字节部分都可以控制在原方案的精度范围内,通过解密和取整操作之后,结果明文可以达到完全精确。每次密文同态运算之后都需要进行同态取整运算,这样就可以保证每一步的结果密文精度本文档来自技高网...

【技术保护点】
1.一种用于完全同态加密的精度控制方法,其特征在于,所述用于完全同态加密的精度控制方法包括以下步骤:对明文进行拆分;针对每一个组成部分进行加密并通过运算得到结果密文;对结果密文进行同态比较运算;通过比较运算结果进行保留操作或者进行进位及保留操作;通过解密和取整操作获得结果明文。

【技术特征摘要】
1.一种用于完全同态加密的精度控制方法,其特征在于,所述用于完全同态加密的精度控制方法包括以下步骤:对明文进行拆分;针对每一个组成部分进行加密并通过运算得到结果密文;对结果密文进行同态比较运算;通过比较运算结果进行保留操作或者进行进位及保留操作;通过解密和取整操作获得结果明文。2.根据权利要求1所述的用于完全同态加密的精度控制方法,其特征在于,所述对明文进行拆分具体为:将明文表达成二进制后,按字节进行拆分,得到若干个组成部分P,P满足P={PM,PE}PM={PM1,PM2,...,PMn},PMi∈[1,n]∈[0,256]PE={PE1,PE2,...,PEn},PEi∈[1,n]∈[0,256]。3.根据权利要求2所述的用于完全同态加密的精度控制方法,其特征在于,所述针对每一个组成部分进行加密并通过运算得到结果密文包括:对每一个组成部分进行加密得到密文,Enc(P,key)={Enc(P1,key),Enc(P2,key),...,Enc(Pn,key)}={C1,C2,...,Cn};进行加法或者乘法运算时,先分别针对密文的每个部分进行运算,然后再将各个部分的运算结果组成结果密文,{C11,C12,...,C1n}+{C21,C22,...,C2m}={C11+C21,C12+C22,...,C1n+C2n,C2n+1,...,C2m}n<m{C11,C12,...,C1n}×{C21,C22,...,C2m}={C11·C21,C11C22+C12C21,C11C23+C12C22+C13C21,...,C2m}。n<m4.根据权利要求3所述的用于完全同态加密的精度控制方法,其特征在于,包括:预设一比较运算分辨率,对结果的每个组成部分进行比较,可以得知每个组成部分运算结果是否大于比较运算分辨率,如果小于比较运算分辨率,则这部分保留;如果大于比较运算分辨率,则进行进位操作,具体为,使用公钥加密的方式,得到符合比较运算分辨率的密文,然后使用同态减法操作将待规约的密文反复减去比较运算分辨率,直至结果小于比较运算分辨率为止;然后将得到的进位数通过公钥加密后加到高位的密文上即可。5.一种用于完全同态加密的累计误差消除方法,其特征在于,所述用于完全同态加密的累计误差消除方法包括以下步骤:对明文进行拆分;针对每一个组成部分进行加密并通过运算得到结果密文;对结果密文进行同态比较运算;通过比较运算结果进行保留操作或者进行进位及保留操作;在密文状态下进行同态取整操作;通过解密和取整操作获得结果明文。6.根据权利要求5所述的用于完全同态加密的累计误差消除方法,其特征在于,所述对明文进行拆分具体为:将明文表...

【专利技术属性】
技术研发人员:郑珂威
申请(专利权)人:郑珂威
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1