在信息安全传榆过程中,进行图像文件加密很重要,通过运用四元数的有关知识,我们提出了一种彩色图像加密算法,把彩色图像的RGB值和四元数的三个虚部的系数联系起来,直接用一个四元数来表示彩色图像的像素点,并运用单位四元数的作为密钥,得到一旋转矩阵,随后给出了对彩色图像文件加密的安全体制,该算法具有较强的安全性。

一、四元数简介

1、四元数的定义

四元数的概念是1 843年由爱尔兰数学家威廉,卢云,哈密顿提出的,明确地说,四元数是复数的不可交换延伸,它由实数加上三个元素i、j、k组成。每个四元数都是1、i、j和k的线性组合,设:

彩色图像文件加密之四元数

其中i、j、k满足j2= j2=k2=ijk= -1,Ij=-ji,ik=-jk=i,ki=-ik=j则称(1)形式的数q为四元数,称a为四元数的实部,记为Re(q)=a,称bi+ci+dk为四元数的虚部,四元数的全体Q={a十bi十cj+dk/z,b,c,d∈r) 。设qi=ai +bii +crj+dik,q2=a2+bzi+cj+d2k,则四元数的加法和乘法定义为:

彩色图像文件加密之四元数

其中当ql或q2有一个为实数时,不妨设qi =a,则有aqz=aa2+abi +ac2j+ ad2jlc。以下是几个四元数的有关概念:

四元数的共轭:彩色图像文件加密之四元数;四元数的模:彩色图像文件加密之四元数,把|q|=1的四元数称为单位四元数,把a=0,|q|=1的四元数称为单位纯四元数。

四元数的逆:彩色图像文件加密之四元数,则当q为单位四元数时,彩色图像文件加密之四元数

2、四元数与旋转

四元数有多种表示方法,如复数表示,三角形式以及矩阵表示等,对于形式为(1)的四元数它的三角形式表示为gd ql(cosθ+lsinθ),其中I2=-1,当q为单位四元数时,
有g= cosθ+lsinθ其中l2 =-1,则此时的q称为旋转四元数,其中秒表示旋转角度,I表示旋转轴,其几何意义是以I为转轴,使垂直于转轴平面内的一个矢量按右手螺旋方向
转过2θ角度a将一向量绕某一转轴旋转某个角度可以用以下公式表示:

彩色图像文件加密之四元数

或:

彩色图像文件加密之四元数

等式(2)和(3)是等价的,Rota是下面的矩阵:

彩色图像文件加密之四元数

二、彩色图像文件加密方法

设原始图像A是一幅256x256的彩色图像,记为I(x,y),则可以用纯四元数表示为:

彩色图像文件加密之四元数

其中R(x,y),G(x,y)和B(x,y)分别代表x,y处的RGB值。

1、彩色图像四元数旋转变换

给定一单位四元数q作为密钥,由(4)可得到旋转矩阵Ror,将彩色图像A的像素点按3x3分块,其中每一个彩色像素都是用一个四元数(5)的形式表示,对每个分块利用旋转矩阵进行变换得到三阶四元数矩阵B=RowXA。

2、四元数矩阵预处理

变换之后的三阶四元数矩阵B中的系数如果均在0·256之间,则B直接进入3.3进行处理,如果存在不属于0-256之间的数,则把B中的每个元素系数加上B中最大的负数的绝对值得到正矩阵B’,分别对B'中的每一个元素对256进行取模和取整处理,得到矩阵Bnxx和Buu,这样Bmoci和Bint。的每一个元素都在0-256之间。

3、加密图像文件

有定义1:对给定的n阶数字图像P,变换:

彩色图像文件加密之四元数

aij为 整数,而x1...xn∈{0,1,…,N-1))关于P的周期为mN,mN是使得图像P经一系列变换后恢复到P的最少次数。

定理1以上变换有周期性的充分必要条件为IAI与N互素,其中A是变换矩阵,|A|是矩阵的行列式。

式(6)中的XI∈[1,N-1]∈Z+,把再从正整数域扩展到四元数域,即有:

定义2对给定的n阶数字图像P,变换:

彩色图像文件加密之四元数

其中aij为整数,q1,…,qn为四元数,其中关于P的周期为mN。图1即加密算法流程图。

彩色图像文件加密之四元数

三、解密图像

解密图像算法和加密图像相反,接收者把收到的图像分成上下两部分Bmod和Bint,根据得到的密钥k对Bmod进行k次矩阵变换到Bint,Bint进行k次矩阵变换到Bint,由Bmod和Bint即可得到矩阵B,根据所提供的四元数得到旋转矩阵,从而恢复出原彩色图像的四元数矩阵,进而恢复原图像。

小知识之四元数

四元数是最简单的超复数。 复数是由实数加上元素 i 组成,其中i^2 = -1。 相似地,四元数都是由实数加上三个元素 i、j、k 组成,而且它们有如下的关系: i^2 = j^2 = k^2 = ijk = -1 , 每个四元数都是 1、i、j 和 k 的线性组合,即是四元数一般可表示为a + bi + cj + dk,其中a、b、c 、d是实数。