混沌基于fpga动态口令芯片设计毕业论文

口令  时间:2021-02-19  阅读:()

基于Logistic混沌算法的论文题目 动态口令芯片设计

学生姓名 项智

学生学号

专业班级 09微电子1班

学院名称 电子与通信工程

指导老师 赵杰

2012年6月5日

摘 要

为了解决信息安全问题得到加密用的混沌随机数本文分析了Lo gi s ti c混沌模型提出了一种便于硬件实现的离散Lo gi s ti c混沌算法并完成了其硬件结构设计。针对混沌随机数的典型应用本文利用所述离散Lo gi s ti c混沌算法硬件电路完成了一款动态口令芯片的设计其具有安全性好性价比高速度快等优点其应用价值广。

关键字 Logistic FPGA动态口令混沌

Abstract

In order to sove the problem of information security,and get the chaotic randomnumbers for encryption,this paper analyzed the Logistic random chaos model and gave akind of discrete Logistic chaos algorithm which is easy for hardware realization,andcompleted its hardware structure design.The dynamic password chip is a typicalapplication of random number in chaos,and this paper used the discrete Logistic chaosalgorithm mentioned above,and completed a dynamic password chip design,it has theadvantages of good security,low cost,high speed,and extensive application value.Keywords:Logistic;FPGA;dynamic pas sword; chaotic

目 录

一、 引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

二、 方案论证. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

三、 Logistic混沌算法设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

(一) Logistic混沌模型分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

(二) 离散化的Logistic混沌算法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

(三) Logistic混沌算法系统设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

(四) Logistic混沌算法模块设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

四、 动态口令芯片设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

一动态口令芯片的设计方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

二动态口令芯片的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

1.动态口令芯片硬件实现平台. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

2.软件设计和仿真平台. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

3.基于FPGA的硬件电路模块设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16

五、 动态口令芯片的效果分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37

六、 结论. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

七、 参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

八、 附录. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41

(一) 动态口令芯片的电路图. . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

1.动态口令芯片的整体结构图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

2 Logistic核心算法模块结构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

3.基于FPGA设计的顶层电路图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

(二) 基于FPGA设计的动态口令芯片各个子模块的设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

1. count模块设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43

2.求补码模块(minu s)设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

3.mux2_1模块代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48

4.diedai模块设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

5. enable模块设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

6.yin gs h e模块的设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53

7.xiaodou模块的设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57

8.key模块设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

9.deal模块的设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

10.dis_choose模块的设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

11.fenpin模块的设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68

12.display模块的设计代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70

一、引言

随着现代信息技术的不断发展信息安全技术变得越来越重要。为了使信息在的过程中不被窃取通常要采用加密技术[1]。比较通用的加密技术中序列密码是一中和非常典型有效的加密方法[2] 其采用伪随机数序列和需要加密的内容进行运算得到加密后的内容。混沌现象是一种确定性的类似随机的过程这种过程既非周期又不收敛并且对初始值有及其敏感的依赖性。从时域上看混沌映射得到的序列类似于随机序列相关性较弱具有很好的类白噪声特性 因此可以用来产生伪随机信号或伪随机码[3]。 Lo gi s ti c映射是一种非常简单却被广泛应用的经典混沌映射[4-5]。

动态口令技术是一种非常有效的身份认证&加密技术[6-7]。通常的动态口令技术采用时间同步的认证机制[8] 常用的算法是使用Hash函数的MDS算法[9]。该算法具有计算代价大芯片成本高专利授权费贵等缺陷。本文采用Lo gi s ti c混沌模型设计出一套可以用硬件实现的算法并利用该算法实现了一个动态口令IC具有安全性好性价比高速度快等优点应用价值广泛。本设计的实现平台采用FPGA FPGA技术应用逐渐在中国得以推广其广泛于数字通信技术计算机应用技术 自动化控制等领域。 FPGA的最新发展主要包括功能扩展和现场可编程技术在原来离线的串/并行格式编

程的基础上创新产生了所谓的在线式可编程技术ISP和动态可重配技术或称cache logic 。使FPGA器件不仅仅是现场可编程而且可用户在线可编程动态容量可扩展从而进一步提高了FPGA技术的应用灵活性降低了应用系统的实现成本[10]。

二、方案论证

方案一用CPLD去实现该动态口令牌芯片设计

方案二用FPGA去实现该动态口令牌芯片设计

方案比较尽管CPLD和FPGA都是可编程的ASIC芯片但是FPGA相比CPLD而言更适合完成时序逻辑 同时在编程上 FPGA比CPLD具有更大的灵活性支持在线可编程再者FPGA相比CPLD集成度要高而且FPGA内部触发器资源丰富在时序要求较高的场合用FPGA去实现更容易达到时序收敛基于上述比较最终方案选择方案二。

三、 Lo gistic混沌算法设计

(一)Lo gi s ti c混沌模型分析

现代混沌学研究起源于20世纪60年代混沌是一种特殊的动力学行为其会在该动力学系统中表现出一种确定性的类随机的过程。这种过程非周期不收敛但是有边界。所以这样的一种过程只要其初始值有微小的变化就会形成完全不同的两组序列所以利用混沌现象的天然随机过程可以得到很好的随机序列从而应用到加密领域达到很好的加密效果。

Logistic是混沌模型中比较经典的一种其起源于虫口模型worm numbermodel[11]

Xk+1=aXk 1

1式中Xk+1为下一代虫子的数量而Xk为上一代虫子的数量这是个理想的情况但是实际中由于虫子的食物问题生存空间问题天灾问题事实上两代虫子之间的数量可以表示为如下式

Xk+1=aXk 1-Xk 2

