基于身份的盲签名方法和装置制造方法

文档序号:7984712阅读:254来源:国知局
基于身份的盲签名方法和装置制造方法
【专利摘要】本发明提供了一种基于身份的盲签名方法和装置。该方法主要包括:签名者选择随机数r∈Zq*,计算U’=rP,Zq*表示1~(q-1)范围内的整数,q为设定的大素数,P为G1的生成元,p为设定的大素数,发送用户随机选择盲化因子α,β∈Zq*,计算U=U’+(α+β)P,a=(α·β·H3(U))H2(m),b=α+β+H2(m),H2、H3是一个单向Hash函数,m是要签密的明文信息。签名者用自己的私钥dID=sQID对消息对(a,b)进行签名,计算V’=a·dID/(r+b),H1是一个单向Hash函数,s为作为主密钥的随机数。接收用户计算V=V’/(α·β·H3(U))=H2(m)·dID/(r+b),V的横坐标x即为消息m的签名。本发明实施例的基于身份的盲签名方法的盲签名消息长度仅仅为椭圆曲线点的横坐标,增加了系统运行的吞吐量。
【专利说明】 基于身份的盲签名方法和装置
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种基于身份的盲签名方法和装置。
【背景技术】
[0002]在传统的公钥密码系统中,主要采用PKI (Public Key Infrastructure,公钥基础设施)来验证公钥和用户身份的相关性,用户身份信息和公钥之间的绑定通过CA(Certificate Authority,认证中心)发放的公钥证书实现,这种方式的证书管理过程需要很高的计算开销和存储开销。
[0003]在基于身份的公钥密码体制下,公钥可以为任意字符串,于是可以将某一实体的身份信息直接作为其公钥,从而绕开了公钥和其持有者身份的绑定问题,这会极大地减化了传统PKI中CA对用户证书进行的复杂管理。基于身份的公钥加密体制的亮点就是直接利用用户的身份信息作为用户的公钥。这样任何人都可以直接利用用户的身份信息直接加密明文,省去了公钥的认证步骤,也省去了 CA对公钥证书的繁琐管理。
[0004]盲签名因为具有盲性这一特点,可以有效保护所签署消息的具体内容,所以在电子商务和电子选举等领域有着广泛的应用。盲签名允许消息者先将消息盲化,而后让签名者对盲化的消息进行签名,最后消息拥有者对签名信息除去盲因子,得到签名者关于原消息的签名。盲签名就是接收者在不让签名者获取所签署消息具体内容的情况下所采取的一种特殊的数字签名技术,它除了满足一般的数字签名条件外,还必须满足下面的两条性质:
[0005]1.签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。
[0006]2.签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次签署的。
[0007]基于身份的盲签名方法是近年来国内外密码研究的重要分支,目前,现有技术中还没有有效的基于身份的盲签名方法。

【发明内容】

