CN109388959B - 结合差异聚类和最小误差纹理合成的生成式信息隐藏方法 - Google Patents

结合差异聚类和最小误差纹理合成的生成式信息隐藏方法 Download PDF

Info

Publication number
CN109388959B
CN109388959B CN201811159629.5A CN201811159629A CN109388959B CN 109388959 B CN109388959 B CN 109388959B CN 201811159629 A CN201811159629 A CN 201811159629A CN 109388959 B CN109388959 B CN 109388959B
Authority
CN
China
Prior art keywords
boundary
block
sample
formula
equation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811159629.5A
Other languages
English (en)
Other versions
CN109388959A (zh
Inventor
邵利平
李国利
任平安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201811159629.5A priority Critical patent/CN109388959B/zh
Publication of CN109388959A publication Critical patent/CN109388959A/zh
Application granted granted Critical
Publication of CN109388959B publication Critical patent/CN109388959B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

本发明提出了一种结合差异聚类和最小误差纹理合成的生成式信息隐藏方法,首先通过样本小块与随机密钥模板的差异均值聚类来获取聚类中心并建立起秘密信息分段和聚类中心样本小块之间的多重映射关系。然后结合随机放置位置,从样本小块聚类中心中选择合适的样本小块作为秘密信息分段的编码表示来对秘密信息进行编码并放置在空白图像的指定位置上。最后从所有的样本小块中按最小误差纹理合成策略来选择最接近的样本小块来对秘密信息进行掩盖并生成纹理图像。同现有方法相比,所提方法可通过生成高质量的纹理图像来对秘密信息进行有效掩盖,秘密信息分段和聚类中心的样本小块不一一对应,且恢复过程完全依赖于密钥并具有较强的抗攻击恢复能力。

Description

结合差异聚类和最小误差纹理合成的生成式信息隐藏方法
技术领域
本发明属于图像信息安全和数字图像信号处理交叉领域,涉及一种信息隐藏方法,特别涉及一种结合差异聚类和最小误差纹理合成的生成式信息隐藏方法。
背景技术
当前伴随着深度学习的不断深入和人工智能的继续发展以及量子计算机的初现端倪,使得传统以图像音频为主要传输介质的多媒体信息安全形势变得更为严峻。一方面,基于机器学习的隐写分类器维数不断提高,使得传统修改式信息隐藏隐匿信息不被发现的可能性越来越小,而另一方面,压缩技术的持续发展,也使得传统修改式信息隐藏可供利用的冗余空间越来越小,由此使得传统基于修改式嵌入的信息隐藏技术发展陷入了瓶颈。
如何有效地进行下一代信息隐藏技术研究,来自北京和上海的专家于2014年5月召开的全国信息隐藏与多媒体安全专家研讨会首次提出了“无载体信息隐藏”。2015年3月武汉召开的第12届全国信息隐藏大会将无载体信息隐藏技术列入了未来信息隐藏的前沿阵地;2016年10月合肥召开的第13届全国信息隐藏大会将无载体信息隐藏正式定位为第2代信息隐藏技术;2018年3月广州召开的第14届全国信息隐藏大会对无载体信息隐藏进行了专门分组交流。
目前关于无载体信息隐藏主要有2类典型的方法,其中:
第1类是通过检索数据库中包含指定秘密矢量的载体文本或图像来传递秘密信息。例如针对文本的基于中文字符编码(Chen X Y,Chen S,Wu Y L,Coverlessinformation hiding based on the Chinese character encoding[J].Journal ofInternet Technology,2017,18(2):313-320.)、中文数学表达式(Chen X Y,Sun H Y,TobeY,et al.Coverless information hiding method based on the Chinese mathematicalexpression[C]//International Conference on Cloud Computing andSecurity.Springer International Publishing,2015:133-143.)和多关键字隐藏的无嵌入无载体文本信息隐藏(Zhou Z L,Yan M,Yang C N,et al.Coverless multi-keywordsinformation hiding method based on text[J].International Journal of Securityand Its Application,2016,10(9):309-320.);例如针对图像的,基于块均值比较(Zhou ZL,Sun H Y,Harit R,et al.Coverless image steganography without embedding[C]//International Conference on Cloud Computing and Security.SpringerInternational Publishing,2015:123-132.)、基于SIFT(Scale Invariant FeatureTransform)和BOF(Bag of Features)鲁棒哈希特征(Yuan C S,Xia Z H,Sun XM.Coverless image steganography based on SIFT and BOF[J].Journal of InternetTechnology,2017,18(2):435-442.)以及基于图像视觉词汇BOW(Bag of Words)局部分词匹配和全局有序的无嵌入无载体图像信息隐藏(周志立,曹燚,孙星明.基于图像Bag-of-Words模型的无载体信息隐藏方法[J].应用科学学报,2016,34(5):527-536.)。
但这类方法存在的问题是:①正常文本和图像对与之不相关的秘密信息表现能力十分有限,若需要数据库中文本和图像具有足够的表达能力,则需收集足够多的样本;②随着数据库文本和图像信息表达能力的增强,需要搜索的数据量也呈几何级数增加,即使借助倒排索引,对于大数据量的搜索、存储和维护也将是一个沉重的负担,但与此同时,嵌密容量极低,涉及大量文本和图像集合在公有信道中密集传输;③尽管这类方法孤立文本或图像都是正常文本或图像,因未修改而无法检测出异常,但大量文本和图像集合密集传输也必然会引起怀疑。从而难以抵抗密写分析的攻击。
第2类是基于纹理生成式的信息隐藏方法,主要又分为纹理构造和纹理合成式的信息隐藏2种,其中:
第1种是主要是通过人工生成纹理的方式来对秘密信息进行掩盖。例如:Xu J,2015.(Xu J,Mao X,Jin X,et al.Hidden message in a deformation-based texture[J].Visual Computer International Journal of Computer Graphics,2015,31(12):1653-1669.)在空白图像上书写秘密信息,然后添加掩盖图案,最后通过marbling形变来产生含密纹理;潘琳,2016.(潘琳,钱振兴,张新鹏.基于构造纹理图像的数字隐写[J].应用科学学报,2016,34(5):625-632.)将秘密信息借助图形化的码元进行表达,然后添加遮盖元素和通过可逆形变操作来形成含密纹理;Qian Z X,2018.(Qian Z X,Pan L,Li S,Zhang XP.Steganography by Constructing Marbling Texture[C]//第14届全国信息隐藏暨多媒体信息安全学术会议(CIHW2018)[C],广州,2018.)通过随机点的奇偶坐标来表达秘密信息,将邻近点连成闭合的几何曲线并着色,然后引入形变操作来产生含密纹理。
但这种方法所产生的纹理都是人工纹理而非自然界真实存在的纹理,从而依然不能对秘密信息进行有效的纹理掩盖。
第2种是基于纹理合成式的信息隐藏方法,这类方法主要是以给定的纹理图像为载体,重新生成与之相似的纹理图像,在生成的过程中嵌入秘密信息。例如Wu K C,2015.(Wu K C,Wang C M,Steganography Using Reversible Texture Synthesis[J].Transactions on Image Processing,2015,24(1):130-139)将输入纹理图像分块,通过镜像操作生成纹理小块边界区域,根据索引表中小块编号将纹理小块放置在空白图像中。将输入纹理图像按照光栅扫描顺序再分块,根据候选小块MSE值划分成若干等级,不同等级的候选小块代表不同的秘密信息,根据秘密信息从特定等级中随机选择纹理小块将其放置在空白区域中,同时完成边界区域纹理小块的拼接;Qin Z C,2017.(Qin Z C,Li M,WuB.Robust Steganography via Patch-Based Texture Synthesis[C]//InternationalConference on Internet Multimedia Computing and Service.Springer,Singapore,2017:429-439.)将输入纹理图像分块,对纹理分块的核心区域再分块,通过核心区域分块像素均值大小比较来代表秘密信息,然后通过纹理小块拼接来隐藏秘密信息;Qian Z X,2017(Qian Z X,Zhou H,Zhang W M,Zhang X P.Robust Steganography Using TextureSynthesis[M]//Advances in Intelligent Information Hiding and MultimediaSignal Processing.Springer International Publishing,2017.)首先将样本图像分块进行分类,将不同类别的纹理小块代表不同的秘密信息,然后根据秘密信息从特定类别中随机选择纹理小块将其放置在空白图像上,最后完成空白区域的纹理小块拼接。
以上Wu K C,2015、Qin Z C,2017和Qian Z X,2017尽管相对于第1种方法,可以合成和自然纹理相类似的纹理图像,从而可以对秘密信息掩盖,但同时也存在以下问题:
①同一个样本块在不同位置通常代表同一个秘密信息,从而特定样本小块直接关联着特定的秘密信息分段,导致秘密信息泄露;
②部分方法尽管引入了分类,通过样本小块所在的类别来对秘密信息分段来进行一对一的编码表示,从而导致秘密信息分段和样本小块类别之间依然存在着固定的一一对应关系,安全性较低;
③将样本小块划分为不同的类别,从同一类别中随机筛选样本小块,未考虑样本小块本身之间存在的差异度以及偏离分类中心样本小块在遭受攻击时可能导致类别提取错误,从而抵抗攻击的能力十分有限。
另外第2种方法Wu K C,2015、Qin Z C,2017和Qian Z X,2017均涉及到小块拼接,现有的基于纹理合成的生成式无载体信息隐藏方案通常采用基于误差线的相邻小块重叠区域缝合策略来合成纹理并对嵌入的秘密信息进行掩盖。基于误差线的相邻小块重叠区域缝合策略本质是寻找由特定起始位置出发,按照固定的搜索方向来寻找连接重叠区域差异最小的紧邻像素来构造误差线,依据误差来对重叠区域进行纹理合成。但特定起始位置出发的误差线并不意味着是经历重叠区域所有最小差异像素的最小误差线,同时当存在多个相邻重叠块时,若选择不相邻块重叠区域拼接顺序不恰当,将容易产生拼接的痕迹,从而不能对秘密信息进行掩盖。
发明内容
本发明的目的在于克服现有技术缺陷,提供一种结合差异聚类和最小误差纹理合成的生成式信息隐藏方法,首先通过样本小块与随机密钥模板的差异均值聚类来获取聚类中心并建立起秘密信息分段和聚类中心样本小块之间的多重映射关系。然后结合随机放置位置,从样本小块聚类中心中选择合适的样本小块作为秘密信息分段的编码表示来对秘密信息进行编码并放置在空白图像的指定位置上。最后从所有的样本小块中按最小误差纹理合成策略来选择最接近的样本小块来对秘密信息进行掩盖并生成纹理图像。相对于传统的纹理合成信息隐藏方法,所提方法可通过生成高质量的纹理图像来对秘密信息进行有效掩盖,秘密信息分段和聚类中心的样本小块不一一对应,且恢复过程完全依赖于密钥并具有较强的抗攻击恢复能力。
为实现上述目的,本发明采用以下技术方案:
一种结合差异聚类和误差最小纹理合成的生成式信息隐藏方法,包括以下步骤:
第1步:输入分辨率为m×n的P阶灰度样本图像S=(si,j)m×n,si,j∈{0,1,…,2P-1},由第一密钥R1在S上伪随机截取K个分辨率均为fh×fv的样本小块P0,P1,…,PK-1;分别选取P0,P1,…,PK-1中心分辨率为ah×av的区域作为核心区域
Figure BDA0001819726640000051
按式(1)确定
Figure BDA0001819726640000052
边界距PK-1边界的最小垂直距离为eh,最小水平距离为ev;其中,设fv为样本小块的水平边界长度,fh为样本小块的垂直边界长度,av为核心区域的水平边界长度,ah为核心区域的垂直边界长度;eh为核心区域水平边界与样本小块水平边界之间的间距,ev为核心区域垂直边界与样本小块垂直边界之间的间距;
Figure BDA0001819726640000053
式(1)中,符号
Figure BDA0001819726640000061
表示向下取整;
第2步:由第二密钥R2伪随机生成随机模板
Figure BDA0001819726640000062
将M中心分辨率为ah×av的区域作为核心区域MCore,依据
Figure BDA0001819726640000063
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure BDA0001819726640000064
将每个类别离聚类中心位置最近的样本小块作为编码样本小块
Figure BDA0001819726640000065
其中n0≤K,n0为2的幂次且均值聚类的初始聚类中心由第三密钥R3伪随机指定,均值聚类的迭代次数由第四密钥R4伪随机指定;
第3步:输入长度为l的2进制比特位串B,将其划分为L个包含log2n0个比特位编码单元,得到L个10进制数依次为B0,B1,…,BL-1
初始化分辨率为gh×gv的空白图像作为含密样本图像Q,以大小为ah×av的网格为单元划分Q,且水平方向上相邻两个网格之间的间距为ev,垂直方向上相邻两个网格之间的间距为eh;同时最外层网格单元水平边界与Q的水平边界之间的间距为eh,最外层网格单元的垂直边界与Q的垂直边界之间的间距为ev,即gh,gv满足的约束如式(2)所示,其中lh,lv分别是垂直方向和水平方向放置的ah×av大小网格的数量;初始化状态标记矩阵
Figure BDA0001819726640000066
R中元素ri,j状态用于标记Q上第(i,j)位置ah×av网格的占用状态,不失一般性,ri,j=0表示未占用,ri,j=1表示占用;
Figure BDA0001819726640000067
第4步:由第五密钥R5在Q上伪随机生成L个坐标(pk′,qk′),k=0,1,…,L-1且满足式(3)和式(4)的约束;
Figure BDA0001819726640000068
Figure BDA0001819726640000069
第5步:由B的哈希值确定编码单元Bk对应的编码样本块编号
Figure BDA00018197266400000611
然后从
Figure BDA00018197266400000610
中选取对应的编码样本块
Figure BDA0001819726640000071
将其放置在Q上坐标起始位置为(p′k,q′k)且大小为fh×fv的矩形小块上,按式(5)计算(xc,yc),将R中的元素
Figure BDA0001819726640000072
标记为1,其中k=0,1,…,L-1;
Figure BDA0001819726640000073
第6步:顺序扫描R,对于
Figure BDA0001819726640000074
根据(x,y)四周领域(x-1,y),(x,y+1),(x+1,y),(x,y-1)各元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态,从P0,P1,…,PK-1中选择样本块作为
Figure BDA0001819726640000075
Figure BDA0001819726640000076
放置在Q上起始坐标为(x(eh+ah),y(ev+av))的fh×fv矩阵小块上;
第7步:根据
Figure BDA0001819726640000077
和Q周围((x-1)(eh+ah),y(ev+av)),(x(eh+ah),(y+1)(ev+av)),((x+1)(eh+ah),y(ev+av)),(x(eh+ah),(y-1)(ev+av))相邻位置已放置小块的重叠区域差异最小确定拼接优先级顺序,并按拼接优先级顺序和周围已放置小块的重叠边界块进行最小误差纹理合成;
第8步:反复执行第6步~第7步,直至
Figure BDA0001819726640000078
将Q作为嵌密后的样本图像输出。
进一步,第2步依据
Figure BDA00018197266400000716
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure BDA0001819726640000079
将每个类别离聚类中心位置最近的样本小块作为编码样本小块
Figure BDA00018197266400000710
具体方法在于包括以下步骤:
第2.1步:按式(6)计算
Figure BDA00018197266400000711
相对于MCore的均方误差MSE0,MSE1,…,MSEK-1,其中
Figure BDA00018197266400000712
Figure BDA00018197266400000713
第2.2步:由第三密钥R3从MSE0,MSE1,...,MSEK-1中随机选择n0个作为初始聚类中心
Figure BDA00018197266400000714
初始化迭代次数IT=0;
第2.3步:将K个均方误差与n0个聚类中心
Figure BDA00018197266400000715
逐一做差,选取绝对值差异最小的聚类中心所在的类别作为该均方误差对应的类别,从而将MSE0,MSE1,…,MSEK-1分成n0个类别;
第2.4步:按式(7)更新聚类中心
Figure BDA0001819726640000081
然后IT=IT+1;
Figure BDA0001819726640000082
式(7)中,|Ci|是类别Ci中的均方误差总数;
第2.5步:反复执行第2.3步~第2.4步,直至IT≥rr,其中rr是由第四密钥R4产生的大于预设正整数ttt的随机整数;
第2.6步:按式(8)选取每个类别中和对应聚类中心差异度最小的均方误差所对应的样本小块
Figure BDA0001819726640000083
作为第i个编码样本块Pi′,从而得到n0个编码样本块
Figure BDA0001819726640000084
Figure BDA0001819726640000085
进一步,第3步输入长度为l的2进制比特位串B,将其划分为L个log2n0个比特位编码单元,得到L个10进制数依次为B0,B1,…,BL-1的具体方法在于包括以下步骤:
第3.1步:将长度为l的2进制比特位串B,以log2n0个比特为1组,划分为L组,如式(9)所示,L和l之间满足的约束如式(10)所示:
B=b0||b1||…||bL-1 (9)
式(9)中,符号“||”为比特位串联符号;
Figure BDA0001819726640000086
第3.2步:将b0,b1,…,bL-1转换为10进制数,从而可得到10进制数B0,B1,…,BL-1
第5步由B的哈希值确定编码单元Bk对应的编码样本块编号
Figure BDA0001819726640000087
的具体方法在于包括以下步骤:
第5.1步:将B的MD5值对应的2进制位串序列为BMD5=(bi)128的奇数和偶数比特分别按式(11)映射为初始值x0∈(0,1)和系统参数μ∈(3.57,4];
Figure BDA0001819726640000091
第5.2步:将x0,μ代入式(12)迭代产生(0,1)范围内的随机数r0,r1,…,rL-1,为消除暂态效应,将前ITT,ITT≥0个随机数滤除;
xt+1=μxt(1-xt) (12)
第5.3步:将rk,k=0,1,…,L-1按式(13)量化为[0,n0-1]范围内的随机整数rk′,k=0,1,…,L-1;
Figure BDA0001819726640000092
第5.4步:将rk′,k=0,1,…,L-1按式(14)转换为
Figure BDA0001819726640000093
Figure BDA0001819726640000094
进一步,第6步顺序扫描R的具体方法是按光栅扫描顺序扫描R;
第6步根据(x,y)四周领域(x-1,y),(x,y+1),(x+1,y),(x,y-1)各元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态,从P0,P1,…,PK-1中选择最合适的样本块
Figure BDA0001819726640000095
的具体方法在于包括以下步骤:
第6.1步:根据(x,y)其四周领域(x-1,y),(x,y+1),(x+1,y),(x,y-1)各元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态按式(15)确定其类型T,并将T映射为(t3t2t1t0)2,其中t0,t1,t2,t3=1|0依次对应(x,y)的顶部(x-1,y),右侧(x,y+1),底部(x+1,y)和左侧(x,y-1)是否存在已经放置好的样本块,为1表示存在,为0表示不存在;
T=type(rx,y) (15)
式(15)中,类型函数的具体处理功能如式(16)所示:
Figure BDA0001819726640000101
第6.2步:记
Figure BDA00018197266400001014
位置所要放置的样本块为Pcur∈{P0,P1,…,PK-1},(x,y)的顶部(x-1,y),右侧(x,y+1),底部(x+1,y)和左侧(x,y-1)可能存在的已经放置好的样本块依次记为P0,P1,P2,P3∈{P0,P1,…,PK-1,PΦ},其中PΦ表示放置的样本块不存在,则可按式(17)从P0,P1,…,PK-1中选择合适的样本块
Figure BDA0001819726640000103
Figure BDA0001819726640000104
式(17)中,|| ||2为矩阵2范数,
Figure BDA0001819726640000105
为Pcur在i方向的边界区域,
Figure BDA0001819726640000106
为Pi
Figure BDA0001819726640000107
方向的边界区域,若所有的ti=0,则式(17)等价于从P0,P1,…,PK-1中随机选择一个样本块作为Pcur;对于分辨率fh×fv的样本块Pcur,i和
Figure BDA0001819726640000108
之间的关系按式(18)确定,其中,0边界块和2边界块的大小均为eh×(2ev+av),1边界块和3边界块的大小均为(2eh+ah)×ev;其中,0边界块为样本小块核心区域上边界与样本小块上边界之间的区域;1边界块为样本小块核心区域右边界与样本小块右边界之间的区域,2边界块为样本小块核心区域下边界与样本小块下边界之间的区域,3边界块为样本小块核心区域左边界与样本小块左边界之间的区域。
Figure BDA0001819726640000109
进一步,第7步的具体方法是:对于
Figure BDA00018197266400001010
按式(19)确定
Figure BDA00018197266400001011
Figure BDA00018197266400001012
Figure BDA00018197266400001013
的拼接优先级顺序然后按拼接优先级顺序和周围已放置小块的重叠边界块进行最小误差纹理合成,若t0=t1=t2=t3=0,则无需进行最小误差纹理合成;
Figure BDA0001819726640000111
式(19)中,符号
Figure BDA0001819726640000112
表示优先于,
Figure BDA0001819726640000113
分别为
Figure BDA0001819726640000114
在i0,i1方向的边界区域。
进一步,记
Figure BDA0001819726640000115
Figure BDA0001819726640000116
在tt方向的边界块,Ptt
Figure BDA0001819726640000117
在tt方向的相邻样本块,
Figure BDA0001819726640000118
为Ptt
Figure BDA0001819726640000119
方向的边界区域,其中tt∈{0,1,2,3},ttt=1,则第7步将
Figure BDA00018197266400001110
和Ptt的边界块进行最小误差纹理合成的具体方法在于包括以下步骤:
第7.1步:按式(20)计算
Figure BDA00018197266400001111
Figure BDA00018197266400001112
的边界差异矩阵D=(di,j)rn×cn,按式(21)确定rn和cn;
Figure BDA00018197266400001113
Figure BDA00018197266400001114
第7.2步:按式(22)计算经过D的第i行最小值点列坐标位置的误差线
Figure BDA00018197266400001115
或第j列最小值点行坐标位置的误差线
Figure BDA00018197266400001116
其中i=0,1,…,rn-1,j=0,1,…,cn-1;
Figure BDA00018197266400001117
式(22)中,rerrmin(),cerrmin()分别是行最小误差线计算函数和列最小误差线计算函数,其中第1个参数为差异矩阵,第2个参数对应为行索引或列索引;
第7.3步:按式(23)从
Figure BDA00018197266400001118
Figure BDA00018197266400001119
中获取能量最小的误差线作为
Figure BDA00018197266400001120
Figure BDA00018197266400001121
其中
Figure BDA00018197266400001122
Figure BDA00018197266400001123
分别对应的是
Figure BDA00018197266400001124
Figure BDA00018197266400001125
的能量,
Figure BDA00018197266400001126
对应的D中位于
Figure BDA00018197266400001127
标记位置的所有元素绝对值累计,
Figure BDA00018197266400001128
对应的D中位于
Figure BDA00018197266400001129
标记位置的所有元素绝对值累计;
Figure BDA00018197266400001130
第7.4步:记
Figure BDA00018197266400001131
Figure BDA00018197266400001132
Figure BDA00018197266400001133
Figure BDA00018197266400001134
拼接后的小块记为
Figure BDA0001819726640000121
则按式(24)将边界块重叠区域
Figure BDA0001819726640000122
Figure BDA0001819726640000123
拼接在一起作为
Figure BDA0001819726640000124
Figure BDA0001819726640000125
放置在
Figure BDA0001819726640000126
位置;
Figure BDA0001819726640000127
式(24)中,
Figure BDA0001819726640000128
Figure BDA0001819726640000129
在第y,y∈{0,1,…,cn-1}列上经过的横坐标分界点,
Figure BDA00018197266400001210
Figure BDA00018197266400001211
在第x,x∈{0,1,…,rn-1}行上经过的纵坐标分界点。
进一步,记差异矩阵D=(di,j)rn×cn的行和列分别为
Figure BDA00018197266400001212
Figure BDA00018197266400001213
则:
Figure BDA00018197266400001214
的特征在于包含以下步骤:
第a1)步:初始标记序列Tb=(tbi=0)rn,初始化当前列坐标tc=0,初始行坐标tr=i,按式(25)计算
Figure BDA00018197266400001215
的最小元素tm,将tm所对应的列坐标赋值给tc并更新tbi=tc;
Figure BDA00018197266400001216
第a2)步:i=i-1,按式(26)计算元素di,tc-1,di,tc,di,tc+1的最小值tm,将tm所对应的列坐标赋值给tc并更新tbi=tc;
tm=min(di,tc-1,di,tc,di,tc+1) (26)
式(26)中,若di,tc-1,di,tc,di,tc+1中存在坐标越界元素,则按式(26)计算最小值时,不参与最小值运算;
第a3)步:反复执行第a2)步,直至i=-1,更新i=tr,tc=tbi
第a4)步:i=i+1,按式(26)计算di,tc-1,di,tc,di,tc+1的最小值tm,将tm所对应的列坐标赋值给tc并更新tbi=tc;
第a5)步:反复执行第a4)步,直至i=rn,将Tb输出作为
Figure BDA0001819726640000131
Figure BDA0001819726640000132
的特征在于包含以下步骤:
第b1)步:初始标记序列Tb=(tbj=0)cn,初始化当前行坐标tr=0,初始列坐标tc=j按式(27)计算Dc j的最小元素tm,将tm所对应的行坐标赋值给tr并更新tbj=tr;
Figure BDA0001819726640000133
第b2)步:j=j-1,按式(28)计算dtr-1,j,dtr,j,dtr+1,j的最小值tm,将tm所对应的行坐标赋值给tr并更新tbj=tr;
tm=min(dtr-1,j,dtr,j,dtr+1,j) (28)
式(28)中,若dtr-1,j,dtr,j,dtr+1,j中存在坐标越界元素,则按式(28)计算最小值时,不参与最小值运算;
第b3)步:反复执行第b2)步,直至j=-1,更新j=tc,tr=tbj
第b4)步:j=j+1,按式(28)计算dtr-1,j,dtr,j,dtr+1,j的最小值tm,将tm所对应的行坐标赋值给tr并更新tbj=tr;
第b5)步:反复执行第b4)步,直至j=cn,将Tb输出作为
Figure BDA0001819726640000137
一种结合差异聚类和误差最小纹理合成的生成式信息提取方法,包括以下步骤:
第1步:输入分辨率为m×n的P阶灰度样本图像S=(si,j)m×n,si,j∈{0,1,…,2P-1},由第一密钥R1在S上伪随机截取K个分辨率为fh×fv大小的样本小块P0,P1,…,PK-1;选取P0,P1,…,PK-1中心分辨率为ah×av的区域作为核心区域
Figure BDA0001819726640000134
按式(1)确定
Figure BDA0001819726640000135
边界距PK-1边界的最小垂直距离为eh,最小水平距离为ev
第2步:由第二密钥R2伪随机生成随机模板
Figure BDA0001819726640000136
将M中心分辨率为ah×av的区域作为核心区域MCore,依据
Figure BDA0001819726640000141
相对于MCore的差异,进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure BDA0001819726640000142
将每个类别离聚类中心位置最近的样本小块作为编码样本小块
Figure BDA0001819726640000143
其中n0≤K且均值聚类的初始聚类中心由第三密钥R3伪随机指定,均值聚类的迭代次数由第四密钥R4伪随机指定;
第3步:输入分辨率为gh×gv的含密样本图像Q,由第五密钥R5在Q上伪随机生成L个坐标(p′k,q′k),k=0,1,…,L-1且满足式(3)和式(4)的约束,然后以(p′k,q′k),k=0,1,…,L-1为坐标起点从Q上提取出分辨率为fh×fv的纹理小块U0,U1,…,UL-1
第4步:记Uk的核心区域为
Figure BDA0001819726640000144
Figure BDA0001819726640000145
的核心区域分别为
Figure BDA0001819726640000146
Figure BDA0001819726640000147
中选取和
Figure BDA0001819726640000148
最接近的核心区域
Figure BDA0001819726640000149
记录Uk对应的编号
Figure BDA00018197266400001410
其中k=0,1,…,L-1;
第5步:输入待提取秘密信息的哈希值,并结合Uk对应的编号
Figure BDA00018197266400001411
提取出对应10进制秘密信息Bk,k=0,1,…,L-1,然后将Bk,k=0,1,…,L-1转换为长度为l的2进制比特位串B并输出。
进一步,第2步依据
Figure BDA00018197266400001412
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure BDA00018197266400001413
将每个类别聚类中心位置的样本小块作为编码样本小块
Figure BDA00018197266400001414
具体方法在于包括以下步骤:
第2.1步:按式(6)计算
Figure BDA00018197266400001415
相对于MCore的均方误差MSE0,MSE1,…,MSEK-1,其中
Figure BDA00018197266400001416
第2.2步:由第三密钥R3从MSE0,MSE1,...,MSEK-1中随机选择n0个作为初始聚类中心
Figure BDA00018197266400001417
初始化迭代次数IT=0;
第2.3步:将K个均方误差与n0个聚类中心
Figure BDA00018197266400001418
逐一做差,选取绝对值差异最小的聚类中心所在的类别作为该均方误差对应的类别,从而将MSE0,MSE1,…,MSEK-1分成n0个类别;
第2.4步:按式(7)更新聚类中心
Figure BDA0001819726640000151
然后IT=IT+1;
第2.5步:反复执行第2.3步~第2.4步,直至IT≥rr,其中rr是由第四密钥R4产生的大于预设正整数ttt的随机整数;
第2.6步:按式(8)选取每个类别中和对应聚类中心差异度最小的均方误差所对应的样本小块
Figure BDA0001819726640000152
作为第i个编码样本块Pi′,从而得到n0个编码样本块
Figure BDA0001819726640000153
进一步,第4步从
Figure BDA0001819726640000154
中选取和
Figure BDA0001819726640000155
最接近的核心区域
Figure BDA0001819726640000156
的具体方法是式(29);
Figure BDA0001819726640000157
第5步输入待提取秘密信息的哈希值,并结合Uk对应的编号
Figure BDA0001819726640000158
提取出对应10进制秘密信息Bk,k=0,1,…,L-1的具体方法其特征在于包括以下步骤:
第5.1步:将B的MD5值对应的2进制位串序列为BMD5=(bi)128的奇数和偶数比特分别按式(11)映射为初始值x0∈(0,1)和系统参数μ∈(3.57,4];
第5.2步:将x0,μ代入式(12)迭代产生(0,1)范围内的随机数r0,r1,…,rL-1,为消除暂态效应,将前ITT,ITT≥0个随机数滤除;
第5.3步:将rk,k=0,1,…,L-1按式(13)量化为[0,n0-1]范围内的随机整数rk′,k=0,1,…,L-1;
第5.4步:按式(30)计算编码样本块编号
Figure BDA0001819726640000159
所对应的十进制秘密信息Bk,k=0,1,…,L-1;
Figure BDA00018197266400001510
第5.5步:将B0,B1,…,BL-1转换为长度为log2n0比特的2进制位串,从而可得到2进制数b0,b1,…,bL-1,然后按式(31)截取前l个比特作为最终提取出的秘密信息B,其中式(31)中,trunc()函数是2值比特位串截取函数,其中第1个参数是要截取的2值比特位串,第2个参数是截取的长度,trunc(b0||b1||…||bL-1,l)表示截取的是b0||b1||…||bL-1的前l个2值比特:
B=trunc(b0||b1||…||bL-1,l) (31)
与现有技术相比,本发明的有益效果是:
(1)现有的基于纹理合成的生成式无载体信息隐藏通常是计算样本小块核心区域的复杂度,通过小块核心区域复杂度来对样本小块进行分类,将样本小块划分为不同的类别,从同一类别中随机筛选样本小块,未考虑样本小块本身之间存在的差异度以及偏离聚类中心样本小块在遭受攻击时可能导致类别提取错误,从而抵抗攻击的能力十分有限。
而本发明则是将样本小块与用户密钥绑定的随机模板的差异进行K均值聚类,并从中选择差异聚类中心的样本小块来对秘密信息分段进行编码表示;同传统方法不同,本发明选择的编码样本小块位于K均值差异聚类的聚类中心,具有最大的类间差异,在遭受攻击时不宜产生偏差,从而具备较强的抗攻击能力。
(2)现有的基于纹理合成的生成式无载体信息隐藏通常是利用样本小块所在的类别来对秘密信息分段来进行一对一的编码表示,从而导致秘密信息分段和样本小块类别之间存在着固定的一一对应关系,安全性较低;
而本发明则是建立秘密信息分段和编码样本小块之间的多重映射关系,使得不同的秘密信息分段依据放置的位置不同而选择不同的编码样本小块,从而不存在固定的一一对应关系,这样有效地提高了秘密信息的安全性。并且本发明进行K均值差异聚类的前提是获得与用户密钥绑定的随机模板,而没有用户密钥将无法获取随机模板,从而不能进行差异聚类,因此本发明的策略完全依赖于密钥,具有较高的安全性。
(3)现有的基于纹理合成的生成式无载体信息隐藏通常是同一个样本块在不同位置代表同一个秘密信息,从而特定样本小块直接关联着特定的秘密信息分段,导致信息泄露;
而本发明中编码样本小块和秘密信息分段之间关系并不是简单固定的依赖关系,从而同一个样本小块放置在不同位置可表示不同的秘密信息分段,而放置在不同位置的不同编码小块也可能对应于同样的秘密信息分段;并且全部样本小块都参与对秘密信息的掩盖,从而可对编码样本小块进行很好的掩盖。
在信道传输过程中,即使攻击者对秘密信息的掩盖纹理图像产生怀疑,在未知用户密钥的前提下,将无法对非编码样本小块和编码样本小块进行有效地区分,并进一步确定编码样本小块和秘密信息分段之间的映射关系,从而不会导致嵌入的秘密信息发生泄漏。
(4)现有的基于纹理合成的生成式无载体信息隐藏方案通常采用基于误差线的相邻小块重叠区域缝合策略来合成纹理并对嵌入的秘密信息进行掩盖。基于误差线的相邻小块重叠区域缝合策略本质是寻找由特定起始位置出发,按照固定的搜索方向来寻找连接重叠区域差异最小的紧邻像素来构造误差线,依据误差来对重叠区域进行纹理合成。但特定起始位置出发的误差线并不意味着是经历重叠区域所有最小差异像素的最小误差线,同时当存在多个相邻重叠块时,若选择不相邻块重叠区域拼接顺序不恰当,将容易产生拼接的痕迹,从而不能对秘密信息进行掩盖;
同现有方法不同,本发明采用基于最小误差线的相邻小块重叠区域缝合策略来合成纹理并对嵌入的秘密信息进行掩盖;对于每个重叠区域,首先计算每一行(列)重叠区域差异最小的像素,然后将每一行(列)作为起始位置出发,按照固定的搜索方向来寻找连接重叠区域差异最小的紧邻像素来构造误差线,最后从得到的多条误差线中选择一条代价最小的,依据该误差来对重叠区域进行纹理合成;当同时当存在多个相邻重叠块时,按照拼接代价从小到大进行依次拼接,从而可产生较好地拼接效果,对秘密信息进行高质量地掩盖。
生成的含密纹理图像拼接效果好,在信道传输过程中,不容易引起攻击者的怀疑,因而不会导致嵌入的秘密信息发生泄漏。
附图说明
图1是秘密信息嵌入流程图;
图2是秘密信息提取流程图;
图3是实施例,长度为128的2值秘密信息,对应为“陕师大计算机学院”;
图4是实施例,分辨率为800×800的8位灰度样本图像;
图5是实施例,根据密钥R1=15对图4随机选取的64个分辨率为32×32的样本小块;
图6是实施例,根据密钥R2=20,随机产生的分辨率为32×32的随机模板;
图7是实施例,经均值聚类得到的16个32×32的编码样本块,其中IT=15,R3=10,R4=20;
图8是实施例,通过密钥R5=49,在分辨率为512×512空白图像中随机放置代表秘密信息的编码样本块;
图9是实施例,在图8的基础上进行纹理拼接的局部区域;
图10是实施例,图9所示局部区域进行纹理拼接后的局部区域;
图11是实施例,最终生成的分辨率为512×512的含密纹理图像;
图12是实施例,由图11提取出的秘密信息,相对于图3对应的秘密信息误码率EBR=0;
图13是实施例,对图11进行强度为0.05的随机噪声攻击的含密纹理图像,相对于图11的PSNR为11.757467272195436dB;
图14是实施例,对图11进行强度为0.15的随机噪声攻击的含密纹理图像,相对于图11的PSNR为10.350578735377153dB;
图15是实施例,对图11进行质量因子为50的JPEG压缩攻击的含密纹理图像,相对于图11的PSNR为27.920004021129472dB;
图16是实施例,对图11进行质量因子为80的JPEG压缩攻击对应的含密纹理图像,相对于图11的PSNR为32.36927168386757dBdB;
图17是从图13中恢复的秘密信息,相对于图3秘密信息误码率EBR=0;
图18是从图14中恢复的秘密信息,相对于图3秘密信息误码率EBR=0.015625;
图19是从图15中恢复的秘密信息,相对与图3误码率EBR=0;
图20是从图16中恢复的秘密信息,相对与图3误码率EBR=0;
图21是实施例,将纹理小块划分为核心区域和边界区域示意图;
图22是实施例,含密样本图像Q的划分示意图;
图23是实施例,0边界块,1边界块,2边界块,3边界块的位置示意图。
具体实施方式
以下以JAVA jdk1.7.0_09为案例实施环境,结合附图对本发明实施方式进行详细说明,其中图1是嵌入流程图,图2是提取流程图。由于所给出的方法涉及大量的复杂运算,为简化描述,明确每一步的计算实施过程,在不同的步骤中采用不同的例子来解释对应的运算过程,其中信息隐藏过程具体的实施步骤举例如下:
第1步:输入分辨率为m×n的P阶灰度样本图像S=(si,j)m×n,si,j∈{0,1,…,2P-1},由第一密钥R1在S上伪随机截取K个分辨率为fh×fv大小的样本小块P0,P1,…,PK-1;分别选取P0,P1,…,PK-1中心分辨率为ah×av的区域作为核心区域
Figure BDA0001819726640000191
按式(1)确定
Figure BDA0001819726640000192
边界距PK-1边界的最小垂直距离为eh,最小水平距离为ev
Figure BDA0001819726640000193
例如:图4是输入分辨率为800×800的8阶灰度样本图像S=(si,j)800×800,si,j∈{0,1,…,28-1},图5是由第一密钥R1=15在S上伪随机截取64个分辨率为32×32的样本小块P0,P1,…,P63,所以fv=32,fh=32;分别选取P0,P1,…,P63中心分辨率为16×16的区域作为核心区域
Figure BDA0001819726640000194
所以av=16,ah=16,图21给出了划分样本小块核心区域
Figure BDA0001819726640000195
的具体示意,因此按式(1)可确定eh=8,ev=8;
第2步:由第二密钥R2伪随机生成随机模板
Figure BDA0001819726640000201
将M中心分辨率为ah×av的区域作为核心区域MCore,依据
Figure BDA0001819726640000202
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure BDA0001819726640000203
将每个类别离聚类中心位置最近的样本小块作为编码样本小块
Figure BDA0001819726640000204
其中n0≤K,n0为2的幂次且均值聚类的初始聚类中心由第三密钥R3伪随机指定,均值聚类的迭代次数由第四密钥R4伪随机指定;其中,第2步依据
Figure BDA0001819726640000205
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure BDA0001819726640000206
将每个类别离聚类中心位置最近的样本小块作为编码样本小块
Figure BDA0001819726640000207
具体方法在于包括以下步骤:
第2.1步:按式(6)计算
Figure BDA0001819726640000208
相对于MCore的均方误差MSE0,MSE1,…,MSEK-1,其中,
Figure BDA0001819726640000209
Figure BDA00018197266400002010
第2.2步:由第三密钥R3从MSE0,MSE1,...,MSEK-1中随机选择n0个作为初始聚类中心
Figure BDA00018197266400002011
初始化迭代次数IT=0;
第2.3步:将K个均方误差与n0个聚类中心
Figure BDA00018197266400002012
逐一做差,选取绝对值差异最小的聚类中心所在的类别作为该均方误差对应的类别,从而将MSE0,MSE1,…,MSEK-1分成n0个类别;
第2.4步:按式(7)更新聚类中心
Figure BDA00018197266400002013
然后IT=IT+1;
Figure BDA00018197266400002014
式(7)中,|Ci|是类别Ci中的均方误差总数;
第2.5步:反复执行第2.3步~第2.4步,直至IT≥rr,其中rr是由第四密钥R4产生的大于预设正整数ttt的随机整数;
第2.6步:按式(8)选取每个类别中和对应聚类中心差异度最小的均方误差所对应的样本小块
Figure BDA0001819726640000211
作为第i个编码样本块Pi′,从而得到n0个编码样本块
Figure BDA0001819726640000212
Figure BDA0001819726640000213
为简化计算过程描述,假设R2=50,R3=10,R4=20,这里取fv=4,fh=4,av=2,ah=2,并假设只有K=4个样本块P0,P1,P2,P3,取n0=2,并将其划分为n0=2个类别C0,C1,其中:
Figure BDA0001819726640000214
则产生编码样本块P0′,P1′的具体过程为:
第2.1步:将
Figure BDA0001819726640000215
MCore和ah=2,av=2代入式(6),可得到
Figure BDA0001819726640000216
同理可得MSE0,MSE1,MSE2,假设MSE0=18,MSE1=12,MSE2=8;
第2.2步:由R3从MSE0,MSE1,MSE2,MSE3中随机选择n0=2个MSE0=18,MSE2=8作为初始聚类中心
Figure BDA0001819726640000217
可得到
Figure BDA0001819726640000218
初始化迭代次数IT=0;
第2.3步:将MSE0=18,MSE1=12,MSE2=8,MSE3=28.5与
Figure BDA0001819726640000219
逐一做差:
Figure BDA00018197266400002110
Figure BDA00018197266400002111
选取绝对值差异最小的聚类中心所在类别作为该均方误差对应的类别,所以MSE0=18和MSE3=28.5在第一个类别C0中,MSE1=12和MSE2=8在第二个类别C1中;
第2.4步:若C0中包含2个MSE值MSE0=18,MSE3=28.5,则|C0|=2,代入式(7)得
Figure BDA00018197266400002112
由此可将C0的聚类中心更新为23.25,同理可得C1的聚类中心,假设C1=10,然后IT=IT+1;
第2.5步:反复执行第2.3步~第2.4步,取ttt=8,假设R4产生的大于ttt=8的迭代次数rr=10,则IT≥10;
第2.6步:假设最终得到的C0中的均方误差为MSE1=12,MSE2=8,假设迭代10次之后的
Figure BDA0001819726640000221
将MSE1=12,MSE2=8和
Figure BDA0001819726640000222
代入式(8),可知MSE2与聚类中心
Figure BDA0001819726640000223
的差异最小,所以选择MSE2对应的样本小块作为第0个编码样本块P0′,同理可得P1′。
第3步:输入长度为l的2进制比特位串B,将其划分为L个包含log2n0个比特位编码单元,得到L个10进制数依次为B0,B1,…,BL-1;初始化分辨率为gh×gv的空白图像作为含密样本图像Q,以大小为ah×av的网格为单元划分Q,且水平方向上相邻两个网格之间的间距为ev,垂直方向上相邻两个网格之间的间距为eh;同时最外层网格单元水平边界与Q的水平边界之间的间距为eh,最外层网格单元的垂直边界与Q的垂直边界之间的间距为ev,即gh,gv满足的约束如式(2)所示,其中lh,lv分别是垂直方向和水平方向放置的ah×av大小网格的数量;初始化状态标记矩阵
Figure BDA0001819726640000224
R中元素ri,j状态用于标记Q上第(i,j)位置ah×av网格的占用状态,不失一般性,ri,j=0表示未占用,ri,j=1表示占用;
Figure BDA0001819726640000225
其中,第3步输入长度为l的2进制比特位串B,将其划分为L个log2n0个比特位编码单元,得到L个10进制数依次为B0,B1,…,BL-1的具体方法为:
第3.1步:将长度为l的2进制比特位串B,以log2n0个比特为1组,划分为L组,如式(9)所示,L和l之间满足的约束如式(10)所示:
B=b0||b1||…||bL-1 (9)
式(9)中,符号“||”为比特位串联符号;
Figure BDA0001819726640000226
第3.2步:将b0,b1,…,bL-1转换为10进制数,从而可得到10进制数B0,B1,…,BL-1
例如:假设输入长度为l=12的2进制比特位串B=010100101001,若取n0=16,则可按式(10)将B划分为
Figure BDA0001819726640000231
个包含log2n0=log216=4个比特位编码单元b0=0101,b1=0010,b2=1001,如式(9)所示,则将b0=0101,b1=0010,b2=1001转换为10进制数,可得:B0=(0101)2=5,B1=(0010)2=2,B2=(1001)2=9;
初始化分辨率为gh×gv的空白图像Q,Q的实际结构如图22所示,假设ah=av=2,eh=ev=1,则网格大小为ah×av=2×2且以eh和ev为分隔边界,假设垂直方向和水平方向放置的2×2大小网格的数量lh=5,lv=5,代入式(2)可得,gh=lh·ah+(lh+1)·eh=5·2+(5+1)·1=16;gv=lv·av+(lv+1)·ev=5·2+(5+1)·1=16;由于lh=5,lv=5,则应初始化R=(ri,j=0)5×5,R中元素ri,j状态用于标记Q上第(i,j)位置2×2网格的占用状态,这里可通过ri,j=0表示未占用,ri,j=1表示占用;
第4步:由第五密钥R5在Q上伪随机生成L个坐标(p′k,q′k),k=0,1,…,L-1且满足式(3)和式(4)的约束;
Figure BDA0001819726640000232
Figure BDA0001819726640000233
例如:取gh=16,gv=16,ah=av=2,eh=ev=1,取L=2,则由R5=45可在Q上伪随机生成2个满足式(3)和(4)约束的坐标(p0′,q0′)=(3,6),(p1′,q1′)=(9,12);
第5步:由B的哈希值确定编码单元Bk对应的编码样本块编号
Figure BDA0001819726640000234
然后从
Figure BDA0001819726640000235
中选取对应的编码样本块
Figure BDA0001819726640000236
将其放置在Q上坐标起始位置为(p′k,q′k)且大小为fh×fv的矩形小块上,按式(5)计算(xc,yc),将R中的元素
Figure BDA0001819726640000237
标记为1,其中k=0,1,…,L-1;
Figure BDA0001819726640000238
其中,第5步由B的哈希值确定编码单元Bk对应的编码样本块编号
Figure BDA0001819726640000239
的具体方法在于包括以下步骤:
第5.1步:将B的MD5值对应的2进制位串序列为BMD5=(bi)128的奇数和偶数比特分别按式(11)映射为初始值x0∈(0,1)和系统参数μ∈(3.57,4];
Figure BDA0001819726640000241
第5.2步:将x0,μ代入式(12)迭代产生(0,1)范围内的随机数r0,r1,…,rL-1,为消除暂态效应,将前ITT,ITT≥0个随机数滤除;
xt+1=μxt(1-xt) (12)
第5.3步:将rk,k=0,1,…,L-1按式(13)量化为[0,n0-1]范围内的随机整数rk′,k=0,1,…,L-1;
Figure BDA0001819726640000242
第5.4步:将rk′,k=0,1,…,L-1按式(14)转换为
Figure BDA0001819726640000243
Figure BDA0001819726640000244
例如:
取k=0,则由B=010100101001的哈希值确定编码单元Bk=B0对应的编码样本块编号
Figure BDA0001819726640000245
的具体方法是,其中B0=(0101)2=5,B1=(0010)2=2,B2=(1001)2=9,L=3:
第5.1步:假设取B的哈希值为B的MD5值,其对应的2进制位串序列0011 0011 00111011 1010 1010 1101 0110 0011 0001 0101 1001 1101 0100 1011 0111 0011 00101011 1111 0101 0100 1101 1010 0011 0110 0111 0010 0101 0000 0000 1011的奇数和偶数比特代入式(11)可得:x0=0.7125018052204509和μ=3.7435072428580813;
第5.2步:假设取ITT=0,将x0=0.7125018052204509,μ=3.7435072428580813代入式(12)迭代产生(0,1)范围内的随机数为:
Figure BDA0001819726640000251
r1=x2=μx1(1-x1)=0.6693432735814863,r2=0.8285237132956784;
第5.3步:假设n0=16,将rk,k=0,1,2按式(13)量化为[0,15]范围内的随机整数
Figure BDA0001819726640000252
Figure BDA0001819726640000253
Figure BDA0001819726640000254
第5.4步:假设第k=0个随机坐标位置为(3,6),即p0′=3,q0′=6,编码单元B1=(0101)2=5,r0′=8,n0=16,代入式(14)可得
Figure BDA0001819726640000255
所以对应的编码样本块编号
Figure BDA0001819726640000256
然后从P0′,P1′,…,P15(由于n0=16,只有16个编码样本块)中选取对应的编码样本块
Figure BDA0001819726640000257
将其放置在Q上坐标起始位置为(p′k,q′k)=(p0′,q′0)且大小为4×4(这里假设fh=fv=4)的矩形小块上,取ah=av=2,eh=ev=1,则按式(5)可计算得到(xc,yc)=(1,2),将R中的元素rxc,yc=r1,2标记为1,对于其他k取值也一样。
第6步:顺序扫描R,对于
Figure BDA0001819726640000258
根据(x,y)四周领域(x-1,y),(x,y+1),(x+1,y),(x,y-1)各元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态,从P0,P1,…,PK-1中选择最合适的样本块
Figure BDA0001819726640000259
Figure BDA00018197266400002510
放置在Q上起始坐标为(x(eh+ah),y(ev+av))的fh×fv矩阵小块上;
其中,根据(x,y)四周领域各元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态,从P0,P1,…,PK-1中选择最合适的样本块
Figure BDA00018197266400002511
的具体方法在于包括以下步骤:
第6.1步:根据(x,y)其四周领域(x-1,y),(x,y+1),(x+1,y),(x,y-1)各元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态按式(15)确定其类型T,并将T映射为(t3t2t1t0)2,其中t0,t1,t2,t3=1|0依次对应(x,y)的顶部(x-1,y),右侧(x,y+1),底部(x+1,y)和左侧(x,y-1)是否存在已经放置好的样本块,为1表示存在,为0表示不存在;
T=type(rx,y) (15)
式(16)中,类型函数的具体处理功能如式(16)所示:
Figure BDA0001819726640000261
第6.2步:记
Figure BDA0001819726640000262
位置所要放置的样本块为Pcur∈{P0,P1,…,PK-1},(x,y)的顶部(x-1,y),右侧(x,y+1),底部(x+1,y)和左侧(x,y-1)可能存在的已经放置好的样本块依次记为P0,P1,P2,P3∈{P0,P1,…,PK-1,PΦ},其中PΦ表示放置的样本块不存在,则可按式(17)从P0,P1,…,PK-1中选择最合适的样本块
Figure BDA0001819726640000263
Figure BDA0001819726640000264
式(17)中,|| ||2为矩阵2范数,
Figure BDA0001819726640000265
为Pcur在i方向的边界区域,
Figure BDA0001819726640000266
为Pi
Figure BDA0001819726640000267
方向的边界区域,若所有的ti=0,则式(17)等价于从P0,P1,…,PK-1中随机选择一个样本块作为Pcur;对于分辨率fh×fv的样本块Pcur,i和
Figure BDA0001819726640000268
之间的关系按式(18)确定,其中,0边界块和2边界块的大小为eh×(2ev+av),1边界块和3边界块的大小为(2eh+ah)×ev,0边界块、1边界块、2边界块和3边界块的具体示意如图23所示。
Figure BDA0001819726640000269
例如:顺序扫描R,对于
Figure BDA00018197266400002610
若取(x,y)=(1,1),则需根据(1,1)其四周领域(0,1),(1,2),(2,1),(1,0)各元素r0,1,r1,2,r2,1,r1,0的状态,从P0,P1,P2,P3(若K=4,则只有4个样本块)中选择最合适的样本块
Figure BDA00018197266400002611
Figure BDA00018197266400002612
放置在Q上起始坐标为(x(eh+ah),y(ev+av))=(3,3)(这里假设eh+ah=1+2=3,ev+av=1+2=3)的4×4矩阵小块上;其中根据(1,1)其周围4邻域(0,1),(1,2),(2,1),(1,0)元素r0,1,r1,2,r2,1,r1,0的状态,从P0,P1,P2,P3(以K=4为例)中选择最合适的样本块
Figure BDA0001819726640000271
的具体方法为:
第6.1步:根据(1,1)其周围4邻域(0,1),(1,2),(2,1),(1,0)元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态按式(15)确定其类型T,并将T映射为(t3t2t1t0)2,其中t0,t1,t2,t3=1|0依次对应(1,1)的顶部(0,1),右侧(1,2),底部(2,1)和左侧(1,0)是否存在已经放置好的样本块,为1表示存在,为0表示不存在,假设t0=1,t1=0,t2=0,t3=1,则按式(15)可计算T=type(rx,y)=(1001)2=9;
第6.2步:(1,1)的顶部(0,1),右侧(1,2),底部(2,1)和左侧(1,0)可能存在的已经放置好的样本块依次记为P0,P1,P2,P3∈{P0,P1,P2,P3,PΦ},其中PΦ表示放置的样本块不存在,由于t0=1,t1=0,t2=0,t3=1,则P1,P2不存在已经放置的样本块,即P1=P2=PΦ,而P0和P3对应为Pcur在0方向和3方向上放置的样本块;
按式(17)从P0,P1,P2,P3中选择最合适的样本块
Figure BDA0001819726640000272
假设
Figure BDA0001819726640000273
Figure BDA0001819726640000274
P0放置样本块P0,P3放置样本块P3;若Pcur=P0时,则由图23可确定Pcur在0方向的边界区域
Figure BDA0001819726640000275
Figure BDA0001819726640000276
为P0
Figure BDA0001819726640000277
方向的边界区域,代入式(18)得,
Figure BDA0001819726640000278
Pcur在3方向的边界区域
Figure BDA0001819726640000279
Figure BDA00018197266400002710
为P3
Figure BDA00018197266400002711
方向的边界区域,代入式(18)得,
Figure BDA00018197266400002712
代入式(17),当i=0时,
Figure BDA00018197266400002713
当i=3时,
Figure BDA00018197266400002714
当i=0或i=3时,ti=1,当i=1或i=2时,ti=0,则
Figure BDA00018197266400002715
若Pcur=P1时,按图23确定Pcur在0方向的边界区域
Figure BDA0001819726640000281
Figure BDA0001819726640000282
为P0
Figure BDA0001819726640000283
方向的边界区域,代入式(18)得,
Figure BDA0001819726640000284
Pcur在3方向的边界区域
Figure BDA00018197266400002823
Figure BDA0001819726640000285
为P3
Figure BDA0001819726640000286
方向的边界区域,代入式(18)得,
Figure BDA0001819726640000287
代入式(17),当i=0时,
Figure BDA0001819726640000288
当i=3时,
Figure BDA0001819726640000289
当i=0或i=3时,ti=1,当i=1或i=2时,ti=0,则
Figure BDA00018197266400002810
同理,当Pcur=P2时,
Figure BDA00018197266400002811
当Pcur=P3时,
Figure BDA00018197266400002812
得min(92,144,205,98)=92,所以
Figure BDA00018197266400002813
第7步:根据
Figure BDA00018197266400002814
和Q周围((x-1)(eh+ah),y(ev+av)),(x(eh+ah),(y+1)(ev+av)),((x+1)(eh+ah),y(ev+av)),(x(eh+ah),(y-1)(ev+av))相邻位置已放置小块的重叠区域差异最小确定拼接优先级顺序,并按拼接优先级顺序和周围已放置小块的重叠边界块进行最小误差纹理合成;
其中确定优先级并进行最小误差纹理合成的方法是:对于
Figure BDA00018197266400002815
按式(19)确定
Figure BDA00018197266400002816
Figure BDA00018197266400002824
Figure BDA00018197266400002825
的拼接优先级顺序然后按拼接优先级顺序和周围已放置小块的重叠边界块进行最小误差纹理合成,若t0=t1=t2=t3=0,则无需进行最小误差纹理合成;
Figure BDA00018197266400002817
式(19)中,符号
Figure BDA00018197266400002818
表示优先于,
Figure BDA00018197266400002819
分别为
Figure BDA00018197266400002820
在i0,i1方向的边界区域。
例如:假设将
Figure BDA00018197266400002821
放置在Q上坐标(x(ev+av),y(eh+ah))=(3,3)位置,并根据
Figure BDA00018197266400002822
和Q周围((x-1)(eh+ah),y(ev+av))=(0,3),(x(eh+ah),(y+1)(ev+av))=(3,6),((x+1)(eh+ah),y(ev+av))=(6,3),(x(eh+ah),(y-1)(ev+av))=(3,0)相邻位置已放置小块的重叠区域差异最小确定拼接优先级顺序的具体方法是:
假设i0=0,i1=3,ti0,ti1=1,
Figure BDA0001819726640000291
则按式(19):
Figure BDA0001819726640000292
Figure BDA0001819726640000293
所以
Figure BDA0001819726640000294
Figure BDA0001819726640000295
第7步若记
Figure BDA0001819726640000296
Figure BDA0001819726640000297
在tt方向的边界块,Ptt
Figure BDA0001819726640000298
在tt方向的相邻样本块,
Figure BDA0001819726640000299
为Ptt
Figure BDA00018197266400002910
方向的边界区域,其中tt∈{0,1,2,3},ttt=1,则将
Figure BDA00018197266400002911
和Ptt的边界块进行最小误差纹理合成的具体方法是:
第7.1步:按式(20)计算
Figure BDA00018197266400002912
Figure BDA00018197266400002913
的边界差异矩阵D=(di,j)rn×cn,按式(21)确定rn和cn;
Figure BDA00018197266400002914
Figure BDA00018197266400002915
例如:假设eh=1,ev=1,av,ah=2,故fh=2·eh+ah=4,fv=2·ev+av=4,即样本
块的大小为4×4,假设样本块
Figure BDA00018197266400002916
与Pcur顶部相邻的样本块
Figure BDA00018197266400002917
若取tt=0,由式(21)可确定rn=eh=1,cn=2·ev+av=2·1+2=4,则Pcur的0边界区域
Figure BDA00018197266400002918
其大小刚好为rn×cn=1×4,按式(18)知:
Figure BDA00018197266400002919
因此P0
Figure BDA00018197266400002920
方向的边界块为
Figure BDA00018197266400002921
代入式(20)可得到
Figure BDA00018197266400002922
Figure BDA00018197266400002923
的边界差异矩阵
Figure BDA00018197266400002924
第7.2步:按式(22)计算经过D的第i行最小值点列坐标位置的误差线
Figure BDA00018197266400002925
或第j列最小值点行坐标位置的误差线
Figure BDA0001819726640000301
其中i=0,1,…,rn-1,j=0,1,…,cn-1;
Figure BDA0001819726640000302
式(22)中,rerrmin(),cerrmin()分别是行最小误差线计算函数和列最小误差线计算函数,其中第1个参数为差异矩阵,第2个参数对应为行索引或列索引;
记差异矩阵D=(di,j)rn×cn的行和列分别为
Figure BDA0001819726640000303
Figure BDA0001819726640000304
则:
Figure BDA0001819726640000305
的特征在于包含以下步骤:
第a1)步:初始标记序列Tb=(tbi=0)rn,初始化当前列坐标tc=0,初始行坐标tr=i,按式(25)计算
Figure BDA0001819726640000306
的最小元素tm,将tm所对应的列坐标赋值给tc并更新tbi=tc;
Figure BDA0001819726640000307
第a2)步:i=i-1,按式(26)计算di,tc-1,di,tc,di,tc+1的最小值tm,将tm所对应的列坐标赋值给tc并更新tbi=tc;
tm=min(di,tc-1,di,tc,di,tc+1) (26)
式(26)中,若di,tc-1,di,tc,di,tc+1中存在坐标越界元素,则按式(26)计算最小值时,不参与最小值运算;
第a3)步:反复执行第a2)步,直至i=-1,更新i=tr,tc=tbi
第a4)步:i=i+1,按式(26)计算di,tc-1,di,tc,di,tc+1的最小值tm,将tm所对应的列坐标赋值给tc并更新tbi=tc;
第a5)步:反复执行第a4)步,直至i=rn,将Tb输出作为Li r
Figure BDA0001819726640000308
的特征在于包含以下步骤:
第b1)步:初始标记序列Tb=(tbj=0)cn,初始化当前行坐标tr=0,初始列坐标tc=j按式(27)计算
Figure BDA0001819726640000309
的最小元素tm,将tm所对应的行坐标赋值给tr并更新tbj=tr;
Figure BDA00018197266400003010
第b2)步:j=j-1,按式(28)计算dtr-1,j,dtr,j,dtr+1,j的最小值tm,将tm所对应的行坐标赋值给tr并更新tbj=tr;
tm=min(dtr-1,j,dtr,j,dtr+1,j) (28)
式(28)中,若dtr-1,j,dtr,j,dtr+1,j中存在坐标越界元素,则按式(28)计算最小值时,不参与最小值运算;
第b3)步:反复执行第b2)步,直至j=-1,更新j=tc,tr=tbj
第b4)步:j=j+1,按式(28)计算dtr-1,j,dtr,j,dtr+1,j的最小值tm,将tm所对应的行坐标赋值给tr并更新tbj=tr;
第b5)步:反复执行第b4)步,直至j=cn,将Tb输出作为
Figure BDA00018197266400003110
例如:第7.2步:以差异矩阵
Figure BDA0001819726640000311
为例,按式(22)计算经过D的第i行最小值点列坐标位置的误差线
Figure BDA0001819726640000312
或第j列最小值点行坐标位置的误差线
Figure BDA0001819726640000313
其中i=0,1,2,3,j=0,1,2,3的具体方法为:
记差异矩阵D的行和列分别为
Figure BDA0001819726640000314
Figure BDA0001819726640000315
例如
Figure BDA0001819726640000316
是D的第1行,
Figure BDA0001819726640000317
是D的第1列:则计算
Figure BDA0001819726640000318
的具体方法是:
第a1)步:初始标记序列Tb=(tbi=0)4,初始化当前列坐标tc=0,初始行坐标tr=1,将
Figure BDA0001819726640000319
代入式(25)得tm=min((1,9,0,3))=0,将tm所对应的列坐标赋值给tc并更新tb1=tc=2;
第a2)步:i=i-1=0,将d0,1=1,d0,2=8,d0,3=4代入式(26)得tm=min(1,8,4)=1,将tm所对应的列坐标赋值给tc并更新tb0=tc=1;
第a3)步:反复执行第a2)步,直至i=-1,更新i=tr=1,tc=tb1=2;
第a4)步:i=i+1=2,将d2,1=6,d2,2=7,d2,3=5代入式(26)得tm=min(6,7,5)=5,将tm所对应的列坐标赋值给tc并更新tb2=tc=3;
第a5)步:反复执行第a4)步,此时tb3=tc=2,直至i=rn=4,将Tb=(1,2,3,2)T输出作为
Figure BDA0001819726640000321
又比如计算
Figure BDA0001819726640000322
的特征在于包含以下步骤:
第b1)步:初始标记序列Tb=(tbj=0)4,初始化当前行坐标tr=0,初始列坐标tc=1,将
Figure BDA0001819726640000323
代入式(27)得tm=min((1,9,6,0)T),因此最小元素tm=0,将tm所对应的行坐标赋值给tr并更新tb1=tr=3;
第b2)步:j=j-1=0,由于d4,0不存在,将d2,0=9,d3,0=2代入式(28)得tm=min(9,2)=2,将tm所对应的行坐标赋值给tr并更新tb0=tr=3;
第b3)步:反复执行第b2)步,直至j=-1,更新j=tc=1,tr=tb1=3;
第b4)步:j=j+1=2,由于d4,2不存在,将d2,2=7,d3,2=1代入式(28)得tm=min(7,1)=1,将tm所对应的行坐标赋值给tr并更新tb2=tr=3;
第b5)步:反复执行第b4)步,同理可得tb3=tr=3,直至j=cn=4,将Tb=(3,3,3,3)输出作为
Figure BDA0001819726640000324
第7.3步:按式(23)从
Figure BDA0001819726640000325
Figure BDA0001819726640000326
中获取能量最小的误差线作为
Figure BDA0001819726640000327
Figure BDA0001819726640000328
其中
Figure BDA0001819726640000329
Figure BDA00018197266400003210
分别对应的是
Figure BDA00018197266400003211
Figure BDA00018197266400003212
的能量,
Figure BDA00018197266400003213
对应的D中位于
Figure BDA00018197266400003214
标记位置的所有元素绝对值累计,
Figure BDA00018197266400003215
对应的D中位于
Figure BDA00018197266400003216
标记位置的所有元素绝对值累计;
Figure BDA00018197266400003217
例如:假设取
Figure BDA00018197266400003218
Figure BDA00018197266400003219
Figure BDA0001819726640000331
Figure BDA0001819726640000332
Figure BDA0001819726640000333
代入式(23)得
Figure BDA0001819726640000334
所以
Figure BDA0001819726640000335
第7.4步:记
Figure BDA0001819726640000336
Figure BDA0001819726640000337
Figure BDA0001819726640000338
Figure BDA0001819726640000339
拼接后的小块记为
Figure BDA00018197266400003310
则按式(24)将边界块重叠区域
Figure BDA00018197266400003311
Figure BDA00018197266400003312
拼接在一起作为
Figure BDA00018197266400003313
Figure BDA00018197266400003314
放置在
Figure BDA00018197266400003315
位置。
Figure BDA00018197266400003316
式(24)中,
Figure BDA00018197266400003317
Figure BDA00018197266400003318
在第y,y∈{0,1,…,cn-1}列上经过的横坐标分界点,
Figure BDA00018197266400003319
Figure BDA00018197266400003320
在第x,x∈{0,1,…,rn-1}行上经过的纵坐标分界点。
例如:第7.4步:假设左右方向的两个小块进行拼接,其中
Figure BDA00018197266400003321
Figure BDA00018197266400003322
Figure BDA00018197266400003323
Figure BDA00018197266400003324
Figure BDA00018197266400003325
Figure BDA00018197266400003326
Figure BDA00018197266400003327
代入式(23)得
Figure BDA0001819726640000341
所以
Figure BDA0001819726640000342
按式(24),当tt=1时,
Figure BDA0001819726640000343
Figure BDA0001819726640000344
将边界块重叠区域
Figure BDA0001819726640000345
Figure BDA0001819726640000346
拼接在一起作为
Figure BDA0001819726640000347
所以,
Figure BDA0001819726640000348
Figure BDA0001819726640000349
放置在
Figure BDA00018197266400003410
位置。
第8步:反复执行第6步~第7步,直至
Figure BDA00018197266400003411
将Q作为嵌密后的样本图像输出。
其中信息提取过程具体实施步骤举例如下:
第1步:输入分辨率为m×n的P阶灰度样本图像S=(si,j)m×n,si,j∈{0,1,…,2P-1},由第一密钥R1在S上伪随机截取K个分辨率为fh×fv大小的样本小块P0,P1,…,PK-1;选取P0,P1,…,PK-1中心分辨率为ah×av的区域作为核心区域
Figure BDA00018197266400003412
按式(1)确定
Figure BDA00018197266400003413
边界距PK-1边界的最小垂直距离为eh,最小水平距离为ev
例如:图4为输入分辨率为800×800的8阶灰度样本图像S=(si,j)800×800,si,j∈{0,1,…,28-1},图5是由第一密钥R1=15在S上伪随机截取64个分辨率为32×32的样本小块P0,P1,…,P63,所以fv=32,fh=32;分别选取P0,P1,…,P63中心分辨率为16×16的区域作为核心区域
Figure BDA00018197266400003414
所以av=16,ah=16,图21给出了划分样本小块核心区域
Figure BDA00018197266400003415
的具体示意,因此按式(1)可确定eh=8,ev=8;
第2步:由第二密钥R2伪随机生成随机模板
Figure BDA00018197266400003416
将M中心分辨率为ah×av的区域作为核心区域MCore,依据
Figure BDA00018197266400003417
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure BDA00018197266400003418
将每个类别离聚类中心位置的最近样本小块作为编码样本小块
Figure BDA00018197266400003419
其中n0≤K且均值聚类的初始聚类中心由第三密钥R3伪随机指定,均值聚类的迭代次数由第四密钥R4伪随机指定;
其中,第2步依据
Figure BDA0001819726640000351
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure BDA0001819726640000352
将每个类别离聚类中心位置的样本小块作为编码样本小块
Figure BDA0001819726640000353
具体方法在于包括以下步骤:
第2.1步:按式(6)计算
Figure BDA0001819726640000354
相对于MCore的均方误差MSE0,MSE1,…,MSEK-1,其中
Figure BDA0001819726640000355
第2.2步:由第三密钥R3从MSE0,MSE1,...,MSEK-1中随机选择n0个作为初始聚类中心
Figure BDA0001819726640000356
初始化迭代次数IT=0;
第2.3步:将K个均方误差与n0个聚类中心
Figure BDA0001819726640000357
逐一做差,选取绝对值差异最小的聚类中心所在的类别作为该均方误差对应的类别,从而将MSE0,MSE1,…,MSEK-1分成n0个类别;
第2.4步:按式(7)更新聚类中心
Figure BDA0001819726640000358
然后IT=IT+1;
第2.5步:反复执行第2.3步~第2.4步,直至IT≥rr,其中rr是由第四密钥R4产生的大于预设正整数ttt的随机整数;
第2.6步:按式(8)选取每个类别中和对应聚类中心差异度最小的均方误差所对应的样本小块
Figure BDA0001819726640000359
作为第i个编码样本块Pi′,从而得到n0个编码样本块
Figure BDA00018197266400003510
为简化具体计算过程描述,假设R2=50,R3=10,R4=20,这里取fv=4,fh=4,av=2,ah=2,并假设只有K=4个样本块P0,P1,P2,P3;取n0=2,并将划其分为n0=2个类别C0,C1,其中:
Figure BDA00018197266400003511
则产生编码样本块P0′,P1′的具体过程为:
按第2.1步:将
Figure BDA00018197266400003512
MCore和ah=2,av=2代入式(6),可得到
Figure BDA0001819726640000361
同样可得MSE0,MSE1,MSE2,假设计算得到的MSE0=18,MSE1=12,MSE2=8;
第2.2步:由R3从MSE0,MSE1,MSE2,MSE3中随机选择n0=2个MSE0=18,MSE2=8作为初始聚类中心
Figure BDA0001819726640000362
可得到
Figure BDA0001819726640000363
初始化迭代次数IT=0;
第2.3步:将
Figure BDA0001819726640000364
Figure BDA00018197266400003611
做差,例如
Figure BDA0001819726640000365
Figure BDA0001819726640000366
选取绝对值差异最小的聚类中心所在的类别作为该均方误差对应的类别,所以MSE0=18和MSE3=28.5在第一个类别C0中,MSE1=12和MSE2=8在第二个类别C1中;
第2.4步:若C0中包含2个MSE值MSE0=18,MSE3=28.5,则|C0|=2,代入式(7)得
Figure BDA0001819726640000367
由此可将C0的聚类中心更新为23.25,同理可得C1的聚类中心为10,然后IT=IT+1;
第2.5步:反复执行第2.3步~第2.4步,假设由R4产生的大于ttt=8的迭代次数rr=10,则IT≥10;
第2.6步:假设最终得到的第一个类别C0中的均方误差MSE为MSE1=12,MSE2=8,假设迭代10次之后的
Figure BDA0001819726640000368
将MSE1=12,MSE2=8,
Figure BDA0001819726640000369
代入式(8),可知MSE2与聚类中心
Figure BDA00018197266400003610
的差异最小,所以选择MSE2对应的样本小块作为第0个编码样本块P0′,同理可得P1′。
第3步:输入分辨率为gh×gv的含密样本图像Q,由第五密钥R5在Q上伪随机生成L个坐标(p′k,q′k),k=0,1,…,L-1且满足式(3)和式(4)的约束,然后以(p′k,q′k),k=0,1,…,L-1为坐标起点从Q上提取出分辨率为fh×fv的纹理小块U0,U1,…,UL-1;例如:假设fh×fv=4×4,输入分辨率为16×16的8位灰度秘密图像Q,由密钥R5=45在Q上伪随机生成L=2个满足式(3)和(4)约束的坐标(p0′,q0′)=(3,6),(p1′,q1′)=(9,12),然后以(p′k,q′k),k=0,1为坐标起点从Q上提取出指定大小的纹理小块U0,U1
第4步:记Uk的核心区域为
Figure BDA0001819726640000371
Figure BDA0001819726640000372
的核心区域分别为
Figure BDA0001819726640000373
Figure BDA0001819726640000374
中选取和
Figure BDA0001819726640000375
最接近的核心区域
Figure BDA0001819726640000376
记录Uk对应的编号
Figure BDA0001819726640000377
其中k=0,1,…,L-1;
Figure BDA0001819726640000378
中选取和
Figure BDA0001819726640000379
最接近的核心区域
Figure BDA00018197266400003710
的具体方法是式(29);
Figure BDA00018197266400003711
例如:记Uk的核心区域为
Figure BDA00018197266400003712
假设n0=4,P0′,P1′,P2′,P3′的核心区域分别为
Figure BDA00018197266400003713
按式(29)从
Figure BDA00018197266400003714
中选取和
Figure BDA00018197266400003715
最接近的核心区域
Figure BDA00018197266400003716
代入式(29)得,
Figure BDA00018197266400003717
Figure BDA00018197266400003718
Figure BDA00018197266400003719
Figure BDA00018197266400003720
记录Uk对应的编号
Figure BDA00018197266400003721
第5步:输入待提取秘密信息的哈希值,并结合Uk对应的编号
Figure BDA00018197266400003722
提取出对应10进制秘密信息Bk,k=0,1,…,L-1,然后将Bk,k=0,1,…,L-1转换为长度为l的2进制比特位串B并输出。
输入待提取秘密信息的哈希值,并结合Uk对应的编号
Figure BDA00018197266400003723
提取出对应10进制秘密信息Bk,k=0,1,…,L-1的具体方法其特征在于包括以下步骤:
第5.1步:将B的MD5值对应的2进制位串序列为BMD5=(bi)128的奇数和偶数比特分别按式(11)映射为初始值x0∈(0,1)和系统参数μ∈(3.57,4];
第5.2步:将x0,μ代入式(12)迭代产生(0,1)范围内的随机数r0,r1,…,rL-1,为消除暂态效应,将前ITT,ITT≥0个随机数滤除;
第5.3步:将rk,k=0,1,…,L-1按式(13)量化为[0,n0-1]范围内的随机整数rk′,k=0,1,…,L-1;
第5.4步:按式(30)计算编码样本块编号
Figure BDA0001819726640000381
所对应的十进制秘密信息Bk,k=0,1,…,L-1;
Figure BDA0001819726640000382
第5.5步:将B0,B1,…,BL-1转换为长度为log2n0比特的2进制位串,从而可得到2进制数b0,b1,…,bL-1,然后按式(31)截取前l个比特作为最终提取出的秘密信息B。
B=trunc(b0||b1||…||bL-1,l) (31)
例如:输入待提取秘密信息的哈希值,并结合Uk对应的编号
Figure BDA0001819726640000383
提取出对应10进制秘密信息Bk,k=0,1,2,然后将Bk,k=0,1,2转换为长度为12的2进制比特位串B并输出。其中输入待提取秘密信息的哈希值,并结合Uk对应的编号
Figure BDA0001819726640000384
提取出对应10进制秘密信息Bk,k=0,1,2的具体方法其特征在于包括以下步骤:
第5.1步:将B的MD5值对应的2进制位串序列0011 0011 0011 1011 1010 10101101 0110 0011 0001 0101 1001 1101 0100 1011 0111 0011 0010 1011 1111 01010100 1101 1010 0011 0110 0111 0010 0101 0000 0000 1011的奇数和偶数比特代入式(11)映射为初始值x0=0.7125018052204509和系统参数μ=3.7435072428580813;
第5.2步:假设取ITT=0,将x0=0.7125018052204509,μ=3.7435072428580813代入式(12)迭代产生(0,1)范围内的随机数可得:
Figure BDA0001819726640000385
r1=x2=μx1(1-x1)=0.6693432735814863,r2=0.8285237132956784;
第5.3步:假设n0=16,将rk,k=0,1,2按式(13)量化为[0,15]范围内的随机整数
Figure BDA0001819726640000391
Figure BDA0001819726640000392
第5.4步:取k=0,并假设第k=0个随机坐标位置为(3,6),即p0′=3,q0′=6,编码样本块编号
Figure BDA0001819726640000393
取r0′=8,n0=16,代入式(30)得到编码样本块编号
Figure BDA0001819726640000394
所对应的十进制秘密信息B0=(6+(16-1)(3·6·8+3+6+8))mod16=5;
第5.5步:将B0转换为长度为4比特的2进制位串B0=5=(0101)2,同理可计算出B1转换为长度为4比特的2进制位串B1=2=(0010)2,B2转换为长度为4比特的2进制位串B2=9=(1001)2,对应的2进制数b0=0101,b1=0010,b2=1001,则按式(31)取l=12可提取出秘密信息B=010100101001。
图3~图16、图21~图23是实施例,其中:
图3是长度为128的2值秘密信息,对应为“陕师大计算机学院”;图4是分辨率为800×800的8位灰度样本图像;图5是根据密钥R1=15对图4随机选取的64个分辨率为32×32的样本小块;图6是根据密钥R2=20,随机产生的分辨率为32×32的随机模板;图7是经均值聚类得到的16个32×32的编码样本块,其中IT=15,R3=10,R4=20;图8是通过密钥R5=49,在分辨率为512×512空白图像中随机放置代表秘密信息的编码样本块;图9是在图8的基础上进行纹理拼接的局部区域;图10是在图9所示局部区域进行纹理拼接后的局部区域;图11是最终生成的分辨率为512×512的含密纹理图像;图12是由图11提取出的秘密信息,相对于图3对应的秘密信息误码率EBR=0;图13是对图11进行强度为0.05的随机噪声攻击的含密纹理图像,相对于图11的PSNR为11.757467272195436dB;图14是对图11进行强度为0.15的随机噪声攻击的含密纹理图像,相对于图11的PSNR为10.350578735377153dB;图15是对图11进行质量因子为50的JPEG压缩攻击的含密纹理图像,相对于图11的PSNR为27.920004021129472dB;图16是对图11进行质量因子为80的JPEG压缩攻击对应的含密纹理图像,相对于图11的PSNR为32.36927168386757dBdB;图17是从图13中恢复的秘密信息,相对于图3秘密信息误码率EBR=0;图18是从图14中恢复的秘密信息,相对于图3秘密信息误码率EBR=0.015625;图19是从图15中恢复的秘密信息,相对与图3误码率EBR=0;图20是从图16中恢复的秘密信息,相对与图3误码率EBR=0;图21是将纹理小块划分为核心区域和边界区域示意图;图22是含密样本图像Q的划分示意图;图23是0边界块,1边界块,2边界块,3边界块的位置示意图。

