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

基于被扰动的Lorenz系统的混沌加密算法

更新时间:2022-10-28 15:43:59


本文简介:为了应对有限精度产生的混沌动力学特性退化问题,近年来有许多的改进方案,为此,我们提出一种基于被扰动的Lorenz系统的混沌加密算法。该加密算法能够在保证加密速度的前提下,使得混沌序列随机性、加密系统安全性等方面都优于基于三维混沌密码系统和基于联合混沌加密系统。一、基于被扰动的Lorenz系统的混沌加密算法设计1、对Lorenz系统参数的扰动Lorenz系统是一经典的三维混沌系统,其动力学方程为:其

基于被扰动的Lorenz系统的混沌加密算法

为了应对有限精度产生的混沌动力学特性退化问题,近年来有许多的改进方案,为此,我们提出一种基于被扰动的Lorenz系统的混沌加密算法。该加密算法能够在保证加密速度的前提下,使得混沌序列随机性、加密系统安全性等方面都优于基于三维混沌密码系统和基于联合混沌加密系统。

一、基于被扰动的Lorenz系统的混沌加密算法设计

1、对Lorenz系统参数的扰动

Lorenz系统是一经典的三维混沌系统,其动力学方程为:

基于被扰动的Lorenz系统的混沌加密算法

其中a、b、c是系统参数,该系统当a=1O、b>24.74、c=8/3时,系统进入混沌状态。然而在精度有限的计算机上模拟计算的过程中,当迭代次数较大时,z维上的数据会出现短周期的
现象,如图1所示。

基于被扰动的Lorenz系统的混沌加密算法

往介绍扰动过程之前先引入Legendre多项式:

Legendre方程:

基于被扰动的Lorenz系统的混沌加密算法

式(2),当|x|<1时,可得到有界解,并且当n为非负整数,即n=0,1 ,2,3...时,在x=±1点亦有有界解。这种情况下,随n值变化方程的解相应变化(如图2)。

基于被扰动的Lorenz系统的混沌加密算法

构成一组由正交多项式组成的多项式序列,即:Legendre多项式:

基于被扰动的Lorenz系统的混沌加密算法

其递增表达式由(3)式给出:

基于被扰动的Lorenz系统的混沌加密算法

Legendre多项式产生具有自相关性和较高的线性复杂度性的,均值伪随机序列,利用它来对混沌系统参数进行扰动。提高了混沌序列的随机性、复杂性。弥补了计算机等数字系统有限精度所带来的不足,从而增强加密系统的安全性。

选取b作为扰动的系统参数,具体扰动过程如下:

1)选定初始值x0∈(-1,1),利用式(3)。通过迭代,得到一个序列:

基于被扰动的Lorenz系统的混沌加密算法

2)将序列bm应用到Lorenz系统的每一次迭代中,Lorenz系统在每一次迭代前,首先通过下面公式:

基于被扰动的Lorenz系统的混沌加密算法

得到每一次迭代需要的b,从而扰动了Lorenz系统中的系统参数b。

2、算法描述

本法选用的混沌系统为Lorenz系统,首先利用Legendre多项式的递推式(3)产生序列bm,将这个序列值分别作为Loren系统(l)选代过程中系统参数b的改变值,Loren系统经过特定次数的迭代以后得到最后所需的混沌序列。这个特定次数(除第一次外)是由上一次加密的密文和当前的明文共同决定的,然后用混沌序列对原文信息进行加密操作。从而隐藏原文。

3、加密过程

本文以一副图像为例介绍具体加密过程。

似没.我们要加密一个图像文件P(N×M)。首先,将图像P(N×M)从定到右、由上而下进行扫描,将扫描到的数据放到P[N]中,具体加密方法如下:

1)将x0∈(-1,1)作为初始值代入(3)进行递推。递推50次得到序列:

基于被扰动的Lorenz系统的混沌加密算法

2)对第m,(m+1)和(m+2)个像素加密时,将x,y,z,a=10,b=bm.c=8/3作为式(1)的初始值进行迭代,略去前500次迭代。以501次为起点继续迭代特定次数得到(特定次数是由待加密像前两个已加密的像索值决定)伪随机序列:

基于被扰动的Lorenz系统的混沌加密算法

迭代过程中,每迭代一次,将b值按(4)进行变化,不断的对系统进行扰动。

迭代完成后,分别将第m,(m+1)和(m+2)个像素值p(m),p(m+1和P(m+2)与某一个rij进行异或操作得到密文c(m)和c(m+2)即:

基于被扰动的Lorenz系统的混沌加密算法

其中,rij中i ,j的值由式(5)求的:

基于被扰动的Lorenz系统的混沌加密算法

3)对图像文件前三个像素值文件加密时,首先用x,y,x,a=10,b=b1.c=8/3作为初值进行达代50次,由步骤2得到密文c(1).c(2)和c(3)。然后按步骤2依次对图像中的每个像素进行操作,最后将整个文件操作完毕,最后可以得到加密后的密文图像c。

4、解密过程

解密过程与加密过程相反,即:步骤2中提到的迭代的次数由前3个像素值决定。式(6)改为:

基于被扰动的Lorenz系统的混沌加密算法

二、实验结果

利用上述算法,Legendre多项式的初始值为x0=0.421518,Lorenz系统的初始值为x=1.184 07,y==1.362 86,z=1.25215和c=2.666 74。对256x256的lean图(图3(a))进行加密,图3(c)为加密后的结果。图3(b)和(d)分别是待加密图像和已加密图像的直方图。

基于被扰动的Lorenz系统的混沌加密算法

小知识之扰动

一般是指系统在正常范围内的波动。它往往有一定的规律可循,并具有可预知性,为一般意义上的环境波动行为。

立即下载试用

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

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

 

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

  

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

 

      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/16305.html