CN109861826B - 一种双向代理重签名的实现方法及装置 - Google Patents

一种双向代理重签名的实现方法及装置 Download PDF

Info

Publication number
CN109861826B
CN109861826B CN201910124523.XA CN201910124523A CN109861826B CN 109861826 B CN109861826 B CN 109861826B CN 201910124523 A CN201910124523 A CN 201910124523A CN 109861826 B CN109861826 B CN 109861826B
Authority
CN
China
Prior art keywords
signature
trustee
sub
target message
signing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910124523.XA
Other languages
English (en)
Other versions
CN109861826A (zh
Inventor
雷艳芳
胡明生
贾志娟
王利朋
程亚歌
张家蕾
崔文军
付俊俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Normal University
Original Assignee
Zhengzhou Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Normal University filed Critical Zhengzhou Normal University
Priority to CN201910124523.XA priority Critical patent/CN109861826B/zh
Publication of CN109861826A publication Critical patent/CN109861826A/zh
Application granted granted Critical
Publication of CN109861826B publication Critical patent/CN109861826B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种双向代理重签名的实现方法,该方法根据委托者的私钥和公钥、受托者私钥和公钥生成重签名密钥,并将重签名密钥拆分为N个重签名子密钥,并将N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名,可提高签名的私密性和安全性;利用服务器辅助验证协议对受托者对于目标消息的初始签名进行验证,使复杂的验证操作在服务器端完成,从而能够减少移动互联网中的终端的计算量和计算复杂度,提高验证效率,故本发明提高了移动互联网的信息安全和双向代理重签名的验证效率。相应地,本发明公开的一种双向代理重签名的实现装置、设备及可读存储介质,也同样具有上述技术效果。

Description

一种双向代理重签名的实现方法及装置
技术领域
本发明涉及信息安全技术领域,更具体地说,涉及一种双向代理重签名的实现方法、装置、设备及可读存储介质。
背景技术
随着信息时代的到来和信息技术的迅速发展,互联网已经渗透到我们日常生活的方方面面。平板,智能手机,无线传感器和电子钥匙等移动终端已成为我们生活和工作中不可或缺的一部分。网络技术的进一步发展为我们的生活带来了更多便利。电子商务和电子政务的兴起使人们从真实的物质世界进入了一个方便的电子时代,可以通过互联网随时随地进行在线购物、库存操作、通信和网络资源访问等。
然而,由于移动互联网中的平板,智能手机,无线传感器等终端设备的计算能力较低,而人们需要在资源请求和资源访问时终端要执行验证任务,这需要耗费大量的时间。另外,由于移动互联网环境比较复杂,故安全性较低。因此,有必要设计一种对设备终端计算能力、能量供应要求低并安全性高的方案,以应用于移动互联网环境中。
代理重签名是密码学的一个重要的研究方向,国内外学者致力于这一方向做了大量的工作。近年来,代理重签名算法引起了广泛的关注,一些具有特殊性质的代理重签名方案被提出,比如基于身份的代理重签名、基于格的代理重签名等。代理重签名的实现方案中包括:委托者Bob、受托者Alice、验证者、代理者和服务器。在现有的代理重签名方案中,代理者的权力比较集中,一个代理者就可以完成重签名,这不利于信息的安全性。
并且,现有的代理重签名方案一般通过验证者验证受托者Alice对于消息的初始签名,而由于验证过程涉及的运算量较大、且移动互联网中的各个终端的计算能力较低,所以验证效果将大幅度降低。也就是说,若直接将现有的代理重签名方案应用于移动互联网,移动互联网中的终端很可能不堪重负,方案的实现效果将可能大打折扣。
因此,如何将代理重签名应用于移动互联网,并提高移动互联网的信息安全性和代理重签名验证的效率,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种双向代理重签名的实现方法、装置、设备及可读存储介质,以将代理重签名应用于移动互联网,并提高移动互联网的信息安全性和代理重签名验证的效率。
为实现上述目的,本发明实施例提供了如下技术方案:
一种双向代理重签名的实现方法,应用于移动互联网,包括:
获取委托者的私钥和公钥、受托者的私钥和公钥,并根据所述委托者的私钥和公钥、所述受托者私钥和公钥生成重签名密钥;
将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;
从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名;
获取受托者对于所述目标消息的初始签名,并利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证。
其中,所述获取委托者的私钥和公钥、受托者的私钥和公钥之前,还包括:
设定目标值,并根据所述目标值计算系统参数;
根据所述系统参数计算所述委托者的私钥和公钥、所述受托者的私钥和公钥。
其中,所述获取受托者对于所述目标消息的初始签名之前,还包括:
根据所述受托者的私钥和公钥、所述目标消息,生成所述受托者对于所述目标消息的初始签名。
其中,所述每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名,包括:
每个代理者按照目标公式组验证自身得到的重签名子密钥是否有效;若是,则计算委托者对于所述目标消息的子签名;
所述目标公式组为:
Figure BDA0001972663470000031
其中,h为任意生成元,g是群G1中的一个生成元;
Figure BDA0001972663470000032
为重签名子密钥.
Figure BDA0001972663470000033
为由中国剩余定理求解出的重签名密钥;
Figure BDA0001972663470000034
其均为数学表达式记号,
Figure BDA0001972663470000035
为多项式中的变量。
其中,所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名之前,还包括:
通过验证公式对从代理者处获取的子签名进行验证;若验证通过,则执行所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名的步骤;
其中,所述验证公式为:e(σB,i,g)=e(vkt,i,H(m)),σB,i为子签名,νkt,i为代理者Pi的可验证公钥,H(m)为所述目标消息的哈希值。
其中,所述利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证,包括:
验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x),将(m,σ′)发送给服务器;
服务器计算η1=e(σ′1,g)和
Figure BDA0001972663470000036
将(η1,η2)发送给验证者;
验证者计算等式η1=(pk)xη2是否成立;
若成立,则确定所述受托者对于所述目标消息的初始签名正确;
若不成立,则确定所述受托者对于所述目标消息的初始签名无效;
其中,σ′是由服务器辅助验证协议计算得到的所述目标消息m的签名,pk为委托者的公钥,g是群G1中的一个生成元。
其中,还包括:
当所述受托者对于所述目标消息的初始签名无效时,生成相应的提示信息并展示。
一种双向代理重签名的实现装置,应用于移动互联网,包括:
获取模块,用于获取委托者的私钥和公钥、受托者的私钥和公钥,并根据所述委托者的私钥和公钥、所述受托者私钥和公钥生成重签名密钥;
分配模块,用于将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;
重签名生成模块,用于从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名;
验证模块,用于获取受托者对于所述目标消息的初始签名,并利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证。
一种双向代理重签名的实现设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一项所述的双向代理重签名的实现方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的双向代理重签名的实现方法的步骤。
通过以上方案可知,本发明实施例提供的一种双向代理重签名的实现方法,应用于移动互联网,包括:获取委托者的私钥和公钥、受托者的私钥和公钥,并根据所述委托者的私钥和公钥、所述受托者私钥和公钥生成重签名密钥;将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名;获取受托者对于所述目标消息的初始签名,并利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证。
可见,所述方法对现有的代理重签名方案进行了改进,并将改进后的代理重签名方案应用于移动互联网。其中,对现有的代理重签名方案的改进在于:根据委托者的私钥和公钥、受托者私钥和公钥生成重签名密钥,以此提高签名的私密性和安全性;将重签名密钥拆分为N个重签名子密钥,并将N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名,以此分散代理者的权力,提高信息安全性;为了使移动互联网中的低计算能力的终端快速完成验证操作,利用服务器辅助验证协议对受托者对于目标消息的初始签名进行验证,使复杂的验证操作在服务器端完成,从而能够减少移动互联网中的终端的计算量和计算复杂度,提高验证效率。因此,本发明公开的代理重签名方法适用于移动互联网,并能够提高移动互联网的信息安全性和双向代理重签名的验证效率。
相应地,本发明实施例提供的一种双向代理重签名的实现装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种双向代理重签名的实现方法流程图;
图2为本发明实施例公开的另一种双向代理重签名的实现方法流程图;
图3为本发明实施例公开的一种双向代理重签名的实现装置示意图;
图4为本发明实施例公开的一种双向代理重签名的实现设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种双向代理重签名的实现方法、装置、设备及可读存储介质,以将代理重签名应用于移动互联网,并提高移动互联网的信息安全性和代理重签名验证的效率。
参见图1,本发明实施例提供的一种双向代理重签名的实现方法,应用于移动互联网,包括:
S101、获取委托者的私钥和公钥、受托者的私钥和公钥,并根据委托者的私钥和公钥、受托者私钥和公钥生成重签名密钥;
S102、将重签名密钥拆分为N个重签名子密钥,并将N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;重签名子密钥和代理者一一对应,N为正整数;
S103、从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将预设数量个子签名组合为委托者对于目标消息的重签名;
具体的,预设的生成重签名生成规则包括:根据委托者Bob的私钥skB=b,受托者Alice的公钥
Figure BDA0001972663470000061
生成重签名密钥。具体的,输入Bob的私钥skB=b和受托者Alice的公钥进行如下运算:
(1)在[1,q-1]中任意找出两个随机数1i,mi,并计算如下公式:
Figure BDA0001972663470000062
那么由中国剩余定理可得α0∈ZF,α0=skB=bmod qi,i=0,1,2,...,n-1;
构造一个n-1次多项式:
Figure BDA0001972663470000063
设定正整数t(1≤t≤n),那么存在n-1次多项式:
Figure BDA0001972663470000064
(2)公布
Figure BDA0001972663470000065
Figure BDA0001972663470000066
j=0,1,...,n-1,那么由中国剩余定理可以求解出重签名密钥为
Figure BDA0001972663470000067
其中:
Figure BDA0001972663470000071
其中t=1,2,...,n。
S104、获取受托者对于目标消息的初始签名,并利用委托者对于目标消息的重签名和服务器辅助验证协议对受托者对于目标消息的初始签名进行验证。
可见,本实施例提供了一种双向代理重签名的实现方法,所述方法对现有的代理重签名方案进行了改进,并将改进后的代理重签名方案应用于移动互联网。其中,对现有的代理重签名方案的改进在于:根据委托者的私钥和公钥、受托者私钥和公钥生成重签名密钥,以此提高签名的私密性和安全性;将重签名密钥拆分为N个重签名子密钥,并将N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名,以此分散代理者的权力,提高信息安全性;为了使移动互联网中的低计算能力的终端快速完成验证操作,利用服务器辅助验证协议对受托者对于目标消息的初始签名进行验证,使复杂的验证操作在服务器端完成,从而能够减少移动互联网中的终端的计算量和计算复杂度,提高验证效率。因此,本发明公开的代理重签名方法适用于移动互联网,并能够提高移动互联网的信息安全性和双向代理重签名的验证效率。
基于上述实施例,需要说明的是,所述获取委托者的私钥和公钥、受托者的私钥和公钥之前,还包括:
设定目标值,并根据所述目标值计算系统参数;
根据所述系统参数计算所述委托者的私钥和公钥、所述受托者的私钥和公钥。
基于上述实施例,需要说明的是,所述获取受托者对于所述目标消息的初始签名之前,还包括:
根据所述受托者的私钥和公钥、所述目标消息,生成所述受托者对于所述目标消息的初始签名。
基于上述实施例,需要说明的是,所述每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名,包括:
每个代理者按照目标公式组验证自身得到的重签名子密钥是否有效;若是,则计算委托者对于所述目标消息的子签名;
所述目标公式组为:
Figure BDA0001972663470000081
其中,h为任意生成元,g是群G1中的一个生成元;
Figure BDA0001972663470000082
为重签名子密钥,
Figure BDA0001972663470000083
为由中国剩余定理求解出的重签名密钥;
Figure BDA0001972663470000084
其均为数学表达式记号,
Figure BDA0001972663470000085
为多项式中的变量。
基于上述实施例,需要说明的是,所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名之前,还包括:
通过验证公式对从代理者处获取的子签名进行验证;若验证通过,则执行所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名的步骤;
其中,所述验证公式为:e(σB,i,g)=e(vkt,i,H(m)),σB,i为子签名,νkt,i为代理者Pi的可验证公钥,H(m)为所述目标消息的哈希值。
基于上述实施例,需要说明的是,所述利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证,包括:
验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x),将(m,σ′)发送给服务器;
服务器计算η1=e(σ′1,g)和
Figure BDA0001972663470000086
将(η1,η2)发送给验证者;
验证者计算等式η1=(pk)xη2是否成立;
若成立,则确定所述受托者对于所述目标消息的初始签名正确;
若不成立,则确定所述受托者对于所述目标消息的初始签名无效;
其中,σ′是由服务器辅助验证协议计算得到的所述目标消息m的签名,pk为委托者的公钥,g是群G1中的一个生成元。
基于上述实施例,需要说明的是,还包括:
当所述受托者对于所述目标消息的初始签名无效时,生成相应的提示信息并展示。
本发明实施例公开了另一种双向代理重签名的实现方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
参见图2,本发明实施例提供的另一种双向代理重签名的实现方法,包括:
S201、生成系统参数(Setup):
给定常数K,通过(1k)→cp运算得到系统参数cp,并公开参数cp。
具体的,设q是一个长度为k的素数,G1和G2分别是两个阶数为q的循环乘法群,令g是群G1的生成元,e(G1×G1→G2)是双线性映射,H()是公开的、抗碰撞的单向哈希函数:H:{0,1}*→G1
任意选取n个两两互素的正整数q0<q1<...<qn-1,满足条件gcd(qi,qj)=1和gcd(qi,q)=1,其中,0≤i≤j≤n-1,并且令F=q0q1q2...qn-1,那么系统参数(cp)=(e,q,G1,G2,g,h,H,F,q0,q1,q2,...,qn-1)。
S202、生成密钥(Keygen):
由S201中的系统参数cp和(cp)→(pk,sk)运算得到委托者Bob的公、私钥对(pkB,skB),受托者Alice的公、私钥对(pkA,skA)。
具体的,输入安全参数cp=1k,选择随机的x∈Zq,可输出公私钥对(pk,sk)=(gx,x)。
S203、生成重签名密钥(Rekey):
根据委托者Bob的公、私钥对(pkB,skB),受托者Alice的公、私钥对(pkA,skA)生成重签名密钥,并通过Rekey算法把重签名密钥rkA→B分散成N份并分配给N个代理者;N个代理者分别生成重签名rkA→Bi和重签名公钥pkA→Bi,从而每个代理者都能将Alice的对于目标消息m的签名转换为Bob对于目标消息m的部分签名。
其中,skA参与生成重签名密钥,可提高重签名密钥的隐私安全性。skA不参与生成重签名密钥也可。
具体的,输入Alice和Bob的私钥skA=a和skB=b,然后进行如下运算:
(1)在[1,q-1]中任意找出两个随机数1i,mi,并计算下述公式:
Figure BDA0001972663470000101
那么由中国剩余定理可得α0∈ZF,α0=skB=bmodqi,i=0,1,2,...,n-1;
构造一个n-1次多项式:
Figure BDA0001972663470000102
设定正整数t(1≤t≤n),那么存在n-1次多项式:
Figure BDA0001972663470000103
(2)公布
Figure BDA0001972663470000104
Figure BDA0001972663470000105
j=0,1,...,n-1,那么由中国剩余定理可以求解出重签名密钥为
Figure BDA0001972663470000106
其中:
Figure BDA0001972663470000107
其中t=1,2,...,n,然后秘密地将信息
Figure BDA0001972663470000108
发送给代理者Pi,i=1,2,...,n,其中X0=gb/a,Y0=pkB=gb
(3)代理者Pi(1≤i≤n)计算
Figure BDA0001972663470000109
并按照目标公式组验证自身的子密钥
Figure BDA00019726634700001010
是否有效;所述目标公式组为:
Figure BDA00019726634700001011
若验证上述的两个等式成立,则说明子密钥
Figure BDA00019726634700001012
有效。那么给定任意正整数t(1≤t≤n),代理者Pi据此和
Figure BDA00019726634700001013
可生成重签名密钥
Figure BDA00019726634700001014
并计算
Figure BDA00019726634700001016
广播其验证公钥vkt,i,其中:
Figure BDA00019726634700001015
S204、生成签名(Sign):
基于受托者Alice的私钥skA,生成受托者对于目标消息m的初始签名σA(m),此初始签名与受托者Alice公钥pkA对于目标消息的签名相对应。
具体的,给定受托者的私钥为a和一个nmbit长的消息
Figure BDA0001972663470000111
输出一个对应于公钥pkA的消息m的原始签名
Figure BDA0001972663470000112
其中:
Figure BDA0001972663470000113
S205、生成重签名(Resign):
在众多代理者中随机选择一位代理者作为合成者,合成者收集t个代理者的部分重签名。当收集得到的t个部分重签名均合法时,合成者把这些合法的部分重签名组合为一个重签名σB(m)并输出。
(1)生成子密钥:假设门限值为t(1≤t≤n)。输入门限值t、公钥pkA、消息m和签名σA;验证Verify(pkA,m,σ)=1,若通过验证,则输入重签名子密钥
Figure BDA0001972663470000114
输出部分重签名
Figure BDA0001972663470000115
其中i=1,2,...,n;若未通过验证,则拒绝σA,则输出0。
(2)生成重密钥:合成者Combiner收集部分重签名σB,i后,通过e(σB,i,g)=e(vkt,i,H(m))验证其有效性,vkt,i为代理者Pi的可验证公钥。若合成者获取了至少t个合法的部分重签名
Figure BDA0001972663470000116
i=1,2,...,t,则组合得到的重签名为:
Figure BDA0001972663470000117
其中γ0,i为Lagrange插值多项式的系数。
S206、验证者验证签名(Verify):
基于公钥pk和目标消息m对初始签名σA(m)进行验证,若初始签名σA(m)是对应于公钥pk的目标消息m的有效签名,则输出1;否则,输出0。
基于公钥pk和目标消息m对初始签名σA(m)进行验证的验证公式为:
e(σ,g)=e(H(m),pkA)
当此验证公式成立时,输出1;否则,输出0。
S207、通过服务器辅助验证协议验证签名:根据系统参数cp为验证者生成一个字符串Vst;对于字符串Vst,公钥pk和目标消息m,若服务器让验证者确信初始签名σA(m)是一个有效签名,则输出1;否则,输出0。
具体的,给定Vst=x,公钥pk和签名消息对(m,σ=(σ1,σ2)),验证者和服务器之间的服务器辅助验证交互协议如下:
(1)验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x),将(m,σ′)发送给服务器;
(2)服务器计算η1=e(σ′1,g)和
Figure BDA0001972663470000121
将(η1,η2)发送给验证者;
(3)验证者计算等式η1=(pk)xη2是否成立;若成立,则确定所述受托者对于所述目标消息的初始签名正确;若不成立,则确定所述受托者对于所述目标消息的初始签名无效;其中,σ′是由服务器辅助验证协议计算得到的所述目标消息m的签名,pk为委托者的公钥,g是群G1中的一个生成元,η1和η2为预先设定的参数,其他参数无实际含义。
其中,由验证者来计算三次幂运算,由服务器计算三次双线性对运算,由于三次幂运算的计算过程比三次双线性对运算的计算过程简单,因此可降低验证者的计算复杂度。
需要说明的是,由于移动互联网中的终端的计算能力有限,不能执行复杂的验证运算,因此可以通过服务器辅助验证协议把涉及指数、双线性对的复杂运算的验证任务转移给服务器,借助服务器的运算功能来完成签名的验证,从而可以提高验证效率。
本实施例提供的方案基于门限代理重签名和服务器辅助验证体制,其中的门限代理重签名算法能够抵抗联合攻击,克服了多种安全缺陷。验证者与服务器通过两者之间的交互协议将复杂的双线性对运算任务转移给服务器执行,极大地降低了验证者的计算复杂度,提高了验证效率,很好地满足了低端计算设备的计算能力弱、能源供应有限的需求,即适应于移动互联网领域。
下面对本发明实施例提供的一种双向代理重签名的实现装置进行介绍,下文描述的一种双向代理重签名的实现装置与上文描述的一种双向代理重签名的实现方法可以相互参照。
参见图3,本发明实施例提供的一种双向代理重签名的实现装置,应用于移动互联网,包括:
获取模块301,用于获取委托者的私钥和公钥、受托者的私钥和公钥,并根据所述委托者的私钥和公钥、所述受托者私钥和公钥生成重签名密钥;
分配模块302,用于将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;
重签名生成模块303,用于从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名;
验证模块304,用于获取受托者对于所述目标消息的初始签名,并利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证。
其中,还包括:
设定模块,用于设定目标值,并根据所述目标值计算系统参数;
计算模块,用于根据所述系统参数计算所述委托者的私钥和公钥、所述受托者的私钥和公钥。
其中,还包括:
初始签名生成模块,用于根据所述受托者的私钥和公钥、所述目标消息,生成所述受托者对于所述目标消息的初始签名。
其中,所述分配模块具体用于:
每个代理者按照目标公式组验证自身得到的重签名子密钥是否有效;若是,则计算委托者对于所述目标消息的子签名;
所述目标公式组为:
Figure BDA0001972663470000131
其中,h为任意生成元,g是群G1中的一个生成元;
Figure BDA0001972663470000132
为重签名子密钥.
Figure BDA0001972663470000133
为由中国剩余定理求解出的重签名密钥;
Figure BDA0001972663470000134
其均为数学表达式记号,
Figure BDA0001972663470000135
为多项式中的变量。
其中,还包括:
子签名验证验证模块,用于通过验证公式对从代理者处获取的子签名进行验证;若验证通过,则执行所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名的步骤;
其中,所述验证公式为:e(σB,i,g)=e(vkt,i,H(m)),σB,i为子签名,νkt,i为代理者Pi的可验证公钥,H(m)为所述目标消息的哈希值。
其中,所述验证模块具体用于:
验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x),将(m,σ′)发送给服务器;
服务器计算η1=e(σ′1,g)和
Figure BDA0001972663470000141
将(η1,η2)发送给验证者;
验证者计算等式η1=(pk)xη2是否成立;
若成立,则确定所述受托者对于所述目标消息的初始签名正确;
若不成立,则确定所述受托者对于所述目标消息的初始签名无效;
其中,σ′是由服务器辅助验证协议计算得到的所述目标消息m的签名,pk为委托者的公钥,g是群G1中的一个生成元。
其中,还包括:
提示模块,用于当所述受托者对于所述目标消息的初始签名无效时,生成相应的提示信息并展示。
可见,本实施例提供了一种双向代理重签名的实现装置,包括:获取模块、分配模块、重签名生成模块以及验证模块。首先由获取模块获取委托者的私钥和公钥、受托者的私钥和公钥,并根据所述委托者的私钥和公钥、所述受托者私钥和公钥生成重签名密钥;然后分配模块将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;进而重签名生成模块从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名;最后验证模块获取受托者对于所述目标消息的初始签名,并利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证。如此各个模块之间分工合作,各司其职,从而使本发明公开的代理重签名方法适用于移动互联网,并能够提高移动互联网的信息安全性和双向代理重签名的验证效率。
下面对本发明实施例提供的一种双向代理重签名的实现设备进行介绍,下文描述的一种双向代理重签名的实现设备与上文描述的一种双向代理重签名的实现方法及装置可以相互参照。
参见图4,本发明实施例提供的一种双向代理重签名的实现设备,包括:
存储器401,用于存储计算机程序;
处理器402,用于执行所述计算机程序时实现上述任意实施例所述的双向代理重签名的实现方法的步骤。
下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种双向代理重签名的实现方法、装置及设备可以相互参照。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的双向代理重签名的实现方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种双向代理重签名的实现方法,其特征在于,应用于移动互联网,包括:
获取委托者的私钥和公钥、受托者的私钥和公钥,并根据所述委托者的私钥和公钥、所述受托者私钥和公钥生成重签名密钥;
将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;
从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名;
获取受托者对于所述目标消息的初始签名,并利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证。
2.根据权利要求1所述的双向代理重签名的实现方法,其特征在于,所述获取委托者的私钥和公钥、受托者的私钥和公钥之前,还包括:
设定目标值,并根据所述目标值计算系统参数;
根据所述系统参数计算所述委托者的私钥和公钥、所述受托者的私钥和公钥。
3.根据权利要求2所述的双向代理重签名的实现方法,其特征在于,所述获取受托者对于所述目标消息的初始签名之前,还包括:
根据所述受托者的私钥和公钥、所述目标消息,生成所述受托者对于所述目标消息的初始签名。
4.根据权利要求3所述的双向代理重签名的实现方法,其特征在于,所述每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名,包括:
每个代理者按照目标公式组验证自身得到的重签名子密钥是否有效;若是,则计算委托者对于所述目标消息的子签名;
所述目标公式组为:
Figure FDA0003458236500000021
其中,h为任意生成元,g是群G1中的一个生成元;
Figure FDA0003458236500000022
为重签名子密钥,
Figure FDA0003458236500000023
Figure FDA0003458236500000024
为由中国剩余定理求解出的重签名密钥;
Figure FDA0003458236500000025
其均为数学表达式记号,
Figure FDA0003458236500000026
为多项式中的变量;pkA为所述受托者的公钥;0≤i≤j≤n-1,n为两两互素的正整数q0<q1<...<qn-1的个数;e()表示双线性映射。
5.根据权利要求4所述的双向代理重签名的实现方法,其特征在于,所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名之前,还包括:
通过验证公式对从代理者处获取的子签名进行验证;若验证通过,则执行所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名的步骤;
其中,所述验证公式为:e(σB,i,g)=e(νkt,i,H(m)),σB,i为子签名,νkt,i为代理者Pi的可验证公钥,H(m)为所述目标消息的哈希值,g是群G1中的一个生成元,e()表示双线性映射。
6.根据权利要求1-5任意一项所述的双向代理重签名的实现方法,其特征在于,所述利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证,包括:
验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x),将(m,σ′)发送给服务器;
服务器计算η1=e(σ′1,g)和
Figure FDA0003458236500000027
将(η1,η2)发送给验证者;
验证者计算等式η1=(pk)xη2是否成立;
若成立,则确定所述受托者对于所述目标消息的初始签名正确;
若不成立,则确定所述受托者对于所述目标消息的初始签名无效;
其中,σ′是由服务器辅助验证协议计算得到的所述目标消息m的签名,
Figure FDA0003458236500000028
nm为所述目标消息的比特长度;x为字符串;e()表示双线性映射;pk为委托者的公钥;g是群G1中的一个生成元;
Figure FDA0003458236500000029
7.根据权利要求6所述的双向代理重签名的实现方法,其特征在于,还包括:
当所述受托者对于所述目标消息的初始签名无效时,生成相应的提示信息并展示。
8.一种双向代理重签名的实现装置,其特征在于,应用于移动互联网,包括:
获取模块,用于获取委托者的私钥和公钥、受托者的私钥和公钥,并根据所述委托者的私钥和公钥、所述受托者私钥和公钥生成重签名密钥;
分配模块,用于将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;
重签名生成模块,用于从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名;
验证模块,用于获取受托者对于所述目标消息的初始签名,并利用所述委托者对于所述目标消息的重签名和服务器辅助验证协议对所述受托者对于所述目标消息的初始签名进行验证。
9.一种双向代理重签名的实现设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1-7任意一项所述的双向代理重签名的实现方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任意一项所述的双向代理重签名的实现方法的步骤。
CN201910124523.XA 2019-02-18 2019-02-18 一种双向代理重签名的实现方法及装置 Active CN109861826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910124523.XA CN109861826B (zh) 2019-02-18 2019-02-18 一种双向代理重签名的实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910124523.XA CN109861826B (zh) 2019-02-18 2019-02-18 一种双向代理重签名的实现方法及装置

