本发明涉及信息安全,尤其涉及一种基于同源的可追溯环签名方法及系统。
背景技术:
1、数字签名技术作为保证信息完整性和进行身份认证的重要工具,已成为信息安全领域的一项关键技术。根据应用场景和需求不同,衍生出了多种形式的数字签名:环签名、盲签名、代理签名和聚合签名等等。其中环签名(ring signature)可以被视为一种特殊的群签名,它没有可信中心,没有群的建立过程,对于验证者来说签名者是完全匿名的。可链接环签名(linkbale ring signature)引入标签这一概念来刻画当前使用环签名的具体事项,同一个私钥产生的两个同一标签下的环签名可以被公开链接。
2、量子计算机的出现对经典密码体系造成了体系冲击,与数字签名和公钥加密等基础原语不同,后量子安全的环签名研究起步较晚,仍处在快速发展的阶段。基于同源的密码体系是后量子密码学的一个重要组成部分,该体系下考虑的主要数学问题包括:同源计算问题,自同态环的计算问题和同源图的结构问题,这些问题保证了sidh-密钥交换(supersingular isogeny diffie hellman)和csidh-密钥交换(commutativesupersingular isogeny diffie hellman)的安全性。
3、目前后量子环签名方案处于发展阶段,大都是基于格的后量子密码原语,签名尺寸较大,现有的环签名方法无法满足追溯功能。
技术实现思路
1、本发明提供一种基于同源的可追溯环签名生成方法及系统,引入or协议和fs转换构造签名算法,在保证可追溯环签名的正确性和可链接性的同时,满足可追溯性这一功能特性,可以利用csidh不同安全级别参数有效实例化该系统。
2、本发明第一方面提供了一种基于同源的可追溯环签名方法,包括:
3、密钥生成步骤:根据输入的系统参数pp,输出每个用户的公私钥对;
4、签名生成步骤:对于用户π,根据用户π的私钥、系统用户公钥集合r、待签名的消息m和标签l,生成用户π的签名值σ;
5、签名验证步骤:签名者根据系统用户公钥集合r、待验证的消息m′、标签l和待验证的签名值σ′,验证σ′的正确性;
6、签名追溯步骤:根据标签l以及标签l下的两个消息签名对(m1,σ1),(m2,σ2),判断两个签名对的关联性。
7、在一种实施方式中,系统参数包括s1、x0,密钥生成步骤具体包括:
8、a)根据s1为每个用户i生成私钥:ski←s1;
9、b)生成每个用户i的公钥:pki=xi←ski*x0;
10、其中,s1为加法群g的对称子群,x0、xi为有限集合χ中的元素,←表示赋值操作,ski为用户i的私钥,pki为用户i的公钥。
11、在一种实施方式中,签名生成步骤具体包括:
12、a)解析n个用户的公钥;
13、b)对标签l进行哈希,映射到集合中的元素t0←h(l),对(l,m)对进行哈希:h′(l,m),映射到s1集合中的元素a,计算b←skπ-h′(,π),计算tπ←skπ·t0;
14、c)对于所有i∈n,i≠π,计算ti←[b+h′(a,i)]·t0;
15、d)令r={x1,…xn},t={t1,…tn}运行or协议的证明子流程:p1((r,t),(skπ,π)),生成承诺值序列com=(salt,(comi)i∈[z]);
16、e)生成挑战值序列chall=hfs(m,(r,t),com),挑战值符合分布cz,k,即chall序列满足:0的个数为k,1的个数为z-k;
17、f)运行or协议的证明子流程:p2((skπ,π),chall),生成响应值rsp;
18、g)输出签名值σ=(salt,b,chall,rsp);
19、其中,ti,t0为有限集合中的元素,b为对称子群s1中的元素,skπ为用户π的私钥,tπ为用户π在有限集合中对应的元素,h为哈希到有限集合函数,h′为哈希到对称子群s1函数,n为环成员数量,salt为随机生成的盐值,chall为挑战值序列,rsp为响应值,com为生成的承诺值序列,p=(p1,p2)为签名者的运算流程,p1,p2为p的子流程。
20、在一种实施方式中,签名验证步骤具体包括:
21、a)解析n个用户公钥,解析签名(salt′,b,chall′,rsp′)←σ′;
22、b)计算a′←h′(l,m′);
23、c)对于所有i∈n,计算ti=[b+h′(a′,i)]·t0;
24、d)由签名值σ′,系统用户公钥r={x1,…xn}和计算得到t={t1,…tn},恢复承诺序列com′←recovercom((r,t),salt′,chall′,rsp′);
25、e)运行or协议的验证子流程:v2(com′,chall′,rsp′),当v2输出接受并且计算hfs(m,(r,t),com′),结果与签名σ′中的挑战序列chall′一致,则接受签名;否则拒绝签名;
26、其中,ti,t0为有限集合中的元素,b为对称子群s1中的元素,h′为哈希到对称子群s1函数,n为环成员数量,salt′为验证过程生成的盐值,chall′为验证过程中的挑战值序列,rsp′为验证过程中的响应值,com′为验证构成生成的承诺值序列,v=(v1,v2)为验证者的运算流程,v1,v2为v的子流程。
27、在一种实施方式中,签名追溯步骤具体包括:
28、a)从两个签名中解析b1←σ1,b2←σ2,初始化tlist列表;
29、b)计算a1←h′(l,m1),a2←h′(l,m2);
30、c)对于所有i∈n,计算ti=[h′(a1,i)+b1]·t0,t′i=[h′(a2,i)+b2]·t0,运行linkga(ti,t′i)判断ti、t′i是否相等,若1←linkga(ti,t′i),将对应pki存到列表tlist;
31、d)如果表tlist中条目数为n,输出“链接”,两个消息签名对(m1,σ1),(m2,σ2)被链接起来,表示同一用户对同一消息进行了两次签名;若表tlist中只有一个公钥,直接输出pk,表示同一用户对不同消息签名,该用户的身份被披露;若表tlist为空,输出“独立”,两个消息签名对(m1,σ1),(m2,σ2)相互独立,没有关联;
32、其中,h′为哈希到对称子群s1函数,b1、b2分别为从签名σ1、σ2解析得到的结果,a1、a2分别为s1集合中的元素,t0为有限集合中的元素,linkga(ti,t′i)为判断两个标签是否一致的函数,如果一致,则返回1,否则返回0,tlist为记录标签的表格,pk为表tlist中保存的公钥。
33、基于同样的发明构思,本发明第二方面提供了一种基于同源的可追溯环签名系统,包括:
34、密钥生成模块,用于根据输入的系统参数pp,输出每个用户的公私钥对;
35、签名生成模块,用于对于用户π,根据用户π的私钥、系统用户公钥集合r、待签名的消息m和标签l,生成用户π的签名值σ;
36、签名验证模块,用于签名者根据系统用户公钥集合r、待验证的消息m′、标签l和待验证的签名值σ′,验证σ′的正确性;
37、签名追溯模块,用于根据标签l以及标签l下的两个消息签名对(m1,σ1),(m2,σ2),判断两个签名对的关联性。
38、基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面所述的方法。
39、基于同样的发明构思,本发明第四方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
40、相对于现有技术,本发明的优点和有益的技术效果如下:
41、1、目前的后量子环签名方案处于发展阶段,大都是基于格的后量子密码原语,签名尺寸较大,基于同源的可追溯环签名尚未有人提出,即本发明提供的签名方法在保证可追溯环签名的正确性和可链接性的同时,可以满足可追溯性这一功能特性。
42、2、本发明提供的可追溯环签名方案在可链接环签名的基础上,提供了追溯功能,可以广泛应用于区块链匿名投票、电子现金系统等多个应用领域。