安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

Huffman树图像加密算法

更新时间:2022-10-28 15:46:13


本文简介:在多媒体信息中,视频图像信息的重要性不言而喻。提出一种采用混沌权值变异的Huffman树的图像加密算法。此算法在熵鳊码过程中,以基本的Huffman树为标准,利用双耦合混沌序列1对DC系数进行树的结构未变异、路径值变异的加密;再利用双耦合混沌序列2对AC系数进行码字序号的加密。一、JPEG格式数字图像压缩原理本文采用了JPBG基准模式图像进行压缩,其编码过程如下页图l所示。在JPEG中,哈夫曼编码

Huffman树图像加密算法

在多媒体信息中,视频图像信息的重要性不言而喻。提出一种采用混沌权值变异的Huffman树的图像加密算法。此算法在熵鳊码过程中,以基本的Huffman树为标准,利用双耦合混沌序列1对DC系数进行树的结构未变异、路径值变异的加密;再利用双耦合混沌序列2对AC系数进行码字序号的加密。

一、JPEG格式数字图像压缩原理

本文采用了JPBG基准模式图像进行压缩,其编码过程如下页图l所示。

在JPEG中,哈夫曼编码分成3步来完成,

1)按之字型的顺序调整量化后的系数;

2)将按之字型顺序排列的系数转化为中间符号序号;

3)将中间符号中的一部分进行变长码字编码(VLC)也就是哈夫曼编码,另一部分进行变长整数编码(Vu)。

