一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

云存储中私钥可验证且多关键词可搜索的属性加密方法与流程

2022-02-20 20:15:32 来源:中国专利 TAG:


1.本发明属于信息安全技术领域,具体涉及一种云存储中私钥可验证且多关键词可搜索的属性加密方法。


背景技术:

2.云计算是一种可以向用户提供各种服务的分布式计算系统。用户可以在系统中根据自己的需求来访问和应用云上面的各种资源。
3.云存储是将互联网中不同类型的存储设备联系起来一同工作,主要的应用是用来存储海量数据,使用者可以不用受到地理位置和时间的限制,随时随地将数据通过网络存储在云存储中。云存储主要是用来进行数据存储,它是云平台、云服务的基础。与普通的存储系统相比,云存储具有投入低、收益快;简化管理;服务方式灵活的特点。这些优势可以为用户节约很多成本与资源,使得云存储在现在的互联网中得到广泛的关注与大量的应用。
4.云服务器可以为用户提供各种各样的服务,例如数据存储和计算等。用户可以将自己的数据与其他的用户在云服务中共享。为了数据的安全和用户的隐私保护,数据通常加密后以密文形式存在云服务中。然而,用户在大量的加密数据中如何查找感兴趣的数据仍是一个有待解决的难题。为了解决用户在大量的数据中查找的难题,出现了可搜索加密技术,可搜索加密技术主要解决数据加密并存储在云服务时,对密文中感兴趣的数据进行有效的查找。由于云服务是半可信的(诚实且好奇),如何利用服务器完成对感兴趣关键词的搜索。如何在降低本地负载的同时提高关键词搜索的效率仍然是一个有待解决的问题。
5.为了给用户的访问权限并实现对用户的访问控制,在基于属性加密的基础上上引入了基于属性可搜索加密技术。而现有的基于属性的加密方案大多在用户客户端具有较高的计算成本,这些问题极大地限制了属性搜索加密方案在实践中的应用。


技术实现要素:

6.本发明的目的是提供一种云存储中私钥可验证且多关键词可搜索的属性加密方法,解决了现有技术中存在的网络带宽浪费和计算成本较大的问题。
7.本发明所采用的技术方案是,云存储中私钥可验证且多关键词可搜索的属性加密方法,其特征在于,具体按照以下步骤实施:
8.步骤1、系统建立;
9.步骤2、外包私钥生成;
10.步骤3、外包私钥认证;
11.步骤4、私钥生成;
12.步骤5、外包加密;
13.步骤6、加密;
14.步骤7、陷门生成;
15.步骤8、匹配;
16.步骤9、外包解密;
17.步骤10、解密。
18.本发明的特点还在于,
19.步骤1具体按照以下步骤实施:
20.步骤1.1、输入安全参数λ和属性全集u={1,2,

,n},其中λ是素数p的二进制大小;
21.步骤1.2、选择一个双线性映射e:其中和的阶为素数p,g是中的一个元素;
22.步骤1.3、随机的挑选a,α,对于每一个属性i∈u;
23.步骤1.4、选择一个随机值是单向哈希散列函数;
24.步骤1.5、输出公共参数pp和主密钥msk:
[0025][0026]
msk={α,z}。
[0027]
步骤2具体按照以下步骤实施:
[0028]
步骤2.1、计算g
α

[0029]
步骤2.2、算法输入公共参数pp和一组属性s,属性的个数为n,
[0030]
步骤2.3、从中随机的挑选指数t,计算:
[0031][0031][0032]
步骤2.4、输出外包私钥
[0033]
步骤3具体按照以下步骤实施:
[0034]
步骤3.1、算法输入公共参数pp,外包私钥sko;
[0035]
步骤3.2、认证以下等式
[0036]
e(k

,g)=e(k
′0,ga)e(g,g)
α
,e(k
′0,ti)=e(k
′i,g)i∈s
[0037]
步骤3.3、以上等式成立时,算法输出1,否则,输出0。
[0038]
步骤4具体按照以下步骤实施:
[0039]
步骤4.1、算法输入msk、用户的属性s和sko;
[0040]
步骤4.2、从中随机的挑选指数y和u,且y有乘法逆元;
[0041]
步骤4.3、计算本地私钥sk
l
、中间私钥ik和检索钥rk:
[0042]
sk
l
={k=g
yz
,k1=gy}
[0043][0044]
rk={z/y,gu}
[0045]
步骤5具体按照以下步骤实施:
[0046]
步骤5.1、算法输入pp,访问策略(m,ρ),m
l
×n是l行n列的共享矩阵,ρ是将m的每一行映射为属性的一个映射;
[0047]
步骤5.2、对随机选择计算
[0048]
步骤5.3、输出中间密文ct

={c
′i,d
′i,}
i∈[1,l]

