利索能及
我要发布
收藏
专利号: 2017113553798
申请人: 河南师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-04-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种多密钥共享方法,其特征在于,包括以下步骤:

A.分发者生成m个密钥s1,…,sm,供n个用户P1,…,Pn共享,并利用单向哈希函数h(x)计算与m个密钥s1,…,sm的对应的哈希函数值h(sj)进行公开,1≤j≤m,还利用双变量单向函数f(r,c)为每个用户产生与之对应的伪子密钥,并将与第i个用户Pi对应的伪子密钥f(r,ci)发送给对应的用户;分发者还从[m,q‑1]中选择ρi作为用户Pi对应的公共标识信息进行公开,q是设定大素数,α基于 产生q,α表示随机发生器, 是由集合{0,1,…,n‑1}中与p互素的正整数组成的集合;分发者随机选取一个整数ξ发送给Pi,产生伪子密钥的方法为:分发者随机选取n个正整数ci,随机选取整数r,计算得到与第i个用户Pi对应的伪子密钥f(r,ci);

B.分发者根据生成的m个密钥以及产生的n个伪子密钥构造(n+m‑1)次多项式;

C.分发者根据所述多项式计算产生验证信息并公开所述验证信息;分发者还产生信息: 其中0≤k≤n+m‑1,然后将αk在验证信息中公开;

D.设定个数的用户利用云处理终端下发的公钥分别对各自的伪子密钥加密得到密文,并将所述密文发给云处理终端;

E.云处理终端对收到的密文进行解密并通过 验证所述伪

子密钥是否正确,如果正确,根据伪子密钥和分发者公开的信息进行密钥重构得到(n+m‑1)次多项式W1(x);f(r,cu)为第u个用户Pu的伪子秘钥,cu为t个正整数,p是安全素数,其中q|(p‑1);u=1,2,…,t,t为步骤D中所述的设定个数,ρu为第u个用户持有的公共标识信息;

F.云处理终端根据重构得到的(n+m‑1)次多项式W1(x)进行计算,得到计算结果W1(χ),0≤χ≤m‑1,并将计算结果发往所述设定个数的用户,用户Pu根据ξ对所述计算结果进行解密得到重构密钥 利用单向哈希函数h(x)计算出重构密钥的哈希函数值并通过公式 验证所述重构密钥的哈希函数值和对应步骤A中公开的密钥的哈希函数值h(sj)是否相等,如果相等则得到m个密钥s1,…,sm。

2.根据权利要求1所述一种多密钥共享方法,其特征在于,步骤B还包括以下步骤:基于(n+m)个元组 和(ρi,f(r,ci))构造(n+m‑1)次多项式:

n+m‑1

W(x)=a0+a1x+...+an+m‑1x modq其中,mod表示取余,a0、a1、a2、…、an+m‑1为多项式W(x)的各系数,x表示多项式W(x)的自变量。

3.根据权利要求2所述一种多密钥共享方法,其特征在于,步骤C还包括以下步骤:分发者从集合{[m,q‑1]‑ρj}中选择(n+m‑t)个最小整数σ1,σ2,...,σn+m‑t,1≤j≤n,计算W(σi),1≤i≤n+m‑t,公开验证信息(r,σi,W(σi),αk,h(sj))。

4.根据权利要求3所述一种多密钥共享方法,其特征在于,步骤D还包括以下步骤:Pu用云处理终端的公钥pk加密其伪子密钥f(r,cu)得到密文EPK(f(r,cu)),并把密文EPK(f(r,cu))发送给云处理终端。

5.根据权利要求4所述一种多密钥共享方法,其特征在于,步骤E还包括以下步骤:云处理终端对接收到的密文进行解密并通过 验证伪子密

钥是否正确;如果不正确则拒绝执行计算,并将用户的欺骗行为进行广播;

根据伪子密钥和分发者公开的信息进行密钥重构得到(n+m‑1)次多项式的方法为:根据t个元组(ρu,f(r,cu)),u=1',2',...,t'以及n+m‑t个元组(σv,W(σv)),其中1≤v≤n+m‑t,利用拉格朗日插值法进行密钥重构,得到W1(x):其中W1(x)为重构多项式。

6.一种多密钥共享装置,包括密钥分发单元、云处理终端和用户终端,其特征在于:所述密钥分发单元用于:设置m个密钥s1,…,sm以供n个用户P1,…,Pn共享,并利用单向哈希函数h(x)计算与m个密钥s1,…,sm的对应的哈希函数值h(sj)进行公开,1≤j≤m,从[m,q‑1]中选择ρi作为用户Pi对应的公共标识信息并公开,q是设定大素数,α基于 产生q,α表示随机发生器, 是由集合{0,1,…,n‑1}中与p互素的正整数组成的集合;利用双变量单向函数f(r,c)计算每个用户的伪子密钥,并将与第i个用户Pi对应的伪子密钥f(r,ci)发送给对应的用户;根据生成的m个密钥s1,…,sm以及产生的n个伪子密钥f(r,ci)构造(n+m‑1)次多项式;根据所述多项式计算产生验证信息并公开所述验证信息;产生信息:其中0≤k≤n+m‑1,然后将αk在验证信息中公开;产生伪子密钥的方法为:密钥分发单元随机选取n个正整数ci,随机选取整数r,计算得到与第i个用户Pi对应的伪子密钥f(r,ci);

所述用户终端用于:利用云处理终端下发的公钥对各自的伪子密钥加密得到密文,将所述密文发给云处理终端;

所述云处理终端用于:对接收到的密文进行解密并通过

验证所述伪子密钥是否正确,如果正确则根据伪子密钥和分发者公开的信息进行密钥重构得到(n+m‑1)次多项式W1(x);f(r,cu)为第u个用户Pu的伪子秘钥,cu为t个正整数,p是安全素数,其中q|(p‑1);u=1,2,…,t,t为设定的用户数量,ρu为第u个用户持有的公共标识信息;对密钥重构得到(n+m‑1)次多项式W1(x)进行计算,得到计算结果W1(χ),0≤χ≤m‑1,并将计算结果发给对应的用户;

所述用户终端还用于:根据ξ对接收到的所述计算结果进行解密得到重构密钥然后利用单向哈希函数h(x)计算出重构密钥的哈希函数值 并通过公式 验证所述重构密钥的哈希函数值和公开的密钥的哈希函数值h(sj)是否相等,如果相等则得到m个密钥s1,…,sm。

7.根据权利要求6所述一种多密钥共享装置,其特征在于,所述密钥分发单元还用于:基于(n+m)个元组 和(ρi,f(r,ci))构造(n+m‑1)次多项式:

n+m‑1

W(x)=a0+a1x+...+an+m‑1x modq其中,mod表示取余,a0、a1、a2、…、an+m‑1为多项式W(x)的各系数,x表示多项式W(x)的自变量;

所述密钥分发单元还用于:从集合 中选择(n+m‑t)个最小整数σ1,σ2,...,σn+m‑t,1≤j≤n,计算W(σi),1≤i≤n+m‑t,公开验证信息(r,σi,W(σi),αk,h(sj));

所述用户终端还用于:

Pu用云处理终端下发的公钥pk加密其伪子密钥f(r,cu)得到密文EPK(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)为重构多项式。