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

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

Info

Publication number
CN109618348B
CN109618348B CN201910121158.7A CN201910121158A CN109618348B CN 109618348 B CN109618348 B CN 109618348B CN 201910121158 A CN201910121158 A CN 201910121158A CN 109618348 B CN109618348 B CN 109618348B
Authority
CN
China
Prior art keywords
signature
signing
key
trustee
proxy
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
CN201910121158.7A
Other languages
English (en)
Other versions
CN109618348A (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 CN201910121158.7A priority Critical patent/CN109618348B/zh
Publication of CN109618348A publication Critical patent/CN109618348A/zh
Application granted granted Critical
Publication of CN109618348B publication Critical patent/CN109618348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3255Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Abstract

本发明公开了一种单向代理重签名的实现方法,该方法根据委托者的私钥和公钥、受托者的公钥生成重签名密钥,使代理重签名方案更合乎委托规则;为了使移动互联网中的低计算能力的终端快速完成验证操作,利用服务器辅助验证协议对受托者对于目标消息的初始签名进行验证,使复杂的验证操作在服务器端完成,从而能够减少移动互联网中的终端的计算量和计算复杂度,提高验证效率。因此,本发明公开的代理重签名方法更合乎委托规则,并能够提高代理重签名方案在移动互联网中的验证效率。相应地,本发明公开的一种单向代理重签名的实现装置、设备及可读存储介质,也同样具有上述技术效果。

Description

一种单向代理重签名的实现方法及装置
技术领域
本发明涉及信息安全技术领域,更具体地说,涉及一种单向代理重签名的实现方法、装置、设备及可读存储介质。
背景技术
随着信息时代的到来和信息技术的迅速发展,互联网已经渗透到我们日常生活的方方面面。平板,智能手机,无线传感器和电子钥匙等移动终端已成为我们生活和工作中不可或缺的一部分。网络技术的进一步发展为我们的生活带来了更多便利。电子商务和电子政务的兴起使人们从真实的物质世界进入了一个方便的电子时代,可以通过互联网随时随地进行在线购物、库存操作、通信和网络资源访问等。
然而,由于移动互联网中的平板,智能手机,无线传感器等终端设备的计算能力较低,而人们需要在资源请求和资源访问时在终端执行验证任务,这需要耗费大量的时间。另外,由于移动互联网环境比较复杂,故安全性较低。因此,有必要设计一种对设备终端计算能力、能量供应要求低并安全性高的方案,以应用于移动互联网环境中。
代理重签名是密码学的一个重要的研究方向,国内外学者致力于这一方向做了大量的工作。近年来,代理重签名算法引起了广泛的关注,一些具有特殊性质的代理重签名方案被提出,比如基于身份的代理重签名、基于格的代理重签名等。单向代理重签名的实现方案中包括:委托者Bob、受托者Alice、验证者、代理者和服务器。在现有的代理重签名方案中,受托者Alice和委托者Bob均需要承担一定的安全风险,这将增加受托者Alice的任务量,而委托规则中,受托者仅为执行方,其不应承担任何安全风险,因此现有的代理重签名方案在具体实施过程中有悖委托规则。
并且,现有的代理重签名方案一般基于验证者验证受托者Alice对于消息的初始签名,而由于验证过程涉及的运算量较大、且移动互联网中的各个终端的计算能力较低,所以验证效果将大幅度降低。也就是说,若直接将现有的代理重签名方案应用于移动互联网,移动互联网中的终端很可能不堪重负,方案的实现效果将可能大打折扣。
因此,如何使代理重签名方案合乎委托规则,提高代理重签名方案在移动互联网中的验证效率,是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种单向代理重签名的实现方法、装置、设备及可读存储介质,以使代理重签名方案合乎委托规则,提高代理重签名方案在移动互联网中的验证效率。
为实现上述目的,本发明实施例提供了如下技术方案:
一种单向代理重签名的实现方法,应用于移动互联网,包括:
获取委托者的私钥和公钥、受托者的公钥,并根据所述委托者的私钥和公钥、所述受托者的公钥生成重签名密钥;
将所述重签名密钥发送至代理者,以使代理者根据所述重签名密钥计算委托者对于目标消息的重签名;
获取受托者对于所述目标消息的初始签名,并基于服务器辅助验证协议和所述重签名对所述初始签名进行验证;
其中,所述基于服务器辅助验证协议和所述重签名对所述初始签名进行验证,包括:验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x)=(rx,sx),将(m,σ′)发送给服务器;服务器计算η1=e(g,σ′1)和η2=e(pkB,σ′2hH(m||r)),将η1和η2发送给验证者;验证者计算等式η1=η2是否成立;若成立,则确定所述初始签名正确;若不成立,则确定所述初始签名无效;其中,σ′是基于所述服务器辅助验证协议更新所述初始签名而得的签名,pkB为委托者的公钥,s为私钥。
其中,所述获取委托者的私钥和公钥、受托者的公钥之前,还包括:
设定目标值,并根据所述目标值计算系统参数;
根据所述系统参数计算所述委托者的私钥和公钥、所述受托者的公钥。
其中,所述获取受托者对于所述目标消息的初始签名之前,还包括:
根据所述系统参数计算所述受托者的私钥;
根据所述受托者的私钥和公钥、所述目标消息,生成所述受托者对于所述目标消息的初始签名。
其中,所述将所述重签名密钥发送至代理者,以使代理者根据所述重签名密钥计算委托者对于目标消息的重签名,包括:
将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;
从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名。
其中,所述每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名,包括:
每个代理者按照目标公式组验证自身得到的重签名子密钥是否有效;若是,则计算委托者对于所述目标消息的子签名;
所述目标公式组为:
Figure BDA0001971509030000031
其中,h为任意生成元,g是群G1中的一个生成元;
Figure BDA0001971509030000032
为重签名子密钥,
Figure BDA0001971509030000033
Figure BDA0001971509030000034
为由中国剩余定理求解出的重签名密钥;
Figure BDA0001971509030000035
其均为数学表达式记号,
Figure BDA0001971509030000036
为多项式中的变量。
其中,所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名之前,还包括:
通过验证公式对从各个代理者处获取的子签名进行验证;若验证通过,则执行所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名的步骤;
其中,所述验证公式为:e(g,si)=e(vkt,i,rhH(m||r)),Si为代理者Pi的私钥,t是随机选取的常数,vkt,i为代理者Pi的可验证公钥。
其中,还包括:
当所述初始签名无效时,生成相应的提示信息并展示。
一种单向代理重签名的实现装置,应用于移动互联网,包括:
获取模块,用于获取委托者的私钥和公钥、受托者的公钥,并根据所述委托者的私钥和公钥、所述受托者的公钥生成重签名密钥;
重签名模块,用于将所述重签名密钥发送至代理者,以使代理者根据所述重签名密钥计算委托者对于目标消息的重签名;
验证模块,用于获取受托者对于所述目标消息的初始签名,并基于服务器辅助验证协议和所述重签名对所述初始签名进行验证;其中,所述基于服务器辅助验证协议和所述重签名对所述初始签名进行验证,包括:验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x)=(rx,sx),将(m,σ′)发送给服务器;服务器计算η1=e(g,σ′1)和η2=e(pkB,σ′2hH(m||r)),将η1和η2发送给验证者;验证者计算等式η1=η2是否成立;若成立,则确定所述初始签名正确;若不成立,则确定所述初始签名无效;其中,σ′是基于所述服务器辅助验证协议更新所述初始签名而得的签名,pkB为委托者的公钥,s为私钥。
一种单向代理重签名的实现设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一项所述的单向代理重签名的实现方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的单向代理重签名的实现方法的步骤。
通过以上方案可知,本发明实施例提供的一种单向代理重签名的实现方法,应用于移动互联网,包括:获取委托者的私钥和公钥、受托者的公钥,并根据所述委托者的私钥和公钥、所述受托者的公钥生成重签名密钥;将所述重签名密钥发送至代理者,以使代理者根据所述重签名密钥计算委托者对于目标消息的重签名;获取受托者对于所述目标消息的初始签名,并基于服务器辅助验证协议和所述重签名对所述初始签名进行验证;其中,所述基于服务器辅助验证协议和所述重签名对所述初始签名进行验证,包括:验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x)=(rx,sx),将(m,σ′)发送给服务器;服务器计算η1=e(g,σ′1)和η2=e(pkB,σ′2hH(m||r)),将η1和η2发送给验证者;验证者计算等式η1=η2是否成立;若成立,则确定所述初始签名正确;若不成立,则确定所述初始签名无效;其中,σ′是基于所述服务器辅助验证协议更新所述初始签名而得的签名,pkB为委托者的公钥,s为私钥。
可见,所述方法对现有的代理重签名方案进行了改进,并将改进后的代理重签名方案应用于移动互联网。其中,对现有的代理重签名方案的改进在于:根据委托者的私钥和公钥、受托者的公钥生成重签名密钥,使代理重签名方案更合乎委托规则;为了使移动互联网中的低计算能力的终端快速完成验证操作,利用服务器辅助验证协议对受托者对于目标消息的初始签名进行验证,使复杂的验证操作在服务器端完成,从而能够减少移动互联网中的终端的计算量和计算复杂度,提高验证效率。因此,本发明公开的代理重签名方法更合乎委托规则,并能够提高代理重签名方案在移动互联网中的验证效率。
相应地,本发明实施例提供的一种单向代理重签名的实现装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种单向代理重签名的实现方法流程图;
图2为本发明实施例公开的另一种单向代理重签名的实现方法流程图;
图3为本发明实施例公开的一种单向代理重签名的实现装置示意图;
图4为本发明实施例公开的一种单向代理重签名的实现设备示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种单向代理重签名的实现方法、装置、设备及可读存储介质,以使代理重签名方案合乎委托规则,提高代理重签名方案在移动互联网中的验证效率。
参见图1,本发明实施例提供的一种单向代理重签名的实现方法,应用于移动互联网,包括:
S101、获取委托者的私钥和公钥、受托者的公钥,并根据委托者的私钥和公钥、受托者的公钥生成重签名密钥;
S102、将重签名密钥发送至代理者,以使代理者根据重签名密钥计算委托者对于目标消息的重签名;
S103、获取受托者对于目标消息的初始签名,并基于服务器辅助验证协议和重签名对初始签名进行验证;
其中,基于服务器辅助验证协议和重签名对初始签名进行验证,包括:验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x)=(rx,sx),将(m,σ′)发送给服务器;服务器计算η1=e(g,σ′1)和η2=e(pkB,σ′2hH(m||r)),将η1和η2发送给验证者;验证者计算等式η1=η2是否成立;若成立,则确定初始签名正确;若不成立,则确定初始签名无效;其中,σ′是基于服务器辅助验证协议更新初始签名而得的签名,pkB为委托者的公钥,s为私钥。
可见,本实施例提供了一种单向代理重签名的实现方法,所述方法对现有的代理重签名方案进行了改进,并将改进后的代理重签名方案应用于移动互联网。其中,对现有的代理重签名方案的改进在于:根据委托者的私钥和公钥、受托者的公钥生成重签名密钥,使代理重签名方案更合乎委托规则;为了使移动互联网中的低计算能力的终端快速完成验证操作,利用服务器辅助验证协议对受托者对于目标消息的初始签名进行验证,使复杂的验证操作在服务器端完成,从而能够减少移动互联网中的终端的计算量和计算复杂度,提高验证效率。因此,本发明公开的代理重签名方法更合乎委托规则,并能够提高代理重签名方案在移动互联网中的验证效率。
基于上述实施例,需要说明的是,所述获取委托者的私钥和公钥、受托者的公钥之前,还包括:
设定目标值,并根据所述目标值计算系统参数;
根据所述系统参数计算所述委托者的私钥和公钥、所述受托者的公钥。
基于上述实施例,需要说明的是,所述获取受托者对于所述目标消息的初始签名之前,还包括:
根据所述系统参数计算所述受托者的私钥;
根据所述受托者的私钥和公钥、所述目标消息,生成所述受托者对于所述目标消息的初始签名。
基于上述实施例,需要说明的是,所述将所述重签名密钥发送至代理者,以使代理者根据所述重签名密钥计算委托者对于目标消息的重签名,包括:
将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;
从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名。
具体的,预设的生成重签名生成规则包括:根据委托者Bob的私钥skB=b,受托者Alice的公钥
Figure BDA0001971509030000071
生成重签名密钥。具体的,输入Bob的私钥skB=b和受托者Alice的公钥进行如下运算:
(1)在[1,q-1]中任意找出两个随机数li,mi,并计算如下公式:
Figure BDA0001971509030000072
那么由中国剩余定理可得α0∈ZF,α0=skB=bmodqi,i=0,1,2,...,n-1;
构造一个n-1次多项式:
Figure BDA0001971509030000073
设定正整数t(1≤t≤n),那么存在n-1次多项式:
Figure BDA0001971509030000081
(2)公布
Figure BDA0001971509030000082
Figure BDA0001971509030000083
那么由中国剩余定理可以求解出重签名密钥为
Figure BDA0001971509030000084
其中:
Figure BDA0001971509030000085
其中t=1,2,...,n。
其中,所述每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名,包括:
每个代理者按照目标公式组验证自身得到的重签名子密钥是否有效;若是,则计算委托者对于所述目标消息的子签名;
所述目标公式组为:
Figure BDA0001971509030000086
其中,h为任意生成元,g是群G1中的一个生成元;
Figure BDA0001971509030000087
为重签名子密钥,
Figure BDA0001971509030000088
Figure BDA0001971509030000089
为由中国剩余定理求解出的重签名密钥;
Figure BDA00019715090300000810
其均为数学表达式记号,
Figure BDA00019715090300000811
为多项式中的变量。
其中,所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名之前,还包括:
通过验证公式对从代理者处获取的子签名进行验证;若验证通过,则执行所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名的步骤;
其中,所述验证公式为:e(g,si)=e(vkt,i,rhH(m||r)),Si为代理者Pi的私钥,t是随机选取的常数,vkt,i为代理者Pi的可验证公钥。
基于上述实施例,需要说明的是,还包括:
当所述受托者对于所述目标消息的初始签名无效时,生成相应的提示信息并展示。
本发明实施例公开了另一种单向代理重签名的实现方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
参见图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...qn1,那么系统参数(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,可输出公私钥对
Figure BDA0001971509030000091
和sk=x。
S203、生成重签名密钥(Rekey):
根据委托者Bob的私钥skB=b,受托者Alice的公钥
Figure BDA0001971509030000092
生成重签名密钥,并通过Rekey算法把重签名密钥rkA→B分散成N份并分配给N个代理者;N个代理者分别生成重签名rkA→Bi和重签名公钥pkA→Bi,从而每个代理者都能将Alice的对于目标消息m的签名转换为Bob对于目标消息m的部分签名。
具体的,输入Bob的私钥skR=b,受托者Alice的公钥,然后进行如下运算:
(1)在[1,q-1]中任意找出两个随机数li,mi,并计算如下公式:
Figure BDA0001971509030000093
那么由中国剩余定理可得α0∈ZF,α0=skB=bmodqi,i=0,1,2,...,n-1;
构造一个n-1次多项式:
Figure BDA0001971509030000101
设定正整数t(1≤t≤n),那么存在n-1次多项式:
Figure BDA0001971509030000102
(2)公布
Figure BDA0001971509030000103
Figure BDA0001971509030000104
那么由中国剩余定理可以求解出重签名密钥为
Figure BDA0001971509030000105
其中:
Figure BDA0001971509030000106
其中t=1,2,...,n,然后秘密地将信息
Figure BDA0001971509030000107
发送给代理者Pi,i=1,2,...,n,其中X0=gb/a,Y0=pkB=gb
(3)代理者Pi(1≤i≤n)计算
Figure BDA0001971509030000108
并按照目标公式组验证自身的子密钥
Figure BDA0001971509030000109
是否有效;所述目标公式组为:
Figure BDA00019715090300001010
若验证上述的两个等式成立,则说明子密钥
Figure BDA00019715090300001011
有效。那么给定任意正整数t(1≤t≤n),代理者Pi据此和
Figure BDA00019715090300001012
可生成重签名密钥
Figure BDA00019715090300001013
并计算
Figure BDA00019715090300001014
广播其验证公钥vkt,i,其中:
Figure BDA00019715090300001015
S204、生成签名(Sign):
基于受托者Alice的私钥skA,生成受托者对于目标消息m的初始签名σA(m),此初始签名与受托者Alice公钥pkA对于目标消息的签名相对应。
具体的,给定受托者的私钥为a和一个nmbit长的消息
Figure BDA00019715090300001016
然后随机选择一个常数t,并令r=ht,s=a(H(m||r)+t)(modq),输出强签名σ=(r,s),并输出无法重新签名的弱签名σ=(r,hs)。其中,强签名和弱签名均为受托者对于目标消息的原始签名,其中由于基于hs求解得不到s,因此基于弱签名无法得到重签名。
S205、生成重签名(Resign):
在众多代理者中随机选择一位代理者作为合成者,合成者收集t个代理者的部分重签名。当收集得到的t个部分重签名均合法时,合成者把这些合法的部分重签名组合为一个重签名σB(m)并输出。
(1)生成子密钥:假设门限值为t(1≤t≤n)。输入门限值t、公钥pkA、消息m和签名σA;验证Verify(pkA,m,σ)=1,若通过验证,则输入重签名子密钥
Figure BDA0001971509030000111
获得重签名
Figure BDA0001971509030000112
其中i=1,2,...,n;若未通过验证,则拒绝σA,则输出0。
(2)生成重签名:合成者Combiner收集部分重签名σB,i后,通过e(g,si)=e(vkt,i,rhH(m||r))验证其有效性,vkt,i为代理者Pi的可验证公钥。若合成者获取了至少t个合法的部分重签名
Figure BDA0001971509030000113
则组合得到的重签名为:
Figure BDA0001971509030000114
其中γ0,i为Lagrange插值多项式的系数。
S206、验证者验证签名(Verify):
基于公钥pk和目标消息m对初始签名σA(m)进行验证,若初始签名σA(m)是对应于公钥pk的目标消息m的有效签名,则输出1;否则,输出0。
基于公钥pk和目标消息m对初始签名σA(m)进行验证的验证过程包括:若公钥
Figure BDA0001971509030000115
且若e(g,s)=e(pkB,rhH(m||r))成立,则输出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)=(rx,sx),将(m,σ′)发送给服务器;
(2)服务器计算η1=e(g,σ′1)和η2=e(pkB,σ′2hH(m||r)),将η1和η2发送给验证者;
(3)验证者计算等式η1=η2是否成立;若成立,则确定所述受托者对于所述目标消息的初始签名正确,即验证者确信σA(m)是消息m的合法签名,输出1;若不成立,则确定所述受托者对于所述目标消息的初始签名无效,即验证者确信σA(m)是无效签名,输出0。其中,σ′是由服务器辅助验证协议计算得到的目标消息m的签名,pkB为委托者的公钥,s为私钥,η1和η2为预先设定的参数。
其中,由服务器计算二次双线性对运算,可降低验证者的计算复杂度。
需要说明的是,由于移动互联网中的终端的计算能力有限,不能执行复杂的验证运算,因此可以通过服务器辅助验证协议把涉及指数、双线性对的复杂运算的验证任务转移给服务器,借助服务器的运算功能来完成签名的验证,从而可以提高验证效率。
本实施例提供的方案基于门限代理重签名和服务器辅助验证体制,其中的门限代理重签名算法能够抵抗联合攻击,克服了多种安全缺陷。验证者与服务器通过两者之间的交互协议将复杂的双线性对运算任务转移给服务器执行,极大地降低了验证者的计算复杂度,提高了验证效率,很好地满足了低端计算设备的计算能力弱、能源供应有限的需求,即适应于移动互联网领域。
下面对本发明实施例提供的一种单向代理重签名的实现装置进行介绍,下文描述的一种单向代理重签名的实现装置与上文描述的一种单向代理重签名的实现方法可以相互参照。
参见图3,本发明实施例提供的一种单向代理重签名的实现装置,应用于移动互联网,包括:
获取模块301,用于获取委托者的私钥和公钥、受托者的公钥,并根据所述委托者的私钥和公钥、所述受托者的公钥生成重签名密钥;
重签名模块302,用于将所述重签名密钥发送至代理者,以使代理者根据所述重签名密钥计算委托者对于目标消息的重签名;
验证模块303,用于获取受托者对于所述目标消息的初始签名,并基于服务器辅助验证协议和所述重签名对所述初始签名进行验证;其中,所述基于服务器辅助验证协议和所述重签名对所述初始签名进行验证,包括:验证者计算σ′=(σ′1,σ′2)=((σ1)x,(σ2)x)=(rx,sx),将(m,σ′)发送给服务器;服务器计算η1=e(g,σ′1)和η2=e(pkB,σ′2hH(m||r)),将η1和η2发送给验证者;验证者计算等式η1=η2是否成立;若成立,则确定所述初始签名正确;若不成立,则确定所述初始签名无效;其中,σ′是基于所述服务器辅助验证协议更新所述初始签名而得的签名,pkB为委托者的公钥,s为私钥。
其中,还包括:
设定模块,用于设定目标值,并根据所述目标值计算系统参数;
计算模块,用于根据所述系统参数计算所述委托者的私钥和公钥、所述受托者的公钥。
其中,还包括:
受托者的私钥计算模块,用于根据所述系统参数计算所述受托者的私钥;
初始签名生成模块,用于根据所述受托者的私钥和公钥、所述目标消息,生成所述受托者对于所述目标消息的初始签名。
其中,所述重签名模块包括:
分配单元,用于将所述重签名密钥拆分为N个重签名子密钥,并将所述N个重签名子密钥分配给N个代理者,以使每个代理者根据得到的重签名子密钥,计算委托者对于目标消息的子签名;所述重签名子密钥和代理者一一对应,N为正整数;
组合单元,用于从预设数量个代理者处获取预设数量个子签名,并按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名。
其中,所述分配单元具体用于:
每个代理者按照目标公式组验证自身得到的重签名子密钥是否有效;若是,则计算委托者对于所述目标消息的子签名;
所述目标公式组为:
Figure BDA0001971509030000131
其中,h为任意生成元,g是群G1中的一个生成元;
Figure BDA0001971509030000132
为重签名子密钥,
Figure BDA0001971509030000133
Figure BDA0001971509030000134
为由中国剩余定理求解出的重签名密钥;
Figure BDA0001971509030000135
其均为数学表达式记号,
Figure BDA0001971509030000136
为多项式中的变量。
其中,所述重签名模块还包括:
子签名验证单元,用于通过验证公式对从代理者处获取的子签名进行验证;若验证通过,则执行所述按照预设的重签名生成规则将所述预设数量个子签名组合为委托者对于所述目标消息的重签名的步骤;
其中,所述验证公式为:e(g,si)=e(vkt,i,rhH(m||r)),Si为代理者Pi的私钥,t是随机选取的常数,vkt,i为代理者Pi的可验证公钥。
其中,还包括:
提示模块,用于当所述受托者对于所述目标消息的初始签名无效时,生成相应的提示信息并展示。
可见,本实施例提供了一种单向代理重签名的实现装置,包括:获取模块、重签名模块以及验证模块。首先由获取模块获取委托者的私钥和公钥、受托者的公钥,并根据所述委托者的私钥和公钥、所述受托者的公钥生成重签名密钥;然后重签名模块将所述重签名密钥发送至代理者,以使代理者根据所述重签名密钥计算委托者对于目标消息的重签名;最后验证模块获取受托者对于所述目标消息的初始签名,并基于服务器辅助验证协议和所述重签名对所述初始签名进行验证。如此各个模块之间分工合作,各司其职,从而使本发明公开的代理重签名方法合乎委托规则,提高了代理重签名方案在移动互联网中的验证效率。
下面对本发明实施例提供的一种单向代理重签名的实现设备进行介绍,下文描述的一种单向代理重签名的实现设备与上文描述的一种单向代理重签名的实现方法及装置可以相互参照。
参见图4,本发明实施例提供的一种单向代理重签名的实现设备,包括:
存储器401,用于存储计算机程序;
处理器402,用于执行所述计算机程序时实现上述任意实施例所述的单向代理重签名的实现方法的步骤。
下面对本发明实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种单向代理重签名的实现方法、装置及设备可以相互参照。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意实施例所述的单向代理重签名的实现方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910121158.7A CN109618348B (zh) 2019-02-18 2019-02-18 一种单向代理重签名的实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910121158.7A CN109618348B (zh) 2019-02-18 2019-02-18 一种单向代理重签名的实现方法及装置

