首页> 中国专利> 一种基于随机区间划分的保序加密方法

一种基于随机区间划分的保序加密方法

摘要

本发明涉及一种基于随机区间划分的保序加密方法,该方法在已有的基于区间划分的随机数生成算法的基础上,提出了加权的随机区间划分算法与保序随机区间树,克服了以固定的方式对区间进行划分存在的安全问题;本发明方法能够有效的解决字符串数据的保序加密问题,分析与测试表明,本发明方法具有线性的加密与解密时间,常量级的密文扩张率,能够有效的抵御穷举攻击和基于统计分析的攻击。本发明方法特别适合于机密数据的外包存储,可以有效解决密文数据的匹配、范围查询、以及关系运算等操作。

著录项

  • 公开/公告号CN102843372A

    专利类型发明专利

  • 公开/公告日2012-12-26

    原文格式PDF

  • 申请/专利权人 西安交通大学;

    申请/专利号CN201210310901.1

  • 申请日2012-08-28

  • 分类号H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构61200 西安通大专利代理有限责任公司;

  • 代理人徐文权

  • 地址 710049 陕西省西安市咸宁西路28号

  • 入库时间 2023-12-18 07:51:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-12-10

    授权

    授权

  • 2013-02-13

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20120828

    实质审查的生效

  • 2012-12-26

    公开

    公开

说明书

【技术领域】

本发明属于信息安全技术领域,具体涉及一种基于随机区间划分的保序加 密方案(Order-Preserving Encryption Scheme based on Random Interval Division, RID-OPES)。

【背景技术】

随着云计算的商用化,越来越多的公司已经推出了自己的云存储产品,无 论是面向企业的Amazon S3,面向开发者的Database.com,面向个人的 DropBox,还是移动终端上的iCloud,都已经出现在了我们的生活中。然而, 调研机构CBIResearch相关数据表明:目前,大约有80%左右的企业不愿意将 内部业务数据放在公有云上,原因主要是出于对数据安全的考虑,同时,越来 越频繁的用户隐私泄露事件也使得个人用户不得不为云存储的安全性产生担 忧,隐私安全问题已经成为阻碍云存储应用的主要因素之一。云计算的隐私安 全问题源于其数据外包和服务租赁的特点,用户从将自己的数据交给云计算平 台托管的一刻起,就已经失去了对数据的直接控制力,云服务提供者(Cloud  Service Providers,CSPs)可以在不受到访问权限控制约束的情况下访问用户 的数据,因此,如果云服务提供者本身就是不可信的,那么用户的数据隐私必 然会遭到侵犯,另一方面,即使云服务提供者是可信的,攻击者也有可能绕过 云平台的认证机制,通过直接访问下层文件或原始数据的方式获取到用户的数 据。

解决上述隐私问题的最直接的方法就是加密。用户在本地对隐私数据进行 加密,将密文存储在云平台进行托管,在需要使用数据时,用户向云平台申请 密文数据,在本地进行解密之后再作使用。然而,传统加密算法大多都不支持 对密文的运算操作,这会导致,一方面,对加密数据的有效检索难以通过传统 的信息检索方式实现,这一问题在用户数据较大或数据在云端形成规模之后将 会尤为突出,为了检索到自己需要的数据,用户不得不将大文件,或是云端的 大量文件传输回本地,再逐一解密进行检索,这就要求用户拥有高网络带宽, 同时拥有高运算能力的终端以支持大量数据解密的需要,即使如此,文件传输 和解密过程中造成的时间浪费也会极大地降低用户使用云存储的积极性。另一 方面,云服务提供者在云平台上进行应用扩展也会遇到困难,例如,用户需要 对云端的数据进行排序以取得最接近自己要求的结果,或是查询一定的范围内 是否有自己需要的数据,而云计算提供者都会束手无策,这极大的削弱了云计 算的应用范围和优势。

保序加密算法(Order-Preserving Encryption,OPE)的加密函数能够保持明 文数值之间的大小关系,即,对任意的明文p1<p2,加密后得到的密文满足 c1<c2。利用保序加密算法,密文数据的匹配,范围查询,排序等操作都可以 有效的得到解决,然而与此同时,保序加密算法暴露了明文之间大小关系,以 牺牲了一定的安全性作为代价。如何在利用保序性的前提下,尽可能的提高保 序加密算法的安全性和运行效率,并应用于云计算存储环境下,解决云平台的 检索瓶颈,具有重要的理论意义和应用价值。

