一种基于小波变换的信息隐藏方法及系统

文档序号:28919067发布日期:2022-02-16 12:23阅读:130来源:国知局
一种基于小波变换的信息隐藏方法及系统

1.本发明涉及信息隐藏技术领域,特别是涉及一种基于小波变换的信息隐藏方法及系统。


背景技术:

2.随着互联网和数字化技术的飞速发展,信息安全正面临日益严峻复杂的安全考验。作为加密技术的重要补充,信息隐藏技术将秘密信息以不可感知的方式嵌入选定载体,通过携密载体的公开传输实现隐蔽通信。信息隐藏能够有效隐藏秘密信息的存在,使其从“难以理解”变为“不可感知”,以此避免引起攻击者的注意,达到免遭窃取或破坏的效果。传统的文本信息隐藏方法以不影响文本正常语义结构和显示效果为基本前提,通过修改文本的格式冗余和内容冗余来实施信息隐藏,嵌入过程不可避免地会引起载体统计特征的变化,这无疑增加了秘密信息暴露的风险。不同于传统信息隐藏技术,无载体信息隐藏技术根据载体特征建立秘密信息与文本的映射,以秘密信息为驱动,从文本大数据集中直接检索或生成相应载体,通过传输未经修改的自然文本实现隐蔽通信,无需对载体进行任何修改,因而无载体信息隐藏技术具有理想的抗检测性和安全性。
3.然而,现有的无载体信息隐藏方法普遍存在隐藏容量不足、需要构建大样本数据库的问题。因此,如何解决现有技术中信息隐藏方法的隐藏容量不足、需要构建大样本数据库的问题,是加密以及信息隐藏领域中的重要任务之一。


技术实现要素:

