基于SM9的多接收者签密方法技术

技术编号:33728393 阅读:13 留言:0更新日期:2022-06-08 21:23
本发明专利技术提供一种基于SM9的多接收者签密方法。该方法包括:步骤1:系统建立,具体包括:密钥生成中心选择系统参数,生成系统的主公私钥对,并将系统的主公钥发送至系统用户,秘密保存系统的主私钥;步骤2:密钥提取,具体包括:密钥生成中心利用系统的主公私钥对和用户标识,为系统用户生成用户私钥,并通过安全信道将所述用户私钥发送给对应的系统用户;步骤3:多接收者签密,具体包括:发送者利用系统的主公钥和自身的私钥对待签密明文进行签密生成签密文,并按照给定的接收者列表发送至各接收者;步骤4:解签密,具体包括:合法接收者采用自身的私钥对接收到的签密文进行解密和验证,若验证通过,则得到明文及发送者对所述明文的签名;若验证失败,则拒绝接收签密文。则拒绝接收签密文。则拒绝接收签密文。

【技术实现步骤摘要】
基于SM9的多接收者签密方法


[0001]本专利技术涉及通信安全
,尤其涉及一种基于SM9的多接收者签密方法。

技术介绍

[0002]签密是在一个逻辑步骤内对消息实现认证和加密两项功能,其效率远高于“加密”+“认证”两项操作,有效减少了计算和通信开销。多接收者签密能够让发送者仅通过一次签密操作就可以将消息发送给多个不同的接收者,适用于有机密性和认证性需求的广播场景,如网络付费服务、云计算服务、电子贸易、智能家居等网络服务。标识密码系统用可识别的唯一的字符串,如邮箱地址、手机号等作为用户公钥,实现了用户身份和公钥的自然绑定,解决了证书的管理问题。
[0003]已有的标识多接收者签密方案都是基于国外算法设计的。为实现密码自主可控,我国自主设计了SM9标识密码算法,并成为我国标识密码算法标准。而现有文献“基于商密SM9的高效标识签密”给出的基于SM9的标识签密方案,可以实现点对点通信,无法实现一对多的保密通信。

技术实现思路

[0004]为了能够基于SM9国密算法实现一对多的保密通信,本专利技术提供一种基于SM9的多接收者签密方法,发送者只需一次签密操作,合法的多个接收者利用自己私钥,即可解签密获得消息,从而可以实现广播签密,即一对多的“机密+认证”的通信功能。本专利技术方法适用于需要“机密+认证”功能的广播服务,如付费服务,电子贸易等场合。
[0005]本专利技术提供一种基于SM9的多接收者签密方法,包括:
[0006]步骤1:系统建立,具体包括:密钥生成中心选择系统参数,生成系统的主公私钥对,并将系统的主公钥发送至系统用户,秘密保存系统的主私钥;
[0007]步骤2:密钥提取,具体包括:密钥生成中心利用系统的主公私钥对和用户标识,为系统用户生成用户私钥,并通过安全信道将所述用户私钥发送给对应的系统用户;
[0008]步骤3:多接收者签密,具体包括:发送者利用系统的主公钥和自身的私钥对待签密明文进行签密生成签密文,并按照给定的接收者列表发送至各接收者;
[0009]步骤4:解签密,具体包括:合法接收者采用自身的私钥对接收到的签密文进行解密和验证,若验证通过,则得到明文及发送者对所述明文的签名;若验证失败,则拒绝接收签密文。
[0010]进一步地,步骤1具体包括:
[0011]密钥生成中心选择一个双线性群其中均为加法循环群,为乘法循环群,N表示的阶,e表示从到的双线性映射,N>2
λ
且N为素数,λ为给定的安全参数;
[0012]密钥生成中心随机选择α∈[1,N

1],选择三个Hash函数H1:H2:H3:{0,1}
*

{0,1}
n
,其中n为待签密明文的长度;[1,N

1],均表
示不小于1且不大于N

1的整数组成的集合;
[0013]密钥生成中心计算群的元素P
pub
=αP2,计算群的元素g=e(P1,P
pub
),其中P1和P2分别是群和的生成元,且有ψ(P2)=P1;
[0014]密钥生成中心选择用一个字节表示的签密私钥生成函数识别符hid,则系统的主公钥mpk为:mpk=(BP,g,P1,P2,P
pub
,H1,H2,H3,hid),系统的主私钥msk为msk=α。
[0015]进一步地,步骤2具体包括:
[0016]给定用户标识ID∈{0,1}
*
,密钥生成中心在有限域F
N
上计算t1=H1(ID||hid,N)+α,若t1=0,则需重新产生系统的主公钥,计算和公开主公钥,并更新已有用户的私钥;否则计算t2=α
·
t1‑1和SK
ID
=t2·
P2,把SK
ID
作为系统用户的私钥;其中,“ID||hid”表示ID和hid的级联,t1和t2均为临时变量。
[0017]进一步地,步骤3具体包括:
[0018]步骤3.1:发送者计算群的元素Q
i
=H1(ID
i
||hid,N)P1+ψ(P
pub
),i=1,2,

