一种在数字彩色图像中实现秘密信息密写及提取的方法转让专利

申请号 : CN201710328178.2

文献号 : CN107135395B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 韦晨阳严迪群钟阳勋

申请人 : 宁波大学

摘要 :

本发明公开了一种在数字彩色图像中实现秘密信息密写及提取的方法,其在密写秘密信息的过程中,先抽取出数字彩色图像中的多个像素点的主数据,在每个主数据中密写一个字符,在不影响其他性能的前提下,最多可在数字彩色图像中的每个像素点的主数据中密写一个字符,密写容量大;待密写图像中的像素点的R、G、B颜色值与利用本发明的密写方法密写秘密信息后的像素点的R、G、B颜色值最多只相差3或7,即利用本发明的密写方法密写秘密信息后,相对于原始数据改动很小,不可检测性高;本发明的密写方法实现秘密信息的密写,只进行了简单的加、减、求余运算,计算复杂度极低。

权利要求 :

1.一种在数字彩色图像中实现秘密信息密写的方法,其特征在于包括以下步骤:

①_1、将需要隐藏字符串秘密信息的数字彩色图像定义为待密写图像,记为Sorg;将字符串秘密信息记为W;其中,W的长度为n,1≤n≤Ntotal,Ntotal表示Sorg中包含的像素点的总个数;

①_2、对Sorg进行解码,得到Sorg的编码信息和主数据;然后根据设定的规则,从Sorg的主数据中抽取出n个像素点的主数据;并构建一张属性字符表,属性字符表有字符和属性值两个字段,属性字符表中有2d+f+h个不同的字符、有2d+f+h组不同的属性值组,属性字符表中的每个字符对应一组唯一的属性值组,由属性字符表中的所有字符构成的集合包含了W中的所有字符,属性字符表中的任意一组属性值组包含了x、y、z三个属性值;其中,指数d、f、h的取值为2或3,d、f、h的取值与x、y、z三个属性值一一对应,x∈[0,2d-1],y∈[0,2f-1],z∈[0,

2h-1];

①_3、对从Sorg的主数据中抽取出的每个像素点的主数据进行秘密信息密写,具体过程为:①_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据;并将当前从W中提取出的字符定义为当前字符;

①_3b、设当前主数据为抽取出的第i个像素点的主数据;设当前字符为W中的第i个字符,并记为wi;其中,1≤i≤n;

①_3c、将当前主数据转换成R、G、B颜色值,对应记为ri、gi、bi;并在属性字符表中找出wi对应的x、y、z三个属性值,提取出对应记为xi、yi、zi;其中,ri∈[0,255],gi∈[0,255],bi∈[0,255];

①_3d、计算

然后令 至此完成当前主数据的秘密信息

密写;其中, 和 均为引入的中间变量,且初始值均为0,mod()为取余函数,和 中的“=”为赋值符号;

①_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据,并将下一个从W中提取出的字符作为当前字符;然后返回步骤①_3b继续执行,直至从Sorg的主数据中抽取出的每个像素点的主数据已实现秘密信息密写,得到含秘密信息的数字彩色图像;

①_4、发送属性字符表给秘密信息提取端。

2.根据权利要求1所述的一种在数字彩色图像中实现秘密信息密写的方法,其特征在于所述的步骤①_2中的设定的规则为:等间隔抽取。

3.根据权利要求1或2所述的一种在数字彩色图像中实现秘密信息密写的方法,其特征在于所述的步骤①_2中的属性字符表中的2d+f+h组不同的属性值组的确定过程为:①_2a、任意选取一幅数字彩色图像;①_2b、计算该数字彩色图像中的每个像素点的R颜色值与2d的余数,并计算该数字彩色图像中的每个像素点的G颜色值与2f的余数,计算该数字彩色图像中的每个像素点的B颜色值与2h的余数,得到该数字彩色图像中的每个像素点对应的包含有三个余数的一组余数组;①_2c、从该数字彩色图像中的所有像素点对应的余数组中,取

2d+f+h组不同的余数组,将所取的一组余数组作为一组属性值组。

4.根据权利要求3所述的一种在数字彩色图像中实现秘密信息密写的方法,其特征在于利用密钥对所述的步骤①_1中的W进行置乱处理,将置乱后的字符串秘密信息记为 然后令 其中, 中的“=”为赋值符号。

5.一种在数字彩色图像中实现秘密信息密写的方法,其特征在于包括以下步骤:

②_1、将需要隐藏字符串秘密信息的数字彩色图像定义为待密写图像,记为Sorg;将字符串秘密信息记为W;其中,W的长度为n,1≤n≤Ntotal,Ntotal表示Sorg中包含的像素点的总个数;

②_2、对Sorg进行解码,得到Sorg的编码信息和主数据;然后根据设定的规则,从Sorg的主数据中抽取出n个像素点的主数据;并构建一张属性字符表,属性字符表有字符和属性值两个字段,属性字符表中有2d+f+h个不同的字符、有2d+f+h组不同的属性值组,属性字符表中的每个字符对应一组唯一的属性值组,由属性字符表中的所有字符构成的集合包含了W中的所有字符,属性字符表中的任意一组属性值组包含了x、y、z三个属性值;其中,指数d、f、h的取值为2或3,d、f、h的取值与x、y、z三个属性值一一对应,x∈[0,2d-1],y∈[0,2f-1],z∈[0,

2h-1];

②_3、对从Sorg的主数据中抽取出的每个像素点的主数据进行秘密信息密写,具体过程为:②_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据;并将当前从W中提取出的字符定义为当前字符;

②_3b、设当前主数据为抽取出的第i个像素点的主数据;设当前字符为W中的第i个字符,并记为wi;其中,1≤i≤n;

②_3c、将当前主数据转换成R、G、B颜色值,对应记为ri、gi、bi;并在属性字符表中找出wi对应的x、y、z三个属性值,提取出对应记为xi、yi、zi;其中,ri∈[0,255],gi∈[0,255],bi∈[0,255];

②_3d、计算

然后令

再令

至此完成当前主数据的秘密信息密写;其中, 和 均为引入

的中间变量,且初始值均为0,mod()为取余函数, 和 均为引入的中间变量,且初始值均为0,符号“||”为取绝对值符号, 和 中的“=”为赋值符号;

②_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据,并将下一个从W中提取出的字符作为当前字符;然后返回步骤②_3b继续执行,直至从Sorg的主数据中抽取出的每个像素点的主数据已实现秘密信息密写,得到含秘密信息的数字彩色图像;

②_4、发送属性字符表给秘密信息提取端。

6.根据权利要求5所述的一种在数字彩色图像中实现秘密信息密写的方法,其特征在于所述的步骤②_2中的设定的规则为:等间隔抽取。

7.根据权利要求5或6所述的一种在数字彩色图像中实现秘密信息密写的方法,其特征在于所述的步骤②_2中的属性字符表中的2d+f+h组不同的属性值组的确定过程为:②_2a、任意选取一幅数字彩色图像;②_2b、计算该数字彩色图像中的每个像素点的R颜色值与2d的余数,并计算该数字彩色图像中的每个像素点的G颜色值与2f的余数,计算该数字彩色图像中的每个像素点的B颜色值与2h的余数,得到该数字彩色图像中的每个像素点对应的包含有三个余数的一组余数组;②_2c、从该数字彩色图像中的所有像素点对应的余数组中,取

2d+f+h组不同的余数组,将所取的一组余数组作为一组属性值组。

8.根据权利要求7所述的一种在数字彩色图像中实现秘密信息密写的方法,其特征在于利用密钥对所述的步骤②_1中的W进行置乱处理,将置乱后的字符串秘密信息记为 然后令 其中, 中的“=”为赋值符号。

9.一种与权利要求2或6所述的在数字彩色图像中实现秘密信息密写的方法相对应的在数字彩色图像中实现秘密信息提取的方法,其特征在于包括以下步骤:③_1、将含秘密信息的数字彩色图像定义为待提密图像,记为Smi;其中,Smi中包含的像素点的总个数为Ntotal;

③_2、对Smi进行解码,得到Smi的编码信息和主数据;然后根据与秘密信息密写时相同的规则,从Smi的主数据中抽取出n个像素点的主数据;其中,1≤n≤Ntotal;

③_3、对从Smi的主数据中抽取出的每个像素点的主数据进行秘密信息提取,具体过程为:③_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据;

③_3b、设当前主数据为抽取出的第i个像素点的主数据;其中,1≤i≤n;

③_3c、将当前主数据转换成R、G、B颜色值,对应记为ri'、gi'、bi';然后计算其中,ri'∈[0,255],gi'∈[0,255],bi'∈[0,255], 和 均为引入的中间变量,且初始值均为0,mod()为取余函数,指数d、f、h的取值与秘密信息密写时的取值相同;

③_3d、令 然后将xi'、yi'、zi'对应作为x、y、z三个属性值;

接着在秘密信息密写端发送的属性字符表中找出xi'、yi'、zi'对应的字符,提取出记为wi',至此完成当前主数据的秘密信息提取;其中,xi'、yi'、zi'均为引入的中间变量,且初始值均为0, 和 中的“=”为赋值符号;

③_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据;然后返回步骤③_3b继续执行,直至从Smi的主数据中抽取出的每个像素点的主数据已实现秘密信息提取,提取得到字符串秘密信息,记为W',W'=w1'w2'…wi'…wn';其中,W'的长度为n,w1'w2'…wi'…wn'对应表示提取出的第1个字符、第2个字符、…、第i个字符、…、第n个字符。

