【技术实现步骤摘要】
一种基于SM9的属性加密方法与系统
本专利技术属于信息安全
,具体涉及一种基于SM9的属性加密方法与系统。
技术介绍
加密算法作为保护数据隐私的重要工具之一,得到了工业界和学术界的广泛关注。当前加密算法根据其所基于的密钥体制可分为:对称加密算法和公钥加密算法。其中,公钥加密算法因有效解决密钥分发与管理问题而被用于多用户场景应用中,如物联网、云计算等。SM9椭圆曲线公钥密码算法是由国家密码管理局发布的标识密码算法(参见“GM/T0044-2016SM9标识密码算法”标准,国家密码管理局,2016年3月),算法包括数据加密、数字签名、密钥交换等算法和协议。其中,SM9公钥加密算法作为基于身份标识的加密算法,在避免传统公钥加密中证书管理流程的同时,兼具高效性、高安全性等特点,可被广泛用于邮件传输、数据传输等领域。SM9公钥加密算法包括系统初始化算法(SM9_Setup)、用户密钥生成算法(SM9_KeyGen)、密钥封装算法(SM9_KeyEnc)、密钥解封算法(SM9_KeyDec)、加密算法(SM9_Enc)和解密算法(SM9_Dec)。然而,基于身份标识的加密算法在云计算、大数据等多用户环境下存在用户信息维护成本高、用户信息易泄露、系统访问策略不灵活等缺陷。
技术实现思路
本专利技术的目的在于提供一种基于SM9的属性加密方法与系统,以解决现有技术中基于身份标识的加密算法存在用户信息管理开销大、维护困难、用户隐私易泄露的技术问题。为达到上述目的,本专利技术所采用的技术方案是:一 ...
【技术保护点】
1.一种基于SM9的属性加密方法,其特征是,包括:/na、获取基于SM9的属性加密方法所需的系统参数;/nb、由密钥生成中心KGC生成系统主私钥MSK,并结合系统参数生成系统主公钥MPK;/nc、密钥生成中心KGC基于用户B的请求,结合系统主私钥MSK、用户B的属性集At
【技术特征摘要】
1.一种基于SM9的属性加密方法,其特征是,包括:
a、获取基于SM9的属性加密方法所需的系统参数;
b、由密钥生成中心KGC生成系统主私钥MSK,并结合系统参数生成系统主公钥MPK;
c、密钥生成中心KGC基于用户B的请求,结合系统主私钥MSK、用户B的属性集AtB、用户B所在组的身份标识GID和系统参数,生成用户私钥USK并发送给用户B;
d、用户A结合系统主公钥MPK、用户B所在组的身份标识GID和系统参数对消息M进行加密并将产生的密文CT发送给用户B;
e、用户B通过用户私钥USK结合系统参数对密文CT解密得到解密结果M′。
2.根据权利要求1所述的基于SM9的属性加密方法,其特征是,所述系统参数包括:椭圆曲线参数、辅助函数和双线性对参数。
3.根据权利要求1所述的基于SM9的属性加密方法,其特征是,所述步骤b包括:
b1.密钥生成中心KGC随机产生s,t∈{1,2,...,n-1},并令MSK=s||t作为系统主私钥,其中,s为系统主私钥的组成部分之一,t为系统主私钥组成部分之二。n表示群G1、G2、GT的阶,G1表示加法循环群之一,G2表示加法循环群之二,GT表示乘法循环群,群G1,G2和群GT有相同的阶;
b2.密钥生成中心KGC根据所选主私钥的组成部分s,t,通过以下公式计算并公布系统主公钥MPK:
MPK={s·P1,t·P1}(1)
其中,令PK1=s·P1表示系统主公钥组成部分之一,令PK2=t·P1表示系统主公钥组成部分之二,P1表示群G1的生成元。
4.根据权利要求1所述的基于SM9的属性加密方法,其特征是,所述步骤c包括:
c1.用户B将自己所在群组的身份标识GID发送给密钥生成中心KGC,请求用户私钥;
c2.密钥生成中心KGC收到用户B的请求后,确认GID是否合法并验证用户B是否在GID对应的群组中;如果验证通过,密钥生成中心KGC为用户B选择随机数r2∈{1,2,3,...,n-1},并结合生成的系统主私钥MSK=s||t、用户B的属性集AtB、用户B所在组的身份标识GID和计算公式(2)作为用户B私钥的一部分:
其中,sk1表示用户B私钥的组成部分之一,h1表示由安全的密码杂凑函数派生的密码函数,P2表示群G2的生成元;
c3.对于属性集AtB中的每个属性j,KGC选择随机数mj∈{1,2,3,...,n-1}并计算公式(3)、(4)作为用户B私钥的属性私钥:
其中,t-1表示t在模n下的逆,表示用户B私钥的属性私钥之一,表示用户B私钥的属性私钥之二,H1()表示安全的密码杂凑函数;
c4.密钥生成中心KGC生成用户B私钥并通过安全信道发送给用户B;
c5.用户B接收并秘密保存密钥生成中心KGC发送的用户私钥USK。
5.根据权利要求1所述的基于SM9的属性加密方法,其特征是,所述步骤d包括:
d1.用户A查询用户B所在群组的身份标识GID,如果对应GID存在,则计算公式(5)作为加密中间值:
QB=h1(GID,n)·P1+PK1(5)
其中,QB表示加密中间值;
d2.用户A随机选择r1∈{1,2,3,...,n-1},计算公式(6)、(7)、(8):
C1=r1·QB(6)
g=e(PK1,P2)(7)
其中,C1表示密文的组成部分之一,g表示加密中间结果,e表示从G1×G2到GT的双线性对,ω表示密文的组成部分之四;
d3.将用户A选择的随机数r1作为根节点的秘密,构建访问控制树T;访问控制树T中的所有非叶节点x都有一个随机多项式qx,多项式的次数dx与该点门限kx满足公式(9):
dx=kx-1(9)
从根节点开始,令qr(0)=r1,其中,qr(0)表示根节点r所对应的多项式在变量取0时的值,然后随机选取其他节点x,对应多项式变量取0时应满足公式(10):
qx(0)=qparent(x)(index(x))(10)
其中,qx(0)表示非叶子节点x所对应的多项式在变量取0时的值;qparent(x)(index(x))表示节点parent(x)所对应的多项式在变量取index(x)时的值,parent(x)表示节点x的父节点,index(x)表示节点x所对应的索引值,x表示访问控制树T中的非叶子节点,T表示访问控制树;
d4.利用公式...
【专利技术属性】
技术研发人员:张宏杰,何德彪,陈泌文,季洪涵,罗敏,马军,耿多,贺建伟,戴晓辉,管荑,刘勇,马雷,王文婷,刘冬兰,张朋丰,梁野,邵立嵩,王景,王春艳,李慧勋,李航,
申请(专利权)人:国家电网有限公司,武汉大学,国网宁夏电力有限公司,南瑞集团有限公司,国网电力科学研究院有限公司,北京科东电力控制系统有限责任公司,国网山东省电力公司,国网浙江省电力有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。