[发明专利]基于神经网络激活单元的云外包数据加解密方法有效
申请号: | 202010881848.5 | 申请日: | 2020-08-28 |
公开(公告)号: | CN112039653B | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 李芙蓉;王保仓;陈艳格 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L9/00 | 分类号: | H04L9/00;H04L9/08;H04L29/06;H04L29/08;G06F21/62;G06N3/02 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 神经网络 激活 单元 外包 数据 解密 方法 | ||
1.一种基于神经网络激活单元的云外包数据加解密方法,其特征在于,利用同态DT-PKC加密算法对请求服务用户云外包数据加密,利用SAC协议生成激活单元的待修正密文,利用齐次化算法生成激活单元的修正密文;该加解密方法的步骤包括如下:
(1)生成加密系统公私钥:
(1a)密钥生成中心利用同态DT-PKC密钥生成算法,产生请求服务的用户公私钥对{pkz,skz};
(1b)密钥生成中心通过密钥生成中心与每个用户的密钥通道分配{pkz,skz}给请求服务的用户;
(1c)密钥生成中心利用同态DT-PKC密钥生成算法,产生主密钥λ,将主密钥λ分成第一解密部分主密钥λ1和第二解密部分主密钥λ2;
(1d)密钥生成中心通过密钥通道将第一解密部分主密钥λ1分配给服务提供商SP,将第二解密部分主密钥λ2分配给云服务器CP;
(2)请求服务用户上传加密的云外包数据:
(2a)请求服务用户利用其公钥pkz加密云外包数据X和随机整数R,按照生成密文CXZ和CR;其中,||·||表示加密操作,X=<x1,x2,...xi,...xn>,xi表示云外包数据的序数,n表示请求服务用户的云外包数据的总数,R∈ZN,ZN表示模N的剩余类环;
所述的请求服务用户利用其公钥pkz加密云外包数据和随机整数生成密文CXZ和CR步骤如下:
第一步,对于xi,选取随机整数ri∈[1,N/4],对于随机数R,选取随机整数rR∈[1,N/4];
第二步,按照下式,请求服务用户z利用同态DT-PKC密码算法,对云外包数据进行加密,生成pkz加密的云外包数据密文和随机数密文:
其中,C1表示云外包数据加密后密文的第一部分,C2表示云外包数据加密后密文的第二部分,表示随机整数加密后密文的第一部分,表示随机整数加密后密文的第二部分;
(2b)请求服务用户上传密文CXZ和CR给服务提供商SP;
(3)服务提供商SP收集并上传数据:
(3a)服务提供商SP根据每个用户的公钥计算联合公钥pkψ,用联合公钥pkψ加密基本神经网络的模型参数W和B,按照公式,得到基本神经网络的神经元h与前一层神经元之间的连接权重的CW密文和神经元h的阈值密文CB;
(3b)将CXZ、连接权重密文CW和阈值密文CB一同上传云服务器CP;
(4)生成云外包数据的激活单元输入密文:
(4a)云服务器CP收到用户数据密文CXZ,根据用户的公钥分别计算每个请求服务用户的公钥pkz转化成联合公钥pkψ需要相乘的部分hψ',按照CX={C1·hψ',C2}公式,利用hψ'完成联合公钥对用户云外包数据加密的密文CX转换;其中,C1表示CXZ的第一部分密文,C2表示CXZ的第二部分密文;
(4b)云服务器CP收到连接权重密文CW和阈值密文CB,利用SMP协议,通过云服务器CP与服务提供商SP之间交互,生成连接权重和对应云外包数据内积的密文A=<A1,A2,...,Ak,...,Au>;其中,Ak表示连接权重和对应云外包数据的第k个内积密文,u表示内积密文的总数;
(4c)云服务器CP对得到的u个内积密文,按照D=A1·A2···Ak···Au公式进行相乘操作,得到内积和的密文D:
(4d)云服务器CP将内积和密文D与神经元h的阈值密文CB按照公式,得到神经元激活单元输入密文CO,其中,o表示激活单元的输入明文;
(5)生成激活单元的待修正密文:
云服务器CP对生成的激活单元输入密文CO,利用SAC协议,通过云服务器CP和服务提供商SP交互,生成激活单元的待修正密文COU;
所述的利用SAC协议生成激活单元的待修正密文COU的步骤如下:
第一步,云服务器CP选择随机整数r1∈ZN,按照下式,计算添加随机噪声r1的激活单元的密文输入t和t的部分解密结果t':
t'=PMDec'(t)
其中,PMDec'(·)表示部分解密操作;
第二步,云服务器CP选择随机整数r2,r3∈ZN,按照下式计算添加随机噪声r2和r3的激活单元的密文输入s和s的部分解密结果s':
s'=PMDec'(s)
第三步,云服务器CP产生激活单元的近似多项式表格T,并且存储,对表格T中的每一个索引值加上随机整数r2之后乘以随机整数r3,得到新的索引值对应的表格T';
第四步,云服务器CP发送t,t',CO,s,s',T'给服务提供商SP;
第五步,服务提供商SP收到t,t',CO,s,s',T',利用联合公钥pkψ加密,按照下式,分别生成添加随机噪声r1的激活单元明文输入平方和立方的密文L1和L2,并且解密s得到添加随机噪声r2和r3的激活单元明文输入:
l1=(PMDec”(t,t”))2=(o+r1)2l2=(PMDec”(t,t'))3=(o+r1)3
v=PMDec”(s,s')=r3(o+r2)
其中,PMDec”(·)表示解密操作;
第六步,服务提供商SP生成v,对应表格T',选择距离v最近的索引V对应的近似多项式fV(x),并将L1,L2发送给云服务器CP;
第七步,云服务器CP收到L1,L2后,对L1,L2按照下式计算,将生成的密文和发送给服务提供商SP:
其中,表示联合公钥pkψ加密的-r1的密文,表示联合公钥pkψ加密的-2r1·o的密文,表示联合公钥pkψ加密的-2r1·o2的密文,表示联合公钥pkψ加密的的密文;
第八步,服务提供商SP结合密文CO,和选取的对应的近似多项式fV(x),生成激活单元的密文输出结果COU;
(6)生成激活单元的修正密文:
服务提供商SP对生成的激活单元待修正密文COU,利用齐次化算法,通过云服务器CP和服务提供商SP交互,生成激活单元的修正密文Cf;
所述的利用齐次化算法生成激活单元的修正密文Cf的步骤如下:
第一步,服务提供商SP对近似多项式fV(x),将x替换为y,得到近似多项式对近似多项式两边同时乘以10α,得到多项式系数都恰好扩大至整数的等式:
其中,10α表示使得近似多项式系数都恰好扩大至整数的系数,[·]表示浮点数扩大至整数的符号;
第二步,服务提供商SP对上述等式两边同时乘以103β,对等式右边按照x=10βy处理,其中,10β表示激活单元的输入明文扩大至整数的系数:
第三步,服务提供商SP对上述等式做同态等式的转化,生成对应的密文等式:
其中,表示联合公钥pkψ对加密的密文,表示联合公钥pkψ对加密的密文,表示联合公钥pkψ对加密的密文;
第四步,服务提供商SP将CO,代入上述密文等式,生成云外包数据在激活单元的修正密文Cf:
其中,f'(o)表示扩大后的激活单元生成明文;
(7)激活单元生成密文的解密:
(7a)服务提供商SP利用请求服务用户的随机数密文CR和激活单元生成密文Cf,按照公式计算,通过同态的性质生成添加噪声后的密文Ca;
(7b)服务提供商SP利用第一解密部分主密钥λ1部分解密加噪密文Ca,得到部分解密加噪密文的中间结果Cm,并将Ca和Cm一起传送给CP;
(7c)云服务器CP收到Ca和Cm,利用第二解密部分主密钥λ2对加噪密文的中间结果Cm继续解密,得到添加随机数噪声的激活单元明文Ma;
(7d)云服务器CP利用公钥pkz加密添加随机数噪声的激活单元明文Ma,得到只有请求服务用户才能解密的密文COZ,返回请求服务用户;
(7e)请求服务用户收到只有自己才能解密的云外包数据在激活单元生成的密文COZ,利用自己的私钥skz解密,通过去除随机数噪声R,缩小倍数10α+3β,得到修正的请求服务用户云外包数据在激活单元生成的明文。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010881848.5/1.html,转载请声明来源钻瓜专利网。