基于全域哈希的身份基数字签名方法技术

技术编号:23534554 阅读:29 留言:0更新日期:2020-03-20 08:26
本发明专利技术一种基于全域哈希的身份基数数字签名方法,包括以下步骤;S1:参数初始化;S2:密钥生成中心生成主公钥和主私钥;S3:用户密钥生成;S4:用户签名;S5:签名验证。本发明专利技术采用基于全域哈希的身份基数字签名方案,完成了用户身份与公钥的最自然绑定,避免第三方信任系统繁琐的信任证明;与国际上流行HESS‑IBS的方案相比,在相同安全强度下,本方案在签名阶段取消了最为耗时的双线性对运算,并且减少了一次点乘运算,而在签名验证阶段与HESS‑IBS算法相当。在实际的应用场景下,该特点积极意义显著。

Identity based digital signature method based on global hash

【技术实现步骤摘要】
基于全域哈希的身份基数字签名方法
本专利技术涉及密码学
,特指一种针对基于全域哈希的身份基数字签名方法。技术背景数字签名是指数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据。与手写签名或者盖章一样,电子签名有两个基本功能:一是用于识别签名人的身份,二是表明签名人对文件内容的认可。数字签名是公钥密码体系中重要的一部分,在很多场合有着重要的作用。A.Shamir在1984年提出了基于身份的密码系统(Identity-BasedCryptography)的概念,在基于身份的密码系统中,用户的私钥由密钥生成中心(KeyGenerateCenter,KGC)根据主密钥和用户身份计算得出,用户的公钥由用户身份唯一确定,从而用户不需要通过第三方保证其公钥的真实性。与基于证书的公钥密码系统相比,基于身份的密码系统中的密钥管理环节可以得到适当简化近年来,随着我国网络信息化建设的不断推进及信息技术的广泛应用,在促进经济发展、社会进步、科技创新的同时,也带来了十分突出的网络安全问题。密码技术是网络安全技术的基础,基于身份的密码学技术是确保网络中通信双方安全通信的重要工具。椭圆曲线对具有双线性的性质,它在椭圆曲线的循环子群与扩域的乘法循环子群之间建立了联系。1999年,K.Ohgishi、R.Sakai和M.Kasahara在日本提出了用椭圆曲线对(pairing)构造基于身份的密钥共享方案;2001年,D.Boneh和M.Franklin,以及R.Sakai、K.Ohgishi和M.Kasahara等人独立提出了用椭圆曲线对构造基于身份的公钥加密算法。这些工作引发了基于身份的密码的新发展,我国于2016年发布了用椭圆曲线对实现的SM9密码算法,包括数字签名算法、密钥交换协议、密钥封装机制和公钥加密算法等。
技术实现思路
本专利技术要解决的技术问题是提出一种基于全域哈希的身份基签名方法,解决现有签名技术中签名速度慢,效率低等问题,同时有效提高通信安全性。具体包括以下步骤:S1:New-IBS密码算法的初始化参数初始化参数包括:阶数为大素数N的加法循环子群G1和G2,G1的生成元P1,G2的生成元P2;阶数为大素数N的乘法循环子群GT;双线性对e是G1×G2→GT的映射;哈希函数H(Z,n)的输入为比特串Z和整数n、输出为a∈[1,n-1],得到H1,H2;公开参数P1,P2,H1,H2。S2:密钥生成中心生成主公钥Ppub和主私钥s:密钥生成中心将随机产生的随机数s∈[1,N-1]作为主私钥,并将s和P2的乘积作主公钥Ppub,Ppub=s·P2;公开公开参数,Ppub和e(Ppub,P2))。S3:计算产生用户签名密钥用户A的标识为IDa,为产生用户A的签名私钥dsA,密钥生成中心首先在有限域FN上计算t1=H1(IDa,N)+P1,若t1=0则需重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则计算dsA=s[t1]。具体包括以下步骤:A1:用户在进行签名之前向PKG进行注册,并向PKG发送用户自身的身份标识IDa、申请系统参数和用户私钥请求;A2:PKG获取用户的身份标识、申请系统参数和用户私钥请求后,对用户的身份标识进行审核;A3:PKG从系统管理员处获取安全参数,根据安全参数产生系统参数和PKG的主密钥,PKG根据用户的身份标识和主密钥为用户生成私钥,计算dsA=s*(H1(IDa)+P1)。S4:数字签名生成算法设待签名的消息为比特串M,为了获取消息M的数字签名(V,U),作为签名者的用户A应实现以下运算步骤:B1:产生随机数r∈[1,N-1];B2:计算群G1中的元素V=r·(H1(ID)+P1),将V的数据类型转换为比特串;B3:计算整数h=H2(M||V,N);B4:计算群G1中的元素U=(r+h)dsA;B5:消息M的签名为Sig=(V,U)S5:数字签名验证算法为了检验收到的消息M’及其数字签名(V’,U’),作为验证者的用户B应实现以下运算步骤C1:将V’的数据类型转换为椭圆曲线上的点,检验V’∈G1是否成立,若不成立则验证不通过;C2:将U’的数据类型转换为椭圆曲线上的点,检验U’∈G1是否成立,若不成立则验证不通过;C3:计算整数h′=H2(M′||V′,N);C4:计算群Gt中的元素h1=e(Ppub,V′+h′(H1(ID)+P1));C5:计算群Gt中的元素h2=e(P2,U),检验h1=h2?是否成立,若成立则验证通过,否则验证不通过。本专利技术与现有技术相比具有如下优势;与国际标准HSEE-IBS相比现有技术相比,采用本专利技术可以达以下技术效果:1.本专利技术采用基于全域哈希的身份基数字签名方案,完成了用户身份与公钥的最自然绑定,避免第三方信任系统繁琐的信任证明;2.在身份基密码系统中,本专利技术的计算具有优势。与国际上流行HESS-IBS的方案相比,在相同安全强度下,本方案在签名阶段取消了最为耗时的双线性对运算,并且减少了一次点乘运算,而在签名验证阶段与HESS-IBS算法相当。在实际的应用场景下,该特点积极意义显著。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术数字签名流程图。图2是本专利技术签名验证流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。一种基于全域哈希的身份基数字签名方法,包括以下步骤:S1:参数初始化。设Fq是阶为q的有限域,其中q是一个奇素数或者是2的方幂,当q是奇素数时,要求q>2191;当q是2的方幂2m时,要求m>192且为素数,当q是奇素数时,素域中的元素用整数0,1,2…,q-1表示;当q是2的方幂2m时,二元扩域阶为2的F2上的m维向量空间,其元素可用长度为m的比特串表示;选取有限域Fq的椭圆曲线方程E为:y2=x3+ax+b,其中椭圆曲线参数a、b∈Fq,且(4a3+27b2)modq≠0,其中modq表示整数除以q的求余运算。设有限域Fq上椭圆曲线方程E的所有的有理点组成的集合为E(Fq),其中E(Fq)={(x,y)|x,y∈Fq,且满足方程<1>}∪{O},其中O是无穷远点。选取阶数为大素数N的加法循环子群G1和G2,G1的生成元P1,G2的生成元P2;阶数为大本文档来自技高网
...