,R;R表示接收者的个数;“ID
i
||hid”表示ID
i
和hid的级联;ID
i
表示第i个接收者的标识;Q
i
为中间变量;
[0019]步骤3.2:发送者随机选取随机数r∈[1,N

1],计算群的元素ω=g
r
,并将ω数据类型转换为比特串;ω为中间变量;
[0020]步骤3.3:发送者计算整数h=H2(M||ω,N)和整数l=(r

h)modN,若l=0则返回步骤3.2,重新选择随机数r;M表示待签密明文,M∈{0,1}
n
;h和l均为中间变量;
[0021]步骤3.4:发送者计算群的元素ID
S
为发送者的标识;S表示明文M的签名;表示发送者的私钥;
[0022]步骤3.5:发送者计算群的元素T
i
=rQ
i
,i=1,2,

,R,记T=(T1,T2,

,T
R
),并将T
i
数据类型转换为比特串;T
i
为中间变量;
[0023]步骤3.6:发送者计算记c=(c1,c2,

,c
R
);c
i
表示对明文M加密后的密文;
[0024]步骤3.7:发送者输出签密文CT=(c,S,T)。
[0025]进一步地,步骤4具体包括:
[0026]步骤4.1:接收者ID
i
计算群的元素并将ω

数据类型转换为比特串;ω

为中间变量;表示接收者ID
i
的私钥;
[0027]步骤4.2:接收者ID
i
计算M

为接收者ID
i
计算出的明文;
[0028]步骤4.3:接收者ID
i
计算h

=H2(M

||ω

,N)和t=g
h

;h

和t均为中间变量;
[0029]步骤4.4:接收者ID
i
计算P=H1(ID
S
||hid,N)P2+P
pub
;P为中间变量;
[0030]步骤4.5:接收者ID
i
验证e(S,P)
·
t=ω

是否成立,若成立则验证通过,获得明文数据M及其签名本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于SM9的多接收者签密方法,其特征在于,包括:步骤1:系统建立,具体包括:密钥生成中心选择系统参数,生成系统的主公私钥对,并将系统的主公钥发送至系统用户,秘密保存系统的主私钥;步骤2:密钥提取,具体包括:密钥生成中心利用系统的主公私钥对和用户标识,为系统用户生成用户私钥,并通过安全信道将所述用户私钥发送给对应的系统用户;步骤3:多接收者签密,具体包括:发送者利用系统的主公钥和自身的私钥对待签密明文进行签密生成签密文,并按照给定的接收者列表发送至各接收者;步骤4:解签密,具体包括:合法接收者采用自身的私钥对接收到的签密文进行解密和验证,若验证通过,则得到明文及发送者对所述明文的签名;若验证失败,则拒绝接收签密文。2.根据权利要求1所述的基于SM9的多接收者签密方法,其特征在于,步骤1具体包括:密钥生成中心选择一个双线性群其中均为加法循环群,为乘法循环群,N表示的阶,e表示从到的双线性映射,N>2
λ
且N为素数,λ为给定的安全参数;密钥生成中心随机选择α∈[1,N

1],选择三个Hash函数1],选择三个Hash函数H3:{0,1}
*

{0,1}
n
,其中n为待签密明文的长度;[1,N

1],均表示不小于1且不大于N

1的整数组成的集合;密钥生成中心计算群的元素P
pub
=αP2,计算群的元素g=e(P1,P
pub
),其中P1和P2分别是群和的生成元,且有ψ(P2)=P1;密钥生成中心选择用一个字节表示的签密私钥生成函数识别符hid,则系统的主公钥mpk为:mpk=(BP,g,P1,P2,P
pub
,H1,H2,H3,hid),系统的主私钥msk为msk=α。3.根据权利要求2所述的基于SM9的多接收者签密方法,其特征在于,步骤2具体包括:给定用户标识ID∈{0,1}
*
,密钥生成中心在有限域F
N
上计算t1=H1(ID||hid,N)+α,若t1=0,则需重新产生系统的主公钥,计算和公开主公钥,并更新已有用户的私钥;否则计算t2=α
·
t1‑1和SK
ID
=t2·
P2,把SK
ID
作为系统用户的私钥;其中,“ID||hid”表示ID和hid的级联,t1和t2均为临时变量。4.根据权利要求2所述的基于SM9的多接收者签密方法,其特征在于,步骤3具体包括:步骤3.1:发送者计算群的元素Q
i
=H1(ID
i
||hid,N)P1+ψ(P
pub
),i=1,2,...,R;R表示接收者的个数;“ID
i
||hid”表示ID
i
和hid的级联;ID

【专利技术属性】
技术研发人员:冀会芳张玉臣周洪伟李福林袁霖王潇雨
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

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

1