针对实时安全系统中多媒体内容加密时由于数据量较大而导致计算开销非常大的问题,为了综合考虑安全性及实时性,我们提出了基于使用轻量级流算法的DCT余弦转换多媒体内容加密算法。
一、多媒体内容加密之离散余弦变换(DCT)之相关问题
1、DCT变换
离散余弦变换是一种常用在多媒体压缩中的变换,它是一种计算不太复杂的正交变换,其反变换能够很容易计算出。对于相关性较高的图像数据而言,DCT提供了一种有效压实法同时具有可分性。根据等式(1)所示的二维条件,DCT对N×N的像素块(X)进行操作,其输出为包含N×N像素块的块集合(Y)。
式(1)中,y是一组N×N系数,表示变换域中的数据。针对每个N的可能值定义了一组波形(通常,N=8,因此有64个波形).每个系数可视作为每个基础模式或波形的权重,通过将相应权重得到的波形相加,可将原始数据恢复。
2、针对部分加密方案的攻击
通常使用三种类型的攻击:密码攻击、替换攻击和基于质量替换的统计性攻击来破解部分加密结构。
密码攻击方法是用攻击来破解密码,就与暴力破解,线性攻击和差分攻击类似。
替换攻击通过尝试将被加密数据替换为未加密数据或其他数据从而恢复原始图像,从而破解多媒体加密算法。
假设原始多媒体数据为尸,其包含两个部分X和Yo其中,盖被加密为Z,而y是未加密数据。
式(2)中,E()是加密算法,K是算法密钥,替换攻击的意思是根据仅已知的Z和Y,生成新的密码文本C’,如下定义:
式(3)中,G(Z,y)是借助Z或y获得新X的方法,称其为X。
根据上面的讨论,替换攻击可以分成两种类型,直接替换和基于相关性的替换。
(1)直接替换是指将一些被加密数据替换成其他数据,从而在仅知道加密媒体内容的情况下重建普通媒体内容,这种情况下,X’=G(Z),其中,不包含未加密参数Y。
(2)基于相关性的替换与直接替换相似,区别在于前者将一些被加密数据替换为未加密数据斜这种情况下,X‘=G(y),其中需要通过未加密参数Y生成X‘。
基于质量改进的统计模型是一种降低被加密图像质量的方法,可以通过统计模型在仅知道加密图像的情况下得到图像的感性认识。在这种攻击中,攻击者研究某个特殊元素的概率或在不知道算法密钥的条件下预测明文和密文之间的关系。换句话说,大体上该方法就是为暴力破解减小搜索空间。
原始图像和被加密图像之间较小的关系或没有关系表明了加密算法对统计攻击的抵抗。
3、设计部分加密的三个基本原则
原则1:为了对抗部分加密结构中已知的明文攻击,必须在设计方案中使用一种高度安全的算法。
原则2:为了对抗纯文本密码攻击和基于相关性的攻击,在部分加密结构的设计中,加密参数应当独立于未加密参数a如果加密参数可被未加密参数替换,通过纯文本攻击就可以得到纯文本,因此,应当精确地选择加密参数。
原则3:为了提高密钥的灵敏度且对抗密码攻击,包括直接替换和统计性攻击,在部分加密的设计中,需要对高敏感度的参数进行加密。
二、流加密算法提出
如前面所说,流加密算法为实时应用所青睐,为了提高安全性,其密钥的生成与AES块算法中密钥的生成方法相似该算法中,将明文划分成不同部分,应用流加密算法对每个部分进行加密,每个部分中,加密算法使用一个独立的密钥,该加密机制中,密钥由块密码(例如,AES)保护。BE(m,K),针对信息m使用密码K的块密码加密算法,SE(P,keyz)表示针对信息P使用密码Key的流密码加密算法。该算法首先将每个部分的密码生成为KeyL=BE(m,K),然后对于明文P1,P2,…pt,密文将以C1,C2,…,Ct的形式呈现,每个部分的密文形式为Ci= SE(Keyyi,Mi)。
令F为如下函数:
式(4)中,KeYi为128位密码,对于32位ki,Key,i=klk2k3 k4,髫是32位字符串,①是按位异或运算,+和×是232模加运算和模乘运算。为了对原始文本的每32位进行加密,该算法的步骤如下:
步骤1:通过块算法AES生成128位的密码序列,所以对于32位的ki, Keyi=klk2k3k4。
值得注意的是,这个128位的密码会由AES算法更新,用它们加密原始文本的每32位。
步骤2:通过式(4)提出的函数,Ai值如下获得:
式(5)中,式(4)中的X被替代,P1一1和Cl-1分别等价于32位的之前的明文和密文,此外,如上所述,+是按位异或运算。
步骤3:再次由式(4)的函数获得Bj值:
在该步骤中,式(4)中的X被Ai+PL-2替换,PL-2等于前面两种情况下的32位原始文本,同样,可由步骤2中式(5)得到。
步骤4:第三次,由式(4),得到:
在式(7)中,式(4)中的X值等价于bi+Cl-2,C1等价于前面两种情况下的32位密文,Bi从步骤3中的式(6)得到。
步骤5:在这一步中,根据下面的等式,获得32位密文。
式(8)Pi值等价于32位明文,Di值是从步骤4中得到的。
所有的步骤2—5可以总结如下:
在步骤2~4中,Co,C—l,Po和Jp1可以视作等价于k1 - k4。
解密过程与加密过程类似,仅仅是将式(8)中R和C;的位置进行调换,如下:
需要说明的足,解密过程中的Di值是使用与加密过程相同的明文和密文计算得到的。
三、DCT变换加密方案提出
实际上在量化之后大约75%的AC系数都等于零,因此原始系数(低频率的系数)的非零概率更大,仅对25%的AC原始系数进行了加密。此外,考虑到使用了流密码,密码序列与原始文本进行逻辑异或运算,因此任何系数可由密码序列长度的多位密码加密a为此,考虑安全性和性能速度,在不同情况下选择出两种优化情况,选择时考虑了一些重要参数,包括:
(1)获得可接受直方图和相关性的统计图表。
(2)使用最小位数的密码进行加密。
(3)获得加密图像和解密图像的可接受的信噪比。
(4)考虑上面提到的原则,同时抵抗所述的攻击。
(5)针对DCT变换系数的一些基本要素使用更多位数的密码,因为这些系数的值比其余系数更大。
1、加密方案的第一种模式
在这种情况中,DC系数有7位密码,AC系数的前四个中每个有5位密码,接下来11位系数有4位密码且逻辑上变为异或运算,结果如图1所示,被加密图像分别有很高的感知安全性和视觉安全性。
2、加密方案的第二种模式
在这种情况中,DC系数有7位密码,AC系数的前四个中每个有6位密码,接下来11位系数有5位密码且逻辑上变为异或运算。结果如图2所示,被加密图像有很高的感知安全性和视觉安全性。
四、加密算法评估
1、峰值信噪比分析
PSNR表示图像的峰值信噪比,由式(11)给出。
式(11)中,M.SE是均方根误差,由式(12)表示:
式(12)中。P(x,y)和C(x,y),分别表示原始图像的灰度和被加密图像在X行Y列的灰度,它们都有HxW个像素点,灰度为L。
被加密图像的PSNR低值表示无加密密钥情况下将加密图像恢复成原始图像的差异a:表1给出了不同模式下三种算法的结果,表2给出了针对不同加密图像的结果。
从表1可以看出,运用所提出的算法时加密图像的PNSR值与运用A5/1和W7加密算法类似,根据表1和表2,DC系数加密模式下加密图像的PSNR大于其他3种情况,表明该模式抵抗密码攻击的能力较其他几种模式更弱。
此外,提出的加密方案中两种模式下加密图像的PSNR很接近于无变换情况下的PSNR值,表明提出的两种模式中对AC和DC系数进行加密适用于多媒体内容加密。
2、针对部分加密攻击的安全性
(1)抵抗替换攻击的安全性
基于相关性的替换攻击,使用编码和解码参数发掘编码参数,使得编码图像可理解,根据原则2,如果编码和解码参数相关性较小,就可以证实提出的方案安全性较高。因此,在加密DC系数的方案中实行直接替换攻击,对DC系数为零的位重设编码位,然后实行基于相关性的替换攻击,且用第一个AC系数取代DC编码系数,就可以得到如图3所示的一些结果。
正如观察到的,加密DC系数方案针对替换攻击的安全性较弱。但是针对提出的加密DC系数和AC系数的两种模式而言,因为编码系数和加密系数几乎没有相关性(相关性等于零),替换攻击不再有效(根据原则2和原则4)。图4中,可以看到直接替换攻击的结果以及针对提出的DC系数和AC系数加密的两种模式实行基于相关性替换攻击的结果。根据这张图,替换攻击不再有效。此外,因为位平面足在无变换的情况下进行编码的,替换攻击在这种情况下不再有效。
(2)抵抗统计性攻击的安全性
使用统计性攻击可预测原始图像和加密图像两者之间的关系,同样为显示两者的数量关系还绘制了直方图和两者的相关性图表。此外,根据原则3,如果对高敏感度的主要参数编码,出现统计性攻击的概率将会降低。关于文中的DC和AC系数加密的两种模式,因为已对敏感参数进行了编码(DCT变换中的敏感系数和重要系数),所以统计性攻击无效。下而绘制的直方图和相关性图符合该观点。
为防止信息泄露和侵略性攻击,必须确保原始图像和加密图像没有统计的相似性。直方图分析表示了图像中像素的分布,其使用像素亮度的每个量绘制观测值。图5显示了原始图像和加密图像的直方图。可以看到,加密DC和AC系数的两种模式的直方图和原始图像的直方图没有统计相关性。因此,根据该图可知统计性攻击无效,且可知仅第二种模式的直方图比第一种模式平滑,此外,考虑无变换模式下的直方图均匀分布,可总结提出的算法针对统计性攻击是安全的。
3、性能评估
对于实时处理系统,除了安全性问题,加密算法的速度同样是很重要的,为阐述实现密码系统的效率,必须针对已研究的密码系统进行清晰的比较。实验在配置为Intel酷睿双核2.10处理器、2G内存、Windows7操作系统的计算机上进行,针对256×256的灰度图像,使用MATLAB7.O实现所提加密算法的编码,并在有DCT变换的不同模式下和无变换情况下进行了加密分析,表3所示为不同加密模式下运用三种不同的算法加密的耗时情况比较,表4所示为所提算法在不同的模式下加密不同图像得到的耗时情况。
从表3可以看出,提出的流密码算法比A5/1和W7算法更快,同时在无变换模式下提出的加密算法的耗时与其他两种算法大不棚同,因此,提出的算法比A5/1和W7算法更适用于实时多媒体应用系统。
综合表3和表4可知,无变换加密模式下的算法执行时间明显多于DC系数加密模式下、DC和AC系数加密的两种模式下的算法执行时间。提出的两种模式下取得的平均时间仅为1.6s,如果使用配置更好的机器,可以得到更短的耗时,由此可见舢提出的两种模式可应用于实时多媒体应用系统。
小知识之DCT
DCT是英文Dual Clutch Transmission的简写,中文直译为“双离合变速器”(与DSG"直接换挡变速器“不同,但DSG只是大众公司的叫法),因其是通过两套离合器工作,所以目前一般被称为双离合变速器。