一种基于身份的RSA多重盲签名方法及装置与流程

未命名 07-22 阅读:148 评论:0

一种基于身份的rsa多重盲签名方法及装置
技术领域
1.本发明涉及信息安全技术领域,具体提供一种基于身份的rsa多重盲签名方法及装置。


背景技术:

2.随着经济数字化转型进程的不断加快,特别是5g、人工智能、物联网等新技术的快速普及应用,数据交换越来越频繁,数字签名技术的应用也随之越来越普遍。数字签名是利用公钥加密技术,为待签名信息增加一段强有力的证明,是传统手写签名方式的数字化模拟。一套数字签名方法通常定义两种互补运算,签名和验签,并涉及两种密钥,公钥和私钥。签名方利用私钥为待签名信息生成签名,接收方利用公钥对签名信息进行验证,如果和原信息一致,则签名认证成功,说明信息在传递过程中没有被篡改。
3.数字签名作为一种数据加密技术,具有可信、不可伪造、不可复制和不可抵赖等特性,能够保护数据的完整性,并确认数据的来源,实现网络实体间数据的安全交换。为了适应不同场景的需求,不同类型的数字签名方案相继被提出,如盲签名、多重签名等。盲签名是一种在不让签名方获取所签署消息具体内容的情况下进行数字签名的技术,多重签名允许多个签名方共同对一个信息进行签名。然而,在某些数据交换场景中,例如,数字现金中的跨行转账和电子商务中的多方结算等,签名请求方通常出于匿名性和安全性等考虑,既需要多个签名方通过数字签名的方式共同保证待签名信息的真实性和完整性,同时又不希望签名方获取待签名信息的具体内容,单一的盲签名或者多重签名技术很难满足这一需求,造成了实际应用中的诸多不便。
4.为了加强对签名请求方的隐私保护,降低待签名信息在签名过程中被泄露的风险,如何设计待签名信息的盲化机制是本领域技术人员亟待解决的问题。


技术实现要素:

5.本发明是针对上述现有技术的不足,提供一种实用性强的基于身份的rsa多重盲签名方法。
6.本发明进一步的技术任务是提供一种设计合理,安全适用的基于身份的rsa多重盲签名装置。
7.本发明解决其技术问题所采用的技术方案是:
8.一种基于身份的rsa多重盲签名方法,具有如下步骤:
9.s1、初始化阶段;
10.密钥生成中心根据rsa算法生成一对rsa公私钥(e,d),为每一个签名方生成对应的基于身份的私钥,发送给相应的签名方;
11.s2、盲化阶段;
12.签名请求方随机选取一个盲因子b,利用盲因子对待签名信息进行盲化处理,并将盲化后的信息发送给各个签名方;
13.s3、签名阶段;
14.各个签名方生成各自的随机秘密值发送给签名请求方,所述签名请求方进行聚合并广播给各个签名方且收集签名方的个人签名结果并进行聚合签名;
15.s4、解盲及验证阶段;
16.签名请求方对盲签结果进行解盲,解盲后的信息与步骤s3得到的聚合秘密值共同组成待签名信息的签名结果。
17.进一步的,在步骤s1中,密钥生成中心根据rsa算法生成一对rsa公私钥(e,d),公布两个密码哈希函数h0和h1,分别为每一个签名方生成对应的基于身份的私钥,并通过一个安全的秘密信道发送给相应的签名方。
18.进一步的,在初始化阶段具体步骤为:
19.s101、密钥生成中心随机选取两个大素数p和q,并计算
20.s102、随机选取一个整数e,满足并且计算d,使得公布公钥(e,n),秘密保存私钥(d,p,q);
21.s103、公布两个密码哈希函数h0:{0,1}
*
→zn*
,h1:{0,1}
*

