verilog_实现DES密码算法.doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
verilog_实现DES密码算法

verilog 实现DES密码算法 收藏 1.课题概述(任务、目的、要求) 本课题的任务:利用verilog语言编写出DES密码算法,并在Quartus ii上综合,得到 RTL级电路。 本课题的目的:1. 通过本课题熟练掌握verilog语言,并理解DES加密原 理; 2. 熟悉Quartus ii 软件使用方法。 本课题的要求: 通过本课题的研究,要独立完成本实验,得到综合结果。 2.设计思路及采取的方案 思路:首先,要分析DES加密过程,深入理解DES加密原理;然后提取DES数据路径。 方案:把DES分解成多个模块,分别用verilog语言编写,最后利用顶层模块调用完 成整个DES编码。 4.总结与体会(包括:设计中遇到的问题及解决过程;设计中产生的错误及原因分析;设 计体会和收获) 在设计过程中,遇到不少错误,例如:在verilog语法方面,各种数据类型的定义,always 语句中,“=”左边数据要定义成reg型,assign语句“=”左边要定义成wire型等等,另外在设 计过程中还要把握层次,头脑中要有清晰的思路,例如DES编程,首先要分模块,然后调 用,就很有讲究,DES分为三大模块:IP置换,IP逆置换,轮运算,以及密钥生成模块。 我们就要层次分明去编写,最后调用,否则就会乱成一片,信号就会弄不清楚。还有在设计 当中要养成良好的习惯,便于修改和查看。 5.主要参考文献 《应用密码学》 电子工业出版社 胡向东 魏琴芳编著 《密码芯片设计技术基础》 电子技术学院 戴紫彬 孙万忠 陈韬 编著 《IC设计基础》 西安电子科技大学出版社 任艳颖 王彬编著 6.附录(原程序代码及注释等) module DES_top(DES_in,DES_key,DES_out); input [1:64] DES_in; input [1:64] DES_key; output [1:64] DES_out; wire [1:64] IP_a; wire [1:32] L1_L,L1_R,L2_L,L2_R,L3_L,L3_R,L4_L,L4_R,L5_L,L5_R,L6_L,L6_R,L7_L,L7_R,L8_L,L8_R, L9_L,L9_R,L10_L,L10_R,L11_L,L11_R,L12_L,L12_R,L13_L,L13_R,L14_L,L14_R,L15_L, L15_R,L16_L,L16_R; IP IP(.IPin(DES_in),.IPout(IP_a)); wire [1:48] lkey1,lkey2,lkey3,lkey4,lkey5,lkey6,lkey7,lkey8,lkey9,lkey10,lkey11,lkey12,lkey13,lkey14,lkey15,lkey16; key_top key_top(.key_in(DES_key),.key1(lkey1),.key2(lkey2),.key3(lkey3),.key4(lkey4), .key5(lkey5),.key6(lkey6),.key7(lkey7),.key8(lkey8),.key9(lkey9), .key10(lkey10),.key11(lkey11),.key12(lkey12),.key13(lkey13),.key14(lkey 14), .key15(lkey15),.key16(lkey16)); desL desL1(.inR(IP_a[33:64]),.inL(IP_a[1:32]),.KEY(lkey1),.outL(L1_L),.outR(L1_R)), desL2(.inR(L1_L),.inL(L1_R),.KEY(lkey2),.outL(L2_L),.outR(L2_R)), desL3(.inR(L2_L),.inL(L2_R),.KEY(lkey3),.outL(L3_L),.outR(L3_R)), desL4(.inR(L3_L),.inL(L3_R),.KEY(lkey4),.outL(L4_L),.outR(L4_R)), desL5(.inR(L4_L),.inL(L4_R),.KEY(lkey5),.outL(L5_L),.outR(L5_R)), desL6(.inR(L5_L),.inL(L5_R),.KEY(lkey6),.outL(L6_L),.outR(L6_R)), desL7(.inR(L6_L),.inL(L6_R),.KEY(lkey7),.outL(L7_L),.o

文档评论(0)

allap + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档