基于FPGA的DES算法解密
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
摘要
随着通信的飞速发展,信息安全也越来越显得重要。计算机密码体制的基本思想就是将要保护的信息变成伪装信息,只有合法的接收者才能从中得到真实的信息。本文充分利用FPGA的现场可编程行和并行处理能力,并结合DES算法的基本原理和解密过程,给出了基于FPGA的DES算法的硬件实现,在最后还用Quartus II软件实现了各子模块仿真,验证了DES算法。
关键词: des算法;解密; fpga; 仿真
?DES算法介绍
?DES算法是最为广泛使用的一种分组密码算法,DES对推动密码理论的发展和应用起了重大作用,其后来的许多新涌现出来的分组加密算法等都以它作为理论基础,如目前的IDEA,AES等算法。研究DES算法对于掌握分组密码的基本理论,设计思想和实际应用都有重要的意义。目前在国内,DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。DES算法从1977年公布到现在已有将近30年的历史,虽然有些人对它的加密强度持怀疑态度,但现在还没有发现实用的破译DES的方法。
DES加密标准被广泛使用,在DES的基础上研究出了更安全的加密算法。例如3DES、AES。3DES(即Triple DES)是DES加密算法的一种模式,它使用3条64位的密钥对数据进行三次加密,是DES的一个更安全的变形。它以DES为基本模块,通过组合分组方法设计出分组加密算法。AES是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。它的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128、192、256,分组长度128位。
在20世纪60年代末,IBM设立了一个计算机密码编码学方面的研究项目,并在在1971年底研制出了一种称为Lucifer的算法。到了1973年,美国国家标准局(NBS)征集国家密码标准方案,要求是:
(1)算法必须是安全的(具有保护信息安全的能力);
(2)算法必须是公开的(具有完整的算法说明、容易理解、能为所有用户使用);
(3)算法的安全性必须依赖于密钥,而不应依赖于算法;
(4)能够经济有效的硬件实现:
(5)算法必须能验证;
(6)算法必须能出口;
IBM就提交了研制出的Lucifer加密算法,最后在1976年,DES被采用为联邦标准(FIPS PUB 46),有效期限为5年。随后在1983年、1987年、1993年三次再度授权该算法续用5年。DES加密算法成为金融界以及其它各种产业最广泛应用的对称密钥密码系统。
DES是一种分组加密算法,它以64位为分组对数据加密,64位一组的明文从算法的一端输入,64位的密文从另一端输出,没有数据压缩和扩展。DES也是一种别称加密算法,加密和解密用的同一算法(除密钥编排不同以外),密钥长度为56位(密钥通常表示为64位的数,但每个第8位都用作奇偶校验位,可忽略)。密钥可以为任意的56位数,其中极少数的密钥被认为是弱密钥,但数量很少,并且容易避开这些数。DES算法完全公开,其保密性完全依赖密钥。
DES算法在过去的几十年里已经证明它自己是一种有效的加密算法,到目前为止除了用穷举搜索法强力穷举搜索整个密钥空间外,还没有发现更好的方法。而56位密钥的穷举空间是255,这意味着如果一台机器可以每秒检测一亿个密钥,用它搜索完所有密钥也需要11.4年。随着科技的发展,出现超高速计算机后,可以考虑将密钥的长度再增长一些,如128位,以此来达到所需的保密程度。从整体结构来看,DES加密算法可以分为三个阶段:
(1)对于给定的明文m,通过一个固定的初始置换IP来重新排列m中的所有比特,从而构造比特串mo,我们把64位的比特串m。拆分为左右两个部分,即Mo=IP(m)=LoRo,这里Lo由mo的前32位组成,R0由m0的后32位组成;
(2)计算十六次迭代变换,所有十六次迭代具有相同的结构。第i次迭代运算使用前一次运算得到的结果(第一次迭代以m0=LoRo作为输入)和用户密钥扩展得到的子密钥Ki作为输入量进行运算;每一次迭代运算只对数据的右半部分Ri-l进行变换。
(3)对16次迭代变换后得到的结果使用IP置换的逆置换IP-1,最后得到的输出就是密文。