数字图像置乱加密技术最早起源于对语音模拟信号的加密,随着计算机技术的飞速发展,图像置乱加密技术已经成为数字图像安全传输和保密存储的主要手段之一。由于数字图像置乱加密技术不会引起信息的冗余,因此尤其适合用于大幅图像文件加密。那么,我们今天就来探讨一下数字图像置乱加密技术是如何在HDTV上的应用的。

一、数字图像置乱加密技术

置乱加密技术的基本思想可以追溯到大约50B.C高卢战争期间,当时的古罗马皇帝恺撒设计出的恺撒密码(通过把26个英文字母循环移位将明文转换成密文)。这种字母置换可以看成是一维数据流的值置换,在一定程度上达到了保护信息的目的。之后逐步发展为密本、多表代替及加乱等各种密码体制。

置乱加密技术在信息安全中的最早应用是用在了语音模拟信号上。受当时的技术条件所限制,早期的保密电话和电台话音加密都是直接对模拟信号加密,通过改变语音信号的时间、频率、幅度特征使原来的话不能被识别,比如把话音的频谱划分成若干个子带,重新排列它们的次序从而达到置乱的效果。

1、数字图像加密技术的原理

数字图像置乱加密技术是指:利用数字图像具有的数字矩阵的特点,通过一些变换或数学上的特殊性质,搅乱图像中像素的位置或颜色,将原来有意义的图像信息变换成一幅“杂乱无章”的图像,使得无法辨认出原始图像信息,从而达到在一定程度上迷惑第三者的目的。

图像文件经过加密之后,图像合法的接受方可以通过相应加密算法的逆变换从而解密出原始图像,这个过程我们称之为去乱。由于目前大部分的置乱加密算法都是基于数学变换的,所以置乱之后的图像文件可以通过置乱加密的周期性来获得。

2、数字图像加密技术

按照置乱加密对象的不同,一般可将数字图像文件置乱加密方法分为三种:纯位置移动置换、灰度值置换、以及前两者结合。纯位置移动置换算法的原理是置乱原图像文件的像素点的位置,灰度值置换的原理是置乱原图像的像素焦的灰度值,而它们的组合形式是将原图像文件像素点的灰度值和位置都变换。

本文将要介绍的Gray码加密算法是属于灰度值置换。

该加密算法具有很强的代表性而且目前是大家研究的热点。最后本文将给出Gray码加密算法的Matlab仿真程序。

(1) Gray码加密算法

对于任何的一个非负整数“,其二进制码可以表示为u= (upup-1…u1u0)2,我们定义:

数字图像置乱加密技术及其在HDTV上的应用

那么我们就得到了一个由二进制所表示的整数g(u)=(gpgp-1…g1g0)2,并且我们将变化(1)称之为Gray变换,g(u)就称之为跣的Gray码,其中运算+为模2加法。

Gray变换可以用下面的矩阵形式来表示出来:

数字图像置乱加密技术及其在HDTV上的应用

下面我们给出u=0,1,2,……,15相对应的Gray码:

数字图像置乱加密技术及其在HDTV上的应用

(2)灰度图像

灰度图像是包含灰度级(亮度)的图像。在Matlab中,灰度图像由一个unit8(每个像素点8bit)、unit16(每个像素点16bit)或一个双精度类型的数组来描述的。

灰度图像实际上是一个数据矩阵I,该矩阵的每一个元素对应于图像的一个像素点,元素的数值代表一定范围内的灰度级,通常0代表黑色,1、255或者65535(针对于不同的存储类型)代表白色。数据矩阵I可以是双精度、uint8或者uint16类型的。由于灰度图像存储时不使用调色板,因而MATLAB将使用一个默认的系统调色板来显示图像。

(3) MATLAB仿真代码

用仿真软件Matlab来对Gray码加密算法来进行仿真,运用此加密算法对“pout.tif’这副图像进行加密,下面给出在这个仿真中要用到的代码。这副图像的像素是291*240。在下面的仿真程序中,i代表行数,j代表列数。

A= imread ('pout.tif');

for i=1:291j=1;

while j<=240 I = dec2binvec(double(A(itj)));k = length(1);

m=k;

B(k)= I(k);while k>1

k=k-1;

A(iAj) = binvec2decCB(1:m));j j+1; end;

end

(4)仿真结果分析

数字图像置乱加密技术及其在HDTV上的应用

图1左边的图像文件为加密之前的原始图像,右边的图像文件为加密之后的图像,我们从上面的图像中可以看出此加密算法已经完成了加密的功能。

我们还可以对Gray码加密算法做进一步的推导,根据公式u= (upup-1…u1u0)q,当q=2时此算法为Gray码加密算法,当q>2时,此加密算法就被引申成为广义Gray码,因为其加密的原理跟Gray码基本上是一样的,所以就没有继续对广义Gray码进行MATLAB仿真。

二、图像文件加密在HDTV上的应用

当前高清晰度数字电视(HDTV)已经成为数字电视的研究热点和发展方向。高清晰度数字电视节目信号的信源编码采用的是符合MPEG-2标准的TS(Transport stream)流。由于TS流这种具体视频流很容易遭受到人为的攻击,例如信息泄漏、信息窃取、数据篡改、数据删添等,所以数字图像置乱加密技术在HDTV上面的应用就显得很重要。

上面介绍的Gray码加密算法理论性比较强,而且因为其加密的速度不快,不能达到实际使用中的技术指标,所以在实际项目中的可用性不高。现在项目中如果需要对TS流进行加密,通常是要利用硬件电路来实现,下面将介绍如何利用自同步扰码器来实现数字图像加密技术。

1、自同步扰码器

自同步扰码器是由一个具有反馈回路的线性移位寄存器构成的。当1位数据输入扰码器时,便与移位寄存器抽头和相加,产生1位输出数据,并馈入移位器的第一级,同时原来各级的存储的数字都右移1位,输入端不断地将数据序列输入扰码器。

数字图像置乱加密技术及其在HDTV上的应用

工作原理:

首先定义图中的输入数据序列为S,输出为G。在线性反馈移位寄存器的反馈逻辑输出与第一级寄存器输入之间引入一个模2和相加电路,以输出数据作为模2和的另一个输入端,这样就可以得到如图2所示的加扰器的一般形式。在图2中的C1C2…Cn都是移位寄存器。我们引入一个运算符号“D”用来表示将加扰序列延时一位,DkS表示将加扰序列延时K位。当我们采用延时运算符后,可以得到加扰后的数据为:

数字图像置乱加密技术及其在HDTV上的应用

在这里求和号∑是模2和运算,G是线性反馈移位寄存器的特征多项式的系数,也就是我们通常所说的反馈系数。

对于自同步扰码器这种数字图像加密方法,我们可以用硬件描述语言VHDL在FPGA (Field ProgrammableGateArray,现场可编程门阵列)中实现。根据实际项目中的结果,我们可以作以下几点说明:

Gray码加密算法理论性较强,但是在实际项目中,加密的速度不快,实用性不强。自同步扰码器是用硬件描述语言来实现的,并且结合在FPGA中,所以在实际项目中的应用效果不错,实用性很强,在大量的TS流加密项目中都是用这种图像加密技术。自同步扰码器在实现的过程中,可能会出现临界现象,需要注意保护。

小知识之HDTV

HDTV是High Definition Television的简称,翻译成中文是“高清晰度电视”的意思,HDTV技术源之于DTV(Digital Television)“数字电视”技术,HDTV技术和DTV技术都是采用数字信号,而HDTV技术则属于DTV的最高标准,拥有最佳的视频、音频效果。