{0,1}
l
,l≤log2n;
22.s104、公布签名方ui的身份idi,i=1,2,
……
,k,共k个签名方,为签名方ui生成基于身份idi的可验证私钥upki,并通过一个安全的秘密信道将身份私钥(idi,upki)发送给签名方ui;
23.s105、签名方ui对接收到的身份私钥upki进行有效性验证,判断得到的身份私钥upki是否有效,有效避免恶意的密钥生成中心攻击。
24.进一步的,在步骤s2中,具体的实施步骤为:
25.签名请求方u0选取一个随机数b∈z
n*
,对待签名信息m进行盲化,得到盲化信息m1,并将m1发送给各个签名方,签名方无法通过m1获知m的相关信息。
26.进一步的,在步骤s3中,各个签名方生成各自的随机秘密值,对秘密值进行加密之后发送给签名请求方,签名请求方对秘密值进行聚合并广播给各个签名方,各个签名方利用聚合秘密值以及各自基于身份的私钥对盲化后的信息进行个人签名,签名请求方收集签名方的个人签名结果并进行聚合签名。
27.进一步的,在签名阶段具体步骤为:
28.s301、签名方ui,i=1,2,
……
,k,随机选取一个数ri∈zn,作为秘密值,使用加密方法加密ri得到ti,并将ti发送给签名请求方u0;
29.s302、签名请求方u0对接收到的ti,i=1,2,
……
,k,进行聚合,得到聚合秘密值t,并将t广播给各个签名方;
30.s303、签名方ui在接收到(m1,t)后,对盲化信息m1进行个人签名得到si,并将si发送给签名请求方u0;
31.s304、签名请求方u0对接收到的个人签名si,i=1,2,
……
,k,进行有效性验证,判断得到的个人签名是否有效,对无效的个人签名通过身份id进行追踪;
32.s305、签名请求方u0对个人签名si,i=1,2,
……
,k,进行聚合签名,得到盲签结果。
33.进一步的,在步骤s4中,具体的实施步骤为:
34.s401、签名请求方u0对盲签结果c进行解盲,得到各签名方对待签名信息m的签名结果s,达到解盲化的目的;
35.s402、(s,t)是待签名信息m的签名,任何持有签名的个人都能基于公开信息,验证签名的有效性。
36.一种基于身份的rsa多重盲签名装置,包括:至少一个存储器和至少一个处理器;
37.所述至少一个存储器,用于存储机器可读程序;
38.所述至少一个处理器,用于调用所述机器可读程序,执行一种基于身份的rsa多重盲签名方法。
39.本发明的一种基于身份的rsa多重盲签名方法及装置和现有技术相比,具有以下突出的有益效果:
40.本发明既可以实现对待签名信息的多重签名,同时实现各签名方在签名过程中无法获取所签署信息的具体内容,降低了待签名信息在多方传递过程中的泄露风险,有效满足数字现金及电子商务等场景中的匿名性和安全性需求。
41.通过引入密钥生成中心,各签名方仅接收身份私钥,rsa私钥始终保存在密钥生成中心,有效避免了私钥的传递以及传统公钥框架下数字证书的管理问题,降低了计算复杂性。通过身份私钥,可以对个人签名的有效性进行验证,对不能通过验证的个人签名可以通过签名方id进行追踪,增强了签名的可验性和安全性。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.附图1是一种基于身份的rsa多重盲签名方法中签名流程方法示意图。
具体实施方式
44.为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
45.下面给出一个最佳实施例:
46.如图1所示,本实施例中的一种基于身份的rsa多重盲签名方法,具有如下四个阶段,分别为:
47.s1、初始化阶段,包括密钥生成中心根据rsa算法生成一对rsa公私钥(e,d),公布两个密码哈希函数h0和h1,分别为每一个签名方生成对应的基于身份的私钥,并通过一个安全的秘密信道将其发送给相应的签名方。
48.s2、盲化阶段,包括签名请求方随机选取一个盲因子b,利用盲因子对待签名信息进行盲化处理,并将盲化后的信息发送给各个签名方。
49.s3、签名阶段,包括各个签名方生成各自的随机秘密值,对秘密值进行加密之后发
送给签名请求方,签名请求方对秘密值进行聚合并广播给各个签名方,各个签名方利用聚合秘密值以及各自基于身份的私钥对盲化后的信息进行个人签名,签名请求方收集签名方的个人签名结果并进行聚合签名。
50.s4、解盲及验证阶段,包括签名请求方对盲签结果进行解盲,解盲后的信息与步骤s3得到的聚合秘密值共同组成待签名信息的签名结果。
51.具体步骤如下:
52.s1、初始化阶段;
53.进一步包括:
54.s101、密钥生成中心随机选取两个大素数p和q,并计算
55.s102、随机选取一个整数e,满足并且计算d,使得公布公钥(e,n),秘密保存私钥(d,p,q);
56.s103、公布两个密码哈希函数h0:{0,1}
*
→zn*
,h1:{0,1}
*

