System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于整数自举的环面全同态加密算法的数据处理方法技术_技高网

基于整数自举的环面全同态加密算法的数据处理方法技术

技术编号:40938841 阅读:2 留言:0更新日期:2024-04-18 14:57
本发明专利技术公开了一种基于整数自举的环面全同态加密算法的数据处理方法,方法为:客户端根据安全参数调用密钥生成算法生成自身密钥、自举密钥和转换密钥,并将自举密钥和转换密钥发送给云端服务器,自身密钥本地保存;客户端调用加密算法使用自身密钥对明文数据进行加密操作得到密文传输给云端服务器;云端服务器根据客户端提供的评估函数、自举密钥及转换密钥对密文执行评估算法得到密文状态下的评估结果发回客户端;客户端根据自身密钥调用解密算法对密文状态下的评估结果进行解密操作获得明文数据的评估结果。本发明专利技术重新设计自举算法实现支持整数级数据的自举算法,大大提高了计算效率;同时支持整数级数据的非线性函数运算,减少了方案复杂度。

【技术实现步骤摘要】

本专利技术属于数据安全及数据处理的,具体涉及基于整数自举的环面全同态加密算法的数据处理方法


技术介绍

1、同态加密的思想最早可以追溯到1978年,指的是对经过同态加密的数据进行同态运算得到一个输出,将这一输出进行解密,其结果与用同一方法处理未加密的原始数据得到的输出结果相同。可以将这一过程简单理解为同态加密可在密文下进行运算,这一性质使得同态加密非常适用于云计算模式下的隐私保护。将同态加密运用在云计算模式中,能将数据处理权与数据所有权分离,客户端拥有数据所有权,云服务器拥有数据处理权。客户端将本地隐私数据加密后上传云服务器,云服务器可以对密文进行大规模运算,将密文运算结果发送回客户端,客户端解密后可获得运算后的结果,这样客户端可以防止隐私数据泄露的同时,利用云服务器的算力。

2、全同态加密指的是能进行加法同态加密和乘法同态加密的加密方案,而环面全同态加密是目前最常用、最快的全同态加密方案,其将消息空间拓展到环面,能对布尔类型数据同态进行门运算。但也存在着相应的缺陷:一方面,由于环面全同态加密方案只支持对比特级的布尔类型数据进行同态运算,故对于整数数据需要编码成多个比特,逐比特运算,而每次运算都需要进行自举算法,非常耗时;另一方面,环面全同态加密方案为了保证安全性,防止被恶意敌手解密,因此加密时引入了概率性噪声,由此使得噪声在评估函数中会急剧增大,导致解密失败。

3、现有技术中,有研究者提出一种布尔级环面全同态加密方案,其是一种基于环面的全同态加密方案,针对布尔级数据进行门运算,能够在进行门运算的同时进行自举;虽然该方案能够通过门运算实现relu、max等非线性运算,但只能支持布尔级数据,对于整数级数据需要编码成比特串进行逐比特同态运算,效率低下;并且通过门运算实现relu、max等非线性运算时,需要构造复杂的电路实现,计算效率低。而另一种cheon-kim-kim-song方案(简称ckks方案)是一种能进行同态近似计算的全同态加密方案,支持针对实数或复数的浮点数加法和乘法同态运算,得到的计算结果为近似值;尽管ckks方案能够支持整型数据运算,但是对于relu、max等非线性运算,该方案需要通过构造线性多项式进行同态近似计算,而为了保证近似后的精度,往往需要构造高阶的多项式,大大增加了计算成本。


技术实现思路

1、本专利技术针对现有环面全同态加密方案存在效率低下、计算成本高等问题,提供一种基于整数自举的环面全同态加密算法的数据处理方法,将支持数据类型从布尔级拓展到整数级,实现针对整数级数据的高效自举算法,降低方法复杂度,简化运算过程,大大提高计算效率。

2、为了达到上述目的,本专利技术采用以下技术方案:

3、一方面,提供一种基于整数自举的环面全同态加密算法的数据处理方法,所述整数自举的环面全同态加密算法包括密钥生成算法、加密算法、评估算法及解密算法;所述整数自举的环面全同态加密算法的明文空间为为数据精度,为自然数集合;其密文空间为a、b为密文的两个组成部分,n表示a的维度,为0到1之间的实数构成的环面;

4、所述数据处理方法包括下述步骤:

5、客户端根据安全参数调用密钥生成算法keygen(1λ),生成自身密钥sk、自举密钥bk和转换密钥ks,并将自举密钥bk和转换密钥ks发送给云端服务器,自身密钥sk本地保存;所述自身密钥sk、自举密钥bk和转换密钥ks的维度均为n;

6、客户端调用加密算法enc(m,sk)使用自身密钥sk对明文数据m∈{-b,...,b-1}进行加密操作,得到密文c传输给云端服务器;所述明文数据包括布尔级明文数据和整数级明文数据;

7、云端服务器根据客户端提供的评估函数f、自举密钥bk及转换密钥ks对密文c执行评估算法eval(c,bk,ks,f),得到密文状态下的评估结果c'发回客户端;所述评估算法包括整数自举算法和密钥转换算法;所述客户端提供的评估函数f包括非线性评估函数和线性评估函数;客户端根据自身密钥sk调用解密算法dec(c',sk)对密文状态下的评估结果c'进行解密操作,获得明文数据的评估结果。

8、作为优选的技术方案,所述加密操作具体为:

9、从高斯分布中取一个随机的噪声e和一个随机掩码返回密文c=(a,b),满足b=sk·a+m/2b+e;

10、所述解密操作具体为:

11、通过2b(b-sk·a)得到2be+f(m),再通过上下取整解密得到对应明文f(m),即