Publications (2)

Publication Number Publication Date
CN109861826A CN109861826A (zh) 2019-06-07
CN109861826B true CN109861826B (zh) 2022-02-18

Family

ID=66898328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910124523.XA Active CN109861826B (zh) 2019-02-18 2019-02-18 一种双向代理重签名的实现方法及装置

Country Status (1)

Country Link
CN (1) CN109861826B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110311791A (zh) * 2019-07-03 2019-10-08 郑州师范学院 一种消息验证方法、装置、设备及可读存储介质
CN110677243B (zh) * 2019-09-18 2021-12-03 成都飞机工业(集团)有限责任公司 一种支持异构公钥系统的代理重签名方案的构造方法
CN110610102B (zh) * 2019-09-23 2021-06-25 郑州师范学院 一种数据访问方法、装置及系统
CN111988147B (zh) * 2020-08-20 2022-06-03 上海万向区块链股份公司 组合签名及验证签名方法、系统及存储介质
CN113297630B (zh) * 2021-05-27 2022-09-30 河南科技大学 一种前向安全群签名管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494862A (zh) * 2008-12-05 2009-07-29 北京工业大学 无线网状网络接入认证方法
CN103095697A (zh) * 2013-01-09 2013-05-08 华东师范大学 一种多重签名生成与验证系统及其方法
CN106411999A (zh) * 2016-07-22 2017-02-15 青岛大学 云存储的密钥生成方法、云数据存储方法及审计方法
CN107342990A (zh) * 2017-06-23 2017-11-10 西南交通大学 一种分布式授权的属性基网络环签名方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069435B2 (en) * 2000-12-19 2006-06-27 Tricipher, Inc. System and method for authentication in a crypto-system utilizing symmetric and asymmetric crypto-keys

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101494862A (zh) * 2008-12-05 2009-07-29 北京工业大学 无线网状网络接入认证方法
CN103095697A (zh) * 2013-01-09 2013-05-08 华东师范大学 一种多重签名生成与验证系统及其方法
CN106411999A (zh) * 2016-07-22 2017-02-15 青岛大学 云存储的密钥生成方法、云数据存储方法及审计方法
CN107342990A (zh) * 2017-06-23 2017-11-10 西南交通大学 一种分布式授权的属性基网络环签名方法

