《质数内积编码方案设计案例综述》3700字.docxVIP

《质数内积编码方案设计案例综述》3700字.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE2

质数内积编码方案设计案例综述

目录

TOC\o1-3\h\u18819质数内积编码方案设计案例综述 1

12391.1方案介绍 1

49291.1.1基本思想及方案构建 1

300851.1.2向量构造及向量匹配 2

312601.1.3正确性分析 6

118691.2方案介绍 7

161211.2.1基本思想 7

273241.2.2方案构造 8

239671.2.3正确性分析 10

1.1方案介绍

1.1.1基本思想及方案构建

本节将介绍方案构造,方案在选择密文攻击下是语义安全的[12]。该方案建立在索引向量编码和查询向量编码上,其基本思想是编码查询关键字或索引关键字为一个向量,这些元素都设置为整数或者整数的倒数,确保只有当两个关键词相似时,向量的内积才是一个整数。

方案是用户和云服务器之间的一个协议。方案一般由四个部分组成,分别是GenKey,BuildIndex,Trapdoor,Search。

:云用户输入一个安全参数,输出一个秘密密钥SK。

:给定一个具有个关键词的集合,云用户利用秘密密钥对文件中的关键词集合生成索引并进行加密,生成一个被加密的索引集合。

:给定一个具有需要查询的搜索关键词集合,云用户使用秘密密钥SK为搜索关键词集合生成一个陷门。

:云服务器将陷门与被加密的索引共同运算,如果陷门与索引匹配,则输出1,否则输出0。

1.1.2向量构造及向量匹配

下面将详细介绍索引向量编码、查询向量编码和向量匹配过程。在介绍向量编码之前,先简单介绍后面可能会用到的相关符号,如表1.1所示。

表1.1方案相关符号及说明

符号

说明

一组文件的集合

一组含m个关键词的集合

一组含n个密文文件的集合

所有关键词中的最大长度

文件的m个关键词

文件的索引

搜索向量中的个关键词

搜索向量的陷门

含有26个英文字母的集合

填充字符集,且与集合A没有交集

长度为L的质数序列

详细的索引向量编码算法如下图1.1所述,第一步((1)-(2))首先用集合S中的字符将索引关键词填充至关键词最大长度L。填充之后,第二步((3)-(4))将索引向量的每一个元素初始化为1。第三步((5)-(7))将指定质数的倒数放置在索引向量的适当位置。比如,关键词第l()个字符对应的质数是,对应索引向量的位置是。然后索引向量对应的位置将乘以对应的质数,即。

图1.1索引向量编码算法

详细的搜索向量编码算法如下图1.2所述,第一、二步(1-4)为填充步骤和初始步骤,与索引向量编码的第一、二步一致。第三步(5-15)将把指定的素数放在搜索向量的适当位置。对于关键词的第l个字符,这里有两种情况,如果该字符不为通配符“*”时,将计算,并且在这个位置乘以对应的质数,即。如果该字符为通配符“*”时,则将搜索向量上所有元素的值都乘以该位置的质数。

图1.2搜索向量编码算法

图1.3和图1.4展示了向量编码和向量匹配的一个样例,假设文件与关键字的关系如图1.3-(a)所示,此时云用户发出查询请求和去搜索合适的文件。给定关键词最长长度为,随机数序列为,填充字符集合。

图1.4描述了索引向量编码和搜索向量编码的过程。下面将用索引关键词“key”和搜索关键词“k*y”描述向量编码和向量匹配的过程。在向量编码第一步中,用字符“A”和“B”填充两个关键词,使其最大长度为5。第二步分别将两个d维向量和中的所有元素初始化为1。对于索引关键词“key”,素数的倒数摆列如下,因为“k”是第一个字符,所以将乘以1/3;因为“e”是第二个字符,所以将乘以1/5;因为“y”是第三个字符,所以将乘以1/7;因为“A”是第四个字符,所以将乘以1/11;因为“B”是第五个字符,所以将乘以1/13;对于搜索关键词“k*y”,质数按如下顺序排列:因为“k”是第一个字符,所以将乘以3;因为“*”是第二个字符,且“*”是通配符,那么集合A和S中的任意元素都可能位于这个位置,所以该向量上所有元素即全部乘以5;因为“y”是第三个字符,所以将乘以7;因为“A”是第四个字符,所以将乘以11;因为“B”是第五个字符,所以将乘以13;由于质数的不可分解性,所以两个向量内积是一个整数(等于21)。结果与两个关键词相似的事实是一致的。

当需要多关键词搜索时,方案也支持AND和OR查询方式。查询方式为AND意味着只有当搜索词集合包含在某文件的关键词集合内时,该文件才会被返回给用户。查询方式为OR意味着当搜索词集合和某文件的关键词集合有交集时,该文件就会被返回。

给定图1.4所示的索引/查询向量,对应的搜索词矩阵如图1.3-(b)所示。如果的查询方式是AND,则文件将被返回,因为只有在在每个列中有一个整数元素;如果的查询方式

您可能关注的文档

文档评论(0)

02127123006 + 关注
实名认证
文档贡献者

关注原创力文档

1亿VIP精品文档

相关文档