[0008]本发明的实施例提供了一种基于身份的盲签名方法和装置,以实现缩短签名消息长度。
[0009]一种基于身份的盲签名方法,包括
[0010]签名者选择随机数r e Zq%计算U’ =rP,所述表示l?(q-l)范围内的整数,所述q为设定的大素数,所述P为G1的生成元,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从O到(p-1)的整数组成的域,所述P为设定的大素数,且所述q是(P+1)的素因子;
[0011]发送用户随机选择盲化因子α,β e Zt;,计算U=U’ + (a+i3)P,a=(a.β.Η#))H2 (m),b= α + β +H2 (m),所述 Η2、Η3 是一个单向 Hash 函数,H2: {0,I}* — Zq*,H3 =G1 — Zq*,所述m是要签密的明文信息,m e Z/,所述发送用户将消息对(a,b)发送给所述签名者;
[0012]所述签名者用自己的私钥对所述消息对(a,b)进行签名,计算V’ =a.dID/(r+b),并将V’发送给接收用户,所述签名者的私钥dID = sQID,所述Qid=H1 (ID),所述ID为所述签名者的身份标识信息,ID e {O, 1}*,所述H1是一个单向Hash函数,所述H1: {O, I}* — G1,所述s为作为主密钥的随机数;
[0013]所述接收用户接收到所述V’后,计算V=V’ /(α.β.H3(U)) =H2 (m).dID/(r+b),所述V的横坐标X即为消息m的签名。
[0014]一种基于身份的盲签名装置,包括:
[0015]消息盲化处理模块,用于通过签名者选择随机数r e Z/,计算U’ =rP,所述Z:表示广(q-Ι)范围内的整数,所述q为设定的大素数,所述P为G1的生成元,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从O到(p-1)的整数组成的域,所述P为设定的大素数,且所述q是(P+1)的素因子;
[0016]通过发送用户随机选择盲化因子α,β e Zq*,计算U=U,+(α+β)Ρ,a=( α.β.Η3(υ))Η2 (m),b= α + β +H2 (m),所述H2、H3是一个单向 Hash 函数,H2: {0, I}* — Zq*,H3 =G1 — Z:,所述m是要签密的明文信息,m e Z/,所述发送用户将消息对(a,b)发送给所述签名者;
[0017]签名处理模块,用于用所述签名者的私钥对所述消息对(a,b)进行签名,计算V’ =a.dID/ (r+b),并将V’发送给接收用户,所述签名者的私钥dID = sQID,所述Qid=H1 (ID),所述ID为所述签名者的身份标识信息,ID e {O, 1}%所述H1是一个单向Hash函数,所述H1: {O, I}* — G1,所述s为作为主密钥的随机数;
[0018]签名计算模块,用于通过所述接收用户计算V=V’ /(α.β.H3(U)) =H2(m).dID/(r+b),所述V的横坐标X即为消息m的签名。
[0019]由上述本发明的实施例提供的技术方案可以看出,本发明实施例的基于身份的盲签名方法的盲签名消息长度仅仅为椭圆曲线点的横坐标,短于现有椭圆曲线盲签名方法的签名消息长度,增加了系统运行的吞吐量,适合于带宽受限的通讯环境。
【专利附图】

【附图说明】
[0020]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021]图1为本发明实施例一提供的一种基于身份的盲签名方法的处理流程图;
[0022]图2为本发明实施例一提供的一种盲签名处理的具体过程示意图;
[0023]图3为本发明实施例二提供的一种基于身份的盲签名装置的具体结构图。
【具体实施方式】
[0024]为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
[0025]实施例一[0026]该实施例提供的一种基于身份的盲签名方法的处理流程如图1所示,包括如下的处理步骤:
[0027]步骤11、选定Gp的生成元P,双线性配对I
[0028]选定GpG2为两个阶为q的群,P、q为两个大素数(其中P至少为512比特位,q至少为160比特位),且q是(p+1)的素因子,q的比特位数用η表示。匕是匕上的椭圆曲线E加法群的一个子群,上述Fp表示从O到(p-1)的整数组成的域,上述椭圆曲线E可以形如:y2=f(x)的形式,G2是域上的一个乘法群,其中F/是由Fp 二次扩张得到的,形如Fp[x]/f, Fp[x]是?5上的多项式环,f是一个二次不可化约多项式。P为G1的生成元,即q*P=0,“O”是无穷远点。
[0029]^G1XG1 — G2为一个双线性映射,该双线性配对!_是一个从集合G1XG1到集合G2的一个映射,该映射具有如下性质:
[0030]双线性:对于任意gl,g2 e G1和任意的整数a,b e Zp%有
【权利要求】
1.一种基于身份的盲签名方法,其特征在于,包括 签名者选择随机数re Zq%计算U’=rP,所述Zq*表示I~(q-Ι)范围内的整数,所述q为设定的大素数,所述P为Gl的生成元,所述Gl是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从O到(p-1)的整数组成的域,所述P为设定的大素数,且所述q是(P+1)的素因子; 发送用户随机选择盲化因子α,β e Zq*,计算U=U’ +(α+β)Ρ,a=(a.β.H3⑶)H2(m),b=a + β+Η2(πι),所述 Η2、Η3 是一个单向 Hash 函数,H2: {O,1} * — Zq*,H3 =G1 — Zq*,所述m是要签密的明文信息,m e Zq '所述发送用户将消息对(a,b)发送给所述签名者;所述签名者用自己的私钥对所述消息对(a,b)进行签名,计算V’ =a.dID/ (r+b),并将V’发送给接收用户,所述签名者的私钥dID = sQID,所述Qid=H1 (ID),所述ID为所述签名者的身份标识信息,ID e {O, 1}*,所述H1是一个单向Hash函数,所述H1: {O, I}* — G1,所述s为作为主密钥的随机数; 所述接收用户接收到所述V’后,计算ν=ν’ /(α.β.H3(U)) =H2 (m).dID/(r+b),所述V的横坐标X即为消息m的签名。
2.根据权利要求1所述的基于身份的盲签名方法,其特征在于, 所述计算Qid=H1 (ID)包括: 步骤1、给定用户身份信息ID e {O, 1}%设定i — 0,“一”表示赋值的意思; 步骤2、设定(X,b) — sha-1 (i | | ID),这里x是计算的横坐标,b是确定纵坐标的二进制比特位;sha_l表示国际标准哈希算法,设其计算结果的二进制比特位数为n,则最后一个二进制比特位为b,前面η-1个二进制比特位为X。 步骤3、根据方程y2=f (X),及X横坐标,计算得到两个平方根y值%和Y1,根据2)中b的二进制比特值,确定G1上的点Qid’(X,yb); 步骤4、计算QID=cof*QID,,若Qid幸O,即输出与ID对应的G1上的点Qid,否则,将变量i自加1,重新执行上述步骤2、3、4。
3.根据权利要求1所述的基于身份的盲签名方法,其特征在于,所述的方法还包括: 所述的签名者按照设定的时间因子Time对所述私钥Qid进行更新,所述时间因子Time为年、月、周或日。
4.根据权利要求1或2或3所述的基于身份的盲签名方法,其特征在于,所述的方法还包括: 计算& =辦所述汉/W:为一个双线性映射,是一个从集合(G1XG1)到集合G2的一个映射,所述G2是域上的一个乘法群,所述Ppub=SP ;
计算 h = H2 (m); 根据横坐标X计算得到曲线上的点V1 ; 计算& = e(F?P+(U/ffz(m))); 若g2=gl或gfg^1,则确定针对所述明文信息m的签名验证通过;否则验证失败。
5.一种基于身份的盲签名装置,其特征在于,包括: 消息盲化处理模块,用于通过签名者选择随机数r e Z:,计算U’ =rP,所述Z:表示1-(q-Ι)范围内的整数,所述q为设定的大素数,所述P为G1的生成元,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从O到(p-1)的整数组成的域,所述P为设定的大素数,且所述q是(P+1)的素因子; 通过发送用户随机选择盲化因子α,β e Zj,计算U=U’ + (a+i3)P,a=(a.β -H3(U))H2 (m),b= α + β +H2 (m),所述 Η2、Η3 是一个单向 Hash 函数,H2: {O, I}* — Zq*,H3 =G1 — Zq*,所述m是要签密的明文信息,m e Z/,所述发送用户将消息对(a,b)发送给所述签名者; 签名处理模块,用于用所述签名者的私钥对所述消息对(a,b)进行签名,计算V’ =a.dID/ (r+b),并将V’发送给接收用户,所述签名者的私钥dID = sQID,所述Qid=H1 (ID),所述ID为所述签名者的身份标识信息,ID e {O, 1}%所述H1是一个单向Hash函数,所述H1: {O, I}* — G1,所述s为作为主密钥的随机数; 签名计算模块,用于通过所述接收用户计算V=V’ /(α.β.H3(U)) =H2(m) *dID/(r+b),所述V的横坐标X即为消息m的签名。
6.根据权利要求5所述的基于身份的盲签名装置,其特征在于: 所述消息盲化处理模块,还用于通过下述处理过程计算Qid=H1(ID)包括: 步骤1、给定用户身份信息ID e {O, 1}%设定i — 0,“一”表示赋值的意思; 步骤2、设定(X,b) — sha-1 (i | | ID),这里x是计算的横坐标,b是确定纵坐标的二进制比特位;sha_l表示国际标准哈希算法,设其计算结果的二进制比特位数为n,则最后一个二进制比特位为b,前面η-1个二进制比特位为X。 步骤3、根据方程y2=f (X),及X横坐标,计算得到两个平方根y值%和Y1,根据2)中b的二进制比特值,确定G1上的点Qid’(X,yb); 步骤4、计算QID=cof*QID,,若Qid幸O,即输出与ID对应的G1上的点Qid,否则,将变量i自加1,重新执行上述步骤2、3、4。
7.根据权利要求6所述的基于身份的盲签名装置,其特征在于: 所述签名处理模块,还用于按照设定的时间因子Time对所述私钥Qid进行更新,所述时间因子Time为年、月、周或日。
8.根据权利要求5或者6或7所述的基于身份的盲签名装置,其特征在于: 所述的签名计算模块,还用于计算gi = S(R>Q),所述我/u))为一个双线性映射,是一个从集合(G1 XG1)到集合G2的一个映射,所述G2为阶为q的群,所述q为设定的大素数; 根据横坐标X计算得到曲线E上的点V1 ; 计算& =即W 若g2=gi或g2=g广,验证通过;否则验证失败。
【文档编号】H04L9/32GK103780386SQ201210407629
【公开日】2014年5月7日 申请日期:2012年10月23日 优先权日:2012年10月23日
【发明者】张庆胜, 苏斌, 王永宝 申请人:航天信息股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1