Also Published As

Publication number Publication date
CN109861826A (zh) 2019-06-07

Similar Documents

Publication Publication Date Title
CN109861826B (zh) 一种双向代理重签名的实现方法及装置
CN108667626B (zh) 安全的两方协作sm2签名方法
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
CN110912708B (zh) 一种基于sm9数字签名算法的环签名生成方法
Kang et al. A novel identity-based strong designated verifier signature scheme
CN101931529B (zh) 一种数据加密方法、数据解密方法及节点
CN107483209B (zh) 一种安全的基于异构系统的签密方法
CN104539423A (zh) 一种无双线性对运算的无证书公钥密码体制的实现方法
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理系统
CN113300856B (zh) 一种可证安全的异构混合签密方法
CN109618348B (zh) 一种单向代理重签名的实现方法及装置
CN107171788B (zh) 一种基于身份且签名长度恒定的在线离线聚合签名方法
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN116346328A (zh) 一种数字签名方法、系统、设备及计算机可读存储介质
Liu et al. Secure and efficient two-party collaborative SM9 signature scheme suitable for smart home
CN113055161B (zh) 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统
CN104579661B (zh) 基于身份的电子签章的实现方法和装置
CN102299795A (zh) 基于身份的签密方法和系统
CN111669275A (zh) 一种无线网络环境下可选择从节点的主从协作签名方法
CN114285576B (zh) 一种非对的在线离线签密方法
CN115174056A (zh) 一种基于sm9签名的变色龙签名生成方法及装置
CN113918979A (zh) 基于移动key密钥保护技术的sm2签名方法
CN110932866B (zh) 一种基于sm2数字签名算法的环签名生成方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant