安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能介绍
产品简介
下载中心
帮助中心
客户列表
关于安企神

比特重组的彩色图像加密算法

更新时间:2022-10-28 15:46:40


本文简介:通常的彩色图像加密算法未能充分考虑RGB各颜色分量之间的内在联系,抵抗统计分析能力不强。为进一步增强图像置乱程度与加密安全性,在结合混沌置乱的基础上,我们提出了一种新的彩色图像加密算法。一、logistic混沌映射系统混沌是一种非线性无规则的运动,是在确定性非线性系统中不需附加任何随机因素也可出现的一种内在随机性,因此其伪随机行为能够准确再生。如一维logistic映射从数学形式上来看是一个非常简

比特重组的彩色图像加密算法

通常的彩色图像加密算法未能充分考虑RGB各颜色分量之间的内在联系,抵抗统计分析能力不强。为进一步增强图像置乱程度与加密安全性,在结合混沌置乱的基础上,我们提出了一种新的彩色图像加密算法。

一、logistic混沌映射系统

混沌是一种非线性无规则的运动,是在确定性非线性系统中不需附加任何随机因素也可出现的一种内在随机性,因此其伪随机行为能够准确再生。如一维logistic映射从数学形式上来看是一个非常简单的混沌映射,该类系统具有极其复杂的动力学行为,其数学表达式如下:

1

当μ∈[3.56994567,...,4],xk∈(0,1)时,logistic映射呈现混沌态。

混沌系统的这些特性与密码学要求的扩散、置乱和随机特性相吻合,在保密通信领域的应用非常广泛。但部分图像加密方案采用了一维混沌系统,因此其安全性不高,由于二维logistic映射具有一维logistic映射简单的形式,又具有多维混沌系统多参数、行为复杂的特点,本文利用二维logistic映射进行图像加密处理。二维Iogistic映射的动力学方程如下:

1

其动力学行为是由其中的参数μ、λ1、λ2、γ来控制的,通常取μ=4。当λ1=0.9、λ2=0.9、γ=0.1时,经过计算得到二维logistic系统处于混沌状态。

二、彩色图像加密算法

为充分扰乱彩色图像RGB分量的相关性,本文提出一种基于二维混沌映射与比特随机重组的彩色图像加密算法。算法首先将RGB分量视为一个整体,以将彩色图像转换成一扩展的灰度图像,然后利用二维logistic映射优良的伪随机特性与行为高复杂性,对彩色图像进行位置置乱,并结合比特异或与随机重组进行像素扩散。

1、基于二维logistic映射的像素位置置乱

基于2D logisitc映射的彩色图像位置置乱过程描述如下:

步骤1读人大小为m×n的彩色图像I。

步骤2初始化logistic映射控制参数:μ=4。当λ1=0.9、λ2=0.9、γ=0.1,并初始迭代映射:ko =300,给定密钥key1={x0,Yo},其中x0、Yo为混沌映射的两个初始值。

步骤3以密钥key,为初始值,由式(2)迭代映射m×n十ko次,生成优×n+ko对混沌序列值,舍弃ko对值,得到mXn对的混沌序列值,并将其分别存储于大小为辨×n的一维数组P和Q中。

步骤4对P和Q中的元素做如下运算:

1

得到两个整数数组P'、Q'。

步骤5通过对数组P’、Q',进行排序以生成两个长度为m×n的一维伪随机序列P"、q'',其元素值取[o,m×n一1]内不等的整数。

步骤6对一维随机序列P"、q''中的各元素P"(k)、q''(k)实施式(4)所示的变换,并将其映射为大小为m×纸的二维置乱矩阵X、y。

1

式中,符号"/”表示求商运算,x(i,j)、y(i,j)分别为二维置乱矩阵X、y的元素。

步骤7利用置乱矩阵X、y对图像J进行位置置乱,得到置乱图像数据I'。

2、结合比特异或与随机重组的像素值变换

图像置乱破坏了图像原像素的相邻像素点的相关性,但是像素点的灰度值并没有改变,即图像直方图并没有改变。为降低RGB各分量间的相关性,进一步利用异或操作与10-gisuc混沌映射对置乱后的扩展的图像数据I'进行灰度变换,以提高加密效果,具体由以下几个步骤构成。

步骤1 对置乱图像,各像素RGB分量进行以下异或操作,得到异或后各像素的R'G'B'分量。

1