在第二步中,因为FDCT得到的数据是对应频域中各个频率的幅值,而在频率中能量(或幅值)主要集中在低频(直流系数),对应高频的幅值大部分为零或接近零(交流系数),这显然非常有利于数据的压缩,所以DC和AC是分开来处理的.就DC系数而言,对相邻块的DC系数差值(DIFF)进行编码。紧接着将DIFF转变成中间符号:(symbol-l,symbol-2)。其中symbol-l是DIFF的有效位效(以二迸制来计算,记为size对于8位的灰度值,size取值范围为0—Il, Symbol-2是DIFF的幅值,记为amplitude.就AC系数而言,也产生两个中间符号,其中symbol-l包含mnlength、size两部分。run-length代表某非零AC系数前面连续的AC系数为零的个数,sizc代表非零AC系数的有效位数。

1

在第三步中,对第二步产生的中间符号序列中symbol-l进行VLC编码,对symbol-2进行VLI编码,最后输出数据流,其中DC系数和AC系数的Huffman编码是分开的,对DC系数,symbol-l共有12种取值,对AC系数,symbol-l共有162种取值,故它们采用的哈夫曼表不同。最后Huffman编码后的数据可以按照JPEG文件交换格式生成标准的JPEG文件。

二、基于混沌权值变异的Huffinan树图像/视频加密算法

1、双藕合Logistic混沌映射

双耦合Logistic混沌映射数学表达式如下:

1

其中ux、uy是混沌序列值,xn和yn是系统参数,表达式如下所示:

1

式(l)、(2)产生两个混沌序列,分别为{x1,x2,…,xn}和{Y1,y2,…,ym}。

2、基于混沌权值变异Huthnan树(CWVHT)算法

假设有一长度为L、N符号组成的文本信息M,记:

1

此时L=30,n=6。

首先对信息M中各个符号({a,b,c,d,e,f})出现的次数进行统计,得出各个符号出现的相对概率,然后对其标准Huff-man编码,如表l所示。

1

除根节点外,设节点左面分支的路径值为’0’,右面分支的路径值为“1”,对于各个符号的代码就是从根节点出发到叶子节点所经过的分支的序列.表l生成的标准Huffman树如图2(a)所示。

1

若将图2中任意节点的左、右支的路径值交换(此处假设为节点3、2、4),其结果如图2(b)、(c)、(d)和表2所示。

1

由表2可知,交换节点的路径值使树的总体结构和每一个符号的概率分布未发生改变,但符号所对应的码字发生了变换。即通过这样随机交换节点路径值的方式,对每一个符号进行编码后能更新树的路径值,从而使编码的过程在保持树结构不变的情况下,可由输入的符号和密钥来决定需要交换分支路径值的节点位置,最终实现新的编码。密钥流可由混沌序列来产生,这个过程称为”基于混沌权值变异的Huffman树算法(cwvhi)。

3、加密算法描述

在熵编码过程中,利用双耦合Logistic混沌序列对DC系敛和AC系散编码过程分别进行不同方法的加密,对DC系数,采用前面介绍的CWVHT对AC系数,采用加密码字序号的方法,图像的整个加密过程如图3所示。

1

(1)DC系数壕码加密

假设DC系散的中间格式为(srze,ampluude),其size的取值为0N11,故令N=12.对DC系数中间格式的第一个符号采用cwvrrr,由混沌序列X和相邻块DC系数差值DIFF产生需要交换路径值的节点,设为nf,计算公式如下:

1

其中floor表示向下取整;i的取值范围为l-K,K为图像总block数目;参数α、β都属于整数。

(2)AC系数编码加密

在借鉴已有熵编码加密算法的基础上,提出一种适合JPEG熵编码特点的加密码字序号的方法,如图4所示。

1

即采用混沌序列,加密码字序号(循环移位运算),得到一个新的码字序号,然后根据这个新的序号在原码表中找到其对应新的码字作为码流输出,为了不影响压缩比,算法进行不同码长不同段的加密。在AC Huffmtn编码哀中,其码长与码字个数的对应关系如表3所示。

1

三、实验结果

本文在MATLAB实验平台上,对Lena(512 x512)测试,图5(a)为k蛆原始图,图5(b)为Lena加密密钥α=l6,β=13,x(l)=0.915,y(l)=0.537下,正确解密后的量建图像。

1

小知识之Huffman树

给定n个权值作为n的叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。

立即下载试用

图像加密技术的基本原理和评价标准

从密码学角度来看,图像数据的加密与文本信息数据加密是相同的,就是把图像数据信息转换为不可以辨识的形式的过程,并通过网络传输到接收方,其目的是使非授权接收方通过非常途径截获加密图像后也不能识别和解密。

对于任何一个图像加密系统,不管形如何复杂,是基于什么加密的原理,实现的加密算法如何不同,其基本组成部分是相同的,主要包括4个部分,1、待加密的数字图像,成为明图M。2、加密后形成的数字图像,成为密C。3、加密M=Ek1(C)、解密算法M =Ek2(C)。4、用于加密解密的钥匙,称为密钥K1,K2。

明图M通过加密算法加密后,得到密图C,然后发送方利用传输通道将密图C传送给授权接收方。图像传输过程中是很容易被截获或窃取,但是由于图像是加过密的,只要非授权用没有密钥,就无法获取图像信息,即使截获也无法解密,整个过程如下图:

评价标准:一个图像加密的性能好坏主要有以下标准

1、密钥的敏感性

密钥的敏感性是指相同的加密算法的密钥微小变化,得到结果与正确加密结果相差很大。具有好的敏感性的密钥,只要密钥有微小差异,就无法得到正确的加密图。

2、密钥的空间大小

密钥空间大小是指全体密钥参数集合的空间大小。密钥空间越大,密码攻击的难度也越大,安全性就越高,尤其是对蛮力攻击,穷举工具具有很强的保护性。

3、直方图

直方图是图像处理中一重要的统计特征,用来描述图像中像素的灰度级分布的图。灰度图的直方图是一个离散的函数,他表示图像中每个灰度级与该灰度级出现次数的对应函数。

4、相邻像素的相关性

相邻像素的相关性反应的是图像相邻像素的相关程度。一副待加密的图像相邻像素间的灰度值具有很强的相关性。相邻像素的相关性主要体现在水平、垂直和对角三个方向上的相邻像素间的相关系数,其计算形式为:

Snapa

Snapb

 

 

5、信息熵

信息熵反映的是一个信息的不确定性,将其应用到图像加密算法中,主要是衡量图像中包含的信息即图像中灰度值的分布情况。

Snap

6、算法的复杂度

算法的复杂度主要是指算法的时间复杂性和空间复杂性,它是衡量一个算法性能优劣的重要指标。加密算法的空间复杂性主要是指算法在加密过程中消耗的空间资源,消耗的空间越少,空间的复杂性越好。一个好的加密算法的时间复杂性和空间复杂性都应该达到最优。

本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16460.html