一种图像加解密系统的制作方法

文档序号:7641299阅读:353来源:国知局
专利名称:一种图像加解密系统的制作方法
技术领域
本发明涉及计算机数据加解密技术领域,特别是,涉及一种图像加解密系统和方法。
背景技术
数字图像的安全是近年来信息安全领域中研究的焦点之一。图像加密和图像隐藏是从不同的角度提出的数字图像安全技术,将图像加密技术与图像隐藏技术有机结合,就可进一步提高信息的安全性。其中数字图像加密技术不仅可以有效地保护图像数据,而且还可以作为图像隐藏技术的预处理和后处理。因此,图像加密技术具有非常重要的现实意义。传统保密学主要是对一维数据流提供了较好的算法,而对图像信息还缺少足够的方法,因为图像数据有着与原有需要加密数据不同的特点,如数据量大、二维的自相似性和相关性等,因此如何对图像进行有效的加密,是传统保密学研究中遇到的新问题。

发明内容
本发明的目的在于克服现有技术中的缺陷,提供一种图像加解密系统和方法,其具有简单、容易实现的特点,能够达到理想的加密效果,解密后也能够几乎还原。为实现本发明目的而提供的一种图像加解密系统,包括伪随机数发生器,加密/ 解密单元,其中所述伪随机数发生器,用于根据输入的初始条件值生成的实数值随机数序列,并将所述实数值随机数序列截取转换为二进制序列和整数值序列;所述加密/解密单元,用于对输入的图像文件进行加密或者进行解密。较优地,所述的图像加解密系统,还包括输入输出接口单元,用于输入需要加密/ 解密的图像文件及初始条件值,输出加密/解密后的图像文件。较优地,所述加密/解密单元,包括加密单元和解密单元,其中所述加密单元,用于利用伪随机数发生器产生的二进制序列,通过Rijndael算法中密钥异或操作实现图像像素的RGB或灰度值变换,然后通过S-盒变换来完成图像像素的替代;再利用伪随机数发生器生成的整数值序列来实现图像像素的行列置换操作,循环进行κ轮加密,最终实现图像加密;所述解密单元是加密单元的加密过程的反次序单元,用于利用伪随机数发生器产生的二进制序列,进行加密的逆运算,然后进行密钥异或运算,最终端实现图像解密。较优地,所述加密单元,包括变换子单元,替代子单元和置换子单元,其中所述变换子单元,用于采用轮密钥异或操作实现图像像素的RGB或灰度变换;所述替代子单元,用于采用S-盒变换来完成图像像素的替代;所述置换子单元,用于采用行置换和列置换来完成图像像素的置换。为实现本发明目的还提供一种图像加密方法,包括下列步骤
步骤S100,输入需要加密的图像文件,并输入加密的初始条件值;步骤S200,根据输入输出接口单元输入的初始条件值生成的实数值随机数序列, 并将所述实数值随机数序列截取转换为二进制序列和整数值序列;步骤S300,利用伪随机数发生器产生的二进制序列,通过Rijndael算法中密钥异或操作实现图像像素的RGB或灰度值变换,然后通过S-盒变换来完成图像像素的替代;再利用伪随机数发生器生成的整数值序列来实现图像像素的行列置换操作,循环进行N轮加密,最终实现图像加密。所述输入加密的初始条件值,包括密钥序列的加密迭代初值&、加密系统参数λ、加密参数L、加密参数κ ;整数序列的加密迭代初值X' C1、加密系统参数λ'、加密参数L'和加密参数K';其中,X0为伪随机数发生器的密钥序列的加密迭代初值 ’X' ^为整数序列的加密迭代初值;λ、λ ‘为伪随机数发生器的加密系统参数,3. 569 945 6. . . < λ、λ ‘ ^4;L、L'为加密截取值,表示截取实值随机数序列{Xn,n = 0,l,2,K}中的每个实值 Xn前。L'位二进制数;κ , κ ‘是加密参数;当实值随机数序列转化为二进制随机数序列时,指定取实值随机数序列{χη,η = 0,1,2,K}中Xn的第K、K ‘位二进制数来组成二进制密钥序列。较优地,所述步骤S300包括下列步骤步骤S310,以伪随机数发生器产生的二进制数密钥序列Kt (t = 0,1,..., (MXNXS)-I)作为种子密钥进行密钥扩展,密钥用w[] [NX8]存放,最前面的M行为种子密钥,用于第一轮加密时与待加密图像中的像素异或;从第二轮加密开始使用轮密钥,第r轮的轮密钥由w中的第MXr行到第MX (r+l)-l行给出;w的前M行是种子密钥;后面各行由先前的行按递归方式确定如果i不是M的倍数,则第i行是第i-Μ行
与第i_l行的逐位异或;否则,第i行是第i_M行与第i-Ι行的一个非线性函数的逐位异
pt/ · 'τΛ ,步骤S320,按顺序取出w[][NX8]中的M行密钥,按字节与待加密图像中的像素 Bij (i = 0,1, ... ,M-1, j = 0,1, ... , N-1)中的RGB三个分量异或得到新的像素((i = 0,1,…,M-I, j = 0,1,…,N-1);步骤S330,利用查找表进行S-盒变换;将中的RGB三个分量分别作替换操作, 即前4位作为S-盒列坐标,后4位作为S-盒行坐标,用S-盒行列坐标处的值替换中的 RGB 三个分量得到新的像素值 Cij ((i =0,1,..., M-l,j = 0,1,. . .,N-1);步骤S340,以伪随机数发生器根据加密迭代初值X' C1、加密系统参数λ'、加密参数L'和解密参数κ ‘生成的整数值随机数序列PPt(t = 0,1,. . .,M-l,Μ,. . .,M+N-1) 作为图像像素进行横向和纵向移动的位数,进行像素的行列置换;将图像的每行像素Cij依次循环左移PPt (t = 0,1,. . . ,M-1)个位置变换到该行的
另一位置;步骤S350,将图像的每列像素Cij依次向下循环移动PPt (t = M,. . .,M+N-1)个位置变换到该列的另一位置;
步骤S360,返回步骤S320,进行下一轮加密,直到完成N轮,得到加密图像。为实现本发明目的还提供一种图像解密方法,包括下列步骤步骤S100’,输入需要加密的图像文件,并输入加密的初始条件值。输入输出接口单元输入初始条件值包括密钥序列的加密迭代初值\、加密系统参数λ、加密参数L、加密参数κ ;整数序列的加密迭代初值X' C1、加密系统参数λ ‘、加密参数L'和加密参数κ ‘;设定κ丨的值为κ ‘ = (κ ‘ +N)% L',N为加密次数;步骤S200’,利用伪随机数发生器产生的二进制密钥序列和整数值序列,进行加密的逆运算,然后进行密钥异或运算,最终端实现图像解密。较优地,所述步骤S200’包括下列步骤步骤S210’,伪随机数发生器利用迭代初值X' C1、系统参数λ ‘、参数L'和参数κ ‘,生成整数值序列PPt(t = 0,1,. . .,M-l,Μ,. . .,M+N-1),进行每列像素Cij(i = 0, 1,. . .,M-l,j = 0,1,. . .,N-1)依次向上循环移动PPt(t = M,. . .,M+N-1)个位置变换到该列的另一位置;步骤S220’,将加密的每行像素依次循环右移PPt (t = 0,1,. . .,M-1)个位置变换到该行的另一位置;步骤S230’,利用逆S-盒替换表通过查表查找到逆元。将Cij中的RGB三个分量分别作逆S-盒替换,即前4位作为S-盒列坐标,后4位作为逆S-盒行坐标,用逆S-盒行列坐标处的值替换Cij得到像素值、(i = 0,1,. . .,M-l,j = 0,1,. . .,N-1);步骤S240’,伪随机数发生器利用加密迭代初值\、加密系统参数λ、加密参数L 和加密参数κ,生成的随机数序列Kt(t = 0,1,... , (MXNXS)-I)作为W的种子密钥,由密钥扩展方案得到每一轮的轮密钥序列;步骤S250’,返回步骤S210’,进行下一轮的解密,解密的次数与加密次数相等。具体而言,本发明提供了一种图像加解密系统,包括输入输出接口单元、伪随机数发生器,加密/解密单元,水印嵌入单元,水印检测单元,其中所述输入输出接口单元,用于输入需要加密/解密的图像文件及初始条件值,输出加密/解密后的图像文件。所述伪随机数发生器,用于根据输入的初始条件值生成二进制随机数序列;所述加密/解密单元,用于根据所述伪随机数发生器生成的二进制随机数序列, 对输入的图像文件进行加密或者进行解密;所述水印嵌入单元,用于在图像中嵌入水印,所述水印嵌入单元中包括原始图像 DCT系数选择模块和水印嵌入模块;所述水印检测单元,用于对嵌入水印的图像进行检测,所述水印检测单元中包括含水印图像DCT系数选择模块和水印判断模块。优选的是,所述加密/解密单元,包括加密单元和解密单元,其中所述加密单元中包括图像加密单元和水印加密单元,所述图像加密单元和水印加密单元分别针对图像和水印取不同的初始条件值,图像初始条件值和水印初始条件值均利用伪随机数发生器产生的二进制随机数序列,截取其中的一段二进制随机数序列,执行以下加密程序通过 Rijndael算法中密钥异或操作实现图像像素的RGB或灰度值变换,再通过S-盒变换来完成图像像素的替代;再实现图像像素的行列置换操作,然后截取另一段二进制随机数序列,循环进行下一轮加密操作,直到图像进行一定轮的加密,且水印也进行了一定轮的加密,最终实现图像和水印双重加密,并且利用RSA算法随机选取整数做为图像初始条件值和水印初始条件值加密密钥,根据所述图像初始条件值和水印初始条件值加密密钥分别对图像初始条件值和水印初始条件值进行加密,且通过图像初始条件值和水印初始条件值加密密钥分别计算出图像初始条件值和水印初始条件值初始条件值解密密钥;所述解密单元中包括图像解密单元和水印解密单元,所述图像解密单元和水印解密单元分别是图像加密单元和水印加密单元的加密过程的反次序单元,首先利用RSA算法,通过计算出的所述图像初始条件值和所述水印初始条件值解密密钥对被加密的图像初始条件值和所述水印初始条件值进行解密;其次利用被解密的图像初始条件值和所述水印初始条件值用伪随机数发生器产生二进制随机数序列,进行加密的逆运算,然后进行密钥异或运算,最终端实现图像和水印双重解密。优选的是,所述图像加密单元,包括变换子单元,替代子单元和置换子单元,其中 所述变换子单元,用于采用轮密钥异或操作实现图像像素的RGB或灰度变换;所述替代子单元,用于采用S-盒变换来完成图像像素的替代;所述置换子单元,用于采用行置换和列置换来完成图像像素的置换。优选的是,所述输入加密的图像初始条件值和水印初始条件值,均包括密钥序列的加密迭代初值&、加密系统参数λ、加密参数L、加密参数κ ;整数序列的加密迭代初值 X' ο、加密系统参数λ'、加密参数L'和加密参数κ'。优选的是,所述原始图像DCT (离散余弦变换)系数选择模块首先将原始图像分成 8X8互不重叠的子块,再对每一子块进行DCT变换,选择中频来嵌入水印。优选的是,所述含水印图像DCT系数选择模块首先将含水印图像分成8 X 8互不重叠的子块,再选定每一子块的DCT系数。优选的是,所述水印判断模块将所述含水印图像DCT系数选择模块所有选定的 DCT系数组合成一个长度为Φ的序列R,之后计算R与伪随机数序列W的相关值,如果相关值超过阈值P,则判断水印存在,否则判断水印不存在。本发明的优点在于本发明的图像加解密系统和方法,将Rijndael和RSA加解密方法应用于数字图像加密中,利用Rijndael方法的安全性和RSA方法的不对称性,使得加密后的图像抗击性得到进一步地提高,使加密后的图像类似于白噪声图像,达到较为理想的置乱效果。本发明对Rijndael在图像置乱中的行列置换操作进行改进,具有简单、容易实现,解密后的图像几乎完全还原等特性,特别适用于灰度图像和彩色图像的加解密。