步骤2将异或后RGB分量组装成一个24比特的整体,于是彩色图像被扩展为一幅24比特的扩展灰度图像。

步骤3给定密钥key2,以key2为初始值,利用式(1)生成混沌序列S,且其元素值取[O,23]内不等的整数。

步骤4利用混沌序列S对扩展灰度图像各24比特像素值进行随机置乱,再将置乱后的24比特像素依次重新组装成新的RGB分量。

步骤5重复以上步骤,直到所有像素处理完毕,即得到加密彩色图像I''。

3、解密算法

解密过程是加密过程的逆过程,只需给定相同的混沌系统密钥即可,主要由以下几步完成。

步骤1给定与加密过程相同的密钥key1、key2,与加密过程相同,由密钥keyi生成置乱矩阵X、y。

步骤2由置乱矩阵X、y对加密彩色图像I'进行像素位置逆置乱,得中间图像i。

步骤3对中间图像I的各R'G'B'分量实施如式(6)所示的异或操作,并将其组装成一个24比特的整体,得到扩展的24比特扩展灰度图像。

1

步骤5重复以上步骤,直到所有像素处理完毕,即得到解密彩色图像I。

三、仿真实验与性能分析

实验中选取大量大小为256×256的RGB彩色图像进行测试,图1以peppers图像为例给出了算法加密效果图,给出了加密前后的图像直方图,加密后图像的灰度直方图变化较大,其灰度分布比较平坦,同时人眼从加密图像(见图1(b))中也难以察觉出原始图像的任何信息,这说明加密图像有较好的视觉加密效果。

1

1、密钥空间分析

—个良好的加密方案应有足够大的密钥空间以挫败穷举攻击。本文基于彩色图加密算法中以二维logistic混沌系统的初始值ke1和一维logistic混沌初始值key2为密钥,若精度为10 -16,则该加密算法密钥空间可达1048,密钥空间足够大,可以有效阻止各种暴力攻击试图。

2、密钥敏感性分析

以图l(b)的加密图像为例,图2给出了密钥微小变化时的解密仿真实验结果,其中图2(a)和图2(b)分别是密钥key1和key2最后一位有效数字不同时的解密图像。由图2可见,即使密钥keyi和keyz有微小的变化,也会生成完全不同的加密图像。由此可知,该加密算法中任何一个密钥即使存在很细小的改变,也不能正确解密图像,这正是logistic混沌系统对初值的敏感性所致。

1

3、相邻像素相关性

以lena图像为例,从原图像和加密图像中分别随机选取2000对相邻像素,计算其相关性,测试对比,实验结果如表1所列。从表1中可以发现,原始明文图像相邻像索的相关性很强,而加密图像相邻像素相关性很低,几近于0。

1

小知识之Logistic函数

Logistic函数或Logistic曲线是一种常见的S形函数,它是皮埃尔·弗朗索瓦·韦吕勒在1844或1845年在研究它与人口增长的关系时命名的。

立即下载试用

如何防止企业内部开发代码被泄密?

       据统计报告,企业在遭遇数据泄露事件时,有百分之八十的概率是出现在内部人员身上。这表明,内部数据安全问题远远比网络攻击更加可怕。尤其是在研发型企业里,代码这种重要又值钱的数据,是最容易让别有用心之人动歪心思的。

 

       代码数据的泄露,对企业造成的打击和影响是不可估量的,对于研发部门来说,重要的数据可不仅仅是代码,还有很多核心数据需要保护。下面我们就从不同角度看看,有哪些技术手段可以保护代码不泄露。

  

一、对代码本身采用的技术手段

 

      1、代码混淆:也称为模糊处理,其技术原理是代码重命名,也就是说原先具有含义的方法名称,重命名为毫无意义的(A,B,C 诸如此类)。缺点:无法隐藏调用的系统的函数。

 

      2、代码隐藏:因为代码混淆改变了方法签名,在很多时候是有问题的,例如程序集要被其他人使用的时候。因为方法名变成了毫无意义的一些字符,将造成使用者极大的麻烦,也可能导致现有引用程序集的失效。

 

      3、非托管代码编:使用非托管代码编写核心代码(例如核心算法),然后使用平台交互的方式进行调用,非托管代码比较难反编译。

 

      4、强名称签名:这种方法,用通俗的话说就是对文件按照Microsoft的算法对文件进行Hash,然后将hash出来的数据(public key token )写入文件。在运行或者对文件进行调用的时候,SDK会检查public key token ,若不符合则抛出异常,退出。

 

      5、代码加密:改变MSIL和JIT的通信,根据底层的需要来解密代码。破解的难度大,较安全,内存无完整代码。但是这种方式可能会导致编程的难度大,若利用专门的加密软件,则会加大系统的开发成本。

 

      6、代码本地化:代码完全编译成本机代码,同win32下的应用程序一样,完全失去了.NET的优越性。

 

      7、代码加水印:简单的说,就是让特定的字符串以图片的形式,绘制在程序的界面上,用来提示软件是否注册,这种保护方法,关键的地方就是对图片绘制条件的判断,如果仅仅是用true 或者false 来判断,就形同虚设了。

 

二、研发部门内部管控手段

 

      8、禁用U口:企业可以通过禁用USB接口,这种方式可以有效防止恶意的数据拷贝,如果需要对外发送的话,需要经过审核后由专人拷贝出来再外发。

 

      9、控制访问权限:网站白名单,只允许访问工作需要的网站,其他一律禁止掉。这个算是比较严格的限制方式了。采用应用过滤,禁止掉所有的文件传输、网盘、邮件等。这个方案相对有效,但是不能排除通过未知的应用协议来传文件,而且会给日常工作带来一些不便。

 

      10、部署DLP数据防泄漏系统:有条件的企业可能会在内外网边界部署DLP数据防泄漏系统,所有内部向外部发出的数据,都要经过DLP系统的内容扫描,在确保不包含敏感信息的情况下才允许发出。这也是比较常见的一种方式,可以有效防止各个渠道的外发泄密。

 

      11、第三方身份验证:现在有许多基于标准且高度安全的身份验证产品可供选择,这样的话,你的员工/客户等等就不需要一个个记住账号密码了,这样就能减少账号泄密的风险了。

 

      12、服务器上备份文件:及时的将重要文件备份,以便丢失后能及时找回,同时可以减少无意的泄密带来损失。

 

      13、特殊部门不允许进行文件外发:比如研发部门或者财务部门这种核心和敏感数据较多,不允许他们直接的对外发送文件,如果需要发送的话,需要经过审批后,由专人进行发送。

 

      14、监控电脑的文件外发动作:这个就需要有带有监控功能的软件了,可以监控到每个人的电脑操作行为,一旦产生外发动作,就会给管理员发出警报。

 

      15、云桌面:云桌面也是一种很流行的方式,很多研发型企业都在使用,它的成本比较低,使用灵活,可以快速响应企业和开发需求,比如企业规模扩大时,可快速实现资源配置和扩展。最重要的是,数据都集中在服务器上,开发人员的终端不再保存数据和存储,实现代码等数据不落地,对于企业来说,不仅仅是便于管理了,而且更能保障信息安全。

 

      16、网络隔离:这个算是目前最流行的方式了。将研发网与办公网、测试网、外网等进行隔离,防止不同部门、不同业务之间的违规数据交换。通过网络隔离的方式,可以有效防止内部核心代码数据泄露。

 

      17、对企业数据信息存储介质做渗透测试:渗透测试是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。

 

      18、内部设备的管理:很多企业会疏于对打印机、传真机等设备的管控,殊不知这些也是泄密渠道之一。必要的时候可以安装一些打印管理软件,实现打印内容监控、打印计数、打印审核等。

 

三、防止外部攻击的方法

 

      19、使用多种抵御手段:安装各种防火墙、入侵检测系统、DDoS防护服务、防病毒等产品来防范黑客的攻击和病毒的入侵。可以有效抵御外部的攻击导致的数据泄露,对企业整个网络安全环境起到一定的保护作用。

 

      20、监视攻击:有很多很好的监控工具,但是需要投入时间和精力来确保随时可以监控到异常。选择监控系统时,得确保知道自己在监控什么以及如何回应。

 

      21、分析各种网络日志:日志的搜集与分析可帮助企业侦测针对性攻击。IT和安全人员可从中发现关于黑客的一些宝贵信息,例如黑客如何进入网络,以及黑客的攻击策略。

 

      22、高防服务器:高防服务器就是能够帮助网站拒绝服务攻击,并且定时扫描现有的网络主节点,查找可能存在的安全漏洞的服务器类型。


本文为收集整理,文章部分观点不代表本站观点,如有侵权或其它问题请反馈客服。https://www.wgj7.com/cjwt/16490.html