Claims (10)

1.一种结合差异聚类和误差最小纹理合成的生成式信息隐藏方法,其特征在于包括以下步骤:
第1步:输入分辨率为m×n的P阶灰度样本图像S=(si,j)m×n,si,j∈{0,1,…,2P-1},由第一密钥R1在S上伪随机截取K个分辨率均为fh×fv的样本小块P0,P1,…,PK-1;分别选取P0,P1,…,PK-1中心分辨率为ah×av的区域作为核心区域
Figure FDA0003173442750000011
按式(1)确定
Figure FDA0003173442750000012
边界距PK-1边界的最小垂直距离为eh,最小水平距离为ev;其中,设fv为样本小块的水平边界长度,fh为样本小块的垂直边界长度,av为核心区域的水平边界长度,ah为核心区域的垂直边界长度;eh为核心区域水平边界与样本小块水平边界之间的间距,ev为核心区域垂直边界与样本小块垂直边界之间的间距;
Figure FDA0003173442750000013
式(1)中,符号
Figure FDA0003173442750000014
表示向下取整;
第2步:由第二密钥R2伪随机生成随机模板
Figure FDA0003173442750000015
将M中心分辨率为ah×av的区域作为核心区域MCore,依据
Figure FDA0003173442750000016
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure FDA0003173442750000017
将每个类别离聚类中心位置最近的样本小块作为编码样本小块
Figure FDA0003173442750000018
其中n0≤K,n0为2的幂次且均值聚类的初始聚类中心由第三密钥R3伪随机指定,均值聚类的迭代次数由第四密钥R4伪随机指定;
第3步:输入长度为l的2进制比特位串B,将其划分为L个包含log2n0个比特位编码单元,得到L个10进制数依次为B0,B1,…,BL-1
初始化分辨率为gh×gv的空白图像作为含密样本图像Q,以大小为ah×av的网格为单元划分Q,且水平方向上相邻两个网格之间的间距为ev,垂直方向上相邻两个网格之间的间距为eh;同时最外层网格单元水平边界与Q的水平边界之间的间距为eh,最外层网格单元的垂直边界与Q的垂直边界之间的间距为ev,即gh,gv满足的约束如式(2)所示,其中lh,lv分别是垂直方向和水平方向放置的ah×av大小网格的数量;初始化状态标记矩阵
Figure FDA0003173442750000021
R中元素ri,j状态用于标记Q上第(i,j)位置ah×av网格的占用状态,不失一般性,ri,j=0表示未占用,ri,j=1表示占用;
Figure FDA0003173442750000022
第4步:由第五密钥R5在Q上伪随机生成L个坐标(p′k,q′k),k=0,1,…,L-1且满足式(3)和式(4)的约束;
Figure FDA0003173442750000023
Figure FDA0003173442750000024
第5步:由B的哈希值确定编码单元Bk对应的编码样本块编号
Figure FDA0003173442750000025
然后从
Figure FDA0003173442750000026
中选取对应的编码样本块
Figure FDA0003173442750000027
将其放置在Q上坐标起始位置为(pk′,q′k)且大小为fh×fv的矩形小块上,按式(5)计算(xc,yc),将R中的元素
Figure FDA0003173442750000028
标记为1,其中k=0,1,…,L-1;
Figure FDA0003173442750000029
第6步:顺序扫描R,对于
Figure FDA00031734427500000210
rx,y=0,根据(x,y)四周领域(x-1,y),(x,y+1),(x+1,y),(x,y-1)各元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态,从P0,P1,…,PK-1中选择样本块作为
Figure FDA00031734427500000211
Figure FDA00031734427500000212
放置在Q上起始坐标为(x(eh+ah),y(ev+av))的fh×fv矩阵小块上;
第7步:根据
Figure FDA00031734427500000213
和Q周围((x-1)(eh+ah),y(ev+av)),(x(eh+ah),(y+1)(ev+av)),((x+1)(eh+ah),y(ev+av)),(x(eh+ah),(y-1)(ev+av))相邻位置已放置小块的重叠区域差异最小确定拼接优先级顺序,并按拼接优先级顺序和周围已放置小块的重叠边界块进行最小误差纹理合成;
第8步:反复执行第6步~第7步,直至
Figure FDA00031734427500000214
rx,y=1,将Q作为嵌密后的样本图像输出。
2.如权利要求1所述的一种结合差异聚类和误差最小纹理合成的生成式信息隐藏方法,其特征在于,第2步依据
Figure FDA0003173442750000031
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure FDA0003173442750000032
将每个类别离聚类中心位置最近的样本小块作为编码样本小块
Figure FDA0003173442750000033
具体方法在于包括以下步骤:
第2.1步:按式(6)计算
Figure FDA0003173442750000034
相对于MCore的均方误差MSE0,MSE1,…,MSEK-1,其中
Figure FDA0003173442750000035
Figure FDA0003173442750000036
第2.2步:由第三密钥R3从MSE0,MSE1,...,MSEK-1中随机选择n0个作为初始聚类中心
Figure FDA0003173442750000037
初始化迭代次数IT=0;
第2.3步:将K个均方误差与n0个聚类中心
Figure FDA0003173442750000038
逐一做差,选取绝对值差异最小的聚类中心所在的类别作为该均方误差对应的类别,从而将MSE0,MSE1,…,MSEK-1分成n0个类别;
第2.4步:按式(7)更新聚类中心
Figure FDA0003173442750000039
然后IT=IT+1;
Figure FDA00031734427500000310
式(7)中,|Ci|是类别Ci中的均方误差总数;
第2.5步:反复执行第2.3步~第2.4步,直至ITvrr,其中rr是由第四密钥R4产生的大于预设正整数ttt的随机整数;
第2.6步:按式(8)选取每个类别中和对应聚类中心差异度最小的均方误差所对应的样本小块
Figure FDA00031734427500000311
作为第i个编码样本块Pi′,从而得到n0个编码样本块
Figure FDA00031734427500000312
Figure FDA00031734427500000313
3.如权利要求1所述的一种结合差异聚类和误差最小纹理合成的生成式信息隐藏方法,其特征在于第3步输入长度为l的2进制比特位串B,将其划分为L个log2n0个比特位编码单元,得到L个10进制数依次为B0,B1,…,BL-1的具体方法在于包括以下步骤:
第3.1步:将长度为l的2进制比特位串B,以log2n0个比特为1组,划分为L组,如式(9)所示,L和l之间满足的约束如式(10)所示:
B=b0||b1||…||bL-1 (9)
式(9)中,符号“||”为比特位串联符号;
Figure FDA0003173442750000041
第3.2步:将b0,b1,…,bL-1转换为10进制数,从而可得到10进制数B0,B1,…,BL-1
第5步由B的哈希值确定编码单元Bk对应的编码样本块编号
Figure FDA0003173442750000042
的具体方法在于包括以下步骤:
第5.1步:将B的MD5值对应的2进制位串序列为BMD5=(bi)128的奇数和偶数比特分别按式(11)映射为初始值x0∈(0,1)和系统参数μ∈(3.57,4];
Figure FDA0003173442750000043
第5.2步:将x0,μ代入式(12)迭代产生(0,1)范围内的随机数r0,r1,…,rL-1,为消除暂态效应,将前ITT,ITT≥0个随机数滤除;
xt+1=μxt(1-xt) (12)
第5.3步:将rk,k=0,1,…,L-1按式(13)量化为[0,n0-1]范围内的随机整数r′k,k=0,1,…,L-1;
Figure FDA0003173442750000044
第5.4步:将r′k,k=0,1,…,L-1按式(14)转换为
Figure FDA0003173442750000045
Figure FDA0003173442750000051
4.如权利要求1所述的一种结合差异聚类和误差最小纹理合成的生成式信息隐藏方法,其特征在于第6步顺序扫描R的具体方法是按光栅扫描顺序扫描R;
第6步根据(x,y)四周领域(x-1,y),(x,y+1),(x+1,y),(x,y-1)各元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态,从P0,P1,…,PK-1中选择最合适的样本块
Figure FDA0003173442750000052
的具体方法在于包括以下步骤:
第6.1步:根据(x,y)其四周领域(x-1,y),(x,y+1),(x+1,y),(x,y-1)各元素rx-1,y,rx,y+1,rx+1,y,rx,y-1的状态按式(15)确定其类型T,并将T映射为(t3t2t1t0)2,其中t0,t1,t2,t3=1|0依次对应(x,y)的顶部(x-1,y),右侧(x,y+1),底部(x+1,y)和左侧(x,y-1)是否存在已经放置好的样本块,为1表示存在,为0表示不存在;
T=type(rx,y) (15)
式(15)中,类型函数的具体处理功能如式(16)所示:
Figure FDA0003173442750000053
第6.2步:记
Figure FDA0003173442750000054
rx,y=0位置所要放置的样本块为Pcur∈{P0,P1,…,PK-1},(x,y)的顶部(x-1,y),右侧(x,y+1),底部(x+1,y)和左侧(x,y-1)可能存在的已经放置好的样本块依次记为P0,P1,P2,P3∈{P0,P1,…,PK-1,PΦ},其中PΦ表示放置的样本块不存在,则可按式(17)从P0,P1,…,PK-1中选择合适的样本块
Figure FDA0003173442750000055
Figure FDA0003173442750000056
式(17)中,|| ||2为矩阵2范数,
Figure FDA0003173442750000057
为Pcur在i方向的边界区域,
Figure FDA0003173442750000058
为Pi
Figure FDA0003173442750000059
方向的边界区域,若所有的ti=0,则式(17)等价于从P0,P1,…,PK-1中随机选择一个样本块作为Pcur;对于分辨率fh×fv的样本块Pcur,i和
Figure FDA00031734427500000620
之间的关系按式(18)确定,其中,0边界块和2边界块的大小均为eh×(2ev+av),1边界块和3边界块的大小均为(2eh+ah)×ev;其中,0边界块为样本小块核心区域上边界与样本小块上边界之间的区域;1边界块为样本小块核心区域右边界与样本小块右边界之间的区域,2边界块为样本小块核心区域下边界与样本小块下边界之间的区域,3边界块为样本小块核心区域左边界与样本小块左边界之间的区域:
Figure FDA0003173442750000061
5.如权利要求1所述的一种结合差异聚类和误差最小纹理合成的生成式信息隐藏方法,其特征在于第7步的具体方法是:对于
Figure FDA0003173442750000062
按式(19)确定
Figure FDA0003173442750000063
Figure FDA0003173442750000064
Figure FDA0003173442750000065
的拼接优先级顺序然后按拼接优先级顺序和周围已放置小块的重叠边界块进行最小误差纹理合成,若t0=t1=t2=t3=0,则无需进行最小误差纹理合成;
Figure FDA0003173442750000066
式(19)中,符号
Figure FDA00031734427500000621
表示优先于,
Figure FDA0003173442750000067
分别为
Figure FDA0003173442750000068
在i0,i1方向的边界区域。
6.如权利要求5所述的一种结合差异聚类和误差最小纹理合成的生成式信息隐藏方法,其特征在于:记
Figure FDA0003173442750000069
Figure FDA00031734427500000610
在tt方向的边界块,Ptt
Figure FDA00031734427500000611
在tt方向的相邻样本块,
Figure FDA00031734427500000612
为Ptt
Figure FDA00031734427500000613
方向的边界区域,其中tt∈{0,1,2,3},ttt=1,则第7步将
Figure FDA00031734427500000614
和Ptt的边界块进行最小误差纹理合成的具体方法在于包括以下步骤:
第7.1步:按式(20)计算
Figure FDA00031734427500000615
Figure FDA00031734427500000616
的边界差异矩阵D=(di,j)rn×cn,按式(21)确定rn和cn;
Figure FDA00031734427500000617
Figure FDA00031734427500000618
第7.2步:按式(22)计算经过D的第i行最小值点列坐标位置的误差线
Figure FDA00031734427500000619
或第j列最小值点行坐标位置的误差线
Figure FDA0003173442750000071
其中i=0,1,…,rn-1,j=0,1,…,cn-1;
Figure FDA0003173442750000072
式(22)中,rerrmin(),cerrmin()分别是行最小误差线计算函数和列最小误差线计算函数,其中第1个参数为差异矩阵,第2个参数对应为行索引或列索引;
第7.3步:按式(23)从
Figure FDA0003173442750000073
Figure FDA0003173442750000074
中获取能量最小的误差线作为
Figure FDA0003173442750000075
Figure FDA0003173442750000076
其中
Figure FDA0003173442750000077
Figure FDA0003173442750000078
分别对应的是
Figure FDA0003173442750000079
Figure FDA00031734427500000710
的能量,
Figure FDA00031734427500000711
对应的D中位于
Figure FDA00031734427500000712
标记位置的所有元素绝对值累计,
Figure FDA00031734427500000713
对应的D中位于
Figure FDA00031734427500000714
标记位置的所有元素绝对值累计;
Figure FDA00031734427500000715
第7.4步:记
Figure FDA00031734427500000716
Figure FDA00031734427500000717
Figure FDA00031734427500000718
Figure FDA00031734427500000719
拼接后的小块记为
Figure FDA00031734427500000720
则按式(24)将边界块重叠区域
Figure FDA00031734427500000721
Figure FDA00031734427500000722
拼接在一起作为
Figure FDA00031734427500000723
Figure FDA00031734427500000724
放置在
Figure FDA00031734427500000725
位置;
Figure FDA00031734427500000726
式(24)中,
Figure FDA00031734427500000727
Figure FDA00031734427500000728
在第y,y∈{0,1,…,cn-1}列上经过的横坐标分界点,
Figure FDA00031734427500000729
Figure FDA00031734427500000730
在第x,x∈{0,1,…,rn-1}行上经过的纵坐标分界点。
7.如权利要求6所述的一种结合差异聚类和误差最小纹理合成的生成式信息隐藏方法,其特征在于,记差异矩阵D=(di,j)rn×cn的行和列分别为
Figure FDA0003173442750000081
Figure FDA0003173442750000082
则:
Figure FDA0003173442750000083
的特征在于包含以下步骤:
第a1)步:初始标记序列Tb=(tbi=0)rn,初始化当前列坐标tc=0,初始行坐标tr=i,按式(25)计算
Figure FDA0003173442750000084
的最小元素tm,将tm所对应的列坐标赋值给tc并更新tbi=tc;
Figure FDA0003173442750000085
第a2)步:i=i-1,按式(26)计算di,tc-1,di,tc,di,tc+1的最小值tm,将tm所对应的列坐标赋值给tc并更新tbi=tc;
tm=min(di,tc-1,di,tc,di,tc+1) (26)
式(26)中,若di,tc-1,di,tc,di,tc+1中存在坐标越界元素,则按式(26)计算最小值时,不参与最小值运算;
第a3)步:反复执行第a2)步,直至i=-1,更新i=tr,tc=tbi
第a4)步:i=i+1,按式(26)计算di,tc-1,di,tc,di,tc+1的最小值tm,将tm所对应的列坐标赋值给tc并更新tbi=tc;
第a5)步:反复执行第a4)步,直至i=rn,将Tb输出作为
Figure FDA0003173442750000086
Figure FDA0003173442750000087
的特征在于包含以下步骤:
第b1)步:初始标记序列Tb=(tbj=0)cn,初始化当前行坐标tr=0,初始列坐标tc=j按式(27)计算
Figure FDA0003173442750000088
的最小元素tm,将tm所对应的行坐标赋值给tr并更新tbj=tr;
Figure FDA0003173442750000089
第b2)步:j=j-1,按式(28)计算dtr-1,j,dtr,j,dtr+1,j的最小值tm,将tm所对应的行坐标赋值给tr并更新tbj=tr;
tm=min(dtr-1,j,dtr,j,dtr+1,j) (28)
式(28)中,若dtr-1,j,dtr,j,dtr+1,j中存在坐标越界元素,则按式(28)计算最小值时,不参与最小值运算;
第b3)步:反复执行第b2)步,直至j=-1,更新j=tc,tr=tbj
第b4)步:j=j+1,按式(28)计算dtr-1,j,dtr,j,dtr+1,j的最小值tm,将tm所对应的行坐标赋值给tr并更新tbj=tr;
第b5)步:反复执行第b4)步,直至j=cn,将Tb输出作为
Figure FDA0003173442750000091
8.一种结合差异聚类和误差最小纹理合成的生成式信息提取方法,其特征在于包括以下步骤:
第1步:输入分辨率为m×n的P阶灰度样本图像S=(si,j)m×n,si,j∈{0,1,…,2P-1},由第一密钥R1在S上伪随机截取K个分辨率为fh×fv大小的样本小块P0,P1,…,PK-1;选取P0,P1,…,PK-1中心分辨率为ah×av的区域作为核心区域
Figure FDA0003173442750000092
按式(1)确定
Figure FDA0003173442750000093
边界距PK-1边界的最小垂直距离为eh,最小水平距离为ev
第2步:由第二密钥R2伪随机生成随机模板
Figure FDA0003173442750000094
将M中心分辨率为ah×av的区域作为核心区域MCore,依据
Figure FDA0003173442750000095
相对于MCore的差异,进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure FDA0003173442750000096
将每个类别离聚类中心位置最近的样本小块作为编码样本小块
Figure FDA0003173442750000097
其中n0≤K且均值聚类的初始聚类中心由第三密钥R3伪随机指定,均值聚类的迭代次数由第四密钥R4伪随机指定;
第3步:输入分辨率为gh×gv的含密样本图像Q,由第五密钥R5在Q上伪随机生成L个坐标(p′k,q′k),k=0,1,…,L-1且满足式(3)和式(4)的约束,然后以(p′k,q′k),k=0,1,…,L-1为坐标起点从Q上提取出分辨率为fh×fv的纹理小块U0,U1,…,UL-1
第4步:记Uk的核心区域为
Figure FDA0003173442750000098
Figure FDA0003173442750000099
的核心区域分别为
Figure FDA00031734427500000910
Figure FDA00031734427500000911
中选取和
Figure FDA00031734427500000912
最接近的核心区域
Figure FDA00031734427500000913
记录Uk对应的编号
Figure FDA00031734427500000914
其中k=0,1,…,L-1;
第5步:输入待提取秘密信息的哈希值,并结合Uk对应的编号
Figure FDA0003173442750000101
提取出对应10进制秘密信息Bk,k=0,1,…,L-1,然后将Bk,k=0,1,…,L-1转换为长度为l的2进制比特位串B并输出。
9.如权利要求8所述的一种结合差异聚类和误差最小纹理合成的生成式信息提取方法,其特征在于:第2步依据
Figure FDA0003173442750000102
相对于MCore的差异进行均值聚类,将P0,P1,…,PK-1划分为n0个类别
Figure FDA0003173442750000103
将每个类别聚类中心位置的样本小块作为编码样本小块
Figure FDA0003173442750000104
具体方法在于包括以下步骤:
第2.1步:按式(6)计算
Figure FDA0003173442750000105
相对于MCore的均方误差MSE0,MSE1,…,MSEK-1,其中
Figure FDA0003173442750000106
第2.2步:由第三密钥R3从MSE0,MSE1,...,MSEK-1中随机选择n0个作为初始聚类中心
Figure FDA0003173442750000107
初始化迭代次数IT=0;
第2.3步:将K个均方误差与n0个聚类中心
Figure FDA0003173442750000108
逐一做差,选取绝对值差异最小的聚类中心所在的类别作为该均方误差对应的类别,从而将MSE0,MSE1,…,MSEK-1分成n0个类别;
第2.4步:按式(7)更新聚类中心
Figure FDA0003173442750000109
然后IT=IT+1;
第2.5步:反复执行第2.3步~第2.4步,直至IT≥rr,其中rr是由第四密钥R4产生的大于预设正整数ttt的随机整数;
第2.6步:按式(8)选取每个类别中和对应聚类中心差异度最小的均方误差所对应的样本小块
Figure FDA00031734427500001010
作为第i个编码样本块Pi′,从而得到n0个编码样本块
Figure FDA00031734427500001011
10.如权利要求8所述的一种结合差异聚类和误差最小纹理合成的生成式信息提取方法,其特征在于:第4步从
Figure FDA00031734427500001012
中选取和
Figure FDA00031734427500001014
最接近的核心区域
Figure FDA00031734427500001013
的具体方法是式(29);
Figure FDA0003173442750000111
第5步输入待提取秘密信息的哈希值,并结合Uk对应的编号
Figure FDA0003173442750000112
提取出对应10进制秘密信息Bk,k=0,1,…,L-1的具体方法其特征在于包括以下步骤:
第5.1步:将B的MD5值对应的2进制位串序列为BMD5=(bi)128的奇数和偶数比特分别按式(11)映射为初始值x0∈(0,1)和系统参数μ∈(3.57,4];
第5.2步:将x0,μ代入式(12)迭代产生(0,1)范围内的随机数r0,r1,…,rL-1,为消除暂态效应,将前ITT,ITT≥0个随机数滤除;
第5.3步:将rk,k=0,1,…,L-1按式(13)量化为[0,n0-1]范围内的随机整数r′k,k=0,1,…,L-1;
第5.4步:按式(30)计算编码样本块编号
Figure FDA0003173442750000113
所对应的十进制秘密信息Bk,k=0,1,…,L-1;
Figure FDA0003173442750000114
第5.5步:将B0,B1,…,BL-1转换为长度为log2n0比特的2进制位串,从而可得到2进制数b0,b1,…,bL-1,然后按式(31)截取前l个比特作为最终提取出的秘密信息B,其中式(31)中,trunc()函数是2值比特位串截取函数,其中第1个参数是要截取的2值比特位串,第2个参数是截取的长度,trunc(b0||b1||…||bL-1,l)表示截取的是b0||b1||…||bL-1的前l个2值比特:
B=trunc(b0||b1||…||bL-1,l) (31)。
CN201811159629.5A 2018-09-30 2018-09-30 结合差异聚类和最小误差纹理合成的生成式信息隐藏方法 Active CN109388959B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811159629.5A CN109388959B (zh) 2018-09-30 2018-09-30 结合差异聚类和最小误差纹理合成的生成式信息隐藏方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811159629.5A CN109388959B (zh) 2018-09-30 2018-09-30 结合差异聚类和最小误差纹理合成的生成式信息隐藏方法

