欢迎来到天天文库
浏览记录
ID:21866165
大小:60.00 KB
页数:9页
时间:2018-10-25
《基于logistic混沌模型的硬件加密芯片算法分析及fpga实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、基于Logistic混沌模型的硬件加密芯片算法分析及FPGA实现:针对信息安全领域的应用,通过对Logistic混沌模型的分析,本文设计了一套可以硬件实现的离散Logistic混沌加密算法,具有速度快、成本低、安全性高、保密性好等优点。本文利用所述离散Logistic混沌加密算法,完成了一款基于FPGA的数据加密芯片设计,并对该芯片进行了速度和效果的分析,证明了该芯片的实用性。 关键词:Logistic混沌加密芯片FPGA :TN918:A:1007-9416(2011)11-0126-03 随着信息技术的突飞猛进,信息安全问题也日益突出。为了使信息
2、在传递过程中不被窃取,通常需要采用加密技术[1]。在加密技术中,被加密之前的数据被称为“明文”,加密之后的数据被称作“密文”,而用于加密计算和解密计算的密码称之为“密钥”。混沌现象是非线性动力学系统特有的一种运动形式,具有不确定性,初值敏感性和长期不可预测性等安全特征,使其与密码学之间有着天然的联系[2]。在加密技术领域,混沌序列具有十分优良的密码学特性,混沌密码学已成为现代密码学的重要研究内容[3]。混沌映射序列是采用伪随机数序列和需要加密的对象进行一种特定运算后得到的内容,从实域上看,混沌映射得到的序列类似于随机序列,其具有很好的类白噪声特性,因此可以用来
3、产生伪随机信号或伪随机码[4]。Logistic混沌映射模型是一种非常简单却被广泛应用的经典混沌映射模型[5]。 硬件加密技术是一种十分有效的加密技术,传统的加密工作是通过在主机上运行加密软件实现的,这种方法除了占用主机资源外,其运行速度较慢,安全性也较差。而本文利用Logistic混沌模型,设计出了一套可以用硬件实现的加密算法,并通过FPGA验证了该算法的加密效果。本文中的硬件加密相比传统的软件加密具有加密速度快,安全性高,性价比高等优点,并且具有非常好的应用前景。 1、加密芯片算法设计 1.1Logistic混沌原理及其模型 Logistic是混沌
4、模型中比较经典的一种,其起源于虫口模型(numbermodel) (1)式中Xk1为下一代虫子的数量,而Xk为上一代虫子的数量,这是个理想的情况。但是由于实际中虫子的食物问题,生存空间问题,天灾问题等等,事实上两代虫子之间的数量关系可以表示为(2)式: (2)式就是所谓的Logistic模型,研究结果显示[6],当(2)式中的u和Xk满足关系:3.5699u4,05、gistic混沌模型所对应的数学模型的定义域为全体实数,但是由于硬件计算需要使用离散的数据,所以需要把Logistic混沌模型中映射关系的定义域从实数域映射到整数域。 本文所提及的硬件加密装置采用式(2)作为其加密的核心原理,设u为密码,而Xk为加密用随机数序列。为了适应加密算法的广泛应用,需要对u和Xk都进行一次映射至Logistic函数混沌区域的定义域中。 此外,由于计算机系统计算的离散型,需要对Logistic函数的运算离散化。在本文中针对随机数序是8位的二进制数序列,设为M。密码是16位的二进制数,设为K,则: M[0,255],K[0,65536、5] 而针对原始公式(2):构建如下数域上的映射关系: k=0.4301K/655353.5699;k[3.5699,4](3) m=M/256;m(0,1)(4) 由于满足数量取值关系,上面的k和m可以作为Logistic混沌算法映射关系的自变量输入: 设N和M一样,是一个8位二进制数据,令n=N/256;n(0,1),代入(5)可以得到混沌算法的运算公式: N=2-34(440*K239571933)(255-M)*M(6) 所以(6)式就为本文所采用的算法的最终依据。利用初始的M,可以得到第一个N,再把N作为M代入(6),可以得到第二个N。7、依次类推,可以得到一个随机数序列。由于本文中是采用流水线(Pipeline)计算,因此叫做迭代流水线(IterationPipeline)。利用这种迭代流水线的计算,可以得到加密用的数据流,最终实现加密。 2、加密芯片的FPGA实现 2.1加密芯片系统设计 为了实现本文中提到的Logistic混沌算法,根据运算表达式(6)设计出如下图1所示的加密芯片系统结构图: 根据图1,系统构架包括5大基本模块:分别是“指令产生”模块,“模式控制”模块,“混沌数据计算流水线”模块,“逻辑处理”模块以及“同步时钟”模块。图1中的“指令产生”模块用于产生不同的指令,并将8、指令输送到“模式控制”模块;图1中的“
5、gistic混沌模型所对应的数学模型的定义域为全体实数,但是由于硬件计算需要使用离散的数据,所以需要把Logistic混沌模型中映射关系的定义域从实数域映射到整数域。 本文所提及的硬件加密装置采用式(2)作为其加密的核心原理,设u为密码,而Xk为加密用随机数序列。为了适应加密算法的广泛应用,需要对u和Xk都进行一次映射至Logistic函数混沌区域的定义域中。 此外,由于计算机系统计算的离散型,需要对Logistic函数的运算离散化。在本文中针对随机数序是8位的二进制数序列,设为M。密码是16位的二进制数,设为K,则: M[0,255],K[0,6553
6、5] 而针对原始公式(2):构建如下数域上的映射关系: k=0.4301K/655353.5699;k[3.5699,4](3) m=M/256;m(0,1)(4) 由于满足数量取值关系,上面的k和m可以作为Logistic混沌算法映射关系的自变量输入: 设N和M一样,是一个8位二进制数据,令n=N/256;n(0,1),代入(5)可以得到混沌算法的运算公式: N=2-34(440*K239571933)(255-M)*M(6) 所以(6)式就为本文所采用的算法的最终依据。利用初始的M,可以得到第一个N,再把N作为M代入(6),可以得到第二个N。
7、依次类推,可以得到一个随机数序列。由于本文中是采用流水线(Pipeline)计算,因此叫做迭代流水线(IterationPipeline)。利用这种迭代流水线的计算,可以得到加密用的数据流,最终实现加密。 2、加密芯片的FPGA实现 2.1加密芯片系统设计 为了实现本文中提到的Logistic混沌算法,根据运算表达式(6)设计出如下图1所示的加密芯片系统结构图: 根据图1,系统构架包括5大基本模块:分别是“指令产生”模块,“模式控制”模块,“混沌数据计算流水线”模块,“逻辑处理”模块以及“同步时钟”模块。图1中的“指令产生”模块用于产生不同的指令,并将
8、指令输送到“模式控制”模块;图1中的“
此文档下载收益归作者所有