一种基于离散域的彩色图像加密嵌入方法与流程

文档序号:15449257发布日期:2018-09-14 23:45阅读:202来源:国知局

本发明涉及数字图像安全领域,特别涉及彩色数字图像加密和隐藏方法。



背景技术:

目前,多媒体作为信息交流的重要工具,大量的数字图像在以internet、无线网络为代表的开放性网络中传播,极大方便了信息的访问与共享。与此同时,诸多敏感领域,如商业、科研、军事和政治等的图像信息在开放的网络环境下的传输存在着巨大的安全隐患,往往会遭受到各种潜在的人为攻击,包括对信息的非法获取、篡改等而导致严重后果,因此,保护图像信息的安全至关重要。对图像信息进行保护主要有两方面,一是对图像信息进行加密,以此保护图像的隐秘性,二是将图像信息隐藏在另一幅公开图像当中,以此保护图像的存在性。

美国学者jessicafridrich首次提出了一种通用的图像加密架构:将图像像素置乱与扩散,以此来实现安全加密系统。首先图像置乱即图像中每个像素点的位置以一种伪随机的方式被打乱,但像素值不变;然后图像扩散则是像素点位置不变,像素值改变。置乱与扩散相结合,从而保证加密系统可有效抵抗攻击。近年来混沌理论的发展为图像加密提供了一个全新的思路。由于混沌系统具有的初值与系统参数极端敏感性、遍历性、轨道不可预测性以及良好的随机性等一系列特性,使其被大量运用于加密系统。目前,基于混沌的图像加密算法已经成为主流技术与研究热点,具有极大的应用前景。

图像隐藏技术,即利用图像本身存在的冗余性以及人类视觉对图像的掩蔽特性,就可以将秘密图像信息嵌入到公开图像当中进行传送。近年来,基于图像隐藏算法的研究取得了很大进展,按照隐藏算法的实现方式,可分为空域、变换域、压缩域等方法。相比于空域信息隐藏技术的鲁棒性较差而言,基于变换域的信息隐藏技术则对载体信息号做正交变换后,利用人体感官对频域数据的感觉冗余,将秘密数据嵌入在隐蔽的频域中,具有较强的鲁棒性和安全性。

研究发现,现有技术中,单一、低维度的混沌映射存在密钥空间不足,序列复杂度不高的缺点,同时,加密后的图像若直接在开放信道中传播,由于它的不可辨性而容易被攻击者察觉到。



技术实现要素:

针对以上问题,本发明设计一种基于离散域的彩色图像加密嵌入方法。该方法将图像加密与图像隐藏相结合,利用双重混沌系统生成的混沌序列,来置乱秘密图像像素点位置和扩散图像dwt域低频系数,从而加密图像;然后在对公开图像影响最低的情况下,将加密后的图像嵌入到公开图像的高频系数中,隐藏加密后的图像信息,使图像能安全地在开放的信道中传输。

1.本发明的一种基于离散域的彩色图像加密嵌入方法,包括以下步骤:一种基于离散域的彩色图像加密嵌入方法,包括以下步骤:步骤101:将秘密图像特征系数引入逻辑斯蒂logistic混沌映射和拉比诺维奇rabinovich超混沌映射中,生成与秘密图像相关的混沌序列;步骤102:采用logistic混沌映射生成的序列重排图像每个像素点的rgb顺序,消除彩色图像的色彩信息;步骤103:利用rabinovich超混沌映射生成的四组混沌序列中的一组序列分块置乱图像像素位置;步骤104:利用余下的三组rabinovich超混沌序列中序列置乱秘密图像像素点位置和扩散图像离散小波变换dwt域低频系数,得到加密图像;步骤105:将加密图像嵌入到公开图像dwt变换后的高频系数中,隐藏加密图像信息。

优选地,所述步骤101具体包括:计算秘密彩色图像rgb各个通道的平均值,将平均值加权求和获得影响因子δ,将影响因子加在logistic混沌映射和rabinovich超混沌映射的初值上,生成与秘密图像相关的混沌序列。计算公式如式(1-3)所示:

e'=0.16×er+0.50×eg+0.34×eb(2)

