1.一种基于云外包的密钥共享方法,其特征在于,包括以下步骤:构造第一多项式为各云租户提供对应伪密钥子份额,并将构造第一多项式中的常数项发给各云租户;
构造第二多项式为各云租户提供对应真密钥子份额,并将构造第二多项式中的常数项作为密钥;
对每个云租户的所述伪密钥子份额和真密钥子份额进行同态加密得到对应密文,并将所述密钥的哈希函数和密文发送给对应云租户;
根据所述伪密钥子份额和真密钥子份额构造验证信息并将其发送给各云租户,设定数量的云租户将所述密文和验证信息发往云处理终端进行验证,如果验证成功则重构密钥;
根据所述重构密钥计算得到密文并将得到的密文发送回云租户;
所述云租户根据第一多项式中的常数项和通过重构密钥计算得到的密文进行计算得到最终密钥;
通过同态加密得到密文的过程包括:对伪密钥子份额y′r和真密钥子份额yr进行计算,通过同态加密得到密文
将所述密钥的哈希函数和密文发送给对应云租户的过程包括:将元组(sr,h(a0))分别发送给云租户cr,1≤r≤n,其中h(x)为单向哈希函数,a0为密钥;公开验证信息t为云租户数量;g是循环群的生成元;
所述重构密钥的过程包括:t个云租户将各自的(sr,αj)发给云处理终端,云处理终端检查等式 是否成立,如果不成立则拒绝执行计算,并将结果公开;如果成立则通过拉格朗日插值法得到重构密钥:其中F(x)为所述重构密钥,xr和xj是对应云租户获取的随机数;
所述重构密钥计算得到密文并将得到的密文发送回云租户的过程包括:根据重构密钥计算得到的密文 将s′发送给云租户cr;
所述最终密钥s=s′‑a′0;
其中,a′0为分发给云租户cr的第一多项式中的常数项。
2.根据权利要求1所述一种基于云外包的密钥共享方法,其特征在于:对所述最终密钥和所述第二多项式中的常数项分别进行单向哈希函数运算,如果运算结果相同则判定所述云处理终端计算结果正确;否则判定所述云处理终端计算结果错误。
3.根据权利要求1或2所述一种基于云外包的密钥共享方法,其特征在于,所述构造第一多项式的过程包括:从有限域中随机选取t‑1个元素a′1,a′2,……a′t‑1,构造t‑1次多项式y′r=f(xr)′为伪密钥子份额,xr是分发给每个云租户的随机数,1≤r≤n,将从有限域中选取的随机值a′0分发给云租户cr。
4.根据权利要求3所述一种基于云外包的密钥共享方法,其特征在于,所述构造第二多项式的过程包括:从有限域中随机选取t‑1个元素a1,a2,……at‑1,构造t‑1次多项式yr=f(xr)为真密钥子份额,1≤r≤n,a0为密钥。
5.一种基于云外包的密钥共享门禁系统,包括IC卡、读卡模块、控制器和电控锁具,其特征在于:所述IC卡中存储有对应云租户的密钥信息,所述密钥信息包括常数项、密钥的哈希函数、密文和验证信息,所述常数项的获取过程包括:构造第一多项式为各云租户提供对应伪密钥子份额,并将构造第一多项式中的常数项发给各云租户;
所述密钥的哈希函数的获取过程包括:构造第二多项式为各云租户提供对应真密钥子份额,并将构造第二多项式中的常数项作为密钥,将所述密钥代入哈希函数得到密钥的哈希函数并发给各云租户;
所述密文的获取过程包括:对每个云租户的所述伪密钥子份额和真密钥子份额进行同态加密得到对应密文并发给对应云租户;
根据每个云租户的所述伪密钥子份额和真密钥子份额构造所述验证信息并发给对应云租户;
所述读卡模块读取IC卡中的所述密钥信息并发给所述控制器,所述控制器将接收到的密文和验证信息发给云处理终端并接收云处理终端返回的计算结果,所述控制器根据所述计算结果控制所述电控锁具动作;
通过同态加密得到密文的过程包括:对伪密钥子份额y′r和真密钥子份额yr进行计算,通过同态加密得到密文
将所述密钥的哈希函数和密文发送给对应云租户的过程包括:将元组(sr,h(a0))分别发送给云租户cr,1≤r≤n,其中h(x)为单向哈希函数,a0为密钥;公开验证信息t为云租户数量;g是循环群的生成元;
重构密钥的过程包括:t个云租户将各自的(sr,αj)发给云处理终端,云处理终端检查等式 是否成立,如果不成立则拒绝执行计算,并将结果公开;如果成立则通过拉格朗日插值法得到重构密钥:其中F(x)为所述重构密钥,xr和xj是对应云租户获取的随机数;
所述重构密钥计算得到密文并将得到的密文发送回云租户的过程包括:根据重构密钥计算得到的密文 将s′发送给云租户cr;
所述最终密钥s=s′‑a′0;
其中,a′0为分发给云租户cr的第一多项式中的常数项。