批量图像组合加密方法及装置转让专利

申请号 : CN202110795933.4

文献号 : CN113645367B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 游大涛吴潇飞武相军常晓琦张梦柯

申请人 : 河南大学

摘要 :

本发明公开一种批量图像组合加密方法及装置,该方法包括:取K张大小为M×N的图像作为哈希算法的输入;将上述K张图像等分为3组,生成三个大小为M×N的新图像P1,P2和P3;更新P3:将P1、P2和更新后的P3组合生成加密序列矩阵Q;以Q的第一行数值Q(1,n)为参数对图像进行行置乱,之后以Q的第二行数值Q(2,n)为参数对图像进行列置乱,所有的图像均更新为置乱后的图像将加密序列矩阵Q与所有置乱图像中对应位置的像素值进行异或运算,生成密文图像采用加密算法对矩阵Q进行加密,得到加密之后的矩阵本发明可以在确保安全性的基础上大幅降低加密过程的时间开销。

权利要求 :

1.一种批量图像组合加密方法,其特征在于,包括:步骤1、生成哈希值:取K张大小为M×N的图像,将所述图像作为哈希算法的输入,哈希算法的输出是20个字节的数字,分别用H(s),s=1,2,...,20表示,每个H(s)的取值范围是

0‑255;

步骤2、生成组合图像:将上述K张图像等分为3组,分组后的每个图像分别表示为 其中,k=1,2,...,K/3,i=1,2,3;然后对第1组内的所有图像中位置为(1,1)的像素值进行异或操作,生成一个新的像素值 之后,依次对每1组内所有图像中除位置为(1,1)的像素值外的所有像素值分别进行上述异或操作,直至1

生成一个大小为M×N的新图像P ;同理,分别在第2组和第3组内进行上述操作,对应生成新

2 3

图像P和P;

3 3 3

步骤3、更新P :将步骤2中生成的P中像素值P (m,n)与步骤1中生成的H(s),s=[(m‑1)×N+n]mod  20进行异或运算,并将该像素值更新为上述操作生成的新值,即步骤4、按照如下公式生成加密序列数:

1 1

p(m,n)=15×P(m,n)%251

2 2

p(m,n)=14×P(m,n)%241

3 3

p(m,n)=11×P(m,n)%239

1 2 3

Q(m,n)=(p(m,n)+p(m,n)+p(m,n))%256

1 2 3

分别将P 、P和更新后的P作为上述公式的输入数据,据此生成一个大小为M×N的加密序列矩阵Q;

步骤5、图像置乱:先以Q的第一行数值Q(1,n)为参数对图像进行行置乱,之后以Q的第二行数值Q(2,n)为参数对图像进行列置乱,所有的图像 均更新为置乱后的图像步骤6、图像加密:将加密序列矩阵Q与所有置乱图像 中对应位置的像素值进行异或运算,生成密文图像

步骤7、采用加密算法对矩阵Q进行加密,得到加密之后的矩阵

2.根据权利要求1所述的批量图像组合加密方法,其特征在于,在所述步骤7之后,还包括:

对矩阵 进行解密得到加密序列矩阵Q;

图像解密:将矩阵Q与所有密文图像 中对应位置的像素值进行异或运算,生成置乱图像

图像逆置乱:先以Q的第二行数值Q(2,n)为参数对图像进行列逆置乱,之后以Q的第一行数值Q(1,n)为参数对图像进行行逆置乱,所有的图像 均更新为逆置乱后的原图像P。

3.一种批量图像组合加密装置,其特征在于,包括:哈希值生成模块,用于生成哈希值:取K张大小为M×N的图像,将所述图像作为哈希算法的输入,哈希算法的输出是20个字节的数字,分别用H(s),s=1,2,...,20表示,每个H(s)的取值范围是0‑255;

组合图像生成模块,用于生成组合图像:将上述K张图像等分为3组,分组后的每个图像分别表示为 其中,k=1,2,...,K/3,i=1,2,3;然后对第1组内的所有图像中位置为(1,

1)的像素值进行异或操作,生成一个新的像素值之后,依次对每1组内所有图像中除位置为(1,1)的像素值外的所有像素值分别进行上述异或操作,直至生成一个大小为M×N的新图

1 2 3

像P;同理,分别在第2组和第3组内进行上述操作,对应生成新图像P和P;

3 3 3

