1.一种服务器辅助的多密钥共享方法,其特征在于,包括以下步骤:A.分发者生成m个密钥,供n个用户共享,并利用双变量单向函数为每个用户产生与之对应的伪子密钥;从[m,q-1]中选择每个用户对应的公共标识信息并公开,q是设定大素数;
B.分发者根据生成的m个密钥以及产生的n个伪子密钥构造(n+m-1)次多项式;
C.分发者根据所述多项式计算产生验证信息并公开所述验证信息;
D.设定个数的用户利用云处理终端下发的公钥分别对各自的伪子密钥加密得到密文,并将所述密文发给云处理终端;
E.云处理终端对收到的密文进行解密,以验证所述伪子密钥是否正确,如果正确,根据伪子密钥和分发者公开的信息进行密钥重构得到(n+m-1)次多项式;
F.云处理终端根据重构得到的(n+m-1)次多项式进行计算,并将计算结果发往所述设定个数的用户,用户对所述计算结果进行解密得到重构密钥,利用哈希函数验证所述重构密钥和所述密钥是否相等,如果相等则得到m个密钥。
2.根据权利要求1所述一种服务器辅助的多密钥共享方法,其特征在于,权利要求1中步骤A还包括以下步骤:分发者设置P=P1,...,Pn为n个用户,f(r,c)为双变量单向函数,h(x)是哈希函数,p是安全素数,其中q|(p-1);
α代表随机发生器,α基于 产生q,s1,...,sm为m个密钥,从[m,q-1]里选择ρi作为Pi的公共标识信息并公开,其中1≤i≤n;
分发者随机选取n个正整数ci和一个整数ξ并发送给Pi;随机选取整数r,计算伪子密钥f(r,ci)并发送给对应的用户。
3.根据权利要求2所述一种服务器辅助的多密钥共享方法,其特征在于,权利要求1中步骤B还包括以下步骤:基于(n+m)个元组 和(ρi,f(r,ci))构造(n+m-1)次多项式:
W(x)=a0+a1x+...+an+m-1xn+m-1modq其中,mod表示取余。
4.根据权利要求3所述一种服务器辅助的多密钥共享方法,其特征在于,权利要求1中步骤C还包括以下步骤:分发者首先产生信息: 其中0≤k≤n+m-1,然后从集合{[m,q-1]-ρj}中选择(n+m-t)个最小整数σ1,σ2,...,σn+m-t,1≤j≤n,计算W(σi),1≤i≤n+m-t,t为设定用户的数量;
公开验证信息(r,σi,W(σi),αk,h(sj)),1≤j≤m。
5.根据权利要求4所述一种服务器辅助的多密钥共享方法,其特征在于,权利要求1中步骤D还包括以下步骤:Pu作为包含t个用户的集合,其中u=1',2',...,t';
Pu用云处理终端的公钥pk加密其伪子密钥f(r,cu),并把密文EPK(f(r,cu))发送给云处理终端。
6.根据权利要求5所述一种服务器辅助的多密钥共享方法,其特征在于,权利要求1中步骤E还包括以下步骤:云处理终端对接收到的密文进行解密并通过 验证伪子密钥是否正确;如果正确则进行下一步骤,如果不正确则拒绝执行计算,并将用户的欺骗行为进行广播;
根据t个元组(ρu,f(r,cu)),u=1',2',...,t'以及n+m-t个元组(σv,W(σv)),其中1≤v≤n+m-t,利用拉格朗日插值法进行密钥重构,得到W1(x):其中W1(x)为重构多项式。
7.根据权利要求6所述一种服务器辅助的多密钥共享方法,其特征在于,权利要求1中步骤F还包括以下步骤:计算并发送W1(χ)给Pu,其中0≤χ≤m-1;
Pu验证 是否成立,如果成立则表明云处理终端不存在欺骗,且用户成功得到m个密钥 i=0,...,m-1;如果不成立则表明云处理终端存在欺骗行为,Pu会终止协议。
8.一种服务器辅助的多密钥共享装置,包括密钥分发单元、云处理终端和用户终端,其特征在于:所述密钥分发单元用于:设置m个密钥以供n个用户共享,从[m,q-1]中选择每个用户对应的公共标识信息并公开,q是设定大素数;利用双变量单向函数计算每个用户的伪子密钥,然后根据生成的m个密钥以及产生的n个伪子密钥构造(n+m-1)次多项式;根据所述多项式计算产生验证信息并公开所述验证信息;
所述用户终端用于:利用云处理终端下发的公钥对各自的伪子密钥加密得到密文,将所述密文发给云处理终端;
所述云处理终端用于:对接收到的密文进行解密并验证所述伪子密钥是否正确,如果正确则根据伪子密钥和分发者公开的信息进行密钥重构得到(n+m-1)次多项式;对密钥重构得到(n+m-1)次多项式进行计算并将计算结果发给对应的用户;
所述用户终端还用于:对接收到的所述计算结果进行解密得到重构密钥,然后利用哈希函数验证所述重构密钥和所述密钥是否相等,如果相等则得到m个密钥。
9.根据权利要求8所述一种服务器辅助的多密钥共享装置,其特征在于,所述密钥分发单元还用于:设置P=P1,...,Pn为n个用户,f(r,c)为双变量单向函数,h(x)是哈希函数,p是安全素数,其中q|(p-1);
α代表随机发生器,α基于 产生q,s1,...,sm为m个密钥,从[m,q-1]里选择ρi作为Pi的公共标识信息并公开,其中1≤i≤n;
随机选取n个正整数ci和一个整数ξ并发送给Pi;
随机选取整数r,计算f(r,ci)并发送给对应的用户。
10.根据权利要求9所述一种服务器辅助的多密钥共享装置,其特征在于,所述密钥分发单元还用于:基于(n+m)个元组 和(ρi,f(r,ci))构造(n+m-1)次多项式:
W(x)=a0+a1x+...+an+m-1xn+m-1modq其中,mod表示取余;
所述密钥分发单元还用于:产生信息: 其中0≤k≤n+m-1,从集合{[m,q-
1]-ρj}中选择(n+m-t)个最小整数σ1,σ2,...,σn+m-t,1≤j≤n,计算W(σi),1≤i≤n+m-t,t为设定用户的数量;
公开验证信息(r,σi,W(σi),αk,h(sj)),1≤j≤m;
所述用户终端还用于:Pu作为包含t个用户的集合,其中u=1',2',...,t';
Pu用云处理终端下发的公钥pk加密其伪子密钥f(r,cu),并把密文EPK(f(r,cu))发送给云处理终端;
所述云处理终端还用于:对接收到的密文进行解密并通过验证伪子密钥是否正确;如果正确则进行下一步骤,如果不正确则拒绝执行计算,并将用户的欺骗行为进行广播;
根据t个元组(ρu,f(r,cu)),u=1',2',...,t'以及n+m-t个元组(σv,W(σv)),其中1≤v≤n+m-t,利用拉格朗日插值法进行密钥重构,得到W1(x):其中W1(x)为重构多项式;计算并发送W1(χ)给Pu,其中0≤χ≤m-1;
所述用户终端还用于:Pu验证 是否成立,如果成立则用户成功得到m个密钥 i=0,...,m-1;如果不成立则表明云处理终端存在欺骗行为,Pu会终止协议。