{0,1}
l
,l≤log2n;
57.s104、公布签名方ui的身份idi,i=1,2,
……
,k,共k个签名方,计算签名方ui的身份私钥upki=h0(idi)d(mod n),并通过一个安全的秘密信道将身份私钥(idi,upki)发送给签名方ui。
58.s105、签名方ui通过测试upk
ie
=h0(idi)(mod n)是否成立,验证得到的身份私钥是否有效。
59.s2、盲化阶段;
60.签名请求方u0选取一个随机数b∈z
n*
,对待签名信息m进行盲化,得到盲化信息m1=be·
h0(m)(mod n),并将m1发送给各个签名方。
61.s3、签名阶段;
62.进一步包括:
63.s301、签名方ui,i=1,2,
……
,k,随机选取一个数ri∈zn,作为其秘密值,计算ti=r
ie
(mod n),并将ti发送给签名请求方u0;
64.s302、签名请求方u0计算并将t广播给各个签名方;
65.s303、签名方ui在接收到(m1,t)后,计算si=m1·
upki·rih1(t)
(mod n),并将si发送给签名请求方u0;
66.s304、签名请求方u0通过测试s
ie
=m
1e
·
h0(idi)
·
t
ih1(t)
(mod n)是否成立,验证得到的个人签名是否有效,对无效的个人签名通过身份id进行追踪;
67.s305、签名请求方u0对个人签名si,i=1,2,
……
,k,进行聚合签名,计算
68.s4、解盲及验证阶段;
69.进一步包括:
70.s401、签名请求方u0对c进行解盲,计算s=c
·
b-ke
(mod n),达到解盲化的目的;
71.s402、(s,t)是待签名信息m的签名,任何人都能通过测试是否成立,验证签名的有效性。
72.基于上述方法,本实施例中的一种基于身份的rsa多重盲签名装置,包括:至少一
个存储器和至少一个处理器;
73.所述至少一个存储器,用于存储机器可读程序;
74.所述至少一个处理器,用于调用所述机器可读程序,执行一种基于身份的rsa多重盲签名方法。
75.上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种基于身份的rsa多重盲签名方法及装置权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
76.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术特征:
1.一种基于身份的rsa多重盲签名方法,其特征在于,具有如下步骤:s1、初始化阶段;密钥生成中心根据rsa算法生成一对rsa公私钥(e,d),为每一个签名方生成对应的基于身份的私钥,发送给相应的签名方;s2、盲化阶段;签名请求方随机选取一个盲因子b,利用盲因子对待签名信息进行盲化处理,并将盲化后的信息发送给各个签名方;s3、签名阶段;各个签名方生成各自的随机秘密值发送给签名请求方,所述签名请求方进行聚合并广播给各个签名方且收集签名方的个人签名结果并进行聚合签名;s4、解盲及验证阶段;签名请求方对盲签结果进行解盲,解盲后的信息与步骤s3得到的聚合秘密值共同组成待签名信息的签名结果。2.根据权利要求1所述的一种基于身份的rsa多重盲签名方法,其特征在于,在步骤s1中,密钥生成中心根据rsa算法生成一对rsa公私钥(e,d),公布两个密码哈希函数h0和h1,分别为每一个签名方生成对应的基于身份的私钥,并通过一个安全的秘密信道发送给相应的签名方。3.根据权利要求1或2所述的一种基于身份的rsa多重盲签名方法,其特征在于,在初始化阶段具体步骤为:s101、密钥生成中心随机选取两个大素数p和q,并计算n=p
·
q,s102、随机选取一个整数e,满足并且计算d,使得公布公钥(e,n),秘密保存私钥(d,p,q);s103、公布两个密码哈希函数h0:{0,1}
*

