随着计算机网络和多媒体技术的迅速发展,数字图像的安全保障问题日益凸显。传统的图像置乱方法如Arnold变换,面包师变换,Standard映射,幻方变换,魔方变换等已不再安全。为此,我们提出了一种图像加密算法,利用新的二维映射进行图像位置置乱,同时采用一个更加安全的基于混沌映射的扩散函数,实现图像灰度置乱。该加密算法不仅适用于加密方形图像而且对矩形图像同样适用。
一、新二维映射原理与算法
1、 新二维映射原理
设图像A的大小为M@N,首先将图像分为左右两个部分,左边的图像块为M行,7N/2_列,右边的图像块则有M行,_N/28列(其中_X8表示不大于X的最大整数,7X_表示不小于X的最小整数)。对于图像块的每相邻两列,可以将一列元素依次插入到另一列的纵向相邻的两像素之间,反复该过程,依次连接各像素点,原始图像块将被拉伸成为一条直线。根据插入的角度不同,共有4种插入方法,如图所示:
举例说明:当图像为3@5时,采用插入方法(a)时,如下图所示,则依次将像素(3,1)插入像素(3,2)之后,像素(2,1)插入像素(2,2)和(3,2)之间,像素(1,1)插入像素(1,2)和(2,2)之间,重复这个过程,即按照下图的方式可将原图像拉伸成为一条直线:(3,1),(3,2),(2,1),(2,2),(1,1),(1,2),(3,3),(3,4),(2,3),,,其它3种插入方法和方法(a)类似。
从第一个图所示的4种插入方法中任选两种分别对原图像的左右两个图像块进行操作,这样原始图像块将被拉伸成为两条直线,依次将它们连接起来得到一条长为M@N直线,然后,再折叠成一个M@N的新图像,实现图像位置的置乱。根据左右两个图像块采用的插入方法的不同可以得到12种不同的组合方式,如图所示:
在实际的图像文件加密中,可以任意抽取其中的若干组合方式用于图像位置置乱。
2、新二维映射计算加密算法
(1)各插入方法的计算加密算法
由于映射是由4个插入方法任意组合形成的,分别给出各插入方法的算法如下:设图像大小为M@N,A(i,j)为图像中的任意一点像素值i=1,2,,M,j=1,2,,N,L(t),t=1,2,,,M@N为将A(i,j)拉伸后的一维向量。
A、方法(a)的算法:
如上图方法a所示,插入方法为(a)算法:
当j是奇数时,若j=N,
L(M@(j-1)+i)=A(i,j), (1)
若j<N,
L(M@(j-1)+2@(M-i)+1)=A(i,j), (2)
当j是偶数时,
L(M@(j-2)+2@(M-i+1))=A(i,j)。 (3)
B、方法(b)的算法:
当j是奇数时,若j=N,
L(M@(j-1)+i)=A(i,j), (4)
若j<N,
L(M@(j-1)+2@i-1)=A(i,j), (5)
当j是偶数时,
L(M@(j-2)+2@i)=A(i,j)。 (6)
C、 方法(c)的算法
可以通过下列过程得到:将原图A做一次镜像,如式(7)所示,Ac表示镜像后的图像,
Ac(i,j)=A(i,N-j+1), (7)
其中,i=1,2,,,M;j=1,2,,,N,然后通过算法(a)中式(1)~(3),可得到算法(c)。
D、方法(d)的算法
可以通过下列过程得到:将原图A如式(7)所述做一次镜像得到Ac通过算法(b)中(4)~(6)式,可得到方法(d)的算法。
(2)_新映射的计算算法
A、映射1算法
对B实行算法(a)得到长为M@D的直线L1,然后对C实行算法(c)得到长为M@(N-D)的直线L2。则
L(1B(M@D))=L1, (8)
L(((M@D)+1)BM@N)=L2, (9)
得到一条长为M@N的直线L。
B、映射o算法
映射o算法可以通过下列过程得到:
将原图A做一次镜像,如式(7)所示得Ac,然后对Ac施行映射1算法,如此得到映射o的算法。
C、折叠算法
把直线L重新折叠成M@N的图像的算法如式(10)所示:
E(i,j)=L((i-1)@N+j), (10)
其中,i=1,2,,,M;j=1,2,,,N。
E(i,j)是位置置乱后的图像。
_二、图像加密、解密算法
1、图像加密算法原理
本加密算法采用了位置置乱和灰度置乱相结合的方法,图像的整个加密过程如图所示。
(1)密钥设计
如图所示,加密算法采用两个密钥K1和K2,其中K1用于图像位置置乱,K2作为混沌映射的初值,用于灰度置乱,其范围为(0,1)。位置置乱中采用了映射1和映射o,其映射次数可以作为密钥K1。如K1=1234,表示依次用1映射1次,用o映射2次,然后用1映射3次,最后用o映射4次。由于图像是有限像素点的集合,像素的排列组合是有限的。因此在有限次迭代之后,加密图像会恢复到原来的状态,即混沌映射都具有庞加莱回复性。有专家指出,当迭代次数较小(如<15)时,加密算法是安全的。本文将密钥K1的每一位设计为>1015的整数。由于新映射的周期非常大(<1015),这种设计是合理的。
本文采用的扩散函数如式(11)所示。
vck=vk+Y2molL, (11)
其中,vk是指每一个像素的灰度值,vck为扩散后的像素灰度值,Y为由混沌映射产生的混沌序列,L为像素灰度级。该类扩散函数结构简单、扩散速度快。
(2)混沌序列Y的产生
采用简单的logistic映射,其函数式如下:
Xn+1=f(L,Xn)=LXn(1-Xn)。 (12)
当L=4时,系统处于混沌状态,此时系统产生的序列具有随机性,遍历性,对初值的敏感性,其范围为(0,1)。K2作为混沌序列的初值X(0)。对产生的混沌实值序列,每个实值取其从百分位开始的3个数字组成的十进制数构成序列Y即对于X(i)=0.b1b2b3b4b5,,序列,Y由式(13)得到:
Y(i)=100@b1+10@b2+b3,i=0,1,2,,。 (13)
在扩散函数中引入了伪随机序列,克服了在已知扩散函数时通过简单的逆运算就可得到原图像精确直方图的缺陷,使得该加密方法可以抵御已知明文攻击。
2、图像加密算法步骤
图像加密算法可分为3步进行:
(1)利用密钥K1及映射1或o的算法,将图像A(i,j)拉伸处理为一条直线L(t),其中t=1,2,,,M@N。
(2)利用折叠算法如式(10)所示,将直线折叠处理,得到置乱图像E(i,j)。
(3)利用密钥K2及logistic映射和扩散函数,对置乱图像进行扩散处理得到密图。
解密算法与加密算法密钥相同,过程相反。
小知识之图像加密
图像加密的概念是:利用数字图像的特性设计加密算法,以提高加密的安全性和运算效率的一种技术。
实操指南:如何监控聊天中的敏感信息?这款秘籍软件,轻松掌握微信聊天动态
电影《摩登时代》里,流水线工人就连在吃饭时都要用“自动喂食机”提高效率,这样才能挤出更多时间投入工作。虽然现在打工人不至于此,但有些老板仍然放心不下……像企业聊天记录往往蕴含着大量的敏感信息。为了确保信息安全,监控聊天中的敏感信息成为了一项必要且重要的工作。以下是一款秘籍软件,帮助你轻松掌握微信聊天动态,确保信息安全。...
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过
怎么监控员工上班情况?2024企业管理的四种方法,老板们不容错过员工上班在干什么?摸鱼?打游戏?老板该怎么管理?如何才能监视怎么监控员工上班情况?监控员工上班情况可以通过多种方式实现,但重要的是要确保这些措施既合法又合规,同时尊重员工的隐私权。以下是一些建议的方法:一、制定明确的行为规范与奖惩制度1、制定行为规范: 企...
怎么监控员工上班情况?快速监控员工状态
怎么监控员工上班情况?快速监控员工状态在企业管理中,如何有效监控员工上班情况,确保工作效率与团队协作,是每位老板都需面对的课题。本文为您揭秘五招快速监控员工状态的实用技巧,不仅能帮助您实时掌握员工动态,还能提升整体管理效率。作为老板,掌握这些技巧,将让您在企业管理中游刃有余,轻松应对各种挑战。一、使用安企神软件实时监控...
安企神桌管软件:提升企业管理效率的全能助力
安企神桌管软件:提升企业管理效率的全能助力在当今竞争激烈的商业环境中,企业必须不断优化管理和运营流程,以提高效率和盈利能力。安企神桌管软件正是这样一款面向中小企业的管理工具,能够帮助企业在多方面提升综合管理水平。本文将详细探讨安企神桌管软件给企业带来的多重价值。一、全方位的管理功能安企神桌管软件是一款集成了多种管理功能...
安企神:揭开终端安全管理软件的神秘面纱
安企神:揭开终端安全管理软件的神秘面纱在数字化日益普及的今天,企业的网络安全问题愈发显得重要。数据泄露、网络攻击等事件层出不穷,如何保障企业内部信息的安全性成为众多企业关心的焦点。安企神终端安全管理软件应运而生,作为一款专业的安全管理工具,它的功能与优势备受关注。本文将全面揭秘安企神软件的核心功能、应用场景及其在终端安...