基于多项式承诺的方法、电子设备及可读存储介质与流程

文档序号:36480651发布日期:2023-12-25 10:34阅读:36来源:国知局
基于多项式承诺的方法与流程

本申请涉及加密,特别涉及一种基于多项式承诺的方法、电子设备及可读存储介质。


背景技术:

1、承诺是一类密码学算法,就像加密、签名、消息摘要这些算法类别地位一样,能够提供基础性模块行的密码功能而被称为密码学的原语。

2、目前,在零知识证明以及区块链领域,多项式承诺的加密方式得到广泛应用,例如零知识证明是否需要可信设置以及证明大小等取决于多项式承诺的加密方式,通过多项式承诺的方式还可以替换区块链的默克尔树,使得区块链可以向客户端提供更有说服力的交易存在性证明。

3、然而,传统的多项式承诺的实现方式在证明大小以及验证时间方面的复杂度都比较高,尤其是在需要多次多项式承诺和证明时,运算效率较低。


技术实现思路

1、根据本申请的各种实施例,提供一种基于多项式承诺的方法、电子设备及可读存储介质,可以解决传统的多项式承诺的实现方式在证明大小以及验证时间方面的复杂度都比较高、运算效率较低的问题。

2、第一方面,本申请提供了一种基于多项式承诺的方法,包括:

3、获取业务数据对应的点值多项式,业务数据为待证明的秘密数据;基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,元素集合包含与点值多项式的自变量相关的各项元素;基于元素集合中的各项元素,生成点值多项式的承诺,并基于获取到的目标自变量,生成点值多项式的证明;其中,承诺和证明用于验证秘密数据的存在性。

4、通过上述方式,基于随机数和椭圆曲线的生成元,生成与点值多项式的自变量相关的各项元素,得到目标形式的元素集合,基于元素集合直接生成点值多项式的承诺,可以降低计算复杂度,也无需对点值多项式转换成系数表达式再基于系数表达式的各项系数计算承诺,在降低计算量的同时,降低了承诺运算的复杂度,提高了在各种加密应用场景下的算法处理效率;具有较强的易用性与实用性。

5、在第一方面的一种可能的实现方式中,在所述生成所述点值多项式的证明之后,所述方法还包括:

6、承诺方向验证方发送所述承诺和所述证明,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证。

7、在第一方面的一种可能的实现方式中,所述基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,包括:

8、基于随机数和椭圆曲线的生成元,生成目标形式的包含n个元素的元素集合;所述目标形式的包含n个元素的元素集合表示为:

9、

10、其中,n为大于等于1的整数,ωn为点值多项式对应的自变量,α为所述随机数,g为所述生成元,srs为结构化参考字符串。

11、所述基于所述元素集合中的各项元素,生成所述点值多项式的承诺,包括:

12、基于以下公式生成所述点值多项式的承诺:

13、

14、其中,为所述承诺,f(x)为点值多项式,为点值多项式的n个自变量中的第i个自变量对应的因变量,ωi是点值多项式的自变量,是满足ωin=1的n个根,n为2的幂次,α为所述随机数,g为所述生成元,为各项元素。

15、在第一方面的一种可能的实现方式中,所述基于获取到的目标自变量,生成所述点值多项式的证明,包括:

16、基于获取到的目标自变量,生成所述点值多项式对应的中间多项式;

17、基于所述中间多项式,生成所述点值多项式的证明。

18、在第一方面的一种可能的实现方式中,所述基于获取到的目标自变量,生成所述点值多项式对应的中间多项式,包括:

19、基于以下公式生成所述点值多项式对应的中间多项式:

20、;

21、基于以下公式生成所述点值多项式的证明:

22、

23、其中,w为所述证明,p(x)为基于f(x)生成的中间多项式,z为获取到的目标自变量,f(z)为点值多项式在z处的值,为点值多项式的n个自变量中的第i个自变量对应的因变量,ωi是点值多项式的自变量,是满足ωin=1的n个根,n为2的幂次,α为所述随机数,g为所述生成元,为各项元素。

24、在第一方面的一种可能的实现方式中,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证,包括:

25、基于双线性配对函数,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证;所述双线性配对函数表示如下:

26、

27、

28、其中,当a1=a2时,验证通过,否则验证不通过;c为所述承诺,y为点值多项式在目标自变量z对应的因变量,α为所述随机数,g1、g2分别为预设的两条椭圆曲线上的生成元,w为所述证明,e为双线性配对函数。

29、第二方面,本申请提供了基于多项式承诺的装置,包括:

30、获取单元,获取业务数据对应的点值多项式,所述业务数据为待证明的秘密数据;

31、处理单元,用于基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,所述元素集合包含与所述点值多项式的自变量相关的各项元素;

32、承诺单元,用于基于所述元素集合中的各项元素,生成所述点值多项式的承诺,并基于获取到的目标自变量,生成所述点值多项式的证明;

33、其中,所述承诺和所述证明用于验证所述秘密数据的存在性。

34、第三方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的方法。

35、第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。

36、第五方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的方法。

37、可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。



技术特征:

1.一种基于多项式承诺的方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在所述生成所述点值多项式的证明之后,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,包括:

4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述元素集合中的各项元素,生成所述点值多项式的承诺,包括:

5.根据权利要求1至3任一项所述的方法,其特征在于,所述基于获取到的目标自变量,生成所述点值多项式的证明,包括:

6.根据权利要求5所述的方法,其特征在于,所述基于获取到的目标自变量,生成所述点值多项式对应的中间多项式,包括:

7.根据权利要求2或6所述的方法,其特征在于,所述验证方基于所述承诺和所述证明对所述点值多项式进行验证,包括:

8.一种基于多项式承诺的装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。


技术总结
本申请涉及加密技术领域,特别涉及一种基于多项式承诺的方法、电子设备及可读存储介质;该方法包括:获取业务数据对应的点值多项式,业务数据为待证明的秘密数据;基于随机数和椭圆曲线的生成元,生成目标形式的元素集合,元素集合包含与点值多项式的自变量相关的各项元素;基于元素集合中的各项元素,生成点值多项式的承诺,并基于获取到的目标自变量,生成点值多项式的证明;其中,承诺和证明用于验证秘密数据的存在性;可以解决传统的多项式承诺的实现方式在证明大小以及验证时间方面的复杂度都比较高、运算效率较低的问题。

技术研发人员:邱炜伟,黄方蕾,乔沛杨,尚璇,张珂杰
受保护的技术使用者:杭州趣链科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1