CN109194846B - 一种基于复杂度的EMD(n,m,δ)自适应图像密写方法 - Google Patents

一种基于复杂度的EMD(n,m,δ)自适应图像密写方法 Download PDF

Info

Publication number
CN109194846B
CN109194846B CN201811168586.7A CN201811168586A CN109194846B CN 109194846 B CN109194846 B CN 109194846B CN 201811168586 A CN201811168586 A CN 201811168586A CN 109194846 B CN109194846 B CN 109194846B
Authority
CN
China
Prior art keywords
formula
delta
complexity
equation
ssim
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
CN201811168586.7A
Other languages
English (en)
Other versions
CN109194846A (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 CN201811168586.7A priority Critical patent/CN109194846B/zh
Publication of CN109194846A publication Critical patent/CN109194846A/zh
Application granted granted Critical
Publication of CN109194846B publication Critical patent/CN109194846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32283Hashing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明提供一种基于复杂度的EMD(n,m,δ)自适应图像密写方法。首先依据载体PSNR和SSIM和控制阈值参数来确定δ最大值,再根据载体分块块强度、块对比度、块位置、块边缘和块纹理计算块复杂度并确定分块的调整量。最后组织载体嵌密信息表并依据EMD(n,m,δ)按复杂度由高到低自适应地嵌入2值秘密比特。为提高安全性,引入载体分块哈希值和用户密钥,动态生成分块嵌密参数n和m并置乱嵌密调整表。同现有方法相比,所提方法在保持较高视觉质量和结构相似性的同时将秘密信息嵌入最大化,嵌入过程与用户密钥和载体分块哈希值紧密绑定,且由复杂度从高到低嵌入使得含密载体具有较高视觉质量且增强了安全性。

Description

一种基于复杂度的EMD(n,m,δ)自适应图像密写方法
技术领域
本发明属于图像信息安全和数字图像信号处理交叉领域,涉及一种图像密写方法,特别涉及一种基于复杂度的EMD(n,m,δ)自适应图像密写方法。
背景技术
数字图像密写是利用数字图像的冗余和人类视觉的掩蔽特性,来将秘密信息隐藏于非相关的图像载体中,从而进行隐蔽通信,使得非法攻击者难以从海量的公开传输图像中提取出隐蔽的秘密信息信息,从而最大程度地保障传输中的机密信息的安全。
针对数字图像密写,人们已提出了多种数字图像密写嵌入方法。例如致力于提升秘密信息嵌入容量的BPCS方法(E,Eason RO.Principle and applications of BPCS-Steganography[C]//Proceedings of SPIE-The International Society for OpticalEngineering,1999:464-473)和PVD方法(Wu D C,Tsai W H.A steganographic methodfor images by pixel-value di erencing[J].Pattern Recognition Letters,2003,24(9–10):1613-1626.)以及致力于提高图像视觉质量的EALSBMR方法等。
现有的图像密写方法通常分为2类,空域密写方法和变换域密写方法。比较典型的变换域密写方法主要有F3密写,F4密写和F5密写方法等,它们都是载体图像DCT变换后,在量化后的非零DCT系数上嵌密,但由于量化后的DCT系数中零值较多,因此秘密信息嵌入量极低。相对于变换域密写方法,空域密写方法不仅能提供较大的嵌入容量,也能较大地保持嵌密图像的视觉质量。
最早期的空域密写方法为LSB密写嵌入方法(Li C C,Lie W N.Data hiding inimages with adaptive numbers of least significant bits based on the humanvisual system[C]//IEEE International Conference on Image Processing,1999:286-290.)即用秘密信息替换载体图像的最低比特位,由于载体图像最低比特位全部携带秘密信息,而图像的最低比特位对图像视觉质量影响极小,因此LSB密写秘密信息的嵌入量大,密写图像视觉质量高,但秘密信息易改变低位信息比特的统计特性,因此安全性不高。对LSB密写方法的改进,引入了LSBM方法(Ker AD.Improved Detection of LSBSteganography in Grayscale Images[C]//International Conference on InformationHiding,2004:97-115),即LSB匹配方法,相对于LSB密写方法,LSB匹配方法的策略是,当秘密信息和载体图像的最低比特位相同时不做改变,否则随机的对载体图像像素值加减1,由于像素值整体增加或减少的概率相等,因此可抵抗简单LSB密写分析方法,但其秘密信息的嵌入容量相比于LSB密写并未实质地提高。为减轻对载体的影响,后续又提出了LSBMR密写方法(Mielikainen J.IEEE Signal Processing Letters[J].2006,13(5):285-287),即即LSB匹配重访方法,其原理是在两个连续的像素中最多只对其中一个加减1从而嵌入2比特秘密信息,由于LSBMR方法不是直接用秘密信息替换载体图像的最低比特位,且明显降低了对载体图像的修改率,因此,LSBMR方法在提高密写图像质量的基础上提高了其安全性。为了进一步提高图像的嵌入质量,EALSBMR方法(Luo W Q,Huang F J,Huang J W.IEEETransactions on Information Forensics and Security,Edge Adaptive ImageSteganography Based on LSB Matching Revisited[J].2010,5(2):201-214.)被提出,即边缘自适应LSB匹配重访方法,可根据秘密信息长度和载体图像自身平滑程度自适应的嵌入秘密信息,优先选择图像较粗糙区域进行嵌入,避免了对载体图像平滑区域的修改,因此EALSBMR密写方法下的密写图像图像质量较之LSBMR更好。
LSBMR方法最独特的地方是对两个载体数据中至多改变一个便可嵌入两比特秘密信息。这也为后面进行更大容量嵌入的EMD方法提供了很多借鉴。EMD方法,即全方向扩展方法,是对载体进行微小修改以进行大容量嵌入的一种有效的嵌入方法(Zhang X P,Wang SZ.Efficient steganographic embedding by exploiting modificationdirection.IEEE Communication Letter,2006,10(11):781-783),通过对n个载体数据最多加减1来嵌入一个2n+1进制的数。为进一步提高嵌入容量,文献Kim H J,Kim C,Choi Y,Wang S Z,Zhang X P.Improved modification direction methods[J],2010,60(2):319-325给出了EMD-2方法和2-EMD方法,EMD-2方法允许对n个载体数据最多进行2个加减1而嵌入一个更大进制的数,2-EMD方法即连续用两次EMD方法可嵌入一个(2n+1)2进制的数,相比于EMD方法,EMD-2方法和2-EMD方法更大程度的提高了秘密信息嵌入容量。在EMD方法的基础上也能实现对载体数据的全方位改变,即EMD-n方法(Niu X J,Ma M,Tang R,Yi Z X,2015.Image Steganography via Fully Exploiting Modification Direction[J],2015,9(5):243-254),即在n个载体数据都可改变的基础上嵌入一个3n进制的数,带来更大的嵌入容量。
但以上所给出的EMD嵌入方法都采用特定的权值向量,而特定的嵌入策略降低了密写的安全性。另外这些EMD嵌入方法通常只能利用权值向量进行组合形成的连续组合数作为秘密信息的表达范围,这使得权值向量不能进行充分有效的组合,从而限制了秘密信息的表达范围,使得嵌入容量十分有限。
为彻底解决传统EMD秘密信息表达范围以及安全性问题,给出了基于EMD(n,m)模型和基于EMD(n,m)模型的密写方法(张洋,邵利平,任平安.免基向量EMD(n,m)模型及其在图像密写上的应用[J].计算机辅助设计与图形学报,2018,30(8):1490-1504).首先通过计算n个载体数据最多调整m个的组合数来形成嵌密调整表,从中选取调整表行来对载体数据进行调整以嵌入秘密信息;进一步,依据密钥和混沌映射来随机指派n和m,截取秘密信息比特和置乱嵌密调整表行以提高安全性.理论和实验结果表明,与传统EMD相比,该方法避免了权值向量设置的有限性,可最大化嵌入容量,同时可通过与载体和密钥相关的嵌入提取环节来增强嵌入信息的安全性.
但所提策略将EMD(n,m)模型单个像素的修改量固定为±1,溢出修改量固定为±2而未考虑图像不同区域存在的不同纹理复杂度,对视觉的掩蔽效应也不同,从而难以在保持嵌密载体视觉质量的同时,进行大容量的嵌密。
发明内容
本发明的目的在于克服现有技术缺陷,提供一种基于复杂度的EMD(n,m,δ)自适应图像密写方法,依据载体PSNR和SSIM和控制阈值参数来确定δ最大值,再根据载体分块块强度、块对比度、块位置、块边缘和块纹理计算块复杂度并确定每个分块的调整量,然后组织载体嵌密信息表并依据EMD(n,m,δ)按复杂度由高到低自适应地嵌入2值秘密比特。同现有方法相比,所提方法在保持较高视觉质量和结构相似性的同时将秘密信息嵌入最大化,且嵌入过程与用户密钥和载体分块哈希值紧密绑定,且由复杂度从高到低嵌入使得含密载体具有较高视觉质量且增强了安全性。
为实现上述目的,本发明采用以下技术方案:
一种基于复杂度的EMD(n,m,δ)自适应图像密写方法,包括以下步骤:
第1步:输入分辨率为M×N的p阶灰度载体图像C=(ci,j)M×N,ci,j∈{0,1,…,2p-1},输入Prepsnr>0,PreSSIM∈(0,1],其中,Prepsnr为峰值信噪比PSNR控制阈值参数,PreSSIM为结构化相似度SSIM控制阈值参数,由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ,且δ≥0,初始化与C分辨率相同的嵌密掩体CE=C;
第2步:将C=(ci,j)M×N划分为H×W的矩阵小块
Figure BDA0001821802070000051
计算块Cx,y的局部复杂度cpx,y,然后由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1;
第3步:将4元组(x,y,cpx,yx,y),x=0,1,…,P-1,y=0,1,…,Q-1按cpx,y由大到小的顺序进行排列,并作为载体嵌密信息表CI,记nmax>0为预先设定的正整数n的最大值,记秘密信息是长度为l的2值比特位串B=(bi)l,bi∈{0,1},BL为剩余2值比特位串,初始化BL=B,置计数变量w=0;
第4步:取CI中的第w个4元组(x,y,cpx,yx,y),由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax
第5步:由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′,其中T′中的行对应的是n个元素改变小于等于m个元素,且每个未溢出元素调整范围属于[-δx,yx,y],而T′中每一行的行号则对应为要嵌入的秘密信息;
第6步:将Cx,y转换为1维元素序列S=(si)H·W,记载体剩余元素序列和嵌密元素序列分别为SL和SE,初始化SL=S,SE=Φ;
第7步:记SL的长度为lS,BL的长度为lB,根据lS和lB的关系,从SL中截取2值比特位串SC,从BL中截取2值比特位串BC,利用BC从T′中选取对应的行将SC调整为S′C,然后将S′C添加至SE中形成
Figure BDA0001821802070000061
将SE扫描为H×W维矩阵小块
Figure BDA0001821802070000069
Figure BDA0001821802070000062
放置在CE块坐标位置为(x,y)的小块位置上,置w=w+1,执行第4步直至lB=0;
第8步:将嵌密掩体CE输出。
进一步,第1步中由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ的具体方法在于包括以下步骤:
第1.1步:初始化δ=1,然后对C=(ci,j)M×N中的每个元素按式(1)施加整数随机扰动ri,j∈[-δ,δ];
Figure BDA0001821802070000063
第1.2步:按式(2)和式(3)分别计算C′=(c′i,j)M×N相对于C=(ci,j)M×N的PSNR和SSIM值:PSNRC′和SSIMC′
Figure BDA0001821802070000064
SSIMC′=l(C′,C)·c(C′,C)·s(C′,C) (3)
式(3)中,l(C′,C),c(C′,C),s(C′,C)的具体计算方法如式(4)~式(6)所示;
Figure BDA0001821802070000065
Figure BDA0001821802070000066
Figure BDA0001821802070000067
式(4)~式(6)中,μ(C),σ(C),σ(C,C′)的具体计算方法如式(7)~式(9)所示;
Figure BDA0001821802070000068
Figure BDA0001821802070000071
Figure BDA0001821802070000072
第1.3步:若PSNRC′>Prepsnr且PreSSIM>PreSSIM,则取δ=δ+1,执行第1.1步,否则取δ=δ-1,然后将δ作为最大调整量。
进一步,第2步划分的H×W的矩阵小块的数量P,Q由式(10)确定;
Figure BDA0001821802070000073
式(10)中,符号
Figure BDA0001821802070000074
表示向下取整运算符;
由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y的具体方法包括以下步骤:
第2.1步:按式(11)计算Cx,y的强度复杂度
Figure BDA00018218020700000713
按式(12)~式(13)计算Cx,y的对比度复杂度
Figure BDA0001821802070000075
按式(14)计算Cx,y的位置复杂度
Figure BDA00018218020700000714
按式(15)~式(17)计算Cx,y的边缘复杂度
Figure BDA0001821802070000076
以及按式(18)~式(19)计算Cx,y的纹理复杂度
Figure BDA0001821802070000077
Figure BDA0001821802070000078
Figure BDA0001821802070000079
式(12)中,Nb(x,y)是Cx,y周围的有效8邻域邻居块的位置坐标,满足的约束如式(13)所示,|Nb(x,y)|是Cx,y周围有效8邻域邻居块的数量;
Figure BDA00018218020700000710
Figure BDA00018218020700000711
式(14)中,
Figure BDA00018218020700000712
是Cx,y上落入图像上划定的中心区域Ccenter中的元素数,Ccenter是位于图像中心占图像总面积为rate∈(0,1)的矩形区域;
Figure BDA0001821802070000081
式(15)中,
Figure BDA0001821802070000082
是Cx,y经拉普拉斯滤波变换得到的矩阵变换小块,thE是设定的边缘阈值,thE>0,拉普拉斯滤波变换执行的具体功能是式(16);
Figure BDA0001821802070000083
式(16)中,Nb′(i,j)是与(i,j)相邻的4邻域的有效坐标,满足的约束如式(17)所示,|Nb′(i,j)|是(i,j)周围的有效4邻域有效坐标数量;
Figure BDA0001821802070000084
Figure BDA0001821802070000085
式(18)中,
Figure BDA0001821802070000086
是Cx,y经由2维离散余弦变换D2DCT()后的矩阵小块,如式(19)所示,C″x,y中,除
Figure BDA0001821802070000087
外都是AC系数,
Figure BDA0001821802070000088
是Cx,y所有AC系数的平均值;
C″x,y=D2DCT(Cx,y) (19)
第2.2步:由
Figure BDA0001821802070000089
按式(20)计算块Cx,y的局部复杂度cpx,y
Figure BDA00018218020700000810
式(20)中,函数Norm()是归一化函数,
Figure BDA00018218020700000811
的计算过程是从所有的
Figure BDA00018218020700000812
中选取最大的
Figure BDA00018218020700000813
记为
Figure BDA00018218020700000814
然后按
Figure BDA00018218020700000815
归一化;
第2.3步:记所有cpx,y的最大值为cpmax,然后按式(21)由cpx,y和最大调整量δ确定Cx,y最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1。
Figure BDA00018218020700000816
进一步,第4步由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax的具体方法在于包括以下步骤:
第4.1步:记Cx,y对应的SHA256值为16进制数序列
Figure BDA0001821802070000091
这里按式(22)生成初始值x0∈(0,1),按式(23)生成系统参数μ∈[3.57,4],按式(24)生成滤除迭代次数IT>0;
Figure BDA0001821802070000092
Figure BDA0001821802070000093
Figure BDA0001821802070000094
第4.2步:将x0、μ代入式(25)生成若干随机数后,抛弃前IT个以消除暂态效应,取其连续生成的4个随机数xIT+1,xIT+2,xIT+3,xIT+4,将xIT+1,xIT+2用于按式(26)~式(27)生成n和m;
xi+1=μ·xi·(1-xi) (25)
式(25)中,μ∈[3.57,4]为系统参数,x0∈(0,1)为初始值;
Figure BDA0001821802070000095
Figure BDA0001821802070000096
进一步,第5步由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′的具体方法在于包括以下步骤:
第5.1步:按式(28)计算Vkind,然后初始化Vkind×n维的嵌密调整表
Figure BDA0001821802070000097
Figure BDA0001821802070000098
式(28)中,
Figure BDA0001821802070000101
是n个元素中任取i个元素的全部组合数;
第5.2步:初始化计数变量j=0,k=0;
第5.3步:将j转换为n位2δx,y+1进制数,用长度为n的1维向量V=(vi)n进行存储,其中vi=0,1,…,2δx,y对应为j的第i位2δx,y+1进制数,然后按式(29)将V映射为V′=(v′i)n,vi∈{-δx,y,-δx,y+1,…,0,…,δx,y-1,δx,y},j=j+1;
v′i=vix,y (29)
第5.4步:统计V′中非零元素数量nnz,若nnz≤m,则将V′作为T的第k行,置k=k+1;
第5.5步:反复执行第5.3步和第5.4步,直至k=Vkind
第5.6步:按式(30)将T中的行置乱,作为T′;
i′=(a·i+b)mod Vkind,i=0,1,…,Vkind-1 (30)
式(30)产生同余参数a的具体规则是将随机数xIT+3,xIT+4按式(31)映射为x′IT+3∈[3.57,4],按式(32)映射为x′IT+4∈(0,1);
Figure BDA0001821802070000102
x′IT+4=0.5(xIT+3+xIT+4) (32)
将x′IT+3,x′IT+4分别作为式(25)的系统参数和初始值,将产生的随机数R按式(33)量化为R′;
Figure BDA0001821802070000103
反复执行式(25)和式(33)直至R′和Vkind互质,从而将R′作为a,然后按式(34)生成式(30)对应的同余参数b。
Figure BDA0001821802070000104
进一步,第7步的具体方法在于包括以下步骤:
第7.1步:若lS≥n,lB>0,则循环执行第7.2步~第7.4步;
第7.2步:按式(35)从SL中截取n个元素作为SC,然后按式(36)更新SL
SC=mid(SL,0,n-1) (35)
SL=mid(SL,n,lS-1) (36)
式(35)和式(36)中,mid()是序列元素截断函数,其中第1个参数是要截断的元素序列,第2个参数是截断的元素序列起始位置索引,第3个参数为截断的元素序列终止索引位置;
第7.3步:按式(37)和式(38)从BL中截取lC个比特位串作为
Figure BDA0001821802070000111
将BC按式(39)转换为10进制数d,然后按式(40)更新BL
Figure BDA0001821802070000112
BC=truncate(BL,0,lC-1) (38)
Figure BDA0001821802070000113
BL=truncate(BL,lC,lB-1) (40)
式(38)和式(40)中,truncate()是比特位串截断函数,其中第1个参数是要截断的2值比特位串,第2个参数是截断的2值比特位串起始位置索引,第3个参数为截断的2值比特位串终止索引位置;
第7.4步:从T′中取行号为d的元素序列T′d=(v′0,v′1,…,v′n-1),按式(41)将
Figure BDA0001821802070000114
调整为S′C=(s′i C)n,按式(42)将S′C附加到SE尾部并更新SE
Figure BDA0001821802070000115
SE=SE||S′C (42)
第7.5步:若lS<n时,则按式(43)将SL连接至SE尾部并更新SE,将
Figure BDA0001821802070000121
按行优先顺序扫描为H×W维矩阵小块
Figure BDA0001821802070000122
Figure BDA0001821802070000123
放置在嵌密掩体块坐标位置为(x,y)的小块位置上,置w=w+1,若lB≠0返回第4步。
SE=SE||SL (43)
一种基于复杂度的EMD(n,m,δ)自适应图像密写提取方法,包括以下步骤:
第1步:输入分辨率为M×N的p阶灰度载体图像C=(ci,j)M×N和嵌密掩体
Figure BDA0001821802070000124
输入提取2值比特位串BF的长度控制参数l>0,初始化BF=Φ,配置PSNR控制阈值参数Prepsnr>0,SSIM控制阈值参数PreSSIM∈(0,1)和划分的矩阵小块大小H×W;
第2步:由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ,将C=(ci,j)M×N划分为H×W的矩阵小块
Figure BDA0001821802070000125
计算块Cx,y的局部复杂度cpx,y,然后由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1;
第3步:将(x,y,cpx,yx,y),x=0,1,…,P-1,y=0,1,…,Q-1按cpx,y从大到小进行排列作为载体嵌密信息表CI,置计数变量w=0;
第4步:取CI中的第w个4元组(x,y,cpx,yx,y),由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax
第5步:由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′;
第6步:将Cx,y
Figure BDA0001821802070000126
分别扫描为1维载体序列SL和嵌密载体序列SE,若SL的长度lS≥n,则反复截取SL和SE长度为n的2值比特位串SCL=(si)n
Figure BDA0001821802070000127
从中获取调整量T′d=(v′0,v′1,…,v′n-1),然后从T′中找到对应的行号d,将其转换为2值比特位串BC添加至BF,置w=w+1,执行第4步直至lS<n;
第7步:若lS<n,则进一步判断当前BF的长度lF是否大于等于l:若lF≥l,则从BF中提取前l个2值比特作为最终提取出的2值秘密信息比特位串B输出;若lF<l,则w=w+1,执行第4步。
进一步,第2步由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ的具体方法在于包括以下步骤:
第2.1a步:初始化δ=1,然后对C=(ci,j)M×N中的每个元素按式(1)施加整数随机扰动ri,j∈[-δ,δ];
第2.2a步:按式(2)和式(3)分别计算C′=(c′i,j)M×N相对于C=(ci,j)M×N的PSNR和SSIM值:PSNRC′和SSIMC′
第2.3a步:若PSNRC′>Prepsnr且PreSSIM>PreSSIM,则取δ=δ+1,执行第2.1a步,否则取δ=δ-1,然后将δ作为最大调整量;
第2步划分的H×W的矩阵小块的数量P,Q由式(10)确定;
第2步计算块Cx,y的局部复杂度cpx,y的具体方法在于包括以下步骤:
第2.1b步:按式(11)计算Cx,y的强度复杂度
Figure BDA0001821802070000131
按式(12)~式(13)计算Cx,y的对比度复杂度
Figure BDA0001821802070000132
按式(14)计算Cx,y的位置复杂度
Figure BDA0001821802070000133
按式(15)~式(17)计算Cx,y的边缘复杂度
Figure BDA0001821802070000134
以及按式(18)~式(19)计算Cx,y的纹理复杂度
Figure BDA0001821802070000135
第2.2b步:由
Figure BDA0001821802070000136
按式(20)计算块Cx,y的局部复杂度cpx,y
第2.3b步:记所有cpx,y的最大值为cpmax,然后按式(21)由cpx,y和最大调整量δ确定Cx,y最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1;
第2步由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y的具体方法是式(21)。
进一步,第4步由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax的具体方法包括以下步骤:
第4.1步:记Cx,y对应的SHA256值为16进制数序列
Figure BDA0001821802070000141
这里按式(22)生成初始值x0∈(0,1),按式(23)生成系统参数μ∈[3.57,4],按式(24)生成滤除迭代次数IT>0;
第4.2步:将x0、μ代入式(25)生成若干随机数后,抛弃前IT个以消除暂态效应,取其连续生成的4个随机数xIT+1,xIT+2,xIT+3,xIT+4,将xIT+1,xIT+2用于按式(26)~式(27)生成n和m;
第5步由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′的具体方法在于包括以下步骤:
第5.1步:按式(28)计算Vkind,然后初始化Vkind×n维的嵌密调整表
Figure BDA0001821802070000142
第5.2步:初始化计数变量j=0,k=0;
第5.3步:将j转换为n位2δx,y+1进制数,用长度为n的1维向量V=(vi)n进行存储,其中vi=0,1,…,2δx,y对应为j的第i位2δx,y+1进制数,然后按式(29)将V映射为V′=(v′i)n,vi∈{-δx,y,-δx,y+1,…,0,…,δx,y-1,δx,y},j=j+1;
第5.4步:统计V′中非零元素数量nnz,若nnz≤m,则将V′作为T的第k行,置k=k+1;
第5.5步:反复执行第5.3步和第5.4步,直至k=Vkind
第5.6步:按式(30)将T中的行置乱,作为T′。
进一步,第6步反复截取SL和SE长度为n的2值比特位串SCL=(si)n
Figure BDA0001821802070000143
的具体方法是按式(44)从SL和SE分别截取n个元素作为当前正在处理的载体和嵌密载体元素序列SCL=(si)n
Figure BDA0001821802070000144
然后按式(45)对SL和SE进行更新,其中lS和lE分别为SL和SE的长度;
Figure BDA0001821802070000157
Figure BDA0001821802070000158
第6步获取调整量T′d=(v′0,v′1,…,v′n-1)的具体方法是式(46);
Figure BDA0001821802070000151
第6步将d转换为2值比特位串
Figure BDA0001821802070000152
的具体方法是式(47),其中lC按式(48)确定;
Figure BDA0001821802070000153
Figure BDA0001821802070000154
式(48)中,符号
Figure BDA0001821802070000155
是向上取整函数;
第6步将BC添加至BF的具体方法是式(49);
BF=BF||BC (49)
第7步提取出B作为最终提取的2值秘密比特位串的具体方法是式(50)。
B=mid(BF,0,l-1) (50)
本发明同现有技术优点分析:
传统EMD嵌入方法是采用特定的权值向量,而特定的嵌入策略降低了密写的安全性。另外这些EMD嵌入方法通常只能利用权值向量进行组合形成的连续组合数作为秘密信息的表达范围,这使得权值向量不能进行充分有效的组合,从而限制了秘密信息的表达范围,使得嵌入容量十分有限。
基于EMD(n,m)模型的嵌入方法尽管避免了权值向量设置的有限性,可最大化n个像素中任取m个像素进行±1调整时最大的嵌入容量,但同传统EMD嵌入方法的出发点一致,采用固定的调整量而未考虑图像不同区域存在的不同纹理复杂度对视觉的掩蔽效应也不同,从而难以在保持嵌密载体视觉质量的同时,进行更大容量的嵌密。
为避免以上EMD方法存在的问题:
(1)所提方法将EMD(n,m)模型拓展为EMD(n,m,δ),但所提方法并不是简单地将EMD(n,m)模型的修改量由1拓展为δ,而是充分考虑图像视觉质量的评价标准,依据载体PSNR和SSIM和控制阈值参数来确定δ的最大调整量,然后再根据每个分块的复杂度,结合最大调整量δ来动态确定每个小块的最大调整量,保证复杂度越高的图像块内单个像素最大调整量越接近δ以极大程度提高秘密信息嵌入容量,而复杂度较低的图像块内单个像素最大调整量设置为接近1的值以减少对图像较平滑区域的修改从而提升密写图像的视觉质量和安全性。从而在图像不同复杂度的区域进行不同调整量的嵌密,在保持较好嵌密载体视觉质量的同时,最大化嵌入容量。
(2)为使δ估值较为准确,所提方法通过依据载体PSNR和SSIM和控制阈值参数,进一步通过随机扰动和迭代的方式来自适应的确定最大调整量δ;为使每个小块的最大调整量计算更为准确,所提方法充分考虑了影响小块复杂度计算的各个因素,进一步引入了基于强度、对比度、位置、边缘和纹理等综合因素以增加小块复杂度评估的准确性。同时也进一步引入了基于对数曲线的拟合方法来动态确定每个小块复杂度对应的调整量。
(3)所提方法进一步依据按分块复杂度由大到小进行排列组织载体嵌密信息表,从而依据复杂度由高到低自适应地嵌入2值秘密比特,通过优先选取复杂度高的小块进行嵌密,在保持嵌密载体视觉质量的同时,也进一步提高了嵌密载体嵌密容量。
(4)为提高嵌密安全性,所提方法引入载体分块哈希值和用户密钥,动态生成分块嵌密参数n和m并置乱嵌密调整表。且嵌入过程与用户密钥和载体分块哈希值紧密绑定。所提方法的分块哈希值,分块复杂度,最大调整量δ的确定方法均于嵌密过程中所用到的原始载体密切相关,而原始载体不在信道中直接传输,从而使得所述方法具有较高的安全性。
附图说明
图1是嵌入流程图;
图2是提取流程图;
图3是载体图像,为256×256分辨率的8位灰度图像Lena;
图4是载体图像,为256×256分辨率的8位灰度图像Girl;
图5是载体图像,为256×256分辨率的8位灰度图像Man;
图6是载体图像,为256×256分辨率的8位灰度图像Pepper;
图7是图3嵌入的秘密信息2值序列(为方便显示,堆叠成的正方形图像),随机种子为6951;
图8是图4嵌入的秘密信息2值序列(为方便显示,堆叠成的正方形图像),随机种子为2317;
图9是图5嵌入的秘密信息2值序列(为方便显示,堆叠成的正方形图像),随机种子为8233;
图10是图6嵌入的秘密信息2值序列(为方便显示,堆叠成的正方形图像),随机种子为7597;
图11是实施例:Prepsnr=51.13,PreSSIM=0.84,用户密钥nmax=3的嵌密掩体图像,相对于图3的PSNR=51.59dB;
图12是实施例:Prepsnr=45.91,PreSSIM=0.87,用户密钥nmax=4的嵌密掩体图像,相对于图4的PSNR=51.59dB;
图13是实施例:Prepsnr=42.69,PreSSIM=0.90,用户密钥nmax=5的嵌密掩体图像,相对于图5的PSNR=51.49dB;
图14是实施例:Prepsnr=40.36,PreSSIM=0.93,用户密钥nmax=6的嵌密掩体图像,相对于图3的PSNR=47.11dB;
图15是实施例:提取的秘密信息,相对于图6的误码率EBR为0%;
图16是实施例:提取的秘密信息,相对于图7的误码率EBR为0%;
图17是实施例:提取的秘密信息,相对于图8的误码率EBR为0%;
图18是实施例:提取的秘密信息,相对于图9的误码率EBR为0%;
图19是实施例:特殊位置邻居块示意;
图20是实施例:是块Cx,y和中心区域Ccenter之间的位置关系示意。
具体实施方式
以下以JAVA jdk1.8.0_65为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例,其中图1是嵌入流程图,图2是提取流程图。
嵌入方法的具体实施步骤:
第1步:输入分辨率为M×N的p阶灰度载体图像C=(ci,j)M×N,例如:若输入分辨率为4×4的8阶灰度载体图像C,则M=4,N=4,p=8;输入Prepsnr>0,PreSSIM∈(0,1],例如可输入Prepsnr=45.91,PreSSIM=0.87;初始化与C分辨率相等的嵌密掩体CE=C,即CE和C初始化为同一副图像;由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ的具体方法是:
第1.1步:初始化δ=1,然后对C中的每个元素按式(1)施加整数随机扰动ri,j∈[-δ,δ],这里的随机整数扰动指的是-δ,-δ+1,…-1,0,1,…,δ-1,δ
Figure BDA0001821802070000191
若对C施加ri,j∈[-1,1]的整数扰动,则随机整数扰动为-1,0或者1,可得到C′,例如:
Figure BDA0001821802070000192
则可得到:
Figure BDA0001821802070000193
第1.2步:按式(2)和式(3)分别计算C′相对于C的PSNR和SSIM值:PSNRC′和SSIMC′,其中lg是以10为底的对数;
Figure BDA0001821802070000194
SSIMC′=l(C′,C)·c(C′,C)·s(C′,C) (3)
式(3)中,l(C′,C),c(C′,C),s(C′,C)的具体计算方法如式(4)~式(6)所示;
Figure BDA0001821802070000195
Figure BDA0001821802070000196
Figure BDA0001821802070000201
式(4)~式(6)中,μ(C),σ(C),σ(C,C′)的具体计算方法如式(7)~式(9)所示;
Figure BDA0001821802070000202
Figure BDA0001821802070000203
Figure BDA0001821802070000204
例如:由C和C′可计算出PSNRC′=48.1308,SSIMC′=0.9998941011815596
第1.3步:PSNRC′>Prepsnr且PreSSIM>PreSSIM,更新δ=δ+1,执行第1.1步,否则更新δ=δ-1,然后将δ作为最大调整量。
例如:由PSNRC′=48.1308,SSIMC′=0.9998且Prepsnr=45.91,PreSSIM=0.87知:PSNRC′>Prepsnr且PreSSIM>PreSSIM,若δ=1,则由δ=δ+1可得到δ=2。
第2步:将C=(ci,j)M×N划分为P×Q个分辨率为H×W的矩阵小块
Figure BDA0001821802070000205
计算Cx,y的局部复杂度cpx,y,然后由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1;
划分的H×W的矩阵小块的数量P,Q由式(10)确定;
Figure BDA0001821802070000206
式(10)中,符号
Figure BDA0001821802070000207
表示向下取整运算符;
例如:若C的分辨率为4×4,则可将C划分为2×2个分辨率为2×2的小块,即P=2,Q=2,H=2,W=2,则可得到4个小块C0,0,C0,1,C1,0,C1,1,即:
Figure BDA0001821802070000208
计算Cx,y的局部复杂度cpx,y,然后由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1,对应的具体方法为:
第2.1步:按式(11)计算Cx,y的强度复杂度
Figure BDA0001821802070000211
按式(12)~式(13)计算Cx,y的对比度复杂度
Figure BDA0001821802070000212
按式(14)计算Cx,y的位置复杂度
Figure BDA0001821802070000213
按式(15)~式(17)计算Cx,y的边缘复杂度
Figure BDA0001821802070000214
以及按式(18)~式(19)计算Cx,y的纹理复杂度
Figure BDA0001821802070000215
Figure BDA0001821802070000216
Figure BDA0001821802070000217
式(12)中,Nb(x,y)是Cx,y周围的有效8邻域邻居块的位置坐标,满足的约束如式(13)所示,|Nb(x,y)|是Cx,y周围有效8邻域邻居块的数量;
Figure BDA0001821802070000218
例如如图19所示,假设(x,y)为Cx,y的坐标,由于(x,y)周围8邻域仅存在(x,y+1),(x+1,y),(x+1,y+1)位置的邻居块,因此按式(13)可确定|Nb(x,y)|=3。
Figure BDA0001821802070000219
式(14)中,
Figure BDA00018218020700002110
是Cx,y上落入图像上划定的中心区域Ccenter中的元素数,Ccenter是位于图像中心占图像总面积为rate∈(0,1)的矩形区域;
如图20所示,假设图像分辨率为17×17,中心区域Ccenter的大小为13×13,则由(13×13)/(17×17)=0.58知:rate=0.58,若Cx,y中落入Ccenter的元素数为6,即
Figure BDA00018218020700002111
Figure BDA00018218020700002112
式(15)中,
Figure BDA0001821802070000221
是Cx,y经拉普拉斯滤波变换得到的矩阵变换小块,thE是设定的边缘阈值,thE>0,拉普拉斯滤波变换执行的具体功能是式(16);
Figure BDA0001821802070000222
式(16)中,Nb′(i,j)是与(i,j)相邻的4邻域的有效坐标,满足的约束如式(17)所示,|Nb′(i,j)|是(i,j)周围的有效4邻域有效坐标数量;
Nb′(i,j)在实施方式上同Nb(x,y)相类似,只是Nb′(i,j)考虑的是(i,j)位置像素上下左右4邻域。
Figure BDA0001821802070000223
Figure BDA0001821802070000224
式(18)中,
Figure BDA0001821802070000225
是Cx,y经由2维离散余弦变换D2DCT()后的矩阵小块,如式(19)所示,C″x,y中,除
Figure BDA0001821802070000226
外都是AC系数,
Figure BDA0001821802070000227
是Cx,y所有AC系数的平均值;
C″x,y=D2DCT(Cx,y) (19)
D2DCT变换的实施原理如下所示,其中x,u=0,1,2,…,H-1,y,ν=0,1,2,…,W-1
Figure BDA0001821802070000228
对第2.1步进行实施,可得到每个图像块对应的强度、对比度、位置、边缘、纹理参数,例如:
Figure BDA0001821802070000229
Figure BDA00018218020700002210
第2.2步:由
Figure BDA00018218020700002211
按式(20)计算块Cx,y的局部复杂度cpx,y
Figure BDA0001821802070000231
可得到图像块的复杂度,例如:由
Figure BDA0001821802070000232
Figure BDA0001821802070000233
Figure BDA0001821802070000234
Figure BDA0001821802070000235
知:
Figure BDA0001821802070000236
Figure BDA0001821802070000237
知:
Figure BDA0001821802070000238
Figure BDA0001821802070000239
知:
Figure BDA00018218020700002310
Figure BDA00018218020700002311
知:
Figure BDA00018218020700002312
故可按式(20)计算出cp0,0,cp0,1,cp1,0,cp1,1
第2.3步:记所有cpx,y的最大值为cpmax,然后按式(21)由cpx,y和最大调整量δ确定Cx,y最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1。
Figure BDA00018218020700002313
例如:假设第2.2步计算出的cp0,0=1.506,cp0,1=1.879,cp1,0=3.106,cp1,1=1.213cpmax=3.106,取δ=2,则由式(21)知:
Figure BDA00018218020700002314
故:
Figure BDA00018218020700002315
第3步:将4元组(x,y,cpx,yx,y),x=0,1,…,P-1,y=0,1,…,Q-1按cpx,y由大到小的顺序进行排列,并作为载体嵌密信息表CI,记nmax>0为预先设定的正整数n的最大值,记秘密信息是长度为l的2值比特位串B=(bi)l,bi∈{0,1},BL为剩余2值比特位串,初始化BL=B,置计数变量w=0;
例如:根据2.3步的δx,y可得到按cpx,y由大到小进行排列图像块(x,y,cpx,yx,y):(1,0,3.106,2),(0,1,1.879,1),(0,0,1.506,1),(1,1,1.213,1),从而CI=[(1,0,3.106,2),(0,1,1.879,1),(0,0,1.506,1),(1,1,1.213,1)];
取nmax=4,输入秘密信息为B=1110110101011001000,初始化BL=B,则BL=1110110101011001000,置计数变量w=0;
第4步:取CI中的第w个4元组(x,y,cpx,yx,y),由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax的具体方法是:
第4.1步:记Cx,y对应的SHA256值为16进制数序列
Figure BDA0001821802070000241
这里按式(22)生成初始值x0∈(0,1),按式(23)生成系统参数μ∈[3.57,4],按式(24)生成滤除迭代次数IT>0;
Figure BDA0001821802070000242
Figure BDA0001821802070000243
Figure BDA0001821802070000244
例如,若Cx,y对应的SHA256值为:
0x50b2d0fec28e78cd370177b00958e74039a81f6512f3080a99d2d6368c874af7,则可得到长度为64的16进制序列
Figure BDA0001821802070000245
将其代入式(22),可计算x0∈(0,1),将其代入式(23),可计算μ∈[3.57,4],将其代入式(24),可计算IT>0,这里假设计算出的x0=0.5012305422847824,μ=3.9051785298005175,IT=62580。
第4.2步:将x0、μ代入式(25)生成若干随机数后,抛弃前IT个以消除暂态效应,取其连续生成的4个随机数xIT+1,xIT+2,xIT+3,xIT+4,将xIT+1,xIT+2用于按式(26)~式(27)生成n和m;
xi+1=μ·xi·(1-xi) (25)
式(25)中,μ∈[3.57,4]为系统参数,x0∈(0,1)为初始值;
Figure BDA0001821802070000251
Figure BDA0001821802070000252
例如:将x0=0.5012305422847824,μ=3.9051785298005175代入式(25),抛弃前IT=62580个随机数,可得:xIT+1=0.7531447787093246,xIT+2=0.7436708840488283,xIT+3=0.7624980010674499和xIT+4=0.7243791977423722;将xIT+1,xIT+2代入式(26)~式(27)可得:
Figure BDA0001821802070000253
第5步:由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′,其中T′中的行对应的n个元素最多改变m个元素,且每个未溢出元素调整范围属于[-δx,yx,y],而T′中每一行的行号则对应为要嵌入的秘密信息;由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′的具体方法在于包括以下步骤:
第5.1步:按式(28)计算Vkind,然后初始化Vkind×n维的嵌密调整表
Figure BDA0001821802070000254
Figure BDA0001821802070000255
式(28)中,
Figure BDA0001821802070000256
是n个元素中任取i个元素的全部组合数;
例如:取m=2,n=3,δx,y=2,则
Figure BDA0001821802070000257
第5.2步:初始化计数变量j=0,k=0;
第5.3步:将j转换为n位2δx,y+1进制数,用长度为n的1维向量V=(vi)n进行存储,其中vi=0,1,…,2δx,y对应为j的第i位2δx,y+1进制数,然后按式(29)将V映射为V′=(v′i)n,vi∈{-δx,y,-δx,y+1,…,0,…,δx,y-1,δx,y},j=j+1;
v′i=vix,y (29)
例如:将j=1转换为n=3位2δx,y+1=5进制数,可用长度为3的1维向量V=(vi)3进行存储,即V=(1,0,0)其中v0,v1,v2分别对应为j=1的第0,1,2位5进制数,从而按式(29)可将V映射为V′=(-1,-2,-2),j=j+1=2。
第5.4步:统计V′中非零元素数量nnz,若nnz≤m,则将V′作为T的第k行,置k=k+1;
例如:取m=2,当j=0时,V′=(-2,-2,-2),此时由于nnz=3,nnz>m,故V′不能作为嵌密调整表中的行;当j=1时,V′=(-1,-2,-2),此时由于nnz=3,nnz>m,故V′不能作为嵌密调整表中的行;当j=2时,V′=(0,-2,-2),此时nnz=2,nnz≤m,故将V′=(0,-2,-2)作为T的第k=0行,按k=k+1更新k后,k=1。
第5.5步:反复执行第5.3步和第5.4步,直至k=Vkind
第5.6步:按式(30)将T中的行置乱,作为T′;
i′=(a·i+b)mod Vkind,i=0,1,…,Vkind-1 (30)
式(30)产生同余参数a的具体规则是将随机数xIT+3,xIT+4按式(31)映射为x′IT+3∈[3.57,4],按式(32)映射为x′IT+4∈(0,1);
Figure BDA0001821802070000261
x′IT+4=0.5(xIT+3+xIT+4) (32)
将x′IT+3,x′IT+4分别作为式(25)的系统参数和初始值,将产生的随机数R按式(33)量化为R′;
Figure BDA0001821802070000262
反复执行式(25)和式(33)直至R′和Vkind互质,从而将R′作为a,然后按式(34)生成式(30)对应的同余参数b。
Figure BDA0001821802070000263
例如:根据第4.2步得到的xIT+3=0.7624980010674499和xIT+4=0.7243791977423722,代入式(31)和式(32)可得:x′IT+3=3.8895735266495803,x′IT+4=0.7434385994049111,将x′IT+3,x′IT+4分别作为式(25)的系统参数和初始值,产生若干随机数并抛弃前IT=62580个,得到R=0.90917052,代入式(33)得到R′=11,此时R′和Vkind=61互质,故将R′作为a,即a=11,再将xIT+3和xIT+4的值代入式(34):可得b=13,由n,m,δx,y生成的嵌密调整表T如表1所示,根据a=11,b=13式(26)将T置乱为T′如表2所示(这里为节省空间,用列来表示行,同时添加行号作为示意)。
表1EMD(3,2,2)嵌密调整表
Figure BDA0001821802070000271
表2EMD(3,2,2)嵌密置乱调整表
Figure BDA0001821802070000272
第6步:将Cx,y转换为1维元素序列S=(si)H·W,记载体剩余元素序列和嵌密元素序列分别为SL和SE,初始化SL=S,SE=Φ;
例如,由于w对应的是C1,0,将C1,0按行优先扫描顺序转换为1维序列S=(189,231,127,236),执行初始化SL=S,可得到SL=(189,231,127,236),其中:
Figure BDA0001821802070000281
第7步:记SL的长度为lS,BL的长度为lB,根据lS和lB的关系,从SL中截取2值比特位串SC,从BL中截取2值比特位串BC,利用BC从T′中选取对应的行将SC调整为S′C,然后将S′C添加至SE中形成
Figure BDA0001821802070000282
将SE扫描为H×W维矩阵小块
Figure BDA0001821802070000283
Figure BDA0001821802070000284
放置在CE块坐标位置为(x,y)的小块位置上,置w=w+1,执行第4步直至lB=0;具体方法包括以下步骤:
第7.1步:若lS≥n,lB>0,则循环执行第7.2步~第7.4步;
例如:由于SL=(189,231,127,236),所以lS=4;由于BL=1110110101011001000,所以lB=19;取n=3,则有lS≥n,lB>0,因此按第7.1步,执行第7.2步~第7.4步;
第7.2步:按式(35)从SL中截取n个元素作为SC,然后按式(36)更新SL
SC=mid(SL,0,n-1) (35)
SL=mid(SL,n,lS-1) (36)
式(35)和式(36)中,mid()是序列元素截断函数,其中第1个参数是要截断的元素序列,第2个参数是截断的元素序列起始位置索引,第3个参数为截断的元素序列终止索引位置;
例如:由式(35)知SC=(189,231,127),由式(36)可得到SL=(236)。
第7.3步:按式(37)和式(38)从BL中截取lC个比特位串作为
Figure BDA0001821802070000285
将BC按式(39)转换为10进制数d,然后按式(40)更新BL
Figure BDA0001821802070000286
BC=truncate(BL,0,lC-1) (38)
Figure BDA0001821802070000291
BL=truncate(BL,lC,lB-1) (40)
式(38)和式(40)中,truncate()是比特位串截断函数,其中第1个参数是要截断的2值比特位串,第2个参数是截断的2值比特位串起始位置索引,第3个参数为截断的2值比特位串终止索引位置;
例如:根据式(37),
Figure BDA0001821802070000292
lB=19,满足lt≤lB,因此lC=lt=5,按式(38)从BL中截取lC=5个比特位串作为BC,即BC=(11101)2,将BC按式(39)将取出的5个位串转换为对应的10进制数
Figure BDA0001821802070000293
并按照式(40)更新BL=10101011001000。
第7.4步:从T′中取行号为d的元素序列T′d=(v′0,v′1,…,v′n-1),按式(41)将
Figure BDA0001821802070000294
调整为
Figure BDA0001821802070000295
按式(42)将S′C附加到SE尾部并更新SE
Figure BDA0001821802070000296
SE=SE||S′C (42)
例如:从T′中取行号为d=29的元素序列T′d=(0,1,-2),按式(41)将SC=(189,231,127)调整为S′C=(189,231+1,127-2),即S′C=(189,232,125),按式(42)将S′C附加到SE尾部并更新SE,则SE=(189,232,125)。
第7.5步:若lS<n时,则按式(43)将SL连接至SE尾部并更新SE,将
Figure BDA0001821802070000297
按行优先顺序扫描为H×W维矩阵小块
Figure BDA0001821802070000298
Figure BDA0001821802070000299
放置在嵌密掩体块坐标位置为(x,y)的小块位置上,置w=w+1,若lB≠0返回第4步。
SE=SE||SL (43)
例如:取n=3,由于7.2步中更新后的SL=(236),此时lS=1,满足lS<n,则将SL=(236)连接至SE=(189,232,125)尾部并更新SE,更新后SE=(189,232,125,236)。将SE按行优先顺序扫描为2×2维矩阵小块
Figure BDA0001821802070000301
Figure BDA0001821802070000302
放置在嵌密掩体块坐标位置为(1,0)的小块位置上,置w=w+1=2,由于lB=14≠0返回第4步。
第8步:将嵌密掩体CE输出。
提取方法的具体实施步骤:
第1步:输入分辨率为M×N的p阶灰度载体图像C=(ci,j)M×N和嵌密掩体
Figure BDA0001821802070000303
输入提取2值比特位串BF的长度控制参数l>0,初始化BF=Φ,配置PSNR控制阈值参数Prepsnr>0,SSIM控制阈值参数PreSSIM∈(0,1)和划分的矩阵小块大小H×W;
例如:输入分辨率为4×4的8阶灰度载体图像C,则M=4,N=4,p=8,输入嵌密掩体
Figure BDA0001821802070000304
输入提取2值比特位串BF的长度控制参数l=19,初始化BF=Φ,配置参数Prepsnr=45.91,PreSSIM=0.87和划分的矩阵小块大小2×2。
第2步:由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ,将C=(ci,j)M×N划分为H×W的矩阵小块
Figure BDA0001821802070000305
计算块Cx,y的局部复杂度cpx,y,然后由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1;
由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ的具体方法包括以下步骤:
第2.1a步:初始化δ=1,然后对C=(ci,j)M×N中的每个元素按式(1)施加整数随机扰动ri,j∈[-δ,δ];
例如:初始化δ=1,若对C中的每个元素按式(1)施加ri,j∈[-1,1]的整数随机扰动,则随机整数扰动为-1,0或者1,可得到C′,例如:
Figure BDA0001821802070000311
则可得到:
Figure BDA0001821802070000312
第2.2a步:按式(2)和式(3)分别计算C′=(c′i,j)M×N相对于C=(ci,j)M×N的PSNR和SSIM值:PSNRC′和SSIMC′
例如:由C和C′可计算出PSNRC′=48.1308,SSIMC′=0.9998941011815596
第2.3a步:若PSNRC′>Prepsnr且PreSSIM>PreSSIM,则取δ=δ+1,执行第2.1a步,否则取δ=δ-1,然后将δ作为最大调整量;
例如:由PSNRC′=48.1308,SSIMC′=0.9998且Prepsnr=45.91,PreSSIM=0.87知:PSNRC′>Prepsnr且PreSSIM>PreSSIM,若δ=1,则由δ=δ+1可得到δ=2。
划分的H×W的矩阵小块的数量P,Q由式(10)确定;
例如:若C的分辨率为4×4,则可将C划分为2×2个分辨率为2×2的小块,即P=2,Q=2,H=2,W=2,则可得到4个小块C0,0,C0,1,C1,0,C1,1,即:
Figure BDA0001821802070000313
计算块Cx,y的局部复杂度cpx,y的具体方法在于包括以下步骤:
第2.1b步:按式(11)计算Cx,y的强度复杂度
Figure BDA0001821802070000319
按式(12)~式(13)计算Cx,y的对比度复杂度
Figure BDA0001821802070000314
按式(14)计算Cx,y的位置复杂度
Figure BDA0001821802070000315
按式(15)~式(17)计算Cx,y的边缘复杂度
Figure BDA0001821802070000316
以及按式(18)~式(19)计算Cx,y的纹理复杂度
Figure BDA0001821802070000317
例如:计算出每个图像块对应的强度、对比度、位置、边缘、纹理参数为:
Figure BDA0001821802070000318
第2.2b步:由
Figure BDA0001821802070000321
按式(20)计算块Cx,y的局部复杂度cpx,y
例如:得到图像块的复杂度由
Figure BDA0001821802070000322
Figure BDA0001821802070000323
Figure BDA0001821802070000324
Figure BDA0001821802070000325
知:
Figure BDA0001821802070000326
Figure BDA0001821802070000327
知:
Figure BDA0001821802070000328
Figure BDA0001821802070000329
知:
Figure BDA00018218020700003210
Figure BDA00018218020700003211
知:
Figure BDA00018218020700003212
故可按式(20)计算出cp0,0,cp0,1,cp1,0,cp1,1
第2.3b步:记所有cpx,y的最大值为cpmax,然后按式(21)由cpx,y和最大调整量δ确定Cx,y最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1;
由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y的具体方法是式(21)。
例如:假设第2.2b步计算出的cp0,0=1.506,cp0,1=1.879,cp1,0=3.106,cp1,1=1.213cpmax=3.106,取δ=2,则由式(21)知:
Figure BDA00018218020700003213
故:
Figure BDA00018218020700003214
第3步:将4元组(x,y,cpx,yx,y),x=0,1,…,P-1,y=0,1,…,Q-1按cpx,y从大到小进行排列作为载体嵌密信息表CI,置计数变量w=0;
例如:根据2.3b步的δx,y可得到按cpx,y由大到小进行排列图像块(x,y,cpx,yx,y):(1,0,3.106,2),(0,1,1.879,1),(0,0,1.506,1),(1,1,1.213,1),从而CI=[(1,0,3.106,2),(0,1,1.879,1),(0,0,1.506,1),(1,1,1.213,1)];置计数变量w=0;
第4步:取CI中的第w个4元组(x,y,cpx,yx,y),由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax
具体方法包括以下步骤:
第4.1步:记Cx,y对应的SHA256值为16进制数序列
Figure BDA0001821802070000331
这里按式(22)生成初始值x0∈(0,1),按式(23)生成系统参数μ∈[3.57,4],按式(24)生成滤除迭代次数IT>0;
例如,若Cx,y对应的SHA256值为:
0x50b2d0fec28e78cd370177b00958e74039a81f6512f3080a99d2d6368c874af7,则可得到长度为64的16进制序列
Figure BDA0001821802070000332
将其代入式(22),可计算x0∈(0,1),将其代入式(23),可计算μ∈[3.57,4],将其代入式(24),可计算IT>0,这里假设计算出的x0=0.5012305422847824,μ=3.9051785298005175,IT=62580。
第4.2步:将x0、μ代入式(25)生成若干随机数后,抛弃前IT个以消除暂态效应,取其连续生成的4个随机数xIT+1,xIT+2,xIT+3,xIT+4,将xIT+1,xIT+2用于按式(26)~式(27)生成n和m;
例如:将x0=0.5012305422847824,μ=3.9051785298005175代入式(25),抛弃前IT=62580个随机数,可得:xIT+1=0.7531447787093246,xIT+2=0.7436708840488283,xIT+3=0.7624980010674499和xIT+4=0.7243791977423722;将xIT+1,xIT+2代入式(26)~式(27)可得:
Figure BDA0001821802070000333
第5步:由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′;
第5.1步:按式(28)计算Vkind,然后初始化Vkind×n维的嵌密调整表
Figure BDA0001821802070000334
例如:取m=2,n=3,δx,y=2,则
Figure BDA0001821802070000335
第5.2步:初始化计数变量j=0,k=0;
第5.3步:将j转换为n位2δx,y+1进制数,用长度为n的1维向量V=(vi)n进行存储,其中vi=0,1,…,2δx,y对应为j的第i位2δx,y+1进制数,然后按式(29)将V映射为V′=(vi′)n,vi∈{-δx,y,-δx,y+1,…,0,…,δx,y-1,δx,y},j=j+1;
例如:将j=1转换为n=3位2δx,y+1=5进制数,可用长度为3的1维向量V=(vi)3进行存储,即V=(1,0,0)其中v0,v1,v2分别对应为j=1的第0,1,2位5进制数,从而按式(29)可将V映射为V′=(-1,-2,-2),j=j+1=2。
第5.4步:统计V′中非零元素数量nnz,若nnz≤m,则将V′作为T的第k行,置k=k+1;
取m=2,当j=0时,V′=(-2,-2,-2),此时由于nnz=3,nnz>m,故V′不能作为嵌密调整表中的行;当j=1时,V′=(-1,-2,-2),此时由于nnz=3,nnz>m,故V′不能作为嵌密调整表中的行;当j=2时,V′=(0,-2,-2),此时nnz=2,nnz≤m,故将V′=(0,-2,-2)作为T的第k=0行,按k=k+1更新k后,k=1。
第5.5步:反复执行第5.3步和第5.4步,直至k=Vkind
第5.6步:按式(30)将T中的行置乱,作为T′。
例如:根据第4.2步得到的xIT+3=0.7624980010674499和xIT+4=0.7243791977423722,代入式(31)和式(32)可得:x′IT+3=3.8895735266495803,x′IT+4=0.7434385994049111,将x′IT+3,x′IT+4分别作为式(25)的系统参数和初始值,产生若干随机数并抛弃前IT=62580个,得到R=0.90917052,代入式(33)得到R′=11,此时R′和Vkind=61互质,故将R′作为a,即a=11,再将xIT+3和xIT+4的值代入式(34):可得b=13,由n,m,δx,y生成的嵌密调整表T如表3所示,根据a=11,b=13式(26)将T置乱为T′如表4所示(这里为节省空间,用列来表示行,同时添加行号作为示意)。
表3EMD(3,2,2)嵌密调整表
Figure BDA0001821802070000351
表4EMD(3,2,2)嵌密置乱调整表
Figure BDA0001821802070000352
第6步:将Cx,y
Figure BDA0001821802070000353
分别扫描为1维载体序列SL和嵌密载体序列SE,若SL的长度lS≥n,则反复截取SL和SE长度为n的2值比特位串SCL=(si)n
Figure BDA0001821802070000354
从中获取调整量T′d=(v′0,v′1,…,v′n-1),然后从T′中找到对应的行号d,将其转换为2值比特位串BC添加至BF,置w=w+1,直至lS<n;
例如:由于w=0对应的是C1,0,将
Figure BDA0001821802070000355
按行优先扫描顺序转换为1维载体序列SL=(189,231,127,236),将
Figure BDA0001821802070000356
按行优先扫描顺序转换为1维嵌密载体序列SE=(189,232,125,236),由于lS=4,若n=3,则lS≥n,则需反复截取SL和SE长度为n的2值比特位串SCL=(si)n
Figure BDA0001821802070000357
从中获取调整量T′d=(v′0,v′1,…,v′n-1),然后从T′中找到对应的行号d,将其转换为2值比特位串BC添加至BF,置w=w+1,直至lS<n
第6步反复截取SL和SE长度为n的2值比特位串SCL=(si)n
Figure BDA0001821802070000361
的具体方法是按式(44)从SL和SE分别截取n个元素作为当前正在处理的载体和嵌密载体元素序列SCL=(si)n
Figure BDA0001821802070000362
然后按式(45)对SL和SE进行更新,其中lS和lE分别为SL和SE的长度;
Figure BDA0001821802070000368
Figure BDA0001821802070000369
例如:取n=3,按式(44)从SL和SE分别截取n=3个元素作为当前正在处理的载体和嵌密载体元素序列SCL=(189,231,127)和SCE=(189,232,125),然后按式(45)对SL和SE进行更新,更新后的SL=(236),SE=(236)。
第6步获取调整量T′d=(v′0,v′1,…,v′n-1)的具体方法是式(46);
Figure BDA0001821802070000363
例如:根据式(46)可得,T′d=(189-189,232-231,125-127)=(0,1,-2)。
第6步将d转换为2值比特位串
Figure BDA0001821802070000364
的具体方法是式(47),其中lC按式(48)确定;
Figure BDA0001821802070000365
Figure BDA0001821802070000366
式(48)中,符号
Figure BDA0001821802070000367
是向上取整函数;
例如:搜索出T′d=(0,1,-2)对应的行号d=29,按式(48)可得,
Figure BDA0001821802070000371
按式(47)将d转换为2值比特位串BC=(11101)。
第6步将BC添加至BF的具体方法是式(49);
BF=BF||BC (49)
例如:将BC=(11101)添加至BF可得,BF=(11101)。
第7步:若lS<n,则进一步判断当前BF的长度lF是否大于等于l:若lF≥l,则从BF中提取前l个2值比特作为最终提取出的2值秘密信息比特位串B输出;若lF<l,则执行第4步。
例如:取n=3,此时SL=(236),因此lS=1,故满足lS<n,则进一步判断当前BF的长度lF是否大于等于l,此时BF=(11101),因此lF=5,lF<l,则执行第4步。
第7步提取出B作为最终提取的2值秘密比特位串的具体方法是式(50)。
B=mid(BF,0,l-1) (50)
例如:假设B=1110110101011001000,由于l=19,则截取长度为前19个2进制位作为B=1110110101011001000。
图3是载体图像,为256×256分辨率的8位灰度图像Lena;图4是载体图像,为256×256分辨率的8位灰度图像Girl;图5是载体图像,为256×256分辨率的8位灰度图像Man;图6是载体图像,为256×256分辨率的8位灰度图像Pepper;图7是图3嵌入的秘密信息2值序列(为显示方便堆叠成正方形图像),随机种子为6951;图8是图4嵌入的秘密信息2值序列(为显示方便堆叠成正方形图像),随机种子为2317;图9是图5嵌入的秘密信息2值序列(为显示方便堆叠成的正方形图像),随机种子为8233;图10是图6嵌入的秘密信息2值序列(为显示方便堆叠成的正方形图像),随机种子为7597;图11是Prepsnr=51.13,PreSSIM=0.84,用户密钥nmax=3的嵌密掩体图像,相对于图3的PSNR=51.59dB;图12是Prepsnr=45.91,PreSSIM=0.87,用户密钥nmax=4的嵌密掩体图像,相对于图4的PSNR=51.59dB;图13是Prepsnr=42.69,PreSSIM=0.90,用户密钥nmax=5的嵌密掩体图像,相对于图5的PSNR=51.49dB;图14是Prepsnr=40.36,PreSSIM=0.93,用户密钥nmax=6的嵌密掩体图像,相对于图3的PSNR=47.11dB;图15是提取的秘密信息,相对于图6的误码率EBR为0%;图16是提取的秘密信息,相对于图7的误码率EBR为0%;图17是提取的秘密信息,相对于图8的误码率EBR为0%;图18是提取的秘密信息,相对于图9的误码率EBR为0%。

Claims (10)

1.一种基于复杂度的EMD(n,m,δ)自适应图像密写方法,其特征在于,包括以下步骤:
第1步:输入分辨率为M×N的p阶灰度载体图像C=(ci,j)M×N,ci,j∈{0,1,…,2p-1},输入Prepsnr>0,PreSSIM∈(0,1],其中,Prepsnr为峰值信噪比PSNR控制阈值参数,PreSSIM为结构化相似度SSIM控制阈值参数,由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ,且δ≥0,初始化与C分辨率相等的嵌密掩体CE=C;
第2步:将C=(ci,j)M×N划分为H×W的矩阵小块
Figure FDA0002251686140000011
计算块Cx,y的局部复杂度cpx,y,然后由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1,P·Q为划分的H×W矩阵小块数量,P,Q由式(10)确定;
Figure FDA0002251686140000012
式(10)中,符号
Figure FDA0002251686140000013
表示向下取整运算符;
第3步:将四元组(x,y,cpx,yx,y),x=0,1,…,P-1,y=0,1,…,Q-1按cpx,y由大到小的顺序进行排列,并作为载体嵌密信息表CI,记nmax>0为预先设定的正整数n的最大值,记秘密信息是长度为l的2值比特位串B=(bi)l,bi∈{0,1},BL为嵌密剩余2值比特位串,初始化BL=B,置计数变量w=0;
第4步:取CI中的第w个四元组(x,y,cpx,yx,y),由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax
第5步:由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′,其中,T′中的每一行对应的n个元素中,被改变的元素数量小于等于m个元素,且每个未溢出元素调整范围属于[-δx,yx,y],而T′中每一行的行号则对应为要嵌入的秘密信息;
第6步:将Cx,y转换为1维元素序列S=(si)H·W,记载体剩余可供嵌密的元素序列和嵌密元素序列分别为SL和SE,初始化SL=S,SE=Φ,其中Φ为空集;
第7步:记SL的长度为lS,BL的长度为lB,根据lS和lB的关系,从SL中截取2值比特位串SC,从BL中截取2值比特位串BC,利用BC从T′中选取对应的行将SC调整为S′C,然后将S′C添加至SE中形成
Figure FDA0002251686140000021
将SE扫描为H×W维矩阵小块
Figure FDA0002251686140000022
Figure FDA0002251686140000023
放置在CE块坐标位置为(x,y)的小块位置上,置w=w+1,执行第4步,直至lB=0;
第8步:将嵌密掩体CE输出。
2.如权利要求1所述的一种基于复杂度的EMD(n,m,δ)自适应图像密写方法,其特征在于,
第1步中,由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ的具体方法在于包括以下步骤:
第1.1步:初始化δ=1,然后对C=(ci,j)M×N中的每个元素按式(1)施加整数随机扰动ri,j∈[-δ,δ];
Figure FDA0002251686140000024
第1.2步:按式(2)和式(3)分别计算C′=(c′i,j)M×N相对于C=(ci,j)M×N的PSNR和SSIM值:PSNRC′和SSIMC′
Figure FDA0002251686140000025
SSIMC′=l(C′,C)·c(C′,C)·s(C′,C) (3)
式(3)中,l(C′,C),c(C′,C),s(C′,C)的具体计算方法如式(4)~式(6)所示;
Figure FDA0002251686140000031
Figure FDA0002251686140000032
Figure FDA0002251686140000033
式(4)~式(6)中,μ(C),σ(C),σ(C,C′)的具体计算方法如式(7)~式(9)所示;
Figure FDA0002251686140000034
Figure FDA0002251686140000035
Figure FDA0002251686140000036
第1.3步:若PSNRC′>Prepsnr且PreSSIM>PreSSIM,则取δ=δ+1,则循环执行第1.1步至第1.3步直至不满足条件:PSNRC′>Prepsnr且PreSSIM>PreSSIM,否则取δ=δ-1,然后将δ作为最大调整量。
3.如权利要求1所述的一种基于复杂度的EMD(n,m,δ)自适应图像密写方法,其特征在于:
由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y的具体方法包括以下步骤:
第2.1步:按式(11)计算Cx,y的强度复杂度
Figure FDA0002251686140000037
按式(12)~式(13)计算Cx,y的对比度复杂度
Figure FDA0002251686140000038
按式(14)计算Cx,y的位置复杂度
Figure FDA0002251686140000039
按式(15)~式(17)计算Cx,y的边缘复杂度
Figure FDA00022516861400000310
以及按式(18)~式(19)计算Cx,y的纹理复杂度
Figure FDA00022516861400000311
Figure FDA00022516861400000312
Figure FDA00022516861400000313
式(12)中,Nb(x,y)是Cx,y周围的有效8邻域邻居块的位置坐标,满足的约束如式(13)所示,|Nb(x,y)|是Cx,y周围有效8邻域邻居块的数量;
Figure FDA0002251686140000041
Figure FDA0002251686140000042
式(14)中,
Figure FDA0002251686140000043
是Cx,y上落入图像上划定的中心区域Ccenter中的元素数,Ccenter是位于图像中心占图像总面积为rate∈(0,1)的矩形区域;
Figure FDA0002251686140000044
式(15)中,
Figure FDA0002251686140000045
是Cx,y经拉普拉斯滤波变换得到的矩阵变换小块,thE是设定的边缘阈值,thE>0,拉普拉斯滤波变换执行的具体功能是式(16);
Figure FDA0002251686140000046
式(16)中,Nb′(i,j)是与(i,j)相邻的4邻域的有效坐标,满足的约束如式(17)所示,|Nb′(i,j)|是(i,j)周围的有效4邻域有效坐标数量;
Figure FDA0002251686140000047
Figure FDA0002251686140000048
式(18)中,
Figure FDA0002251686140000049
是Cx,y经由2维离散余弦变换D2DCT()后的矩阵小块,如式(19)所示,C″x,y中,除
Figure FDA00022516861400000410
外都是AC系数,
Figure FDA00022516861400000411
是Cx,y所有AC系数的平均值;
C″x,y=D2DCT(Cx,y) (19)
第2.2步:由
Figure FDA00022516861400000412
按式(20)计算块Cx,y的局部复杂度cpx,y
Figure FDA0002251686140000051
式(20)中,函数Norm()是归一化函数,
Figure FDA0002251686140000052
Ω∈{I,C,L,E,T}的计算过程是从所有的
Figure FDA0002251686140000053
中选取最大的
Figure FDA0002251686140000054
记为
Figure FDA0002251686140000055
然后按
Figure FDA0002251686140000056
归一化;
第2.3步:记所有cpx,y的最大值为cpmax,然后按式(21)由cpx,y和最大调整量δ确定Cx,y最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1:
Figure FDA0002251686140000057
4.如权利要求1所述的一种基于复杂度的EMD(n,m,δ)自适应图像密写方法,其特征在于:第4步由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax的具体方法包括以下步骤:
第4.1步:记Cx,y对应的SHA256值为16进制数序列
Figure FDA0002251686140000058
这里按式(22)生成初始值x0∈(0,1),按式(23)生成系统参数μ∈[3.57,4],按式(24)生成滤除迭代次数IT>0;
Figure FDA0002251686140000059
Figure FDA00022516861400000510
Figure FDA00022516861400000511
第4.2步:将x0、μ代入式(25)生成若干随机数后,抛弃前IT个以消除暂态效应,取其连续生成的4个随机数xIT+1,xIT+2,xIT+3,xIT+4,将xIT+1,xIT+2用于按式(26)~式(27)生成n和m;
xi+1=μ·xi·(1-xi) (25)
式(25)中,μ∈[3.57,4]为系统参数,x0∈(0,1)为初始值;
Figure FDA0002251686140000061
Figure FDA0002251686140000062
5.如权利要求1所述的一种基于复杂度的EMD(n,m,δ)自适应图像密写方法,其特征在于:第5步由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′的具体方法包括以下步骤:
第5.1步:按式(28)计算Vkind,然后初始化Vkind×n维的嵌密调整表
Figure FDA0002251686140000063
Figure FDA0002251686140000064
式(28)中,
Figure FDA0002251686140000065
是n个元素中任取i个元素的全部组合数;
第5.2步:初始化计数变量j=0,k=0;
第5.3步:将j转换为n位2δx,y+1进制数,用长度为n的1维向量V=(vi)n进行存储,其中vi=0,1,…,2δx,y对应为j的第i位2δx,y+1进制数,然后按式(29)将V映射为V′=(v′i)n,vi∈{-δx,y,-δx,y+1,…,0,…,δx,y-1,δx,y},j=j+1;
v′i=vix,y (29)
第5.4步:统计V′中非零元素数量nnz,若nnz≤m,则将V′作为T的第k行,置k=k+1;
第5.5步:反复执行第5.3步和第5.4步,直至k=Vkind
第5.6步:按式(30)将T中的行置乱,作为T′;
i′=(a·i+b)mod Vkind,i=0,1,…,Vkind-1 (30)
式(30)产生同余参数a的具体规则是将随机数xIT+3,xIT+4按式(31)映射为x′IT+3∈[3.57,4],按式(32)映射为x′IT+4∈(0,1);
Figure FDA0002251686140000071
x′IT+4=0.5(xIT+3+xIT+4) (32)
将x′IT+3,x′IT+4分别作为式(25)的系统参数和初始值,将产生的随机数R按式(33)量化为R′;
Figure FDA0002251686140000072
反复执行式(25)和式(33)直至R′和Vkind互质,从而将R′作为a,然后按式(34)生成式(30)对应的同余参数b:
Figure FDA0002251686140000073
6.如权利要求1所述的一种基于复杂度的EMD(n,m,δ)自适应图像密写方法,其特征在于:第7步的具体方法包括以下步骤:
第7.1步:若lS≥n,lB>0,则循环执行第7.2步~第7.4步;
第7.2步:按式(35)从SL中截取n个元素作为SC,然后按式(36)更新SL
SC=mid(SL,0,n-1) (35)
SL=mid(SL,n,lS-1) (36)
式(35)和式(36)中,mid()是序列元素截断函数,其中第1个参数是要截断的元素序列,第2个参数是截断的元素序列起始位置索引,第3个参数为截断的元素序列终止索引位置;
第7.3步:按式(37)和式(38)从BL中截取lC个比特位串作为
Figure FDA0002251686140000074
将BC按式(39)转换为10进制数d,然后按式(40)更新BL
Figure FDA0002251686140000075
BC=truncate(BL,0,lC-1) (38)
Figure FDA0002251686140000081
BL=truncate(BL,lC,lB-1) (40)
式(38)和式(40)中,truncate()是比特位串截断函数,其中第1个参数是要截断的2值比特位串,第2个参数是截断的2值比特位串起始位置索引,第3个参数为截断的2值比特位串终止索引位置;
第7.4步:从T′中取行号为d的元素序列T′d=(v′0,v′1,…,v′n-1),按式(41)将
Figure FDA0002251686140000082
调整为
Figure FDA0002251686140000083
按式(42)将S′C附加到SE尾部并更新SE
Figure FDA0002251686140000084
SE=SE||S′C (42)
第7.5步:若lS<n时,则按式(43)将SL连接至SE尾部并更新SE,将
Figure FDA0002251686140000085
按行优先顺序扫描为H×W维矩阵小块
Figure FDA0002251686140000086
Figure FDA0002251686140000087
放置在嵌密掩体块坐标位置为(x,y)的小块位置上,置w=w+1,若lB≠0返回第4步:
SE=SE||SL (43)。
7.一种基于复杂度的EMD(n,m,δ)自适应图像密写提取方法,其特征包括以下步骤:
第1步:输入分辨率为M×N的p阶灰度载体图像C=(ci,j)M×N和嵌密掩体
Figure FDA0002251686140000088
输入提取2值比特位串BF的长度控制参数l>0,初始化BF=Φ,配置PSNR控制阈值参数Prepsnr>0,SSIM控制阈值参数PreSSIM∈(0,1)和划分的矩阵小块大小H×W,其中Φ为空集;
第2步:由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ,将C=(ci,j)M×N划分为H×W的矩阵小块
Figure FDA0002251686140000089
计算块Cx,y的局部复杂度cpx,y,然后由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1,P·Q为划分的H×W矩阵小块数量参数,P,Q由式(10)确定;
第3步:将(x,y,cpx,yx,y),x=0,1,…,P-1,y=0,1,…,Q-1按cpx,y从大到小进行排列作为载体嵌密信息表CI,置计数变量w=0;
第4步:取CI中的第w个4元组(x,y,cpx,yx,y),由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax
第5步:由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′;
第6步:将Cx,y
Figure FDA0002251686140000091
分别扫描为1维载体序列SL和嵌密载体序列SE,若SL的长度lS≥n,则反复截取SL和SE长度为n的2值比特位串SCL=(si)n
Figure FDA0002251686140000092
从中获取调整量T′d=(v′0,v′1,…,v′n-1),然后从T′中找到对应的行号d,将其转换为2值比特位串BC添加至BF,置w=w+1,执行第4步直至lS<n;
第7步:若lS<n,则进一步判断当前BF的长度lF是否大于等于l:若lF≥l,则从BF中提取前l个2值比特作为最终提取出的2值秘密信息比特位串B输出;若lF<l,则执行w=w+1,循环执行第4步至第7步直至lF≥l。
8.如权利要求7所述的一种基于复杂度的EMD(n,m,δ)自适应图像密写提取方法,其特征在于:第2步由Prepsnr和PreSSIM确定C=(ci,j)M×N的最大调整量δ的具体方法包括以下步骤:
第2.1a步:初始化δ=1,然后对C=(ci,j)M×N中的每个元素按式(1)施加整数随机扰动ri,j∈[-δ,δ];
第2.2a步:按式(2)和式(3)分别计算C′=(c′i,j)M×N相对于C=(ci,j)M×N的PSNR和SSIM值:PSNRC′和SSIMC′
第2.3a步:若PSNRC′>Prepsnr且PreSSIM>PreSSIM,则取δ=δ+1,循环执行第2.1a步至第2.3a步,直至不满足条件:PSNRC′>Prepsnr且PreSSIM>PreSSIM,否则取δ=δ-1,然后将δ作为最大调整量;
第2步计算块Cx,y的局部复杂度cpx,y的具体方法在于包括以下步骤:
第2.1b步:按式(11)计算Cx,y的强度复杂度
Figure FDA0002251686140000101
按式(12)~式(13)计算Cx,y的对比度复杂度
Figure FDA0002251686140000102
按式(14)计算Cx,y的位置复杂度
Figure FDA0002251686140000103
按式(15)~式(17)计算Cx,y的边缘复杂度
Figure FDA0002251686140000104
以及按式(18)~式(19)计算Cx,y的纹理复杂度
Figure FDA0002251686140000105
第2.2b步:由
Figure FDA0002251686140000106
按式(20)计算块Cx,y的局部复杂度cpx,y
第2.3b步:记所有cpx,y的最大值为cpmax,然后按式(21)由cpx,y和最大调整量δ确定Cx,y最大调整量δx,y,其中x=0,1,…,P-1,y=0,1,…,Q-1;
第2步由cpx,y和最大调整量δ确定Cx,y的最大调整量δx,y的具体方法是式(21)。
9.如权利要求7所述的一种基于复杂度的EMD(n,m,δ)自适应图像密写提取方法,其特征在于:第4步由Cx,y对应的哈希值和用户密钥随机生成整数0<m≤n≤nmax的具体方法包括以下步骤:
第4.1步:记Cx,y对应的SHA256值为16进制数序列
Figure FDA0002251686140000107
这里按式(22)生成初始值x0∈(0,1),按式(23)生成系统参数μ∈[3.57,4],按式(24)生成滤除迭代次数IT>0;
第4.2步:将x0、μ代入式(25)生成若干随机数后,抛弃前IT个以消除暂态效应,取其连续生成的4个随机数xIT+1,xIT+2,xIT+3,xIT+4,将xIT+1,xIT+2用于按式(26)~式(27)生成n和m;
第5步由n,m,δx,y生成嵌密调整表T并通过Cx,y对应的哈希值和用户密钥将T置乱为T′的具体方法包括以下步骤:
第5.1步:按式(28)计算Vkind,然后初始化Vkind×n维的嵌密调整表
Figure FDA0002251686140000111
第5.2步:初始化计数变量j=0,k=0;
第5.3步:将j转换为n位2δx,y+1进制数,用长度为n的1维向量V=(vi)n进行存储,其中vi=0,1,…,2δx,y对应为j的第i位2δx,y+1进制数,然后按式(29)将V映射为V′=(v′i)n,vi∈{-δx,y,-δx,y+1,…,0,…,δx,y-1,δx,y},j=j+1;
第5.4步:统计V′中非零元素数量nnz,若nnz≤m,则将V′作为T的第k行,置k=k+1;
第5.5步:反复执行第5.3步和第5.4步,直至k=Vkind
第5.6步:按式(30)将T中的行置乱,作为T′。
10.如权利要求7所述的一种基于复杂度的EMD(n,m,δ)自适应图像密写提取方法,其特征在于:第6步反复截取SL和SE长度为n的2值比特位串SCL=(si)n
Figure FDA0002251686140000112
的具体方法是按式(44)从SL和SE分别截取n个元素作为当前正在处理的载体和嵌密载体元素序列SCL=(si)n
Figure FDA0002251686140000113
然后按式(45)对SL和SE进行更新,其中lS和lE分别为SL和SE的长度;
Figure FDA0002251686140000114
Figure FDA0002251686140000115
第6步获取调整量T′d=(v′0,v′1,…,v′n-1)的具体方法是式(46);
Figure FDA0002251686140000121
第6步将d转换为2值比特位串
Figure FDA0002251686140000122
的具体方法是式(47),其中lC按式(48)确定;
Figure FDA0002251686140000123
Figure FDA0002251686140000124
式(48)中,符号
Figure FDA0002251686140000125
是向上取整函数;
第6步将BC添加至BF的具体方法是式(49);
BF=BF||BC (49)
第7步提取出B作为最终提取的2值秘密比特位串的具体方法是式(50):
B=mid(BF,0,l-1) (50)。
CN201811168586.7A 2018-10-08 2018-10-08 一种基于复杂度的EMD(n,m,δ)自适应图像密写方法 Active CN109194846B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811168586.7A CN109194846B (zh) 2018-10-08 2018-10-08 一种基于复杂度的EMD(n,m,δ)自适应图像密写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811168586.7A CN109194846B (zh) 2018-10-08 2018-10-08 一种基于复杂度的EMD(n,m,δ)自适应图像密写方法

Publications (2)

Publication Number Publication Date
CN109194846A CN109194846A (zh) 2019-01-11
CN109194846B true CN109194846B (zh) 2020-05-12

Family

ID=64946826

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811168586.7A Active CN109194846B (zh) 2018-10-08 2018-10-08 一种基于复杂度的EMD(n,m,δ)自适应图像密写方法

Country Status (1)

Country Link
CN (1) CN109194846B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112437314B (zh) * 2020-10-16 2022-11-01 陕西师范大学 高效视频编码标准帧内图像质量估计方法
CN116506232B (zh) * 2023-06-28 2023-10-10 南京畅洋科技有限公司 基于信道编码的大容量物联网隐蔽信道构建方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6714683B1 (en) * 2000-08-24 2004-03-30 Digimarc Corporation Wavelet based feature modulation watermarks and related applications
US9613250B2 (en) * 2012-09-05 2017-04-04 Nec Corporation Method and system for biometrical identification of a user
CN104835109B (zh) * 2015-05-28 2018-06-12 陕西师范大学 一种迭代自适应可逆水印嵌入和提取方法
CN106791265B (zh) * 2016-11-11 2019-06-11 陕西师范大学 一种基于无权值向量的改进emd图像密写嵌入和提取方法
CN106600517B (zh) * 2016-11-11 2019-06-11 陕西师范大学 一种基于emd-3的多载体密图分存和重构方法

Also Published As

Publication number Publication date
CN109194846A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
Muhammad et al. A secure method for color image steganography using gray-level modification and multi-level encryption
Zhang Reversible data hiding with optimal value transfer
Kumar et al. Secure video communication using firefly optimization and visual cryptography
Lee et al. A novel data hiding scheme based on modulus function
Shen et al. A novel data hiding for color images based on pixel value difference and modulus function
Liu et al. Data hiding based on extended turtle shell matrix construction method
CN114339258B (zh) 一种基于视频载体的信息隐写方法及装置
Jenifer et al. LSB approach for video steganography to embed images
CN110430336B (zh) 图像隐藏和恢复的方法、设备和存储介质
CN109194846B (zh) 一种基于复杂度的EMD(n,m,δ)自适应图像密写方法
Kasana et al. Reference based semi blind image watermarking scheme in wavelet domain
GNDU RC State-of-the-art Review on Steganographic Techniques
Amiri et al. A new visual cryptography based watermarking scheme using DWT and SIFT for multiple cover images
Plata et al. Robust spatial-spread deep neural image watermarking
Thanikaiselvan et al. High security image steganography using IWT and graph theory
Yassin et al. Image Steganography Technique Based on Integer Wavelet Transform Using Most Significant Bit Categories.
Wang et al. TPE-ISE: approximate thumbnail preserving encryption based on multilevel DWT information self-embedding
Kuo et al. A Formula Diamond Encoding Data Hiding Scheme.
Albdour et al. A steganographic method based on roberts operator
CN109447886B (zh) 结合emd-21嵌入的带恢复多载体密图分存方法
CN106791265A (zh) 一种基于无权值向量的改进emd图像密写嵌入和提取方法
CN109255748B (zh) 基于双树复小波的数字水印处理方法及系统
Yang Robust Watermarking Scheme Based on Radius Weight Mean and Feature‐Embedding Technique
Li et al. A robust watermarking scheme with high security and low computational complexity
Yang Robust high-capacity watermarking scheme based on Euclidean norms and quick coefficient alignment

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