12、作为优选的技术方案,所述评估算法eval(c,bk,ks,f)首先将明文数据m的大噪声密文c、自举密钥bk、维度参数n和评估函数f传入整数自举算法中,得到小噪声密文c';再根据转换密钥对小噪声密文c'执行转换算法,将小噪声密文c'的密钥转换为sk。

13、作为优选的技术方案,所述整数自举算法的具体实现为:

14、根据评估函数f,在2n空间中初始化多项式testv=μ0+μ1x-1+μ2x-2+…+μn-1x-(n-1)=μ0-μn-1x-μn-2x2-…-μ1xn-1∈tn[x],n为多项式维度参数;{μ0,…,μn-1}为初始化多项式的系数集合,满足μj×i=f(i),j={0,…,n/b},i={0,…,b-1};

15、将2n空间作为2n个首尾相接的槽并将2n个槽划分为2b份;

16、将第k份中的所有槽放入f(k),由于多项式的非负性,第k+b份中的所有槽都放入-f(k),k={0,b-1},f(k)为评估函数f在输入为k时的输出;

17、明文旋转:将多项式系数进行逻辑左移,移动b位,得到明文旋转后的多项式acc,明文旋转公式为:acc=(0,testv)·xb;

18、密文旋转:根据明文旋转后的多项式acc、自举密钥bk,利用外积操作进行密文旋转,得到密文旋转后的多项式acc1;所述外积操作的输入为两个密文cm1、cm2,输出为密文cm1×m2;密文旋转公式为:其中,h为1的密文;ai为密文a中的第i个分量;表示将多项式逻辑移动-ai位,即逻辑右移ai位;bki为自举密钥bk的第i个分量;为外积;所述密文旋转重复n次,每次旋转后将多项式acc1赋值给多项式acc,n为密文中a和自举密钥bk的维度;

19、提取密文旋转后的多项式acc1的常数项系数,将提取的常数项系数密文输出。

20、作为优选的技术方案,评估算法在整数自举算法上实现多个基础非线性运算算法;所述基础非线性运算算法包括sign运算算法、iden运算算法、eqalconst运算算法及multbin运算算法;

21、所述sign运算算法的输入为一个大噪声密文cmin,cmin表示是明文min的密文,min∈{-b,...,b-1},输出为一个小噪声密文cmout,满足当min∈{-b+1,...,-1}时mout=-1,当min∈{-b,0}时mout=0,当min∈{1,...,b-1}时m本文档来自技高网...

【技术保护点】

1.基于整数自举的环面全同态加密算法的数据处理方法,所述整数自举的环面全同态加密算法包括密钥生成算法、加密算法、评估算法及解密算法,其特征在于,所述整数自举的环面全同态加密算法的明文空间为为数据精度,为自然数集合;其密文空间为a、b为密文的两个组成部分,n表示a的维度,为0到1之间的实数构成的环面;

2.根据权利要求1所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,所述加密操作具体为:

3.根据权利要求1所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,所述评估算法Eval(c,bk,ks,f)首先将明文数据m的大噪声密文c、自举密钥bk、维度参数N和评估函数f传入整数自举算法中,得到小噪声密文c';再根据转换密钥对小噪声密文c'执行转换算法,将小噪声密文c'的密钥转换为sk。

4.根据权利要求3所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,所述整数自举算法的具体实现为:

5.根据权利要求4所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,评估算法在整数自举算法上实现多个基础非线性运算算法;所述基础非线性运算算法包括Sign运算算法、Iden运算算法、EqalConst运算算法及MultBin运算算法;

6.根据权利要求5所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,所述Sign运算算法具体实现过程为:

7.根据权利要求5所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,所述非线性评估函数包括Sign运算函数、Iden运算函数、EqalConst运算函数、MultBin运算函数、ReLU运算函数和Max运算函数;其中,Sign运算函数、Iden运算函数、EqalConst运算函数及MultBin运算函数通过调用对应的基础非线性运算算法直接实现;

8.基于整数自举的环面全同态加密算法的数据处理系统,其特征在于,应用于权利要求1所述的基于整数自举的环面全同态加密算法的数据处理方法,所述系统包括密钥生成模块、加密传输模块、评估执行模块及解密传输模块;

9.一种电子设备,其特征在于,所述电子设备包括:

10.一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-7任一项所述的基于整数自举的环面全同态加密算法的数据处理方法。

...

【技术特征摘要】

1.基于整数自举的环面全同态加密算法的数据处理方法,所述整数自举的环面全同态加密算法包括密钥生成算法、加密算法、评估算法及解密算法,其特征在于,所述整数自举的环面全同态加密算法的明文空间为为数据精度,为自然数集合;其密文空间为a、b为密文的两个组成部分,n表示a的维度,为0到1之间的实数构成的环面;

2.根据权利要求1所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,所述加密操作具体为:

3.根据权利要求1所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,所述评估算法eval(c,bk,ks,f)首先将明文数据m的大噪声密文c、自举密钥bk、维度参数n和评估函数f传入整数自举算法中,得到小噪声密文c';再根据转换密钥对小噪声密文c'执行转换算法,将小噪声密文c'的密钥转换为sk。

4.根据权利要求3所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,所述整数自举算法的具体实现为:

5.根据权利要求4所述的基于整数自举的环面全同态加密算法的数据处理方法,其特征在于,评估算法在整数自举算法上实现多个基础非线性运算算法;所述基础非线性运算算法包括...

【专利技术属性】
技术研发人员:蒋琳黄熠方俊彬万俊平陈宇月
申请(专利权)人:哈尔滨工业大学深圳哈尔滨工业大学深圳科技创新研究院
类型:发明
国别省市:

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

1