CCA安全的SM9匿名广播加密方法技术

技术编号:36340767 阅读:51 留言:0更新日期:2023-01-14 17:54
本发明专利技术公开CCA安全的SM9匿名广播加密方法,包括密钥生成中心(KGC)根据安全参数生成系统主公钥和系统主私钥,将系统主公钥公开给系统中的用户,系统主私钥由密钥生成中心秘密保存;密钥生成中心基于用户的请求,利用系统主公私钥对生成用户私钥,将用户私钥通过安全信道发送给用户;加密者利用公开的系统主公钥和接收者标识集合对消息加密,并将产生的密文以广播的方式发送给用户;接收者利用系统主公钥和自己的私钥对密文解密,得到明文。得到明文。得到明文。

【技术实现步骤摘要】
CCA安全的SM9匿名广播加密方法


[0001]本专利技术涉及信息安全
,尤其涉及CCA安全的SM9匿名广播加密方法。

技术介绍

[0002]SM9算法为我国的密码行业标准,也是国家标准和ISO/IEC标准,包括数字签名算法、密钥交换协议,密钥封装机制和公钥加密算法。SM9属于标识算法,基于椭圆曲线的双线性对实现,可用身份证号、手机号、邮箱地址等唯一能够表示用户身份的字符串作为公钥,用户的私钥则由密钥生成中心(Key Generation Center,KGC)负责计算并通过安全信道发送给用户。SM9算法现已成为物联网安全认证的最佳选择之一,有效克服了物联网中传统密钥分发算法的安全性较弱等问题。
[0003]随着电子图书、在线音乐、在线电影等数字产品的普及,互联网逐渐由传统点对点的通信方式演变为一对多、多对多的通信方式。安全并高效地分发数字产品是长久以来难以解决的困难问题。为此,人们通常采用加密技术来保证数据的机密性,一种简单的解决方式是多次使用点对点加密实现多用户数据安全共享,然而该做法耗费的计算开销和通信代价较高,难以大规模应用。由Fiat和Naor提出的广播加密为群组信息安全共享的典型技术,可有效解决此问题。在广播加密系统中,发送者可通过广播信道(通常为不安全信道)将数据安全地分发给一组选定的用户。具体而言,加密者首先选择一组接收者,使用其公钥集合S加密数据,最后通过公开信道发送密文。只有在集合S内的用户才能正确解密获得明文,不在集合S内的用户即使合谋也无法获取明文内容。广播加密现已广泛应用于付费电视、卫星通信、无线传感网等应用中。
[0004]在一些特殊应用中,接收者的身份信息同样为敏感信息,不允许泄露。例如广播订阅服务,一些敏感广播的订阅者并不希望其他订阅者知道他所订阅的频道。在区块链应用中同样需要保护用户的身份信息。因此,匿名性是广播加密的一个重要安全需求。适应性选择密文攻击(Adaptively Chosen Ciphertext Attack,CCA)能有效刻画现实应用中的主动攻击,具有主动攻击能力的敌手在广播信道中具有较强的攻击能力,而选择明文安全的广播加密方案不能完全满足实际应用对广播加密安全性的需求。所以,CCA安全的方案变得尤为重要。SM9作为我国国家的标准,其在广播加密的研究较少,目前在主流期刊和会议上未见基于SM9的CCA安全的匿名广播加密相关研究。

技术实现思路

[0005]本专利技术的目的在于提供CCA安全的SM9匿名广播加密方法,以解决现有技术中存在泄漏接收者身份信息同时无法抵抗主动攻击的技术问题。
[0006]本专利技术采用的技术方案是:
[0007]CCA安全的SM9匿名广播加密方法,具有三类实体,即密钥生成中心(KGC)、发送者(广播者)和接收者(授权用户),具体的加密方法包括以下步骤:
[0008]S1、密钥生成中心(KGC)根据安全参数生成系统主公钥和系统主私钥,将系统主公
钥公开给系统中的用户,系统主私钥由密钥生成中心秘密保存;
[0009]进一步地,S1的具体步骤如下:
[0010]S1

1,密钥生成中心KGC首先确定一次加密最大接收者个数m,根据安全参数λ选取双线性群BP=(G1,G2,G
T
,e,p),
[0011]S1

2,随机选取群G1的生成元P1和群G2的生成元P2、R、U和V;对任意i∈1,2,

,m的接收者分别计算群G1中的元素α
i
P1,群G2中的元素P
pub
=α2P2,;
[0012]S1

