批量图像组合加密方法及装置转让专利
申请号 : CN202110795933.4
文献号 : CN113645367B
文献日 : 2022-04-29
发明人 : 游大涛 , 吴潇飞 , 武相军 , 常晓琦 , 张梦柯
申请人 : 河南大学
摘要 :
权利要求 :
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。
说明书 :
批量图像组合加密方法及装置
技术领域
背景技术
加密算法的迫切需求,特别是对具有大量低性能电子设备的物联网环境下的图像加密来
说,这种需求更为迫切。加密领域经过多年的发展,涌现了大量具有较高安全性的加密算
法。当前,混沌加密方法是现有最具代表性的图像加密方法。在安全性方面,基于混沌系统
的加密方法依赖于浮点数运算,而且对浮点数的精度要求较高,但是在低计算机精度环境
下这些混沌系统的随机性会遭到严重破坏,导致相应加密方法的安全性急剧降低;在加密
速度方面,基于混沌系统的加密方法大致可分为两类:一类是加密过程中每个像素对应一
个混沌随机数,另一类是多个像素对应一个混沌随机数。前者所用的混沌系统每产生一个
随机数往往需要数十次的浮点数运算,安全性较高的高维混沌系统的计算次数更高;后者
虽然需要产生的随机数数量相比前者会大幅降低,但是在加密过程则往往需要多轮加密,
因此它们的时间开销均较大。现有加密算法难以满足上述环境下的实际需求。因此,设计即
使在低精度环境下也具有较高安全性的高速加密算法,是一个亟待解决的重要问题。
发明内容
度非常小,可以在确保安全性的基础上大幅降低加密过程的时间开销。
围是0‑255;
进行异或操作,生成一个新的像素值 之后,
依次对每1组内所有图像中除位置为(1,1)的像素值外的所有像素值分别进行上述异或操
1
作,直至生成一个大小为M×N的新图像P ;同理,分别在第2组和第3组内进行上述操作,对
2 3
应生成新图像P和P;
P。
H(s)的取值范围是0‑255;
(1,1)的像素值进行异或操作,生成一个新的像素值
之后,依次对每1组内所有图像中除位置为
(1,1)的像素值外的所有像素值分别进行上述异或操作,直至生成一个大小为M×N的新图
1 2 3
像P;同理,分别在第2组和第3组内进行上述操作,对应生成新图像P和P;
值,即
的图像
为逆置乱后的原图像P。
有效地运行于低精度计算环境下。针对现有图像加密方法加密速度慢的问题,本发明在加
密过程中使多像素对应同一个伪随机数,且加密过程中只进行了单轮加密,有效降低了加
密的时间开销,提升了加密速度。
附图说明
具体实施方式
围是0‑255。作为一种可实施方式,哈希算法为HASH‑1算法。
进行异或操作,生成一个新的像素值 之后,
依次对每1组内所有图像中除位置为(1,1)的像素值外的所有像素值分别进行上述异或操
1
作,直至生成一个大小为M×N的新图像P ;同理,分别在第2组和第3组内进行上述操作,对
2 3
应生成新图像P和P。
具体地,行置乱步骤可描述为:以Q(1,n)的值为参数,将所有图像 的第n行的像素值,以像
素为单位左移Q(1,n)次,左侧移出的像素值依次添加到本行右侧的末尾,直至将所有行均
完成移位为止;列置乱步骤可描述为:以Q(2,n)的值为参数,将所有图像 的第n列的像素
值,以像素为单位上移Q(2,n)次,向上移出的像素值依次添加到本列下方的末尾,直至将所
有列均完成移位为止。
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映射的
初始值,从而增强了抵抗已知明文和选择明文攻击的能力。
P。具体地,列逆置乱步骤可描述为:以Q(2,n)的值为参数,将所有图像 的第n列的像素值,
以像素为单位下移Q(2,n)次,向下移出的像素值依次添加到本列上方的头部,直至将所有
列均完成移位为止;行逆置乱步骤可描述为:以Q(1,n)的值为参数,将所有图像 的第n行
的像素值,以像素为单位右移Q(1,n)次,右侧移出的像素值依次添加到本行左侧的头部,直
至将所有行均完成移位为止。
USC‑SIPI‑Miscellaneous数据集中100幅512*512的标准测试图像作为测试数据集,这里选
择4幅具有代表性的图像进行加密效果展示(见图3‑图8);其中图3是明文图像(其中,(a)为
Airplane,(b)为Baboon,(c)为House,(d)为Lena),图4是明文图像的直方图,图5是明文密
文图像,图6是密文图像的直方图,图7是解密图像,图8是解密图像的直方图。
性,则R的值接近1或‑1;否则,它将接近0。
(c)、(d)分别展示了密文图像(图10中(a))水平、垂直和对角线方向上相邻像素间的相关
性。从图9中(b)、(c)、(d)可知明文图像在水平、垂直、对角线方向上相邻像素间的相关值聚
集在对角线上,表现出较强的相关性;但从图10中(b)、(c)、(d)可知密文图像在水平、垂直、
对角线方向上相邻像素间的相关性均匀分布在相关性空间,表现出较高的无关性。表1是具
体的相关性数据统计。
示了明文的信息熵,第3列是改进的2D‑SCL解密方法生成密文图像的信息熵,第4列是本专
利方法生成密文图像的信息熵。该表显示所有加密方法生成的密文的信息熵都极其接近8。
明提出的方法进行加密,分别得到图11中(d)和(e),将图11中(d)减去(e)得到图11中(f),
从图11(f)中可以明显的看出图11中(d)和(e)有很大的不同。可以体现出本发明的敏感性
较高。
‑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 ,不满足
密钥安全性的要求
1 2
计算两幅图像之间像素的平均变化。假设d和d是两个密码图像,它们的普通图像只有一个
比特差,它们的NPCR和UACI值可以计算如下:
(t),p (t))=1。此外,F表示最大允许像素值,通常设置为255。理想情况下NPCR的值为μN=
0.9961,UACI的值为μu=0.3346,在α水平上,通过公式(7)、(8)判断当前NPCR是否处于标准
范围内。
实验将每张图片测试100次,每次
将一个图像的随机一个像素改变1位,然后与除去本张图片的原数据集拼接、加密。根据上
述公式进行计算得到结果如表4。该表显示,通过率可以稳定达到90以上,表明所提出的算
法能够有效抵抗差分攻击。
因此,黑客经常使用这种类型的图像来破解加密算法。因此,它们被用来评估所提出的密码
系统对已知明文和选择明文攻击的抵抗力,图12、图13展示了纯白色和纯黑色加密的效果,
图12中(b)和图13中(b)分别是图12中(a)和图13中(a)的密文,图12中(c)和图13中(c)分别
展示了密文图像(图12中(b)和图13中(b))的直方图,可以看出加密图像都是类噪声图像,
并且直方图是均匀分布的,这意味着不能从这些加密图像中获得任何关于普通图像的信
息。表5显示了纯白色和纯黑色图像的密文的相关性、信息熵以及NPCR与UACI值。
像素的变化极其敏感,而加密图像的像素变化对解密过程的影响较小。以Airplane即图14
中(a)为例,将加密文件图14中(b)剪裁一定的大小得到图14中(c),再用普通的方式进行解
密,得到如图14中(d)。
上具有一定优势。
H(s)的取值范围是0‑255;
(1,1)的像素值进行异或操作,生成一个新的像素值
之后,依次对每1组内所有图像中除位置为
(1,1)的像素值外的所有像素值分别进行上述异或操作,直至生成一个大小为M×N的新图
1 2 3
像P;同理,分别在第2组和第3组内进行上述操作,对应生成新图像P和P;
值,即
的图像
为逆置乱后的原图像P。
法可以有效地运行于低精度计算环境下。针对现有图像加密方法加密速度慢的问题,本发
明在加密过程中使多像素对应同一个伪随机数,且加密过程中只进行了单轮加密,有效降
低了加密的时间开销,提升了加密速度。本发明不仅表现出较高的安全性,而且时间复杂度
非常小,可以在确保安全性的基础上大幅降低加密过程的时间开销。
视为本发明的保护范围。