Publications (2)

Publication Number Publication Date
CN109618348A CN109618348A (zh) 2019-04-12
CN109618348B true CN109618348B (zh) 2021-11-09

Family

ID=66019768

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910121158.7A Active CN109618348B (zh) 2019-02-18 2019-02-18 一种单向代理重签名的实现方法及装置

Country Status (1)

Country Link
CN (1) CN109618348B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111314087B (zh) * 2020-02-11 2023-04-07 南京信息工程大学 基于代理重签名的电子文件前端控制方法
CN114584323A (zh) * 2022-04-26 2022-06-03 南方电网科学研究院有限责任公司 基于格的代理签名及验证方法、装置、设备和存储介质
CN117011048B (zh) * 2023-07-25 2024-03-26 明亚保险经纪股份有限公司 一种线上委托协议签署方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123501A (zh) * 2006-08-08 2008-02-13 西安电子科技大学 一种wapi认证和密钥协商方法和系统
CN103095697A (zh) * 2013-01-09 2013-05-08 华东师范大学 一种多重签名生成与验证系统及其方法
CN103501352A (zh) * 2013-10-22 2014-01-08 北京航空航天大学 一种允许群组用户身份撤销的云存储数据安全审计方法
CN104104688A (zh) * 2014-07-30 2014-10-15 浙江工商大学 支持多授权租户的安全分布式网络重编程方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2127195A2 (en) * 2007-01-22 2009-12-02 Global Crypto Systems Methods and systems for digital authentication using digitally signed images

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101123501A (zh) * 2006-08-08 2008-02-13 西安电子科技大学 一种wapi认证和密钥协商方法和系统
CN103095697A (zh) * 2013-01-09 2013-05-08 华东师范大学 一种多重签名生成与验证系统及其方法
CN103501352A (zh) * 2013-10-22 2014-01-08 北京航空航天大学 一种允许群组用户身份撤销的云存储数据安全审计方法
CN104104688A (zh) * 2014-07-30 2014-10-15 浙江工商大学 支持多授权租户的安全分布式网络重编程方法

