基于SM9密码算法的标识签发方法技术

技术编号:19515187 阅读:23 留言:0更新日期:2018-11-21 10:11
本发明专利技术提出了一种基于SM9密码算法的标识签发方法,旨在用于实现网络空间中多场景下信息服务可信标识签发标识验证,并提高可信标识签发和标识验证的速度,实现步骤为:(1)SM9密码算法参数初始化。(2)密钥生成中心生成主公钥和主私钥。(3)标识请求者向标识签发中心发送标识授权请求。(4)密钥生成中心计算信息服务实体的私钥和信息服务实体的公钥。(5)标识签发中心获取标识授权请求的可信标识。(6)验证方判断授权请求的可信标识是否合法。

【技术实现步骤摘要】
基于SM9密码算法的标识签发方法
本专利技术属于计算机
,涉及一种标识签发方法,具体涉及一种基于SM9密码算法的标识签发方法,可用于实现网络空间中多场景下信息服务可信标识签发和标识验证。
技术介绍
SM9密码算法是一种基于双线性对的标识密码算法,它可以把用户的身份标识用以生成用户的公、私密钥对,主要用于数字签名、数据加密、密钥交换以及身份认证。SM9密码算法的密钥长度为256比特,相比较其他的密码算法的密钥长度短,所以密钥的生成速度快。SM9密码算法的应用与管理不需要数字证书、证书库或密钥库。该算法于2015年发布为国家密码行业标准(GM/T0044-2016)。标识签发是指标识申请者向标识签发中心发送标识授权请求,标识签发中心获取授权请求的可信标识并发送回标识申请者,标识申请者向验证方发送授权请求和可信标识后,验证方可以验证标识的合法性来确认标识申请者的合法性。标识签发的基本功能主要是表明标识签发中心对标识申请者的认可。衡量一个标识签发方法优劣的主要指标有标识签发的安全性和标识签发的速度。标识签发是公钥密码体系中重要的一部分,在很多场合有着重要的作用。标识签发方法主要分为有证书的标识签发方法和无证书的标识签发方法两大类,其中,无证书的标识签发方法的主要思想是,信息服务实体的私钥由可信的第三方密钥生成中心根据主密钥和用户身份计算得出,信息服务实体的公钥有用户身份计算得出,从而信息服务实体不需要第三方保证其公钥的真实性,与基于证书的标识签发方法相比,无证书的标识签发方法中的密钥管理环节可以得到适当简化,例如,刘莉、金正平在2016年3月的四川大学学报(工程科学版)第48卷第二期发表的名称为“一个基于RSA的无证书多重签名方案”的文章中,公开了一种基于RSA的标识签发方法。该方法步骤如下:(1)RSA密码算法参数初始化(2)密钥生成中心生成信息服务实体的公钥和私钥(3)信息服务实体对标识请求者的标识授权请求进行签名并产生标识(4)验证方检验标识授权的标识是否合法。该方法实现了多信息服务实体的标识签发及验证。该方法属于无证书的标识签发方法,相比较有证书的标识签发方法,无证书标识签发方法无需维护和管理公钥证书库,所以标识签发速度更快。但该方法还是有不足之处:在密钥生成中心生成信息服务实体的公钥和私钥过程中,密钥生成中心采用RSA密码算法所产生的公钥位数至少为1024位,公钥位数长,所以密钥生成速度慢,从而整个标识签发方法实现速度慢。
技术实现思路
本专利技术的目的在于克服上述现有技术存在的缺陷,提出了一种基于SM9密码算法的标识签发方法,用于解决现有技术中存在的标识签发速度慢的技术问题。为实现上述目的,本专利技术采用的技术方案包括如下步骤:(1)SM9密码算法参数初始化:SM9密码算法的初始化参数包括:阶数为大素数N的加法循环子群G1和G2,G1的生成元P1,G2的生成元P2;阶数为大素数N的乘法循环子群GT;双线性对e是G1×G2→GT的映射;哈希函数H(Z,n)的输入为比特串Z和整数n、输出为a∈[1,n-1];(2)密钥生成中心生成主公钥Ppub和主私钥s:密钥生成中心将随机产生的随机数s∈[1,N-1]作为主私钥,并将s和P2的乘积作为主公钥Ppub,Ppub=s·P2;(3)标识请求者向标识签发中心Ω发送标识授权请求M:标识请求者将自己的身份U输入到哈希函数中,得到标识请求者的标识授权请求M,M=H(U),并将M发送给标识签发中心Ω,Ω={ID1,ID2,…,IDi,…,IDm},其中,IDi为第i个信息服务实体,m为信息服务实体的总数,且m≥2;(4)密钥生成中心计算IDi的信息服务实体私钥di和信息服务实体公钥Qi:密钥生成中心利用SM9密码算法参数以及s和Ppub,计算IDi的信息服务实体私钥di和信息服务实体公钥Qi,得到信息服务实体公钥集合Q,Q={Q1,Q2,…,Qi,…,Qm};(5)标识签发中心Ω获取标识授权请求M的可信标识(U,h,σ):(5.1)标识签发中心Ω中的IDi计算乘法循环子群GT中的元素wi,Ri=ri·P1,其中ri为IDi产生的随机数;(5.2)标识签发中心Ω计算第一部分标识h,h=H(M||w,Q1,…,Qi,…,Qm,N),H(·||·)是两个元素进行级联运算后进行哈希函数运算,w=w1·w2·····wi·····wm;(5.3)标识签发中心Ω中的IDi计算加法循环子群G1中的元素Si,得到σ=(S1,S2,…,Si,…,Sm),并将σ作为第二部分标识,其中,Si=Li·di,Li=(Ri-h)modN;(5.4)标识签发中心Ω将标识请求者身份U、第一部分标识h和第二部分标识σ的拼接结果(U,h,σ)作为授权请求M的可信标识,并将可信标识(U,h,σ)通过标识请求者发送给验证方;(6)验证方判断授权请求M的可信标识(U,h,σ)是否合法:(6.1)验证方判断h∈[1,N-1]是否成立,若是,执行步骤(6.2),否则,则授权请求M的可信标识(U,h,σ)不合法;(6.2)验证方判断Si∈G1是否成立,若是,执行步骤(6.3),否则,则授权请求M的可信标识(U,h,σ)不合法;(6.3)验证方计算检验标识h2,并判断h2=h是否成立,若是,则授权请求M的可信标识(U,h,σ)合法;否则,则授权请求M的可信标识(U,h,σ)不合法,其中:h2=H(M||y,Q1,…,Qi,…,Qm,N)其中:y=y1·y2·····yi·····ym,yi=e(Si,Pi)·e(P1,Ppub)h,Pi=H(IDi||hid,N)·P2+Ppub,hid表示密钥生成中心的私钥生成函数识别符。本专利技术与现有技术相比较,具有如下优点:本专利技术在密钥生成中心计算IDi的信息服务实体私钥di和信息服务实体公钥Qi过程中应用了SM9密码算法,在保证标识签发安全性的前提下,密钥生成中心采用SM9密码算法计算出来的信息服务实体公钥Qi的位数只有256位,相比较利用RSA密码算法计算的信息服务实体公钥Qi的位数大大缩短,密钥生成速度快,从而整个标识签发方法实现速度加快。附图说明图1为本专利技术的实现流程图。具体实施方式以下结合附图和具体实施例,对本专利技术作进一步详细描述。参照图1,一种基于SM9密码算法的标识签发方法,包括如下步骤:步骤1)SM9密码算法参数初始化:SM9密码算法的初始化参数包括:阶数为大素数N的加法循环子群G1和G2,G1的生成元P1,G2的生成元P2,N>2191;阶数为大素数N的乘法循环子群GT,N>2191;双线性对e是G1×G2→GT的映射;哈希函数H(Z,n)的输入为比特串Z和整数n、输出为a∈[1,n-1],输入的比特串Z的长度小于264;哈希函数H(Z,n)的具体计算步骤为:(1)初始化一个32比特构成的计数器ct=0x00000001;(2)计算参数(3)对j从1到执行:(3.1)计算Haj=Hv(0x01||Z||ct);(3.2)ct++;(4)若hlen/256是整数,令参数否则,令为最左边的比特;(5)令将Ha的数据类型转换为整数,计算a=(Hamod(n-1))+1;步骤2)密钥生成中心生成主公钥Ppub和主私钥s:密钥生成中心将随机产生的随机数s∈[1,N-本文档来自技高网
...

【技术保护点】
1.一种基于SM9密码算法的标识签发方法,其特征在于包括如下步骤:(1)SM9密码算法参数初始化:SM9密码算法的初始化参数包括:阶数为大素数N的加法循环子群G1和G2,G1的生成元P1,G2的生成元P2;阶数为大素数N的乘法循环子群GT;双线性对e是G1×G2→GT的映射;哈希函数H(Z,n)的输入为比特串Z和整数n、输出为a∈[1,n‑1];(2)密钥生成中心生成主公钥Ppub和主私钥s:密钥生成中心将随机产生的随机数s∈[1,N‑1]作为主私钥,并将s和P2的乘积作为主公钥Ppub,Ppub=s·P2;(3)标识请求者向标识签发中心Ω发送标识授权请求M:标识请求者将自己的身份U输入到哈希函数中,得到标识请求者的标识授权请求M,M=H(U),并将M发送给标识签发中心Ω,Ω={ID1,ID2,…,IDi,…,IDm},其中,IDi为第i个信息服务实体,m为信息服务实体的总数,且m≥2;(4)密钥生成中心计算IDi的信息服务实体私钥di和信息服务实体公钥Qi:密钥生成中心利用SM9密码算法参数以及s和Ppub,计算IDi的信息服务实体私钥di和信息服务实体公钥Qi,得到信息服务实体公钥集合Q,Q={Q1,Q2,…,Qi,…,Qm};(5)标识签发中心Ω获取标识授权请求M的可信标识(U,h,σ):(5.1)标识签发中心Ω中的IDi计算乘法循环子群GT中的元素wi,...

【技术特征摘要】
1.一种基于SM9密码算法的标识签发方法,其特征在于包括如下步骤:(1)SM9密码算法参数初始化:SM9密码算法的初始化参数包括:阶数为大素数N的加法循环子群G1和G2,G1的生成元P1,G2的生成元P2;阶数为大素数N的乘法循环子群GT;双线性对e是G1×G2→GT的映射;哈希函数H(Z,n)的输入为比特串Z和整数n、输出为a∈[1,n-1];(2)密钥生成中心生成主公钥Ppub和主私钥s:密钥生成中心将随机产生的随机数s∈[1,N-1]作为主私钥,并将s和P2的乘积作为主公钥Ppub,Ppub=s·P2;(3)标识请求者向标识签发中心Ω发送标识授权请求M:标识请求者将自己的身份U输入到哈希函数中,得到标识请求者的标识授权请求M,M=H(U),并将M发送给标识签发中心Ω,Ω={ID1,ID2,…,IDi,…,IDm},其中,IDi为第i个信息服务实体,m为信息服务实体的总数,且m≥2;(4)密钥生成中心计算IDi的信息服务实体私钥di和信息服务实体公钥Qi:密钥生成中心利用SM9密码算法参数以及s和Ppub,计算IDi的信息服务实体私钥di和信息服务实体公钥Qi,得到信息服务实体公钥集合Q,Q={Q1,Q2,…,Qi,…,Qm};(5)标识签发中心Ω获取标识授权请求M的可信标识(U,h,σ):(5.1)标识签发中心Ω中的IDi计算乘法循环子群GT中的元素wi,Ri=ri·P1,其中ri为IDi产生的随机数;(5.2)标识签发中心Ω计算第一部分标识h,h=H(M||w,Q1,…,Qi,…,Qm,N),H(·||·)是两个元素进行级联运算后进行哈希函数运算,w=w1·w2…··wi…··wm;(5.3)标识签发中心Ω中的...

【专利技术属性】
技术研发人员:马文平安涛刘小雪
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

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

1