4.本发明的目的是提供一种基于小波变换的信息隐藏方法及系统,以解决现有的信息隐藏方法存在的隐藏容量不足、需要构建大样本数据库的问题。
5.为实现上述目的,本发明提供了如下方案:
6.一方面,本发明提供了一种基于小波变换的信息隐藏方法,包括:
7.对载体图像进行灰度图转换处理,得到灰度图像;
8.根据每一秘钥值对所述灰度图像进行混沌块置乱处理,得到置乱图像;
9.对所述置乱图像进行分块dwt变换,得到若干图像块;
10.对所述若干图像块进行hash计算,生成与所述秘钥值对应的哈希序列;
11.根据每一秘钥值以及每一秘钥值对应的哈希序列构建哈希序列和秘钥值的索引表;
12.发送方对秘密信息进行分段预处理,得到若干秘密信息段;
13.对所述秘密信息段进行hash计算,得到各秘密信息段对应的哈希序列;
14.基于秘密信息段对应的哈希序列,在所述索引表中查询与所述秘密信息段对应的秘钥值,得到各秘密信息段对应的秘钥值;
15.将所述载体图像和各秘密信息段对应的秘钥值发送至接收方;
16.接收方根据所述载体图像和各秘密信息段对应的秘钥值确定各秘密信息段。
17.可选的,所述接收方根据所述载体图像和各秘密信息段对应的秘钥值确定各秘密信息段,具体包括:
18.对所述载体图像进行灰度图转换处理,得到灰度图像;
19.根据接收到的秘钥值对所述灰度图像进行混沌块置乱处理,得到置乱图像;
20.对所述置乱图像进行分块dwt变换,得到若干图像块;
21.对所述若干图像块进行hash计算,生成哈希序列,得到接收到的秘钥值对应的哈希序列;
22.根据接收到的秘钥值对应的哈希序列确定秘密信息段。
23.可选的,在所述根据接收到的秘钥值对应的哈希序列确定秘密信息段之后,还包括:
24.根据接收到的秘钥值确定每一所述秘密信息段的排列序号;
25.根据所述排列序号对各个所述秘密信息段进行排序,得到完整的秘密信息。
26.可选的,所述根据每一秘钥值对所述灰度图像进行混沌块置乱处理,得到置乱图像,具体包括:
27.将所述灰度图像的大小调整到预设像素尺寸,并将所述灰度图像划分为尺寸为m
×
m的灰度图像块;
28.利用logistic-sine系统,生成与每一秘钥值对应的混沌序列,并将每一混沌序列分为两个长度均为m的第一混沌子序列和第二混沌子序列;
29.对所述第一混沌子序列和所述第二混沌子序列中的各个元素分别进行大小排序,生成第一索引向量和第二索引向量;
30.对所述第一索引向量和所述第二索引向量分别进行行循环和列循环的移动,生成置乱矩阵;
31.根据所述置乱矩阵,对所述灰度图像进行置乱处理,生成相应的置乱图像。
32.可选的,所述利用logistic-sine系统,生成与每一秘钥值对应的混沌序列,具体包括:
33.定义秘钥k;所述秘钥k用于生成具有加扰和像素自适应扩散作用的伪随机数;
34.定义所述logistic-sine系统为:
35.x
n+1
=(l(r,xn)+s((4-r),xn))mod1=(rxn(1-xn)+(4-r)sin(πxn)/4)mod1;
36.其中,l(r,xn)表示logistic映射,s((4-r),xn)表示sine映射,r为控制参数,且r∈[0,4],xn为迭代变量,且xn∈(0,1),mod表示模运算;
[0037]
给定初始状态(x0,r),生成确定的伪随机序列{xi|i=1,2,

};所述logistic-sine系统的混沌行为存在于整个控制参数r的设置范围内,其混沌序列在[0,1]范围内均匀分布;
[0038]
将所述秘钥k转换为ebit的二进制数b
ebe-1
...b1;其中,最高(e~d)bit表示映射的各秘密信息段在秘密信息序列中的排列序号,其余d个低比特分别表示混沌序列的各个参数值;
[0039]
根据所述秘钥k计算所述混沌序列中的各个参数值;
[0040]
根据所述参数值生成所述混沌序列;所述混沌序列表示为l=lss(xn,r),l的长度为2m。
[0041]
可选的,所述对所述置乱图像进行分块dwt变换,得到若干图像块,具体包括:
[0042]
将所述置乱图像进行平均划分,得到多块置乱图像块;
[0043]
对每一置乱图像块进行dwt变换,得到所述若干图像块。
[0044]
可选的,所述对所述若干图像块进行hash计算,生成哈希序列,具体包括:
[0045]
提取各个图像块的低频分量;
[0046]
计算各个所述图像块的所述低频分量的系数平均值;
[0047]
根据相邻所述图像块的所述系数平均值的大小关系,生成相应长度的所述哈希序列。
[0048]
另一方面,本发明还提供了一种基于小波变换的信息隐藏系统,包括:
[0049]
灰度转换处理模块,用于对载体图像进行灰度图转换处理,得到灰度图像;
[0050]
混沌块置乱处理模块,用于根据每一秘钥值对所述灰度图像进行混沌块置乱处理,得到置乱图像;
[0051]
分块dwt变换模块,用于对所述置乱图像进行分块dwt变换,得到若干图像块;
[0052]
哈希序列生成模块,用于对所述若干图像块进行hash计算,生成哈希序列;
[0053]
索引表构建模块,用于根据每一秘钥值以及每一秘钥值对应的哈希序列构建哈希序列和秘钥值的索引表;
[0054]
秘密信息段获取模块,用于发送方对秘密信息进行分段预处理,得到若干秘密信息段;
[0055]
秘密信息段的哈希序列获取模块,用于对所述秘密信息段进行hash计算,得到各秘密信息段对应的哈希序列;
[0056]
秘密信息段的秘钥值获取模块,用于基于秘密信息段对应的哈希序列,在所述索引表中查询与所述秘密信息段对应的秘钥值,得到各秘密信息段对应的秘钥值;
[0057]
载体图像和秘钥值发送模块,用于将所述载体图像和各秘密信息段对应的秘钥值发送至接收方;
[0058]
秘钥值接收和秘密信息段确定模块,用于接收方根据所述载体图像和各秘密信息段对应的秘钥值确定各秘密信息段。
[0059]
根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0060]
本发明提出了一种基于小波变换的信息隐藏方法及系统,根据秘钥对灰度图像进行混沌块置乱处理,实现对载体图像的置乱,生成置乱图像,并对置乱图像进行分块dwt变换,得到多个图像块。通过置乱、分块以及dwt变换处理,使得最终生成的图像块的尺寸越小,则分出来的图像块的数量就越多,产生的新图像也就越多,从而使得隐藏成功率就越高。将秘密信息进行分段预处理得到多个秘密信息段,并将这些秘密信息段隐藏于对载体图像置乱后的大量图像块中,不仅使得隐藏容量更加充足,解决了现有的信息隐藏方法隐藏容量不足的问题,同时还增强了秘密信息的安全性。并且,整个方法无需构建大样本数据库,解决了现有的信息隐藏方法必须构建大样本数据库的问题。
附图说明
[0061]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施
例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0062]
图1为本发明实施例1提供的基于小波变换的信息隐藏方法的流程图;
[0063]
图2为本发明实施例1提供的基于小波变换的信息隐藏方法的原理图;
[0064]
图3为本发明实施例1提供的秘钥k各比特的含义的示意图;
[0065]
图4为本发明实施例2提供的基于小波变换的信息隐藏系统的结构框图。
具体实施方式
[0066]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067]
本发明的目的是提供一种基于小波变换的信息隐藏方法及系统,以解决现有的信息隐藏方法存在的隐藏容量不足、需要构建大样本数据库的问题。
[0068]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0069]
实施例1
[0070]
如图1和图2所示,本实施例提供了一种基于小波变换的信息隐藏方法,该方法具体包括以下步骤:
[0071]
步骤s1、对于一个给定的载体图像p0,对该载体图像p0进行灰度图转换处理,得到灰度图像pg。本实施例中,采用平均法进行灰度图转换处理,将载体图像p0中同一个像素位置3个通道rgb的值进行平均,最终得到灰度图像pg,还可以采用其他的灰度图转换方法。
[0072]
步骤s2、根据每一秘钥值对所述灰度图像pg进行混沌块置乱处理,得到置乱图像。具体包括:
[0073]
步骤s2.1、将所述灰度图像pg的大小调整到预设像素尺寸,并将所述灰度图像pg划分为尺寸为m
×
m的灰度图像块。本实施例中,将所述灰度图像pg的大小调整到512像素
×
512像素,并将所述灰度图像pg划分为尺寸为m
×
m的灰度图像块。
[0074]
步骤s2.2、利用logistic-sine系统,生成与每一秘钥值对应的混沌序列,并将每一混沌序列分为两个长度均为m的第一混沌子序列l1和第二混沌子序列l2。
[0075]
步骤s2.3、对所述第一混沌子序列l1和所述第二混沌子序列l2中的各个元素分别进行大小排序,生成第一索引向量i1和第二索引向量i2。
[0076]
步骤s2.4、对所述第一索引向量i1和所述第二索引向量i1分别进行行循环和列循环的移动,生成置乱矩阵。
[0077]
步骤s2.5、根据所述置乱矩阵,对所述灰度图像pg进行置乱处理,生成相应的置乱图像ps。
[0078]
其中,步骤s2.2中利用logistic-sine系统,生成与每一秘钥值对应的混沌序列,具体包括:
[0079]
步骤s2.2.1、定义秘钥k;所述秘钥k用于生成具有高速加扰和像素自适应扩散作用的伪随机数。
[0080]
步骤s2.2.2、利用logistic-sine系统(logistic-sinesysteam,lss)生成伪随机数,则定义所述logistic-sine系统为:
[0081]
x
n+1
=(l(r,xn)+s((4-r),xn))mod1=(rxn(1-xn)+(4-r)sin(πxn)/4)mod1(1)
[0082]
其中,l(r,xn)表示logistic映射,s((4-r),xn)表示sine映射,r为控制参数,且r∈[0,4],xn为迭代变量,且xn∈(0,1),mod表示模运算,从而使输出数据范围为[0,1]。
[0083]
步骤s2.2.3、给定初始状态(x0,r),生成确定的伪随机序列{xi|i=1,2,

};所述logistic-sine系统的混沌行为存在于整个控制参数r的设置范围内,其混沌序列在[0,1]范围内均匀分布。
[0084]
步骤s2.2.4、将所述秘钥k转换为ebit的二进制数b
ebe-1
...b1;其中,最高(e~d)bit表示映射的各秘密信息段在秘密信息序列中的排列序号,其余d个低比特分别表示混沌序列的各个参数值,各个参数值的具体含义如图3所示。
[0085]
其中,各个映射参数的表达式为:
[0086][0087][0088][0089][0090]
x0=(x0+r)
×
tmod1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0091]
r=(r0+r)
×
tmod4
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0092][0093]
其中,x0、r0、t、r、x0、r和s分别表示不同位的映射参数,其中,s表示各秘密信息段在秘密信息序列中的排列序号,用于接收方对秘密信息的恢复。
[0094]
步骤s2.2.5、根据公式(2)-公式(7),利用所述秘钥k计算所述混沌序列中的各个参数值。
[0095]
步骤s2.2.6、根据所述参数值生成所述混沌序列l;所述混沌序列l表示为l=lss(xn,r),混沌序列l的长度为2m。
[0096]
步骤s3、对所述置乱图像ps进行分块dwt变换,得到若干图像块pi。
[0097]
具体包括:
[0098]
步骤s3.1、将所述置乱图像ps进行平均划分,得到j块置乱图像块pi。
[0099]
步骤s3.2、分别对每一置乱图像块pi进行dwt变换,得到所述若干图像块。
[0100]
其中,dwt变换函数为:
[0101][0102]
其中,ψ
(j,k)
(t)表示小波基函数,a0和b0分别表示图像波函数的伸缩参数和平移参数。
[0103]
本发明根据秘钥对灰度图像进行混沌块置乱处理,实现对载体图像的置乱,生成置乱图像,并对置乱图像进行分块dwt变换,得到多个图像块。通过置乱、分块以及dwt变换处理,使得最终生成的图像块的尺寸越小,则分出来的图像块的数量就越多,产生的新图像也就越多,从而使得隐藏成功率就越高。
[0104]
步骤s4、对所述若干图像块进行hash计算,生成与所述秘钥值对应的哈希序列。具体包括:
[0105]
步骤s4.1、采用小波基bior1.1,并提取各个图像块的低频分量:
[0106]
lfi=dwt(pi)i∈{1,2,...,j}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0107]
其中,lfi表示低频分量,pi表示置乱图像块。
[0108]
步骤s4.2、计算各个所述图像块的所述低频分量的系数平均值di。
[0109]
步骤s4.3、根据相邻所述图像块的所述系数平均值di的大小关系,生成相应长度的哈希序列h1h2……hn