【发明内容】

本发明的目的在于提出一种基于随机区间划分的保序加密方法 (RID-OPES),以解决上述技术问题。

为了实现上诉目的,本发明采用如下技术方案:

一种基于随机区间划分的保序加密方法,输入明文字符串集合为{pl},加 密密钥为Kenc;所述保序加密方法包括加密方法:步骤一:使用预处理模块对 {pl}中每个明文字符串进行16进制编码,得到16进制的数值字符串集合{ns}; 预处理模块统计{ns}中每个16进制字符的出现次数,字符λ的出现次数等于集 合中字符串数,归一化后得到字符频率权值W=(wλ,w0,…,wF);步骤二:使用 安全哈希算法SHA1由加密密钥Kenc生成主种子sdp;步骤三:将权值W写入到 加密密钥Kenc末尾,得到解密密钥Kc;步骤四:初始化密文字符串集合 步骤五:根据W建立权重树;步骤六:如果{ns}处理完毕,那么输出 {ci}和Kdec,终止算法;步骤七:否则从{ns}中取出一个未经处理的数值字符串 ns,使用OPRIT算法对ns进行加密,得到密文字符串ci,将ci加入密文字符 串集合{ci}中,返回步骤六。

本发明进一步的改进在于:步骤一中预处理模块以字符流的形式读入明文 数据,对字符流中的字符进行编码,将字符流转换成为对应的数值字符串ns; 编码之后的数值字符串保持原字符串之间的字典序关系;该编码方式是可逆 的。

本发明进一步的改进在于:步骤一种使用讲过调整的第一个Unicode平面 内的UTF-16BE字符集作为编码的基础,调整后的字符集依然满足保序性和可 逆性;调整后的第一个Unicode平面内的UTF-16BE字符集为:

本发明进一步的改进在于:对于编码后数值字符串ns,预处理模块统计ns 中出现的每个数值字符的出现次数,并除以ns数值字符的总数,计算表示每个 数值字符出现频率的权值。

本发明进一步的改进在于:步骤五中所述权重树是一棵二叉树,其父节点 的权重是左右子节点权重之和,根节点权重是所有叶子节点权重之和;权重树 采用递归的方式自底向上逐步建立,对于给定权值W和子区间个数n,首先建 立含有n棵树的集合S,S中每棵树只有一个节点,其中第i个节点的值为wi, 之后,采用如下的方式对S中的树进行合并:5.1、如果S中只有一棵树T,那 么返回T,执行结束;5.2、否则将S平分为两个子集Sl和Sr,Sl和Sr分别为S的 左半部分和右半部分,并继续对Sl和Sr分别进行合并得到两棵子树Tl和Tr;建 立一棵新的树T,Tl和Tr分别作为T的左子树和右子树,T的根节点的权值是Tl和Tr根节点权值之和,返回T。

本发明进一步的改进在于:步骤七中所述OPRIT算法为:输入:7.1、数 值字符串ns;7.2、主种子sdp;输出:密文字符串ci;步骤:8.1、将定义域 D=[min,max)均匀划分为N个不相交的桶J(1),…,J(N),每个桶的大小为 (max-min)/N;8.2、在数值字符串最后添加终止符号ns←ns+λ,初始化密文 字符串ci为空字符串;8.3、初始化OPRIT的根节点区间I←D,初始化种子 sd←sdp;8.4、取出ns中未经处理的第一个数值字符m∈{λ,0,…F},调用wRID 算法,根据sd计算I的第m个随机子节点区间Im,令I←Im;8.5、如果其中i=1,…,N,那么已经到达不可划分的值节点,根据sd在I中取值得到密文 值r,将r转换为字符串,加入到密文字符串的尾部ci←ci+r,返回步骤8.3; 否则继续执行;8.6、如果m=λ,那么已经到达字符串末尾,根据sd在I中取 值得到密文值r,将r转换为字符串,加入到密文字符串的尾部ci←ci+r,输 出ci,算法结束;否则继续执行;8.7、此节点为非叶子节点,根据m计算下一 次划分的种子sd←(sd+m),返回步骤8.4。

