1.一种基于区块链系统的秘密共享方法,其特征在于,包括:构造秘密共享智能合约,秘密共享智能合约用于实现以下功能:
1)对每一个秘密参与者通过构造多项式分配伪子份额,根据多项式的系数建立验证信息,根据已知的秘密份额和伪子份额生成随机值,并将验证信息和随机值分发给对应的秘密参与者;
2)等待秘密参与者在区块链系统中对所述秘密份额进行承诺,所有秘密参与者完成承诺后,等待秘密参与者在设定时间内、在区块链系统中公开各自的伪子份额;所述承诺需要秘密参与者预付押金;
3)对各秘密参与者公开的伪子份额进行验证,当各秘密参与者公开的伪子份额与对应秘密参与者收到的验证信息相对应,判定公开的伪子份额验证正确;当伪子份额验证不正确时,扣除验证不正确的秘密参与者的预付押金,并划分给其他验证正确的参与者,当伪子份额验证正确时,返还秘密参与者的预付押金;所述伪子份额的验证等式如下:式中,g表示生成元,si′表示伪子份额,αk表示所述验证信息,t‑1表示构造多项式随机选取的系数元素的个数,th‑1表示为了分配伪子份额对所述多项式求导的次数;
结合秘密共享智能合约,实现秘密共享的具体步骤是:每个秘密参与者创建以太坊账户,并为秘密份额预付押金,并在设定时限之内做出承诺,同时在设定时间内公开伪子份额,秘密共享智能合约对各秘密参与者公开的伪子份额进行验证,所有秘密参与者公开的伪子份额均正确后,利用公开的伪子份额和所述随机值得到共享秘密。
2.根据权利要求1所述的基于区块链系统的秘密共享方法,其特征在于,步骤1)中的所述多项式构造如下:
2 t‑1
F(x)=a0+a1x+a2x+…+at‑1x式中,F(x)表示多项式的函数因变量,x表示自变量,a0表示所述秘密份额,a1、a2、…at‑1表示随机选取的t‑1个系数元素;
所述验证信息建立如下:
式中,αk表示所述验证信息,g表示生成元,ak表示所述随机选取的t‑1个元素,k=0,…,t‑1。
3.根据权利要求1所述的基于区块链系统的秘密共享方法,其特征在于,步骤4)中所有秘密参与者公开的伪子份额均正确后,采用Birkhoff插值算法对公开的伪子份额进行重构并得到重构秘密,根据重构秘密和所述随机值得到共享秘密,解密公式如下:式中,s表示共享秘密,s′表示重构秘密,r表示所述随机值。