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

技术编号:10008625 阅读:182 留言:0更新日期:2014-05-07 15:00
本发明专利技术提供了一种基于身份的盲签名方法和装置。该方法主要包括:签名者选择随机数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的签名。本发明专利技术实施例的基于身份的盲签名方法的盲签名消息长度仅仅为椭圆曲线点的横坐标,增加了系统运行的吞吐量。

【技术实现步骤摘要】
基于身份的盲签名方法和装置
本专利技术涉及通信
,尤其涉及一种基于身份的盲签名方法和装置。
技术介绍
在传统的公钥密码系统中,主要采用PKI(PublicKeyInfrastructure,公钥基础设施)来验证公钥和用户身份的相关性,用户身份信息和公钥之间的绑定通过CA(CertificateAuthority,认证中心)发放的公钥证书实现,这种方式的证书管理过程需要很高的计算开销和存储开销。在基于身份的公钥密码体制下,公钥可以为任意字符串,于是可以将某一实体的身份信息直接作为其公钥,从而绕开了公钥和其持有者身份的绑定问题,这会极大地减化了传统PKI中CA对用户证书进行的复杂管理。基于身份的公钥加密体制的亮点就是直接利用用户的身份信息作为用户的公钥。这样任何人都可以直接利用用户的身份信息直接加密明文,省去了公钥的认证步骤,也省去了CA对公钥证书的繁琐管理。盲签名因为具有盲性这一特点,可以有效保护所签署消息的具体内容,所以在电子商务和电子选举等领域有着广泛的应用。盲签名允许消息者先将消息盲化,而后让签名者对盲化的消息进行签名,最后消息拥有者对签名信息除去盲因子,得到签名者关于原消息的签名。盲签名就是接收者在不让签名者获取所签署消息具体内容的情况下所采取的一种特殊的数字签名技术,它除了满足一般的数字签名条件外,还必须满足下面的两条性质:1.签名者对其所签署的消息是不可见的,即签名者不知道他所签署消息的具体内容。2.签名消息不可追踪,即当签名消息被公布后,签名者无法知道这是他哪次签署的。基于身份的盲签名方法是近年来国内外密码研究的重要分支,目前,现有技术中还没有有效的基于身份的盲签名方法。
技术实现思路
本专利技术的实施例提供了一种基于身份的盲签名方法和装置,以实现缩短签名消息长度。一种基于身份的盲签名方法,包括签名者选择随机数r∈Zq*,计算U’=rP,所述Zq*表示1~(q-1)范围内的整数,所述q为设定的大素数,所述P为G1的生成元,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从0到(p-1)的整数组成的域,所述p为设定的大素数,且所述q是(p+1)的素因子;发送用户随机选择盲化因子α,β∈Zq*,计算U=U’+(α+β)P,a=(α·β·H3(U))H2(m),b=α+β+H2(m),所述H2、H3是一个单向Hash函数,H2:{0,1}*→Zq*,H3:G1→Zq*,所述m是要签密的明文信息,m∈Zq*,所述发送用户将消息对(a,b)发送给所述签名者;所述签名者用自己的私钥对所述消息对(a,b)进行签名,计算V’=a·dID/(r+b),并将V’发送给接收用户,所述签名者的私钥dID=sQID,所述QID=H1(ID),所述ID为所述签名者的身份标识信息,ID∈{0,1}*,所述H1是一个单向Hash函数,所述H1:{0,1}*→G1,所述s为作为主密钥的随机数;所述接收用户接收到所述V’后,计算V=V’/(α·β·H3(U))=H2(m)·dID/(r+b),所述V的横坐标x即为消息m的签名。一种基于身份的盲签名装置,包括:消息盲化处理模块,用于通过签名者选择随机数r∈Zq*,计算U’=rP,所述Zq*表示1~(q-1)范围内的整数,所述q为设定的大素数,所述P为G1的生成元,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从0到(p-1)的整数组成的域,所述p为设定的大素数,且所述q是(p+1)的素因子;通过发送用户随机选择盲化因子α,β∈Zq*,计算U=U’+(α+β)P,a=(α·β·H3(U))H2(m),b=α+β+H2(m),所述H2、H3是一个单向Hash函数,H2:{0,1}*→Zq*,H3:G1→Zq*,所述m是要签密的明文信息,m∈Zq*,所述发送用户将消息对(a,b)发送给所述签名者;签名处理模块,用于用所述签名者的私钥对所述消息对(a,b)进行签名,计算V’=a·dID/(r+b),并将V’发送给接收用户,所述签名者的私钥dID=sQID,所述QID=H1(ID),所述ID为所述签名者的身份标识信息,ID∈{0,1}*,所述H1是一个单向Hash函数,所述H1:{0,1}*→G1,所述s为作为主密钥的随机数;签名计算模块,用于通过所述接收用户计算V=V’/(α·β·H3(U))=H2(m)·dID/(r+b),所述V的横坐标x即为消息m的签名。由上述本专利技术的实施例提供的技术方案可以看出,本专利技术实施例的基于身份的盲签名方法的盲签名消息长度仅仅为椭圆曲线点的横坐标,短于现有椭圆曲线盲签名方法的签名消息长度,增加了系统运行的吞吐量,适合于带宽受限的通讯环境。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一提供的一种基于身份的盲签名方法的处理流程图;图2为本专利技术实施例一提供的一种盲签名处理的具体过程示意图;图3为本专利技术实施例二提供的一种基于身份的盲签名装置的具体结构图。具体实施方式为便于对本专利技术实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本专利技术实施例的限定。实施例一该实施例提供的一种基于身份的盲签名方法的处理流程如图1所示,包括如下的处理步骤:步骤11、选定G1、G2、p、q,得到G1的生成元P,双线性配对ê。选定G1、G2为两个阶为q的群,p、q为两个大素数(其中p至少为512比特位,q至少为160比特位),且q是(p+1)的素因子,q的比特位数用n表示。G1是Fp上的椭圆曲线E加法群的一个子群,上述Fp表示从0到(p-1)的整数组成的域,上述椭圆曲线E可以形如:y2=f(x)的形式,G2是域上的一个乘法群,其中是由Fp二次扩张得到的,形如Fp[x]/f,Fp[x]是Fp上的多项式环,f是一个二次不可化约多项式。P为G1的生成元,即q*P=O,“O”是无穷远点。为一个双线性映射,该双线性配对是一个从集合G1×G1到集合G2的一个映射,该映射具有如下性质:双线性:对于任意g1,g2∈G1和任意的整数a,b∈Zp*,有非退化性:存在g1,g2∈G1使得可计算性:对任意的g1,g2∈G1,都可以快速地计算的值。步骤12、选择哈希函数H1、H2和H3。H1:{0,1}*→G1,H1是一个单向hash函数,同时这个函数是安全的,它把表示用户身份信息的一个任意长度的0、1字符串映射到G1上椭圆曲线E的一个点,并将该点作为上述用户的公钥,G1是椭圆曲线E上所有点的集合。安全哈希函数即指由明文的哈希值不能够反推出明文信息。H2:{0,1}*→Zq*,H2也是一个单向Hash函数,它也是安全的,它把一个任意长度的0、1字符串映射到Zq*,Zq*是一个乘法群,其元素包括大于等于1且小于等于q-1的所有整数,m是要签密的明文信息,m∈Zq*,x(R)表示椭圆曲线E上点R的横坐标。H3:G1→Zq*,H3也是一个单向Hash函数,它也是安全的,它把G1上椭圆曲线的一个点映射到Zq*。步骤13、PKG(本文档来自技高网
...
基于身份的盲签名方法和装置

【技术保护点】
一种基于身份的盲签名方法,其特征在于,包括签名者选择随机数r∈Zq*,计算U’=rP,所述Zq*表示1~(q‑1)范围内的整数,所述q为设定的大素数,所述P为G1的生成元,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从0到(p‑1)的整数组成的域,所述p为设定的大素数,且所述q是(p+1)的素因子;发送用户随机选择盲化因子α,β∈Zq*,计算U=U’+(α+β)P,a=(α·β·H3(U))H2(m),b=α+β+H2(m),所述H2、H3是一个单向Hash函数,H2:{0,1}*→Zq*,H3:G1→Zq*,所述m是要签密的明文信息,m∈Zq*,所述发送用户将消息对(a,b)发送给所述签名者;所述签名者用自己的私钥对所述消息对(a,b)进行签名,计算V’=a·dID/(r+b),并将V’发送给接收用户,所述签名者的私钥dID=sQID,所述QID=H1(ID),所述ID为所述签名者的身份标识信息,ID∈{0,1}*,所述H1是一个单向Hash函数,所述H1:{0,1}*→G1,所述s为作为主密钥的随机数;所述接收用户接收到所述V’后,计算V=V’/(α·β·H3(U))=H2(m)·dID/(r+b),所述V的横坐标x即为消息m的签名。...

【技术特征摘要】
1.一种基于身份的盲签名方法,其特征在于,包括签名者选择随机数r∈Zq*,计算U’=rP,所述Zq*表示1~(q-1)范围内的整数,所述q为设定的大素数,所述P为G1的生成元,所述G1是Fp上的椭圆曲线E加法群的一个阶为q的子群,所述Fp为从0到(p-1)的整数组成的域,所述p为设定的大素数,且所述q是(p+1)的素因子;发送用户随机选择盲化因子α,β∈Zq*,计算U=U’+(α+β)P,a=(α·β·H3(U))H2(m),b=α+β+H2(m),所述H2、H3是一个单向Hash函数,H2:{0,1}*→Zq*,H3:G1→Zq*,所述m是要签密的明文信息,m∈Zq*,所述发送用户将消息对(a,b)发送给所述签名者;所述签名者用自己的私钥对所述消息对(a,b)进行签名,计算V’=a·dID/(r+b),并将V’发送给接收用户,所述签名者的私钥dID=sQID,所述QID=H1(ID),所述ID为所述签名者的身份标识信息,ID∈{0,1}*,所述H1是一个单向Hash函数,所述H1:{0,1}*→G1,所述s为作为主密钥的随机数;所述接收用户接收到所述V’后,计算V=V’/(α·β·H3(U))=H2(m)·dID/(r+b),所述V的横坐标x即为消息m的签名。2.根据权利要求1所述的基于身份的盲签名方法,其特征在于,所述计算QID=H1(ID)包括:步骤1、给定用户身份信息ID∈{0,1}*,设定i←0,“←”表示赋值的意思;步骤2、设定(x,b)←sha-1(i||ID),这里x是计算的横坐标,b是确定纵坐标的二进制比特位;sha-1表示国际标准哈希算法,设其计算结果的二进制比特位数为n,则最后一个二进制比特位为b,前面n-1个二进制比特位为x;步骤3、根据椭圆曲线方程y2=f(x),及x横坐标,计算得到两个平方根y值y0和y1,根据2)中b的二进制比特值,确定G1上的点QID’(x,yb);步骤4、计算QID=cof*QID’,cof为椭圆曲线参数的协因子,*为椭圆曲线标题乘的符号,若QID≠0,即输出与ID对应的G1上的点QID,否则,将变量i自加1,重新执行上述步骤2、3、4。3.根据权利要求1所述的基于身份的盲签名方法,其特征在于,所述的方法还包括:所述的签名者按照设定的时间因子Time对私钥QID进行更新,所述时间因子Time为年、月、周或日。4.根据权利要求1或2或3所述的基于身份的盲签名方法,其特征在于,所述的方法还包括:计算运算是构建标识密码协议的关键配对运算,包括配对有Weil配对、Tate配对和Ate配;为一个双线性映射,是一个从集合(G1×G1)到集合G2的一个映射,所述G2是域上的一个乘法群,为中所有非零元构成的乘法群,指的是包含p2个元素的有限域,所述Ppub=sP;计算h=H2(m);根据横坐标x计算得到曲线上的点V1;计算若g2=g1或g2=g1-1,则确...

【专利技术属性】
技术研发人员:张庆胜苏斌王永宝
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1