[0049]
步骤6具体按照以下步骤实施:
[0050]
步骤6.1、算法输入公共参数pp、消息m和ct


[0051]
步骤6.2、设置其中s是秘密,对mi代表m的第i行;
[0052]
步骤6.3、计算
[0053]
λi=miv
[0054]
c=m
·
e(g,g)
αs
,c1=gs,di=di′
[0055]
步骤6.4、输出密文ct={c,c1,{ci,di}
i∈[1,l]
};
[0056]
步骤6.5、算法输入公共参数pp、关键词集wd,wd中包含d个关键字;
[0057]
步骤6.6、随机选择r,对任意的关键词wj∈wd(j=1,2,

,d);计算w3=g
ar
,wj代表第j个关键词;
[0058]
步骤6.7、输出索引i={{wj}
j∈[1,d]
,w1,w2,w3}。
[0059]
步骤7具体按照以下步骤实施:
[0060]
步骤7.1、输入本地私钥sk
l
和想要查询的关键字集
[0061]
步骤7.2、对任意关键字wj′
∈wd

(j

=1,2,

,d

),随机选择
[0062]
步骤7.3、计算t4=ga,其中wj′
∈wd


[0063]
步骤7.3、输出陷门td={t1,t2,t3,t4}。
[0064]
步骤8具体按照以下步骤实施:
[0065]
步骤8.1、输入陷门td和索引i;
[0066]
步骤8.2、检测以下等式
[0067]
步骤8.3、当等式成立时,返回搜索结果,否则算法终止。
[0068]
步骤9具体按照以下步骤实施:
[0069]
步骤9.1、算法输入公共参数pp,关于一组属性s的中间私钥ik,对应于访问结构(m,ρ)的密文ct;
[0070]
步骤9.2、如果s不满足访问结构输出

,否则,让i={i:ρ(i)∈s}且
[0071]
步骤9.3、计算一个常数集使得∑
i∈i
ωimi=(1,0,

,0);
[0072]
步骤9.4、计算
[0073]
步骤9.5、输出部分解密密文e;
[0074]
所述步骤10具体按照以下步骤实施:
[0075]
步骤10.1、使用检索钥rk,计算
[0076]
步骤10.2、输出明文m。
[0077]
本发明的有益效果是,云存储中私钥可验证且多关键词可搜索的属性加密方法,基于属性加密的基础上将可认证外包与关键词搜索加密相结合,有效的减少了本地负荷和计算资源的浪费并实现快速搜索,并且本发明的关键词搜索是多关键词搜索,可以有效地实现快速搜索,发明是选择关键词和密文安全,来保证整个加密系统的安全性。
具体实施方式
[0078]
下面结合具体实施方式对本发明进行详细说明。
[0079]
本发明云存储中私钥可验证且多关键词可搜索的属性加密方法,具体按照以下步骤实施:
[0080]
步骤1、系统建立:
[0081]
具体按照以下步骤实施:
[0082]
步骤1.1、输入安全参数λ和属性全集u={1,2,

,n},其中λ是素数p的二进制大小;
[0083]
步骤1.2、选择一个双线性映射e:其中和的阶为素数p,g是中的一个元素;
[0084]
步骤1.3、随机的挑选a,α,对于每一个属性i∈u;
[0085]
步骤1.4、选择一个随机值是单向哈希散列函数;
[0086]
步骤1.5、输出公共参数pp和主密钥msk:
[0087][0088]
msk={α,z}
[0089]
步骤2、外包私钥生成:
[0090]
具体按照以下步骤实施:
[0091]
步骤2.1、计算g
α

[0092]
步骤2.2、算法输入公共参数pp和一组属性s(属性的个数为n,),
[0093]
步骤2.3、从中随机的挑选指数t,计算:
[0094]k′
=g
αgat
,k
′0=g
t
,
[0095]
步骤2.4、输出外包私钥
[0096]
步骤3、外包私钥认证:
[0097]
具体按照以下步骤实施:
[0098]
步骤3.1算法输入公共参数pp,外包私钥sko;
[0099]
步骤3.2、认证以下等式
[0100]
e(k

,g)=e(k
′0,ga)e(g,g)
α
,e(k
′0,ti)=e(k
′i,g)i∈s
[0101]
步骤3.3以上等式成立时,算法输出1。否则,输出0。
[0102]
步骤4、私钥生成:
[0103]
具体按照以下步骤实施:
[0104]
步骤4.1、算法输入msk、用户的属性集s(属性的个数为n,)和sko;
[0105]
步骤4.2、从中随机的挑选指数y和u,且y有乘法逆元;
[0106]
步骤4.3、计算本地私钥sk
l
、中间私钥ik和检索钥rk:
[0107]
sk
l
={k=g
yz
,k1=gy}
[0108][0109]
rk={z/y,gu}
[0110]
步骤5、外包加密:
[0111]
具体按照以下步骤实施:
[0112]
步骤5.1、算法输入pp,访问策略(m,ρ),m
l
×n是l行n列的共享矩阵。ρ是将m的每一行映射为属性的一个映射;
[0113]
步骤5.2、对随机选择计算
[0114]
步骤5.3、输出中间密文ct

