为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于FPGA的动态口令芯片设计毕业论文

2012-07-14 47页 doc 959KB 45阅读

用户头像

is_359957

暂无简介

举报
基于FPGA的动态口令芯片设计毕业论文 毕业论文 论文题目: 基于Logistic混沌算法的 动态口令芯片设计 学生姓名: 项智 学生学号: 09110003 专业班级: 09微电子1班 学院名称: 电子与通信工程 指导老师: 赵杰 2012年6月5日 ...
基于FPGA的动态口令芯片设计毕业论文
毕业论文 论文题目: 基于Logistic混沌算法的 动态口令芯片 学生姓名: 项智 学生学号: 09110003 专业班级: 09微电子1班 学院名称: 电子与通信工程 指导老师: 赵杰 2012年6月5日 摘 要 为了解决信息安全问题,得到加密用的混沌随机数,本文了Logistic混沌模型,提出了一种便于硬件实现的离散Logistic混沌算法,并完成了其硬件结构设计。针对混沌随机数的典型应用,本文利用所述离散Logistic混沌算法硬件电路,完成了一款动态口令芯片的设计,其具有安全性好,性价比高,速度快等优点,其应用价值广。 关键字:Logistic FPGA 动态口令 混沌 Abstract In order to sove the problem of information security,and get the chaotic random numbers for encryption,this paper analyzed the Logistic random chaos model and gave a kind of discrete Logistic chaos algorithm which is easy for hardware realization,and completed its hardware structure design.The dynamic password chip is a typical application of random number in chaos,and this paper used the discrete Logistic chaos algorithm mentioned above,and completed a dynamic password chip design,it has the advantages of good security,low cost,high speed,and extensive application value. Keywords: Logistic; FPGA;dynamic password; chaotic 目 录 6一、 引言 6二、 论证 6三、 Logistic混沌算法设计 6(一) Logistic混沌模型分析 7(二) 离散化的Logistic混沌算法 8(三) Logistic混沌算法系统设计 9(四) Logistic混沌算法模块设计 10四、 动态口令芯片设计 10(一)动态口令芯片的设计方案 11(二)动态口令芯片的实现 111. 动态口令芯片硬件实现平台 112. 软件设计和仿真平台 123. 基于FPGA的硬件电路模块设计 28五、 动态口令芯片的效果分析 29六、 结论 30七、 参考文献 31八、 附录 31(一) 动态口令芯片的电路图 311.动态口令芯片的整体结构图 312.Logistic核心算法模块结构 313. 基于FPGA设计的顶层电路图 32(二) 基于FPGA设计的动态口令芯片各个子模块的设计代码 321. count模块设计代码 342. 求补码模块(minus)设计代码 343. mux2_1模块代码 354. diedai模块设计代码 365. enable模块设计代码 376. yingshe模块的设计代码 397. xiaodou模块的设计代码 408. key模块设计代码 439. deal模块的设计代码 4410.dis_choose模块的设计代码 4511.fenpin模块的设计代码 4612.display模块的设计代码 1、 引言 随着现代信息技术的不断发展,信息安全技术变得越来越重要。为了使信息在 的过程中不被窃取,通常要采用加密技术[1]。比较通用的加密技术中,序列密码是一中和非常典型有效的加密方法[2],其采用伪随机数序列和需要加密的内容进行运算,得到加密后的内容。混沌现象是一种确定性的,类似随机的过程,这种过程既非周期又不收敛,并且对初始值有及其敏感的依赖性。从时域上看,混沌映射得到的序列类似于随机序列,相关性较弱,具有很好的类白噪声特性,因此可以用来产生伪随机信号或伪随机码[3]。Logistic映射是一种非常简单却被广泛应用的经典混沌映射[4-5]。 动态口令技术是一种非常有效的身份认证&加密技术[6-7]。通常的动态口令技术采用时间同步的认证机制[8],常用的算法是使用Hash函数的MDS算法[9]。该算法具有计算代价大,芯片成本高,专利授权费贵等缺陷。本文采用Logistic混沌模型,设计出一套可以用硬件实现的算法,并利用该算法实现了一个动态口令IC,具有安全性好,性价比高,速度快等优点,应用价值广泛。本设计的实现平台采用FPGA,FPGA技术应用逐渐在中国得以推广,其广泛于数字通信技术,计算机应用技术,自动化控制等领域。FPGA的最新发展主要包括功能扩展和现场可编程技术,在原来离线的串/并行格式编程的基础上,创新产生了所谓的在线式可编程技术(ISP)和动态可重配技术(或称cache logic)。使FPGA器件不仅仅是现场可编程,而且可用户在线可编程,动态容量可扩展,从而进一步提高了FPGA技术的应用灵活性,降低了应用系统的实现成本[10]。 2、 方案论证 方案一:用CPLD去实现该动态口令牌芯片设计 方案二:用FPGA去实现该动态口令牌芯片设计 方案比较:尽管CPLD和FPGA都是可编程的ASIC芯片,但是FPGA相比CPLD而言更适合完成时序逻辑,同时在编程上,FPGA比CPLD具有更大的灵活性,支持在线可编程,再者FPGA相比CPLD集成度要高,而且FPGA内部触发器资源丰富,在时序要求较高的场合用FPGA去实现更容易达到时序收敛,基于上述比较,最终方案选择方案二。 3、 Logistic混沌算法设计 (1) Logistic混沌模型分析 现代混沌学研究起源于20世纪60年代,混沌是一种特殊的动力学行为,其会在该动力学系统中现出一种确定性的,类随机的过程。这种过程非周期,不收敛,但是有边界。所以这样的一种过程,只要其初始值有微小的变化,就会形成完全不同的两组序列,所以利用混沌现象的天然随机过程,可以得到很好的随机序列,从而应用到加密领域,达到很好的加密效果。 Logistic是混沌模型中比较经典的一种,其起源于虫口模型(worm number model[11]) Xk+1=aXk (1) (1)式中Xk+1为下一代虫子的数量,而Xk为上一代虫子的数量,这是个理想的情况,但是实际中由于虫子的食物问题,生存空间问题,天灾问题,事实上两代虫子之间的数量可以表示为如下式: Xk+1=aXk(1-Xk) (2) 根据研究表明[12],当a和Xk满足关系:3.5699 a 4,且0说明
。 3.2.1 count模块 本文所述count模块是本设计的核心模块,该模块在一定程度上决定了本动态口令牌芯片的功能。该模块实现了上文所述(2)式的计算模型,在本动态口令芯片设计中,该模块用于计算式子 的计算,其中 为动态口令芯片的初始密码,Sk为随机种子或者迭代混沌序列,216-Sk-1为Sk的补码,count模块实现数据相乘的方法是将乘法转换为加法运算,通过将一个乘数所对应的二进制数进行移位,并且与被乘数所对应的二进制数相加,从而实现两个数据的相乘。基于FPGA的“count”模块的电路模块如下图6所示: 图6 基于FPGA设计的“count”模块 从图6可知,“count”模块的输入信号为时钟信号“clk”,复位信号“clr”,初始密码信号“a0”,随机种子(迭代混沌序列)“x0”,随机种子(迭代混沌序列)“x0”的补码“x1”。输出信号为混沌序列信号“out1”以及混沌序列信号“out1”的高16位信号“out2”。 “count”模块的功能仿真结果如下图7所示: 图7 count模块功能仿真结果 在仿真过程中,通过给不同的初始密码和随机种子(迭代混沌序列),观察该模块的输出结果与预期的是否一致,从Modelsim仿真结果可知,当给定不同的初始密码和随机种子(迭代混沌序列)时,count模块的输出结果与预期的是完全一致的。在仿真的过程中为了证明设计模块和测试模块的代码都已经被仿真到,在仿真的过程中对代码的覆盖率也进行了仿真,count模块的代码覆盖率仿真结果如下图7所示: 图8 count模块仿真的代码覆盖率结果 从上图8可知,count模块的代码覆盖率达到了100%,说明count模块的设计代码和测试代码都已经被仿真到。 3.2.2 minus模块 minus模块主要用于对随机种子(迭代混沌序列)进行求补码运算,也就是实现式子216-Sk-1的功能。minus模块功能比较简单,主要实现减法功能,基于FPGA的“minus”模块设计如下图9所示: 图9基于FPGA设计的“minus”模块 该模块的功能仿真结果如下图10所示: 图10 minus模块功能仿真结果 从上图10的仿真结果图分析可知,当给minus模块一个输入时,其仿真结果的输出为输入数据的补码,即minus模块的功能仿真结果是正确的。该模块的代码覆盖率仿真结果如下图11所示: 图11 minus模块仿真的代码覆盖率结果 3.2.3 mux2_1模块 mux2_1模块用于对随机种子和迭代混沌序列进行选择,该模块的输出信号主要由输入信号为迭代使能信号“en”和迭代状态信号“state”,进行控制,当动态口令芯片复位或是刚上电后,迭代使能信号“en”为“1”和迭代状态信号“state”为“0”,此时mux2_1选择随机种子作为其输出,在以后的工作过程中,迭代使能信号“en”为“1”和迭代状态信号“state”为“1”,“mux2_1”模块选择来自count模块的迭代混沌序列作为其输出。基于FPGA的“mux2_1”模块设计如下图12所示: 图12基于FPGA设计的“mux2_1”模块 “mux2_1”模块的功能仿真结果取下图13所示: 图13 mux2_1模块的功能仿真结果 分析图13的仿真结果可知,当该模块在复位后,输入信号迭代使能信号“en”为“1”和迭代状态信号“state”为“0”,此时输出信号x0的值等于输入信号random的值,随后,输入信号迭代使能信号“en”为“1”和迭代状态信号“state”为“1”,输出信号x0的值始终等于输入信号out2的值。从分析可知,该模块的功能仿真结果正确,该模块的代码覆盖率仿真结果如下图14所示: 图14 mux2_1模块仿真的代码覆盖率结果 从图14的覆盖率仿真结果可知,该模块的分支覆盖率并没有达到100%,原因是,在mux2_1模块的功能仿真中,输入信号迭代使能信号“en”和迭代状 态信号“state”的组合只有两种,即en=“1”,state=“0”和en=“1”,state= “1”,而仿真器认为输入信号迭代使能信号“en”和迭代状态信号“state”的组合有四种,在mux2_1模块的设计模块和测试模块的代码中输入信号迭代使能信号“en”和迭代状态信号“state”的组合只出现了符合该模块功能的 两种组合,所以该模块分支覆盖率的仿真不可能达到100%。 3.2.4 iteration模块 “iteration”模块的主要功能是产生mux2_1模块工作所需的迭代状态信号“state”以及对动态口令芯片的迭代次数进行计数,该模块的输入信号为时钟信号“clk”,复位信号“clr”,来自“enable”模块的迭代使能信号“en”。 在时钟信号“clk”的作用下,每检测到一次迭代使能信号“en”的有效电平,迭代次数计数器就加1,并且将迭代状态寄存器的输出置“1”。基于FPGA的“iteration”模块设计如下图15所示: 图15基于FPGA设计的“iteration”模块 “iteration”模块的功能仿真结果如下图16所示: 图16 iteration模块的功能仿真结果 从上图16可分析得到,iteration模块在输入信号“clk”的作用下,每检测到一次“en”的有效电平,迭代次数寄存器就加1,并且迭代状态寄存器的输出被置“1”,当迭代次数计数器加到65535后,在下一次检测到“en”有效电平时,迭代次数寄存器又从1开始做加1操作。iteration模块的代码覆盖率仿真结果如下17所示: 图17 iteration模块仿真的代码覆盖率结果 从上图17可知,iteration模块仿真的代码覆盖率达到100%,说明该模块的设计代码和测试代码都已经被仿真到。 3.2.5 enable模块 “enable”模块主要用于控制每隔10s产生一个随机混沌序列,即动态口令。该模块的输入信号是时钟信号“clk”和复位信号“clr”,输出信号为迭代使能信号“en”,该模块在时钟信号“clk”的作用下,控制迭代使能信号“en”每隔10s产生一个有效电平,控制迭代使能信号“en”供后继模块“diedai”模块和“mux2_1”模块使用。基于FPGA设计的“enable”模块如下图18所示: 图18基于FPGA设计的“enable”模块 “enable”模块的功能仿真结果如下图19所示: 图19 enable模块的功能仿真结果 从上图19可以很明显的看出,当“enable”模块在复位完成后,迭代使能信号“en”每隔10s产生一个有效电平信号。该模块仿真的代码覆盖率结果如下图20所示: 图20 diedai模块仿真的代码覆盖率结果 从图20可以得知,diedai模块的设计代码和测试代码都被仿真到,代码覆盖率达到了100%。 3.2.6 mapping模块 “mapping”模块主要用于将从“key”模块得到的初始密码从实数域映射到整数域,从而实现Logistic的离散化混沌算法,其功能是完成上文(10)式的运算过程。基于FPGA设计的“mapping”模块如下图21所示: 图21 基于FPGA设计的“mapping”模块 从上图21可知,“mapping”模块的输入信号有时钟信号“clk”,复位信号“reset”,输入完成标志信号“flag”以及来自“key”模块的离散化初始密码“din”,输出信号为“din”从实数域映射到整数域的初始密码“a0”。 “mapping”模块的功能仿真结果如下图22所示: 图22 “mapping”模块的功能仿真结果 从图22可知,当给“mapping”模块进行复位时,其输出信号被清零,当复位操作完成后,将输入完成标志信号“flag”拉高有效,经过若干个时钟周期后,给定的实数域中的初始密码所对应的整数域密码被计算出,经验证,结果是正确的,由于为了清晰可见,只截取了仿真结果的一小部分。“mapping”模块的仿真代码覆盖率结果如下图23所示: 图23 “mapping”模块的仿真代码覆盖率结果 从图23可知,“mapping”模块的仿真代码覆盖率并没有达到100%,经过分析得出,在该模块设计代码的状态机中有default项,但是当该模块正常工作时,是不可能跳到default这个状态,由于仿真器没有把设计代码中状态机的每个状态都仿真到,所以仿真器给出的代码覆盖率结果不会是100%。 3.2.7 Top1模块 “Top1”模块是“count”模块和“minus”模块的组合,通过对“Top1”模块进行仿真来确定“count”模块和“minus”模块在联仿的过程中有无功能错误。基于FPGA设计的“Top1”模块如下图24所示: 图24 基于FPGA设计的“Top1”模块 “Top1”模块的功能仿真结果如下图25所示: 图25 “Top1”模块的功能仿真结果 分析上图25可知,当给“Top1”模块进行复位时,其输出信号全部清零,当复位操作完成后,给定一个初始密码,一个随机种子及其对应的补码,在时钟信号“clk”的作用下,进过若干个时钟周期后,对应的随机混沌序列信号“out1”将被计算出,此时随机混沌序列信号“out1”的高16位“out2”也输出。经验证,仿真结果跟实际的计算时一致的,可以确定“Top1”模块的功能没有问题,“Top1”模块仿真的代码覆盖率结果如下图26所示: 图26 “Top1”模块仿真的代码覆盖率结果 从图26的仿真结果可以看出,“Top1”模块仿真的代码覆盖率达到了100%。 3.2.8 Top2模块 “Top2”模块主要由“mux2_1”模块和“Top1”模块组成,仿真“Top2”模块的主要作用是确定当“mux2_1”模块和“Top1”模块联合时是否有功能错误。基于FPGA设计的“Top2”模块如下图27所示: 图27 基于FPGA设计的“Top2”模块 “Top2”模块的功能仿真结果如下图28所示: 图28 “Top2”模块的功能仿真结果 从图28的仿真结果可以得知,当“Top2”模块完成复位操作后,给输入迭代使能信号“en”高电平“1”,给迭代状态信号“state”低电平“0”, “mux2_1”模块将选择随机种子参与运算,并且验证了其第一次计算的结果是正确的,随后“mux2_1”模块将选择迭代混沌序列信号“out2”参与计算,通过分析软件仿真的结果数据,并与实际计算的值进行了比较,比较结果是软件仿真的跟实际计算出的值是完全一致的,说明“Top2”模块的功能仿真正确。“Top2”模块功能仿真的代码覆盖率结果如下图29所示: 图29 “Top2”模块功能仿真的代码覆盖率结果 从图29的“Top2”模块代码覆盖率结果可知,分支覆盖率没有达到100%,其原因和上文所述“mux2_1”模块的代码覆盖率结果一样,上文已经对“mux2_1”模块的分支覆盖率没有达到100%的原因进行了分析与说明,在此就不在重复。 3.2.9 Top3模块 “Top3”模块主要由“iteration”模块和“Top2”模块组成,仿真“Top3”模块的作用主要为了仿真当“iteration”模块和“Top2”模块联合时其功能有没有问题。基于FPGA设计的“Top3”模块如下图30所示: 图30 基于FPGA设计的“Top3”模块 “Top3”模块的功能仿真结果如下图31所示: 图31 “Top3”模块的功能仿真结果 从图31的仿真结果分析得知,当“Top3”模块完成复位操作后,每隔10s给迭代使能信号“en”一个有效高电平“1”,开始“diedai”模块的输出迭代状态信号“state”为低电平“0”,此时迭代使能信号“en”和迭代状态信号“state”控制“mux2_1”模块选择随机种子“random”参与混沌迭代计算,在随机种子“random”参与混沌迭代计算后,迭代次数计数器开始加1,并且迭代状态信号“state”被置“1”,在之后的计算中,迭代使能信号“en”和迭代状态信号“state”控制“mux2_1”模块选择混沌序列信号“out2”参与混沌迭代计算。通过将软件仿真的结果数据与实际计算出的数据进行比较,比较发现通过软件仿真的输出结果数据与实际计算的结果数据是一致的,即证明“Top3”模块的功能正确。“Top3”模块功能仿真的代码覆盖率结果如下图32所示: 图32 “Top3”模块功能仿真的代码覆盖率结果 从图32的代码覆盖率结果可知,“Top3”模块中所有的模块的设计代码和测试代码都被仿真到了,覆盖率达到100%。 3.2.10 Top4模块 “Top4”模块主要由“enable”模块和“Top3”模块组成,仿真“Top4”模块的主要作用是仿真当“enable”模块和“Top3”模块联合时整体功能是否有问题。基于FPGA设计的“Top4”模块如下图33所示: 图33 基于FPGA设计的“Top4”模块 “Top4”模块的功能仿真结果如下图34所示: 图34 “Top4”模块的功能仿真结果 从上图34的仿真结果可以得知,当“Top4”模块完成了复位操作之后,“enable”模块的输出迭代使能信号“en”每隔10s产生一次有效的高电平,并且迭代次数计数器也相应的加1,从图中可以很清楚地看到产生第一个迭代使能信号“en”,“mux2_1”模块选择的是随机种子“random”参与混沌迭代计算,在此后产生迭代使能信号“en”时,“mux2_1”模块选择的都是从“count”模块反馈的混沌序列信号“out2”参与混沌迭代计算。通过将软件仿真的“Top4”模块的输出结果数据与实际计算的结果数据进行比较,发现软件仿真的结果数据与实际计算的结果数据是完全一致的,可以证明“Top4”模块的功能没有问题。“Top4”模块功能仿真的代码覆盖率结果如下图35所示: 图35 “Top4”模块功能仿真的代码覆盖率结果 从图35的代码覆盖率结果可知,“Top4”模块功能仿真的代码覆盖率并没有达到100%,经过分析原因有两个,一个原因是“diedai”模块的设计代码中迭代使能信号“en”和迭代状态信号“state”的组合情况没有全部出现,仿真器没有仿真到除“diedai”模块的设计代码中迭代使能信号“en”和迭代状态信号“state”的组合情况之外的其他组合情况,所以条件分支覆盖率不会达到100%。另一个原因是在“diedai”模块的设计代码中有这样的语句,当迭代次数寄存器加到65535时,迭代次数寄存器置1,并且从1开始继续加1,而为了仿真的快速性,在“Top4”模块的测试代码中没有给那边对的时间让迭代次数寄存器加到65535,所以在“diedai”模块的设计代码中的一个if语句分支没有被仿真到,仿真结果的条件分支覆盖率不会达到100%。 3.2.11 Top5模块 “Top5”模块主要由“mapping”模块和“Top4”模块组成,仿真“Top5”模块的主要作用是仿真当“mapping”模块和“Top4”模块联合时,其功能是否正确。基于FPGA设计的“Top5”模块如下图36所示: 图36 基于FPGA设计的“Top5”模块 “Top5”模块的功能仿真结果如下图37所示: 图37 “Top5”模块的功能仿真结果 从上图37的仿真结果可以分析得知,在给“Top5”模块初次上电后,给“mapping”模块的复位信号“reset”一个有效的低电平,让“mapping”模块完成一次复位操作,然后给“mapping”模块的数据输入端“din”一个有效数据作为实数域中的初始密码,实数域中的初始密码给定后,给“mapping”模块的输入完成标志信号“flag”一个有效的高电平“1”,此后“mapping”模块将完成实数域中的初始密码到整数域的映射过程。在整数域中的初始密码得到后,给“Top4”模块的复位信号“clr”一个有效低电平“0”,使“Top4”模块完成一次复位操作,随后“Top4”模块将利用“mapping”模块产生的整数域中的初始密码参与混沌迭代运算。通过将图37的软件仿真结果数据与实际计算的结果数据相比较,比较结果是软件仿真的结果数据和实际计算的结果完全一致,可以证明“Top5”模块的功能没有问题。“Top5”模块功能仿真的代码覆盖率结果如下图38所示: 图38 “Top5”模块功能仿真的代码覆盖率结果 从图38的代码覆盖率结果可知,“Top5”模块功能仿真的代码覆盖率没有达到100%。其原因和上文所述的“Top4”模块功能仿真的代码覆盖率的原因一样,在此就不再进行重复说明。 5、 动态口令芯片的效果分析 本文利用FPGA系统实现了上述的动态口令芯片。其中所用的FPGA芯片选择了Altera公司出品的Cyclone II EP2C8Q208C8N。该芯片拥有8256个逻辑单元,208个I/O管脚。整个系统工作于50Mhz的频率下。同时本文随机完成了4组,每组1498个动态口令数据的实验。每一组的随机种子和密码见下表1所示: 表1 4组随机数的初始密码和随机种子 通过上述种子和密码,试验中得到了4组,每组1498个,共计5992 个随机数。这些随机数具有很好的混沌分布特点。下表2给出了这些随机数分布的一些指标。 表2 随机数分布指标 表2中A1至A5分别表示随机数落在最大值的0%-20%区间内,20%-40%区间内,40%-60%区间内,60%-80%区间内,80%-100%区间内。可以发现,这些随机数的区间分布非常良好。不同于高斯分布,如果是一个混沌随机数,理想状况的各个数值区间分布概率是相等的。表中显示,4组随机数的平均值均在0.5倍最大值附近,和理想情况非常接近。 定义平均绝对差为每个随机数减去平均值的差的绝对值的平均数,理论上,如果样本数够高,平均绝对差应该为0.25倍最大值,从本次实验上来看,非常接近理想值。 图39 T4前150个随机数分布图 为了直观地给出随机数的分布情况,图39给出了试验中前150个随机数的分布情况。图39中纵坐标是随机数的取值,横坐标是随机数的序号,图中按照从左向右的顺序描绘出150个数据点,可以看出,在整个随机数取值的区间,这些随机数有着非常好的随机分布。 6、 结论 本文通过对Logistic混沌模型的分析,设计了一款适用于硬件电路实现的算法,并且根据该算法完成了一个8位动态口令牌芯片设计,并且利用FPGA技术实现了该芯片。通过实验验证,该动态口令芯片的混沌状态良好,动态口令的平均值接近最大值的一半,而平均绝对差接近最大值的四分之一。通过“描点法”,也非常直观地看出该动态口令一直处于混沌状态。 通过估算,破解该算法代价是非常大的,每一次尝试破解随机种子和密码,仅仅需要记录的数据就超过8G,从超过8G的数据中,再进行下一次反复验证迭代,才有可能破解该动态口令的密码。而本文的密码仅仅为32位的二进制数,也就等同于2个ASCII字符作为密码,如果把密码增加到8个ASCII字符,则完成一次分析的数据量高达1012G以上,计算时间估计约几亿年,已经超出人类可以破解的时间尺度。 本文提出的Logistic混沌算法具有便于硬件实现,算法速度快,应用广泛等优点。而本文实现的动态口令芯片具有速度快,加密算法安全性高,专利授权成本低等优点,对于银行安全认证,游戏安全认证,个人身份证等有非常现实的应用价值。 7、 参考文献 [1]文件加密原理和破解方法的综述,何毅超;网络安全技术与应用,Network Security Technology & Application,编辑部邮箱2008年01期 89-91 [2]加密技术原理及应用浅析,叶敏展;中国数据通信,China Data Communication Net ,编辑部邮箱2004年09期73-75 [3]一类基于Logistic混沌系统的图像加密算法,马伟;燕善俊;朱旭超;徐州教育学院学报,Journal of Xuzhou Education College,编辑部邮箱 2008年03期 193-194 [4]杨晶 高俊山 孙百瑜.Logistic混沌序列加密改进方案.自动化技术与应用 2004 2 [5]陈永强 孙华宁.基于二维混沌映射的数字图像加密算法 J.武汉工业学院学报 2004 4 [6]从K宝到动态口令,农行网上银行构筑双保险 山林 《金融电子化》 2008年01期 49-50 [7]从动态口令卡看建行与工行个人网银产品对比分析 周立;企业家天地下半月刊(理论版),编辑部邮箱,2008年09期 176-177 [8]动态口令身份认证的方法和实现原理,周华,中国公共安全(学术版),China Public Security(Academy Edition),2009年03期 145-147 [9]基于时间同步的动态口令认证系统,李晓东;贾慧斌;信息网络安全,Netinfo Security,编辑部邮箱,2010年05期 69/75 [10]FPGA技术的最新发展,朱明程,《电子技术应用》1997年第2期 [11]一种基于Logistic映射的数字图像迭代混沌加密方法,A Sort of Digital Image Repeat Chaotic Encryption Based on Logistic Map;Zhang Xiaohong Huang Jian Xie Fei,Computer Study,编辑部邮箱,2003年05期 36-37 [12]基于Logistic映射和正弦混沌映射的交替混沌加密算法,陆秋琴;马亮;科技信息(学术研究),编辑部邮箱,2008年12期 106-108 [13]一种值得注意的动力学行为,刘曾荣;黄欣,《力学学报》,1997年第01期 [14] Schuster H.G.Deterministic Chaos:An Introduction (Second Revised Edition)[M].Federal Republic of Germany:VCH,1988 8、 附录 (1) 动态口令芯片的电路图 1.动态口令芯片的整体结构图 2.Logistic核心算法模块结构 3. 基于FPGA设计的顶层电路图 (2) 基于FPGA设计的动态口令芯片各个子模块的设计代码 1. count模块设计代码 //Logistic迭代乘法计算模块,包括了数值映射模块 module count(out1, out2, x0, x1, a0, clk, clr ); output [63:0]out1;//输出结果 output [15:0]out2;//数值映射模块的输出 input clk,clr;//工作时钟 input[33:0]a0;//a0为给的初始密码 input[15:0]x0,x1;//x0为输入的定义域,x1为定义域的补码
/
本文档为【基于FPGA的动态口令芯片设计毕业论文】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索