System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于数据加密,具体涉及一种基于公钥和属性基加密的数据灵活共享方法及系统。
技术介绍
1、在信息世界中,数据需要进行加密以保护信息安全。目前在互联网中使用最为广泛的数据加密方式为公钥加密。在公钥加密系统中,用户可以使用自身公钥对数据进行加密,使数据只能被自己访问,以保护数据安全。与此同时,随着信息安全理论和技术发展,其他加密技术也层出不穷。其中,在云计算领域,属性基加密已成为适合云计算的最具潜力的加密技术。属性基加密允许用户在加密时不必指定具体接收人的身份,而是使用基于属性的访问控制策略对数据进行加密,只要接收者的属性满足访问控制策略便可以解密。
2、公钥加密与属性基加密都有各自的应用场景及用户,两套系统相互独立,如何在公钥加密系统用户与属性基加密系统用户之间实现数据安全共享仍无解决方案。例如,使用公钥加密个人相片的用户,想将相片上传至云存储,并指定一个访问控制策略来实现数据安全共享。在这种情况下,现有方法要么是要求用户分享自己的私钥,要么是让用户先解密数据再使用属性基加密。这些方法会带来安全和效率方面的问题。
3、因此,实有必要提供一种基于公钥和属性基加密的数据灵活共享方法及系统以解决上述问题。
技术实现思路
1、本专利技术提供一种基于公钥和属性基加密的数据灵活共享方法及系统,可将用户指定的普通公钥加密密文直接转换为属性基加密密文,实现了普通公钥加密系统用户与属性集加密系统用户数据的安全共享,有效解决
技术介绍
中的缺陷。
2、为了解决上述
3、一种基于公钥和属性基加密的数据灵活共享方法,包括如下步骤:
4、系统初始化:可信第三方生成系统公开参数pp以及主私钥msk;
5、普通公私钥生成:普通公钥加密用户获取系统公开参数pp,以系统公开参数pp为基础生成相互匹配的普通公钥pk及普通私钥sk;
6、属性基私钥生成:可信第三方设定用户属性集合s,以系统公开参数pp、主私钥msk以及用户属性集合s为基础生成用户属性基私钥skabe;
7、普通公钥加密:普通公钥加密用户设定关键字集合t,以普通公钥pk以及关键字集合t对数据明文m进行加密,得到普通公钥加密密文ct,将普通公钥加密密文ct上传给云服务提供商;
8、转换密钥生成:普通公钥加密用户以系统公开参数pp、普通私钥sk及关键字集合t为基础生成转换密钥rk,同时设定访问控制策略,限定对转换密钥rk的使用权限,所述访问控制策略通过线性秘密分割方案lsss(a,ρ)进行表达,a是l行c列的矩阵,每一行对应用户属性集合s中的一个属性,ρ表示将矩阵a中每一行映射到对应属性上的函数;
9、密文转换:云服务提供商使用转换密钥rk,将关键字集合与转换密钥rk中关键字集合一致的普通公钥加密密文ct转换为属性基加密密文ct′;
10、属性基加密密文解密:判断用户属性基私钥skabe所关联的用户属性集合是否满足访问控制策略,若是,则利用用户属性基私钥skabe对属性基础加密密文ct′进行解密,输出数据明文m;反之,则终止解密。
11、作为一种优选的改进,系统初始化过程具体包括如下步骤:
12、选定一个阶为大素数p的双线性映射e:g×g→gt,将群g中的元素映射到群gt,选择任意元素g,u,h,v,w,∈g,q1,q2,...,qn∈g,α∈zp,以及哈希函数h:gt→g,其中,zp表示阶为p的整数域;
13、运行双线性群生成算法,计算:
14、pp=(g,gt,e,p,g,u,h,v,w,q1,q2,…,qn,h,e(g,g)α);
15、msk=gα;
16、输出系统公开参数pp以及主私钥msk。
17、作为一种优选的改进,普通公私钥生成的过程具体包括如下步骤:
18、选择随机元素β∈zp,计算:
19、pk=e(g,g)β;
20、sk=gβ;
21、输出公钥pk以及私钥sk。
22、作为一种优选的改进,属性基私钥生成的过程具体包括如下步骤:
23、设定用户属性集合
24、选择随机元素r∈zp,选择m个随机元素r1,r2,...,rm∈zp,计算:
25、k0=gαwr;
26、k1=gr;
27、
28、其中j=1,2...,m;
29、输出用户属性基私钥skabe=(k0,k1,{d1,j,d2,j}j=1,2...,m)。
30、作为一种优选的改进,普通公钥加密的过程具体包括如下步骤:
31、设定关键字集合
32、选择随机元素s∈zp,计算:
33、c0=me(g,g)βs;
34、c1=gs;
35、
36、输出普通公钥加密密文ct=(c0,c1,c2)。
37、作为一种优选的改进,还包括如下步骤:
38、普通公钥加密密文解密:以普通私钥sk对普通密文ct进行解密,输出数据明文m,解密的过程表示为:
39、m=c0/e(c1,sk)=me(g,g)βs/e(gs,gβ)。
40、作为一种优选的改进,转换密钥生成的过程具体包括如下步骤:
41、选择随机元素δ,k∈zp,并对所有i=1,2…l选择随机元素ki∈zp;选择一个元素个数为c的随机向量并设其首个元素为k;
42、计算内积λi=yai,其中ai是矩阵a的第i行,然后计算:
43、d1=gδh(e(g,g)αk);
44、d2=gk;
45、
46、输出转换密钥rk=(d1,d2,{d3,i,d4,i,d5,i}i=1,...,l,d6)。
47、作为一种优选的改进,密文转换的过程具体包括如下步骤:
48、计算:
49、c1=d1;
50、c2=d2;
51、c3,i=d3,i;
52、c4,i=d4,i;
53、c5,i=d5,i;
54、
55、
56、输出属性基加密密文ct′=(c1,c2,{c3,i,c4,i,c5,i}i=1,...,l,c6,c7)。
57、作为一种优选的改进,属性基加密密文解密的过程具体包括如下步骤:
58、判断用户属性基私钥skabe所关联的属性是否满足访问控制策略,若是,则执行下列步骤;反之,则终止解密;
59、在多项式时间内找到常数{ωi∈zp}i∈i使成立,其中i={i:ρ(i)∈s},ρ(i)=aj∈s,计算:
60、
61、c1/h(e(gα,gk))=gδh(e(g,g)αk)/h(e(gα,gk))=gδ;
...
【技术保护点】
1.一种基于公钥和属性基加密的数据灵活共享方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,系统初始化过程具体包括如下步骤:
3.根据权利要求2所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,普通公私钥生成的过程具体包括如下步骤:
4.根据权利要求3所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,属性基私钥生成的过程具体包括如下步骤:
5.根据权利要求4所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,普通公钥加密的过程具体包括如下步骤:
6.根据权利要求5所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,还包括如下步骤:
7.根据权利要求5所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,转换密钥生成的过程具体包括如下步骤:
8.根据权利要求7所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,密文转换的过程具体包括如下步骤:
9.根据权利要求8所述的基于公钥和属性基加密的数
10.一种用于执行权利要求1-9任一项所述的基于公钥和属性基加密的数据灵活共享方法的系统,其特征在于,包括:
...【技术特征摘要】
1.一种基于公钥和属性基加密的数据灵活共享方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,系统初始化过程具体包括如下步骤:
3.根据权利要求2所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,普通公私钥生成的过程具体包括如下步骤:
4.根据权利要求3所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,属性基私钥生成的过程具体包括如下步骤:
5.根据权利要求4所述的基于公钥和属性基加密的数据灵活共享方法,其特征在于,普通公钥加密的过程具体包括如下步骤:
6...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。