10.根据权利要求9所述的一种在数字彩色图像中实现秘密信息提取的方法,其特征在于利用与秘密信息密写端相同的密钥对提取得到的字符串秘密信息W'进行反置乱处理,将反置乱后的字符串秘密信息记为 为原始的字符串秘密信息;其中,反置乱处理的方法与秘密信息密写端所采用的置乱处理的方法相同。

说明书 :

一种在数字彩色图像中实现秘密信息密写及提取的方法

技术领域

[0001] 本发明涉及一种数字密写技术,尤其是涉及一种在数字彩色图像中实现秘密信息密写及提取的方法。

背景技术

[0002] 当前,由于通信线路很容易受到监听和恶意干扰,因此安全和隐私问题比以往任何时候都更受人们的关注。传统解决监听和干扰的方案主要是加密。秘密信息通过加密之后,对不拥有正确解密密钥的攻击者将不可读,但是,尽管加密可以使秘密信息的内容得到保护,也无法隐藏正在进行秘密通信这一事实,反而加密的秘密信息更容易引起攻击者的怀疑,进而激发攻击者进行破解的欲望。数字密写技术是利用多媒体载体自身的感知和统计冗余,将秘密信息隐藏其中,能将秘密信息被传输这一事实得到隐藏。
[0003] 数字图像是最为常见的一种密写载体。目前典型的数字图像密写算法主要有空域密写算法和变换域密写算法两类。空域密写算法是通过直接用秘密信息替代数字图像中的冗余部分来实现密写的;变换域密写算法则是通过修改图像变换系数来实现密写的,其中,典型的图像变换有离散傅立叶变换、离散余弦变换和小波变换等。
[0004] 数字图像的空域密写算法可以实现大容量秘密信息的隐藏,但是,由于密写操作会明显改变像素点之间的统计规律,因此不可检测性较弱;同时在受到攻击或干扰时,隐藏其中的秘密信息容易丢失,鲁棒性和抗干扰能力较弱。相对的,数字图像的变换域密写算法则可以保持较高的不可检测性,但是,所能密写的容量往往很有限,同时算法的复杂度相对较高。
[0005] 由此可见,目前尽管已经出现了诸多以数字图像为载体的数字密写算法,但是,在密写容量、不可检测性、算法复杂度等方面仍有一定的提升空间。

发明内容

