Feistel结构图像加密算法_安企神电脑终端安全管理监控软件
安企神电脑监控软件 在线试用
扫码咨询客服
安企神电脑监控软件、局域网监控软件
首页
功能对比
下载中心
购买咨询
客户列表
关于安企神

Feistel结构图像加密算法

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


本文简介:为了更好地将传统的Feistel加密结构应用在图像加密中,将加密与混沌系统结合起来,在混沌图像加密的基础上,提出了一种基于超混沌序列和Feistel结构的图像加密算法。一、加密算法原理1、超混沌系统超混沌系统一般具有两个或以上正的Lyapunov指数,由于其具有比普通混沌系统更大的可用密钥空间,可以提高系统的抗破译能力。也有资料给出的图像加密算法用到了Kawakami和Hyperhenon映射两个

Feistel结构图像加密算法

为了更好地将传统的Feistel加密结构应用在图像加密中,将加密与混沌系统结合起来,在混沌图像加密的基础上,提出了一种基于超混沌序列和Feistel结构的图像加密算法。

一、加密算法原理

1、超混沌系统

超混沌系统一般具有两个或以上正的Lyapunov指数,由于其具有比普通混沌系统更大的可用密钥空间,可以提高系统的抗破译能力。也有资料给出的图像加密算法用到了Kawakami和Hyperhenon映射两个超混沌系统。

Kawakami混沌映射的定义如下:

Feistel结构图像加密算法

其中,a=0.1,b=1.60时,系统处于超混沌状态,Kawakami混沌映射本身是一种超混沌序列。此处取X0∈(O,l)。

Hyperhenon混沌映射的定义如下:

Feistel结构图像加密算法

其中,c=1.76,d=0.1时,系统处于超混沌状态,Hyperhenon映射本身就是一种超混沌序列。此处取X0∈(O,l)。

本文设计的图像加密算法还将用到Logistic混沌映射,其定义如下:

Feistel结构图像加密算法

其中当3.5699456--≤μ≤4,(O<xn<1)时,系统进入稳定的混沌状态。

2、图像预处理算法

为了增强加密算法的安全性,首先对待加密的图像进行预处理。本文以Kawakami超混沌映射为例,首先介绍预处理过程。设原始图像形的大小为MxN,相应的预处理算法描述如下:

a)给定Kawakami映射的初始值xo、Yo,利用式(1)通过迭代计算产生两个混沌值xl和Y1,将第x1放人数组a,Y1放人数组b,将x1、Yi再代人式(1)迭代产生X2和Yz,X2放人数组a,y2放人数组b。以此类推,直到不满足<MxN则停止。

b)分别对数组口和6中每个混沌值进行变换,取每个混沌值小数点后的第3—5位组成一个新的三位整数L,然后L对256做取模运算,将数组口中每个新得到的整数依次放人大小为MxN的矩阵A,同样将数组b中新得到的整数放人大小为MxN的矩阵B。

c)将两个矩阵A与B其中的每个值转换为二进制序列,并放回A和B矩阵。

d)将原始图像W的像素值转换为二进制序列,与步骤c)所得到的序列矩阵A与B做异或运算。

e)将异或后的结果转换为十进制放入图像矩阵W中,完成图像的预处理,得到预处理加密图像w1。

图像的预处理算法虽然只是对原始图像做简单的异或运算,但由于是基于超混沌序列的,为整个算法的安全性提供了一定的安全保证。图l给出了预处理的基本流程。

Feistel结构图像加密算法

3、图像加密算法

在预处理的基础上,利用Logi8tic混沌序列生成Hyperhenon超混沌的初始值,再由Hyperhenon超混沌序列产生S盒,使用Feistel结构对图像进行加密。具体的加密过程如下:

a)将经过预处理后的图像矩阵W的每一行分为左右两部分,分别记为Li0和Ri0。

b)给定一个初始值zo,利用Logistic映射,即式(2)迭代生成48个序列值,以第j,j+16,j+32个序列值作为第j轮的子密钥,记为Kj。代入Hyperhenon混沌映射,通过迭代计算每轮生成三个混沌序列值x、y、z,通过16轮迭代计算,生成的混沌序列分别组成X、y、Z三个16×(N/2)的矩阵。

