对于数据量极为庞大的多媒体数据而言,难以实现快速的加密和解密,因此必须结合多媒体信息加密技术。考虑到图像信息的一些特征,近年来发展了几种图像加密系统,如:基于矩阵变换/像素置换;基于伪随机序列;基于SCAN语言;基于“密钥图像”;基于四叉树及SCAN语言;基于矢量量化压缩编码及其商业密码等。这些算法要么加密的速度慢,要么安全性比较低,根据现代密码机制的特点,综合以上几种加密系统的优点,下面就给大家一种基于矩阵变换的非对称图像加密算法的原理。

基于矩阵变换的非对称图像加密算法原理

为了讨论的便利性,本文中要加密的图像为灰度图像,命名为J。具体的加密过程如下:

a、产生一对密钥,私钥用来加密,公钥用来解密;

b、将待加密图像分成互不相交的P×P块 并做DCT变换;
c、对每个P×P块中的前K×K个系数使用私钥加密;

d、合并P×P块并做反DCT变换;

e、对反DCT后的系数做界定处理,使之处于0~1之间。

因为要对每个P×P块中前K×K个系数分别进行加密,所以会产生一组空间维度为P×K的标准正交基(K<K)。定义 为{Ui=1,2,3......k}。同样地,利用高斯白噪声产生一个P×P的可逆矩阵A.{Ui}组成矩阵U的列向量,具体表示为:

假设待加密图像J对应的DCT变换系数为Xm*n,对某一个Xp*p块的前K×K个系数组成的矩阵X0,使用AU作为私钥加密,使用A-tU作为公钥解密。具体过程如下:

加密过程

a、对图像J按P×P分块,每块分别做DCT变换,对应的DCT变换系数定义为XM一DCT(I,[P P]).
b、每个P×P块都取其前K×K个系数分别加密,假设某块X0的前K×K个系数组成的矩阵为X,则其使用私钥AV加密后的信息为:X2一AUX0,X2∈R。
c、使用X2替换的前P×K个系数,若K很接近P,则依据DCT变换的特性,X0剩余的(P—K)×(P—K)个系数均接近于0,所以直接替换掉不影响图像的解密效果,X0(I,J)一X。(1≤P,I≤K)。

d、合并各个P×P块,做反DCT变换并命名为X2mxn,X=IDCT(Xmxn)。

e、为了防止超出,界定X0M所有的值均在0~1之间。

f、保存X2mxn为灰度图像,即为加密后的图像文件。

小知识之矩阵变换:

等变换后的矩阵是否可逆,来判断原矩阵是否可逆。当然,这只是矩阵初等变换的一个小小的应用,它在线性代数中的更重要的应用主要体现在以下几点:求矩阵的秩,求向量组的极大无关组、秩,求解线性方程组,求多项式的最大公因式等。