z
n*
,h1:{0,1}
*

{0,1}
l
,l≤log2n;s104、公布签名方u
i
的身份id
i
,i=1,2,
……
,k,共k个签名方,为签名方u
i
生成基于身份id
i
的可验证私钥upk
i
,并通过一个安全的秘密信道将身份私钥(id
i
,upk
i
)发送给签名方u
i
;s105、签名方u
i
对接收到的身份私钥upk
i
进行有效性验证,判断得到的身份私钥upk
i
是否有效。4.根据权利要求3所述的一种基于身份的rsa多重盲签名方法,其特征在于,在步骤s2中,具体的实施步骤为:签名请求方u0选取一个随机数b∈z
n*
,对待签名信息m进行盲化,得到盲化信息m1,并将m1发送给各个签名方,签名方无法通过m1获知m的相关信息。5.根据权利要求4所述的一种基于身份的rsa多重盲签名方法,其特征在于,在步骤s3中,各个签名方生成各自的随机秘密值,对秘密值进行加密之后发送给签名请求方,签名请求方对秘密值进行聚合并广播给各个签名方,各个签名方利用聚合秘密值以及各自基于身份的私钥对盲化后的信息进行个人签名,签名请求方收集签名方的个人签名结果并进行聚合签名。
6.根据权利要求5所述的一种基于身份的rsa多重盲签名方法,其特征在于,在签名阶段具体步骤为:s301、签名方u
i
,i=1,2,
……
,k,随机选取一个数r
i
∈z
n
,作为秘密值,使用加密方法加密r
i
得到t
i
,并将t
i
发送给签名请求方u0;s302、签名请求方u0对接收到的t
i
,i=1,2,
……
,k,进行聚合,得到聚合秘密值t,并将t广播给各个签名方;s303、签名方u
i
在接收到(m1,t)后,对盲化信息m1进行个人签名得到s
i
,并将s
i
发送给签名请求方u0;s304、签名请求方u0对接收到的个人签名s
i
,i=1,2,
……
,k,进行有效性验证,判断得到的个人签名是否有效,对无效的个人签名通过身份id进行追踪;s305、签名请求方u0对个人签名s
i
,i=1,2,
……
,k,进行聚合签名,得到盲签结果。7.根据权利要求6所述的一种基于身份的rsa多重盲签名方法,其特征在于,在步骤s4中,具体的实施步骤为:s401、签名请求方u0对盲签结果c进行解盲,得到各签名方对待签名信息m的签名结果s,达到解盲化的目的;s402、(s,t)是待签名信息m的签名,任何持有签名的个人都能基于公开信息,验证签名的有效性。8.一种基于身份的rsa多重盲签名装置,其特征在于,包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至7中任一所述的方法。

技术总结
本发明公开了一种基于身份的RSA多重盲签名方法及装置,属于信息安全技术领域,本发明要解决的技术问题为如何设计待签名信息的盲化机制,采用的技术方案为:S1、初始化阶段;密钥生成中心根据RSA算法生成一对RSA公私钥,为每一个签名方生成对应的基于身份的私钥,发送给相应的签名方;S2、盲化阶段;签名请求方随机选取一个盲因子b,利用盲因子对待签名信息进行盲化处理,并将盲化后的信息发送给各个签名方;S3、签名阶段;各个签名方生成各自的随机秘密值发送给签名请求方,签名请求方进行聚合并广播给各个签名方且收集签名方的个人签名结果并进行聚合签名;S4、解盲及验证阶段;签名请求方对盲签结果进行解盲。求方对盲签结果进行解盲。求方对盲签结果进行解盲。


技术研发人员:张峰 林一伟 李照川 朱家兵 林杰 王冠军
受保护的技术使用者:浪潮软件科技有限公司
技术研发日:2023.04.24
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