基于Logistic混沌模型硬件加密芯片算法分析及FPGA实现.docVIP

基于Logistic混沌模型硬件加密芯片算法分析及FPGA实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Logistic混沌模型硬件加密芯片算法分析及FPGA实现

基于Logistic混沌模型硬件加密芯片算法分析及FPGA实现   摘要:针对信息安全领域的应用,通过对Logistic混沌模型的分析,本文设计了一套可以硬件实现的离散Logistic混沌加密算法,具有速度快、成本低、安全性高、保密性好等优点。本文利用所述离散Logistic混沌加密算法,完成了一款基于FPGA的数据加密芯片设计,并对该芯片进行了速度和效果的分析,证明了该芯片的实用性。   关键词:Logistic 混沌 加密芯片 FPGA   中图分类号: TN918 文献标识码:A 文章编号:1007-9416(2011)11-0126-03      随着信息技术的突飞猛进,信息安全问题也日益突出。为了使信息在传递过程中不被窃取,通常需要采用加密技术[1]。在加密技术中,被加密之前的数据被称为“明文”,加密之后的数据被称作“密文”,而用于加密计算和解密计算的密码称之为“密钥”。混沌现象是非线性动力学系统特有的一种运动形式,具有不确定性,初值敏感性和长期不可预测性等安全特征,使其与密码学之间有着天然的联系[2]。在加密技术领域,混沌序列具有十分优良的密码学特性,混沌密码学已成为现代密码学的重要研究内容[3]。混沌映射序列是采用伪随机数序列和需要加密的对象进行一种特定运算后得到的内容,从实域上看,混沌映射得到的序列类似于随机序列,其具有很好的类白噪声特性,因此可以用来产生伪随机信号或伪随机码[4]。Logistic混沌映射模型是一种非常简单却被广泛应用的经典混沌映射模型[5]。   硬件加密技术是一种十分有效的加密技术,传统的加密工作是通过在主机上运行加密软件实现的,这种方法除了占用主机资源外,其运行速度较慢,安全性也较差。而本文利用Logistic混沌模型,设计出了一套可以用硬件实现的加密算法,并通过FPGA验证了该算法的加密效果。本文中的硬件加密相比传统的软件加密具有加密速度快,安全性高,性价比高等优点,并且具有非常好的应用前景。   1、加密芯片算法设计   1.1 Logistic混沌原理及其模型   Logistic是混沌模型中比较经典的一种,其起源于虫口模型(worm number model)   (1)式中Xk+1为下一代虫子的数量,而Xk为上一代虫子的数量,这是个理想的情况。但是由于实际中虫子的食物问题,生存空间问题,天灾问题等等,事实上两代虫子之间的数量关系可以表示为(2)式:   (2)式就是所谓的Logistic模型,研究结果显示[6],当(2)式中的u和Xk满足关系:3.5699 u 4,0Xk1时,虫子的数量在代与代之间处于混沌变化,下一代虫子的数量和当代虫子的数量之间的关系非收敛,变化具有很强的随机性,无法从动力学行为规律找到破解的方法。   1.2 离散硬件加密算法   由于Logistic混沌模型所对应的数学模型的定义域为全体实数,但是由于硬件计算需要使用离散的数据,所以需要把Logistic混沌模型中映射关系的定义域从实数域映射到整数域。   本文所提及的硬件加密装置采用式(2)作为其加密的核心原理,设u为密码,而Xk为加密用随机数序列。为了适应加密算法的广泛应用,需要对u和Xk都进行一次映射至Logistic函数混沌区域的定义域中。   此外,由于计算机系统计算的离散型,需要对Logistic函数的运算离散化。在本文中针对随机数序是8位的二进制数序列,设为M。密码是16位的二进制数,设为K,则:   M[0,255],K[0,65535]   而针对原始公式(2):构建如下数域上的映射关系:   k=0.4301K/65535+3.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*K+239571933)(255-M)*M (6)   所以(6)式就为本文所采用的算法的最终依据。利用初始的M,可以得到第一个N,再把N作为M代入(6),可以得到第二个N。依次类推,可以得到一个随机数序列。由于本文中是采用流水线(Pipeline)计算,因此叫做迭代流水线(Iteration Pipeline)。利用这种迭代流水线的计算,可以得到加密用的数据流,最终实现加密。   2、加密芯片的FPGA实现   2.1 加密芯片系统设计   为了实现本文中提到的Logistic混沌算法,根据运算表达式(6)设计出如下图1所示的加密芯片系统结构图:   根据图1,系统构架包括5大基本模块:分别是

文档评论(0)

317960162 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档