CN110430337B - 图像伪装及图像恢复的方法、设备和存储介质 - Google Patents

图像伪装及图像恢复的方法、设备和存储介质 Download PDF

Info

Publication number
CN110430337B
CN110430337B CN201910712532.0A CN201910712532A CN110430337B CN 110430337 B CN110430337 B CN 110430337B CN 201910712532 A CN201910712532 A CN 201910712532A CN 110430337 B CN110430337 B CN 110430337B
Authority
CN
China
Prior art keywords
image
sequence
secret
value
random
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
CN201910712532.0A
Other languages
English (en)
Other versions
CN110430337A (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 CN201910712532.0A priority Critical patent/CN110430337B/zh
Publication of CN110430337A publication Critical patent/CN110430337A/zh
Application granted granted Critical
Publication of CN110430337B publication Critical patent/CN110430337B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/32203Spatial or amplitude domain methods
    • 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/32203Spatial or amplitude domain methods
    • H04N1/32229Spatial or amplitude domain methods with selective or adaptive application of the additional information, e.g. in selected regions of the image
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种图像伪装及图像恢复的方法、设备和存储介质。首先,将灰度图像圆形化并按像素均值增序排列作为编码图像,通过误差扩散将掩体图像转化为半色调图像;其次,通过随机加密映射矩阵对秘密信息加密;最后,遍历掩体图像选取像素值对应编码图像,对隐藏和非隐藏位置,分别将编码图像旋转与秘密信息相关角度和随机角度,进而生成马赛克图像。在提取时,根据密钥以及区间认证策略提取和认证秘密信息。本方法用编码圆形图像的旋转角度来表达秘密信息并始终选取掩体像素相对应的编码图像,因此不会产生任何偏差,也不会导致视觉质量下降。本方法抗攻击能力强,认证精度高,且提取过程完全依赖于密钥,具有较高的安全性。

Description

图像伪装及图像恢复的方法、设备和存储介质
技术领域
本发明属于图像信息安全和数字图像信号处理交叉领域,涉及一种图像伪装及图像恢复的方法、设备和存储介质。
背景技术
压缩技术的持续发展以及基于统计学习的隐写分类器维数的不断提升,使得传统修改式信息隐藏可供利用的冗余空间越来越少,同时隐藏的信息也越来越容易被发现。
为解决此问题,人们提出了无载体信息隐藏。其中比较典型的方法有①搜索式无载体信息隐藏,例如:Zhou Z L,2015(Zhou Z L,Sun H Y,Harit R,et al.Coverlessimage steganography without embedding[C]//International Conference on CloudComputing and Security.Springer International Publishing,2015:123-132.),YuanC S,2017(Yuan C S,Xia Z H,Sun X M.Coverless image steganography based on SIFTand BOF[J].Journal of Internet Technology,2017,18(2):435-442.),Zhou Z L,2017(Zhou Z L,Wu J Q.M,Yang C N,et al.Coverless image steganography usinghistograms of oriented gradients-based hashing algorithm[J].Journal ofInternet Technology,2017,18(5):1177-1184.),但该方法涉及大量载体密集传输且单载体嵌密容量极低;②基于纹理合成的无载体信息隐藏,例如:Xu J,2015(Xu J,Mao X,JinX,et al.Hidden message in a deformation-based texture[J].Visual ComputerInternational Journal of Computer Graphics,2015,31(12):1653-1669.),Wu K C,2015(Wu K C,Wang C M,Steganography using reversible texture synthesis[J].IEEETransactions on Image Processing,2015,24(1):130-139.),Qin Z C,2017(Qin Z C,LiM,Wu B.Robust steganography via patch-based texture synthesis[C]//International Conference on Internet Multimedia Computing andService.Springer,Singapore,2017:429-439.),但该方法只能生成简单质地纹理图像,对秘密信息难以实现有效的掩盖。
传统基于马赛克拼图的信息隐藏方法通过拼图的方法来产生有意义图像,例如:Lin W L,2004(Lin W L,Tsai W H.Data hiding in image mosaics by visibleboundary regions and its copyright protection application against print-andscan attacks[C].Proceeding of International Computer symposium,Taipei,Taiwan,2004:449-454.)将矩形图像作为编码单元,将其拼接为有意义掩体图像,并通过对编码单元的边界引入随机噪声来改变边界方差以表达秘密信息;Lee Y L,2014(Lee Y L,Tsai WH.A new secure image transmission technique via secret-fragment-visiblemosaic images by nearly reversible color transformations[J].IEEE Transactionson Circuits&Systems for Video Technology,2014,24(4):695-703.)将密图划分为小块作为字典,通过块标准差建立密图小块到掩体小块之间的一一映射关系,通过对密图小块的线性变换和调整密图小块的放置方向来生成有意义掩体图像。
Hou D,2016(Hou D,Zhang W,Yu N.Image camouflage by reversible imagetransformation[J].Journal of Visual Communication&Image Representation,2016,40:225-236.)在此基础上,进一步引入均值聚类用于对密图和掩体划分小块进行分类和匹配,然后由密图小块生成有意义含密掩体;刘小凯,2018(刘小凯,姚恒,秦川.基于图像块分类阈值优化的改进可逆图像伪装[J].应用科学学报,2018,36(2):237-246.)对Hou D,2016进行了改进,采用优化分类阈值来减小密图和掩体划分小块的均方差,并引入Tangram算法的等距变换来最小化均方差。
但以上这些方法:Lin W L,2004、Lee Y L,2014、Hou D,2016和刘小凯,2018都需借助修改式嵌入的方式来隐藏变换参数,例如基于LSB的可逆信息嵌入Dinu C,2007(DinuC,Jean-Marc C.Very fast watermarking by reversible contrast mapping[J].IEEESignal Processing Letters,2007,14(4):255-258.),难以抵抗密写分析算法的检测。同时LSB嵌入,鲁棒性差,在遭受攻击时,容易导致嵌入的参数彻底丢失。
为避免修改式嵌入,同时增强抗攻击能力,邵利平,2018(邵利平,王洋.一种结合块旋转和马赛克的无嵌入伪装方法[P].中国,中华人民共和国知识产权局,发明专利,201810449626.9.)提出一种结合块旋转和马赛克拼图的生成式伪装方法,该方法通过在隐藏和非隐藏位置放置与密钥和位置关联或与掩体放置位置相关的圆形图像来对秘密信息进行表达和掩盖,再把产生的误差扩散给周围未处理的像素,进而生成有意义马赛克图像。该方法仅利用编码图像以及转角对秘密信息进行表达和掩盖来构建马赛克图像,在嵌密过程中不涉及对圆形编码图像的任何修改式嵌入,也不涉及大量载体的密集传输,还能生成各种有意义的马赛克图像且能容忍高强度的随机噪声攻击,低质量的JPEG压缩和对随机剪切擦除攻击具有一定的抗攻击容忍能力,并且该方法的提取过程完全依赖于密钥,具有较高的认证精度。
但该方法在嵌密位置放置与待隐藏秘密信息相关的圆形图像来对秘密信息进行表达会导致生成的马赛克图像视觉质量较差,而较差的视觉质量也容易导致隐藏的秘密信息发生泄漏。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供一种图像伪装及图像恢复的方法、设备和存储介质。
为达到上述目的,本发明采用以下技术方案予以实现:
一种图像伪装方法,包括以下步骤:
S1:给定分辨率为m0×n0的P0阶灰度掩体图像
Figure GDA0003088224650000031
分辨率为m1×n1的2值密图
Figure GDA0003088224650000032
通信双方约定的分辨率为(2r-1)×(2r-1)的L个两两不相等的灰度图像
Figure GDA0003088224650000033
S2:将所有的灰度图像Hk编码为编码圆形图像
Figure GDA0003088224650000034
S3:将灰度掩体图像T通过误差扩散预处理转化为L级半色调图像
Figure GDA0003088224650000035
S4:通过预设的密钥k0生成随机转角矩阵
Figure GDA0003088224650000036
其中n是随机放置的转角数量;
通过预设的密钥k1生成
Figure GDA0003088224650000041
个两两不等的m0×n0范围内的随机整数坐标序列,记为
Figure GDA0003088224650000042
其中m∈{1,…,m1·n1},符号
Figure GDA0003088224650000043
表示向上取整;
通过预设的密钥k2生成2维加密映射矩阵
Figure GDA0003088224650000044
其中zi,w∈[0,n-1]且加密映射矩阵Z中任意一行对应的2m个随机值两两不等;
通过预设的密钥k3生成遍历顺序序列
Figure GDA0003088224650000045
且遍历顺序序列E中的坐标两两不等;
S5:将密图
Figure GDA0003088224650000046
扫描为2值秘密比特序列
Figure GDA0003088224650000047
并以m个比特为一组加密映射得到映射转角序列
Figure GDA0003088224650000048
S6:初始化分辨率为m2×n2的P2阶灰度图像
Figure GDA0003088224650000049
其中m2=m0·(2r-1),n2=n0·(2r-1);
S7:根据遍历顺序序列E确定半色调图像T′中每个像素的遍历顺序,按遍历顺序对L级半色调图像T′中的每个像素t′i,j∈{0,1,…,L-1}从编码圆形图像
Figure GDA00030882246500000410
中选择对应的编码圆形图像
Figure GDA00030882246500000411
通过随机转角矩阵IND和映射转角序列
Figure GDA00030882246500000412
得到编码圆形图像
Figure GDA00030882246500000413
的放置转角,根据放置转角将编码圆形图像
Figure GDA00030882246500000414
放置在灰度图像M上,直至半色调图像T′中的所有像素处理完毕,将处理完毕的灰度图像M作为嵌密掩体输出完成伪装。
本发明图像伪装方法进一步的改进在于:
所述S2的具体方法为:
S2-1:通过式(1)将灰度图像Hk转化为半径为r的圆形图像
Figure GDA00030882246500000415
Figure GDA00030882246500000416
S2-2:将H′k,k=0,1,…,L-1通过半径r范围内的均值进行增序排列作为编码圆形图像
Figure GDA00030882246500000417
所述S3的具体方法为:
S3-1:初始化分辨率为m0×n0的空白半色调图像
Figure GDA0003088224650000051
S3-2:通过式(2)将灰度掩体图像T中的当前未处理元素ti,j转化为t′i,j
Figure GDA0003088224650000052
其中,符号
Figure GDA0003088224650000053
表示向下取整;
S3-3:通过式(3)计算视觉偏差Δi,j
Figure GDA0003088224650000054
S3-4:按式(4)将Δi,j均分至ti,j周围8邻域内未通过式(2)处理的像素上;
Figure GDA0003088224650000055
其中,NC是ti,j周围8邻域内未按式(2)处理的像素个数,符号
Figure GDA0003088224650000056
表示四舍五入取整,
Figure GDA0003088224650000057
表示:当x<0,
Figure GDA0003088224650000058
Figure GDA0003088224650000059
Figure GDA00030882246500000510
Figure GDA00030882246500000511
S3-5:重复S3-2~S3-4直至灰度掩体图像T中元素读取完毕,输出L级半色调图像T′。
所述S5的具体方法为:
S5-1:通过式(5)从2值秘密比特序列B中依次截取长度为m的2值比特位串
Figure GDA00030882246500000512
若2值秘密比特序列B中剩余长度不足m,则截取2值秘密比特序列B中剩余全部比特,然后将B′i转化为[0,2m-1]范围内的10进制数b′i
Figure GDA00030882246500000513
其中,Cut()为2值序列截取函数,第1个参数为待截取的2值秘密比特序列,第2个参数为截取的开始位置,第3个参数为截取的长度;
S5-2:将加密映射矩阵Z中第i行b′i列元素
Figure GDA00030882246500000514
作为b″i,存于映射转角序列
Figure GDA00030882246500000515
中;
S5-3:重复S5-1~S5-2直至2值秘密比特序列B中元素截取完毕,输出映射转角序列B″;
所述S7中根据放置转角将编码圆形图像
Figure GDA0003088224650000061
放置在灰度图像M上的具体方法是:
根据放置转角,将
Figure GDA0003088224650000062
旋转为
Figure GDA0003088224650000063
然后将
Figure GDA0003088224650000064
放置在灰度图像M起始坐标为X=(2r-1)·i,Y=(2r-1)·j,大小为(2r-1)×(2r-1)的小块上;其中,根据放置转角,将
Figure GDA0003088224650000065
旋转为
Figure GDA0003088224650000066
的具体方法为:
A1:初始化μ=0;
A2:若(i,j)∈P,读取映射转角序列B″中的第μ个元素b″μ,并将b″μ赋值给bcur,μ=μ+1;
A3:若
Figure GDA0003088224650000067
随机生成一个[0,n-1]范围内的10进制数赋值给bcur
A4:从随机转角矩阵IND中读取元素indi,j,通过式(6)计算
Figure GDA0003088224650000068
在灰度图像M中的放置转角α,通过式(7)将
Figure GDA0003088224650000069
逆时针旋转为
Figure GDA00030882246500000610
α=((indi,j+bcur)modn)·2π/n (6)
Figure GDA00030882246500000611
其中,Rot()为逆时针旋转函数,第1个参数为待旋转的图像,第2个参数为逆时针旋转角度。
本发明又一方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述图像伪装方法的步骤。
本发明又一方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述图像伪装方法的步骤。
本发明又一方面,一种图像恢复方法,包括以下步骤:
Q1:给定分辨率为m2×n2的P2阶嵌密掩体
Figure GDA00030882246500000612
通信双方约定的L个分辨率为(2r-1)×(2r-1)两两不等的灰度图像
Figure GDA00030882246500000613
且嵌密掩体M分辨率满足m2mod(2r-1)=0,n2mod(2r-1)=0;输入密图分辨率m1×n1和预设的密钥k0,k1,k2和k3
Q2:将所有的灰度图像Hk编码为编码圆形图像
Figure GDA0003088224650000071
Q3:通过预设的密钥k0生成随机转角矩阵
Figure GDA0003088224650000072
其中m0=m2/(2r-1),n0=n2/(2r-1);
通过预设的密钥k1产生
Figure GDA0003088224650000073
个两两不等的m0×n0范围内的随机整数坐标序列
Figure GDA0003088224650000074
其中m∈{1,…,m1·n1};
通过预设的密钥k2产生2维加密映射矩阵
Figure GDA0003088224650000075
其中zi,w∈[0,n-1]且加密映射矩阵Z中任意一行对应的2m个随机值两两不等;
通过预设的密钥k3生成遍历顺序序列
Figure GDA0003088224650000076
且遍历顺序序列E中的坐标两两不等;
Q4:初始化认证序列
Figure GDA0003088224650000077
通过遍历顺序序列E确定随机整数坐标序列P的遍历顺序,通过随机转角矩阵IND、随机整数坐标序列P、加密映射矩阵Z和遍历顺序序列E从嵌密掩体M中提取密图S并得到认证图A。
本发明图像恢复方法进一步的改进在于:
所述Q2的具体方法为:
Q2-1:通过式(8)将Hk转化为半径为r的圆形图像
Figure GDA0003088224650000078
Figure GDA0003088224650000079
Q2-2:将H′k,k=0,1,…,L-1通过半径r范围内的均值进行增序排列作为编码圆形图像
Figure GDA00030882246500000710
所述Q4中通过随机转角矩阵IND、随机整数坐标序列P、加密映射矩阵Z和遍历顺序序列E从嵌密掩体M中提取密图S并得到认证图A的具体方法为:
R1:初始化计数变量u=0,2值秘密比特序列B=Φ,Φ为空集;
R2:通过随机整数坐标序列P的遍历顺序依次读取随机整数坐标序列
Figure GDA00030882246500000711
中的当前坐标(xu,yu),通过式(9)计算(X,Y),然后以(X,Y)为起点从嵌密掩体M中截取大小为(2r-1)×(2r-1)的灰度图像Mu
Figure GDA0003088224650000081
R3:从所有编码圆形图像
Figure GDA0003088224650000082
中选取与灰度图像Mu均值最接近的编码圆形图像
Figure GDA0003088224650000083
并记录其索引值
Figure GDA0003088224650000084
R4:通过式(10)将编码圆形图像
Figure GDA0003088224650000085
依次旋转αv个角度,其中αv=v×2π/n,v=0,1,…,n-1,记旋转后的编码圆形图像为
Figure GDA0003088224650000086
通过式(11)从旋转后的编码圆形图像
Figure GDA0003088224650000087
中选取与灰度图像Mu二次距离最小的旋转后的编码圆形图像
Figure GDA0003088224650000088
并记录加密转角
Figure GDA0003088224650000089
Figure GDA00030882246500000810
Figure GDA00030882246500000811
其中,Rot()为逆时针旋转函数,第1个参数为待旋转的图像,第2个参数为逆时针旋转角度,
Figure GDA00030882246500000812
为Mu
Figure GDA00030882246500000813
的二次距离;
R5:读取随机转角矩阵IND中元素
Figure GDA00030882246500000814
通过式(12)获取秘密信息加密映射值Xu
Figure GDA00030882246500000815
R6:从加密映射矩阵Z中读取zu,w,w=0,1,…,2m-1,当
Figure GDA00030882246500000816
或m1·n1/m为整数时,通过式(13)获取秘密信息su和认证信息du,将su转化为长度为m的2值提取比特位串Bu;当
Figure GDA00030882246500000817
且m1·n1/m不为整数时,则通过式(14)计算m′,将su转化为长度为m′的2值提取比特位串Bu,通过式(15)组成新的2值秘密比特序列
Figure GDA00030882246500000818
更新u=u+1;
Figure GDA00030882246500000819
其中,w′为[0,2m-1]中的随机数,du=0表示认证通过,du=255表示认证失败;
Figure GDA00030882246500000820
B=B||Bu (15)
其中,符号“||”是比特位串连接符,用于将两个比特序列连接成一个比特序列;
R7:重复R2~R6直至随机整数坐标序列P中元素读取完毕,得到2值秘密比特序列B和认证序列D;
R8:将2值秘密比特序列B扫描成分辨率为m1×n1的图像,得到密图S,由认证序列D得到认证图A。
所述R3的具体方法是:
通过式(16)从所有编码圆形图像
Figure GDA0003088224650000091
中选取与灰度图像Mu均值最接近的编码圆形图像
Figure GDA0003088224650000092
并记录其索引
Figure GDA0003088224650000093
值;
Figure GDA0003088224650000094
其中,avg()用于计算大小为(2r-1)×(2r-1)的灰度图像半径r范围内像素的均值,med()用于大小为(2r-1)×(2r-1)的灰度图像半径r范围内像素的中值滤波。
本发明又一方面,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述图像恢复方法的步骤。
本发明又一方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述图像恢复方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本方法直接将掩体图像通过误差扩散预处理转化为多级半色调图像,在遍历掩体图像过程中始终选取与掩体像素值对应的编码图像,对于隐藏和非隐藏位置,分别将编码图像旋转与秘密信息相关角度和随机角度,进而生成马赛克图像。通过编码图像的旋转角度来表达秘密信息,在整个放置过程中不存在任何以嵌密为目的的编码图像调整,因此不会产生任何误差来降低生成掩体的视觉质量,避免了现有方法需要通过在嵌密位置放置与待隐藏秘密信息相关的圆形图像来对秘密信息进行表达,进而导致生成的马赛克图像的视觉质量较差,而较差的视觉质量也容易导致隐藏的秘密信息发生泄漏的问题。通过马赛克拼图的方法来生成高质量的有意义的含密载体,避免了只能生成简单质地的纹理图像问题。解决了传统基于纹理合成的无载体信息隐藏只能生成简单质地纹理图像,对秘密信息难以实现有效的掩盖。通过编码图像的转角来表达秘密信息并将含密圆形图像隐藏在一张马赛克图像中,避免了大量载体密集传输以及嵌密容量较低的问题。相较于传统基于马赛克拼图的信息隐藏方法通过拼图的方法来产生有意义图像,需借助修改式嵌入的方式来隐藏变换参数的问题,本发明通过密钥决定秘密信息的放置位置,编码图像在放置过程中不涉及任何参数的修改式嵌入,避免了由于修改式嵌入导致的密写异常的问题。本方法仅利用编码图像随机选择的部分旋转角度来构造合法区间编码秘密信息,通过验证提取信息是否落入合法区间来对提取秘密信息的准度进行检验,具有较高的认证精度。本方法的嵌入和提取过程完全依赖于密钥,且通过非修改式嵌入方法来表达秘密信息,在遭受攻击时,表达秘密信息的图像及转角不易丢失,可容易地根据用户密钥提取出秘密信息,具有较强的抗攻击鲁棒性,可容忍高强度的噪声攻击,且对于随机剪切擦除和JPEG压缩攻击也具有一定的抗攻击容忍能力。
附图说明
图1为本发明的伪装方法流程图;
图2为本发明的恢复方法流程图;
图3为本发明实施例的掩体图像1,为128×128分辨率的8阶灰度图像cameraman;
图4为本发明实施例的掩体图像2,为128×128分辨率的8阶灰度图像woman;
图5为本发明实施例的掩体图像3,为128×128分辨率的8阶灰度图像man;
图6为本发明实施例的掩体图像4,为128×128分辨率的8阶灰度图像lena;
图7为本发明实施例的密图,为128×128分辨率的2值图像secret;
图8为本发明实施例的嵌入图7后的掩体图像1;
图9为本发明实施例的嵌入图7后的掩体图像2;
图10为本发明实施例的嵌入图7后的掩体图像3;
图11为本发明实施例的嵌入图7后的掩体图像4;
图12为本发明实施例图8的局部细节图;
图13为本发明实施例图9的局部细节图;
图14为本发明实施例图10的局部细节图;
图15为本发明实施例图11的局部细节图;
图16为本发明实施例,由图8~图11恢复出的密图;
图17为本发明实施例,对图8进行随机剪切攻击后的图,攻击占比为20%;
图18为本发明实施例,从图17恢复出的密图;
图19为本发明实施例,对图8进行随机剪切攻击后的图,攻击占比为40%;
图20为本发明实施例,从图19恢复出的密图;
图21为本发明实施例,对图9进行JPEG压缩攻击后的图,质量因子为50;
图22为本发明实施例,从图21恢复出的密图;
图23为本发明实施例,对图9进行JPEG压缩攻击后的图,质量因子为80;
图24为本发明实施例,从图23恢复出的密图;
图25为本发明实施例,对图10进行椒盐噪声攻击后的图,噪声强度为8%;
图26为本发明实施例,从图25恢复出的密图;
图27为本发明实施例,对图10进行椒盐噪声攻击后的图,噪声强度为20%;
图28为本发明实施例,从图27恢复出的密图;
图29为现有方法嵌入图7后的掩体图像4。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面结合附图对本发明做进一步详细描述:
以下以JAVAjdk1.8.0_65为案例实施环境,结合附图对本发明实施方式进行详细说明,但不局限于本实施案例。
参见图1,嵌入方法的具体实施步骤:
第1步:输入分辨率为m0×n0的P0阶灰度掩体图像
Figure GDA0003088224650000121
分辨率为m1×n1的2值密图
Figure GDA0003088224650000122
通信双方约定的分辨率为(2r-1)×(2r-1)的L个两两不相等的灰度图像
Figure GDA0003088224650000123
例如:若取m0=n0=2,P0=8,则可输入一幅分辨率为2×2的8阶灰度掩体图像
Figure GDA0003088224650000124
其中t0,0=10,t0,1=135,t1,0=255,t1,1=0∈{0,1,…,255};若取m1=n1=2,则可输入分辨率为2×2的2值密图
Figure GDA0003088224650000125
其中s0,0=0,s0,1=1,s1,0=1,s1,1=0,即所有的si,j∈{0,1};若取r=33,L=32,则需通信双方约定分辨率为(2r-1)×(2r-1)=(2·33-1)×(2·33-1)=65×65两两不相等的灰度图像
Figure GDA0003088224650000126
第2步:按式(1)将所有的Hk转化为半径为r的圆形图像
Figure GDA0003088224650000127
对H′k,k=0,1,…,L-1按半径r范围内的均值进行增序排列作为编码圆形图像
Figure GDA0003088224650000128
Figure GDA0003088224650000129
例如:式(1)的含义是将距离Hk圆心(r-1,r-1)半径r范围内的所有元素保留,而将不在此范围内的元素清零,通过式(1)可将Hk转换为半径为r的圆形图像,对于每个圆形图像H′k,k=0,1,…,L-1,可计算(i-r+1)2+(j-r+1)2≤r2范围内的所有像素之和,进而通过(i-r+1)2+(j-r+1)2≤r2范围内的像素数量计算其均值,从而通过均值从小到大的顺序将H′k,k=0,1,…,L-1进行排列,将排列后的H′k,k=0,1,…,L-1作为编码图像
Figure GDA0003088224650000131
其中R0圆形范围内的均值最小,RL-1圆形范围内的均值最大。
第3步:将T通过误差扩散预处理转化为L级半色调图像
Figure GDA0003088224650000132
具体方法为:
1)初始化分辨率为m0×n0的空白半色调图像
Figure GDA0003088224650000133
例如:取L=32,m0=n0=2,则可初始化分辨率为2×2的空白图像
Figure GDA0003088224650000134
t′i,j∈{0,1,…,31};
2)通过式(2)将T中的当前未处理元素ti,j转化为t′i,j
Figure GDA0003088224650000135
式(2)中,符号
Figure GDA0003088224650000136
表示向下取整;
例如:若P0=8,L=32时,则由式(2)知:
Figure GDA0003088224650000137
从而按式(2)可将区间
Figure GDA0003088224650000138
划分为[0,QL=8),[QL=8,2·QL=16),…,[31·QL=248,255];由
Figure GDA0003088224650000139
知t0,0=10,因此t0,0∈[QL=8,2·QL=16),根据式(2),可得到t′0,0=1。
3)按式(3)计算视觉偏差Δi,j
Figure GDA00030882246500001310
例如:取QL=8,t0,0=10,t′0,0=1,则按式(3)可得到:
Figure GDA00030882246500001311
4)按式(4)将Δi,j均分至ti,j周围8邻域内未通过式(2)处理的像素上;
Figure GDA00030882246500001312
其中,NC是ti,j周围8邻域内未按式(2)处理的像素个数,符号
Figure GDA00030882246500001313
表示四舍五入取整,
Figure GDA00030882246500001314
表示:当x<0,
Figure GDA00030882246500001315
Figure GDA00030882246500001316
Figure GDA0003088224650000141
例如:当t0,0=10时,以像素t0,0为中心像素的8邻域未处理像素在
Figure GDA0003088224650000142
上仅有t0,1=135,t1,0=255,t1,1=0,因此NC=3,则按式(4)有:
Figure GDA0003088224650000143
Figure GDA0003088224650000144
Figure GDA0003088224650000145
5)若T中元素未读取完毕,则转2),反之输出L级半色调图像T′;
例如:以
Figure GDA0003088224650000146
为例,当t0,0处理完后可得到t′0,0=1,还需转2)依次处理t0,1,t1,0,t1,1,若t0,0,t0,1,t1,0,t1,1都处理完毕,则可得到t′0,0=1,t′0,1=16,t′1,0=31,t′1,1=0∈{0,1,…,L-1},从而可得到
Figure GDA0003088224650000147
第4步:通过预设的密钥k0生成随机转角矩阵
Figure GDA0003088224650000148
通过预设的密钥k1生成
Figure GDA0003088224650000149
个两两不等的m0×n0范围内的随机整数坐标序列,记为
Figure GDA00030882246500001410
其中m∈{1,…,m1·n1},符号
Figure GDA00030882246500001411
表示向上取整;通过预设的密钥k2生成2维加密映射矩阵
Figure GDA00030882246500001412
其中zi,w∈[0,n-1]且加密映射矩阵Z中任意一行对应的2m个随机值两两不等;通过预设的密钥k3生成遍历顺序序列
Figure GDA00030882246500001413
且E中的坐标两两不等;
例如:若取线性同余随机发生器的随机种子作为密钥k0,k1,k2,k3,取k0=13876,n=16时,可伪随机生成IND,这里假定
Figure GDA00030882246500001414
即ind0,0=3,ind0,1=9,ind1,0=15,ind1,1=1;取k1=27621,m=2,m1=n1=2,可产生
Figure GDA00030882246500001415
个两两不等的2×2范围内的随机整数坐标序列记为P,这里假定P={p0=(x0,y0)=(1,1),p1=(x1,y1)=(0,0)};取k2=85633,m=2,n=16,m1=n1=2,可生成映射矩阵Z,其中
Figure GDA0003088224650000151
2m=4,因此Z的规模为2×4,这里假定生成的
Figure GDA0003088224650000152
其中Z的每一行都是由2m=4个[0,n-1=15]范围内的不等的随机数所构成,例如Z的第0行为(1,13,5,9),第1行为(0,6,11,7);取密钥k3=58769生成遍历顺序序列E,这里假定E={(1,0),(0,0),(1,1),(0,1)}。
第5步:将密图
Figure GDA0003088224650000153
扫描为2值秘密比特序列
Figure GDA0003088224650000154
并以m个比特为一组加密映射得到映射转角序列
Figure GDA0003088224650000155
具体方法为:
1)通过式(5)从2值秘密比特序列B中依次截取长度为m的2值比特位串
Figure GDA0003088224650000156
若2值秘密比特序列B中剩余长度不足m,则截取2值秘密比特序列B中剩余全部比特,然后将B′i转化为[0,2m-1]范围内的10进制数b′i
Figure GDA0003088224650000157
其中,Cut()为2值序列截取函数,第1个参数为待截取的2值秘密比特序列,第2个参数为截取的开始位置,第3个参数为截取的长度;
例如:可将密图
Figure GDA0003088224650000158
按光栅扫描顺序扫描为2值比特序列B=(0110)2,然后按式(5)从B中依次截取长度为m=2的2值比特位串B′0=(01)2,然后将B′0转化为[0,3]范围内的10进制数b′0=1;
2)将加密映射矩阵Z中第i行b′i列元素
Figure GDA0003088224650000159
作为b″i存于映射转角序列
Figure GDA00030882246500001510
中;
例如:取i=0,b′i=1,可从
Figure GDA00030882246500001511
中读取
Figure GDA00030882246500001512
然后将z0,1=13存于B″中,由于B′0是B截取的第0个比特位串,所以z0,1=13对应于B″中的第0个元素,故b″0=13,同理将B′1=(10)2转换为b″1=11;
3)若B中元素未截取完毕,则转1),反之输出映射转角序列B″。
例如:若B中元素截取完毕,输出映射转角序列B″={13,11}。
第6步:初始化分辨率为m2×n2的P2阶灰度图像
Figure GDA0003088224650000161
其中m2=m0·(2r-1),n2=n0·(2r-1);
例如:取m0=2,n0=2,r=33,P2=8,则m2=2×(2×33-1)=130,n2=2×(2×33-1)=130,即初始化分辨率为130×130的8阶灰度图像M=(mi,j=0)130×130
第7步:根据遍历顺序序列E确定半色调图像T′中每个像素的遍历顺序,按遍历顺序对半色调图像T′中的每个像素t′i,j∈{0,1,…,L-1}从编码圆形图像
Figure GDA0003088224650000162
中选择对应的编码圆形图像
Figure GDA0003088224650000163
通过随机转角矩阵IND和映射转角序列
Figure GDA0003088224650000164
得到编码圆形图像
Figure GDA0003088224650000165
的放置转角,根据放置转角将编码圆形图像
Figure GDA0003088224650000166
放置在灰度图像M上,直至半色调图像T′中的所有像素处理完毕,输出处理完毕后的灰度图像M作为嵌密掩体完成伪装。
其中计算
Figure GDA0003088224650000167
在M中对应的放置转角以及旋转为
Figure GDA0003088224650000168
的具体方法为:
1)初始化μ=0;
2)若(i,j)∈P,则读取序列B″中的第μ个元素b″μ,并将b″μ赋值给bcur,μ=μ+1;
3)若
Figure GDA00030882246500001616
则随机生成一个[0,n-1]范围内的10进制数作为bcur
4)从随机转角矩阵IND中读取元素indi,j,通过式(6)计算
Figure GDA0003088224650000169
在灰度图像M中的放置转角α,通过式(7)将
Figure GDA00030882246500001610
逆时针旋转为
Figure GDA00030882246500001611
α=((indi,j+bcur)modn)·2π/n (6)
Figure GDA00030882246500001612
其中,Rot()为逆时针旋转函数,第1个参数为待旋转的图像,第2个参数为逆时针旋转角度。
例如:假定E={(1,0),(0,0),(1,1),(0,1)},对
Figure GDA00030882246500001613
中像素t′1,0=31,从
Figure GDA00030882246500001614
中选择对应的编码圆形图像
Figure GDA00030882246500001615
其次,初始化μ=0,因为
Figure GDA0003088224650000171
则按步骤3)随机生成一个[0,15]范围内的10进制数作为bcur,例如取bcur=11,然后从
Figure GDA0003088224650000172
中读取元素ind1,0=15,按式(6)计算R31在M中的放置转角α=((15+11)mod16)×2π/16=5π/4,按式(7)将R31逆时针旋转α=5π/4作为R′31,最后放置在M中起始坐标为X=65·1=65,Y=65·0=0大小为65×65的小块上;
Figure GDA0003088224650000173
中的像素t′0,0=1,从
Figure GDA0003088224650000174
中选择对应的编码圆形图像R1,因为(0,0)∈P={p0=(x0,y0)=(1,1),p1=(x1,y1)=(0,0)},则读取B″={13,11}中的第μ=0个元素b″0=13,μ=μ+1=1,然后读取
Figure GDA0003088224650000175
中读取元素ind0,0=3,按式(6)计算R1在M中的放置转角α=((3+13)mod16)×2π/16=0,按式(7)将R1逆时针旋转α=0作为R′1,最后放置在M中起始坐标为X=65×0=0,Y=65×0=0大小为65×65的小块上;
若T′中的所有像素处理完毕,得到嵌密掩体M并输出。
参见图2,恢复方法的具体实施步骤如下:
第1步:给定分辨率为m2×n2的P2阶嵌密掩体
Figure GDA0003088224650000176
通信双方约定的L个分辨率为(2r-1)×(2r-1)两两不等的灰度图像
Figure GDA0003088224650000177
且嵌密掩体M分辨率满足m2mod(2r-1)=0,n2mod(2r-1)=0;输入密图分辨率m1×n1和预设的密钥k0,k1,k2和k3
例如:若取m2=n2=130,r=33,P2=8,则可输入分辨率为130×130的8阶灰度图像
Figure GDA0003088224650000178
且满足:
Figure GDA0003088224650000179
若取L=32,r=33,则需通信双方约定分辨率为((2r-1)=65)×((2r-1)=65)的两两不相等的灰度图像
Figure GDA00030882246500001710
若取m1=n1=2,则密图分辨率为2×2;取密钥k0=13876,k1=27621,k2=85633,k3=58769,这里以线性同余随机发生器的随机种子作为密钥k0,k1,k2,k3
第2步:按式(8)将Hk转化为半径为r的圆形图像
Figure GDA0003088224650000181
Figure GDA0003088224650000182
将H′k,k=0,1,…,L-1通过半径r范围内的均值进行增序排列作为编码圆形图像
Figure GDA0003088224650000183
例如:式(8)的含义是将距离Hk圆心(r-1,r-1)半径r范围内的所有元素保留,而将不在此范围内的元素清零,通过式(8)可将Hk转换为半径为r的圆形图像,对于每个圆形图像H′k,k=0,1,…,L-1,可计算(i-r+1)2+(j-r+1)2≤r2范围内的所有像素之和,进而通过(i-r+1)2+(j-r+1)2≤r2范围内的像素数量计算其均值,从而通过均值从小到大的顺序将H′k,k=0,1,…,L-1进行排列,将排列后的H′k,k=0,1,…,L-1作为编码图像
Figure GDA0003088224650000184
其中R0圆形范围内的均值最小,RL-1圆形范围内的均值最大。
第3步:通过密钥k0生成随机转角矩阵
Figure GDA0003088224650000185
其中m0=m2/(2r-1),n0=n2/(2r-1);通过密钥k1产生
Figure GDA0003088224650000186
个两两不等的m0×n0范围内的随机整数坐标序列
Figure GDA0003088224650000187
其中m∈{1,…,m1·n1};通过密钥k2产生2维加密映射矩阵
Figure GDA0003088224650000188
其中zi,w∈[0,n-1]且加密映射矩阵Z中任意一行对应的2m个随机值两两不等;通过密钥k3生成遍历顺序序列
Figure GDA0003088224650000189
且遍历顺序序列E中的坐标两两不等;
例如:若取m2=n2=130,r=33,则:
m0=(m2=130)/(2×33-1=65)=2,n0=(n2=130)/(2×33-1=65)=2,取k0=13876,n=16时,可伪随机生成IND,这里假定
Figure GDA00030882246500001810
即ind0,0=3,ind0,1=9,ind1,0=15,ind1,1=1;取k1=27621,m=2,m1=n1=2,可产生
Figure GDA0003088224650000191
个两两不等的2×2范围内的随机整数坐标序列记为P,这里假定P={p0=(x0,y0)=(1,1),p1=(x1,y1)=(0,0)};取k2=85633,m=2,n=16,m1=n1=2,可生成映射矩阵Z,其中
Figure GDA0003088224650000192
2m=4,因此Z的规模为2×4,这里假定生成的
Figure GDA0003088224650000193
其中Z的每一行都是由2m=4个[0,n-1=15]范围内的不等的随机数所构成,例如Z的第0行为(1,13,5,9),第1行为(0,6,11,7);取密钥k3=58769生成遍历顺序序列E,这里假定E={(1,0),(0,0),(1,1),(0,1)}。
第4步:初始化认证序列
Figure GDA0003088224650000194
由E确定P的遍历顺序,通过密钥从嵌密掩体M中提取密图S并输出认证图A,具体方法如下:
1)初始化计数变量u=0,2值秘密比特序列B=Φ,Φ为空集;
2)按P的遍历顺序依次读取
Figure GDA0003088224650000195
中的当前坐标(xu,yu),按式(9)计算(X,Y),然后以(X,Y)为起点从M中截取大小为(2r-1)×(2r-1)的灰度图像Mu
Figure GDA0003088224650000196
例如:若取m=2,m1=n1=2,则可初始化认证序列D=(di=0)2,其中
Figure GDA0003088224650000197
由E={(1,0),(0,0),(1,1),(0,1)}确定P={p0=(x0,y0)=(1,1),p1=(x1,y1)=(0,0)}的遍历顺序为先p1=(x1,y1)=(0,0),再p0=(x0,y0)=(1,1);因此当u=0时,按顺序先读取P中的坐标p1=(x1,y1)=(0,0),按式(9)计算X=0×65=0,Y=0×65=0,以(0,0)为起点从M中截取大小为65×65的灰度图像Mu
3)按式(16)从所有编码圆形图像
Figure GDA0003088224650000198
中选取与Mu均值最小的
Figure GDA0003088224650000199
并记录其索引
Figure GDA00030882246500001910
值;
Figure GDA00030882246500001911
式(16)中,avg()用于计算(2r-1)×(2r-1)灰度图像半径r范围内像素的均值,med()用于(2r-1)×(2r-1)灰度图像半径r范围内像素的中值滤波;
式(16)在实施时,avg()函数可通过计算Rk中(i-r+1)2+(j-r+1)2≤r2范围内的所有像素之和,进而通过(i-r+1)2+(j-r+1)2≤r2范围内的像素数量计算其均值;式(16)中med()是用于将Mu圆心(r-1,r-1)半径r范围内的所有元素进行中值滤波处理,例如将Mu圆心(32,32)半径r=33范围内的所有元素进行中值滤波处理,根据式(16)可从
Figure GDA0003088224650000201
中选取与Mu均值最接近的
Figure GDA00030882246500002026
并记录其索引
Figure GDA0003088224650000202
值,例如
Figure GDA0003088224650000203
4)按式(10)将
Figure GDA0003088224650000204
依次旋转αv个角度,其中αv=v×2π/n,v=0,1,…,n-1,记旋转后的编码圆形图像为
Figure GDA0003088224650000205
按式(11)从旋转后的编码圆形图像
Figure GDA0003088224650000206
中选取与Mu二次距离最小的旋转后的编码圆形图像
Figure GDA0003088224650000207
并记录加密转角
Figure GDA0003088224650000208
其中
Figure GDA0003088224650000209
为Mu
Figure GDA00030882246500002010
的二次距离;
Figure GDA00030882246500002011
Figure GDA00030882246500002012
例如:若取
Figure GDA00030882246500002013
n=16,则可按式(10)将R1依次旋转αv=0,π/8,…,15π/8,总共16个角度,记旋转后的图像为
Figure GDA00030882246500002014
按式(11)从
Figure GDA00030882246500002015
中选取与Mu二次距离最小的
Figure GDA00030882246500002016
Figure GDA00030882246500002017
则记录
Figure GDA00030882246500002018
5)读取IND中元素
Figure GDA00030882246500002019
按式(12)获取秘密信息加密映射值Xu
Figure GDA00030882246500002020
例如:取(xu,yu)=(0,0)时,读取
Figure GDA00030882246500002021
中元素ind0,0=3,按式(12)获取秘密信息加密映射值,因为
Figure GDA00030882246500002022
所以Xu=0-3+16=13。
6)从加密映射矩阵Z中读取zu,w,w=0,1,…,2m-1,当
Figure GDA00030882246500002023
或m1·n1/m为整数时,通过式(13)获取秘密信息su和认证信息du,将su转化为长度为m的2值提取比特位串Bu;当
Figure GDA00030882246500002024
且m1·n1/m不为整数时,则通过式(14)计算m′,将su转化为长度为m′的2值提取比特位串Bu,通过式(15)组成新的2值秘密比特序列
Figure GDA00030882246500002025
更新u=u+1;
Figure GDA0003088224650000211
式(13)中,w′为[0,2m-1]中的随机数,du=0表示认证通过,du=255表示认证失败;
Figure GDA0003088224650000212
B=B||Bu (15)
式(15)中“||”是比特位串连接符,用于将两个比特序列连接成一个比特序列;式(13)在实施时,将获取的秘密信息加密映射值Xu与加密映射数组Z中的元素zu,w,w∈{0,1,…,2m-1}一一比较,若Xu=zu,w,w∈{0,1,…,2m-1}则获取秘密信息su=w,w∈{0,1,…,2m-1}和认证信息du=0,若Xu≠zu,w,
Figure GDA0003088224650000213
则获取秘密信息su=w′,w′为[0,2m-1]中的随机数和认证信息du=255;若
Figure GDA0003088224650000214
且m1·n1/m不为整数,则按式(14)计算m′,并将su转化为长度为m′的二进制数;式(15)是将两个比特序列连接成一个比特序列。
例如:取m=2,m1=n1=2,u=0,Xu=13时,读取
Figure GDA0003088224650000215
中第u=0行,即(1,13,5,9),然后按式(13)获取秘密信息,因为Xu=zu,1=13,所以su=1,du=0,最后将su=1转化为长度为m=2的2进制比特位串Bu=(01)2,由于u=0时,B=Φ,因此按式(15)组成新的比特序列B=B||Bu=Φ||B0=B0=(01)2,更新u=u+1=1。
7)若P中元素未读取完毕,则转2),反之输出2值秘密比特序列B和认证序列D;
例如:若P中元素读取完毕,输出值比特序列B=(0110)2和认证序列D=00。
8)将2值秘密比特序列B扫描成分辨率为m1×n1的图像,得到密图S,由认证序列D得到认证图A。
本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明图像伪装方法和图像恢复方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
在示例性实施例中,还提供计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述图像伪装方法或图像恢复方法的步骤。处理器可能是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
参见图3-6,本实施例采用的四种掩体图像,图3为128×128分辨率的8阶灰度图像cameraman,图4为128×128分辨率的8阶灰度图像woman,图5为128×128分辨率的8阶灰度图像man,图6为128×128分辨率的8阶灰度图像lena。参见图7,本实施例采用的密图,为128×128分辨率的2值图像secret。
图8~11是以图3~6为掩体图像,以图7为密图,按照本发明图像伪装方法得到的含密掩体图像,从中可看出,嵌入掩体具备较高的视觉质量,由于含密掩体图像分辨率较高,图8~11给出的是按比例缩小后的含密掩体图像,图12~15分别为图8~11局部细节图像。
图16是按本发明恢复方法,从图8~11恢复出的密图,相对于图7的误码率EBR为0%,密图可完整重构。
图17、图19、图21、图23、图25、图27是对图8~图10分别施加随机剪切、JPEG压缩、椒盐噪声攻击对应的攻击图像,其中:图17相对于图8的PSNR为13.55dB,图19相对于图8的PSNR为10.86dB,图21相对于图9的PSNR为28.46dB,图23相对于图9的PSNR=33.59dB,图25相对于图10的PSNR为15.60dB,图27相对于图10的PSNR=11.62dB。
图18为从图17恢复出的密图,相对于图7的误码率EBR为10.13%,图20为从图19恢复出的密图,相对于图7的误码率EBR为20.04%,图22为从图21恢复出的密图,相对于图7的误码率EBR为0.60%,图24为从图23恢复出的密图,相对于图7的误码率EBR为0.018%,图26为从图25恢复出的密图,相对于图7的误码率EBR为0.46%,图28为从图27恢复出的密图,相对于图7的误码率EBR为4.31%。
对比例
图29是通过发明专利201810449626.9的一种结合块旋转和马赛克拼图的生成式伪装方法,以图7为密图的嵌密载体,图11是本发明对应的以图7为密图的嵌密载体,从视觉质量上,图11相对于图29视觉质量更好。
本方法用编码圆形图像的旋转角度来表达秘密信息并始终选取掩体像素相对应的编码图像,因此不会产生任何偏差,也不会导致视觉质量下降,抗攻击能力强,认证精度高,且提取过程完全依赖于密钥,具有较高的安全性。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

