一种高效的可验证时间签名通用构造方法

文档序号:37719060发布日期:2024-04-23 11:52阅读:8来源:国知局
一种高效的可验证时间签名通用构造方法

本发明涉及信息安全,尤其涉及一种高效的可验证时间签名通用构造方法。


背景技术:

1、定时密码学研究是一类允许发送方将信息发送到未来的基本研究领域。在预定的时间之后,任何人都可以了解所包含的秘密。时间锁谜题、定时承诺和签名的定时发布是这个领域中的突出研究方向,具有广泛的应用。

2、verifiabletimed signature(vts)是一种可验证的定时签名方案,允许用户计算已知消息的签名,但该签名将被锁定一段时间t(称为时间锁)。任何人经过时间t的顺序计算后,可以从时间锁中提取签名。vts的可验证性确保在时间t之前,任何人可以公开验证时间锁是否包含消息的有效签名。虽然vts的可验证性和延时性被广泛应用于支付通道、原子交换等场景,但现有vts方案计算签名时间锁时需要将签名分成n份,导致时间锁的生成效率较低,不符合实际应用需求。

3、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现思路

1、本发明的目的在于提供一种高效的可验证时间签名通用构造方法,旨在优化现有vts方案的效率,并突破特定数字签名、公钥加密、时间锁谜题和非交互零知识证明的限制,其中密钥生成、时间锁谜题以及非交互零知识证明的计算开销达到常量级,满足安全高效的发展需求。

2、为实现上述目的,本发明的技术方案是:一种高效的可验证时间签名通用构造方法,首先,承诺者在获得签名者的签名之后,通过一次性密钥对对签名进行加密,并对一次性私钥进行时间锁加密,以及生成承诺;随后,验证者验证承诺的有效性,判断承诺能否正确恢复得到有效签名,但是无法获取签名的具体信息。签名打开方式,包括:1)承诺者输入公共参数和承诺,输出签名;2)验证者通过t时间的顺序执行后,强制打开时间锁得到一次性私钥,并解密得到签名。该方法具体实现方式如下:

3、步骤1、系统建立:该步骤生成所需公共参数;将涉及的数字签名表示为ds=(ds.setup,ds.kg,ds.sign,ds.verf),其中ds.setup表示算法初始化,ds.kg表示密钥生成,ds.sign表示签名算法,ds.verf表示签名验证;公钥加密表示为pke=(pke.setup,pke.kg,pke.enc,pke.dec),其中pke.setup表示算法初始化,pke.kg表示密钥生成,pke.enc表示加密,pke.dec表示解密;时间锁谜题表示为tlp=(tlp.setup,tlp.pgen,tlp.psolve),其中tlp.setup表示算法初始化,tlp.pgen表示时间锁谜题生成算法,tlp.psolve表示时间锁谜题打开算法;非交互零知识证明表示为nizk=(nizk.setup,nizk.prove,nizk.verf),其中nizk.setup表示零知识证明初始化,nizk.prove表示见证生成,nizk.verf表示见证验证;随后,输入安全参数λ,并调用ds.setup、pke.setup、tlp.setup和nizk.setup,获得公共参数因子ppas、pppke、pptlp和crszk;输出公共参数ppouts:=(ppds,pppke,pptlp,crszk);

4、步骤2、承诺和证明:承诺和证明算法输入公共参数ppout和签名者的消息m以及在签名算法公钥pks下的签名σ;首先解析ppouts:=(ppds,pppke,pptlp,crszk)并使用公钥加密算法生成一次性密钥对(sk0,pk0)←pke.kg(pppke);然后,通过加密算法对签名进行加密生成密文,并通过时间锁谜题生成算法z←tlp.pgen(pptlp,sk0,r)生成时间谜题,其中r是tlp中的随机数;接着调用零知识证明算法π=nizk.prove(crszk,xouts,wouts)生成见证π并计算得到nizk语言证明其中定义为:

5、

6、其中xouts:=(ppout,c,z,pks),wouts:=(σ,sk0,r),最后,输出承诺couts:=(xouts,π);

7、步骤3、验证:验证算法输入公共参数ppouts和承诺couts,解析couts:=(xouts,π)并调用零知识证明验证算法b:=nizk.verf(xouts,π);根据b的值判断couts的有效性,其中b=1表示couts有效;b=0则无效;

8、步骤4、打开:打开算法由承诺者执行,输入公共参数ppouts和承诺couts,并输出承诺签名σ和生成couts时的随机数r;

9、步骤5、强制打开:强制打开算法输入公共参数ppouts和承诺couts,并调用时间锁打开算法σ:=tlp.psolve(pptlp,z)来打开承诺couts得到签名σ。

10、相较于现有技术,本发明具有以下有益效果:本发明一种高效的可验证时间签名通用构造方法,不仅将计算签名时间锁的复杂度降低至常数级,并且实现了高效的承诺和证明;本发明提供的是一种通用构造方法,无需指定某种数字签名、公钥加密、时间锁谜题和零知识证明,所以具有较高的兼容性。



技术特征:

1.一种高效的可验证时间签名通用构造方法,其特征在于,首先,承诺者在获得签名者的签名之后,通过一次性密钥对对签名进行加密,并对一次性私钥进行时间锁加密,以及生成承诺;随后,验证者验证承诺的有效性,判断承诺能否正确恢复得到有效签名,但是无法获取签名的具体信息。

2.根据权利要求1所述的一种高效的可验证时间签名通用构造方法,其特征在于,签名打开方式,包括:1)承诺者输入公共参数和承诺,输出签名;2)验证者通过t时间的顺序执行后,强制打开时间锁得到一次性私钥,并解密得到签名。

3.根据权利要求1或2所述的一种高效的可验证时间签名通用构造方法,其特征在于,该方法具体实现方式如下:


技术总结
本发明涉及一种高效的可验证时间签名通用构造方法。首先,承诺者在获得签名者的签名之后,通过一次性密钥对对签名进行加密,并对一次性私钥进行时间锁加密,以及生成承诺。随后,验证者验证承诺的有效性,判断承诺能否正确恢复得到有效签名,但是无法获取签名的具体信息。两种打开签名方式:1)承诺者输入公共参数和承诺,输出签名;2)验证方通过T时间的顺序执行后,强制打开时间锁得到一次性私钥,并解密得到签名。本发明安全性与VTS保持一致,且只需要生成一个谜题,并且承诺和证明算法均只涉及到常量级的密钥生成、时间锁谜题生成和零知识证明计算开销。本发明可适配任意数字签名、公钥加密、时间锁谜题和零知识证明,具有广泛的应用场景。

技术研发人员:周晓彤,刘子晗,林超,伍玮
受保护的技术使用者:福建师范大学
技术研发日:
技术公布日:2024/4/22
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1