本发明进一步的改进在于:OPRIT算法中调用的wRID算法为:输入: 10.1、待划分区间I;10.2、初始种子sd;10.3、子区间编号m;输出:I的第 m个加权随机子区间Im;步骤:11.1、初始化节点n为权重树的根节点,初始 化区间[α,β)←I,种子sdl=nextLeft(sd),sdr=nextRight(sd),其中,nextLeft和 nextRight为两个随机数发生器;11.2、如果n是叶子节点,令Im←[α,β),返回 Im,结束算法;11.3、对于节点n,具有权值w,其左右孩子节点nl和nr分别具 有权值wl和wr,首先创建两个[0,1)范围内的相互独立的均匀伪随机变量Rl(sdl) 和Rr(sdr),分别使用Rl(sdl)和Rr(sdr)产生两个伪随机数r1和rr,计算 11.4、如果权重树的第m个叶子节点在n的左子树中,那么, β=α+(β-α)*x,n←nl,sdl=nextLeft(sdl),sdr=nextLeft(sdr),返回步骤11.2; 11.5、否则,如果权重树的第m个叶子节点在n的右子树中,那么 α=α+(β-α)*x,n←nr,sdl=nextRight(sdl),sdr=nextRight(sdr),返回步骤11.2。

本发明进一步的改进在于:所述保序加密方法还包括解密方法,输入密文 字符串集合{ci},解密密钥Kdec,解密过程包括如下步骤:步骤A:从解密密 钥Kdec末尾提取权值W;步骤B:使用安全哈希算法SHA1由解密密钥Kdec生 成主种子sdp;步骤C:初始化明文字符串集合步骤D:根据W建立 权重树;步骤E:如果{ci}处理完毕,那么输出{pl},终止算法;步骤F:否则 从{ci}中取出一个未经处理的密文字符串ci,使用OPRIT算法对ci进行解密, 得到明文字符串pl,将pl加入密文字符串集合{pl}中,返回步骤E。

本发明进一步的改进在于:解密密钥Kdec包括密密钥Kenc的全部内容外, 还包括数值字符频率权值W=(wλ,w0,…,wF)。

本发明进一步的改进在于:步骤D中所述权重树是一棵二叉树,其父节 点的权重是左右子节点权重之和,根节点权重是所有叶子节点权重之和;权重 树采用递归的方式自底向上逐步建立,对于给定权值W和子区间个数n,首先 建立含有n棵树的集合S,S中每棵树只有一个节点,其中第i个节点的值为wi, 之后,采用如下的方式对S中的树进行合并:6.1、如果S中只有一棵树T,那 么返回T,执行结束;6.2、否则将S平分为两个子集Sl和Sr,Sl和Sr分别为S的 左半部分和右半部分,并继续对Sl和Sr分别进行合并得到两棵子树Tl和Tr;建 立一棵新的树T,Tl和Tr分别作为T的左子树和右子树,T的根节点的权值是Tl和Tr根节点权值之和,返回T。

相对于现有技术,本发明具有以下优点:本发明在已有的基于区间划分的 随机数生成算法的基础上,提出了加权的随机区间划分算法(weighted Random  Interval Division,wRID)与保序随机区间树(Order-Preserving Random Interval  Tree,OPRIT),克服了以固定的方式对区间进行划分存在的安全问题;本发 明方法能够有效的解决字符串数据的保序加密问题,分析与测试表明,本发明 方法具有线性的加密与解密时间,常量级的密文扩张率,能够有效的抵御穷举 攻击和基于统计分析的攻击。本发明方法特别适合于机密数据的外包存储,可 以有效解决密文数据的匹配、范围查询、以及关系运算等操作。

【附图说明】

图1为6号子区间前100次划分所得随机区间示图;显示了在离散性测试 过程中,编号为6的子区间在前100次划分过程中,所得到的随机子区间在定 义域中的分布情况,参照图中横轴表示测试轮数,纵轴表示定义域;图中线段 表示每次划分后所得到的子区间,和表1相比,图1更为直观的展示了使用 wRID对定义域区间进行随机划分的效果。

图2为wRID的权值和实际划分比例平均值的对照图;图2重复对 定义域[0,1010)进行1000次随机划分,每一次划分使用不同的种子,统计每次 划分后各段子区间占整个定义域长度的比例,并计算所有1000次划分后其均 值,并和每段区间长度的权值进行比较,参照图中横轴表示数值字符,纵轴表 示该字符出现的概率;图中结果说明,使用wRID加权得到的每段子区间占整 个定义域比例的期望能够近似的等于给定的权值。

