[发明专利]一种全同态加密密文除法实现方法有效
申请号: | 201710056966.0 | 申请日: | 2017-01-22 |
公开(公告)号: | CN106850183B | 公开(公告)日: | 2019-12-27 |
发明(设计)人: | 蒋林智;王晓芳 | 申请(专利权)人: | 蒋林智 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/08 |
代理公司: | 51220 成都行之专利代理事务所(普通合伙) | 代理人: | 温利平 |
地址: | 611731 四川省成都市高新区(西区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 同态 密密 除法 实现 方法 | ||
1.一种全同态加密密文除法实现方法,其特征在于,包括以下步骤:
(1)、将需要上传到云服务器的数据编码为多项式,多项式的系数为0或1,以满足全同态加密要求;
(2)、首先,用户本地对需要在云服务器进行除法计算的两个数据p1、p2的多项式q1(x)、q2(x)分别进行全同态加密,得到的密文分别为E(q1(x))、E(q2(x)),其中:
E(q1(x))=a0+a1x+…+am-1xm-1
E(q2(x))=b0+b1x+…+bn-1xn-1 (1);
其中,E表示基于NTRU的全同态加密,密文E(q1(x))也为多项式,a1~am-1为多项式的系数;密文E(q2(x))也为多项式,b1~bn-1为多项式的系数;x为多项式的自变量;
然后,计算幂指数j,幂指数j为整数,并且使得数据p2的满足
2j-1≤p2≤2j (2);
最后,得到加密密文E(q1(x))、E(q2(x))以及幂指数j上传至云服务器;
(3)、快速傅里叶变换的密文计算
在云服务器中,构建一个快速傅里叶变换密文计算函数DFTω,T(E(q(x)),用于计算加密密文E(q(x))在每个T次本原单位元根ω处的密文,ωT=1,T为2的整数次幂,加密密文E(q(x))为多项式,表示为:
E(q(x))=c0+c1x+…+cw-1xw-1;
其中,c1~cw-1为多项式的系数,所述T<w/2;
对于加密密文E(q(x))的快速傅里叶变换的密文计算为:
3.1)、如果T=1,则直接返回加密密文E(q(x))的多项式各项系数,多项式各项系数组成一个向量,作为加密密文E(q(x))在每个T次本原单位元根处的密文,表示为DFTω,T(E(q(x));
3.2)、如果T≠1,则:
3.2.1)、计算加密密文E(q(x))的第t项和t+T/2项密文的和,其中,t=0,1,2,…,T-1,得到计算结果:
3.2.2)、计算加密密文E(q(x))的第t项和t+T/2项密文的差,其中,t=0,1,2,…,T-1,得到计算结果:
3.2.3)、将步骤3.2.1)获得的结果中的t项分别与T次本原单位元根ω的t次幂相乘求和,得到计算结果:
3.2.4)、对计算结果D(x)、F(x)分别进行离散傅里叶变换,即:
DFTω,T:D(x)→(D(1),D(ω),D(ω2),…,D(ωT-1))
DFTω,T:F(x)→(F(1),F(ω),F(ω2),…,F(ωT-1)) (6);
这样得到两个向量(D(1),D(ω),D(ω2),…,D(ωT-1))、(F(1),F(ω),F(ω2),…,F(ωT-1));
3.2.5)、将步骤3.2.4)得到的两个向量的分量进行交叉,构成一个新的向量,即加密密文E(q(x))在每个T次本原单位元根处的密文,表示为DFTω,T(E(q1(x)),即:
DFTω,T(E(q(x))=(D(1),F(1),D(ω),F(ω),…D(ωT-1),F(ωT-1)) (7);
(4)、密文乘积计算
在云服务器中,根据步骤(3)构建的快速傅里叶变换密文计算函数,得到任意两个多项式q′(x)、E(q″(x))的密文乘积E(q′(x))E(q″(x))为:
(5)、计算多项式E(r(x))
在云服务器中,根据以下步骤计算多项式E(r(x)):
5.1)、如果加密密文E(q1(x))的次数小于加密密文E(q2(x))的次数,则直接返回E(r(x))=E(q1(x));
5.2)、如果加密密文E(q1(x))的次数大于等于加密密文E(q2(x))的次数,则:
5.2.1)、令k为加密密文E(q1(x))减去加密密文E(q2(x))得到的多项式的幂次;
5.2.2)、计算加密密文E(q1(x))的逆(即多项式的逆),记为即:
其中,k1是加密密文E(q1(x))的幂次,计算时,将作为公式(8)中的q′(x),作为公式(8)中的q″(x),按照公式(8)进行计算;
计算加密密文E(q2(x))的逆(即多项式的逆),记为即:
其中,k2是加密密文E(q2(x))的幂次,计算时,将作为公式(8)中的q′(x),作为公式(8)中的q″(x),按照公式(8)进行计算;
5.2.3)、计算多项式E*(h(x))
多项式E*(h(x))等于模(mod)xk+1;
5.2.4)、计算多项式E(r(x))
E(r(x))=E(q1(x))-E(h(x))E(q2(x)) (11);
其中:
E(h(x))=revkE*(h(x)) (12);
计算时,将E(h(x))作为公式(8)中的E(q′(x)),E(q2(x))作为公式(8)中的q″(x),按照公式(8)进行计算;
(6)、在云服务器中,根据以下公式,计算数据p2的倒数密文:
Ei(r(x))=(E(r(x)))i (13);
其中,z为幂次;
(7)、在云服务器中,根据以下公式,计算出:
然后,发送回用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蒋林智,未经蒋林智许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710056966.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种促进花果类中药材生长的富镁叶面营养素
- 下一篇:一种计算机中视频去雾方法