图1是本发明实施例图像加解密系统结构示意图;图2是图1中加密单元结构示意图;图3是列置换对图像分块中列上的像素过程示意图;图^、4b、k是原始图像、用本发明实施例图像加解密系统加密后的图像、本发明实施例图像加解密系统解密后的图像效果示意图;图5是本发明图像加密方法流程示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的图像加解密系统和方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明而不是对本发明的限制。实施例一,图像加解密系统如图1所示,本发明实施例的图像加解密系统,包括输入输出接口单元1,伪随机数发生器2,加密/解密单元3,水印嵌入单元和水印检测单元(图中未示出),其中输入输出接口单元1,用于输入需要加密/解密的图像文件及初始条件值,输出加密/解密后的图像文件;这里的初始条件值包括图像的初始条件值,也包括水印的初始条件值。伪随机数发生器2,用于根据输入输出接口单元1输入的初始条件值生成二进制随机数序列;这样,实际上生成了两组二进制随机数序列,水印的二进制随机数序列和图像的二进制随机数序列。加密/解密单元3,用于对输入的图像文件进行加密或者进行解密,其中也包括对水印的加密和解密;所述加密/解密单元3,包括加密单元31和解密单元32,其中所述加密单元31,用于利用伪随机数发生器2产生的二进制序列,通过Rijndael 算法中密钥异或操作实现图像像素的RGB或灰度值变换,然后通过S-盒变换来完成图像像素的替代;再利用伪随机数发生器2生成的整数值序列来实现图像像素的行和列置换操作,循环进行N轮加密,最终实现图像加密。所述解密单元32是加密单元31的加密过程的反次序单元;用于利用伪随机数发生器2产生的二进制序列,进行加密的逆运算,然后进行密钥异或运算,最终端实现图像解
滋 解密单元32先进行加密中最后一轮N的逆运算,然后再进行N-I 1轮逆运算, 最后进行密钥异或运算。所述水印嵌入单元,用于在图像中嵌入水印,所述水印嵌入单元中包括原始图像 DCT系数选择模块和水印嵌入模块;所述水印检测单元,用于对嵌入水印的图像进行检测,所述水印检测单元中包括含水印图像DCT系数选择模块和水印判断模块。所述的图像加解密系统中,所述加密/解密单元,包括加密单元和解密单元,其中所述加密单元中包括图像加密单元和水印加密单元,所述图像加密单元和水印加密单元分别针对图像和水印取不同的初始条件值,图像初始条件值和水印初始条件值均利用伪随机数发生器产生的二进制随机数序列,截取其中的一段二进制随机数序列,执行以下加密程序通过Rijndael算法中密钥异或操作实现图像像素的RGB或灰度值变换,再通过S-盒变换来完成图像像素的替代;再实现图像像素的行列置换操作,然后截取另一段二进制随机数序列,循环进行下一轮加密操作,直到图像进行一定轮的加密,且水印也进行了一定轮的加密,最终实现图像和水印双重加密,并且利用RSA算法随机选取整数做为图像初始条件值和水印初始条件值加密密钥,根据所述图像初始条件值和水印初始条件值加密密钥分别对图像初始条件值和水印初始条件值进行加密,且通过图像初始条件值和水印初始条件值加密密钥分别计算出图像初始条件值和水印初始条件值初始条件值解密密钥;所述解密单元中包括图像解密单元和水印解密单元,所述图像解密单元和水印解密单元分别是图像加密单元和水印加密单元的加密过程的反次序单元,首先利用RSA算法,通过计算出的所述图像初始条件值和所述水印初始条件值解密密钥对被加密的图像初始条件值和所述水印初始条件值进行解密;其次利用被解密的图像初始条件值和所述水印初始条件值用伪随机数发生器产生二进制随机数序列,进行加密的逆运算,然后进行密钥异或运算,最终端实现图像和水印双重解密。其中,通过在图像中嵌入一个水印,认证时,再从图像中提取水印,并根据水印的变化来判断图像的完整性,防止非法篡改和伪造。首先,选定嵌入水印的DCT系数。假设水印信号是长度为τ的服从Gaussian分布N(0,1)的随机序列W = {w(i), τ}。首先将原始图像分成8X8互不重叠的子块,对每一子块进行DCT变换,得到
F(e),β = 1,2,...,S0选择中频来嵌入水印,使得水印不可感知,且能抵抗有损压缩。在每个8X8的DCT块F(e)嵌入水印,只有0 = 64><▲个DCT系数被用来嵌入水
印,这Φ个系数的生成方法首先对每一 8X8块的DCT系数按Zig-Zag顺序排序,将前L 个DCT系数舍弃,取Φ个系数F(e)(L+l),F(e)(L+2),...,Fw(I^cj5)来嵌入水印。其次,水印的嵌入。水印按以下规则嵌入
权利要求
1.一种图像加解密系统,其特征在于,包括输入输出接口单元、伪随机数发生器,加密 /解密单元,水印嵌入单元,水印检测单元,其中所述输入输出接口单元,用于输入需要加密/解密的图像文件及初始条件值,输出加密/解密后的图像文件。所述伪随机数发生器,用于根据输入的初始条件值生成二进制随机数序列; 所述加密/解密单元,用于根据所述伪随机数发生器生成的二进制随机数序列,对输入的图像文件进行加密或者进行解密;所述水印嵌入单元,用于在图像中嵌入水印,所述水印嵌入单元中包括原始图像DCT 系数选择模块和水印嵌入模块;所述水印检测单元,用于对嵌入水印的图像进行检测,所述水印检测单元中包括含水印图像DCT系数选择模块和水印判断模块。
2.根据权利要求1所述的图像加解密系统,其特征在于,所述加密/解密单元,包括加密单元和解密单元,其中所述加密单元中包括图像加密单元和水印加密单元,所述图像加密单元和水印加密单元分别针对图像和水印取不同的初始条件值,图像初始条件值和水印初始条件值均利用伪随机数发生器产生的二进制随机数序列,截取其中的一段二进制随机数序列,执行以下加密程序通过Rijndael算法中密钥异或操作实现图像像素的RGB或灰度值变换,再通过 S-盒变换来完成图像像素的替代;再实现图像像素的行列置换操作,然后截取另一段二进制随机数序列,循环进行下一轮加密操作,直到图像进行一定轮的加密,且水印也进行了一定轮的加密,最终实现图像和水印双重加密,并且利用RSA算法随机选取整数做为图像初始条件值和水印初始条件值加密密钥,根据所述图像初始条件值和水印初始条件值加密密钥分别对图像初始条件值和水印初始条件值进行加密,且通过图像初始条件值和水印初始条件值加密密钥分别计算出图像初始条件值和水印初始条件值初始条件值解密密钥;所述解密单元中包括图像解密单元和水印解密单元,所述图像解密单元和水印解密单元分别是图像加密单元和水印加密单元的加密过程的反次序单元,首先利用RSA算法,通过计算出的所述图像初始条件值和所述水印初始条件值解密密钥对被加密的图像初始条件值和所述水印初始条件值进行解密;其次利用被解密的图像初始条件值和所述水印初始条件值用伪随机数发生器产生二进制随机数序列,进行加密的逆运算,然后进行密钥异或运算,最终端实现图像和水印双重解密。
3.根据权利要求2所述的图像加解密系统,其特征在于,所述图像加密单元,包括变换子单元,替代子单元和置换子单元,其中所述变换子单元,用于采用轮密钥异或操作实现图像像素的RGB或灰度变换; 所述替代子单元,用于采用S-盒变换来完成图像像素的替代; 所述置换子单元,用于采用行置换和列置换来完成图像像素的置换。
4.根据权利要求2所述的图像加解密系统,其特征在于,所述输入加密的图像初始条件值和水印初始条件值,均包括密钥序列的加密迭代初值&、加密系统参数λ、加密参数L、加密参数κ ;整数序列的加密迭代初值X' C1、加密系统参数λ ‘、加密参数L'和加密参数κ。
5.根据权利要求2所述的图像加解密系统,其特征在于,所述原始图像DCT系数选择模块首先将原始图像分成8X8互不重叠的子块,再对每一子块进行DCT变换,选择中频来嵌入水印。
6.根据权利要求5所述的图像加解密系统,其特征在于,所述含水印图像DCT系数选择模块首先将含水印图像分成8X8互不重叠的子块,再选定每一子块的DCT系数。
7.根据权利要求6所述的图像加解密系统,其特征在于,所述水印判断模块将所述含水印图像DCT系数选择模块所有选定的DCT系数组合成一个长度为Φ的序列R,之后计算 R与伪随机数序列W的相关值,如果相关值超过阈值P,则判断水印存在,否则判断水印不存在。
全文摘要
本发明公开一种图像加解密系统。该图像加解密系统,包括输入输出接口单元、伪随机数发生器,加密/解密单元,水印嵌入单元,水印检测单元,其中所述输入输出接口单元,用于输入需要加密/解密的图像文件及初始条件值,输出加密/解密后的图像文件。所述伪随机数发生器,用于根据输入的初始条件值生成二进制随机数序列;所述水印检测单元,用于对嵌入水印的图像进行检测,所述水印检测单元中包括含水印图像DCT系数选择模块和水印判断模块。其具有简单、容易实现的特点,能够达到理想的加密效果,解密后也能够几乎还原。
文档编号H04N21/8358GK102196320SQ20111009561
公开日2011年9月21日 申请日期2011年4月15日 优先权日2011年4月15日
发明者李金祥, 杨元峰, 熊志勇, 牛丽, 陈珂, 顾才东 申请人:江苏省现代企业信息化应用支撑软件工程技术研发中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1