CN112017099B - 一种程序代码在图像中隐藏、解析的方法及系统 - Google Patents
一种程序代码在图像中隐藏、解析的方法及系统 Download PDFInfo
- Publication number
- CN112017099B CN112017099B CN202010915593.XA CN202010915593A CN112017099B CN 112017099 B CN112017099 B CN 112017099B CN 202010915593 A CN202010915593 A CN 202010915593A CN 112017099 B CN112017099 B CN 112017099B
- Authority
- CN
- China
- Prior art keywords
- binary
- image
- hidden
- string
- component
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000006243 chemical reaction Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 6
- 239000003999 initiator Substances 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明公开了一种程序代码在图像中隐藏、解析的方法及系统,所述隐藏方法包括以下步骤:获取包含待隐藏程序的字符串;将所述待隐藏字符串转换为二进制串并进行置反,得到新的二进制串;将新的二进制串转化为二值图像;将二值图像嵌入到宿主图像中。本发明通过置反对隐藏信息进行加密,通过二值图像嵌入宿主图像的方式实现信息隐藏,隐藏效果好,不易破解。
Description
技术领域
本发明属于信息安全技术领域,尤其涉及一种程序代码在图像中隐藏、解析的方法及系统。
背景技术
本部分的陈述仅仅是提供了与本公开相关的背景技术信息,不必然构成在先技术。
信息隐藏也称作数据隐藏(Data Hiding),是集多学科理论与技术于一身的新兴技术领域。信息隐藏技术主要是指将特定的信息嵌入数字化宿主信息(如文本,数字化的声音、图像、视频信号等)中,信息隐藏的目的不在于限制正常的信息存取和访问,而在于保证隐藏的信息不引起监控者的注意和重视,从而减少被攻击的可能性。
随着信息通信技术的发展,尤其在网络环境下,数字图像在网络上的传播会受到各种不同情况的改写,包括数据压缩、剪切、变形、缩放、改变格式等,因此对信息隐藏的隐蔽性和安全性也同样提出了更高的要求,这就需要使用安全性和鲁棒性更强的信息隐藏方法来达到信息隐藏的目的,来保证隐藏的信息不被改变甚至消失。
据发明人了解,基于图像的信息隐藏算法主要有空间域算法和变换域算法两大类,空间域主要是直接改变图像中的像素值来隐藏信息,这种算法操作简单,但鲁棒性较差,抗攻击能力弱;变换域算法主要是在DFT、DCT、DWT等变换时对某些系数进行操作,计算比较复杂,隐藏信息较少,具有一定的鲁棒性。
发明内容
为克服上述现有技术的不足,本发明提供了一种程序代码在图像中隐藏、解析的方法及系统。通过对待隐藏的程序代码进行置反等预处理实现了信息保护,然后通过二值图像的嵌入方式,进一步提高了信息的破解难度。
为实现上述目的,本发明的一个或多个实施例提供了如下技术方案:
一种程序代码在图像中隐藏的方法,包括以下步骤:
获取包含待隐藏程序的字符串;
将所述待隐藏字符串转换为二进制串并进行置反,得到新的二进制串;
将新的二进制串转化为二值图像;
将二值图像嵌入到宿主图像中。
进一步地,所述待隐藏字符串是在待隐藏的程序代码的前后分别增加起始符和结束符得到的。
进一步地,将新的二进制串转化为二值图像包括:
根据二进制串位数求取二值图像的行列大小:假设二进制串位数为N,二值图像的行列数目分别为h和w,h和w满足min(w+h)并且N=w×h;
将二进制串的每一位作为一个像素值,按行列顺序写入该二值图像。
进一步地,所述将二值图像嵌入到宿主图像中包括:
从宿主图像中选取一定大小的区域作为目标嵌入区域;
将二值图像按照行列顺序嵌入到目标嵌入区域。
进一步地,所述将二值图像嵌入到宿主图像中包括:
从宿主图像中选取h行w/4列大小的区域作为目标嵌入区域;
将二值图像中每一行的四个相邻像素,嵌入目标嵌入区域相应行的一个像素。
进一步地,将二值图像中四个相邻像素嵌入目标嵌入区域一个像素的方法为:
获取该四个相邻像素的像素值,得到一个4位二进制串;
提取待嵌入像素的RGB值,对G分量和B分量的值分别进行二值转换,得到G分量和B分量对应的8位二进制串;
分别采用4位二进制串的前两位和后两位,替换G分量和B分量对应8位二进制串的末两位;
将经替换的G分量和B分量转换为十进制,与R分量组合成新的像素值,作为信息嵌入后的像素值。
一个或多个实施例提供了一种程序代码在图像中解析的方法,包括以下步骤:
获取宿主图像,并对宿主图像中的目标嵌入区域进行识别;其中,所述宿主图像采用所述隐藏方法进行信息隐藏;
获取目标嵌入区域的RGB值,并对G分量和B分量的值分别进行二值转换,得到G分量和B分量对应的8位二进制串;
按照目标嵌入区域的行列顺序,依次提取每个像素G分量和B分量对应8位二进制串的末两位,得到隐藏字符串对应的二进制串;
对于得到的二进制串,每8位为一组进行分割并进行字符转换,得到待隐藏字符串。
一个或多个实施例提供了一种程序代码在图像中隐藏的系统,包括:
隐藏信息获取模块,被配置为获取包含待隐藏程序的字符串;
二进制转换模块,被配置为将所述待隐藏字符串转换为二进制串并进行置反,得到新的二进制串;
隐藏信息嵌入模块,被配置为将新的二进制串转化为二值图像,将二值图像嵌入到宿主图像中。
一个或多个实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的隐藏方法或者所述的解析方法。
一个或多个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的隐藏方法或者所述的解析方法。以上一个或多个技术方案存在以下有益效果:
通过对待隐藏的程序代码添加起始符、结束符,并且对二值转化后的二进制串进行置反,实现了待隐藏的程序代码的二次加密处理,对待隐藏的程序代码起到保护作用;将字符串转换为二值图像后,每四个相邻像素隐藏到宿主图像的一个像素值,大大降低隐藏容量,同时在宿主图像中选择纹理较为密集的区域进行隐藏,更能提高方法的安全性和不可见性。
此外,添加起始符和结束符,有助于在解析阶段对隐藏的信息进行快速锁定,提高了信息解析的效率。
将待隐藏的程序代码嵌入宿主图像阶段,仅对RGB图像中G分量和B分量对应的二进制串进行处理,由于RGB图像中G分量和B分量对于整体的视觉影响较小,加上仅仅针对其二进制串的末两位进行修改,嵌入后的像素值变化很小,因此,既保证了宿主图像的可观性不被破坏,又保证二值图像信息被提取时的完整性和正确性。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明实施例中程序代码在图像中隐藏的方法流程图;
图2为本发明实施例中针对一个字符进行图像信息隐藏的流程示意图;
图3为本发明实施例中二值图像示意图;
图4为本发明实施例中程序代码在图像中解析的方法流程图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例公开了一种程序代码在图像中隐藏的方法,如图1所示,包括以下步骤:
步骤1:获取待隐藏的程序代码,并在所述待隐藏的程序代码的前后分别增加起始符和结束符,得到待隐藏字符串;
其中,程序代码待隐藏的程序代码为可执行程序代码,解析后可执行相应操作。
本实施例为了便于后续待隐藏的程序代码的解析,对其格式进行了规定,即,待隐藏字符串=起始符+待隐藏的程序代码+结束符,形式如:“#start#”、待隐藏的程序代码、“#end#”。
步骤2:将所述待隐藏字符串转换为二进制串;
具体地,包括以下步骤:
步骤2.1:对所述待隐藏字符串进行二进制转化,得到二进制串;
其中,进行二进制转化是根据ASCII码表将待隐藏字符串中每一个字符转化为8位二进制字符串。
步骤2.2:对所述二进制串进行置反生成新的二进制串。
其中,置反是将该字符串中的0和1置反,即0换为1,1换为0,目的是作为一次加密手段,保护字符串不被破解。
假设待隐藏字符串为n位,得到的二进制串总长度位数为N=8n。
待隐藏的程序代码通过添加起始符、结束符,转化后的二进制串进行置反,这样可看作是两次加密处理,对待隐藏的程序代码起到保护作用。
步骤3:将二进制串转化为二值图像;
将二进制串转化为二值图像作为水印信息,是指将N位字符串转化为h×w(w列h行)大小的二值图像,因N是8的倍数,这里w、h取值满足条件min(w+h)&&N=w×h。
计算出w和h的取值后,将N位二进制串中的每一位作为一个像素的值,每w位为一行,一共h行,得到二值图像。
步骤4:将二值图像嵌入到宿主图像中。
本步骤的目的是使用信息隐藏技术把二值图像到宿主图像中,本实施例中,从宿主图像选取h×(w/4)大小的区域作为目标嵌入区域,二值图像的每一行嵌入到目标嵌入区域的相应行中,且二值图像中每四个相邻像素用于嵌入目标嵌入区域的一个像素,实现水印的嵌入。
所述步骤4包括:
步骤4.1:从宿主图像中选取一定大小的区域作为目标嵌入区域;
其中,目标嵌入区域选取方法为:
(1)以h×(w/4)大小为窗口,将宿主图像从左到右,从上到下的方向划分为多个h×(w/4)大小的图像块,若不能正好均分则将剩余右侧和下侧部分舍弃;
(2)对于每个图像块,计算其灰度共生矩阵,根据Haralick特征中的Entropy熵来比较块图像的纹理特征,Entropy熵越大图像纹理特征越强,反之越小:
p(i,j)为以灰度i为起点,出现灰度级j的频数。
(3)选择Entropy熵最大的图像块来作为目标嵌入区域。
通过选取图像纹理特征强的图像块来进行隐藏信息嵌入的位置,有助于提高的增强信息的隐蔽性和安全性。
步骤4.2:将二值图像按照行列顺序嵌入到目标嵌入区域。
将二值图像中四个像素嵌入目标嵌入区域一个像素的方法为:
(1)获取该四个相邻像素的像素值,由于二值图像的每个像素值都是0或1,得到一个4位二进制串;
(2)提取待嵌入像素的RGB值,对G分量和B分量的值分别进行二值转换,得到G分量和B分量对应的8位二进制串;
(3)分别采用4位二进制串的前两位和后两位,替换G分量和B分量对应8位二进制串的末两位;
(4)将经替换的G分量和B分量转换为十进制,与R分量组合成新的像素值,作为信息嵌入后的像素值。
由于RGB图像中G分量和B分量对于整体的视觉影响较小,加上仅仅针对其二进制串的末两位进行修改,嵌入后的像素值变化很小,因此,既保证了宿主图像的可观性不被破坏,又保证二值图像信息被提取时的完整性和正确性。
作为一个示例,如图2所示:字符a转换为ASCII码为97,转换为二进制串为01100001,置反之后变为10011110,将其隐藏到宿主图像相邻的2个待嵌入像素中,即,每四位嵌入到1个待嵌入像素中。对于前四位二进制串1001,首先将相应的目标待嵌入像素的G分量和B分量转换为8位二进制串,然后对于二进制串1001,每2位为一组,依次按顺序替换像素值中GB分量对应二进制串的末2位,得到新的RGB值组合,这种微小的变化不会对宿主图像本身产生影响。
作为又一个示例,起始符、结束符和待隐藏的程序代码分别如下:
起始符:#start#56位
00100011011100110111010001100001011100100111010000100011
结束符:#end#40位
0010001101100101011011100110010000100011
待隐藏的程序代码:C:\Windows\System32\malicious.exe 33×8=264位
010000110011101001011100010101110110100101101110011001000110111101110111011100110101110001010011011110010111001101110100011001010110110100110011001100100101110001101101011000010110110001101001011000110110100101101111011101010111001100101110011001010111100001100101
待隐藏字符串=起始符+待隐藏的程序代码+结束符=
#start#C:\Windows\System32\malicious.exe#end#
对待隐藏字符串进行二进制转化得到:
001000110111001101110100011000010111001001110100001000110100001100111010010111000101011101101001011011100110010001101111011101110111001101011100010100110111100101110011011101000110010101101101001100110011001001011100011011010110000101101100011010010110001101101001011011110111010101110011001011100110010101111000011001010010001101100101011011100110010000100011
置反得到:
110111001000110010001011100111101000110110001011110111001011110011000101101000111010100010010110100100011001101110010000100010001000110010100011101011001000011010001100100010111001101010010010110011001100110110100011100100101001111010010011100101101001110010010110100100001000101010001100110100011001101010000111100110101101110010011010100100011001101111011100
将上述总位数N=360的二进制串转化为18×20的二值图像,如图3所示。
实施例二
在实施例一提供了一种程序代码在图像中隐藏的方法的基础上,实施例二提供了一种相应的程序代码在图像中解析的方法,即使用信息隐藏技术的逆运算提取二值图像信息,并将其转化为二进制串进行置反,然后转化为字符串并提取其中的隐藏信息。如图4所示,具体包括:
步骤1:获取宿主图像,并对宿主图像中的目标嵌入区域进行识别;
具体地,对目标嵌入区域进行识别包括:
(1)按照行列顺序依次获取宿主图像中每个像素的RGB值,并对G分量和B分量的值分别进行二值转换,得到G分量和B分量对应的8位二进制串;
(2)依次提取每个像素G分量和B分量对应8位二进制串的末两位;
(3)获取起始符和结束符相应的取反二进制串;并根据二进制串位数,确定起始符和结束符所占像素个数;
(4)根据起始符所占像素个数k设定搜索窗口M行N列,为使得搜索窗口能够包含完整的起始符,需满足M×N≥k,起始搜索窗口大小宽度N为k,在宿主图像中进行起始符搜索,若搜索不到,将搜索窗口宽度减少一个像素宽度,直至搜索到起始符所在位置;
例如实施例一中的示例,起始符二进制串为56位,那么所占像素个数为14个,首先以1行14列大小的搜索窗口进行搜索,若搜索不到,以2行13列大小的搜索窗口进行搜索,若仍然搜索不到,以2行12列大小的搜索窗口进行搜索……依次类推。
(5)若搜索到起始符的所用搜索窗口行数大于1,则该窗口的列数即为目标嵌入区域的列数,将目标嵌入区域的列数作为搜索窗口的宽度,以不同的行数作为搜索窗口的高度,进行结束符位置的搜索;
若搜索到起始符的所用搜索窗口行数等于1,说明目标嵌入区域的列数大于等于起始符所占像素数k,首先将目标嵌入区域的列数作为搜索窗口的列数,以不同的行数作为搜索窗口的宽度,进行结束符位置的搜索;若搜索不到,增加搜索窗口的宽度进行搜索,直至搜索到结束符,至此,得到了目标嵌入区域的所在位置。
步骤2:获取目标嵌入区域的RGB值,并对G分量和B分量的值分别进行二值转换,得到G分量和B分量对应的8位二进制串;
该步骤的目的是使用信息隐藏技术的逆运算提取二值图像信息,是使用信息隐藏算法的逆运算在恶意图像中提取出二值图像,得到二值图像的宽w,高h,w×h所得即二进制串的长度N。
步骤3:按照目标嵌入区域的行列顺序,依次提取每个像素G分量和B分量对应8位二进制串的末两位,得到隐藏字符串对应的二进制串;
步骤4:对于得到的二进制串,每8位为一组进行分割并进行字符转换,得到待隐藏字符串。
具体地,使用ASCII码表将二进制串转换为字符串,在转换完成的字符串中,根据起始符和结束符标识符号,抽取出其中的隐藏信息,即完成了隐藏信息的恢复。
若隐藏的信息为可执行程序,解析后能够执行相应操作。
实施例三
本实施例的目的是提供一种在图像中隐藏程序代码的系统。所述系统包括:
隐藏信息获取模块,被配置为获取包含待隐藏程序的字符串;
二进制转换模块,被配置为将所述待隐藏字符串转换为二进制串并进行置反,得到新的二进制串;
隐藏信息嵌入模块,被配置为将新的二进制串转化为二值图像,将二值图像嵌入到宿主图像中。
实施例四
本实施例的目的是提供一种电子设备。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如实施例一所述的图像隐藏方法或者实施例二所述的图像解析方法。
实施例五
本实施例的目的是提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一所述的图像隐藏方法或者实施例二所述的图像解析方法。
实施例六
在实施例一和二分别提供了一种程序代码在图像中的隐藏方法和解析方法的基础上,本实施例以攻击代码隐藏和解析为例,提供一种图像信息隐藏系统,包括发布端和接收端,其中,
发布端,被配置为执行以下步骤:
步骤1:获取待隐藏的程序代码,并在所述程序代码的前后分别增加起始符和结束符,得到待隐藏字符串;
步骤2:将所述待隐藏字符串转换为二进制串并进行置反,得到新的二进制串;
步骤3:将新的二进制串转化为二值图像;
步骤4:将二值图像嵌入到宿主图像中。
其中,将二值图像嵌入到宿主图像中包括:
从宿主图像中选取一定大小的区域作为目标嵌入区域;
将二值图像中每一行的四个相邻像素,嵌入目标嵌入区域相应行的一个像素。
具体地,获取该四个相邻像素的像素值,得到一个4位二进制串;
提取待嵌入像素的RGB值,对G分量和B分量的值分别进行二值转换,得到G分量和B分量对应的8位二进制串;
分别采用4位二进制串的前两位和后两位,替换G分量和B分量对应8位二进制串的末两位;
将经替换的G分量和B分量转换为十进制,与R分量组合成新的像素值,作为信息嵌入后的像素值。
接收端,被配置为执行以下步骤:
步骤1:获取宿主图像,并对宿主图像中的目标嵌入区域进行识别;
步骤2:获取目标嵌入区域的RGB值,并对G分量和B分量的值分别进行二值转换,得到G分量和B分量对应的8位二进制串;
步骤3:按照目标嵌入区域的行列顺序,依次提取每个像素G分量和B分量对应8位二进制串的末两位,得到隐藏字符串对应的二进制串;
步骤4:对于得到的二进制串,每8位为一组进行分割并进行字符转换,得到待隐藏字符串。
至此,完成了攻击代码的恢复,调用该攻击代码,即可执行相应的操作。
以上实施例三-六中涉及的各步骤与方法实施例一或二相对应,具体实施方式可参见实施例一或二的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
以上一个或多个实施例中,待隐藏的程序代码通过添加起始符、结束符,转化后的二进制串进行置反,这样可看作是两次加密处理,对待隐藏的程序代码起到保护作用。同时,对宿主图像的GB分量数值的二进制数的末两位进行信息的隐藏,对宿主图像的影响更小,对人的视觉影响几乎不存在,提高了算法的隐蔽性,更不易被人发现。
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (9)
1.一种程序代码在图像中隐藏的方法,其特征在于,包括以下步骤:
获取包含待隐藏程序的字符串;
将所述待隐藏程序的字符串转换为二进制串并进行置反,得到新的二进制串;
将新的二进制串转化为二值图像;
将二值图像嵌入到宿主图像中;
将新的二进制串转化为二值图像包括:
根据二进制串位数求取二值图像的行列大小:假设二进制串位数为N,二值图像的行列数目分别为h和w,h和w满足min(w+h)并且N=w×h;
将二进制串的每一位作为一个像素值,按行列顺序写入该二值图像。
2.如权利要求1所述的一种程序代码在图像中隐藏的方法,其特征在于,所述待隐藏程序的字符串是在待隐藏的程序代码的前后分别增加起始符和结束符得到的。
3.如权利要求1所述的一种程序代码在图像中隐藏的方法,其特征在于,所述将二值图像嵌入到宿主图像中包括:
从宿主图像中选取一定大小的区域作为目标嵌入区域;
将二值图像按照行列顺序嵌入到目标嵌入区域。
4.如权利要求1所述的一种程序代码在图像中隐藏的方法,其特征在于,所述将二值图像嵌入到宿主图像中包括:
从宿主图像中选取h行w/4列大小的区域作为目标嵌入区域;
将二值图像中每一行的四个相邻像素,嵌入目标嵌入区域相应行的一个像素。
5.如权利要求4所述的一种程序代码在图像中隐藏的方法,其特征在于,将二值图像中四个相邻像素嵌入目标嵌入区域一个像素的方法为:
获取该四个相邻像素的像素值,得到一个4位二进制串;
提取待嵌入像素的RGB值,对G分量和B分量的值分别进行二值转换,得到G分量和B分量对应的8位二进制串;
分别采用4位二进制串的前两位和后两位,替换G分量和B分量对应8位二进制串的末两位;
将经替换的G分量和B分量转换为十进制,与R分量组合成新的像素值,作为信息嵌入后的像素值。
6.一种程序代码在图像中解析的方法,其特征在于,包括以下步骤:
获取宿主图像,并对宿主图像中的目标嵌入区域进行识别;其中,所述宿主图像采用如权利要求1-5任一项方法进行信息隐藏;
获取目标嵌入区域的RGB值,并对G分量和B分量的值分别进行二值转换,得到G分量和B分量对应的8位二进制串;
按照目标嵌入区域的行列顺序,依次提取每个像素G分量和B分量对应8位二进制串的末两位,得到隐藏字符串对应的二进制串;
对于得到的二进制串,每8位为一组进行分割并进行字符转换,得到待隐藏字符串。
7.一种程序代码在图像中隐藏的系统,其特征在于,包括:
隐藏信息获取模块,被配置为获取包含待隐藏程序的字符串;
二进制转换模块,被配置为将所述待隐藏程序的字符串转换为二进制串并进行置反,得到新的二进制串;
隐藏信息嵌入模块,被配置为将新的二进制串转化为二值图像,将二值图像嵌入到宿主图像中;
将新的二进制串转化为二值图像包括:
根据二进制串位数求取二值图像的行列大小:假设二进制串位数为N,二值图像的行列数目分别为h和w,h和w满足min(w+h)并且N=w×h;将二进制串的每一位作为一个像素值,按行列顺序写入该二值图像。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5任一项所述的程序代码在图像中隐藏的方法或者如权利要求6所述的解析方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5任一项所述的程序代码在图像中隐藏的或者如权利要求6所述的解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010915593.XA CN112017099B (zh) | 2020-09-03 | 2020-09-03 | 一种程序代码在图像中隐藏、解析的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010915593.XA CN112017099B (zh) | 2020-09-03 | 2020-09-03 | 一种程序代码在图像中隐藏、解析的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112017099A CN112017099A (zh) | 2020-12-01 |
CN112017099B true CN112017099B (zh) | 2023-12-15 |
Family
ID=73517166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010915593.XA Active CN112017099B (zh) | 2020-09-03 | 2020-09-03 | 一种程序代码在图像中隐藏、解析的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112017099B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001274980A (ja) * | 2000-03-27 | 2001-10-05 | Asa Systems:Kk | 印刷物およびこれを用いた情報秘匿システム |
CN102196170A (zh) * | 2010-02-04 | 2011-09-21 | 索尼公司 | 图像处理装置和方法及其程序 |
CN102597961A (zh) * | 2009-11-10 | 2012-07-18 | 国际商业机器公司 | 用于调试存储器一致性模型的系统和方法 |
CN102695059A (zh) * | 2012-05-31 | 2012-09-26 | 西安空间无线电技术研究所 | 一种图像隐藏压缩传输方法 |
CN103559251A (zh) * | 2013-11-03 | 2014-02-05 | 广西师范大学 | 基于信息隐藏的数据安全保护方法 |
CN103632375A (zh) * | 2013-12-10 | 2014-03-12 | 三峡大学 | 一种图像置乱评价方法和装置 |
CN104021518A (zh) * | 2014-06-23 | 2014-09-03 | 山东大学 | 高动态范围图像的可逆数据隐藏方法 |
CN104112100A (zh) * | 2014-06-26 | 2014-10-22 | 广州华多网络科技有限公司 | 基于位图的数据隐藏方法及装置 |
CN106462397A (zh) * | 2014-06-11 | 2017-02-22 | 富士通株式会社 | 程序生成装置、程序生成方法和程序 |
CN106875323A (zh) * | 2017-01-18 | 2017-06-20 | 中国人民武装警察部队工程大学 | 一种基于图像加密的信息隐藏方法及其装置 |
CN108537049A (zh) * | 2018-03-14 | 2018-09-14 | 中山大学 | 一种基于二值图像的自适应隐写算法 |
CN109410116A (zh) * | 2018-11-02 | 2019-03-01 | 江苏亿鸿信息工程有限公司 | 面向动画图像的信息隐藏及提取方法 |
CN109785222A (zh) * | 2019-01-17 | 2019-05-21 | 杭州基尔区块链科技有限公司 | 一种用于网页的信息快速嵌入和提取的方法 |
CN110363697A (zh) * | 2019-06-28 | 2019-10-22 | 北京字节跳动网络技术有限公司 | 一种图像水印隐写方法、装置、介质和电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4358879B2 (ja) * | 2007-05-22 | 2009-11-04 | シャープ株式会社 | 画像処理装置及び画像処理サーバ |
US10586055B2 (en) * | 2017-10-30 | 2020-03-10 | Paypal, Inc. | Electronically backing up files using steganography |
-
2020
- 2020-09-03 CN CN202010915593.XA patent/CN112017099B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001274980A (ja) * | 2000-03-27 | 2001-10-05 | Asa Systems:Kk | 印刷物およびこれを用いた情報秘匿システム |
CN102597961A (zh) * | 2009-11-10 | 2012-07-18 | 国际商业机器公司 | 用于调试存储器一致性模型的系统和方法 |
CN102196170A (zh) * | 2010-02-04 | 2011-09-21 | 索尼公司 | 图像处理装置和方法及其程序 |
CN102695059A (zh) * | 2012-05-31 | 2012-09-26 | 西安空间无线电技术研究所 | 一种图像隐藏压缩传输方法 |
CN103559251A (zh) * | 2013-11-03 | 2014-02-05 | 广西师范大学 | 基于信息隐藏的数据安全保护方法 |
CN103632375A (zh) * | 2013-12-10 | 2014-03-12 | 三峡大学 | 一种图像置乱评价方法和装置 |
CN106462397A (zh) * | 2014-06-11 | 2017-02-22 | 富士通株式会社 | 程序生成装置、程序生成方法和程序 |
CN104021518A (zh) * | 2014-06-23 | 2014-09-03 | 山东大学 | 高动态范围图像的可逆数据隐藏方法 |
CN104112100A (zh) * | 2014-06-26 | 2014-10-22 | 广州华多网络科技有限公司 | 基于位图的数据隐藏方法及装置 |
CN106875323A (zh) * | 2017-01-18 | 2017-06-20 | 中国人民武装警察部队工程大学 | 一种基于图像加密的信息隐藏方法及其装置 |
CN108537049A (zh) * | 2018-03-14 | 2018-09-14 | 中山大学 | 一种基于二值图像的自适应隐写算法 |
CN109410116A (zh) * | 2018-11-02 | 2019-03-01 | 江苏亿鸿信息工程有限公司 | 面向动画图像的信息隐藏及提取方法 |
CN109785222A (zh) * | 2019-01-17 | 2019-05-21 | 杭州基尔区块链科技有限公司 | 一种用于网页的信息快速嵌入和提取的方法 |
CN110363697A (zh) * | 2019-06-28 | 2019-10-22 | 北京字节跳动网络技术有限公司 | 一种图像水印隐写方法、装置、介质和电子设备 |
Non-Patent Citations (6)
Title |
---|
A Fast and Efficient Data Hiding Scheme in Binary Images;Gyan Singh Yadav;《2012 Eighth International Conference on Intelligent Information Hiding and Multimedia Signal Processing》;全文 * |
Gyan Singh Yadav.A Fast and Efficient Data Hiding Scheme in Binary Images.《2012 Eighth International Conference on Intelligent Information Hiding and Multimedia Signal Processing》.2012,全文. * |
JPEG图像的信息隐藏方法;周清雷;黄明磊;;计算机工程与设计(第19期);全文 * |
二值图像信息隐藏算法的设计与评估;付磊;《中国优秀硕士论文全文数据库》;全文 * |
付磊.二值图像信息隐藏算法的设计与评估.《中国优秀硕士论文全文数据库》.2012,全文. * |
基于RGB图像传输的双随机相位加密隐藏技术;孙敏;苏显渝;;光子学报(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112017099A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Attaby et al. | Data hiding inside JPEG images with high resistance to steganalysis using a novel technique: DCT-M3 | |
Chang et al. | Four-scanning attack on hierarchical digital watermarking method for image tamper detection and recovery | |
CN109785222B (zh) | 一种用于网页的信息快速嵌入和提取的方法 | |
Song et al. | An integer DCT and affine transformation based image steganography method | |
Zhang et al. | Reversible image watermarking algorithm based on quadratic difference expansion | |
CN114626967A (zh) | 一种数字水印嵌入与提取方法、装置、设备及存储介质 | |
CN103745479A (zh) | 一种彩色图像数字隐写及其分析方法 | |
Nilizadeh et al. | Information Hiding in RGB Images Using an Improved Matrix Pattern Approach. | |
CN110211020B (zh) | 基于swt-dft的图像水印嵌入与提取方法 | |
CN112017099B (zh) | 一种程序代码在图像中隐藏、解析的方法及系统 | |
Sonnleitner | A robust watermarking approach for large databases | |
Cao et al. | Approaches to obtaining fingerprints of steganography tools which embed message in fixed positions | |
Masaebi et al. | A New Approach for Image Hiding Based on Contourlet Transform. | |
Yao et al. | High invisibility image steganography with wavelet transform and generative adversarial network | |
CN113378186B (zh) | 一种基于编码的图像加密隐藏信息的方法及装置 | |
Li et al. | High‐Capacity Reversible Data Hiding in Encrypted Images by Information Preprocessing | |
Shady et al. | Local features-based watermarking for image security in social media | |
Xia et al. | Perceptual image hashing using rotation invariant uniform local binary patterns and color feature | |
Vybornova et al. | Copyright protection for image classification models using pseudo-holographic watermarks | |
CN114693955A (zh) | 比对图像相似度的方法与装置及电子设备 | |
Mandal et al. | Variant of LSB steganography algorithm for hiding information in RGB images | |
Chang et al. | A novel data hiding scheme for block truncation coding compressed images using dynamic programming strategy | |
Pascaline et al. | Using photomosaic and steganographic techniques for hiding information inside image mosaics | |
Hajiramezan et al. | A new robust and non-blind digital image watermarking scheme based on integer wavelet transform | |
EP1171756B1 (en) | Method of detecting a watermark in digital 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 |