Also Published As

Publication number Publication date
CN109618348A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
CN109861826B (zh) 一种双向代理重签名的实现方法及装置
CN108667626B (zh) 安全的两方协作sm2签名方法
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
CN104539423B (zh) 一种无双线性对运算的无证书公钥密码体制的实现方法
CN101931529B (zh) 一种数据加密方法、数据解密方法及节点
CN107425971B (zh) 无证书的数据加/解密方法和装置、终端
CN109618348B (zh) 一种单向代理重签名的实现方法及装置
CN107911217B (zh) 基于ecdsa算法协同生成签名的方法、装置和数据处理系统
CN104767612A (zh) 一种从无证书环境到公钥基础设施环境的签密方法
CN107171788B (zh) 一种基于身份且签名长度恒定的在线离线聚合签名方法
CN102883321A (zh) 一种面向移动微技的数字签名认证方法
CN104767611A (zh) 一种从公钥基础设施环境到无证书环境的签密方法
CN101697513A (zh) 数字签名方法、验证方法、数字签名装置及数字签名系统
CN115664675B (zh) 基于sm2算法的可追踪环签名方法、系统、设备及介质
CN116346328A (zh) 一种数字签名方法、系统、设备及计算机可读存储介质
CN113055161A (zh) 一种基于sm2和sm9数字签名算法的移动终端认证方法与系统
Liu et al. Secure and efficient two-party collaborative SM9 signature scheme suitable for smart home
CN102299795A (zh) 基于身份的签密方法和系统
CN111669275A (zh) 一种无线网络环境下可选择从节点的主从协作签名方法
CN114285576B (zh) 一种非对的在线离线签密方法
CN110932866B (zh) 一种基于sm2数字签名算法的环签名生成方法
CN113918979A (zh) 基于移动key密钥保护技术的sm2签名方法
US20070033405A1 (en) Enhanced key agreement and transport protocol
Sadkhan et al. Analysis of Different Types of Digital Signature
Zhang et al. A novel authenticated encryption scheme and its extension

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