[0006] 本发明所要解决的技术问题是提供一种在数字彩色图像中实现秘密信息密写及提取的方法,其密写容量大、不可检测性高、计算复杂度低。
[0007] 本发明解决上述技术问题所采用的技术方案为:一种在数字彩色图像中实现秘密信息密写的方法,其特征在于包括以下步骤:
[0008] ①_1、将需要隐藏字符串秘密信息的数字彩色图像定义为待密写图像,记为Sorg;将字符串秘密信息记为W;其中,W的长度为n,1≤n≤Ntotal,Ntotal表示Sorg中包含的像素点的总个数;
[0009] ①_2、对Sorg进行解码,得到Sorg的编码信息和主数据;然后根据设定的规则,从Sorg的主数据中抽取出n个像素点的主数据;并构建一张属性字符表,属性字符表有字符和属性值两个字段,属性字符表中有2d+f+h个不同的字符、有2d+f+h组不同的属性值组,属性字符表中的每个字符对应一组唯一的属性值组,由属性字符表中的所有字符构成的集合包含了W中的所有字符,属性字符表中的任意一组属性值组包含了x、y、z三个属性值;其中,指数d、f、h的取值为2或3,d、f、h的取值与x、y、z三个属性值一一对应,x∈[0,2d-1],y∈[0,2f-1],z∈[0,2h-1];
[0010] ①_3、对从Sorg的主数据中抽取出的每个像素点的主数据进行秘密信息密写,具体过程为:
[0011] ①_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据;并将当前从W中提取出的字符定义为当前字符;
[0012] ①_3b、设当前主数据为抽取出的第i个像素点的主数据;设当前字符为W中的第i个字符,并记为wi;其中,1≤i≤n;
[0013] ①_3c、将当前主数据转换成R、G、B颜色值,对应记为ri、gi、bi;并在属性字符表中找出wi对应的x、y、z三个属性值,提取出对应记为xi、yi、zi;其中,ri∈[0,255],gi∈[0,255],bi∈[0,255];
[0014] ① _ 3 d 、计 算然后令 至此完成当前主数据的秘密信息
密写;其中, 和 均为引入的中间变量,且初始值均为0,mod()为取余函数,
和 中的“=”为赋值符号;
[0015] ①_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据,并将下一个从W中提取出的字符作为当前字符;然后返回步骤①_3b继续执行,直至从Sorg的主数据中抽取出的每个像素点的主数据已实现秘密信息密写,得到含秘密信息的数字彩色图像;
[0016] ①_4、发送属性字符表给秘密信息提取端。
[0017] 所述的步骤①_2中的设定的规则为:随机抽取或等间隔抽取。
[0018] 所述的步骤①_2中的属性字符表中的2d+f+h组不同的属性值组的确定过程为:①_2a、任意选取一幅数字彩色图像;①_2b、计算该数字彩色图像中的每个像素点的R颜色值与d f
2的余数,并计算该数字彩色图像中的每个像素点的G颜色值与2的余数,计算该数字彩色图像中的每个像素点的B颜色值与2h的余数,得到该数字彩色图像中的每个像素点对应的包含有三个余数的一组余数组;①_2c、从该数字彩色图像中的所有像素点对应的余数组中,取2d+f+h组不同的余数组,将所取的一组余数组作为一组属性值组。
[0019] 利用密钥对所述的步骤①_1中的W进行置乱处理,将置乱后的字符串秘密信息记为 然后令 其中, 中的“=”为赋值符号。
[0020] 一种在数字彩色图像中实现秘密信息密写的方法,其特征在于包括以下步骤:
[0021] ②_1、将需要隐藏字符串秘密信息的数字彩色图像定义为待密写图像,记为Sorg;将字符串秘密信息记为W;其中,W的长度为n,1≤n≤Ntotal,Ntotal表示Sorg中包含的像素点的总个数;
[0022] ②_2、对Sorg进行解码,得到Sorg的编码信息和主数据;然后根据设定的规则,从Sorg的主数据中抽取出n个像素点的主数据;并构建一张属性字符表,属性字符表有字符和属性值两个字段,属性字符表中有2d+f+h个不同的字符、有2d+f+h组不同的属性值组,属性字符表中的每个字符对应一组唯一的属性值组,由属性字符表中的所有字符构成的集合包含了W中的所有字符,属性字符表中的任意一组属性值组包含了x、y、z三个属性值;其中,指数d、f、h的取值为2或3,d、f、h的取值与x、y、z三个属性值一一对应,x∈[0,2d-1],y∈[0,2f-1],z∈[0,2h-1];
[0023] ②_3、对从Sorg的主数据中抽取出的每个像素点的主数据进行秘密信息密写,具体过程为:
[0024] ②_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据;并将当前从W中提取出的字符定义为当前字符;
[0025] ②_3b、设当前主数据为抽取出的第i个像素点的主数据;设当前字符为W中的第i个字符,并记为wi;其中,1≤i≤n;
[0026] ②_3c、将当前主数据转换成R、G、B颜色值,对应记为ri、gi、bi;并在属性字符表中找出wi对应的x、y、z三个属性值,提取出对应记为xi、yi、zi;其中,ri∈[0,255],gi∈[0,255],bi∈[0,255];
[0027] ② _ 3 d 、计 算然后令
[0028]
[0029]
[0030]再令
至此完成当前主数据的秘密信息密写;其中, 和 均为引入
的中间变量,且初始值均为0,mod()为取余函数, 和 均为引入的中间变量,且初始值均为0,符号“||”为取绝对值符号, 和 中的“=”为赋值符号;
[0031] ②_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据,并将下一个从W中提取出的字符作为当前字符;然后返回步骤②_3b继续执行,直至从Sorg的主数据中抽取出的每个像素点的主数据已实现秘密信息密写,得到含秘密信息的数字彩色图像;
[0032] ②_4、发送属性字符表给秘密信息提取端。
[0033] 所述的步骤②_2中的设定的规则为:随机抽取或等间隔抽取。
[0034] 所述的步骤②_2中的属性字符表中的2d+f+h组不同的属性值组的确定过程为:②_2a、任意选取一幅数字彩色图像;②_2b、计算该数字彩色图像中的每个像素点的R颜色值与
2d的余数,并计算该数字彩色图像中的每个像素点的G颜色值与2f的余数,计算该数字彩色图像中的每个像素点的B颜色值与2h的余数,得到该数字彩色图像中的每个像素点对应的包含有三个余数的一组余数组;②_2c、从该数字彩色图像中的所有像素点对应的余数组中,取2d+f+h组不同的余数组,将所取的一组余数组作为一组属性值组。
[0035] 利用密钥对所述的步骤②_1中的W进行置乱处理,将置乱后的字符串秘密信息记为 然后令 其中, 中的“=”为赋值符号。
[0036] 一种在数字彩色图像中实现秘密信息提取的方法,其特征在于包括以下步骤:
[0037] ③_1、将含秘密信息的数字彩色图像定义为待提密图像,记为Smi;其中,Smi中包含的像素点的总个数为Ntotal;
[0038] ③_2、对Smi进行解码,得到Smi的编码信息和主数据;然后根据与秘密信息密写时相同的规则,从Smi的主数据中抽取出n个像素点的主数据;其中,1≤n≤Ntotal;
[0039] ③_3、对从Smi的主数据中抽取出的每个像素点的主数据进行秘密信息提取,具体过程为:
[0040] ③_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据;
[0041] ③_3b、设当前主数据为抽取出的第i个像素点的主数据;其中,1≤i≤n;
[0042] ③_3c、将当前主数据转换成R、G、B颜色值,对应记为ri'、gi'、bi';然后计算其中,ri'∈[0,255],gi'∈[0,255],bi'∈[0,255], 和 均为引入的中间变量,且初始值均为0,mod()为取余函数,指数d、f、h的取值与秘密信息密写时的取值相同;
[0043] ③_3d、令 然后将xi'、yi'、zi'对应作为x、y、z三个属性值;接着在秘密信息密写端发送的属性字符表中找出xi'、yi'、zi'对应的字符,提取出记为wi',至此完成当前主数据的秘密信息提取;其中,xi'、yi'、zi'均为引入的中间变量,且初始值均为0, 和 中的“=”为赋值符号;
[0044] ③_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据;然后返回步骤③_3b继续执行,直至从Smi的主数据中抽取出的每个像素点的主数据已实现秘密信息提取,提取得到字符串秘密信息,记为W',W'=w1'w2'…wi'…wn';其中,W'的长度为n,w1'w2'…wi'…wn'对应表示提取出的第1个字符、第2个字符、…、第i个字符、…、第n个字符。
[0045] 利用与秘密信息密写端相同的密钥对提取得到的字符串秘密信息W'进行反置乱处理,将反置乱后的字符串秘密信息记为 为原始的字符串秘密信息;其中,反置乱处理的方法与秘密信息密写端所采用的置乱处理的方法相同。
[0046] 与现有技术相比,本发明的优点在于:
[0047] 1)本发明的密写方法在密写秘密信息的过程中,先抽取出数字彩色图像中的多个像素点的主数据,在每个主数据中密写一个字符,在不影响其他性能的前提下,最多可在数字彩色图像中的每个像素点的主数据中密写一个字符,密写容量大。
[0048] 2)待密写图像中的像素点的R、G、B颜色值与利用本发明的密写方法密写秘密信息后的像素点的R、G、B颜色值最多只相差3(以二进制数表示只相差后两位)或7(以二进制数表示只相差后三位),即利用本发明的密写方法密写秘密信息后,相对于原始数据改动很小,不可检测性高。
[0049] 3)本发明的密写方法实现秘密信息的密写,只进行了简单的加、减、求余运算,计算复杂度极低。