Claims (10)

1.一种图像伪装方法,其特征在于,包括以下步骤:
S1:给定分辨率为m0×n0的P0阶灰度掩体图像
Figure FDA0003024786150000011
分辨率为m1×n1的2值密图
Figure FDA0003024786150000012
通信双方约定的分辨率为(2r-1)×(2r-1)的L个两两不相等的灰度图像
Figure FDA0003024786150000013
S2:将所有的灰度图像Hk编码为编码圆形图像
Figure FDA0003024786150000014
S3:将灰度掩体图像T通过误差扩散预处理转化为L级半色调图像
Figure FDA0003024786150000015
t′i,j∈{0,1,…,L-1};
S4:通过预设的密钥k0生成随机转角矩阵
Figure FDA0003024786150000016
indi,j∈[0,n-1],其中n是随机放置的转角数量;
通过预设的密钥k1生成
Figure FDA0003024786150000017
个两两不等的m0×n0范围内的随机整数坐标序列,记为
Figure FDA0003024786150000018
(xi,yi)∈m0×n0,其中m∈{1,…,m1·n1},符号
Figure FDA0003024786150000019
表示向上取整;
通过预设的密钥k2生成2维加密映射矩阵
Figure FDA00030247861500000110
其中zi,w∈[0,n-1]且加密映射矩阵Z中任意一行对应的2m个随机值两两不等;
通过预设的密钥k3生成遍历顺序序列
Figure FDA00030247861500000111
(i,j)∈m0×n0且遍历顺序序列E中的坐标两两不等;
S5:将密图
Figure FDA00030247861500000112
扫描为2值秘密比特序列
Figure FDA00030247861500000113
bi∈{0,1},并以m个比特为一组加密映射得到映射转角序列
Figure FDA00030247861500000114
S6:初始化分辨率为m2×n2的P2阶灰度图像
Figure FDA00030247861500000115
其中m2=m0·(2r-1),n2=n0·(2r-1);
S7:根据遍历顺序序列E确定半色调图像T′中每个像素的遍历顺序,按遍历顺序对L级半色调图像T′中的每个像素t′i,j∈{0,1,…,L-1}从编码圆形图像
Figure FDA00030247861500000116
中选择对应的编码圆形图像
Figure FDA00030247861500000117
通过随机转角矩阵IND和映射转角序列
Figure FDA00030247861500000118
得到编码圆形图像
Figure FDA00030247861500000119
的放置转角,根据放置转角将编码圆形图像
Figure FDA0003024786150000021
放置在灰度图像M上,直至半色调图像T′中的所有像素处理完毕,将处理完毕的灰度图像M作为嵌密掩体输出完成伪装。
2.根据权利要求1所述的图像伪装方法,其特征在于,所述S2的具体方法为:
S2-1:通过式(1)将灰度图像Hk转化为半径为r的圆形图像
Figure FDA0003024786150000022
Figure FDA0003024786150000023
S2-2:将H′k,k=0,1,…,L-1通过半径r范围内的均值进行增序排列作为编码圆形图像
Figure FDA0003024786150000024
所述S3的具体方法为:
S3-1:初始化分辨率为m0×n0的空白半色调图像
Figure FDA0003024786150000025
t′i,j∈{0,1,…,L-1};
S3-2:通过式(2)将灰度掩体图像T中的当前未处理元素ti,j转化为t′i,j
Figure FDA0003024786150000026
其中,符号
Figure FDA0003024786150000027
表示向下取整;
S3-3:通过式(3)计算视觉偏差Δi,j
Figure FDA0003024786150000028
S3-4:按式(4)将Δi,j均分至ti,j周围8邻域内未通过式(2)处理的像素上;
Figure FDA0003024786150000029
其中,NC是ti,j周围8邻域内未按式(2)处理的像素个数,符号
Figure FDA00030247861500000210
表示四舍五入取整,
Figure FDA00030247861500000211
表示:当x<0,
Figure FDA00030247861500000212
Figure FDA00030247861500000213
Figure FDA00030247861500000214
Figure FDA00030247861500000215
Figure FDA00030247861500000216
Figure FDA00030247861500000217
S3-5:重复S3-2~S3-4直至灰度掩体图像T中元素读取完毕,输出L级半色调图像T′。
3.根据权利要求1所述的图像伪装方法,其特征在于,所述S5的具体方法为:
S5-1:通过式(5)从2值秘密比特序列B中依次截取长度为m的2值比特位串B′i=(bt)m,
Figure FDA0003024786150000031
若2值秘密比特序列B中剩余长度不足m,则截取2值秘密比特序列B中剩余全部比特,然后将B′i转化为[0,2m-1]范围内的10进制数bi′;
Figure FDA0003024786150000032
其中,Cut()为2值序列截取函数,第1个参数为待截取的2值秘密比特序列,第2个参数为截取的开始位置,第3个参数为截取的长度;
S5-2:将加密映射矩阵Z中第i行bi′列元素
Figure FDA0003024786150000033
作为b″i,存于映射转角序列
Figure FDA0003024786150000034
中;
S5-3:重复S5-1~S5-2直至2值秘密比特序列B中元素截取完毕,输出映射转角序列B″;
所述S7中根据放置转角将编码圆形图像
Figure FDA0003024786150000035
放置在灰度图像M上的具体方法是:
根据放置转角,将
Figure FDA0003024786150000036
旋转为
Figure FDA0003024786150000037
然后将
Figure FDA0003024786150000038
放置在灰度图像M起始坐标为X=(2r-1)·i,Y=(2r-1)·j,大小为(2r-1)×(2r-1)的小块上;其中,根据放置转角,将
Figure FDA0003024786150000039
旋转为
Figure FDA00030247861500000310
的具体方法为:
A1:初始化μ=0;
A2:若(i,j)∈P,读取映射转角序列B″中的第μ个元素b″μ,并将b″μ赋值给bcur,μ=μ+1;
A3:若
Figure FDA00030247861500000311
随机生成一个[0,n-1]范围内的10进制数赋值给bcur
A4:从随机转角矩阵IND中读取元素indi,j,通过式(6)计算
Figure FDA00030247861500000312
在灰度图像M中的放置转角α,通过式(7)将
Figure FDA00030247861500000313
逆时针旋转为
Figure FDA00030247861500000314
α=((indi,j+bcur)modn)·2π/n (6)
Figure FDA00030247861500000315
其中,Rot()为逆时针旋转函数,第1个参数为待旋转的图像,第2个参数为逆时针旋转角度。
4.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述方法的步骤。
5.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3任一项所述方法的步骤。
6.一种基于权利要求1所述伪装方法的图像恢复方法,其特征在于,包括以下步骤:
Q1:给定分辨率为m2×n2的P2阶嵌密掩体
Figure FDA0003024786150000041
通信双方约定的L个分辨率为(2r-1)×(2r-1)两两不等的灰度图像
Figure FDA0003024786150000042
且嵌密掩体M分辨率满足m2mod(2r-1)=0,n2mod(2r-1)=0;输入密图分辨率m1×n1和预设的密钥k0,k1,k2和k3
Q2:将所有的灰度图像Hk编码为编码圆形图像
Figure FDA0003024786150000043
Q3:通过预设的密钥k0生成随机转角矩阵
Figure FDA0003024786150000044
indi,j∈[0,n-1],其中m0=m2/(2r-1),n0=n2/(2r-1);
通过预设的密钥k1产生
Figure FDA0003024786150000045
个两两不等的m0×n0范围内的随机整数坐标序列
Figure FDA0003024786150000046
(xi,yi)∈m0×n0,其中m∈{1,…,m1·n1};
通过预设的密钥k2产生2维加密映射矩阵
Figure FDA0003024786150000047
其中zi,w∈[0,n-1]且加密映射矩阵Z中任意一行对应的2m个随机值两两不等;
通过预设的密钥k3生成遍历顺序序列
Figure FDA0003024786150000048
(i,j)∈m0×n0且遍历顺序序列E中的坐标两两不等;
Q4:初始化认证序列
Figure FDA0003024786150000049
通过遍历顺序序列E确定随机整数坐标序列P的遍历顺序,通过随机转角矩阵IND、随机整数坐标序列P、加密映射矩阵Z和遍历顺序序列E从嵌密掩体M中提取密图S并得到认证图A。
7.根据权利要求6所述的图像恢复方法,其特征在于,所述Q2的具体方法为:
Q2-1:通过式(8)将Hk转化为半径为r的圆形图像
Figure FDA00030247861500000410
Figure FDA0003024786150000051
Q2-2:将H′k,k=0,1,…,L-1通过半径r范围内的均值进行增序排列作为编码圆形图像
Figure FDA0003024786150000052
所述Q4中通过随机转角矩阵IND、随机整数坐标序列P、加密映射矩阵Z和遍历顺序序列E从嵌密掩体M中提取密图S并得到认证图A的具体方法为:
R1:初始化计数变量u=0,2值秘密比特序列B=Φ,Φ为空集;
R2:通过随机整数坐标序列P的遍历顺序依次读取随机整数坐标序列
Figure FDA0003024786150000053
中的当前坐标(xu,yu),通过式(9)计算(X,Y),然后以(X,Y)为起点从嵌密掩体M中截取大小为(2r-1)×(2r-1)的灰度图像Mu
Figure FDA0003024786150000054
R3:从所有编码圆形图像
Figure FDA0003024786150000055
中选取与灰度图像Mu均值最接近的编码圆形图像
Figure FDA0003024786150000056
并记录其索引值
Figure FDA0003024786150000057
R4:通过式(10)将编码圆形图像
Figure FDA0003024786150000058
依次旋转αv个角度,其中αv=v×2π/n,v=0,1,…,n-1,记旋转后的编码圆形图像为
Figure FDA0003024786150000059
通过式(11)从旋转后的编码圆形图像
Figure FDA00030247861500000510
中选取与灰度图像Mu二次距离最小的旋转后的编码圆形图像
Figure FDA00030247861500000511
并记录加密转角
Figure FDA00030247861500000512
Figure FDA00030247861500000513
Figure FDA00030247861500000514
其中,Rot()为逆时针旋转函数,第1个参数为待旋转的图像,第2个参数为逆时针旋转角度,
Figure FDA00030247861500000515
为Mu
Figure FDA00030247861500000516
的二次距离;
R5:读取随机转角矩阵IND中元素
Figure FDA00030247861500000517
通过式(12)获取秘密信息加密映射值Xu
Figure FDA00030247861500000518
R6:从加密映射矩阵Z中读取zu,w,w=0,1,…,2m-1,当
Figure FDA00030247861500000519
或m1·n1/m为整数时,通过式(13)获取秘密信息su和认证信息du,将su转化为长度为m的2值提取比特位串Bu;当
Figure FDA0003024786150000061
且m1·n1/m不为整数时,则通过式(14)计算m′,将su转化为长度为m′的2值提取比特位串Bu,通过式(15)组成新的2值秘密比特序列
Figure FDA0003024786150000062
更新u=u+1;
Figure FDA0003024786150000063
其中,w′为[0,2m-1]中的随机数,du=0表示认证通过,du=255表示认证失败;
Figure FDA0003024786150000064
B=B||Bu (15)
其中,符号“||”是比特位串连接符,用于将两个比特序列连接成一个比特序列;
R7:重复R2~R6直至随机整数坐标序列P中元素读取完毕,得到2值秘密比特序列B和认证序列D;
R8:将2值秘密比特序列B扫描成分辨率为m1×n1的图像,得到密图S,由认证序列D得到认证图A。
8.根据权利要求7所述的图像恢复方法,其特征在于,所述R3的具体方法是:
通过式(16)从所有编码圆形图像
Figure FDA0003024786150000065
中选取与灰度图像Mu均值最接近的编码圆形图像
Figure FDA0003024786150000066
并记录其索引
Figure FDA0003024786150000067
值;
Figure FDA0003024786150000068
其中,avg()用于计算大小为(2r-1)×(2r-1)的灰度图像半径r范围内像素的均值,med()用于大小为(2r-1)×(2r-1)的灰度图像半径r范围内像素的中值滤波。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求6至8任一项所述方法的步骤。
10.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求6至8任一项所述方法的步骤。
CN201910712532.0A 2019-08-02 2019-08-02 图像伪装及图像恢复的方法、设备和存储介质 Active CN110430337B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910712532.0A CN110430337B (zh) 2019-08-02 2019-08-02 图像伪装及图像恢复的方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910712532.0A CN110430337B (zh) 2019-08-02 2019-08-02 图像伪装及图像恢复的方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN110430337A CN110430337A (zh) 2019-11-08
CN110430337B true CN110430337B (zh) 2021-07-23

