1.一种可证明安全的可公开验证多级多秘密共享方法,其特征在于,包括:根据可信的分发者选取的一个安全的Hash函数及所构造的单调张成方案,进行数据初始化;
通过秘密份额秘密分发,参与者使用自己的私钥来解密公开信息,得到自己的秘密份额;
将共享秘密的生命分为若干周期,为防止因参与者受到攻击而泄露秘密份额,分发者将定期更新参与者的秘密份额;
根据预设公式验证参与者份额的正确性,然后通过授权集恢复秘密,实现秘密重构;
其中:
所述根据可信的分发者选取的一个安全的Hash函数及所构造的单调张成方案,进行数据初始化包括:可信的分发者为D,参与者集合为P={P1,…,Pn},存取结构集合为Γ={Γ1,L,Γm},S={S1,L,Sm}为随机选取的m个秘密集合,设G1,G2是阶为大素数q的加法群和乘法群,存在映射e:G1×G1→G2,P为加法群G1的生成元,分发者选取一个安全的Hash函数H1:分发者D构造对于目标向量ej(1≤j≤m)可实现存取结构Γj的单调张成方案M(Zq,Μ,Ψ),其中Μ是Zq上矩阵,且Ψ(i)=Pi,目标向量ej为单位向量,且ej的第j个分量为1,其余分量全为0;分发者D随机选择 作为系统私钥,并计算Ppub=sP,将Ppub作为系统公钥,同时公布P和Ppub的值;每个参与者Pi(1≤i≤n)随机选取di∈[1,q‑1]作为自己的私钥并将其秘密保存,计算并公布自己公钥Yi=diPpub,确保Yi≠Yj(i≠j);
所述通过秘密份额秘密分发,参与者使用自己的私钥来解密公开信息,得到自己的秘密份额包括:时间周期为τ,初始状态时间周期τ=0;
(0)
根据秘密Sj=e(sjPpub,Ppub)的形式,D在有限域κ上随机选取满足sj=(ej,r )的向量基于单调张成方案分发者D计算临时秘密份额 计算并公布 其中(0)
是向量r 的分量;
分发者D利用系统公钥Ppub,各参与者的公钥Yi及临时秘密份额 计算并公开其中1≤i≤n,1≤j≤m,1≤l≤|Γj|,wi,j,l代表在第j个存取结构中第l个授权子集中参与者Pi基于MSP方案所对应的系数,|Γj|代表第j个存取结构中授权子集的个数;
分发者D计算 Hash值 然后分发者D公开信息 和 作为秘密分发阶段其他公开信息的验证信息,记aij(1≤j≤m)为参与者Pi所对应向量Μi=[ai1 ai2 … aim](1≤i≤n)的分量,则在秘密分发阶段,通过验证公开信息的有效性和正确性;
若以上等式成立则表明分发者D公开的信息是正确有效的,无任何欺骗行为,此时各参与者可使用自己的私钥di来解密公开信息 得到自己的秘密份额所述将共享秘密的生命分为若干周期,为防止因参与者受到攻击而泄露秘密份额,分发者将定期更新参与者的秘密份额包括:将共享秘密Sj(1≤j≤m)的生命分为若干周期,为防止因参与者受到攻击而泄露秘密份额,分发者D将定期更新参与者的秘密份额;
当共享秘密Sj(1≤j≤m)时,分发者D在有限域κ上随机选取一非零向量 其(τ)中向量ri 需满足第j个分量为0,其余分量非零;
基于单调张成方案D计算更新的临时秘密份额 并利用系统公钥Ppub,各参与者的公钥Yi及临时秘密份额 计算并公开 其中1≤i≤n;
通过等式 验证公开信息的有效性和正确性;
若等式 成立则表明分发者D公开的信息是正确有效的,无任何欺骗行为,参与者Pi可使用自己的私钥di解密公开信息 计算更新值则参与者Pi更新后的秘密份额 为:
2.如权利要求1所述的一种可证明安全的可公开验证多级多秘密共享方法,其特征在于,所述根据预设公式验证参与者份额的正确性,然后通过授权集恢复秘密,实现秘密重构包括:设参与恢复秘密的授权子集为
其中1≤iv≤n,1≤v≤|Aj,l|,|Aj,l|表示第j个存取结构中第l个授权子集中参与者的人数;
+
授权子集Aj,l中的每个参与者 随机选择 基于MPC计算 的值,将结果k发送给秘密恢复者,同时计算值 并将其公布;
当τ=0时,授权子集Aj,l中的参与者 计算自己的伪份额 并将伪份额 发送给秘密恢复者;
秘密恢复者收到参与者 的份额 后,通过
验证参与者份额的正确性,若等式成立,则证明参与者出示的份额是正确的;
待授权子集Aj,l中的所有参与者的份额通过验证后,秘密恢复者通过计算秘密Sj的值;
当τ=1 ,2…时,授权子集Aj,l中的参与者 计算自己的伪份额并将自己的伪份额 发送给秘密恢复者;
秘密恢复者收到参与者 的份额 之后,通过
验证参与者发送的份额是否正确,若等式成立,则证明参与者初出示的份额是正确的;
待授权子集Aj,l中的所有参与者通过份额验证后,秘密恢复者通过计算秘密Sj的值。
3.一种执行如权利要求1所述的可证明安全的可公开验证多级多秘密共享方法的系统,其特征在于,包括:初始化模块,用于根据可信的分发者选取的一个安全的Hash函数及所构造的单调张成方案,进行数据初始化;
秘密分发模块,用于通过秘密份额秘密分发,参与者使用自己的私钥来解密公开信息,得到自己的秘密份额;
份额更新模块,用于将共享秘密的生命分为若干周期,为防止因参与者受到攻击而泄露秘密份额,分发者将定期更新参与者的秘密份额;
秘密重构模块,用于根据预设公式验证参与者份额的正确性,然后通过授权集恢复秘密,实现秘密重构;
用于存储计算机指令的至少一个存储器;
与所述存储器通讯的至少一个处理器,其中当所述至少一个处理器执行所述计算机指令时,所述至少一个处理器使所述系统执行:初始化模块、秘密分发模块、份额更新模块以及秘密重构模块。
4.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1‑2中任一项所述的方法。