附图说明

[0050] 图1为实施例一和实施例三的在数字彩色图像中实现秘密信息密写的方法的总体实现框图;
[0051] 图2为实施例一和实施例三的在数字彩色图像中实现秘密信息提取的方法的总体实现框图;
[0052] 图3为实施例二和实施例四的在数字彩色图像中实现秘密信息密写的方法的总体实现框图;
[0053] 图4为实施例二和实施例四的在数字彩色图像中实现秘密信息提取的方法的总体实现框图;
[0054] 图5为在分辨率为20×30的数字彩色图像的主数据中抽取的n=11个像素点的位置示意图。

具体实施方式

[0055] 以下结合附图实施例对本发明作进一步详细描述。
[0056] 实施例一:
[0057] 本实施例提出的一种在数字彩色图像中实现秘密信息密写的方法,其总体实现框图如图1所示,其包括以下步骤:
[0058] ①_1、将需要隐藏字符串秘密信息的数字彩色图像定义为待密写图像,记为Sorg;将字符串秘密信息记为W;其中,W的长度为n,1≤n≤Ntotal,Ntotal表示Sorg中包含的像素点的总个数。
[0059] ①_2、对Sorg进行解码,得到Sorg的编码信息和主数据;然后根据设定的规则,从Sorg的主数据中抽取出n个像素点的主数据;并构建一张属性字符表,属性字符表有字符和属性值两个字段,属性字符表中有2d+f+h个不同的字符、有2d+f+h组不同的属性值组,属性字符表中的每个字符对应一组唯一的属性值组,由属性字符表中的所有字符构成的集合包含了W中的所有字符,属性字符表中的任意一组属性值组包含了x、y、z三个属性值;其中,指数d、f、h的取值为2或3,在本实施例中取d=f=h=2,d、f、h的取值与x、y、z三个属性值一一对应,x∈[0,2d-1],y∈[0,2f-1],z∈[0,2h-1]。
[0060] 在此具体实施例中,步骤①_2中的设定的规则为:随机抽取或等间隔抽取。
[0061] 在此具体实施例中,步骤①_2中的属性字符表中的2d+f+h组不同的属性值组的确定过程为:①_2a、任意选取一幅数字彩色图像;①_2b、计算该数字彩色图像中的每个像素点的R颜色值与2d的余数,并计算该数字彩色图像中的每个像素点的G颜色值与2f的余数,计算该数字彩色图像中的每个像素点的B颜色值与2h的余数,得到该数字彩色图像中的每个像素点对应的包含有三个余数的一组余数组;①_2c、从该数字彩色图像中的所有像素点对应的余数组中,取2d+f+h组不同的余数组,将所取的一组余数组作为一组属性值组。
[0062] ①_3、对从Sorg的主数据中抽取出的每个像素点的主数据进行秘密信息密写,具体过程为:
[0063] ①_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据;并将当前从W中提取出的字符定义为当前字符。
[0064] ①_3b、设当前主数据为抽取出的第i个像素点的主数据;设当前字符为W中的第i个字符,并记为wi;其中,1≤i≤n。
[0065] ①_3c、将当前主数据转换成R、G、B颜色值,对应记为ri、gi、bi;并在属性字符表中找出wi对应的x、y、z三个属性值,提取出对应记为xi、yi、zi;其中,ri∈[0,255],gi∈[0,255],bi∈[0,255]。
[0066] ① _ 3 d 、计 算然后令 至此完成当前主数据的秘密信息
密写;其中, 和 均为引入的中间变量,且初始值均为0,mod()为取余函数,
和 中的“=”为赋值符号;由于ri-mod(ri,2d)∈[0,255-(2d-1)]、gi-mod
(gi,2f)∈[0,255-(2f-1)]和bi-mod(bi,2h)∈[0,255-(2h-1)],xi∈[0,2d-1]、yi∈[0,2f-1]和zi∈[0,2h-1],这样得到的 和 的值属于区间[0,255],因此秘密信息密写不会导致R、G、B颜色值溢出。
[0067] ①_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据,并将下一个从W中提取出的字符作为当前字符;然后返回步骤①_3b继续执行,直至从Sorg的主数据中抽取出的每个像素点的主数据已实现秘密信息密写,得到含秘密信息的数字彩色图像。
[0068] ①_4、发送属性字符表给秘密信息提取端。
[0069] 本实施例提出的一种在数字彩色图像中实现秘密信息提取的方法,其总体实现框图如图2所示,其与上述密写方法对应,其包括以下步骤:
[0070] ③_1、将含秘密信息的数字彩色图像定义为待提密图像,记为Smi;其中,Smi中包含的像素点的总个数为Ntotal。
[0071] ③_2、对Smi进行解码,得到Smi的编码信息和主数据;然后根据与秘密信息密写时相同的规则,从Smi的主数据中抽取出n个像素点的主数据;其中,1≤n≤Ntotal。
[0072] ③_3、对从Smi的主数据中抽取出的每个像素点的主数据进行秘密信息提取,具体过程为:
[0073] ③_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据。
[0074] ③_3b、设当前主数据为抽取出的第i个像素点的主数据;其中,1≤i≤n。
[0075] ③_3c、将当前主数据转换成R、G、B颜色值,对应记为ri'、gi'、bi';然后计算其中,ri'∈[0,255],gi'∈[0,255],bi'∈[0,255], 和 均为引入的中间变量,且初始值均为0,mod()为取余函数,指数d、f、h的取值与秘密信息密写时的取值相同。
[0076] ③_3d、令 然后将xi'、yi'、zi'对应作为x、y、z三个属性值;接着在秘密信息密写端发送的属性字符表中找出xi'、yi'、zi'对应的字符,提取出记为wi',至此完成当前主数据的秘密信息提取;其中,xi'、yi'、zi'均为引入的中间变量,且初始值均为0, 和 中的“=”为赋值符号。
[0077] ③_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据;然后返回步骤③_3b继续执行,直至从Smi的主数据中抽取出的每个像素点的主数据已实现秘密信息提取,提取得到字符串秘密信息,记为W',W'=w1'w2'…wi'…wn';其中,W'的长度为n,w1'w2'…wi'…wn'对应表示提取出的第1个字符、第2个字符、…、第i个字符、…、第n个字符。
[0078] 实施例二:
[0079] 本实施例提出的一种在数字彩色图像中实现秘密信息密写的方法,其过程与实施例一的密写方法的过程基本相同,不同之外仅在于:其总体实现框图如图3所示,本实施例的密写方法为了提高隐秘通信的安全性,先利用密钥对步骤①_1中的W进行置乱处理,将置乱后的字符串秘密信息记为 然后令 其中, 中的“=”为赋值符号。在此,置乱处理的方法采用现有的成熟的置乱算法,密钥作为所采用的置乱处理的方法的参数,密钥的位数根据所采用的置乱处理的方法确定。
[0080] 由于在密写方法中先对原始的字符串秘密信息进行了置乱处理,因此需对提取出的字符串秘密信息进行反置乱处理,即本实施例提出的一种在数字彩色图像中实现秘密信息提取的方法,其过程与实施例一的提取方法的过程基本相同,不同之外仅在于:其总体实现框图如图4所示,本实施例的提取方法利用与秘密信息密写端相同的密钥对提取得到的字符串秘密信息W'进行反置乱处理,将反置乱后的字符串秘密信息记为 为原始的字符串秘密信息;其中,反置乱处理的方法与秘密信息密写端所采用的置乱处理的方法相同。
[0081] 实施例三:
[0082] 本实施例提出的一种在数字彩色图像中实现秘密信息密写的方法,其总体实现框图如图1所示,其包括以下步骤:
[0083] ②_1、将需要隐藏字符串秘密信息的数字彩色图像定义为待密写图像,记为Sorg;将字符串秘密信息记为W;其中,W的长度为n,1≤n≤Ntotal,Ntotal表示Sorg中包含的像素点的总个数。
[0084] ②_2、对Sorg进行解码,得到Sorg的编码信息和主数据;然后根据设定的规则,从Sorg的主数据中抽取出n个像素点的主数据;并构建一张属性字符表,属性字符表有字符和属性值两个字段,属性字符表中有2d+f+h个不同的字符、有2d+f+h组不同的属性值组,属性字符表中的每个字符对应一组唯一的属性值组,由属性字符表中的所有字符构成的集合包含了W中的所有字符,属性字符表中的任意一组属性值组包含了x、y、z三个属性值;其中,指数d、f、h的取值为2或3,在本实施例中取d=f=h=2,d、f、h的取值与x、y、z三个属性值一一对应,x∈[0,2d-1],y∈[0,2f-1],z∈[0,2h-1]。
[0085] 在此具体实施例中,步骤②_2中的设定的规则为:随机抽取或等间隔抽取。
[0086] 在此具体实施例中,步骤②_2中的属性字符表中的2d+f+h组不同的属性值组的确定过程为:②_2a、任意选取一幅数字彩色图像;②_2b、计算该数字彩色图像中的每个像素点的R颜色值与2d的余数,并计算该数字彩色图像中的每个像素点的G颜色值与2f的余数,计算该数字彩色图像中的每个像素点的B颜色值与2h的余数,得到该数字彩色图像中的每个像素点对应的包含有三个余数的一组余数组;②_2c、从该数字彩色图像中的所有像素点对应的余数组中,取2d+f+h组不同的余数组,将所取的一组余数组作为一组属性值组。
[0087] ②_3、对从Sorg的主数据中抽取出的每个像素点的主数据进行秘密信息密写,具体过程为:
[0088] ②_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据;并将当前从W中提取出的字符定义为当前字符。
[0089] ②_3b、设当前主数据为抽取出的第i个像素点的主数据;设当前字符为W中的第i个字符,并记为wi;其中,1≤i≤n。
[0090] ②_3c、将当前主数据转换成R、G、B颜色值,对应记为ri、gi、bi;并在属性字符表中找出wi对应的x、y、z三个属性值,提取出对应记为xi、yi、zi;其中,ri∈[0,255],gi∈[0,255],bi∈[0,255]。
[0091] ② _ 3 d 、计 算然后令
[0092]
[0093]
[0094]再令
至此完成当前主数据的秘密信息密写;其中, 和 均为引入
的中间变量,且初始值均为0,mod()为取余函数, 和 均为引入的中间变量,且初始值均为0,符号“||”为取绝对值符号, 和 中的“=”为赋值符号;由于ri-
mod(ri,2d)∈[0,255-(2d-1)]、gi-mod(gi,2f)∈[0,255-(2f-1)]和bi-mod(bi,2h)∈[0,255-(2h-1)],xi∈[0,2d-1]、yi∈[0,2f-1]和zi∈[0,2h-1],这样得到的 和 的值属于区间[0,255],经过上述三个公式的限制,得到的 和 的值也属于区间[0,255],因此秘密信息密写不会导致R、G、B颜色值溢出。
[0095] ②_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据,并将下一个从W中提取出的字符作为当前字符;然后返回步骤②_3b继续执行,直至从Sorg的主数据中抽取出的每个像素点的主数据已实现秘密信息密写,得到含秘密信息的数字彩色图像。
[0096] ②_4、发送属性字符表给秘密信息提取端。
[0097] 相比实施例一的密写方法,本实施例的密写方法在保证数字彩色图像中的像素点的R、G、B颜色值不溢出的前提下,可达到更好的隐藏效果,即让秘密信息写入后信息与秘密信息写入前信息的差别更小。
[0098] 本实施例提出的一种在数字彩色图像中实现秘密信息提取的方法,其与上述密写方法对应,其总体实现框图如图2所示,其包括以下步骤:
[0099] ③_1、将含秘密信息的数字彩色图像定义为待提密图像,记为Smi;其中,Smi中包含的像素点的总个数为Ntotal。
[0100] ③_2、对Smi进行解码,得到Smi的编码信息和主数据;然后根据与秘密信息密写时相同的规则,从Smi的主数据中抽取出n个像素点的主数据;其中,1≤n≤Ntotal。
[0101] ③_3、对从Smi的主数据中抽取出的每个像素点的主数据进行秘密信息提取,具体过程为:
[0102] ③_3a、将抽取出的当前待处理的像素点的主数据定义为当前主数据。
[0103] ③_3b、设当前主数据为抽取出的第i个像素点的主数据;其中,1≤i≤n。
[0104] ③_3c、将当前主数据转换成R、G、B颜色值,对应记为ri'、gi'、bi';然后计算其中,ri'∈[0,255],gi'∈[0,255],bi'∈[0,255], 和 均为引入的中间变量,且初始值均为0,mod()为取余函数,指数d、f、h的取值与秘密信息密写时的取值相同。
[0105] ③_3d、令 然后将xi'、yi'、zi'对应作为x、y、z三个属性值;接着在秘密信息密写端发送的属性字符表中找出xi'、yi'、zi'对应的字符,提取出记为wi',至此完成当前主数据的秘密信息提取;其中,xi'、yi'、zi'均为引入的中间变量,且初始值均为0, 和 中的“=”为赋值符号。
[0106] ③_3e、将抽取出的下一个待处理的像素点的主数据作为当前主数据;然后返回步骤③_3b继续执行,直至从Smi的主数据中抽取出的每个像素点的主数据已实现秘密信息提取,提取得到字符串秘密信息,记为W',W'=w1'w2'…wi'…wn';其中,W'的长度为n,w1'w2'…wi'…wn'对应表示提取出的第1个字符、第2个字符、…、第i个字符、…、第n个字符。
[0107] 实施例四:
[0108] 本实施例提出的一种在数字彩色图像中实现秘密信息密写的方法,其过程与实施例三的密写方法的过程基本相同,不同之外仅在于:其总体实现框图如图3所示,本实施例的密写方法为了提高隐秘通信的安全性,先利用密钥对步骤②_1中的W进行置乱处理,将置乱后的字符串秘密信息记为 然后令 其中, 中的“=”为赋值符号。在此,置乱处理的方法采用现有的成熟的置乱算法,密钥作为所采用的置乱处理的方法的参数,密钥的位数根据所采用的置乱处理的方法确定。
[0109] 由于在密写方法中先对原始的字符串秘密信息进行了置乱处理,因此需对提取出的字符串秘密信息进行反置乱处理,即本实施例提出的一种在数字彩色图像中实现秘密信息提取的方法,其过程与实施例三的提取方法的过程基本相同,不同之外仅在于:其总体实现框图如图4所示,本实施例的提取方法利用与秘密信息密写端相同的密钥对提取得到的字符串秘密信息W'进行反置乱处理,将反置乱后的字符串秘密信息记为 为原始的字符串秘密信息;其中,反置乱处理的方法与秘密信息密写端所采用的置乱处理的方法相同。
[0110] 为验证本发明的密写方法和提取方法的可行性和有效性,对实施例一的密写方法和提取方法进行实验验证。
[0111] 假设待密写图像Sorg的分辨率为20×30,那么待密写图像Sorg中包含的像素点的总个数Ntotal=600个;并假设字符串秘密信息W为“Password123”,字符串秘密信息W的长度为n=11;以等间隔抽取方式从Sorg的主数据中抽取出n=11个像素点的主数据,即抽取出序号为 的像素点的主数据,为第1、55、109、163、217、271、325、379、433、487、541个像素点的主数据,如图5所示,符号 为向下取整运算符号;取d=f=h=
2,构建的属性字符表如表1所示。
[0112] 表1取d=f=h=2时构建的属性字符表
[0113]
[0114] 对从Sorg的主数据中抽取出的第1个像素点的主数据进行秘密信息密写的具体过程为:假设第1个像素点的主数据转换成的R、G、B颜色值对应为r1=200、g1=100、b1=50;在属性字符表中找出的w1=P对应的x1=2、y1=2、z1=1;计算再用202、102、49替换掉原来的200、
100、50,完成秘密信息的密写。
[0115] 以相同方式对从Sorg的主数据中抽取出的剩余的像素点的主数据进行秘密信息密写。
[0116] 待提密图像Smi的分辨率为20×30,即待提密图像Smi中包含的像素点的总个数Ntotal=600个;以等间隔抽取方式从Smi的主数据中抽取出n=11个像素点的主数据,即抽取出序号为 的像素点的主数据,为第1、55、109、163、217、271、325、379、433、487、541个像素点的主数据,符号 为向下取整运算符号。
[0117] 对从Smi的主数据中抽取出的第1个像素点的主数据进行秘密信息提取的具体过程为:假设第1个像素点的主数据转换成的R、G、B颜色值对应为r1'=202、g1'=102、b1'=49;计算 令
将2、2、1对应作为x、y、z三个属性值;在秘密信息密
写端发送的属性字符表中找出2、2、1对应的字符为P,完成秘密信息的提取。
[0118] 以相同方式对从Smi的主数据中抽取出的剩余的像素点的主数据进行秘密信息提取,提取得到字符串秘密信息为“Password123”。