图3为三种算法的单一字符平均加密时间图,显示了三种算法单一字符加 密时间随字符串长度的变化情况,图中LazySample的定义域大小取256,参 照图中横轴表示英文字符串的长度,纵轴表示单一字符的加密时间。从图中可 以看出,当字符串长度较短时,算法的初始化时间对总加密时间的影响较大, RID-OPES对较短的字符串加密性能优于其余两种算法;当字符长度大于1000 时,字符串加密时间成为影响总加密时间的关键因素,三种算法加密时间均趋 近于稳定,当字符串长度为104时,OPES的加密速度最快,其Tch为0.0016ms, RID-OPES次之,为0.0123ms,而LazySample为0.0512ms。

图4为三种算法加密时间随定义域大小变化情况图;显示了当定义域大小 变化时,三种算法对长度为100的字符串加密所需时间情况,参照图中横轴表 示定义域大小,纵轴表示加密时间;从图中可以看出,RID-OPES和OPES的 加密时间基本不受定义域大小的影响,而LazySample的加密时间会随着定义 域的增大而呈指数级的增长,当定义域较大时,LazySample的加密效率将会 受到很大的影响。

图5a和图5b为分别使用统计权值和随机值加密密文在定义域中分 布对比图;使用1000个长度为100的随机字符串样本进行测试,并分别使 用统计得到的数值字符频率权值和一组随机生成的数值作为wRID的输入,权 值和随机值的分布如图5a中所示,其中横轴表示数值字符,纵轴表示出现频 率。为了对加密得到的密文数值的频率分布进行统计,将定义域划分为20个 大小相等的区间,并统计落在每个区间中的密文值的点数,结果如图5b中所 示,其中横轴表示区间编号,纵轴表示区间中点数。

图6a和图6b为权重树及其和区间划分的对应关系示例图;用 一个示例说明了权重树及其和区间划分的对应关系,其中(图6a)给出 了一棵具有7个叶子节点的权重树示例,图6(b)显示了(图6a)中权重 树和区间划分的对应关系,可以看出权重树的叶子节点个数等于所 需要划分的子区间的个数,叶子节点中的值的比例,实际上是以固 定方式对区间进行划分时的划分比例。

【具体实施方式】

下面结合附图说明和具体实施方式对本发明做进一步详细说明。

本发明一种基于随机区间划分的保序加密方法(RID-OPES),包含加密与 解密两个子过程,设输入明文字符串集合为{pl},加密密钥为Kenc,则加密过 程具体包括如下步骤:

步骤一:使用预处理模块对{pl}中每个明文字符串进行16进制编码,得 到16进制的数值字符串集合{ns};预处理模块统计{ns}中每个16进制字符 (0,…,F)的出现次数,字符λ的出现次数等于集合中字符串数,归一化后得 到字符频率权值W=(wλ,w0,…,wF);

预处理模块以字符流的形式读入明文数据,对字符流中的字符进行编码, 将字符流转换成为对应的数值字符串ns。编码方法需要满足两点条件:第一个 条件是保序性,为了满足后续保序加密的需求,编码方式必须也是保序的,编 码之后的数值字符串必须能够保持原字符串之间的字典序关系;第二个条件是 可逆性,编码方式必须是可逆的,使用数值字符串,必须能够无误的恢复原字 符串,前缀码可以满足这一要求。本发明使用了第一个Unicode平面(BMP, 码位从U+0000至U+FFFF)内的UTF-16BE字符集作为编码的基础,对其进 行了调整,如表3所示,调整后的字符集依然满足保序性和可逆性需求,同时 具有更好的平均编码长度,周期性的填充相同字符的情况也得到了解决。

表1BMP中UTF-16BE字符集调整前后对照

为了满足后续加密处理的需要,对于编码后数值字符串ns,预处理模块统 计ns中出现的每个数值字符的出现次数,并除以ns数值字符的总数,计算表 示每个数值字符出现频率的权值。

步骤二:使用安全哈希算法SHA1由加密密钥Kenc生成主种子sdp

加密密钥包括加密口令、定义域大小以及目标桶J(i)的数量三部分,其中 定义域的大小和目标桶的数量是可选的,如果用户没有明确指定,算法将使用 默认值(定义域大小为[0,1E+18),桶的数量为1E+7)进行设置。

步骤三:将权值W写入到加密密钥Kenc末尾,得到解密密钥Kdec

步骤四:初始化密文字符串集合

步骤五:根据W建立权重树;