[0110][0111]
其中,di表示系数平均值,d
i+1
表示下一个系数平均值;hi表示哈希序列,i表示哈希序列中第i个元素,且1≤i≤n。
[0112]
步骤s5、根据每一秘钥值以及每一秘钥值对应的哈希序列构建哈希序列和秘钥值的索引表。
[0113]
由于不同的哈希序列对应不同的秘钥k的值,因此,本实施例中在构建索引表时,通过修改秘钥k的值,采用不同的秘钥值,并重复步骤s1至步骤s4,从而针对每一秘钥值都能得到相应的哈希序列,从而确定了各个秘钥值与哈希序列的对应关系,进而构建得到基于哈希序列和秘钥值的索引表,并将索引表用于秘密信息的加密和解密过程中。
[0114]
步骤s6、发送方对秘密信息进行分段预处理,得到若干秘密信息段。
[0115]
本实施例中,将秘密信息分成每nbit为一段秘密信息段,当数字小于n位时,在序列末尾填充“0”。针对每一段nbit序列,从索引表中查询其对应的秘钥k的值。
[0116]
本发明通过将秘密信息进行分段预处理得到多个秘密信息段,并将这些秘密信息段隐藏于对载体图像置乱后的大量图像块中,随着载体图像和秘钥一同由发送方发送至接收方,不仅使得隐藏容量更加充足,解决了现有的信息隐藏方法隐藏容量不足的问题,同时还增强了秘密信息的安全性。
[0117]
步骤s7、对所述秘密信息段进行hash计算,得到各秘密信息段对应的哈希序列。
[0118]
本实施例中,对对秘密信息段的hash计算过程与对图像块的hash计算过程相同,均可生成哈希序列,因此,秘密信息与索引表中某一哈希序列是相同的,因此,通过在索引表中查询与秘密信息相同的哈希序列所对应的秘钥值,从而确定秘密信息对应的秘钥值,进而实现秘密信息的接收、解密。
[0119]
步骤s8、基于秘密信息段对应的哈希序列,在所述索引表中查询与所述秘密信息段对应的秘钥值,得到各秘密信息段对应的秘钥值。
[0120]
步骤s9、将所述载体图像和各秘密信息段对应的秘钥值发送至接收方。
[0121]
步骤s10、接收方根据所述载体图像和各秘密信息段对应的秘钥值确定各秘密信息段。具体包括:
[0122]
步骤s10.1、对所述载体图像进行灰度图转换处理,得到灰度图像。
[0123]
步骤s10.2、根据接收到的秘钥值对所述灰度图像进行混沌块置乱处理,得到置乱图像。
[0124]
步骤s10.3、对所述置乱图像进行分块dwt变换,得到若干图像块。
[0125]
步骤s10.4、对所述若干图像块进行hash计算,生成哈希序列,得到接收到的秘钥值对应的哈希序列。
[0126]
步骤s10.5、根据接收到的秘钥值对应的哈希序列确定秘密信息段。
[0127]
本实施例中,接收方接收到载体图像和秘钥值后,对载体图像和秘钥值进行步骤s1-s4中的数据处理过程,从而提取出各个秘密信息段,提取出多个秘密信息段后,由于这些秘密信息段是散乱的,因此,需要对这些秘密信息段进行排序,得到成功恢复的、完整的秘密信息,即实现了对发送方发送的秘密信息的全部内容的解密。
[0128]
因此,在所述根据接收到的秘钥值对应的哈希序列确定秘密信息段之后,还包括:
[0129]
步骤s10.6、根据接收到的秘钥值,利用公式(8)计算每一所述秘密信息段的排列序号s,从而确定每一段秘密信息段在整个秘密信息中的排列顺序和具体位置。
[0130]
步骤s10.7、根据所述排列序号s对各个所述秘密信息段进行大小排序,得到完整的秘密信息。
[0131]
本发明提出一种基于小波变换的信息隐藏方法,该方法以小波变换、logistic-sine系统为基础,融合使用lsb加密算法,由logistic-sine系统通过混沌映射产生不同的混沌序列,结合dwt变换等多种方法。简单来说,对于给定的载体图像,首先将其转换为灰度图,并根据秘钥k对其进行混沌块置乱;然后,将置乱后的图像分成j块,并分别进行dwt变换;然后提取各图像块的低频分量的系数平均值,根据相邻块之间的系数平均值的大小关系生成对应的长度为n比特的哈希序列(图1中以j=9,n=8为例进行举例说明)。由于不同秘钥值对应不同的置乱方式,生成的哈希序列也不同,因此,需要构建哈希序列与秘钥k的索引表。当发送方需要进行秘密信息传递时,对秘密信息进行分段预处理之后,在索引表中查询与秘密信息相同的哈希序列所对应的秘钥值,将载体图像和秘钥值发送给接收方。接收方根据载体图像和秘钥即可提取得到对应的秘密信息,从而实现对秘密信息的加密和解密。该方法无需构建大样本数据库,解决了现有的信息隐藏方法必须构建大样本数据库的问题,并且不需要对载体图像进行实质修改,具有极强的抗隐写分析能力。
[0132]
实施例2
[0133]
如图4所示,本实施例提供了一种基于小波变换的信息隐藏系统,该系统具体包括:
[0134]
灰度转换处理模块m1,用于对载体图像进行灰度图转换处理,得到灰度图像;
[0135]
混沌块置乱处理模块m2,用于根据每一秘钥值对所述灰度图像进行混沌块置乱处理,得到置乱图像;
[0136]
分块dwt变换模块m3,用于对所述置乱图像进行分块dwt变换,得到若干图像块;
[0137]
哈希序列生成模块m4,用于对所述若干图像块进行hash计算,生成哈希序列;
[0138]
索引表构建模块m5,用于根据每一秘钥值以及每一秘钥值对应的哈希序列构建哈希序列和秘钥值的索引表;
[0139]
秘密信息段获取模块m6,用于发送方对秘密信息进行分段预处理,得到若干秘密信息段;
[0140]
秘密信息段的哈希序列获取模块m7,用于对所述秘密信息段进行hash计算,得到各秘密信息段对应的哈希序列;
[0141]
秘密信息段的秘钥值获取模块m8,用于基于秘密信息段对应的哈希序列,在所述索引表中查询与所述秘密信息段对应的秘钥值,得到各秘密信息段对应的秘钥值;
[0142]
载体图像和秘钥值发送模块m9,用于将所述载体图像和各秘密信息段对应的秘钥值发送至接收方;
[0143]
秘钥值接收和秘密信息段确定模块m10,用于接收方根据所述载体图像和各秘密信息段对应的秘钥值确定各秘密信息段。
[0144]
本发明不仅解决了现有的信息隐藏方法存在的隐藏容量不足、需要构建大样本数据库的问题,同时还具有以下两个优点:(1)当载波图像数相同时,本发明的信息隐藏成功率远高于其他算法,同时,置乱块越小,即置乱分块的数量越多,产生的新图像越多,隐藏的成功率越高。例如,当置乱分块数m为4时,本发明仅需要50张载体图像,就可达到95%左右的隐藏成功率,而其他算法仅有15%左右的隐藏成功率。(2)在载体图像遭受压缩、噪声和滤波等攻击时,本发明具备较强的抗攻击能力。同时,无载体信息隐藏不会对载体图像进行修改,不易被隐写-分析算法检测,因此,本发明具有极高的安全性。
[0145]
上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
[0146]
本说明书中各个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。本说明书中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1