Family

ID=68412343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910712532.0A Active CN110430337B (zh) 2019-08-02 2019-08-02 图像伪装及图像恢复的方法、设备和存储介质

Country Status (1)

Country Link
CN (1) CN110430337B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111161124B (zh) * 2019-12-30 2022-06-07 福建师范大学福清分校 基于均方误差评估的参考矩阵模型的图像隐写方法
CN111432286B (zh) * 2019-12-31 2022-05-20 杭州海康威视数字技术股份有限公司 视频处理的方法、装置和系统
CN111723346B (zh) * 2020-06-09 2023-05-02 绍兴聚量数据技术有限公司 基于“竹节虫”参考矩阵可认证的视觉机密共享方法
CN112288617B (zh) * 2020-10-28 2024-04-26 陕西师范大学 基于马赛克拼图的信息隐藏及恢复方法、设备及介质
CN114117478B (zh) * 2021-11-16 2024-02-27 陕西师范大学 基于点集序列匹配的图像矢量化隐藏和恢复方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102263879B (zh) * 2010-05-27 2013-04-17 郭景明 图像数据处理系统及其相关数据隐藏方法
CN104463767B (zh) * 2014-11-27 2017-05-03 山东科技大学 一种具有伪装图像和篡改认证功能的可视加密及解密方法
CN104615917A (zh) * 2015-01-20 2015-05-13 中兴通讯股份有限公司 一种伪装图片的方法、查看图片的方法、系统和终端
CN105847629B (zh) * 2016-03-18 2018-09-07 大连大学 一种加密图像的可逆信息隐藏方法
CN106600517B (zh) * 2016-11-11 2019-06-11 陕西师范大学 一种基于emd-3的多载体密图分存和重构方法
CN108648133B (zh) * 2018-05-11 2022-09-13 陕西师范大学 一种结合块旋转和马赛克的无嵌入伪装方法
CN109146761A (zh) * 2018-07-26 2019-01-04 合肥同佑电子科技有限公司 一种基于亮度特征的防伪造图像的处理方法
CN109800585B (zh) * 2018-12-04 2022-11-18 王继军 一种图像插值空间完全可逆可分离密文域信息隐藏算法
CN110060194B (zh) * 2019-04-19 2023-04-28 南京林业大学 一种图像自适应的信息隐藏方法