权重树是一棵二叉树,其父节点的权重是左右子节点权重之和,根节点权 重是所有叶子节点权重之和。权重树和区间的划分存在着对应关系,图6(a) 给出了一棵具有7个叶子节点的权重树示例,图6(b)显示了图6(a)中权重树 和区间划分的对应关系,可以看出权重树的叶子节点个数等于所需要划分的子 区间的个数,叶子节点中的值的比例,实际上是以固定方式对区间进行划分时 的划分比例。权重树的非叶子节点中的值,实际上是相邻子区间合并之后,在 输入区间之中所占比例。

权重树可以采用递归的方式自底向上逐步建立,对于给定权值W和子区 间个数n,首先建立含有n棵树的集合S,S中每棵树只有一个节点,其中第i个 节点的值为wi,之后,采用如下的方式对S中的树进行合并:

1、如果S中只有一棵树T,那么返回T,执行结束;

2、否则将S平分为两个子集Sl和Sr,Sl和Sr分别为S的左半部分和右半部分,并继续对Sl和Sr分别进行合并得到两棵子树Tl和Tr;建立一棵新的树T,Tl和Tr分别作为T的左子树和右子树,T的 根节点的权值是Tl和Tr根节点权值之和,返回T;

步骤六:如果{ns}处理完毕,那么输出{ci}和Kdec,终止算法;

步骤七:否则从{ns}中取出一个未经处理的数值字符串ns,使用OPRIT 算法对ns进行加密,得到密文字符串ci,将ci加入密文字符串集合{ci}中,返 回步骤六;

OPRIT算法描述如下:

输入:

1、数值字符串ns;

2、主种子sdp

输出:密文字符串ci;

步骤:

1、将定义域D=[min,max)均匀划分为N个不相交的桶J(1),…,J(N),每个桶的大小为 (max-min)/N;

2、在数值字符串最后添加终止符号ns←ns+λ,初始化密文字符串ci为空字符串;

3、初始化OPRIT的根节点区间I←D,初始化种子sd←sdp

4、取出ns中未经处理的第一个数值字符m∈{λ,0,…F},调用wRID算法,根据sd计算I的第 m个随机子节点区间Im,令I←Im

5、如果其中i=1,…,N,那么已经到达不可划分的值节点,根据sd在I中取值得到 密文值r,将r转换为字符串,加入到密文字符串的尾部ci←ci+r,返回步骤3;否则继续执行;

6、如果m=λ,那么已经到达字符串末尾,根据sd在I中取值得到密文值r,将r转换为字符 串,加入到密文字符串的尾部ci←ci+r,输出ci,算法结束;否则继续执行;

7、此节点为非叶子节点,根据m计算下一次划分的种子sd←(sd+m),返回步骤4。wRID 算法描述如下:

输入:

1、待划分区间I;

2、初始种子sd;

3、子区间编号m;

输出:I的第m个加权随机子区间Im

步骤:

1、初始化节点n为权重树的根节点,初始化区间[α,β)←I,种子sdl=nextLeft(sd), sdr=nextRight(sd),其中,nextLeft和nextRight为两个随机数发生器;

2、如果n是叶子节点,令Im←[α,β),返回Im,结束算法;

3、对于节点n,具有权值w,其左右孩子节点nl和nr分别具有权值wl和wr,首先创建两个[0,1) 范围内的相互独立的均匀伪随机变量Rl(sdl)和Rr(sdr),分别使用Rl(sdl)和Rr(sdr)产生两个伪随机 数rl和rr,计算x=wl*rlwl*rl+wr*rr;

4、如果权重树的第m个叶子节点在n的左子树中,那么,β=α+(β-α)*x,n←nl, sdl=nextLeft(sdl),sdr=nextLeft(sdr),返回步骤2;

5、否则,如果权重树的第m个叶子节点在n的右子树中,那么α=α+(β-α)*x,n←nr, sdl=nextRight(sdl),sdr=nextRight(sdr),返回步骤2。

本发明所述的一种基于随机区间划分的保序加密方法是一种对称的加密 算法,其解密过程类似于加密过程的逆过程,但是处理过程与加密不同,由于 无法通过密文对明文的权值信息进行统计,因此,在OPRIT算法中,将权值W 写入了加密密钥中,生成了包含权值信息的解密密钥,在RID-OPES的解密步 骤中,可以从解密密钥中,对权值信息进行恢复,以建立权重树。设输入密文 字符串集合{ci},解密密钥Kdec,则解密过程包括如下步骤:

步骤一:从解密密钥Kdec末尾提取权值W;