图像更新模块,用于更新P :将步骤2中生成的P 中像素值P (m,n)与步骤1中生成的H(s),s=[(m‑1)×N+n]mod 20进行异或运算,并将该像素值更新为上述操作生成的新值,即加密序列矩阵生成模块,用于按照如下公式生成加密序列数:

1 1

p(m,n)=15×P(m,n)%251

2 2

p(m,n)=14×P(m,n)%241

3 3

p(m,n)=11×P(m,n)%239

1 2 3

Q(m,n)=(p(m,n)+p(m,n)+p(m,n))%256

1 2 3

分别将P 、P和更新后的P作为上述公式的输入数据,据此生成一个大小为M×N的加密序列矩阵Q;

图像置乱模块,用于图像置乱:先以Q的第一行数值Q(1,n)为参数对图像进行行置乱,之后以Q的第二行数值Q(2,n)为参数对图像进行列置乱,所有的图像 均更新为置乱后的图像

第一加密模块,用于图像加密:将加密序列矩阵Q与所有置乱图像 中对应位置的像素值进行异或运算,生成密文图像第二加密模块,用于采用加密算法对矩阵Q进行加密,得到加密之后的矩阵

4.根据权利要求3所述的批量图像组合加密装置,其特征在于,还包括:第一解密模块,用于对矩阵 进行解密得到矩阵Q;

第二图像解密模块,用于图像解密:将加密序列矩阵Q与所有密文图像 中对应位置的像素值进行异或运算,生成置乱图像图像逆置乱模块,用于图像逆置乱:先以Q的第二行数值Q(2,n)为参数对图像进行列逆置乱,之后以Q的第一行数值Q(1,n)为参数对图像进行行逆置乱,所有的图像 均更新为逆置乱后的原图像P。

说明书 :

批量图像组合加密方法及装置

技术领域

[0001] 本发明属于图像处理技术领域,尤其涉及一种批量图像组合加密方法及装置。

背景技术

[0002] 随着信息技术的飞速发展,数字图像越来越广泛地应用于商业活动和社会生活之中,致使蕴含着大量商业和隐私信息的图像数量成指数级增长,由此极大地促进了对高速
加密算法的迫切需求,特别是对具有大量低性能电子设备的物联网环境下的图像加密来
说,这种需求更为迫切。加密领域经过多年的发展,涌现了大量具有较高安全性的加密算
法。当前,混沌加密方法是现有最具代表性的图像加密方法。在安全性方面,基于混沌系统
的加密方法依赖于浮点数运算,而且对浮点数的精度要求较高,但是在低计算机精度环境
下这些混沌系统的随机性会遭到严重破坏,导致相应加密方法的安全性急剧降低;在加密
速度方面,基于混沌系统的加密方法大致可分为两类:一类是加密过程中每个像素对应一
个混沌随机数,另一类是多个像素对应一个混沌随机数。前者所用的混沌系统每产生一个
随机数往往需要数十次的浮点数运算,安全性较高的高维混沌系统的计算次数更高;后者
虽然需要产生的随机数数量相比前者会大幅降低,但是在加密过程则往往需要多轮加密,
因此它们的时间开销均较大。现有加密算法难以满足上述环境下的实际需求。因此,设计即
使在低精度环境下也具有较高安全性的高速加密算法,是一个亟待解决的重要问题。

发明内容