Also Published As

Publication number Publication date
CN110430337A (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
CN110430337B (zh) 图像伪装及图像恢复的方法、设备和存储介质
Liao et al. New cubic reference table based image steganography
Malik et al. Recovery based high capacity reversible data hiding scheme using even-odd embedding
Chang et al. LBP-based fragile watermarking scheme for image tamper detection and recovery
CN108648133B (zh) 一种结合块旋转和马赛克的无嵌入伪装方法
CN110475038B (zh) 一种结合最小闭包编码的字符画生成式隐藏及恢复方法
Pal et al. A secure reversible color image watermarking scheme based on LBP, lagrange interpolation polynomial and weighted matrix
CN112085016A (zh) 基于roi和iwt医学图像篡改认证及恢复的鲁棒水印方法
CN110430334B (zh) 一种基于扇形构图单元叠加的马赛克拼图伪装及恢复方法
Gao et al. An authenticatable (2, 3) secret sharing scheme using meaningful share images based on hybrid fractal matrix
CN102956025B (zh) 一种图像水印检测方法及其系统
Lin et al. Pixel-based fragile image watermarking based on absolute moment block truncation coding
CN116485623A (zh) 基于十六元数快速精确矩的多光谱图像灰度特征水印方法
Ye et al. Research on reversible image steganography of encrypted image based on image interpolation and difference histogram shift
Shi et al. A robust and secure zero-watermarking copyright authentication scheme based on visual cryptography and block GH feature
Zhang et al. Reversible data hiding in binary images based on image magnification
CN104778689A (zh) 一种基于均值二次图像和局部保持投影的图像摘要方法
CN112288617B (zh) 基于马赛克拼图的信息隐藏及恢复方法、设备及介质
Wen et al. Joint Coverless Steganography and Image Transformation for Covert Communication of Secret Messages
CN109920014B (zh) 3d网格模型隐写方法
Jiang et al. Meaningful secret image sharing resist to typical image processing of shadows
Wang et al. A novel (n, n) secret image sharing scheme based on Sudoku
CN115222575B (zh) 利用频率域系数比值的矢量数据水印嵌入和提取方法
Aminuddin et al. AuSR3: A new block mapping technique for image authentication and self-recovery to avoid the tamper coincidence problem
Mohammad An Efficient EMD-Based Reversible Data Hiding Technique Using Dual Stego Images

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