【技术实现步骤摘要】
一种安全的PKI与IBC之间的双向异构数字签名方法
本专利技术属于用户通信安全的
,尤其涉及一种安全的PKI与IBC之间的双向异构数字签名方法。
技术介绍
公钥密码设施(PublicKeyInfrasture,PKI),是当前部署传统的公钥密码系统(PublicKeyCryptography,PKC)的主要手段,用户的身份与证书绑定,一个用户的身份与其公钥之间的绑定关系是通过数字证书形式获得的,证书由可信的证书权威机构(CertificateAuthority,CA)为用户颁发。所有的数据经证书权威机构用自己的私钥签名后就形成证书。证书权威机构在给用户发放证书之前,先验证该用户身份的真实性。任何一个通信方对证书权威机构信任,都可以通过验证对方数字证书上证书权威机构的数字签名来建立起与对方的信任关系,并且获得对方的公钥以备使用。因此,PKI中存在证书存储管理以及验证证书合法性问题。基于身份加密(identitybasedcryptography,IBC),为了简化证书管理问题,Shamir于1984年首次提出了基 ...
【技术保护点】
1.一种安全的PKI与IBC之间的双向异构数字签名方法,其特征在于,包括以下步骤:/n步骤1:私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对,定义两个无碰撞哈希函数,从阶为素数的整数群中随机选取一个数字作为主密钥并设置主公钥,公开系统参数;/n步骤2:公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书,从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥,计算公钥基础设施环境中用户的公钥,基于身份加密环境中用户向私钥生成中心提交用户身份,计算基于身份加密环境中用户的私钥,再回传至基于身份加密环境中用户从而得到公钥;/n步骤3:若公钥 ...
【技术特征摘要】
1.一种安全的PKI与IBC之间的双向异构数字签名方法,其特征在于,包括以下步骤:
步骤1:私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对,定义两个无碰撞哈希函数,从阶为素数的整数群中随机选取一个数字作为主密钥并设置主公钥,公开系统参数;
步骤2:公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书,从阶数为素数的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥,计算公钥基础设施环境中用户的公钥,基于身份加密环境中用户向私钥生成中心提交用户身份,计算基于身份加密环境中用户的私钥,再回传至基于身份加密环境中用户从而得到公钥;
步骤3:若公钥基础设施环境中的用户作为签名者用于生成签名,且基于身份加密环境中的用户作为验证者用于验证签名,签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名,签名者计算双线性对的值,签名者利用其私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名,签名者通过签名者生成签名、给定的消息构建组合消息发送给验证者,验证者通过组合消息中签名者生成签名的第二部分签名计算验证者双线性对的值,验证者通过组合消息计算验证者的签名验证,验证者将验证者的签名验证与签名者生成签名的第一部分签名进行比较,判断是否接收给定的消息;
步骤4:若基于身份加密环境中的用户作为签名者拥有生成签名,公钥基础设施环境中的用户作为验证者用于验证签名,签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名签名者计算签名者双线性对的值,签名者利用其公钥、私钥以及给定的消息,通过哈希函数、点乘运算,计算签名者生成签名的第三部分签名,签名者通过签名者生成签名、给定的消息构建组合消息发送给验证者,验证者通过组合消息中签名者生成签名的第二部分签名计算验证者双线性对的值,验证者通过组合消息计算验证者的签名验证,验证者将验证者的双线性对的第一个验证值与双线性对的第二个验证值进行比较,判断是否接收给定的消息。
2.根据权利要求1所述的安全的PKI与IBC之间的双向异构数字签名方法,其特征在于:步骤1中所述私钥生成中心选择阶为素数的循环加法群以及循环乘法群以生成双线性对为:
选择阶为素数q的循环加法群即G1和循环乘法群即G2,双线性对e,e:G1×G1→G2;
所述定义两个无碰撞哈希函数:
H1:{0,1}*→G1、
其中,H1是把用户的身份信息映射到加法循环群G1上的无碰撞哈希函数,{0,1}*表示长度为任意比特的二进制序列组合的集合,表示阶为q的整数群除去0元素,H2表示阶为素数q的循环乘法群映射到整数群的无碰撞哈希函数,{0,1}n表示长度为n比特的二进制序列组合的集合;
所述从阶为素数的整数群中随机选取一个数字作为主密钥并设置主公钥为:
随机选取一个s为主密钥,s保密,设置主公钥Ppub=sP,P是G1的生成元,G1是阶为素数q的循环加法群;
所述公开系统参数为:
param={k,q,G1,G2,P,e,H1,H2,Ppub}
其中,param为系统参数,k为输入安全参数,保留s,s为私钥生成中心的主密钥,P是G1的生成元,G1是阶为素数q的循环加法群。
3.根据权利要求1所述的安全的PKI与IBC之间的双向异构数字签名方法,其特征在于:步骤2中所述公钥基础设施环境中的用户向证书权威机构提交身份以颁发证书为:
公钥基础设施环境中的用户A向证书权威机构提交IDA,IDA为用户A的身份,证书权威机构给用户A颁发证书;
所述从阶数为q的整数群中随机选择一个数字作为公钥基础设施环境中用户的私钥为:
用户A随机选取一个随机数为表示阶数为q的整数群除去0元素,设置x作为用户A的私钥,即SKA=x,SKA为公钥基础设施环境中用户A的私钥;
所述计算公钥基础设施环境中用户的公钥为:
PKA=xP,P是G1的生成元,x作为用户A的私钥,G1为阶为素数q的循环加法群;
所述基于身份加密环境中用户向私钥生成中心提交用户身份为:
基于身份加密环境中用户B向私钥生成中心提交IDB,IDB为基于身份加密环境中用户B的身份;
所述计算基于身份加密环境中用户的私钥为:
私钥生成中心计算基于身份加密环境中用户B的私钥:
SKB=sH1(IDB),发送给用户B;
其中,基于身份加密环境中用户B的私钥为SKB,s为私钥生成中心的主密钥,IDB为基于身份加密环境中用户B的身份,H1是把用户的身份信息映射到加法循环群G1上的无碰撞哈希函数;
所述再回传至基于身份加密环境中用户从而得到公钥为:
PKB=H1(IDB)为基于身份加密环境中用户B的公钥。
4.根据权利要求1所述的安全的PKI与IBC之间的双向异构数字签名方法,其特征在于:步骤3中所述签名者从阶数为素数的整数群中随机选择两个数字分别用于计算签名者生成签名的第一部分签名以及第二部分签名:
签名者随机选择计算R1=r1P,签名者利用自己的公钥计算R2=r2PKA:
其中,表示是从中任意选取的一个元素,P是G1的一个生成元,G1是阶为素数q的循环加法群,PKA表示签名者的公钥,R1表示签名者生成签名的第一部分签名,R2表示表示签名者生成签名的第二部分签名;
步骤3所述签名者计算签名者双线性对的值:
W1=e(T,U)
T=...
【专利技术属性】
技术研发人员:孟博,王潇潇,王德军,王俊,
申请(专利权)人:中南民族大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。