一种合法区间双认证全密钥依赖的无载体试题伪装方法与流程

文档序号:15271708发布日期:2018-08-28 22:30阅读:125来源:国知局

本发明属于图像信息安全和数字图像信号处理交叉领域,涉及一种无载体试题伪装与恢复方法,特别涉及一种合法区间双认证全密钥依赖的无载体试题伪装和恢复方法。



背景技术:

当前伴随着深度学习的不断深入和人工智能的继续发展,基于大数据的机器学习以及量子计算机初现端倪,使得传统以图像音频为主要传输介质的多媒体信息安全的形势变得更为严峻。而与此同时,伴随着压缩技术的不断发展,也使得传统基于修改式嵌入的信息隐藏可供利用的冗余空间越来越小,而另一方面,基于机器学习的隐写分类器维数不断提高,甚至出现了34761维的空域富特征模型,导致传统信息隐藏的隐匿信息而不被发现的可能性越来越小,而所有这些也使得传统基于修改式嵌入的信息隐藏技术发展陷入了瓶颈。

如何有效地进行下一代信息隐藏技术研究,来自北京和上海的专家于2014年5月召开的全国信息隐藏与多媒体安全专家研讨会首次提出了“无载体信息隐藏”。2015年3月在武汉召开的第12届全国信息隐藏大会上,北京电子技术应用研究所所长郭云彪研究员在大会特邀报告:信息隐藏之我见,将无载体信息隐藏技术列入了未来信息隐藏的前沿阵地。2016年10月在合肥召开的第13届全国信息隐藏大会将无载体信息隐藏正式定位为第2代信息隐藏技术,2个会议主题报告都与无载体信息隐藏直接相关。