△=e'×10-10(3)

其中xi表示各通道图像像素点的像素值,e(x)为平均值,e'为加权平均值(权值固定),er、eg、eb分别表示r、g、b通道的平均像素值,将加权平均值缩小后得到影响因子△,作为图像解密的密钥。

由于混沌系统对系统初值和参数具有强烈的敏感性与依赖性,因此只需将影响因子加在logistic混沌映射和rabinovich超混沌映射的初值上,即可生成稳定的、与秘密图像相关的混沌序列,包括一组logistic混沌序列和四组rabinovich超混沌序列。

logistic混沌映射是一种常见的混沌动力系统,具有3种形式,但满映射区间小,导致迭代过程中数值变化率小,并且均匀分布特性欠佳。因此本发明采用一种改进的logistic混沌映射,如式(4)所示,满映射区间为xn∈[-2β,2β]。

其中,xn和β分别为状态变量和控制参数,xn表示第n次迭代值,其初始值x0与系数β作为密钥,由加密者设定;当β∈(0,∞)时,logistc映射处于混沌状态。(为了使logistc映射充分进入混沌状态,需要预迭代logistic混沌映射n0次,一般取n0≥200)。设生成的logistic混沌序列为l1。

rabinovich超混沌映射定义式如下所示:

其中x、y、z、w表示rabinovich超混沌映射的状态变量,同理(其中d表示微分,t为时间);a、b、d、k、c为系统控制参数。当a=4,b=-0.5,d=1,k=8.1,c=-2.2时,式(5)所示混沌映射式的解处于混沌状态,计算得该映射的最大lyapunov指数(衡量系统动力学特性的一个重要定量指标)大于零,有两个正的lyapunov值,并且lyapunov维数不是整数,由此判定,系统处于混沌状态。采用四阶龙格库塔法对方程(5)进行求解,各状态变量x、y、z、w的初始值作为密钥,由加密者设定。预迭代n0次,每组序列从n0+1个序列值开始取值。设生成的rabinovch超混沌序列为r1、r2、r3、r4。

优选地,所述步骤102具体包括:从图像i中读取像素矩阵的行数和列数分别为m、n的秘密彩色图像im×n,取长度为m×n的logistic混沌序列l1进行量化,使序列值分布在[0,1]范围内,然后转化成lm×n矩阵,并与图像i的像素点一一对应。以每个logistic序列值作为判断标准,置乱其对应像素点的rgb顺序,可得到6种排序方式,分别为rbg、grb、gbr、brg、bgr、rgb。置乱过程如下:

步骤1:读入logistic混沌序列矩阵lm×n与彩色图像im×n,;

步骤2:根据矩阵lm×n中每个元素值l置换它所对应的像素点的rgb顺序:当0≤l≤1/6时,调换像素点的g、b通道的值,rgb顺序转换为rbg;当1/6<l≤1/3时,像素点的rgb顺序转换为grb;当1/3<l≤1/2时,像素点的rgb顺序转换为gbr;当1/2<l≤2/3时,像素点的rgb顺序转换为brg;当2/3<l≤5/6时,像素点的rgb顺序转换为bgr;当5/6<l≤1时,像素点的rgb顺序不变。图像i经过上述处理后得到图像i1。

优选地,所述步骤103进一步包括:选择rabinovich混沌系统生成的4组混沌序列中的1组混沌序列r1对图像i1的像素点位置进行置乱。为了提高加密效率,采用分块置乱的方法,将图像进行多次不同大小的分块处理,并且块内置乱和块间置乱交叉进行。设置三种级别图像分块大小:最小子块min,中等子块mid和最大子块max,其中要求max能被min整除;将图像i1做扩充处理得到图像i'm'×n'(m'≥m,n'≥n),使得m'和n'能被min,mid和max整除。

步骤1:最小块块内处理。将图像i1按照最小子块min分块后,将每个最小子块内的像素点做180°旋转得到图像i1';

步骤2:最大块块间置乱。把图像i1'按最大子块大小max分块并编号,每行和每列块数分别为rmax、cmax;取rmax×cmax长度的rabinovich超混沌序列,排序得到索引序列in,再与分块后的图像块对应,in作为分块的新编号,并将图像块按照新编号从小到大顺序重新排列;