RID-OPES的解密密钥除了包括加密密钥的全部内容外,还包括数值字符 频率权值W=(wλ,w0,…,wF)。

步骤二:使用安全哈希算法SHA1由解密密钥Kdec生成主种子sdp

步骤三:初始化明文字符串集合

步骤四:根据W建立权重树,该步骤与加密过程相同;

步骤五:如果{ci}处理完毕,那么输出{pl},终止算法;

步骤六:否则从{ci}中取出一个未经处理的密文字符串ci,使用OPRIT算 法对ci进行解密,得到明文字符串pl,将pl加入密文字符串集合{pl}中,返回 步骤五;

为了评测本发明的性能,发明人在单机环境下对RID-OPES进行了测试, 其软硬件环境如下表所示。

表2RID-OPES的硬件测试环境

表3RID-OPES的软件测试环境

RID-OPES算法是是针对字符串数据的保序加密算法,本发明使用了随机 字符串集合作为测试样本,使用如下的函数实现样本的生成:

public static void makeSample(int sampleNum,int len,String path)

其中,形参sampleNum是数据集中随机字符串的个数,ln为每个字符串的 长度,如果ln为0,那么每个字符串的长度随机产生,path为样本的存储路径, 字符串中的每个字符,随机的从下面的集合中选取:

static char[][]range=new char[][]{{'0','9'},{'a','z'},{'\u4E00','\u9FA5'},{'A','Z'}};

该集合包含了全部阿拉伯数字,英文大小写字符和汉字字符。

发明人使用不同种子产生的随机划分之间的相关性,以及随机划分的离散 性两个方面,对wRID的随机性进行了测试,测试指标包括相关系数R和变异 系数Vσ,相关系数R反映了两个随机变量之间的相关性,如果R越接近于1, 那么两个随机变量之间的相关性越强,而如果|R|=0,那么两个随机变量之间 不相关;变异系数是概率分布离散程度的一个归一化度量,变异系数小于一的 分布,称为低差别的,而变异系数大于一的分布,称为高差别的。发明人观察 了wRID在一个规模为1000的随机字符串集合上的测试结果,如表4所示, 发现wRID对区间随机划分相关性低,离散程度高,具有很强的随机性。

表4wRID的随机性测试结果

另一方面,为验证wRID划分后的每段子区间占整个定义域比例的期望近 似的等于给定的权值,发明人重复对定义域[0,1010)进行1000次随机划分,每 一次划分使用不同的种子,统计每次划分后各段子区间占整个定义域长度的比 例,并计算所有1000次划分后其均值,并和每段区间长度的权值进行比较, 从实验结果发现,wRID能够实现加权的功能。

发明人对RID-OPES的时间效率进行了测试,并与OPES和LazySample 算法进行对比,因为三种算法都是对称加密算法,因此仅对加密时间进行比较, 在测试过程中,均使用英文字符串作为样本,以保证编码后的字符串长度不受 字符类型的影响。为了对三种算法的时间性能进行衡量,定义单一字符的平均 加密时间如下:

测试结果表明,当字符串长度较短时,算法的初始化时间对总加密时间的 影响较大,RID-OPES对较短的字符串加密性能优于其余两种算法;当字符长 度大于1000时,字符串加密时间成为影响总加密时间的关键因素,三种算法 加密时间均趋近于稳定,当字符串长度为104时,OPES的加密速度最快, RID-OPES次之,但其差别可以忽略。

为测试本发明抗穷举攻击的能力,发明人对定义域大小变化时,三种算法 对长度为100的字符串加密所需时间进行了对比,RID-OPES和OPES的加密 时间基本不受定义域大小的影响,而LazySample的加密时间会随着定义域的 增大而呈指数级的增长。

针对基于频率的攻击,发明人使用权值作为wRID的输入,得到的密文 分布能够近似的满足均匀分布,而使用随机值则无法满足。因此,对于任意的 字符串集合,不论其权值如何,使用RID-OPES加密得到的密文值的分布都能 够近似的满足均匀分布,RID-OPES能够有效地隐藏明文的权值信息。同时, 对于基于数据长度的攻击,发明者随机生成1000个长度20的字符串,并测试 加密得到的密文字符串的最小长度和最大长度,如表5所示:

表5相同长度的密文字符串对应的明文字符串长度变化情况

可以看出对于长度固定的明文字符串,使用RID-OPES加密得到的密文字 符串长度具有较大的变化范围,因此,RID-OPES能够有效的抵御基于数据长 度的攻击。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号