={c
′i,d
′i,}
i∈[1,l]

[0115]
步骤6、加密:
[0116]
具体按照以下步骤实施:
[0117]
步骤6.1、算法输入公共参数pp、消息m和ct


[0118]
步骤6.2、设置其中s是秘密,对mi代表m的第i行;
[0119]
步骤6.3、计算
[0120]
λi=miv
[0121]
c=m
·
e(g,g)
αs
,c1=gs,di=d
′i[0122]
步骤6.4、输出密文ct={c,c1,{ci,di}
i∈[1,l]
}。
[0123]
步骤6.5、算法输入公共参数pp、关键词集wd,wd中包含d个关键字;
[0124]
步骤6.6、随机选择r,对任意的关键词wj∈wd(j=1,2,

,d)。计算w3=g
ar
,这里wj代表第j个关键词;
[0125]
步骤6.7、输出索引i={{wj}
j∈[1,d]
,w1,w2,w3}。
[0126]
步骤7、陷门生成:
[0127]
具体按照以下步骤实施:
[0128]
步骤7.1、输入本地私钥sk
l
和想要查询的关键字集
[0129]
步骤7.2、对任意关键字wj′
∈wd

(j

=1,2,

,d

),随机选择
[0130]
步骤7.3、计算t1=k
β
,t4=ga,其中wj′
∈wd


[0131]
步骤7.3、输出陷门td={t1,t2,t3,t4}。
[0132]
步骤8、匹配:
[0133]
具体按照以下步骤实施:
[0134]
步骤8.1、输入陷门td和索引i;
[0135]
步骤8.2、检测以下等式
[0136]
步骤8.3、当等式成立时,返回搜索结果,否则算法终止。
[0137]
步骤9、外包解密:
[0138]
具体按照以下步骤实施:
[0139]
步骤9.1、算法输入公共参数pp,关于一组属性s的中间私钥ik,对应于访问结构(m,ρ)的密文ct;
[0140]
步骤9.2、如果s不满足访问结构输出

。否则,让i={i:ρ(i)∈s}且
[0141]
步骤9.3、计算一个常数集使得∑
i∈i
ωimi=(1,0,

,0);
[0142]
步骤9.4、计算
[0143]
步骤9.5、输出部分解密密文e。
[0144]
步骤10、解密:
[0145]
具体按照以下步骤实施:
[0146]
步骤10.1、使用检索钥rk,计算
[0147]
步骤10.2、输出明文m。
[0148]
下面对本发明云存储中私钥可验证且多关键词可搜索的属性加密方法的安全性进行分析:
[0149]
(1)、正确性证明:
[0150]
本发明的正确性推导过程如下:
[0151][0152]
定理:在一般群模型下,对任意的敌手令q表示敌手对哈希函数、群和双线性映射e的查询的次数,以及它与不可区分性选择关键字索引游戏的询问交互次数的最大值。则在不可区分性选择关键字攻击游戏中敌手的优势为
[0153]
证明:初始设置g=ψ(1),g
t
=ψ
t
(1),g
x
=ψ(x),e(g,g)y=ψ
t
(y),在以下询问中,敌手将使用ψ来表示群元素与挑战者进行通信。与的安全性交互游戏如下:
[0154]
1)随机的选择a,α,选择h:是单向哈希函数。设置公共参数pp={ga,gz,e(g,g)
α
,h},将公共参数pp发送给
[0155]
2)进行关键字集wd

={wj′
}j′
∈[1,d

]
的陷门询问,随机选择z,y,挑战者计算k=g
yz
,k1=gy,私钥的形式为sk={k,k1}。最后,生成关于选择关键字集wd

的陷门将陷门td发送给
[0156]
3)产生两个关键字集和作为挑战的关键字集。另外,给出一个挑战的访问策略给出一个挑战的访问策略掷一枚均匀的硬币并选择b∈{0,1},生成wdb的挑战索引。对在策略中的每个属性,随机选择r

,令w1=gr″
,w2=gr″z,w3=g
ar

则挑战索引为i
*
={{wj}
j∈[1,d]
,w1,w2,w3},将挑战索引i
*
发送给敌手
[0157]
4)重复进行步骤(2)的查询,它的限制是不能再询问wd0和wd1的陷门。
[0158]
5)最后,输出b的猜测b

,其中b

