基于sm9支持大
属性的模糊
标识基加密
系统及方法
技术领域
1.本发明属于信息安全技术领域,具体涉及一种基于sm9支持大属性的模糊标识基加密系统及方法。
背景技术:
2.2005年,sahai和waters首次提出了基于模糊标识基加密的概念,作为标识基加密算法的扩展,模糊标识基加密算法通过将用户标识视为一组描述性属性,只要两个不同的标识id和id'通过某些度量在一定的范围内,标识为id的用户用它的私钥就可以解密出用另一个标识id
′
加密的密文,从而实现容错加密或者门限访问控制。另外,模糊标识基加密又是属性基加密的雏形,允许对具有特定属性集的所有用户加密文档,任何具有包含所有这些属性标识的用户都可以解密该文档,从而对分布式计算系统中细粒度访问控制的研究起到了重要的作用。
3.模糊标识基加密算法分为小属性集和大属性集。小属性集的模糊标识加密算法需要在系统建立时就确定一组描述性属性,属性空间的大小是多项式有界的,而且系统中公共参数的大小随着可能属性的增加而线性增多。如果系统在运行中需要增加属性,并且超过了系统初始设置的界限时,就需要重新部署系统,并重新加密所有数据,这将造成大量的资源浪费。如果在系统设置时将可能的属性界限设置的很大而实际需要又很小时,将会造成系统不必要的负担。因此设计支持大属性集的模糊标识基加密具有重要的意义。
技术实现要素:
4.有鉴于此,本发明的目的在于提供一种基于sm9支持大属性的模糊标识基加密系统及方法,解决无法实现的容错加密或门限访问问题。
5.为实现上述目的,本发明采用如下技术方案:
6.一种基于sm9支持大属性的模糊标识基加密系统,包括权威机构,加密者与解密者;所述权威机构与加密者、解密者分别连接;所述加密者还与解密者连接。
7.一种基于sm9支持大属性的模糊标识基加密系统的加密方法,包括以下
步骤:
8.步骤s1、权威机构根据sm9算法的系统参数,设置容错值d,生成大属性模糊标识基加密算法的系统参数,并公开给系统中的用户;
9.步骤s2、权威机构根据选择的可加密用户标识的最大属性个数n,产生系统的主公钥和主私钥,将主公钥公布,主私钥保存;
10.步骤s3、密钥生成算法输入用户标识所对应的属性集以及系统的主公私钥,输出对应于该属性集的标识私钥;
11.步骤s4、加密算法输入属性集w',待加密的消息m,输出消息 m在属性集w'下的密文c;
12.步骤s5、解密算法输入要解密的密文c以及属性集w,当且仅当|w∩w'|≥d时,即可解密获得明文m,否则解密失败。
13.进一步的,所述步骤s1具体为:选择阶为p的加法g1,g2, 乘法g
t
;e:g1×
g2→gt
是双线性映射;哈希函数一个字节表示的加密生成函数标识符hid,随机的d∈z
p
;对于集合s和i∈z
p
,定义拉格朗日系数为
14.其中,p:循环g1,g2,g
t
的阶,且p>2
191
的素数;z
p
:{0,1,2
…
p-1};g1:阶为素数p的加法循环;g2:阶为素数p的加法循环;g
t
:阶为素数p的乘法循环;e:从g1×
g2到g
t
的双线性映射;h1:{0,1}
*
到由密码杂凑函数派生的密码函数;hid:用一个字节表示的加密密钥生成函数识别符,由密钥生成中心选择并公开;s:元素取自的集合;δ
i,s
(x):拉格朗日系数;d:容错值。
15.进一步的,所述步骤s2具体为:随机选择生成元p1∈g1,p2∈g2,其中ψ(p2)=p1,随机选择计算g2中的元素p
pub
=ap2,g
t
中的元素g=e(p1,p
pub
),设n={1,2,
…
,n+1},从g2中随机选择互不相同的n+1个元素t1,t2,...,t
n+1
,定义函数公开参数pk为: mpk={p1,p2,p
pub
,g,t1,t2,
…
t
n+1
},主私钥为msk=a;
16.其中,p1:g1的生成元;p2:g2的生成元;ψ:从g2到g1的映射;主密钥;p
pub
,ti:g2中的元素;g:g
t
中的元素;n:正整数。
17.进一步的,所述步骤s3具体为:
18.秘钥生成算法首先选取一个d-1次多项式q(x),使得q(0)=a,其次对于所有的i∈w,计算hi=h1(i||hid,n)和选择ri∈z
p
,计算
[0019][0020]
输出解密密钥为d
i∈w
={di,di}
i∈w
[0021]
其中,w:用户标识的属性集;q:系数在z p
中的d-1次多项式; q(i):多项式在第i的值;q(0):多项式的常数;“i”||hid:i与hid的拼接,其中i和hid是比特串或字节串;hi:哈希函数在i处的值;ri:z
p
中随机选择的临时变量;t(i):t(x)在i处的值;di,di:属性i所对应的部分私钥;d
i∈w
:属性集w的私钥。
[0022]
进一步的,所述步骤s4具体为:加密算法输入待加密的明文消息m∈g
t2
,属性集合w',然后选择一个随机值输出密文e: e=(w',e'=mgs,{e
″i=s(h1(i||hid,n)p1+ψ(p
pub
)),ei=st(i)}
i∈w'
);
[0023]
其中,m:待加密的消息;w
′
:接收者的属性集;s:临时变量,属于z
p
中的元素;ei,e
″i:对应于属性i的属性密文;e':部分密文;e: 加密的密文。
[0024]
进一步的,所述步骤s5具体为:
[0025]
解密算法输入一个在标识w'下加密的密文e,一个对应于标识w 的密钥d
i∈w
,且满足|w∩w'|≥d,则在w和w'中随机的选择d个相同的元素,组成集合s,然后计算
[0026][0027]
其中:|ω∩ω'|:属性集ω和属性集ω'的重叠属性个数;s:ω∩ω'中任意一个包含d个元素的子集;δ
i,s
(0):拉格朗日系数中x=0的值。
[0028]
本发明与现有技术相比具有以下有益效果:
[0029]
1、本发明解决sm9标识加密无法实现的容错加密或门限访问问题;
[0030]
2、本发明使用boneh和boyen技术,消除了在系统参数设置时对属性公钥与私钥的计算,解决了后期因增加属性而需要重置系统所造的大量资源的浪费。
[0031]
3、本发明如果去除t(x)可以实现完全大属性的模糊标识基加密,具有很好的拓展性。
附图说明
[0032]
图1是本发明系统架构图;
[0033]
图2是本发明一实施例中工作流程图;
[0034]
图3是本发明一实施例中方法流程图。
具体实施方式
[0035]
下面结合附图及实施例对本发明做进一步说明。
[0036]
请参照图1,本发明提供一种基于sm9支持大属性的模糊标识基加密系统,包括权威机构,加密者与解密者;所述权威机构与加密者、解密者分别连接;所述加密者还与解密者连接。
[0037]
在本实施例中,还提供一种基于sm9支持大属性的模糊标识基加密系统的加密方法,包括以下步骤:
[0038]
步骤s1、权威机构根据sm9算法的系统参数,设置容错值d,生成大属性模糊标识基加密算法的系统参数,并公开给系统中的用户;
[0039]
步骤s2、权威机构根据选择的可加密用户标识的最大属性个数n,产生系统的主公钥和主私钥,将主公钥公布,主私钥保存;
[0040]
步骤s3、密钥生成算法输入用户标识所对应的属性集以及系统的主公私钥,输出对应于该属性集的标识私钥;
[0041]
步骤s4、加密算法输入属性集w',待加密的消息m,输出消息 m在属性集w'下的密文c;
[0042]
步骤s5、解密算法输入要解密的密文c以及属性集w,当且仅当|w∩w'|≥d时,即可解密获得明文m,否则解密失败。
[0043]
在本实施例中,优选的,步骤s1具体为:选择阶为p的加法 g1,g2,乘法g
t
;e:g1×
g2→gt
是双线性映射;哈希函数一个字节表示的加密生成函数标识符hid,随机的d∈z
p
;对于集合s和 i∈z
p
,定义拉格朗日系数为
[0044]
其中,p:循环g1,g2,g
t
的阶,且p>2
191
的素数;z
p
:{0,1,2
…
p-1};
g1:阶为素数p的加法循环;g2:阶为素数p的加法循环;g
t
:阶为素数p的乘法循环;e:从g1×
g2到g
t
的双线性映射;h1:{0,1}
*
到由密码杂凑函数派生的密码函数;hid:用一个字节表示的加密密钥生成函数识别符,由密钥生成中心选择并公开;s:元素取自的集合;δ
i,s
(x):拉格朗日系数;d:容错值。
[0045]
在本实施例中,优选的,步骤s2具体为:随机选择生成元 p1∈g1,p2∈g2,其中ψ(p2)=p1,随机选择计算g2中的元素 p
pub
=ap2,g
t
中的元素g=e(p1,p
pub
),设n={1,2,
…
,n+1},从g2中随机选择互不相同的n+1个元素t1,t2,...,t
n+1
,定义函数公开参数pk为:mpk={p1,p2,p
pub
,g,t1,t2,
…
t
n+1
},主私钥为msk=a;
[0046]
其中,p1:g1的生成元;p2:g2的生成元;ψ:从g2到g1的映射;主密钥;p
pub
,ti:g2中的元素;g:g
t
中的元素;n:正整数。
[0047]
在本实施例中,优选的,步骤s3具体为:
[0048]
秘钥生成算法首先选取一个d-1次多项式q(x),使得q(0)=a,其次对于所有的i∈w,计算hi=h1(i||hid,n)和选择ri∈z
p
,计算
[0049][0050]
输出解密密钥为d
i∈w
={di,di}
i∈w
[0051]
其中,w:用户标识的属性集;q:系数在z
p
中的d-1次多项式; q(i):多项式在第i的值;q(0):多项式的常数;“i”||hid:i与hid的拼接,其中i和hid是比特串或字节串;hi:哈希函数在i处的值;ri:z
p
中随机选择的临时变量;t(i):t(x)在i处的值;di,di:属性i所对应的部分私钥;d
i∈w
:属性集w的私钥。
[0052]
在本实施例中,优选的,步骤s4具体为:加密算法输入待加密的明文消息m∈g
t2
,属性集合w',然后选择一个随机值输出密文e:e=(w',e'=mgs,{e
″i=s(h1(i||hid,n)p1+ψ(p
pub
)),ei=st(i)}
i∈w'
);
[0053]
其中,m:待加密的消息;w
′
:接收者的属性集;s:临时变量,属于z
p
中的元素;ei,e
″i:对应于属性i的属性密文;e':部分密文;e: 加密的密文。
[0054]
在本实施例中,优选的,步骤s5具体为:
[0055]
解密算法输入一个在标识w'下加密的密文e,一个对应于标识w 的密钥d
i∈w
,且满足|w∩w'|≥d,则在w和w'中随机的选择d个相同的元素,组成集合s,然后计算
[0056][0057]
其中:|ω∩ω'|:属性集ω和属性集ω'的重叠属性个数;s:ω∩ω'中任意一个包含d个元素的子集;δ
i,s
(0):拉格朗日系数中x=0的值。
[0058]
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
技术特征:
1.一种基于sm9支持大属性的模糊标识基加密系统,其特征在于,包括权威机构,加密者与解密者;所述权威机构与加密者、解密者分别连接;所述加密者还与解密者连接。2.根据权利要求1所述的基于sm9支持大属性的模糊标识基加密系统的加密方法,其特征在于,包括以下步骤:步骤s1、权威机构根据sm9算法的系统参数,设置容错值d,生成大属性模糊标识基加密算法的系统参数,并公开给系统中的用户;步骤s2、权威机构根据选择的可加密用户标识的最大属性个数n,产生系统的主公钥和主私钥,将主公钥公布,主私钥保存;步骤s3、密钥生成算法输入用户标识所对应的属性集以及系统的主公私钥,输出对应于该属性集的标识私钥;步骤s4、加密算法输入属性集w',待加密的消息m,输出消息m在属性集w'下的密文c;步骤s5、解密算法输入要解密的密文c以及属性集w,当且仅当|w∩w'|≥d时,即可解密获得明文m,否则解密失败。3.根据权利要求2所述的加密方法,其特征在于,所述步骤s1具体为:选择阶为p的加法g1,g2,乘法g
t
;e:g1×
g2→
g
t
是双线性映射;哈希函数一个字节表示的加密生成函数标识符hid,随机的d∈z
p
;对于集合s和i∈z
p
,定义拉格朗日系数为其中,p:循环g1,g2,g
t
的阶,且p>2
191
的素数;z
p
:{0,1,2
…
p-1};{1,2
…
p-1};g1:阶为素数p的加法循环;g2:阶为素数p的加法循环;g
t
:阶为素数p的乘法循环;e:从g1×
g2到g
t
的双线性映射;h1:{0,1}
*
到由密码杂凑函数派生的密码函数;hid:用一个字节表示的加密密钥生成函数识别符,由密钥生成中心选择并公开;s:元素取自的集合;δ
i,s
(x):拉格朗日系数;d:容错值。4.根据权利要求2所述的加密方法,其特征在于,所述步骤s2具体为:随机选择生成元p1∈g1,p2∈g2,其中ψ(p2)=p1,随机选择计算g2中的元素p
pub
=ap2,g
t
中的元素g=e(p1,p
pub
),设n={1,2,
…
,n+1},从g2中随机选择互不相同的n+1个元素t1,t2,...,t
n+1
,定义函数公开参数pk为:mpk={p1,p2,p
pub
,g,t1,t2,
…
t
n+1
},主私钥为msk=a;其中,p1:g1的生成元;p2:g2的生成元;ψ:从g2到g1的映射;主密钥;p
pub
,t
i
:g2中的元素;g:g
t
中的元素;n:正整数。5.根据权利要求2所述的加密方法,其特征在于,所述步骤s3具体为:秘钥生成算法首先选取一个d-1次多项式q(x),使得q(0)=a,其次对于所有的i∈w,计算h
i
=h1(i||hid,n)和选择r
i
∈z
p
,计算
输出解密密钥为d
i∈w
={d
i
,d
i
}
i∈w
其中,w:用户标识的属性集;q:系数在z
p
中的d-1次多项式;q(i):多项式在第i的值;q(0):多项式的常数;i||hid:i与hid的拼接,其中i和hid是比特串或字节串;h
i
:哈希函数在i处的值;r
i
:z
p
中随机选择的临时变量;t(i):t(x)在i处的值;d
i
,d
i
:属性i所对应的部分私钥;d
i∈w
:属性集w的私钥。6.根据权利要求2所述的加密方法,其特征在于,所述步骤s4具体为:加密算法输入待加密的明文消息属性集合w',然后选择一个随机值输出密文e:其中,m:待加密的消息;w
′
:接收者的属性集;s:临时变量,属于中的元素;e
i
,e
″
i
:对应于属性i的属性密文;e':部分密文;e:加密的密文。7.根据权利要求2所述的加密方法,其特征在于,所述步骤s5具体为:解密算法输入一个在标识w'下加密的密文e,一个对应于标识w的密钥d
i∈w
,且满足|w∩w'|≥d,则在w和w'中随机的选择d个相同的元素,组成集合s,然后计算其中:|ω∩ω'|:属性集ω和属性集ω'的重叠属性个数;s:ω∩ω'中任意一个包含d个元素的子集;δ
i,s
(0):拉格朗日系数中x=0的值。
技术总结
本发明涉及一种基于SM9的支持大属性的模糊标识基加密系统及方法,在不改变SM9标识加密算法整体架构的基础上,对用户的标识进行优化,使其可以用一些描述性属性来表示,利用秘密分享技术实现容错加密或者门限访问策略,利用Boneh和Boyen技术,消除了在系统参数设置时对属性公钥与私钥的计算。本发明能解决传统SM9标识加密无法实现的容错加密或门限访问问题,方案中如果去除T(X)还可以实现完全大属性的模糊标识基加密,具有很好的拓展性。具有很好的拓展性。具有很好的拓展性。
技术研发人员:
黄欣沂 刘晓红 宁建廷 林超
受保护的技术使用者:
福建师范大学
技术研发日:
2022.06.21
技术公布日:
2022/11/18