System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于批量打开多项式承诺的可验证秘密分享方法及系统技术方案_技高网
当前位置: 首页 > 专利查询>山东大学专利>正文

基于批量打开多项式承诺的可验证秘密分享方法及系统技术方案

技术编号:41853420 阅读:10 留言:0更新日期:2024-06-27 18:29
本发明专利技术公开了基于批量打开多项式承诺的可验证秘密分享方法及系统,服务器选择t次多项式函数,将秘密s分割成N个份额;服务器生成承诺值c,服务器将承诺值c广播给所有的客户端;服务器批量计算每个份额对应的证明,服务器将每个份额以及每个份额对应的证明均发送给对应的客户端;每个客户端对所收到的份额进行验证,验证不通过,则将对服务器的指责信息进行广播;如果广播指责信息的客户端数量J小于等于t,则服务器生成一个批量打开证明,服务器将份额和批量打开证明广播给所有客户端;所有客户端基于批量打开证明,对收到的份额进行再次验证,如果验证通过,则表示每个客户端均拥有正确的份额;客户端基于所拥有的份额,对秘密进行恢复。

【技术实现步骤摘要】

本专利技术涉及密码,特别是涉及基于批量打开多项式承诺的可验证秘密分享方法及系统


技术介绍

1、本部分的陈述仅仅是提到了与本专利技术相关的
技术介绍
,并不必然构成现有技术。

2、在分布式环境中,不可信的服务器拥有多项式函数f(x)=a0+…+adxd,客户端向其请求f(x)在x=i处的计算f(i)。由于服务器可能存在恶意行为,如何保证计算结果真实有效成为分布式计算中的关键问题。多项式承诺是解决该问题的重要密码技术。多项式承诺允许对多项式函数进行承诺,打开多项式函数在某点的计算和证明。多项式承诺的计算绑定性保证了无法为同一点打开两个不同的计算结果。多项式承诺在安全多方计算和零知识证明中均有应用,尤其是用于构建可验证秘密分享(vss,verifiable secret sharing)。

3、一个(n,t)的可验证秘密分享方案运行在一个服务器和n个客户端vi之间。可验证秘密分享包含分享和恢复两个阶段。在分享阶段,拥有秘密的服务器将秘密s分割成n个份额si并私密地发送给每个客户端;在恢复阶段,至少t+1个客户端共享份额才能恢复秘密,少于等于t个客户端无法获得关于秘密的任何信息(假定服务器是诚实的)。

4、构造可验证秘密分享最有效的方法之一是使用多项式承诺。服务器随机选取多项式f(x)=a0+a1x+…+atxt并保证f(0)=s,对f(x)进行多项式承诺得到承诺值c,将c广播给每个客户端vi。使用多项式承诺计算f(x)在n个点的值f(i)和相应的证明πi,私密地发送给每个vi。vi收到f(i)和πi后,使用多项式承诺验证f(i)的正确性。如果验证失败,vi将广播针对的指责信息。如果指责的参与方数量超过t,则判定是不称职的;否则应计算所有指责方对应的f(i)和πi并广播。

5、为了提高多项式承诺在可验证秘密分享中的应用效率,出现了支持批量计算的多项式承诺,证明者可以快速地一次性计算出多个证明。据专利技术人了解,目前支持批量计算且安全性更强的多项式承诺方案,是使用fft电路计算多项式在多点的值,使用gkr协议证明多点计算的正确性。该方案具有透明性,不需要可信第三方,仅使用对称操作,易于实现且高效。但是该方案不具有批量打开功能,使得基于该方案的可验证秘密分享在最坏情况下需要广播的证明规模和每个客户端的验证时间都与客户端数量呈超线性关系,是最好情况下的n倍。


技术实现思路

1、为了解决现有技术的不足,本专利技术提供了基于批量打开多项式承诺的可验证秘密分享方法及系统;同时具有批量计算和批量打开功能,且批量打开的效率高;使用该多项式承诺构造的可验证秘密分享在最坏情况下的分享时间和广播的证明规模与最好情况相同。

2、一方面,提供了基于批量打开多项式承诺的可验证秘密分享方法,包括:

3、服务器选择t次多项式函数,将秘密s分割成n个份额;服务器对选取的多项式进行承诺,生成承诺值c,服务器将承诺值c广播给所有的客户端;服务器批量计算每个份额对应的证明,服务器将每个份额以及每个份额对应的证明均发送给对应的客户端;

4、每个客户端对所收到的份额进行验证,如果验证通过,则将份额sj进行存储;如果验证不通过,则将对服务器的指责信息进行广播;

5、如果广播指责信息的客户端数量j大于t,则认定服务器是不值得信任的,结束;如果广播指责信息的客户端数量j小于等于t,则服务器生成一个批量打开证明,服务器将份额和所述批量打开证明广播给所有客户端;

