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

提速啦母鸡 E5 128G 61IP 1200元

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

RackNerd($199/月),5IP,1x256G SSD+2x3THDD

我们先普及一下常识吧,每年9月的第一个星期一是美国劳工节。于是,有一些服务商会基于这些节日推出吸引用户的促销活动,比如RackNerd有推出四款洛杉矶和犹他州独立服务器,1G带宽、5个独立IP地址,可以配置Windows和Linux系统,如果有需要独立服务器的可以看看。第一、劳工节促销套餐这里有提供2个套餐。两个方案是选择犹他州的,有2个方案是可以选择洛杉矶机房的。CPU内存SSD硬盘配置流量价格...

王小玉网-美国洛杉矶2核4G 20元/月,香港日本CN2 2核2G/119元/季,美国300G高防/80元/月!

 活动方案:美国洛杉矶 E5 2696V2 2核4G20M带宽100G流量20元/月美国洛杉矶E5 2696V2 2核4G100M带宽1000G流量99元/季香港CN2 E5 2660V2 2核2G30M CN2500G流量119元/季日本CN2E5 2660 2核2G30M CN2 500G流量119元/季美国300G高防 真实防御E5 2696V2 2核2G30M...

口令为你推荐
discuzntdiscuz x2和discuz nt什么区别,不都是做社区论坛吗,为什么大家都用前一个人人时光机寻时光机歌词湖南商标注册湖南商标注册怎么办理怎么点亮qq空间图标怎么点亮QQ空间的图标bt封杀为什么现在网上许多BT下载都被封了?ios系统苹果手机的系统是什么?网管工具网吧工具有什么?发邮件怎么发如何发邮件?三星s8什么时候上市三星s8什么时候首发blogcn哪种博客更好...sina.baidu.blogcn还是.............?
greengeeks linode日本 hawkhost优惠码 BWH omnis ixwebhosting lighttpd 12306抢票助手 eq2 三拼域名 七夕促销 韩国名字大全 seednet qq云端 cdn加速是什么 天翼云盘 工信部网站备案查询 申请免费空间 葫芦机 privatetracker 更多