c)利用X、y、Z构造S盒,对X、y、Z每个矩阵中的每一行作升序排列,得到矩阵XL、K、zl,然后将X、y、Z在Xl、yI、Zl中的位置作为置换矩阵p、q、r。此时p、q、r矩阵的每一行就是Feistel结构中第i轮的S盒,每一轮共有三个。

d)取预处理图像的第一行Lio和Rio,将Rio经过三个S盒的置换,然后与Lio进行异或,得到的结果作为下一轮循环的Ru,而下一轮循环的Lii则等于Rio。

e)利用p、q、r三个S盒中的2—l6行重复d)。

f)合并得到的结果Ll16和Rl16放入图像矩阵中。

g)对预处理图像的每一行重复d)e),最终得到的图像就是加密后的图像W2。

加密算法的基本流程如图2所示。

Feistel结构图像加密算法

本文中的加密算法是基于超混沌序列的Feistel结构加密,使得系统可以较好地抵御差分攻击。

解密过程与加密过程基本一致,只需要将子密钥逆序输入即可解密图像。

小知识之Feistel 结构

在密码学研究中,Feistel 密码结构是用于分组密码中的一种对称结构。以它的发明者 Horst Feistel 为名,而Horst Feistel 本人是一位物理学家兼密码学家,在他为 IBM 工作的时候,为Feistel 密码结构的研究奠定了基础。很多密码标准都采用了Feistel 结构,其中包括DES。Feistel 的优点在于:由于它是对称的密码结构,所以对信息的加密和解密的过程就极为相似,甚至完全一样。这就使得在实施的过程中,对编码量和线路传输的要求就减少了几乎一半。

立即下载试用

u盘能识别但拒绝访问

usb flash物理结构硬盘报告:

usb闪存是一种轻巧便携的存储设备,可以存储和传输数据。它不像传统硬盘和光盘,它是一种可以插入计算机口来实现数据传输的“流动硬盘”。许多人将其称为usb盘,它也被称为u盘,usb闪存,usb闪存内存棒,内存棒。它的物理结构非常简单,它就是将存储单元封装在一个半裸露的外壳中,在外壳上覆盖一层保护皮肤,将usb接口与存储器联系起来。

尽管如此,一些用户反映,他们插入usb flash启动系统,能够正常识别出usb闪存,但是无法访问usb flash内部的文件和文件夹,无法正常使用,这是一个让人头痛的问题。下面让我们一起来看看这种情况是如何出现的,以及如何解决这类问题。

首先,不能访问U盘有可能是由于操作系统的问题,有的操作系统可能会把数据误判为系统补丁,结果出现U盘能被系统识别,但无法使用的问题。此时,可以尝试在安全模式下重启电脑(可以按住电脑开机键,再短暂按F8键),再尝试插入使用U盘。如果能够正常使用,则表明操作系统的问题。此时可以卸载系统,重新安装系统或者清理注册表来解决该问题。

其次,不能访问U盘可能是由于硬件的原因导致的。U盘设备在识别的过程中可能会损坏,也可能是由于功能的衰减,或因外来的电流等原因。此时,需要根据U盘提供的硬件信息,结合U盘的使用情况,检查U盘设备硬件是否受损,是否有过温等情况,以确保U盘可以正常使用。

最后,不能访问U盘可能是由于U盘自身的损坏导致的。可能是在使用U盘时,U盘突然断电,或因外力的作用导致内部的文件损坏而崩溃,也可能是U盘内部存储更新错误等原因造成的。此时应先备份好U盘内重要的文件,然后采取格式化U盘的措施,以检查U盘内部文件是否有损坏,若没有损坏,U盘可以恢复正常使用,反之,U盘就应该更换新的。

综上所述,如果usb闪存无法正常使用,可能是由于操作系统的问题,也可能是#由于硬件的原因,也可能是U盘本身的损坏造成的。只要按照上述步骤,就可以根据U盘的情况来诊断问题,排除结构性故障,还原U盘的正常使用状态。

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

~article_body_code~