The invention discloses a cloud storage efficient ciphertext KCB tree and bloom filter based retrieval method, an efficient retrieval of encrypted data for keywords completely two forks tree and bloom filter based on. Because the data in the completely two forks tree query and update the time complexity and tree height, so as to ensure the operation time at O (log n), equivalent to the existing scheme of optimal efficiency. On this basis, the invention uses bloom filter again to optimize the structure of the index, while maintaining the query efficiency and the existing optimal solution is, reduce the storage overhead of data on the server. The plan aims to great advantage with the keyword completely two forks tree in time and space in the bloom filter, this paper proposes an efficient searchable encryption index structure, in the realization of efficient retrieval of key storage overhead at the same time, reduce the encryption index on the server.
【技术实现步骤摘要】
一种云存储中基于KCB树和布隆过滤器的高效密文检索方法
本专利技术属于云存储中数据安全
,应用于高效检索密文数据。具体地讲,是一种云存储中基于KCB树和布隆过滤器的高效密文检索方法。
技术介绍
云存储是以云计算为基础逐渐发展起来的,通过将加密数据存储在云服务器上而为用户提供更便捷、更高效的访问与管理。因此,云存储被广泛的应用在各个领域,具有十分广阔的市场应用前景,但其中的安全问题也引起了用户的关注。对于用户而言,云服务器并不是完全可信的。为了保护数据的隐私,用户通常会在数据传输到云服务器之前对重要数据进行加密。这样一来,利用明文的关键字搜索技术就失效了。因此如何对云服务器上存储的密文文件进行关键字检索就成为了一个难题。为了解决这一问题,可搜索加密(SearchableEncryption,SE)技术便应运而生。SE是一个新的密码学原语,在保护存储在不可信第三方实体上的数据机密性的同时,还能对密文数据进行高效地检索。SE可描述为如下过程:数据拥有者利用关键字集合生成加密关键字索引,并将所有的加密文件和加密关键字索引上传到云服务器;当用户需要检索关键字时,利用陷 ...
【技术保护点】
一种云存储中基于KCB树和布隆过滤器的高效密文检索方法,其特征在于,包括以下几个步骤:(1)、初始化方案所需的密钥利用密钥生成算法Gen(1
【技术特征摘要】
1.一种云存储中基于KCB树和布隆过滤器的高效密文检索方法,其特征在于,包括以下几个步骤:(1)、初始化方案所需的密钥利用密钥生成算法Gen(1k)→K,初始化本发明所需的密钥K1和K2,其中1k是系统安全参数,在安全参数1k下,生成伪随机函数的密钥K1以及对称加密算法的密钥K2;(2)、利用算法BuildIndex(F,W,K)为明文文件集构造文件索引树T文件索引树T实质是一颗未加密的KCB树(KeywordCompleteBinaryTree),输入明文文件集合F={f1,…,fn}和关键字集合W={w1,w2,…,wm},其中,n是文件集合中文件的个数,m是关键字集合中关键字的个数,n和m的个数均可增减,我们通过如下步骤构造KCB树:a)、KCB树的叶节点对应文件集合F中的所有文件,因此KCB树的层数l可由文件个数n决定,即完全二叉树的叶节点个数为若则用空节点填充剩余叶节点;b)、定义KCB树的节点为uab(1≤a≤l,1≤b≤2(a-1)),其中a为节点uab所在的层数,b为节点uab在第a层的序号,在节点uab上存储二元组(id(uab),dataab),id(uab)为节点标识符,dataab为一个长度为m的数组,dataab的第i位定义为dataab[i],其中i∈{1,…,m};若节点uab是叶子节点:将id(uab)定义为该节点对应的文档fj的文档标识符IDj,定义dataab[i]=11(1≤i≤m),当且仅当文件fj中包含关键字wi,定义dataab[i]=00,当且仅当文件fj中不包含该关键字wi,若该叶节点为填充节点,则设置dataab[i]=10;若节点uab是非叶子节点:若其左孩子和右孩子都存在包含关键字wi的叶节点,则将该内部节点数组dataab的对应位置dataab[i]置为11,若只有其左孩子存在包含关键字wi的叶节点,则将该内部节点数组dataab的对应位置dataab[i]置为10,若只有其右孩子存在包含关键字wi的叶节点,则将该内部节点数组dataab的对应位置dataab[i]置为01,若其左孩子和右孩子都不存在包含关键字wi的叶节点,则将该内部节点数组dataab的对应位置dataab置为00;KCB树能保证在最差的情况下操作时间为O(logn),尽管KCB树高效查找的优势能够实现关键字的快速检索,但若将完全二叉树T的2n-1个节点都存储到云服务器上,又将给服务器带来巨大的存储开销,因此本发明利用布隆过滤器再次对索引结构进行优化,加快关键字的检索效率,降低服务器的存储开销;(3)、由文件索引树T生成加密索引I利用布隆过滤器将文件索引树T生成加密索引I,输入密钥K,文件集合F={f1,…,fn},文件索引T,之后执行以...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。