Publications (2)

Publication Number Publication Date
CN109388959A CN109388959A (zh) 2019-02-26
CN109388959B true CN109388959B (zh) 2021-08-27

Family

ID=65419117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811159629.5A Active CN109388959B (zh) 2018-09-30 2018-09-30 结合差异聚类和最小误差纹理合成的生成式信息隐藏方法

Country Status (1)

Country Link
CN (1) CN109388959B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430336B (zh) * 2019-08-02 2021-05-11 陕西师范大学 图像隐藏和恢复的方法、设备和存储介质
CN112235291B (zh) * 2020-10-13 2023-04-07 陕西师范大学 逐像素纹理生成式信息隐藏及恢复方法、设备及介质
CN113392381A (zh) * 2021-06-29 2021-09-14 合肥高维数据技术有限公司 水印生成、解码方法以及存储介质、电子设备
CN114299409B (zh) * 2022-03-07 2022-07-01 中煤科工开采研究院有限公司 一种基于图像识别和深度信息的井下人员定位方法与装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106780278A (zh) * 2016-11-25 2017-05-31 陕西师范大学 一种结合零水印和块分类融合的自恢复图像加密和解密方法
CN107273916A (zh) * 2017-05-22 2017-10-20 上海大学 隐写算法未知的信息隐藏检测方法
CN107610711A (zh) * 2017-08-29 2018-01-19 中国民航大学 基于量化索引调制qim的g.723.1语音信息隐写分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106780278A (zh) * 2016-11-25 2017-05-31 陕西师范大学 一种结合零水印和块分类融合的自恢复图像加密和解密方法
CN107273916A (zh) * 2017-05-22 2017-10-20 上海大学 隐写算法未知的信息隐藏检测方法
CN107610711A (zh) * 2017-08-29 2018-01-19 中国民航大学 基于量化索引调制qim的g.723.1语音信息隐写分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
信息隐藏研究展望;张新鹏 等;《应用科学学报》;20160531;第475-489页 *