3,选择随机数作为系统主私钥,选取三个密码杂凑函数H1、H2和H3,密钥派生函数KDF,共同组合生成系统主公钥mpk并公开;主公钥mpk的表达式如下
[0013][0014]其中,BP为双线性群;p我循环群G1、G2、G
T
的阶,且为大于2
191
的素数;G1、G2分别表示阶为素数p的加法循环群;G
T
表示阶为素数p的乘法循环群;e表示从G1×
G2到G
T
的双线性映射;α表示系统主私钥;m表示一次加密的最大接收者个数;P1为群G1的生成元;P2、R、U、V分别表示群G2的生成元;表示群G1中的元素;P
pub
为群G2中的元素;H1、H2、H3分别表示密码杂凑函数;KDF表示密钥派生函数;mpk表示系统主公钥。
[0015]S2、密钥生成中心基于用户的请求利用系统公私钥对生成用户私钥,将用户私钥通过安全信道发送给用户;用户私钥的计算公式如下:
[0016][0017]其中,ID表示已知用户标识;sk
ID
表示用户ID的用户私钥,属于群G2中的元素;H1表示{0,1}
*
到由密码杂凑函数派生的密码函数;
[0018]S3、加密者利用公开的系统主公钥和接收者标识集合S=(ID1,ID2,

,ID
n
)(n≤m)对待加密消息的比特串M∈{0,1}
l
进行加密得到密文,并将密文以广播的方式发送给信道上的所有用户;
[0019]S3的具体加密步骤如下:
[0020]S3

1.定义多项式1.定义多项式
[0021]S3

2.选取随机数r,k,
[0022]S3

3.计算群G1中的元素C0=p(α)P1,C1=rp(α)P1;
[0023]S3

4.对任意i=1,2,

,n,计算群G
T
中的元素w
i
=e(αp
i
(α)P1,P2)
r

[0024]S3

5.定义多项式其中b
n
=1;
[0025]S3

6.计算K=KDF(C0,k,l),计算计算C3=rP
pub

[0026]S3

7.计算h=H3(C0,C1,C2,C3,b0,b1,

,b
n
),计算群G2中的元素C4=r(hR+τU+V),输出密文CT=(τ,C0,C1,C2,C3,C4,b0,b1,

,b
n
)。
[0027]其中,M为待加密消息;ID
i
为用户i的标识;S为接收者标识集合;r、k、τ分别表示中的随机数;C0、C1均为临时变量,属于群G1中的元素;w
i
为临时变量,属于群G
T
中的元素;b
i
为多项式q(x)的系数,属于有限域F
p
中的元素;K为封装的会话密钥,长度为l的比特串;KDF
为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.CCA安全的SM9匿名广播加密方法,具有三类参与实体,即密钥生成中心、发送者和接收者,其特征在于:加密方法包括以下步骤:S1、密钥生成中心根据安全参数生成系统主公钥和系统主私钥,将系统主公钥公开给系统中的用户,系统主私钥由密钥生成中心秘密保存;S2、密钥生成中心基于用户的请求利用系统公私钥对生成用户私钥,将用户私钥通过安全信道发送给用户;用户私钥的计算公式如下:其中,ID表示已知用户标识;sk
ID
表示用户ID的用户私钥,属于群G2中的元素;H1表示{0,1}
*
到由密码杂凑函数派生的密码函数;{0,1}
*
表示任意长度的比特串;Z
p*
为整数集合{1,2,

,p

1};S3、加密者利用公开的系统主公钥和接收者标识集合S={ID1,ID2,

,ID
n
}对待加密消息的比特串M∈{0,1}
l
进行加密得到密文,并将密文以广播的方式发布到公开信道;具体加密步骤如下:S3

1.定义多项式S3

2.选取随机数S3

3.计算群G1中的元素C0=p(α)P1,C1=rp(α)P1;S3

4.对任意i=1,2,

,n,计算群G
T
中的元素w
i
=e(αp
i
(α)P1,P2)
r
;S3

5.定义多项式其中b
n
=1;S3

6.计算K=KDF(C0,k,l),计算计算C3=rP
pub
;S3

7.计算h=H3(C0,C1,C2,C3,b0,b1,

,b
n
),计算群G2中的元素C4=r(hR+τU+V),输出密文CT=(τ,C0,C1,C2,C3,C4,b0,b1,

,b
n
);其中,M为待加密消息;ID
i
为用户i的标识;S为当前消息的接收者标识集合,S=(ID1,ID2,

,ID
n
),n表示当前消息的接收者数量,n≤m,m为最大接收者数量;r、k、τ分别表示中的随机数;C0、C1均为临时变量,属于群G1中的元素;w
i
为临时变量,属于群G
T
中的元素;b
i
为多项式q(x)的系数,属于有限域F
p
中的元素;K为封装的会话密钥,长度为l的比特串;KDF为到{0,1}
l
的密钥派生函数;C2为临时变量,C2为长度为l的字符串;C3为临时变量,属于群G2中的元素;H3为到由密码杂凑函数派生的密码函数;C4为临时变量,属于群G2...

【专利技术属性】
技术研发人员:崔岩赖建昌黄欣沂宁建廷
申请(专利权)人:福建师范大学
类型:发明
国别省市:

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

1