[0003] 本发明针对低计算精度环境下现有图像加密方法的安全性和速度均较低的问题,提出一种批量图像组合加密方法及装置,本发明不仅表现出较高的安全性,而且时间复杂
度非常小,可以在确保安全性的基础上大幅降低加密过程的时间开销。
[0004] 为了实现上述目的,本发明采用以下技术方案:
[0005] 本发明一方面提出一种批量图像组合加密方法,包括:
[0006] 步骤1、生成哈希值:取K张大小为M×N的图像,将所述图像作为哈希算法的输入,哈希算法的输出是20个字节的数字,分别用H(s),s=1,2,...,20表示,每个H(s)的取值范
围是0‑255;
[0007] 步骤2、生成组合图像:将上述K张图像等分为3组,分组后的每个图像分别表示为其中,k=1,2,...,K/3,i=1,2,3;然后对第1组内的所有图像中位置为(1,1)的像素值
进行异或操作,生成一个新的像素值 之后,
依次对每1组内所有图像中除位置为(1,1)的像素值外的所有像素值分别进行上述异或操
1
作,直至生成一个大小为M×N的新图像P ;同理,分别在第2组和第3组内进行上述操作,对
2 3
应生成新图像P和P;
[0008] 步骤3、更新P3:将步骤2中生成的P3中像素值P3(m,n)与步骤1中生成的H(s),s=[(m一1)×N+n]mod 20进行异或运算,并将该像素值更新为上述操作生成的新值,即
[0009] 步骤4、按照如下公式生成加密序列数:
[0010] p1(m,n)=15×P1(m,n)%251
[0011] p2(m,n)=14×P2(m,n)%241
[0012] p3(m,n)=11×P3(m,n)%239
[0013] Q(m,n)=(p1(m,n)+p2(m,n)+p3(m,n))%256
[0014] 分别将P1、P2和更新后的P3作为上述公式的输入数据,据此生成一个大小为M×N的加密序列矩阵Q;
[0015] 步骤5、图像置乱:先以Q的第一行数值Q(1,n)为参数对图像进行行置乱,之后以Q的第二行数值Q(2,n)为参数对图像进行列置乱,所有的图像 均更新为置乱后的图像
[0016] 步骤6、图像加密:将加密序列矩阵Q与所有置乱图像 中对应位置的像素值进行异或运算,生成密文图像
[0017] 步骤7、采用加密算法对矩阵Q进行加密,得到加密之后的矩阵
[0018] 进一步地,在所述步骤7之后,还包括:
[0019] 对矩阵 进行解密得到加密序列矩阵Q;
[0020] 图像解密:将矩阵Q与所有密文图像 中对应位置的像素值进行异或运算,生成置乱图像
[0021] 图像逆置乱:先以Q的第二行数值Q(2,n)为参数对图像进行列逆置乱,之后以Q的第一行数值Q(1,n)为参数对图像进行行逆置乱,所有的图像 均更新为逆置乱后的原图像
P。
[0022] 本发明还提出一种批量图像组合加密装置,包括:
[0023] 哈希值生成模块,用于生成哈希值:取K张大小为M×N的图像,将所述图像作为哈希算法的输入,哈希算法的输出是20个字节的数字,分别用H(s),s=1,2,...,20表示,每个
H(s)的取值范围是0‑255;
[0024] 组合图像生成模块,用于生成组合图像:将上述K张图像等分为3组,分组后的每个图像分别表示为 其中,k=1,2,...,K/3,i=1,2,3;然后对第1组内的所有图像中位置为
(1,1)的像素值进行异或操作,生成一个新的像素值
之后,依次对每1组内所有图像中除位置为
(1,1)的像素值外的所有像素值分别进行上述异或操作,直至生成一个大小为M×N的新图
1 2 3
像P;同理,分别在第2组和第3组内进行上述操作,对应生成新图像P和P;
[0025] 图像更新模块,用于更新P3:将步骤2中生成的P3中像素值P3(m,n)与步骤1中生成的H(s),s=[(m‑1)×N+n]mod 20进行异或运算,并将该像素值更新为上述操作生成的新
值,即
[0026] 加密序列矩阵生成模块,用于按照如下公式生成加密序列数:
[0027] p1(m,n)=15×P1(m,n)%251
[0028] p2(m,n)=14×P2(m,n)%241
[0029] p3(m,n)=11×P3(m,n)%239
[0030] Q(m,n)=(p1(m,n)+p2(m,n)+p3(m,n))%256
[0031] 分别将P1、P2和更新后的P3作为上述公式的输入数据,据此生成一个大小为M×N的加密序列矩阵Q;
[0032] 图像置乱模块,用于图像置乱:先以Q的第一行数值Q(1,n)为参数对图像进行行置乱,之后以Q的第二行数值Q(2,n)为参数对图像进行列置乱,所有的图像 均更新为置乱后
的图像
[0033] 第一加密模块,用于图像加密:将加密序列矩阵Q与所有置乱图像 中对应位置的像素值进行异或运算,生成密文图像
[0034] 第二加密模块,用于采用加密算法对矩阵Q进行加密,得到加密之后的矩阵
[0035] 进一步地,还包括:
[0036] 第一解密模块,用于对矩阵 进行解密得到矩阵Q;
[0037] 第二图像解密模块,用于图像解密:将加密序列矩阵Q与所有密文图像 中对应位置的像素值进行异或运算,生成置乱图像
[0038] 图像逆置乱模块,用于图像逆置乱:先以Q的第二行数值Q(2,n)为参数对图像进行列逆置乱,之后以Q的第一行数值Q(1,n)为参数对图像进行行逆置乱,所有的图像 均更新
为逆置乱后的原图像P。
[0039] 与现有技术相比,本发明具有的有益效果:
[0040] 针对在低精度下现有图像加密方法安全性低的问题,本发明采用基于单字节的素数模乘线性同余产生器进行批图像加密,代替现有的混沌系统,确保本发明加密方法可以
有效地运行于低精度计算环境下。针对现有图像加密方法加密速度慢的问题,本发明在加
密过程中使多像素对应同一个伪随机数,且加密过程中只进行了单轮加密,有效降低了加
密的时间开销,提升了加密速度。
[0041] 本发明不仅表现出较高的安全性,而且时间复杂度非常小,可以在确保安全性的基础上大幅降低加密过程的时间开销。