根据研究表明[12] 当a和X k满足关系 3.5699a4且0<Xk<1时虫子的数量在代与代之间处于混沌变化下一代虫子的数量和这当代的数量之间的关系非收敛变化具有很强的随机性无法从动力学行为[13]规律找到破解密文的办法。

可见(x)不依赖于其初始值的不同而不同所以其遍历性等同于零均值白噪声[14] 所以在保证初始值未知的情况下这样的随机序列与利用的物理效应得到的随机序列在统计意义上是一致的。

(二)离散化的Lo gi s ti c混沌算法

根据前面对Lo gi s ti c混沌模型的分析可知 Lo gi s ti c映射关系中虫子的数量在代与代之间处于混沌变化可以把每一代虫子的数量作为一个数据而随着虫子的繁衍每一代虫子的数量的序列可以形成一个随机性良好的随机序列。

而Lo gi s ti c混沌模型本身的数学关系的定义域但是由于硬件计算需要

使用离散化的方式 因此需要把Lo gi s ti c混沌模型中的映射关系的定义域从实数域映射到整数域。首先定义表达式2中的a为序列选择因子通常也称之为系统的密码。设离散化Lo gi s ti c混沌算法中的序列选择因子为X。而X的取值范围为[0,N],其中N为自然数显然这样的序列因子是不能进行计算的设x是经过变换的序列选择因子且满足3.56699x4可以证明X,x满足表达式4 b*N*xint(b*N*3.5699)int(X*b*0.4301)x

其中 “int ”代表对“”内的数据进行取整数运算 b为计算精度影响因子取值为自然数。为了保证四位有效数字的计算精度N应该不小于自然104 b至少取值为1。这样在二进制计算中可以令N为一个32位二进制数。另外可以较容易证明表达式5成立。int(X*0

为了把浮点运算转换为整数运算并且适用于硬件电路实现可以把表达式5和N=232-1 b=1代入4 经过一系列数学推导得到如下式子6 x

设最后产生的随机序列为SK并且假设SK的取值范围为[0,M]。而满足虫口关系表达式2的序列为sk显然有sk

由于x和sk满足虫口模型 因此将6和7代入2 经过一定的数学推导过程得到如下式子8 

Sk

在本文中取值M2161 并且由于M216 ,N232 ,代入上述表达式

8可得

表达式9中除法运算均为整数运算 因此9是一个纯整数域上的迭代运算表达式称之为离散化的Lo gi s ti c混沌算法所生成的Sk序列就是一个良好的混沌随机数序列。其中X为上文所述的序列选择因子式子

15332603705int(X7046/214)将定义在实数域中的序列选择因子X映射到整数域中。 Sk为混沌随机序列式子216-Sk-1为求混沌序列Sk的补码。1/248为将产生的混沌随机序列向右移48位得到新的混沌随机序列。

(三)Logi s tic混沌算法系统设计

为了实现该Lo gi s ti c混沌算法根据表达式9 设计出如图1所示的Logi s tic混沌算法系统结构

图1.Logi s ti c混沌算法系统结构

由于产生S k序列的Lo gi s tic混沌算法是一个反复迭代的过程S k+1的产生依赖于Sk的取值。因此称这个运算为“Lo gi s tic迭代运算”。图1中的“Lo gi s ti c

Megalayer美国独立服务器新用户首月优惠350元(30M优化不限流量)

Megalayer 商家在开始看到有提供香港服务器、香港站群服务器的时候有介绍过,后来就一直没有怎么关注。但是前几天有看到网友使用到他们家的美国独立服务器问其如何的,但是我没有使用过就不好评论,这不前几天也有介绍到Megalayer美国独立服务器。以及我们也有看到商家有提供美国站群服务器和美国大带宽服务器产品,可选30M不限制流量CN2优化线路,以及100M不限制流量国际带宽线路。新年元旦后,Me...

iWebFusion:独立服务器月付57美元起/5个机房可选,10Gbps服务器月付149美元起

iWebFusion(iWFHosting)在部落分享过很多次了,这是成立于2001年的老牌国外主机商H4Y旗下站点,提供的产品包括虚拟主机、VPS和独立服务器租用等等,其中VPS主机基于KVM架构,数据中心可选美国洛杉矶、北卡、本德、蒙蒂塞洛等。商家独立服务器可选5个不同机房,最低每月57美元起,而大流量10Gbps带宽服务器也仅149美元起。首先我们分享几款常规服务器配置信息,以下机器可选择5...

JustHost俄罗斯VPS有HDD、SSD、NVMe SSD,不限流量低至约9.6元/月

justhost怎么样?justhost服务器好不好?JustHost是一家成立于2006年的俄罗斯服务器提供商,支持支付宝付款,服务器价格便宜,200Mbps大带宽不限流量,支持免费更换5次IP,支持控制面板自由切换机房,目前JustHost有俄罗斯6个机房可以自由切换选择,最重要的还是价格真的特别便宜,最低只需要87卢布/月,约8.5元/月起!总体来说,性价比很高,性价比不错,有需要的朋友可以...

口令为你推荐
最数码数码相机哪种最好weipin唯品宝是什么?和唯品金融有什么关系?伪装微信地理位置怎么伪装微信地理位置?外网和内网内网和外网有什么区别啊?滚动代码来回滚动代码iphone越狱后怎么恢复已经越狱的iphone怎么恢复到原来的系统idc前线求电影敢死队电影里的歌曲!如何快速收录如何做到让百度快速收录小米手柄小米手柄怎么用?怎么在图片上写文字如何在图片上写文字
VPS之家 vps代购 日本软银 googleapps cpanel 圣迭戈 12306抢票攻略 godaddy优惠券 免费个人空间申请 中国电信宽带测速网 ebay注册 镇江高防 测速电信 云服务是什么意思 贵州电信 腾讯云平台 时间服务器 最新优惠 删除域名 tko 更多