相对于传统修改嵌入式信息隐藏,无载体信息隐藏强调的是不需要额外的嵌入载体,直接由秘密信息驱动产生和获取含密载体。针对文本无载体信息隐藏,分别给出了:chenxy,2017.(chenxy,chens,wu,yl.coverlessinformationhidingmethodbasedonthechinesecharacterencoding[j].journalofinternettechnology,2017,18(2):313-320.)基于中文字符编码、chenxy,2015.(chenxy,sunhy,tobey,zhouzl,sunxm.coverlessinformationhidingmethodbasedonthechinesemathematicalexpression[c]//internationalconferenceoncloudcomputingandsecurity.springerinternationalpublishing,2015:133-143.)中文数学表达式和zhouzl,2016.(zhouzl,muy,yang,cn,zhao,ns.coverlessmulti-keywordsinformationhidingmethodbasedontext[j].internationaljournalofsecurityanditsapplications,2016,10(9):309-320.)多关键字隐藏的无嵌入无载体文本信息隐藏;针对图像无载体信息隐藏,有:zhouzl,2015.(zhouzl,sunhy,haritrh,chenxy,sunxm.coverlessimagesteganographywithoutembedding[c]//internationalconferenceoncloudcomputingandsecurity.springerinternationalpublishing,2015:123-132.)基于块均值比较、yuancs,2017.(yuancs,xiazh,sunxm.coverlessimagesteganographybasedonsiftandbof[j].journalofinternettechnology,2017,18(2):435-442.)基于sift(scaleinvariantfeaturetransform)和bof(bagoffeatures)鲁棒哈希特征以及周志立,2016.(周志立,曹燚,孙星明.基于图像bag-of-words模型的无载体信息隐藏[j].应用科学学报,2016,34(5):527-536.)基于图像视觉词汇bow(bagofwords)局部分词匹配和全局有序的无嵌入无载体图像信息隐藏。这些方法的基本思想是将秘密信息划分为小段,将小段经变换后附带特定的用户标识信息,然后在海量大文本或图像数据库中借助预先建立好的倒排索引来寻找匹配的文本或图像集合,由于整个秘密信息的隐藏过程不涉及到对分发文本或图像的任何修改,而只借助海量数据库穷尽搜索,因此对于任意一张分发的文本或图像,都是正常无法检测出异常的自然文本或自然图像,因此可以抵抗密写分析,而与此同时,只有掌握正确用户标识信息的合法用户才能获取隐藏的秘密信息。

但这类方法存在的问题是:

①正常文本和图像对与之不相关的秘密信息的表现能力十分有限,若需要数据库中文本和图像具有足够的表达能力,则需收集足够多的样本,例如:对于文本无嵌入无载体信息隐藏,chenxy,2017、chenxy,2015和zhouzl,2016的无嵌入无载体文本信息隐藏方法的平均嵌入容量仅为2.07、1和1.57个中文字符/文本,为了使所构建的数据具有充分地表现能力,chenxy,2017构造的文本数据库大小约为10个gb,平均每个文档的尺寸大约为2kb;zhouzl,2016构造的文本数据库为10.2个gb,平均每个文档的尺寸大约为1kb;对于图像无载体信息隐藏,zhouzl,2015和yuancs,2017的嵌入容量是8比特/图像,周志立,2016直接建立起图像视觉词汇与中文关键词的一一对应关系,但每张图像仅能利用1个局部分块存储1个视觉词汇,因此该方法对应的嵌入容量为1个中文关键词/图像,若该方法不存在分词字典,则只能按单汉字进行编码,因此该方法的嵌入容量为8比特/图像,若该方法中存在汉字分词字典,则当平均汉字长度为2和3时,分词字典数量为100时,根据周志立,2016给出的实验数据,该方法的嵌入容量仅为1.57和1.86中文字符/图像。

②随着数据库文本和图像信息表达能力的增强,需要搜索的数据量也呈几何级数增加,即使借助倒排索引,对于大数据量的搜索、存储和维护也将是一个沉重的负担,例如:chenxy,2017所构建的文本数据库包含2n个提取标识,而每个标识符后面应出现所有的关键词,即使为每个标识符建立该标识符全部关键词所在文档访问路径的倒排索引,以n=4,5,…,10时,该方法每个标识符所对应倒排索引文件约为8.4mb~9.5mb。chenxy,2015和zhouzl,2016尽管通过选择汉字中最常出现的50个偏旁部首来将提取标识符的数量降低为50个,但依然要借助倒排索引来提高检索速度,zhouzl,2016建立的倒排索引包含出现频度最高的前50个标识,每个标识对应的全部关键字,以及出现该标识符和关键字组合所在的文档集合。针对图像,zhouzl,2015和yuancs,2017将数据库中的每张图像分别映射为8bit信息作为对秘密信息1个字节的表达,不同的是,zhouzl,2015是通过图像划分的9个分块块均值比较的方法来产生8比特信息,yuancs,2017则依据图像的sift特征并结合图像数据集的k均指聚类以及bof特征来产生100维特征向量并将其映射为8比特信息,由于8比特信息对应为256种组合,因此这两种方法实际上是通过最终映射的8比特信息将图像集划分为256个类别,同时秘密信息中不可避免的存在相同的比特,为防止1个固定的图像对应1个特定的秘密比特,则每个图像类别中都要有多张可供随机选择的图像,由此这两种方法均涉及大量的图像集合进行管理。周志立,2016则相对于zhouzl,2015和yuancs,2017所构建的数据库更为庞大,该方法需建立图像局部分块和10000个视觉词汇之间的对应关系,而局部分块在每个图像上的出现位置都被用来作为特定用户的提取标识,因此为具备充分地表达能力,则每个局部分块的可能出现位置都要能和10000个视觉词汇相互匹配,同时每个对应位置应有多张可供随机选择的分发图像以应对秘密信息中可能出现的重复信息。而为了使大量图像在信道传输中不产生顺序错乱,周志立,2016还建立起图像分发顺序和最高频视觉词汇之间的严格增序对应关系,由此使得所构建的数据库中还需要进一步添加更多的图像以提高其充分表现能力。周志立,2016所构建的倒排索引包括3级,所有可能出现的视觉词汇,以及每个视觉词汇可能出现的局部位置,以及每个局部位置所对应的最高频视觉词汇及其可供选择的图像集合,因此管理和维护这样一个倒排索引,其代价依然十分高昂。同时zhouzl,2015和yuancs,2017以及周志立,2016若进一步拓展,例如选取多个局部分块或提高单图像所映射的比特数,则需要管理和维护更为庞大的数据库,建立更为复杂的倒排索引,因此会付出更大的管理、搜索和维护代价。

③chenxy,2017、chenxy,2015和zhouzl,2016的平均嵌入容量仅为2.07、1和1.57个中文字符/文本;zhouzl,2015和yuancs,2017的嵌入容量仅有8比特/图像,而结合特定的分词算法,周志立,2016在平均汉字长度为2和3时,其嵌入容量仅为1.57和1.86中文字符/图像,隐藏容量非常小。尽管这类方法孤立文本或图像都是正常文本或图像,因未修改而无法检测出异常,但大量文本和图像集合密集传输也必然会引起怀疑。上述文献chenxy,2017、chenxy,2015、zhouzl,2016、zhouzl,2015、yuancs,2017和周志立,2016仅验证了对孤立文本或图像的抵抗密写分析或孤立图像改变分辨率、亮度、加噪和jpeg压缩等攻击的抗攻击能力,周志立,2016还进一步设置了解密时效,使得文本和图像只能在有限时间段内进行传输才能被解密,从而容易诱发信道潜在攻击者的主动和被动攻击。另外chenxy,2017、chenxy,2015、zhouzl,2016、zhouzl,2015、yuancs,2017和周志立,2016仅验证了对孤立文本或图像的抵抗密写分析或孤立图像改变分辨率、亮度、加噪和jpeg压缩等攻击的抗攻击能力,另外所述策略对参与秘密信息重构的分发文本或图像的来源和归属缺少有效的鉴别能力,从而信道潜在攻击者可恶意删除或增添之前截取的正常文本或图像来对信道传输过程中所涉及的文本或图像的先后接收顺序或文本集合图像集合的文本图像相互关联性产生破坏来阻碍秘密信息的正确提取。



技术实现要素:

本发明目的在于提出一种合法区间双认证全密钥依赖的无载体试题伪装方法,同现有方法相比,所提方法避免了额外载体修改和传统方法信息隐藏容量小、数据库创建和检索代价高、缺乏对信息的辨别能力和信道大量传输数据等问题而仅需正确密钥对秘密信息进行恢复。

为实现上述目的,本发明采用以下技术方案:

一种合法区间双认证全密钥依赖的无载体试题伪装方法,包括以下步骤:

第1步:输入秘密字节序列ps=(pk)l,pk∈(0,1,…255)、用户初始密钥系统初始参数暂态阈值参数t∈(0,1)和消除暂态效应的迭代次数it>0,其中l为序列ps的长度;

第2步:由分别映射产生

第3步:分别初始化随机序列x=φ、索引位置序列pid=φ和码本序列m=(0,1,…,255),置索引位置k=0,i=0;

第4步:由将ps=(pk)l元素pk编码为并将添加至pid中,令k=k+1;

第5步:反复执行第4步,直至k=l;

第6步:将pid转化为2进制比特位串并以4位2进制位为一组生成16进制数序列其中l1=2l,即长度为ps长度的2倍,然后将通过改变元素位置的方法置乱为

第7步:初始化24通道试题序列fk=φ,其中索引位置k=0,1,…,23;

第8步:对于正整数op0,op1,op0,op1=0,1,…,99,若k=(op0+op1)mod24,则在fk中添加题干f="op0+op1=";

第9步:反复执行第8步,直至所有op0,op1都处理完,将k=0,1,…,23输出,其中为第k通道试题序列fk的长度,fik为第k通道试题序列fk中第i道试题;初始化fk,k=0,1,…,23的试题标记状态矩阵k=0,1,…,23,其中用于标记fik是否被选中,为0表示未选中,为1表示选中;

第10步:初始化选择题序列l1=φ,置索引位置i=0;

第11步:由生成随机数xi,yi∈(0,1),然后将映射为第i道选择题sti=(ti,ai,bi,ci,di),并将其添加至l1中,令i=i+1,其中,ti是选择题题干,即加法试题;ai,bi,ci,di为对应的4个选项答案;

第12步:反复执行第11步,直至i=l1;

第13步:初始化填空题序列l2=φ,置索引位置i=0;

第14步:由生成随机数xi,yi∈(0,1),然后将映射为第i道填空题sti=(ti),并将其添加至l2中,令i=i+1;

第15步:反复执行第14步,直至i=l1,由将l2中的试题置乱为l′2,并输出最终试题l=(l1,l′2)。

优选地,第2步中,由映射产生的具体方法为式(1)和式(2)分别进行迭代:

第4步中,由将ps=(pk)l元素pk编码为的具体方法为式(3):

式(3)中,rcode()是随机编码函数,其中,是两个用户密钥,是两个系统参数,t是暂态阈值参数,it是消除暂态效应的迭代次数,x是随机数序列,m为码本序列,pk是待编码秘密信息;

其中,rcode()的具体执行过程如第4.1步~第4.3步所示:

第4.1步:通过式(4)生成随机数xi,yi,并将xi保存至x中,令i=i+1;

式(4)中,dlogistic()是双logistic互扰的随机数生成函数,其中是用户密钥,是系统初始参数,t是暂态阈值参数,it是消除暂态效应的迭代次数,i为生成随机数的索引;

dlogistic()的具体执行过程为:

记xi,yi为将代入式(5)迭代产生的第i个随机数,若|xi-yi|≤t,则将xi,yi分别迭代式(5)产生的第i+it个随机数作为xi,yi;

x=μx(1-x)(5)

第4.2步:若x包含256个元素,通过式(6)将x降序为x′,并根据x和x′之间的映射关系将m置乱为随机码本m′,通过式(7)将pk映射为

x′=dec(x)(6)

式(6)和式(7)中,dec()为降序排列函数,index(m′,pk)为索引函数,执行的功能是返回pk在m′中的索引位置;

第4.3步:令m=m′,x=φ。

优选地,第6步中,将通过改变元素位置的方法置乱为的具体方法是通过式(8)将进行置乱为

式(8)中,permute()是置乱函数,为两个用户密钥,为两个系统参数,t为暂态阈值参数,it为消除暂态效应的迭代次数,为所要置乱的序列;其中,

permute()的具体执行过程如第6.1~第6.3步所示:

第6.1步:初始化x=φ,令i=0;

第6.2步:将代入式(4)生成随机数xi,yi,并将xi添加至x中,令i=i+1;

第6.3步:若x包含l1个元素,则通过式(6)将x降序为x′并根据x和x′之间的映射关系将置乱为

优选地,第11步中,由生成随机数xi,yi∈(0,1)的具体方法为将代入式(4)生成随机数xi,yi,

映射为第i道选择题sti=(ti,ai,bi,ci,di)的具体方法为式(9);

式(9)中,cgen()是选择题生成函数,用于在数据库中选择一道随机试题题干并生成指定排列顺序的选项组合,其中xi,yi是两个随机数,是所要伪装的16进制数,sti为对应的选择题;

cgen()的具体执行过程如第11.1~第11.4步所示:

第11.1步:按式(10)计算选择题试题通道k以及通道k的第j道试题;

第11.2步:若

第11.3步:反复执行第11.2步,直至

第11.4步:通过式(11)生成id,根据id对4个答案选项ansi-1,ansi,ansi+1,ansi+2按字典序对应的第id个排列进行重排作为实际输出4个选项ai,bi,ci,di,输出sti=(ti,ai,bi,ci,di);

优选地第14步中,由生成随机数xi,yi∈(0,1)的具体方法为式(4);

映射为第i道填空题sti=(ti)的具体方法是式(12)

式(12)中,bgen()是填空题生成函数,用于在数据库中选择一道随机试题题干作为填空题,其中xi,yi是两个随机数,是所要伪装的16进制数;

bgen()的具体执行过程如第14.1~第14.3步所示:

第14.1步:根据式(13)计算选择试题通道k以及通道k的第j道试题;

第14.2步:若

第14.3步:反复执行第14.2步,直至输出sti=(ti);

第15步由将l2中的试题置乱为l′2的具体方法为式(8)。

一种合法区间双认证全密钥依赖的无载体试题恢复方法,包括以下步骤:

第1步:输入试题l=(l1,l′2)、用户初始密钥系统初始参数暂态阈值参数t∈(0,1)和消除暂态效应的迭代次数it>0,其中,

第2步:由分别映射产生

第3步:由将l′2中的试题逆置乱为l2;

第4步:初始化认证信息序列u=φ,令索引位置i=0;

第5步:由生成随机数xi,yi∈(0,1),从l2中读取sti和对应的ansi,然后由ansi和xi,yi计算认证信息并将添加至u中,令i=i+1;

第6步:反复执行第5步,直至i=l1;

第7步:初始化待认证序列v=φ,置索引位置i=0;

第8步:由生成随机数xi,yi∈(0,1),从l1中提取sti中的选项排列顺序ai,bi,ci,di,获得ai,bi,ci,di在字典序排列中的索引id∈[0,23],然后由id和xi,yi计算出待认证信息并将添加至v中,令i=i+1;

第9步:反复执行第8步,直至i=l1;

第10步:由待认证序列v和认证信息序列u采用区间扩展的方法生成16进制数序列和与之对应的错误标记序列其中w′i=0和w′i=1分别用于标记恢复出的是否正确;

第11步:由逆置乱恢复为原序列也做相同的逆置乱,将逆置乱为中元素2个为1组转换为256进制数序列其中

第12步:分别初始化随机序列x=φ、秘密信息序列ps=φ和码本序列m=(0,1,…,255),置索引位置k=0,i=0;

第13步:由恢复为pk,并添加至ps=(pk)l中,令k=k+1;

第14步:反复执行第13步,直至k=l,将ps=(pk)l和输出。

优选地,第2步中,由映射产生的具体方法为将代入式(1)和式(2)分别进行迭代:

第3步:由将l′2中的试题逆置乱为l2的具体方法为式(14):

式(14)中,permute-1()是permute()的逆函数,是两个用户密钥,是两个系统参数,t是暂态阈值参数,it是消除暂态效应的迭代次数,l′2是待恢复顺序的序列;

permute-1()的具体执行过程在与以下步骤:

第3.1步:初始化x=φ,令i=0;

第3.2步:将代入式(4)生成随机数xi,yi,将xi存入x中,令i=i+1;

第3.3步:若x中包含l1个元素,则通过式(6)将x降序为x′并根据x′和x之间的映射关系将l′2恢复为

优选地,第5步中,由生成随机数xi,yi∈(0,1)的具体方法为式(4);

由ansi和xi,yi计算认证信息的具体方法为式(15):

第8步中,由生成随机数xi,yi∈(0,1)的具体方法为式(4);

第8步中,由id和xi,yi计算出待认证信息的具体方法为式(16):

优选地,第10步中,由待认证序列v和认证信息序列u采用区间扩展的方法生成16进制数序列和与之对应的错误标记序列的具体方法为:

式(17)中,authenticate()是对信息的认证以及恢复函数,v是待认证的序列,u为认证信息序列,w′是错误标记序列;

authenticate()的具体执行过程,包括以下步骤:

第10.1步:置i=0,初始化

第10.2步:根据下列5种情况,利用进行认证,令i=i+1;

①若并且

②若并且则通过式(18)计算得并令w′i=1;

③若并且并令w′i=1;

④若并且并令w′i=1;

⑤若并且则通过式(18)计算得并令w′i=1;

式(18)中,mean()是求均值的函数,是待求均值的序列,i为索引位置,该函数用于求序列中前i-1个元素的均值;

第10.3步:反复执行第10.2步,直至i=l1。

优选地,第11步中,由逆置乱恢复为原序列的具体方法为式(14);

第13步中,由恢复为pk的具体方法为式(19):

式(19)中,rcode-1()是rcode()的逆函数,其中是两个用户密钥,是两个系统参数,t是暂态阈值参数,it是消除暂态效应的迭代次数,x是随机数序列,m为码本序列,为待映射的元素;

rcode-1()的具体执行过程,包括以下步骤:

第13.1步:将代入式(4)生成随机数xi,yi,将生成的xi保留作为x中的元素,令i=i+1;

第13.2步:若x中含有256个元素,则将x按式(6)降序排列为x′,并按照x与x′之间的关系将m置乱为m′,通过式(20)将映射为pk,令k=k+1;

式(20)中,get()是获取对应索引元素的函数,用于将pi映射为m′中索引值为的元素;

第13.3步:令m=m′,x=φ。

与现有技术相比,本发明有益效果是:

①传统基于搜索的无嵌入无载体信息隐藏使用不经修改的正常文本或图像作为含密载体对秘密信息进行表达以抵抗密写分析,但正常文本和图像对与之不相关的秘密信息表现能力十分有限,导致秘密信息嵌入率极低,而基于用户标识的秘密信息提取方式也进一步消耗了可供利用的隐藏空间,因此为传输秘密信息,需借助大量文本和图像集合在信道中传输,不仅增加了信道传输负载,同时也易引起攻击者的怀疑。为使数据库中的文本或图像具有足够的表达能力且适用于不同用户对应的不同提取标识,需收集足够多的样本并建立庞大的数据库与复杂的倒排索引,由此需付出高昂的搜索代价,这对于数据库搜索、存储、维护和管理都将是一个沉重的负担。同传统方法不同,本发明所提的方法是选取试题作为特殊嵌密载体,以改变选择题选项的排列顺序重组来对秘密信息进行表达,并建立选择题和填空题之间的随机映射关系和引入合法区间对秘密信息进行充分有效的认证。由于改变选择题选项的排列顺序不改变也不影响选择题的答案,且改变选项排列顺序以及改变试题排列顺序是随机组卷防止作弊所采用的惯常手段,属于正常行为,因此可抵抗密写分析检测,本文所生成的试题数据库,所有试题均为0~198以内的加法题,相比于传统基于搜索的无载体信息隐藏方法通过文本和图像构建数据库,试题数据库建立、存储和维护代价均较小。

②传统基于搜索的无嵌入无载体信息隐藏方法通常借助用户标识来提取未修改自然文本或图像中紧跟标识的秘密信息分段及其变换形式,这样将导致秘密信息直接蕴含在自然图像和自然文本中,在提取时,对密钥的依赖程度较低。同传统方法不同,本发明所提的方法是将秘密信息转换为与用户密钥完全依赖的索引位置序列,然后由索引位置序列生成试题从而使得秘密信息完全依赖于用户密钥,阻碍秘密信息在信道中直接传输,同时索引位置序列与选择题的对应关系,每道选择题选项的排列顺序,选择题与填空题的对应关系均于用户密钥息息相关并且对用户密钥参数具有极强的敏感性,从而提供错误的用户密钥参数和用户密钥参数发生微小变化时均无法对秘密信息进行准确提取。

③传统的基于搜索的无嵌入无载体的信息隐藏方法的单个载体的嵌密容量极低,由于嵌密容量极低,对秘密信息需借助海量文本或图像集合在信道中密集传输,传输的载体文本或图像必须按照顺序进行发送,若施加主动攻击,从中删除或添加若干个自然图像或文本,将会极大地影响秘密信息的正确恢复,然而传统无嵌入无载体的信息隐藏方法对主动攻击缺乏鉴别能力,从而不能对重构的秘密信息的真实性加以鉴别。同传统方法不同,本发明所提的方法是建立选择题和填空题之间的随机映射关系和引入合法区间对秘密信息进行充分有效的认证并通过盲恢复策略来对秘密信息进行恢复,并对秘密信息的可靠性进行标注。其具体做法为:在试题伪装阶段,对秘密信息序列施加随机扰动从而将秘密信息序列中的元素值映射至[0,23]区间内,之后将其同时伪装为选择题与填空题,并打乱选择题与填空题之间的映射关系;在试题恢复阶段,恢复选择题与填空题之间的映射关系并提取试卷中蕴含在选择题和填空题中的信息并分别作为待认证信息序列和认证信息序列,首先通过判断两个序列中的元素值所属区间是否合法来对序列中的元素进行模糊的认证,之后利用认证信息序列对待认证信息序列进行认证并输出错误标记序列,最后利用盲恢复策略对秘密信息进行恢复。

④传统基于搜索的无嵌入无载体信息隐藏方法单个载体的嵌密容量极低,对于单文本,chenxy,2017、chenxy,2015和zhouzl,2016的平均嵌入容量仅为2.07、1和1.57个中文字符/文本,对于单图像载体,zhouzl,2015和yuancs,2017的嵌入容量仅有8比特/图像,而结合特定的分词算法,周志立,2016在平均汉字长度为2和3时,其嵌入容量仅为1.57和1.86中文字符/图像。同传统方法不同,本文所提方法选取试题作为特殊嵌密载体,每道选择题可提供16比特的嵌入容量,所提方法尽管是以加法题为例进行描述,但可容易地扩展到其他试题载体上,从而具有较高的普适性。

附图说明

图1是秘密信息伪装流程;

图2是秘密信息恢复流程;

图3是实施例:秘密信息,包含20个中文字符的古诗《竹里馆》;

图4是实施例:图3经图1秘密信息伪装流程产生的随机试题中的部分单选题,其中所用的用户密钥参数为

图5是实施例:图3经图1秘密信息伪装流程产生的随机试题中的部分填空题,其中所用的用户密钥参数为

图6是实施例:由图3经过伪装后产生的随机试题按图2秘密信息恢复流程恢复出的秘密信息,其中所用的系统参数为图6相对于图3的误码率er=0;

图7是实施例:由图3经过伪装后产生的随机试题按图2秘密信息恢复流程认证出的认证图,其中所用的用户密钥参数为

图8是实施例:秘密信息,包含20个中文字符的古诗《静夜思》;

图9是实施例:图8经图1秘密信息伪装流程产生的随机试题中的部分单选题,其中所用的用户密钥参数为

图10是实施例:图8经图1秘密信息伪装流程产生的随机试题中的部分填空题,其中所用的用户密钥参数为

图11是实施例:由图8经过伪装后产生的随机试题按图2秘密信息恢复流程恢复出的秘密信息,其中所用的系统参数为图11相对于图8的误码率er=100%,恢复出的每个8位比特都存在错误

图12是实施例:由图8经过伪装后产生的随机试题按图2秘密信息恢复流程认证出的认证图,其中所用的系统参数为

图13是实施例:秘密信息,包含20个中文字符的古诗《竹里馆》;

图14是实施例:图13经图1秘密信息伪装流程产生的随机试题中的部分单选题,其中所用的用户密钥参数为

图15是实施例:图13经图1秘密信息伪装流程产生的随机试题中的部分填空题,其中所用的用户密钥参数为

图16是实施例:修改后的由图13经过伪装后产生的随机试题中的部分单选题,其中修改方式为修改随机试题中部分选择题的选项排列顺序,攻击占比为0.05;

图17是实施例:修改后的由图13经过伪装后产生的随机试题中的部分填空题,其中修改方式为修改随机试题中部分选择题的选项排列顺序,攻击占比为0.05;

图18是实施例:由修改后的图13经过伪装后产生的随机试题按图2秘密信息恢复流程恢复出的秘密信息,其中所用的系统参数为图18相对于图13的误码率er=17.5%;

图19是实施例:由修改后的图13经过伪装后产生的随机试题按图2秘密信息恢复流程认证出的认证图,认证成功率为100%,其中所用的系统参数为

图20是实施例:秘密信息,包含20个中文字符的古诗《鹿柴》;

图21是实施例:图20经图1秘密信息伪装流程产生的随机试题中的部分单选题,其中所用的用户密钥参数为

图22是实施例:图20经图1秘密信息伪装流程产生的随机试题中的部分填空题,其中所用的用户密钥参数为

图23是实施例:修改后的由图20经过伪装后产生的随机试题中的部分单选题,其中,修改方式为删除随机试题中部分试题并添加对应数量的试题,攻击占比为0.1;

图24是实施例:修改后的由图20经过伪装后产生的随机试题中的部分填空题,其中,修改方式为删除随机试题中部分试题并添加对应数量的试题,攻击占比为0.1;

图25是实施例:由修改后的图20经过伪装后产生的随机试题按图2秘密信息恢复流程恢复出的秘密信息,其中所用的系统参数为图25相对于图20的误码率er=7.5%;

图26是实施例:由修改后的图20经过伪装后产生的随机试题按图2秘密信息恢复流程认证出的认证图,认证成功率为100%,其中所用的系统参数为

具体实施方式

以javajdk1.8.0_20作为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例,其中图1是秘密信息伪装流程图,图2是秘密信息恢复流程图。其中,合法区间双认证全密钥依赖的无载体试题伪装方法,包括以下步骤:

第1步:输入秘密字节序列ps=(pk)l,pk∈(0,1,…255),用户初始密钥系统初始参数暂态阈值参数t∈(0,1)和消除暂态效应的迭代次数it>0,其中l为序列ps的长度;例如,输入ps=(96,79,125,89),即l=4,输入t=0.1和it=10;

第2步:将代入式(1)和式(2)分别迭代生成

例如,针对代入式(1)中,计算得出代入式(2)中,计算得出针对代入式(1)中,计算得出代入式(2)中,计算得出其中:

同理,的计算结果依次为:的计算结果依次为:

第3步:初始化随机序列x=φ、索引位置序列pid=φ和码本序列m=(0,1,…,255),置索引位置k=0,i=0;

第4步:由按式(3)将ps=(pk)l元素pk编码为

式(3)中,rcode()是随机编码函数,其中是两个用户密钥,是两个系统参数,t是暂态阈值参数,it是消除暂态效应的迭代次数,x是随机数序列,m为码本序列,pk是待编码秘密信息,rcode()的具体执行过程如第4.1步~第4.3步所示:

第4.1步:通过式(4)生成随机数xi,yi,并将xi保存至x中,令i=i+1;

式(4)中,dlogistic()是双logistic互扰的随机数生成函数,其中是用户密钥,是系统初始参数,t是暂态阈值参数,it是消除暂态效应的迭代次数,i为生成随机数的索引,dlogistic()的具体执行过程为:记xi,yi为将代入式(5)迭代产生的第i个随机数,若|xi-yi|≤t,则将xi,yi分别迭代式(5)产生的第i+it个随机数作为xi,yi;

x=μx(1-x)(5)

第4.2步:若x包含256个元素,通过式(6)将x降序为x′并根据x和x′之间的映射关系将m置乱为随机码本m′,通过式(7)将pk映射为

x′=dec(x)(6)

式(6)和式(7)中,dec()为降序排列函数,index(m′,pk)为索引函数,执行的功能是返回pk在m′中的索引位置;

第4.3步:令m=m′,x=φ。

以p0=96为例,将代入式(4)中生成随机数x0,y0,其具体计算过程为:

分别代入式(5)中可得:

x0=3.7×0.3×(1-0.3)=0.777,y0=3.823677696×0.1100000000000001×(1-0.1100000000000001)=0.37433804643840024

由于|0.777-0.37433804643840024|>0.1,所以x0,y0为符合条件,不需要继续迭代,将x0=0.777添加至x中;同理,将代入式(4)中生成随机数xi,yi,其中i=1,2,…,255,并将xi依次添加至x中,得到x=(0.777,0.6411027,…,0.6422662851939747);

将x按式(6)重新排列为x′=(0.9249963192087112,0.9249699866005412,…,0.25669907603847497),之后根据x和x′之间的映射关系将m=(0,1,…,255)置乱为随机码本m′=(219,196,…,220),最后,通过式(7)将p0=96映射为并令m=m′=(219,196,…,220),x=φ;

第5步:反复执行第4步,直至k=l;

例如:重复第4步直至k=l=4,可将ps=(96,79,125,89)编码为pid=(27,85,181,137)。

第6步:将pid转化为2进制比特位串并以4位2进制位为一组生成16进制数序列其中l1=2l,即的长度为ps长度的2倍,然后将通过式(8)置乱为

式(8)中,permute()是置乱函数,为两个用户密钥,为两个系统参数,t为暂态阈值参数,it为消除暂态效应的迭代次数,为所要置乱的序列,permute()的具体执行过程如第6.1~第6.3步所示:

第6.1步:初始化x=φ,置i=0;

第6.2步:将代入式(4)生成随机数xi,yi,并将xi添加至x中,令i=i+1;

第6.3步:若x包含l1个元素,则通过式(6)将x降序为x′并根据x和x′之间的映射关系将置乱为

例如,将pid转化为2进制比特位串其中:以4位为一组得:

置乱为的具体计算过程如下:首先通过代入式(4)中生成随机数xi,yi,并按顺序将xi,i=0,1,…,7添加至x中,得到x=(0.8731415403162262,…,0.8143080690456274);之后,按式(6)将x降序排列为x′=(0.905659429812366,…,0.31982820897462194);最后,根据x和x′映射关系将置乱为

第7步:初始化24通道试题序列fk=φ,其中k=0,1,…,23;

第8步:对于正整数op0,op1,op0,op1=0,1,…,99,若k=(op0+op1)mod24,则在fk中添加题干f="op0+op1=";

第9步:反复执行第8步,直至所有op0,op1都处理完,将k=0,1,…,23输出,其中,为第k通道试题序列fk的长度,fik为第k通道试题序列fk中第i道试题;初始化fk,k=0,1,…,23的试题标记状态矩阵k=0,1,…,23,其中用于标记是否被选中,为0表示未选中,为1表示选中;

以op0=12,op1=3为例,k=(op0+op1)mod24=15,则将f="12+3="添加至f15中;

第10步:初始化选择题序列l1=φ,置索引位置i=0;

第11步:将代入式(4)生成随机数xi,yi∈(0,1),然后通过式(9)将映射为第i道选择题sti=(ti,ai,bi,ci,di),并将其添加至l1中,令i=i+1,其中ti是选择题题干,即加法试题,ai,bi,ci,di为对应的4个选项答案;

式(9)中,cgen()是选择题生成函数,用于在数据库中选择一道随机试题题干并生成指定排列顺序的选项组合,其中xi,yi是两个随机数,是所要伪装的16进制数,sti为对应的选择题,cgen()的具体执行过程如第11.1~第11.4步所示:

第11.1步:按式(10)计算选择题试题通道k以及通道k的第j道试题;

第11.2步:若

第11.3步:反复执行第11.2步,直至

第11.4步:通过式(11)生成id,根据id对4个答案选项ansi-1,ansi,ansi+1,ansi+2按字典序对应的第id个排列进行重排作为实际输出4个选项ai,bi,ci,di,输出sti=(ti,ai,bi,ci,di);

第12步:反复执行第11步,直至i=l1;

为例,将代入式(4)生成随机数x0=0.8229357901866974,y0=0.9846522739096571,通过式(10)将x0=0.8229357901866974,y0=0.9846522739096571映射为k,j,其具体计算过程为:

因为则令并令

根据式(11)将x0=0.8229357901866974,y0=0.9846522739096571映射为id,则:

对4个答案选项174,175,176,177按字典序排列,得到24种排列情况,如下所示:

((174,175,176,177),(174,175,177,176),(174,176,175,177),(174,176,177,175),

(174,177,175,176),(174,177,176,175),(175,174,176,177),(175,174,177,176),

(175,176,174,177),(175,176,177,174),(175,177,174,176),(175,177,176,174),

(176,174,175,177),(176,174,177,175),(176,175,174,177),(176,175,177,174),

(176,177,174,175),(176,177,175,174),(177,174,175,176),(177,174,176,175),

(177,175,174,176),(177,175,176,174),(177,176,174,175),(177,176,175,174))

选择索引为id=20的排列进行重排并作为实际输出4个选项a0=177,b0=175,c0=174,d0=176,以此生成第0道试题st0=("83+92=",177,175,174,176);

同理,按上述步骤生成之后的选择题sti,i=1,2…,7,组成选择题序列l1,l1中所包含的试题如下所示:

第13步:初始化填空题序列l2=φ,置索引位置i=0;

第14步:将代入式(4)生成随机数xi,yi∈(0,1),然后通过式(12)将映射为第i道填空题sti=(ti),并将其添加至l2中,令i=i+1;

式(12)中,bgen()是填空题生成函数,用于在数据库中选择一道随机试题题干作为填空题,其中xi,yi是随机数,是所要伪装的16进制数,bgen()的执行过程如第14.1~第14.3步所示:

第14.1步:根据式(13)计算选择试题通道k以及通道k的第j道试题;

第14.2步:若

第14.3步:反复执行第14.2步,直至输出sti=(ti);

第15步:反复执行第14步,直至i=l1,由按式(8)将l2中的试题置乱为l′2,并输出最终试题l=(l1,l′2)。

为例,将代入式(4)中生成随机数x0=0.9453740626954231,y0=0.40613605115796986,通过式(13)将x0=0.9453740626954231,y0=0.40613605115796986,映射为k,j,其计算过程如下所示:

由于输出st0=(t0);

同理,按上述步骤生成之后的选择题sti,i=1,2,…,7,组成选择题序列l2,l2中所包含的试题为:l2=(("18+0="),("63+51="),("36+99="),("74+82="),("5+55="),("99+33="),("12+92="),("70+66="))

之后,由代入式(8)将l2中的试题置乱为l′2,其具体计算过程如下所示:首先将代入式(4)生成随机数xi,yi,其中i=0,1,…,7,并按顺序将xi添加至x中,得到x=(0.9396638627278637,…,0.21599282190028346);之后,按式(6)将x降序排列为x′=(0.9396638627278637,…,0.21450619605267693);最后,根据x和x′映射关系将l2置乱为:l′2=(("18+0="),("12+92="),("5+55="),("74+82="),("99+33="),("36+99="),("70+66="),("63+51="))输出l=(l1,l′2);

合法区间双认证全密钥依赖的无载体试题伪装方法,包括以下步骤:

第1步:输入试题l=(l1,l′2),用户初始密钥系统初始参数暂态阈值参数t∈(0,1)和消除暂态效应的迭代次数it>0,其中

例如,输入用户初始密钥参数为系统初始参数为暂态阈值参数为t=0.1和消除暂态效应的迭代次数为it=10和试题l=(l1,l′2),选择题序列l1和填空题序列l′2为:

l1=(("83+92=",177,175,174,176),("8+28=",35,37,36,38),("22+81=",105,104,102,103),

("35+68=",104,105,102,103),("27+59=",88,87,85,86),("0+92=",94,92,91,93),

("33+46=",81,78,80,79),("16+87=",104,102,103,105))

l′2=(("18+0="),("12+92="),("5+55="),("74+82="),("99+33="),("36+99="),("70+66="),("63+51="))第2步:将代入式(1)和式(2)分别迭代生成

例如,同合法区间双认证全密钥依赖的无载体试题伪装方法的第2步相同,将代入式(1)迭代生成代入式(2)迭代生成

第3步:初始化i=0,将代入式(14)将l′2中的试题逆置乱为l2;

式(14)中,permute-1()是permute()的逆函数,是两个用户密钥,是两个系统参数,t是暂态阈值参数,it是消除暂态效应的迭代次数,l′2是待恢复顺序的序列,permute-1()的具体执行过程如第3.1步~第3.3步所示:

第3.1步:初始化x=φ,置i=0;

第3.2步:将代入式(4)生成随机数xi,yi,将xi存入x中,令i=i+1;

第3.3步:若x中包含l1个元素,则通过式(6)将x降序为x′并根据x′和x之间的映射关系将l′2恢复为

例如,由按式(14)将l′2逆置乱恢复为l2,其具体的计算过程如下所示:

首先将代入式(4)生成随机数xi,yi,并将xi,i=0,1,…,7依次添加至x中,得到x=(0.9396638627278637,…,0.21599282190028346);之后,按式(6)将x降序排列为x′=(0.9396638627278637,…,0.21450619605267693);最后,根据x′和x之间的映射关系将l2′恢复为l2=(("18+0="),("63+51="),("36+99="),("74+82="),("5+55="),("99+33="),("12+92="),("70+66="))。

第4步:初始化认证信息序列u=φ,令索引位置i=0;

第5步:将代入式(4)生成随机数xi,yi∈(0,1),从l2中读取sti和对应的ansi,然后由ansi和xi,yi按式(15)计算认证信息并将添加至u中,令i=i+1;

第6步:反复执行第5步,直至i=l1;

以st0=("18+0=")为例,的具体计算过程如下所示:首先,将代入式(4)生成x0=0.9453740626954231,y0=0.40613605115796986;之后,获取st0对应的ans0=18;最后,将x0=0.9453740626954231,y0=0.40613605115796986,ans0=18代入式(15)计算得出其中:

反复执行第5步,得到认证信息序列u=(11,11,8,5,5,5,1,9);

第7步:初始化待认证序列v=φ,置索引位置i=0;

第8步:将代入式(4)生成随机数xi,yi∈(0,1),从l1中提取sti中的选项排列顺序ai,bi,ci,di,获得ai,bi,ci,di在字典序排列中的索引id∈[0,23],然后由id和xi,yi按式(16)计算出待认证信息并将添加至v中,令i=i+1;

第9步:反复执行第8步,直至i=l1;

以st0=("83+92=",177,175,174,176)为例,的具体计算过程为:首先将代入式(4)中生成随机数x0=0.8229357901866974,y0=0.9846522739096571;之后计算a0=177,b0=175,c0=174,d0=176在字典序排列中的索引id=20;最后将x0=0.8229357901866974,y0=0.9846522739096571,id=20代入式(16),可得:

反复执行第8步,得到待认证序列v=(11,11,8,5,5,5,1,9);

第10步:利用认证信息序列u按式(19)对待认证序列v进行认证,得到乱序16进制序列和错误标记序列

式(17)中,authenticate()是对信息的认证以及恢复函数,v是待认证的序列,u为认证信息序列,w′是错误标记序列,其中w′i=0和w′i=1分别用于标记恢复出的是否正确,authenticate()的具体执行过程如第10.1步~第10.3步所示:

第10.1步:置i=0,初始化

第10.2步:根据下列5种情况,利用进行认证,令i=i+1;

①若并且

②若并且则通过式(18)计算得并令w′i=1;

③若并且并令w′i=1;

④若并且并令w′i=1;

⑤若并且则通过式(18)计算得并令w′i=1;

式(18)中,mean()是求均值的函数,是待求均值的序列,i为索引位置,该函数用于求序列中前i-1个元素的均值;

第10.3步:反复执行第10.2步,直至i=l1。

以i=0为例,其计算过程为:属于情况①,因此

经上述步骤,可得:w′=(0,0,0,0,0,0,0,0);

第11步:将代入式(14)中,将逆置乱恢复为也做相同的逆置乱,将w′逆置乱为中元素2个为1组转换为256进制数序列其中

例如,首先将代入式(4)中生成xi,yi,其中i=0,1,…,7,并将xi,i=0,1,…,7添加至x中,得到x=(0.8731415403162262,…,0.8143080690456274);之后,按式(6)将x降序排列为x′=(0.905659429812366,…,0.31982820897462194);最后,按照x′与x之间的映射关系,将逆置乱为同理,按上述流程将代入式(14)中,将w′逆置乱为w=(0,0,0,0,0,0,0,0);将中元素2个为1组转换为256进制数序列的过程为:将i=0,1,…,7转化为二进制数:以每两个元素为一组,转化为256进制数:

第12步:初始化随机序列x=φ、秘密信息序列ps=φ、码本序列m=(0,1,…,255)和索引位置k=0,i=0;

第13步:将代入式(19)中,将恢复为pk;

式(19)中,rcode-1()是rcode()的逆函数,其中是两个用户密钥,是两个系统参数,t是暂态阈值参数,it是消除暂态效应的迭代次数,x是随机数序列,m为码本序列,为待映射的元素,rcode-1()的具体执行过程如第13.1步~第13.3步所示:

第13.1步:将代入式(4)生成随机数xi,yi,将生成的xi保留作为x中的元素,令i=i+1;

第13.2步:若x中含有256个元素,则将x按式(6)降序排列为x′,并按照x与x′之间的关系将m置乱为m′,通过式(20)将映射为pk,令k=k+1;

式(20)中,get()是获取对应索引元素的函数,用于将pi映射为m′中索引值为的元素;

第13.3步:令m=m′,x=φ;

第14步:反复执行第13步,直至k=l,将ps=(pk)l和输出。

为例,首先,将代入式(4)生成随机数xi,yi,其中i=0,1,…,255,并将xi.i=0,1,…,255依次添加至x中,得到x=(0.777,0.6411027,…,0.6422662851939747);之后将x按式(6)重新排列为x′=(0.9249963192087112,0.9249699866005412,…,0.25669907603847497),然后根据x和x′之间的映射关系将m=(0,1,…,255)置乱为随机码本m′=(219,196,…,220);最后,通过式(20)将映射为p0=96,并令m=m′=(219,196,…,220),x=φ;反复执行第13步,得到ps=(96,79,125,89),输出ps,w;

图3是秘密信息《竹里馆》;图4是图3经图1伪装流程产生的随机单选题,对应的密钥为图5是图3经图1伪装流程产生的随机填空题,户密钥参数为图6由图3经伪装后的随机试题按图2恢复流程恢复出的秘密信息,对应的参数为图6相对于图3的误码率er=0;图7是图3伪装后产生的随机试题按图2恢复流程得到的认证图,对应的参数为图8是秘密信息《静夜思》;图9是图8经图1伪装流程产生的随机单选题,对应的参数为图10是图8经图1伪装流程产生的随机填空题,密钥参数为图11是由图8伪装后产生随机试题按图2恢复出的秘密信息,参数为图11相对于图8的误码率er=100%;图12是由图8伪装后生成随机试题按图2恢复流程得到的认证图,密钥参数为图13是秘密信息《竹里馆》;图14是图13经图1流程产生的随机单选题,密钥参数为图15是图13经图1伪装流程产生的随机填空题,密钥参数为图16是修改后的由图13生成的随机单选题,其修改方式为修改部分随机选择题的选项排列顺序,攻击占比为0.05;图17是修改后的由图13产生的随机填空题,修改方式为修改随机试题中部分选择题选项排列顺序,攻击占比为0.05;图18是修改后的图13伪装后产生的随机试题按图2恢复流程恢复出的秘密信息,参数为图18相对于图13的误码率er=17.5%;图19是修改后的图13伪装后产生的随机试题按图2恢复流程得到的认证图,认证成功率为100%,参数为图20是秘密信息《鹿柴》;图21是图20经图1伪装流程产生的随机单选题,参数为图22是图20经图1伪装流程产生的随机填空题,参数为图23是修改后由图20经伪装后产生的随机单选题,修改方式为删除随机试题中部分试题并添加对应数量的试题,攻击占比为0.1;图24是修改后的由图20产生的随机填空题,修改方式为删除随机试题中部分试题并添加对应数量的试题,攻击占比为0.1;图25是由修改后图20产生随机试题按图2恢复流程恢复出的秘密信息,参数为图25相对于图20的误码率er=7.5%;图26是由修改后图20伪装后产生的随机试题按图2恢复流程得到的认证图,认证成功率为100%,参数为t=0.1,it=40。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1