混沌基于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

iON Cloud:新加坡cn2 gia vps/1核/2G内存/25G SSD/250G流量/10M带宽,$35/月

iON Cloud怎么样?iON Cloud升级了新加坡CN2 VPS的带宽和流量最低配的原先带宽5M现在升级为10M,流量也从原先的150G升级为250G。注意,流量也仅计算出站方向。iON Cloud是Krypt旗下的云服务器品牌,成立于2019年,是美国老牌机房(1998~)krypt旗下的VPS云服务器品牌,主打国外VPS云服务器业务,均采用KVM架构,整体性能配置较高,云服务器产品质量靠...

鲸云10美元,香港BGPRM 1核 1G 10Mbps峰值带宽 1TB流量,江西CN2-NAT 1核 512MB内存 100M带宽 ,

WHloud Official Notice(鲸云官方通知)(鲸落 梦之终章)]WHloud RouMu Cloud Hosting若木产品线云主机-香港节点上新预售本次线路均为电信CN2 GIA+移动联通BGP,此机型为正常常规机,建站推荐。本次预售定为国庆后开通,据销售状况决定,照以往经验或有咕咕的可能性,但是大多等待时间不长。均赠送2个快照 2个备份,1个默认ipv4官方网站:https:/...

Asiayun:枣庄电信Asiayun美国Cera葵湾VPSvps月付,美国CERA VPS月付26元/年

亚洲云Asiayun怎么样?亚洲云成立于2021年,隶属于上海玥悠悠云计算有限公司(Yyyisp),是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。Asiayun提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以...

口令为你推荐
bbsxp怎么用 CUTEFTP上传BBSXP到FTP服务器中国电信互联星空电信的互联星空服务是什么?个性qq资料`谁有最新 最有个性的QQ个性资料工信部备案怎样在工信部进行域名备案?要详细中小企业信息化什么是中小企业信息化途径iphone越狱后怎么恢复苹果手机越狱后怎么恢复奇虎论坛奇虎问答是什么mate8价格华为mate8手机参数配置如何,多少元mate8价格华为mate8市场价多少云挂机有免费的云挂机软件吗?
主机屋 godaddy主机 l5639 海外服务器 长沙服务器 网站木马检测工具 hdd 双线机房 创建邮箱 网通服务器 starry 贵阳电信 apnic 电信主机托管 锐速 register.com fatcow 建站技术 ncp是什么 reboot 更多