6、所有客户端基于批量打开证明,对收到的份额进行再次验证,如果验证通过,则表示每个客户端均拥有正确的份额;如果验证不通过,则认定服务器是不值得信任的,结束;

7、客户端基于所拥有的份额,对秘密进行恢复。

8、另一方面,提供了基于批量打开多项式承诺的可验证秘密分享系统,包括:服务器和若干个客户端;

9、服务器选择t次多项式函数,将秘密s分割成n个份额;服务器对选取的多项式进行承诺,生成承诺值c,服务器将承诺值c广播给所有的客户端;服务器批量计算每个份额对应的证明,服务器将每个份额以及每个份额对应的证明均发送给对应的客户端;

10、每个客户端对所收到的份额进行验证,如果验证通过,则将份额sj进行存储;如果验证不通过,则将对服务器的指责信息进行广播;

11、如果广播指责信息的客户端数量j大于t,则认定服务器是不值得信任的,结束;如果广播指责信息的客户端数量j小于等于t,则服务器生成一个批量打开证明,服务器将份额和所述批量打开证明广播给所有客户端;

12、所有客户端基于批量打开证明,对收到的份额进行再次验证,如果验证通过,则表示每个客户端均拥有正确的份额;如果验证不通过,则认定服务器是不值得信任的,结束;

13、客户端基于所拥有的份额,对秘密进行恢复。

14、上述技术方案具有如下优点或有益效果:

15、本专利技术基于批量计算的多项式承诺,提出了一种批量打开的多项式承诺方法。该专利技术设计具有以下突出优势:同时具有批量计算和批量打开功能,且批量打开的效率高;使用该多项式承诺构造的可验证秘密分享在最坏情况下的分享时间和广播的证明规模与最好情况相同。

16、多项式承诺允许对多项式函数进行承诺,打开多项式函数在某点的计算和证明。多项式承诺的计算绑定性保证了无法为同一点打开两个不同的计算结果。针对大规模打开多点计算的证明规模过大和验证时间过长的问题,本专利技术基于批量计算的多项式承诺提出了一种批量打开的多项式承诺。该方案同时具有批量计算和批量打开功能,且批量打开的效率高,证明大小和验证时间与单点打开相同。使用该多项式承诺构造的可验证秘密分享在最坏情况下的分享时间和广播的证明规模与最好情况相同;使用本专利技术多项式承诺构造的可验证秘密分享在最坏情况下通信规模缩减为原来的1/n,每个客户端的验证时间缩减为原来的1/log2n。

本文档来自技高网...

【技术保护点】

1.基于批量打开多项式承诺的可验证秘密分享方法,其特征是,包括:

2.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,所述客户端基于所拥有的份额,对秘密进行恢复,具体包括:

3.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,服务器选择t次多项式函数,将秘密s分割成N个份额,具体包括:服务器选择t次多项式使得秘密s=f(0);

4.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,服务器对选取的多项式进行承诺,生成承诺值c,服务器将承诺值c广播给所有的客户端,其中,承诺值c的生成过程,包括:输入多项式计算的多线性扩展运行多变量多项式承诺的承诺算法输出承诺值

5.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,服务器批量计算每个份额对应的证明,具体如下:

6.如权利要求5所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,证明者运行关于断言的非交互式Sum check协议,生成Sum check证明πsumcheck,包括:对于i=1,…,logN:

7.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,每个客户端对所收到的份额进行验证,具体包括:

8.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,如果广播指责信息的客户端数量J小于等于t,则服务器生成一个批量打开证明,服务器将份额和所述批量打开证明广播给所有客户端,其中,批量打开证明的生成过程包括:

9.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,所有客户端基于批量打开证明,对收到的份额进行再次验证,具体包括:

10.基于批量打开多项式承诺的可验证秘密分享系统,其特征是,包括:服务器和若干个客户端;

...

【技术特征摘要】

1.基于批量打开多项式承诺的可验证秘密分享方法,其特征是,包括:

2.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,所述客户端基于所拥有的份额,对秘密进行恢复,具体包括:

3.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,服务器选择t次多项式函数,将秘密s分割成n个份额,具体包括:服务器选择t次多项式使得秘密s=f(0);

4.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,服务器对选取的多项式进行承诺,生成承诺值c,服务器将承诺值c广播给所有的客户端,其中,承诺值c的生成过程,包括:输入多项式计算的多线性扩展运行多变量多项式承诺的承诺算法输出承诺值

5.如权利要求1所述的基于批量打开多项式承诺的可验证秘密分享方法,其特征是,服务器批量计算每个份额对应的证明,具体如下:

6.如权利要...

【专利技术属性】
技术研发人员:孔祥玉陈宇
申请(专利权)人:山东大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1