步骤3:最大块块内置乱。取步骤2中重新排列后的第一个图像块按min分块,行列块数为rm、cm,另取rm×cm个rabinovich超混沌序列,并将这rm×cm个分块顺序置乱。对步骤2中剩下的每个最大分块重复上述操作,直到所有最大块块内都被置乱,得到图像i1”;

步骤4:中等子块块间置乱。将图像i1”按mid分块,行列块数为rmid、cmid,另取rmid×cmid个rabinovich超混沌序列将其置乱。

即图像i1经过最小块内处理后得到i1',将i1'作最大分块块间与块内置乱得i1”,继续将i1”作中等分块块间置乱后得到图像i2。

优选地,所述步骤104采用其余三组rabinovich超混沌序列分通道置乱与扩散图像dwt变换后的低频系数包括:

采用haar小波基,将图像进行一级小波变换haar后可得到图像的低频分量、水平分量、垂直分量和对角分量,系数矩阵分别为ll、hl、lh、hh(其中矩阵大小为m'/2×n'/2)。其中hl、lh、hh为高频分量系数矩阵,包含了图像的细节信息,而低频系数矩阵ll保持了原图像的概貌和空间特性,集中了图像的大部分能量。大量实验结果表明将低频系数矩阵置乱加密可有效避免信息泄露而提高安全性。

步骤1:将图像i2的rgb三通道分离,并分别进行dwt变换,得到各通道系数矩阵ll,并转换成长度为m'/2×n'/2一维数组ll。利用余下的3个rabinovich超混沌映序列r2、r3、r4与各通道对应,按大小排序得其索引序列ini(i=2、3、4)后,分别与图像r、g、b各通道低频系数矩阵转换成的一维数组ll相对应,将ini(i=2、3、4)作为各通道ll的新序号,重新排序,得到位置置乱的各通道新系数ll'。

步骤2:对r2、r3、r4序列作如下式处理:

ri'=mod(floor(1000*abs(ri),maxll),(i=2,3,4)(6)

其中mod(a,b)表示a对b除法求余,floor表示向下取整,abs表示取绝对值,maxll表示低频系数中最大值的整数部分。

将预处理后的三组序列r'与分别与置乱后的各通道系数ll'的整数部分异或并保持小数部分不变,转换成矩阵,则得到最终置乱与扩散后的低频系数矩阵ll”。进行逆变换后合并三通道图像得最终加密图像i3。

优选地,所述步骤105采用最低有效位置乱算法将加密后的图像嵌入到公开图像dwt变换后的高频系数中包括:

离散小波变换将图像信号的高频部分和低频部分分离开来,并且这两个部分包含不同的信息。图像的近似信息包含在低频分量中,而边缘的信息包含在高频分量中。人眼对边缘信息变化的感知较差,因此可以对公开图像的高频分量进行调制(嵌入秘密图像)。而为了降低对公开图像视觉质量的影响,本发明对公开图像各像素点像素值的最低有效位嵌入的最大比特位数是4位。

离散小波变换分离图像信号的高频部分和低频部分,选取大小为n×n的彩色图像c作为载体图像ic,将载体图像ic三通道分离得到各通道数据icr、icg、icb,分别将数据icr、icg、icb进行两次小波变换得到的高频系数矩阵,对该高频系数矩阵再做第二次小波变换得各个高频系数矩阵的系数矩阵,将加密图像i3的各通道数据ir、ig、ib嵌入到图像c对应通道的数据icr、icg、icb中。以下针对r通道来说明图像嵌入方法,g、b通道同理。首先采用haar小波基函数,将icr进行两次离散小波变换:第一次小波变换得低频系数矩阵ca(ll)和高频系数矩阵ch(hl)、cv(lh)、cd(hh);对三个高频系数矩阵做第二次小波变换后得各个高频系数矩阵的系数矩阵(如cd系数矩阵的二级小波变换系数矩阵为cda、cdh、cdv、cdd),共12个。加密图像数据将嵌入到第二级小波变换系数的高频分量中,最多可有9个二级高频系数矩阵可以使用。嵌入步骤如下:

步骤1:将ir转化成二进制信息码流(长度为m);

步骤2:将cdd系数矩阵(大小为n'×n',n'=n/4)转化成一维向量(v),然后将ir的二进制信息码流嵌入到向量v中,嵌入方法如下:

a.若m≤2×n'×n',则用2位二进制信息码流替换每个v中元素的2位最低有效位(lsb),得到新一维向量(v');

b.若2×n'×n'<m≤3×n'×n',则用3位二进制信息码流替换每个v中元素的3位lsb,得到v';

c.否则用4位二进制信息码流替换每个v中元素的4位lsb,得到v';

d.将嵌入信息后得到的向量(v')转换回二维矩阵cdd',替换到原来旧的系数矩阵cdd的位置;

步骤3:如果信息码流在上一步中未嵌入完,则依次在系数矩阵:cdh、cdv、chd、cvd、chh、chv、cvh、cvv中重复步骤2嵌入剩余信息码流,直到信息码流嵌入完成。至此,得到调制之后的各系数矩阵。

步骤4:对系数矩阵cda进行dwt变换。将以上步骤中使用的系数矩阵数目和最后嵌入信息的系数矩阵中所使用的比特位数,嵌入到第三级系数cdad中,然后逆变换得到cda'。

嵌入过程完成后,将各级系数依次做离散小波变换逆变换(idwt)后,得到r通道嵌入完成的图像。对g、b通道作相同处理后,合并嵌入完成的r、g、b三个通道的图像,则得到嵌入了加密密图的公开图像ic'。

本发明的有益效果在于:解决了简单混沌加密系统密钥空间不足,序列复杂度不高的问题,并且隐藏了加密后的图像信息,使图像能在公开渠道中安全传输。

附图说明

图1是本发明基于离散域的彩色图像加密嵌入算法流程图;

图2是本发明图像加密部分流程图;

图3是dwt变换示意图;

图4a原图r通道图像;

图4brgb顺序置乱后r通道图像;

图5a本发明图像rgb顺序置乱实验结果图;

图5b本发明图像分块置乱实验结果图;

图5c本发明低频系数置乱实验结果图;

图5d本发明测试的图像lena原图;

图5e本发明的正确解密图像;

图5f本发明的错误解密图像;

图6本发明加密前图像与加密后图像直方图分析对比图;

图7本发明图像加密前后图像的r通道相关性对比图;

图8本发明公开图像dwt系数矩阵嵌入示意图。

具体实施方式

为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施案例对本发明做进一步详细说明。

图1所示为本发明基于离散域的彩色图像加密嵌入算法流程图,该方法包括以下步骤:

步骤101:logistic混沌映射和rabinovich超混沌映射中引入秘密图像特征系数生成混沌序列;

步骤102:采用logistic混沌序列重排图像每个像素点的r、g、b三个通道像素值的排列顺序;

步骤103:rabinovich超混沌映射生成的四组混沌序列,采用其中的一组分块置乱图像像素位置;

步骤104:采用另外三组rabinovich超混沌序列分通道置乱与扩散图像dwt变换后的低频系数;

步骤105:采用最低有效位置乱算法(lsb)将加密后的图像嵌入到公开图像dwt变换后的高频系数中。

图2所示为本发明图像加密部分流程图,具体方法包括:

选取大小为512*512*3的lena.bmp彩色图像,设为im×n(m=512,n=512)。根据各通道图像像素点的像素值xi,由公式(1)计算图像rgb各个通道的平均值e(x):

根据公式(2)计算加权平均值(权值固定)e':

e'=0.16×er+0.50×eg+0.34×eb(2)

其中er、eg、eb分别表示r、g、b各通道像素值的平均值。

将加权平均值处理成影响因子δ(如式(3)所示),作为图像解密的密钥:

△=e'×10-10(3)

由于混沌系统对系统初值和参数具有强烈的敏感性与依赖性,因此只需将影响因子加在logistic混沌映射和rabinovich超混沌映射的初值上,即可生成与秘密图像相关且稳定的混沌序列,包括一组logistic混沌序列和四组rabinovich超混沌序列。

logistic混沌映射是一种常见的混沌动力系统,具有3种形式,但满映射区间小,导致迭代过程中数值变化率小,并且均匀分布特性欠佳。因此本发明采用一种改进的logistic混沌映射,根据公式(4)所示:满映射区间为xn∈[-2β,2β]。

其中,xn和β分别为状态变量和控制参数,xn表示第n次迭代值,xn+1为第n+1次迭代值。设定系统系数β=10,此时logistc映射处于混沌状态。设定其初始值x0为0.5,将△+x0带入系统,预迭代logistic混沌映射n0=500次,从n0+1个序列值开始取值,生成混沌序列l1。

rabinovich超混沌映射所示为:

其中x、y、z、w表示rabinovich超混沌映射的状态变量,同理(其中d表示微分,t为时间);当系统参数a=4,b=-0.5,d=1,k=8.1,c=-2.2时,此时计算得该映射的最大lyapunov指数(衡量系统动力学特性的一个重要定量指标)大于零,有两个正的lyapunov值,并且lyapunov维数不是整数,由此判定)系统处于混沌状态。采用四阶龙格库塔法对方程(5)进行求解,设定各状态变量x、y、z、w的初始值分别为0.8,0.5,12.1,3.5。在相空间观察rabinovich超混沌序列时,有较好的成像时选择相应值设定为初始值。

可采用四阶龙格库塔法对方程(5)进行求解。将△加在初值上后带入系统,如预迭代n0=500次,每个序列组从n0+1个序列值开始取值,生成4组混沌序列。

读取秘密彩色图像i像素矩阵的行数和列数分别为m=512、n=512。取长度为m×n的logistic混沌序列进行量化,使其分布在[0,1]范围内,然后转化成lm×n矩阵,并与图像i的像素点一一对应。以每个logistic序列值作为判断标准,置乱其对应像素点的rgb顺序,可得到6种排序方式,分别为rbg、grb、gbr、brg、bgr、rgb。置乱过程可为:

步骤1:读入logistic混沌序列矩阵lm×n与彩色图像im×n,三通道像素点像素值分别为irigib;

步骤2:设i'ri'gi'b为处理后的彩色图像的三个通道像素点像素值,则根据矩阵lm×n中每个元素值l置换它所对应的像素点的rgb顺序:

if0≤l≤1/6thenig→i'b;ib→i'g;(此时像素点rgb顺序转换为rbg)

elseifl≤1/3thenir→i'g;ig→i'r;(此时像素点rgb顺序转换为grb)

elseifl≤1/2thenir→i'b;ig→i'r;ib→i'g;(此时像素点rgb顺序转换为gbr)

elseifl≤2/3thenir→i'g;ig→i'b;ib→i'r;(此时像素点rgb顺序转换为brg)

elseifl≤5/6thenir→i'b;ib→i'r;(此时像素点rgb顺序转换为bgr)

elseifl≤1thenrgb顺序不变;

end

原图像i经过上述处理后得到像素点rgb顺序置乱后的图像i1。

选择rabinovich超混沌映射生成的4组混沌序列中的1组r1对图像像素点位置进行置乱。采用分块置乱的方法提高加密效率:将图像进行多次不同大小的分块处理,并且块内置乱和块间置乱交叉进行。设置三种级别图像分块大小:最小子块min=4,中等子块mid=16和最大子块max=64,由于m,n能被min,mid和max整除,无需扩充处理。块置乱步骤如下:

步骤1:最小块块内处理。将图像i1按照最小子块min=4分块后,将每个最小块内的像素点做180°旋转得到i1';

步骤2:最大块块间置乱。把图像i1'按最大子块大小max=64分块并编号,每行和每列块数分别为rmax=cmax=8;取rmax×cmax=64长度的rabinovich超混沌序列,排序得到索引序列in,再与分块后的图像块对应,作为分块的新编号,并将图像块按照新编号从小到大顺序重新排列;

步骤3:最大块块内置乱。取步骤2中重新排序后的第一个图像块按min=4分块,行列块数为rm=cm=16,另取rm×cm=256长度的rabinovich超混沌序列将其顺序置乱。重复操作,直到步骤2中每个最大块内都被置乱得到图像i1”;

步骤4:中等子块块间置乱。将图像i1”按mid=16分块,行列块数为rmid=cmid=32,另取rmid×cmid=1024长度的rabinovich超混沌序列将其置乱;

即图像i1经过最小块内处理后得到i1',将i1'作最大分块块间与块内置乱得i1”,继续将i1”作中等分块块间置乱后得到图像i2。

如图3所示为图像dwt变换示意图,将图像进行进行一级haar小波变换后可得到图像的低频分量、水平分量、垂直分量和对角分量,系数矩阵分别为ll、hl、lh、hh(其中矩阵大小为m'/2×n'/2)。其中hl、lh、hh为高频分量系数矩阵,包含了图像的细节信息,而低频系数矩阵ll保持了原图像的概貌和空间特性,集中了图像的大部分能量。

大量实验结果表明将低频系数矩阵置乱加密可有效避免信息泄露而提高安全性。本发明通过将初步像素点位置置乱后图像的dwt域低频分量系数矩阵作置乱与扩散,以达到将图像像素值扩散的目的。扩散步骤如下:

步骤1:将像素点位置置乱后图像i2的rgb三通道分离,并分别进行dwt变换,得到各通道系数矩阵ll,并转换成长度为256×256的一维数组ll。利用剩下的3组rabinovich超混沌序列r2、r3、r4与各通道对应,长度相同,按大小排序得其索引序列ini(i=2、3、4)后,分别与图像r、g、b各通道低频系数矩阵转换成的一维数组ll对应,将ini作为各通道lli的新序号,重新排序得到位置置乱的系数ll'。

步骤2:对r2、r3、r4作如下式处理:

ri'=mod(floor(1000*abs(ri),maxll),(i=2,3,4)(6)

其中ri'(i=1,2,3)表示处理后三组的序列值,mod(a,b)表示a对b除法求余,floor表示向下取整,abs表示取绝对值,maxll表示对应通道低频系数中最大值的整数部分。

将预处理后的三组序列r1'、r2'、r3'分别与与置乱后对应通道系数ll'i的整数部分异或后(并保持小数部分不变),转换成矩阵,则得到最终置乱与扩散后的低频系数矩阵ll”。进行逆变换后合并三通道图像得最终加密图像i3。

以上即为本发明图像加密部分,而图像解密过程为加密过程的逆过程。只要正确的密钥,即可解密出秘密图像i。

图4所示为本发明图像rgb通道顺序重排前后对比图,图4a为原图r通道,图4b为rgb顺序置乱后r通道。

本发明采用多个密钥进行加密,包括原始图像加权均值△、系统参数β以及两个混沌系统的5个初始值。根据ieee浮点标准,64位双精度数计算精度约为1015,则密钥空间大小为如下表所示,可看出本发明图像加密算法空间足够大,可抵御穷举攻击。

如图5所示为本发明图像加密实验结果图。图5(a)是图像的每个像素点rgb顺序置乱后图像,可以看出图像的色彩信息已经被掩藏;图5(b)是图像进一步分块置乱后的结果,明显地,图像中lena的人物信息被加密而不可辨认,此时图像各rgb通道中每个像素点在整个图像数据中随机分布;图5(c)是最终加密图像;图5(d)是测试原图;图5(e)是代入正确密钥后的解密图像;图5(f)是将正确的密钥r1_0=0.8替换成r1'_0=0.80000000000001,代入解密系统后所得的错误解密图像。初值仅经过1014细微改变就能导致解密失败,说明本发明算法对密钥非常敏感,同时抵抗穷举攻击能力高。

图6是本发明加密前图像图5(d)与加密后图像图5(c)直方图分析对比图。可看出加密后的密文图像rgb三个通道的直方图与明文直方图数据有高有低的特点明显不同,而且密文直方图分布均衡。因此攻击者不会从中获取有用信息来进行统计攻击。

图7是本发明图像加密前后图像5(c)的r通道相关性对比图。对原始图像和加密后的密图进行水平、垂直和对角线方向相邻像素点之间的相关性分析,每个方向随机选取2000对相邻点进行相关性计算。相关性计算公式如式(7-9)所示:

式中x和y分别表示一组相邻像素点的像素值。ρ表示相关系数,是一个可以表征变量之间线性紧密度的量,cov(x,y)表示x与y的协方差,表示x的标准差,表示y的标准差。

由下表数据可知,原lena图像rgb各通道在水平方向、垂直方向和对角线方向的邻像素点之间的相关系数接近于1,即表示其相邻像素点是高度相关的;而加密后的图像各通道的相关系数接近于0,说明通过加密系统后,原明文图像的相关性已基本消除。同时由图6也可直观地看出加密前后相关性的变化。

本发明图像嵌入部分如下:

离散小波变换将图像信号的高频部分和低频部分分离开来,并且这两个部分包含不同的信息。图像的近似信息包含在低频分量中,而关于边缘的信息包含在高频分量中。人眼对边缘信息变化的感知较差,因此可以对公开图像的高频分量进行调制(嵌入秘密图像)。而为了降低对公开图像质量的影响,本发明嵌入的最大比特位数是4位。

选取公开彩色图像作为载体图像,设为ic,大小为n×n,将图像ic三通道分离得到各通道数据icr、icg、icb,准备将加密图像i3的各通道数据ir、ig、ib嵌入到图像c对应通道的数据icr、icg、icb中。以下针对r通道来说明图像嵌入方法,g、b通道同理。首先将icr进行两次haar小波变换:第一次小波变换得低频系数矩阵ca(ll)(如图8中所示系数矩阵ca)和高频系数矩阵ch(hl)、cv(lh)、cd(hh);对三个高频系数ch、cv、cd矩阵做第二次小波变换后得各个高频系数矩阵的系数矩阵,ch的二级小波变换系数矩阵为cha、chh、chv、chd,cv的二级小波变换系数矩阵为cva、cvh、cvv、cvd,cd的二级小波变换系数矩阵为cda、cdh、cdv、cdd,一共12个二级系数矩阵,如图8所示。秘密图像数据嵌入进第二级小波变换系数的高频分量中,最多可有9个二级高频系数矩阵可以使用,分别为cdd、cdh、cdv、chd、cvd、chh、chv、cvh、cvv。嵌入步骤如下:

步骤1:将ri转化成二进制信息码流(长度为m);

步骤2:将cdd系数矩阵(如图8中cdd(1)),大小为n'×n',n'=n/4,转化成一维向量(v),然后将ri的二进制信息码流嵌入所获得的向量中,嵌入过程如下:

a.若m<2×n'×n',则用2位二进制信息码流替换每个v中元素的2位最低有效位(lsb),得到v';

b.若m<3×n'×n',则用3位二进制信息码流替换每个v中元素的3位lsb,得到v';

c.否则用4位二进制信息码流替换每个v中元素的4位lsb,得到v';

d.将嵌入信息后的得到的向量(v')转换回二维矩阵cdd',替换到原来旧的系数矩阵cdd的位置;

步骤3:如果信息码流在cdd的4位lsb嵌满时未嵌入完毕,则依次在余下的8个高频系数矩阵:cdh、cdv、chd、cvd、chh、chv、cvh、cvv中重复步骤2继续嵌入剩余信息码流,直到信息码流嵌入完成(如图8中系数矩阵cdh(2)、cdv(3)、chd(4)、cvd(5)、chh(6)、chv(7)、cvh(8)、cvv(9),标号代表嵌入顺序)。至此,得到调制之后的各系数矩阵。

步骤4:对系数矩阵cda进行dwt变换。将以上步骤中使用的系数矩阵数目和最后嵌入信息的系数矩阵中所使用的比特位数,嵌入到第三级系数cdad中(如图8中系数矩阵cdad所示),然后逆变换得到cda'。

嵌入过程完成后,将各级系数依次做idwt后,合并rgb三个通道,则得到嵌入了加密密图的公开图像c'。

本发明所举实施方式或者实施例对本发明的目的、技术方案和优点进行了进一步的详细说明,所应理解的是,以上所举实施方式或者实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1