附图说明

[0042] 图1为本发明实施例一种批量图像组合加密方法的加密流程图;
[0043] 图2为本发明实施例一种批量图像组合加密方法的解密流程图;
[0044] 图3为实验用明文图像示例图;
[0045] 图4为明文图像的直方图示例图;
[0046] 图5为明文密文图像示例图;
[0047] 图6为密文图像的直方图示例图;
[0048] 图7为解密图像示例图;
[0049] 图8为解密图像的直方图示例图;
[0050] 图9为明文图像不同方向上的相邻像素分布情况示例图;
[0051] 图10为密文图像不同方向上的相邻像素分布情况示例图;
[0052] 图11为敏感性指标测试示例图;
[0053] 图12为纯白色图像加密效果图;
[0054] 图13为纯黑色图像加密效果图;
[0055] 图14为抗噪声和抗遮挡攻击测试示例图之一;
[0056] 图15为抗噪声和抗遮挡攻击测试示例图之二。

具体实施方式

[0057] 下面结合附图和具体的实施例对本发明做进一步的解释说明:
[0058] 如图1所示,一种批量图像组合加密方法,包括:
[0059] 步骤1、生成哈希值:取K张大小为M×N的图像,将所述图像作为哈希算法的输入,哈希算法的输出是20个字节的数字,分别用H(s),s=1,2,...,20表示,每个H(s)的取值范
围是0‑255。作为一种可实施方式,哈希算法为HASH‑1算法。
[0060] 步骤2、生成组合图像:将上述K张图像等分为3组,分组后的每个图像分别表示为其中,k=1,2,...,K/3,i=1,2,3;然后对第1组内的所有图像中位置为(1,1)的像素值
进行异或操作,生成一个新的像素值 之后,
依次对每1组内所有图像中除位置为(1,1)的像素值外的所有像素值分别进行上述异或操
1
作,直至生成一个大小为M×N的新图像P ;同理,分别在第2组和第3组内进行上述操作,对
2 3
应生成新图像P和P。
[0061] 步骤3、更新P3:将步骤2中生成的P3中像素值P3(m,n)与步骤1中生成的H(s),s=[(m‑1)×N+n]mod 20进行异或运算,并将该像素值更新为上述操作生成的新值,即
[0062] 步骤4、按照如下公式生成加密序列数:
[0063]
[0064] 分别将P1、P2和更新后的P3作为上述公式的输入数据,据此生成一个大小为M×N的加密序列矩阵Q。
[0065] 步骤5、图像置乱:先以Q的第一行数值Q(1,n)为参数对图像进行行置乱,之后以Q的第二行数值Q(2,n)为参数对图像进行列置乱,所有的图像 均更新为置乱后的图像
具体地,行置乱步骤可描述为:以Q(1,n)的值为参数,将所有图像 的第n行的像素值,以像
素为单位左移Q(1,n)次,左侧移出的像素值依次添加到本行右侧的末尾,直至将所有行均
完成移位为止;列置乱步骤可描述为:以Q(2,n)的值为参数,将所有图像 的第n列的像素
值,以像素为单位上移Q(2,n)次,向上移出的像素值依次添加到本列下方的末尾,直至将所
有列均完成移位为止。
[0066] 步骤6、图像加密:将加密序列矩阵Q与所有置乱图像 中对应位置的像素值进行异或运算,生成密文图像 具体运算公式如下:
[0067]
[0068] 步骤7、采用加密算法对矩阵Q进行加密,得到加密之后的矩阵 具体地,可以采用任何具有较高安全性的加密算法对矩阵Q进行加密,作为一种可实施方式,这里采用改进的
2D‑SCL加密方法(Chen C,Sun K H and He sB.2020.An improvedimageencryption 
algorithm with finite computing precision[J].SignalProcessing,2020,168:
107340.[DOI:10.1016/j.sigpro.2019.107340])对矩阵Q进行加密。改进的2D‑SCL加密方
法基于一种新的二维混沌映射将混淆和扩散过程结合在一个阶段,以提高运行速度。基于
普通图像的SHA‑1哈希值和混沌序列,设计了伪随机数序列,并在此基础上引入抗退化方
法,改善了有限计算精度下2D‑SCL地图的动态退化。同时,该算法还实时更新2D‑SCL映射的
初始值,从而增强了抵抗已知明文和选择明文攻击的能力。
[0069] 进一步地,如图2所示,在所述步骤7之后,还包括:
[0070] 对矩阵 进行解密得到加密序列矩阵Q;作为一种可实施方式,对应采用改进的2D‑SCL解密方法进行解密;
[0071] 图像解密:将矩阵Q与所有密文图像 中对应位置的像素值进行异或运算,生成置乱图像 具体运算公式如下:
[0072]
[0073] 图像逆置乱:先以Q的第二行数值Q(2,n)为参数对图像进行列逆置乱,之后以Q的第一行数值Q(1,n)为参数对图像进行行逆置乱,所有的图像 均更新为逆置乱后的原图像
P。具体地,列逆置乱步骤可描述为:以Q(2,n)的值为参数,将所有图像 的第n列的像素值,
以像素为单位下移Q(2,n)次,向下移出的像素值依次添加到本列上方的头部,直至将所有
列均完成移位为止;行逆置乱步骤可描述为:以Q(1,n)的值为参数,将所有图像 的第n行
的像素值,以像素为单位右移Q(1,n)次,右侧移出的像素值依次添加到本行左侧的头部,直
至将所有行均完成移位为止。
[0074] 为验证本发明效果,进行如下实验:
[0075] 在所有的实验里我们的计算机配置为Intel(R)Core(TM)i7‑10710 CPU@1.10GHz,内存是16G,操作系统是Windows10;仿真软件采用Pycharm20192019.2.4x64。实验使用来自
USC‑SIPI‑Miscellaneous数据集中100幅512*512的标准测试图像作为测试数据集,这里选
择4幅具有代表性的图像进行加密效果展示(见图3‑图8);其中图3是明文图像(其中,(a)为
Airplane,(b)为Baboon,(c)为House,(d)为Lena),图4是明文图像的直方图,图5是明文密
文图像,图6是密文图像的直方图,图7是解密图像,图8是解密图像的直方图。
[0076] (a)相关性分析
[0077] 相邻像素相关性通常用于评价图像加密方案的性能。两个相邻像素序列的相关性可以通过下式计算:
[0078]
[0079] 其中D(t),D′(t)为图片的两个相邻像素,T为像素个数, 和为D(t),D′(t)对应的数学期望。如果D(t)和D′(t)表现出高度相关
性,则R的值接近1或‑1;否则,它将接近0。
[0080] 图9、图10展示了不同方向上的相邻像素分布情况,其中图9中(b)、(c)、(d)分别展示了明文图像(图9中(a))水平、垂直和对角线方向上相邻像素间的相关性,图10中(b)、
(c)、(d)分别展示了密文图像(图10中(a))水平、垂直和对角线方向上相邻像素间的相关
性。从图9中(b)、(c)、(d)可知明文图像在水平、垂直、对角线方向上相邻像素间的相关值聚
集在对角线上,表现出较强的相关性;但从图10中(b)、(c)、(d)可知密文图像在水平、垂直、
对角线方向上相邻像素间的相关性均匀分布在相关性空间,表现出较高的无关性。表1是具
体的相关性数据统计。
[0081] 表1相关性
[0082]
[0083] (b)信息熵
[0084] 信息熵是评价图像加密算法随机性的一种方法,计算公式如下:
[0085]
[0086] 其中p(i)是图像像素值i的概率。对于彩色图像或灰度图像的每个通道,最大信息熵为8。表2列出了不同图像及其对应的加密图像的信息熵,其中第1列是明文名称,第2列展
示了明文的信息熵,第3列是改进的2D‑SCL解密方法生成密文图像的信息熵,第4列是本专
利方法生成密文图像的信息熵。该表显示所有加密方法生成的密文的信息熵都极其接近8。
[0087] 表2信息熵
[0088]
[0089] (c)敏感性指标
[0090] 改变100张图片中的一张图片的其中一个像素,如图11中(a)和(b),将图11中(a)减去(b),可得图11中(c),可以看出图11中(a)和(b)区别很小。将图11中(a)和(b)按照本发
明提出的方法进行加密,分别得到图11中(d)和(e),将图11中(d)减去(e)得到图11中(f),
从图11(f)中可以明显的看出图11中(d)和(e)有很大的不同。可以体现出本发明的敏感性
较高。
[0091] (d)密钥空间
[0092] 众所周知,加密算法的密钥空间应不小于2128,以确保加密安全性。本专利和改进的2D‑SCL方法在不同计算精度情况下的密钥空间展示在表3中。从表3可知,在计算精度为
‑16 ‑8 8×512×512 128
2 和2 环境下,本专利的密钥空间均为2 ,远大于2 ,足以满足密钥安全性的要
‑16 158
求;而改进的2D‑SCL方法虽然在计算精度为2 环境下的密钥空间是0.3×2 ,可以满足密
‑8 94 128
钥安全性的需求,但是在计算精度为2 环境下的密钥空间是0.3×2 ,远小于2 ,不满足
密钥安全性的要求
[0093] 表.3密钥空间对比
[0094]
[0095] (e)差异攻击
[0096] 差异攻击是一种常用且高效的安全攻击。像素数量变化率(NPCR)和统一平均变化强度(UACI)是评价抵抗差分攻击能力的两个常用指标。NPCR计算不同像素的数量,而UACI
1 2
计算两幅图像之间像素的平均变化。假设d和d是两个密码图像,它们的普通图像只有一个
比特差,它们的NPCR和UACI值可以计算如下:
[0097]
[0098] 其中δ是一个符号函数,如果d1(t)等于d1(t),那么δ(d1(t),d2(t))=0;否则,δ(p12
(t),p (t))=1。此外,F表示最大允许像素值,通常设置为255。理想情况下NPCR的值为μN=
0.9961,UACI的值为μu=0.3346,在α水平上,通过公式(7)、(8)判断当前NPCR是否处于标准
范围内。
[0099]
[0100]
[0101] 当NPCR<N*时,当前NPCR不符合要求,拒绝;否则,接受。
[0102] 与NPCR相似,UACI也有一套标准,在α水平上,由公式(9)、(10)判断当前UACI是否处于标准范围内。
[0103]
[0104]
[0105] 如果 当前UACI符合要求,接受;否则,舍弃。
[0106] 将显著性水平α设置为0.01和0.05,在实验中得到,N*(0.01)=99.5810%,N*(0.05)=99.5893,
实验将每张图片测试100次,每次
将一个图像的随机一个像素改变1位,然后与除去本张图片的原数据集拼接、加密。根据上
述公式进行计算得到结果如表4。该表显示,通过率可以稳定达到90以上,表明所提出的算
法能够有效抵抗差分攻击。
[0107] 表4 NPCR、UACI通过率
[0108]
[0109] (f)抗明文攻击
[0110] 已知明文和选择明文攻击是图像加密算法的常见攻击。因此,一个安全的加密算法应该具有更好的抵抗这些攻击的能力。全黑或全白图像会使加密算法的置乱效果失效。
因此,黑客经常使用这种类型的图像来破解加密算法。因此,它们被用来评估所提出的密码
系统对已知明文和选择明文攻击的抵抗力,图12、图13展示了纯白色和纯黑色加密的效果,
图12中(b)和图13中(b)分别是图12中(a)和图13中(a)的密文,图12中(c)和图13中(c)分别
展示了密文图像(图12中(b)和图13中(b))的直方图,可以看出加密图像都是类噪声图像,
并且直方图是均匀分布的,这意味着不能从这些加密图像中获得任何关于普通图像的信
息。表5显示了纯白色和纯黑色图像的密文的相关性、信息熵以及NPCR与UACI值。
[0111] 表5纯白色与纯黑色指标
[0112]
[0113] (g)抗噪声和抗遮挡攻击
[0114] 在加密图像传输过程中,加入抗噪声和遮挡攻击的能力,对于算法的安全性提高有着重大的意义。对于一个理想的加密算法来说,它必须对普通图像的微小变化甚至一个
像素的变化极其敏感,而加密图像的像素变化对解密过程的影响较小。以Airplane即图14
中(a)为例,将加密文件图14中(b)剪裁一定的大小得到图14中(c),再用普通的方式进行解
密,得到如图14中(d)。
[0115] 将原图即图15中(a)加密,在加密文件图15中(b)加入椒盐噪音得到图15中(c),再用普通的方式进行解密,得到如图15中(d)。
[0116] 由上图可知,本发明方法具有一定的鲁棒性。
[0117] (h)时间消耗
[0118] 除了加密算法的安全性之外,运行速度也是评价密码系统性能的一个重要条件。如表6所示,对50至800个普通图像加密,可以看出在多图像加密时,本专利方法在时间消耗
上具有一定优势。
[0119] 表6时间消耗
[0120]
[0121] 在上述实施例的基础上,本发明还提出一种批量图像组合加密装置,包括:
[0122] 哈希值生成模块,用于生成哈希值:取K张大小为M×N的图像,将所述图像作为哈希算法的输入,哈希算法的输出是20个字节的数字,分别用H(s),s=1,2,...,20表示,每个
H(s)的取值范围是0‑255;
[0123] 组合图像生成模块,用于生成组合图像:将上述K张图像等分为3组,分组后的每个图像分别表示为 其中,k=1,2,...,K/3,i=1,2,3;然后对第1组内的所有图像中位置为
(1,1)的像素值进行异或操作,生成一个新的像素值
之后,依次对每1组内所有图像中除位置为
(1,1)的像素值外的所有像素值分别进行上述异或操作,直至生成一个大小为M×N的新图
1 2 3
像P;同理,分别在第2组和第3组内进行上述操作,对应生成新图像P和P;
[0124] 图像更新模块,用于更新P3:将步骤2中生成的P3中像素值P3(m,n)与步骤1中生成的H(s),s=[(m‑1)×N+n]mod 20进行异或运算,并将该像素值更新为上述操作生成的新
值,即
[0125] 加密序列矩阵生成模块,用于按照如下公式生成加密序列数:
[0126] p1(m,n)=15×P1(m,n)%251
[0127] p2(m,n)=14×P2(m,n)%241
[0128] p3(m,n)=11×P3(m,n)%239
[0129] Q(m,n)=(p1(m,n)+p2(m,n)+p3(m,n))%256
[0130] 分别将P1、P2和更新后的P3作为上述公式的输入数据,据此生成一个大小为M×N的加密序列矩阵Q;
[0131] 图像置乱模块,用于图像置乱:先以Q的第一行数值Q(1,n)为参数对图像进行行置乱,之后以Q的第二行数值Q(2,n)为参数对图像进行列置乱,所有的图像 均更新为置乱后
的图像
[0132] 第一加密模块,用于图像加密:将加密序列矩阵Q与所有置乱图像 中对应位置的像素值进行异或运算,生成密文图像
[0133] 第二加密模块,用于采用加密算法对矩阵Q进行加密,得到加密之后的矩阵
[0134] 进一步地,还包括:
[0135] 第一解密模块,用于对矩阵 进行解密得到矩阵Q;
[0136] 第二图像解密模块,用于图像解密:将加密序列矩阵Q与所有密文图像 中对应位置的像素值进行异或运算,生成置乱图像
[0137] 图像逆置乱模块,用于图像逆置乱:先以Q的第二行数值Q(2,n)为参数对图像进行列逆置乱,之后以Q的第一行数值Q(1,n)为参数对图像进行行逆置乱,所有的图像 均更新
为逆置乱后的原图像P。
[0138] 综上,针对在低精度下现有图像加密方法安全性低的问题,本发明采用基于单字节的素数模乘线性同余产生器进行批图像加密,代替现有的混沌系统,确保本发明加密方
法可以有效地运行于低精度计算环境下。针对现有图像加密方法加密速度慢的问题,本发
明在加密过程中使多像素对应同一个伪随机数,且加密过程中只进行了单轮加密,有效降
低了加密的时间开销,提升了加密速度。本发明不仅表现出较高的安全性,而且时间复杂度
非常小,可以在确保安全性的基础上大幅降低加密过程的时间开销。
[0139] 以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应
视为本发明的保护范围。