∈{0,1}。
[0159]
在上述安全游戏中,敌手询问的次数最多为q次。在安全游戏中,敌手需要区分和可以考虑一个经过修改的游戏,在真正的挑战索引中用
wj=g
θ
代替wj=g
zr

,敌手需要区分g
θ
和g
zr

,这里θ∈z
p
是随机选择的。区分g
θ
和g
zr

概率等于区分和的概率的一半。
[0160]
接下来,将对模拟进行详细的分析。因为是在一般群模型下,只要没有发生意外的碰撞,假设模拟是完美的。即认为随机预言机查询是一个有许多变量θ,α,a,z,t,r

,r

的有理函数δ=η/ξ,当两个查询对应于两个不同的正式的有理函数时,由于这些变量值的随机选择,有理函数会出现意想不到的冲突,即当η≠η

,ξ≠ξ

时,δ=η/ξ=η



=δ


[0161]
现在的条件是,在或中都不会发生冲突。对于任意一对不同的有理函数在一个群中的查询η/ξ和η



,当非零多项式ηξ
′‑
ξη

=0才会发生碰撞。由schwartz-zipple引理,碰撞发生的概率是在一个结合的情况下,任何这样的碰撞发生的概率是最多是因此,可以在不发生碰撞的情况下继续保持概率是
[0162]
在表1中,列举了所有可能进入的有理函数查询,分析模拟中用θ代替了zr

,因为θ在wj=g
θ
中发生,如果发生碰撞,存在某个γ≠0,有δ-δ

=γzr
′‑
γθ。作如下分析表明敌手几乎不可能构造出关于γzr

的询问:
[0163]
如果碰撞发生,则γzr

=γθ δ
′‑
δ,从表3-1可以看出,对任意的群的元素询问g
δ
=ψ(δ)和g
δ

=ψ(δ

)中的δ

和δ,上式成立的概率为因此该式子成立的概率为所以发生碰撞的概率是可以忽略的。
[0164]
因此,敌手几乎不可能构造出关于γzr

的询问。
[0165]
表1在随机预言机查询群中的可能项
[0166][0167]
定理:假设waters的文章ciphertext-policy attribute-based encryption:an expressive,efficient,and provably secure realization中的密文策略基于属性加密方案是选择性选择明文攻击安全的,则方案也是选择性选择明文攻击安全的。
[0168]
证明:假设存在一个敌手在选择性选择明文攻击模型下以一个不可忽略的优势攻破方案,则可以构建出一个算法在选择性选择明文攻击模型下以一个不可忽略的优势攻破waters的方案。
[0169]
让是在选择性选择明文攻击安全的waters文章中的密文策略基于属性加密方案中与相关的挑战者。执行以下步骤:
[0170]
初始化:给发一个挑战的访问结构发一个挑战的访问结构将给作为他挑战的访问结构,并且给出关于waters中密文策略基于属性加密方案的公共参数
[0171][0172]
建立:随机选取选择一个抗碰撞哈希函数h:然后将公共参数发送给
[0173]
阶段1:初始化一个空表t和空集d。发出以下适应性询问:
[0174]
1)当发出关于属性集s的外包私钥适应性询问时,叫运行关于属性集s外包私钥生成算法去得到外包私钥sko。然后设置d=d∪{s}并将外包私钥sko发送给敌手
[0175]
2)关于属性集s的私钥适应性询问
[0176]
在表t中查找条目表(s,sko,sk,rk)。如果存在表t中,返回私钥sk。否则,随机选择指数t,y,,u,机选择指数t,y,,u,设置
[0177]
k=g
y/zgatgu
,k0=g
t
,
[0178]
最后,将条目(s,sk={k,k0,ki},z/y,gu)存储在表t中,把私钥sk返回给敌手
[0179]
挑战:给出两个等长的消息m0和m1。随机选择β∈{0,1}、两个随机的消息和一个访问结构给给选择一个随机的比特γ∈{0,1}在公共参数pp和访问结构用现有技术中加密算法加密消息将密文的结果ct
*
发送给然后,随机选择向量对于m中的每一行mi,随机选择i∈[1,l],设置
[0180]
c=m
β
·
e(g,g)
αs
,c1=gs,
[0181]
挑战密文为ct
*
={c,c1,ci,di}
i∈[1,l]
,将挑战密文发送给
[0182]
阶段2:发出和阶段1一样的外包私钥适应性询问,条件是发出的关于s的外包私钥适应性询问不能在d中且不能满足钥适应性询问不能在d中且不能满足做出和阶段1一样的答复。
[0183]
猜测:输出关于β的猜测β

∈{0,1}。输出关于γ的猜测β

∈{0,1}。
[0184]
如果β=γ,则可以正确模拟出游戏。因此,如果可以以不可忽略的优势攻破的方案,则构建的算法可以以一个不可忽略可以攻破waters中的方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献