近年来,云存储加密是一个非常关注的话题,那么如何加密云存储呢?今天我将介绍一种关键字搜索方法。
一、方案结构。
1.相关困难问题。
狄夫一赫尔曼(BDH)假设G1,G2是一个阶为q的循环群,生成元为R。敌人A试图解决以下问题,给出参数(R、AR、BR、CP)a、b、czrn,要求计算双线映射对函数e(R、R)ibc,这里定义了A敌人的成功概率:
2.PEKS方案定义。
设置k长度的安全参数生成算法生成pku、sku、pk..、sk,分别是用户和服务器的公私钥对。注:pk公钥包括安全参数、关键字域描述和PEKS密文空间。
PEKS(pku,w):这里记得S=PEKS(PKU,w)。
陷门函数(sku、w):Tw=Trapdor(sku、w)。
测试函数(Twu、S):判断S中的W是否等于w。
3.定义扩展方案(H-SCF-PEKS)。
安全参数k下的公共参数cp生成算法。
服务器公私钥生成算法:pku、sku、
用户公私钥生成算法:pku、sku。
散列函数:w=H(M)。
无安全信道PEKS算法H-SCF-PEKS(cp、pks、pku、w):该算法生成关键字的摘要信息w。然后用服务器公钥加密用户公钥生成的PEKS密文,并生成功能Trapdor(cp、sk):用户私钥生成门,服务器使用门Tw检索加密文件。
测试函数(cp、Tw、sku、S):测试返回S中w和Tw中w的等同性,这里数据包的主体结构定义为:Encpy(pk)。
4.挑战游戏(IND-H-SCF-CKA)
A作为攻击者在多个时间t中攻击安全参数为k的安全方案。
假设A是服务器管理员,
阶段1-1:公共参数生成算法生成G1、G2,cp.服务器和用户分别参数自己的公私钥对pku、sku、pku、sku,其中公共参数cp、pku、pku、sku为服务器所有,sku对a保密。
阶段1-2:A查询一定数量的明文信息Mi,生成w=H(M),用户可以作为随机预言机对每个w进行响应;响应相应的Twi。
阶段1-3:A选择特定的关键字Mo,Mi,交给用户,用户立即选择|▽{0,1}生成方案加密Su=H-SCF-PEKS(cp.pku、pku、w'p)并返回A。
阶段l-4:A判断S‘是M.还是Mi生成,判断可以通过阶段1-2的训练查询做出辅助决策,但MoMi不能查询。
阶段1-5:A输出其猜想I3‘{O,1)。
Suc的成功概率为SucgeA=2Pr[β]β-1]。
5.方案描述。
公共参数生成算法:选择两个循环组G1.G2,两者有共同的阶q,2k≤q.构造双线映射对E:G,×Gi1G2,特别设置三个H函数,Hi:{o,1)*÷Gi*,Hz:G2*{0,1)k,H3:{0,1}*{0,1)k,cp=(q、Gi、Gz、婚姻、Hi、Hz、Hz、Hz、Hz、Dw)
服务器公钥和私钥生成算法:随机选择X-XR。随机选择Q-G1,定义公钥pks;(cp、Q、X)私钥sks-(cp、x)。
用户公私钥pku=(cp、Q.Y)私钥sku=(cp、y)。
H-SCF“PEKS(cp、pk、pk)。w)算法为:从R&ZR中随机选择计算S-(U、V)=(R、H2(K)、K=(Q、X)e(H1(H3(M)、Y),返回S。
陷门生成算法Trapdor(cp,sk)
测试Test(cp、Tw、sk:、S):检查Hz(龟(xQ+Tw、RR)-V。
二、方案证明。
上述定理l方案(IND-H-SCF-CKA)的安全性是基于随机预测模型下的BDH问题。
证明一个攻击算法B可以在多项式时间t中求解安全参数为(q、Gi、G2、R、ar、br、cr)的BDH问题,其中2k≤q。规定B的任务是在给定ar.br、cr的情况下计算e(R、R)au。
B设置Y-cr,选择X.Z耸计算X=XR,随机选择Q.GF.返回(Q、X).B攻击者对Hi、Hz、H3做以下询问记录:
构建Hi列表记录为四元组(M.,Li.1;,Si)。如果查询M存在于列表中,则返同或执行下操作。
选择硬币Si。硬币反面的概率为1/(qt+1)。
如果Si_0计算Li=br+liR,如果Si-I计算Li=liR。
返同I。i,并将(Mi、Li、I)放入Hi列表,如果A查询Ki在Hz函数中,B做以下工作,如果Si=0终止,否则做以下工作计算TwliY返回。注:公钥Y-cr,Twi=liY;licr-clir=clir=chl(wi)
操作上述给定的(Wo*、WI),它们来自Hi列表,如果硬币so=O和S1=1,终止操作,否则执行以下操作:
在此设置Sp-0。
选择P&{O,1}K密文为S‘=(U’,V)-(ar,P),P=Hz(K),K=(6(Q,X)e(H1(H3),Y)a.
通过上述定义Q,X.Y有以下等式:
查询H2列表:
涉及BDH问题。
证毕
小知识云存储。
云存储是云计算概念中延伸和开发的一个新概念。它是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,通过应用软件收集大量不同类型的网络存储设备,共同提供数据存储和业务访问功能的系统。