Also Published As

Publication number Publication date
CN109388959A (zh) 2019-02-26

Similar Documents

Publication Publication Date Title
CN109388959B (zh) 结合差异聚类和最小误差纹理合成的生成式信息隐藏方法
Cao et al. High capacity reversible data hiding in encrypted images by patch-level sparse representation
CN112396607B (zh) 一种可变形卷积融合增强的街景图像语义分割方法
CN106204503B (zh) 基于改进置信度更新函数及匹配准则的图像修复算法
CN108648133B (zh) 一种结合块旋转和马赛克的无嵌入伪装方法
CN110430336B (zh) 图像隐藏和恢复的方法、设备和存储介质
Sun et al. Encoding spectral and spatial context information for hyperspectral image classification
Zhou et al. Steganography Using Reversible Texture Synthesis Based on Seeded Region Growing and LSB.
CN110503591A (zh) 基于特征轮廓二维码水印的有效智能的图像提取和认证比较的方法
CN110263610A (zh) 一种基于深度学习的退化文档图像二值化方法及系统
CN114140309A (zh) 一种基于nice模型的新型图像隐写方法及系统
Zhang et al. Reversible data hiding for 3D mesh models with hybrid prediction and multilayer strategy
CN115424059A (zh) 一种基于像素级对比学习的遥感土地利用分类方法
CN116363489A (zh) 一种复制粘贴篡改图像数据检测方法、装置、计算机及计算机可读存储介质
Tang et al. Color image reversible data hiding with double-layer embedding
Li et al. Steganography of steganographic networks
CN110417551B (zh) 一种结合误差扩散的字符画生成式伪装及恢复方法
CN103226818B (zh) 基于流形正则稀疏支撑回归的单帧图像超分辨率重建方法
CN113160028B (zh) 基于彩色字符画的信息隐藏及恢复方法、设备及存储介质
CN112184841A (zh) 块替换生成式信息隐藏及恢复方法、设备及介质
Zhang et al. Adaptive robust blind watermarking scheme improved by entropy-based SVM and optimized quantum genetic algorithm
CN115482463A (zh) 一种生成对抗网络矿区土地覆盖识别方法及系统
CN113850284B (zh) 一种基于多尺度特征融合和多分支预测的多操作检测方法
CN113283299A (zh) 基于cgan网络增强局部放电信号prpd图谱数据的方法
Qiu et al. Rich-information watermarking scheme for 3D models of oblique photography

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant