【技术实现步骤摘要】
一种可编辑区块链中支持分块验证的动态可搜索加密方法
[0001]本专利技术涉及信息安全
,具体地说是一种可编辑区块链中支持分块验证的动态可搜索加密方法。
技术介绍
[0002]可搜索加密(SE,Searchable Encryption)是近年来发展的一种支持用户在密文上进行关键字查找的密码学原语,它能够为用户节省大量的计算和通信开销,并充分利用庞大的计算资源进行密文上的关键字查找。然而在实践中,云服务器和用户并非都是诚实可信的实体。云服务器可能仅返回部分结果以节省计算资源。用户可能为了拒绝支付费用,谎称云服务器的返回结果是错误的。因此存在可靠性问题。
[0003]为了解决恶意服务器返回给用户错误结果的问题,基于PPTrie树状索引的结果可验证的密文检索方案被提出。随后,将比特币引入多方计算来解决公平问题,方案中的协议可以看作是一个智能合约。为了实现验证的公开化,利用伪随机函数和单向函数来完成。将Merkle Hash Tree与k均值聚类相结合,在提升验证效率的同时也提高了安全性。这些方案假定用户是可信的,会 ...
【技术保护点】
【技术特征摘要】
1.一种可编辑区块链中支持分块验证的动态可搜索加密方法,其特征是,包括如下步骤:A、数据所有者输入安全参数λ,输出系统参数Para;B、数据所有者根据系统参数Para生成随机数λ
r
作为数据更新状态并存储在状态集合Map中,并输出加密所需的密钥对(PK
D
,SK
D
);C、对数据所有者的文件进行初始化,根据加密密钥对(PK
D
,SK
D
),对查询关键字/文件集合进行加密,生成并输出加密索引表加密后的关键字集CW、加密文件集CD到云服务器中,将生成的结果验证列表L存储到可编辑区块链中;D、当数据使用者发起搜索查询时,将搜索关键字w发送给数据所有者,数据所有者根据搜索关键字w和私钥SK
D
为数据使用者发送授权信息;数据使用者根据授权信息生成搜索令牌ST;E、云服务器接收数据使用者发送的搜索令牌ST执行搜索操作:云服务器首先判断搜索令牌的正确性,若符合条件,则根据加密索引表执行搜索操作,并将输出的搜索结果集S
R
和验证集P
R
发送到可编辑区块链中;F、可编辑区块链接收到云服务器发送的(S
R
,P
R
)后,执行验证操作并输出验证结果标识符V
R
,通过验证则返回1,可编辑区块链会将搜索结果集发送给数据使用者,并向数据使用者收取费用;否则,返回0,将押金将退还给数据使用者。2.根据权利要求1所述的可编辑区块链中支持分块验证的动态可搜索加密方法,其特征是,步骤A中,输入安全参数λ,输出双线性对密码参数(G1,G2,e,p,g1);G1和G2是两个乘法循环群,p是一个大素数,e为双线性映射e:G1×
G1→
G2,g1是G1的生成数;定义H1:{0,1}
*
→
G1,H2:{0,1}
*
→
Z
p
是两个哈希函数,Z
p
是一个阶为p的有限域,h0和h1均∈G1,得到系统参数Para为{G1,G2,e,p,g1,H1,H2,h0,h1}。3.根据权利要求2所述的可编辑区块链中支持分块验证的动态可搜索加密方法,其特征是,步骤B中,数据所有者从序列{l,
…
,2
λ
}中选择随机参数λ
r
∈{l,
…
,2
λ
}作为数据更新状态并记录在状态集合Map中;数据所有者随机选择一个x∈Z
p
,并计算非对称随机数密钥对(PK
D
,SK
D
),其中SK
D
=x;数据所有者存储私钥SK
D
,并随机选择参数θ∈Z
p
秘密保存;数据所有者将Map和PK
D
均发送给云服务器和可编辑区块链。4.根据权利要求3所述的可编辑区块链中支持分块验证的动态可搜索加密方法,其特征是,步骤C中,数据所有者首先构建索引结构,所构建的索引结构由若干完美二叉树组成,除最后两棵完美二叉树的高度可能相同外,其他各完美二叉树的高度级联降低;数据所有者对索引结构按照完美二叉树的个数对其进行分块,分块后计...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。