【技术保护点】
1.一种基于全域哈希的身份基数字签名方法,其特征在于;包括以下步骤:/nS1:New-IBS密码算法参数初始化:阶数为大素数N的加法循环子群G1和G2,G1的生成元P1,G2的生成元P2;阶数为大素数N的乘法循环子群GT;双线性对e是G1×G2→GT的映射;哈希函数H(Z,n)的输入为比特串Z和整数n、输出为a∈[1,n-1],得到H1,H2;公开参数P1,P2,H1,H2;/nS2:密钥生成中心生成主公钥Ppub和主私钥s:密钥生成中心将随机产生的随机数s∈[1,N-1]作为主私钥,并将s和P2的乘积作主公钥Ppub,Ppub=s·P2;公开参数Ppub和e(Ppub,P2);/nS3:用户密钥生成:用户A的标识为IDa,为产生用户A的签名私钥dsA,密钥生成中心首先在有限域FN上计算t1=H1(IDa,N)+P1,若t1=0则需重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则计算dsA=s[t1];/nS4:用户签名:设用户A待签名的消息为比特串M,获取消息M的数字签名(V,U);通过随机产生整数r,进行哈希得到H(IDa);H(IDa)与G1群的元素P1相加得到点元素V,将消息M与V相连接后进行哈希,所得整数h与随机数r做加法后与用户私钥相乘,计算得到消息M的签名即为Sig(V,U);/nS5:签名验证:作为验证者的用户B对收到的消息M’及其数字签名(V’,U’)进行检验,检验V’和U’是否属于G1,不属于则不通过;属于则进一步将息M’与V’相连接后进行哈希得到整数h’,再进行双线性对运算计算点元素是否相同,成立则验证通过,否则验证不通过。/n...

【技术特征摘要】
1.一种基于全域哈希的身份基数字签名方法,其特征在于;包括以下步骤:
S1:New-IBS密码算法参数初始化:阶数为大素数N的加法循环子群G1和G2,G1的生成元P1,G2的生成元P2;阶数为大素数N的乘法循环子群GT;双线性对e是G1×G2→GT的映射;哈希函数H(Z,n)的输入为比特串Z和整数n、输出为a∈[1,n-1],得到H1,H2;公开参数P1,P2,H1,H2;
S2:密钥生成中心生成主公钥Ppub和主私钥s:密钥生成中心将随机产生的随机数s∈[1,N-1]作为主私钥,并将s和P2的乘积作主公钥Ppub,Ppub=s·P2;公开参数Ppub和e(Ppub,P2);
S3:用户密钥生成:用户A的标识为IDa,为产生用户A的签名私钥dsA,密钥生成中心首先在有限域FN上计算t1=H1(IDa,N)+P1,若t1=0则需重新产生签名主私钥,计算和公开签名主公钥,并更新已有用户的签名私钥;否则计算dsA=s[t1];
S4:用户签名:设用户A待签名的消息为比特串M,获取消息M的数字签名(V,U);通过随机产生整数r,进行哈希得到H(IDa);H(IDa)与G1群的元素P1相加得到点元素V,将消息M与V相连接后进行哈希,所得整数h与随机数r做加法后与用户私钥相乘,计算得到消息M的签名即为Sig(V,U);
S5:签名验证:作为验证者的用户B对收到的消息M’及其数字签名(V’,U’)进行检验,检验V’和U’是否属于G1,不属于则不通过;属于则进一步将息M’与V’相连接后进行哈希得到整数h’,再进行双线性对运算计算点元素是否相同,成立则验证通过,否则验证不通过。


2.根据权利要求1所述的基于全域...

【专利技术属性】
技术研发人员:刘世有廖华邓雅
申请(专利权)人:湖南盾神科技有限公司
类型:发明
国别省市:湖南;43

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

1