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