信息安全与编码-实现DES算法-报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息安全与编码 题目:实现DES算法 DES加密解密算法 1、问题背景 科技的发展特别是网络的发展使计算机深入到了各行各业的方方面面,计算机在带来方便和提高了工作效率的同时却也带来了各种各样的新问题,其中信息安全问题最为突出,随着计算机信息安全要求的不断提高, 计算机保密系统已变得越来越重要,密码学应用不再是局限于军事、国防等有限领域,而是迅速的走进了千家万户。 2、DES算法的进展 算机通信网的发展对信息的安全保密的要求日益增长,未来的数据传输和存储都要求有密码保护,为了实现同一水平的安全性和兼容性,提出了数据加密标准化。美国国家标准局NBS(National Bureau of Standards)在1973年5月13日的联邦记录中公布了一项公告,征求在传输和存储数据中保护计算机数据的密码算法的建议,这一举措最终导致了数据加密标准(DES)[2],[7],[8],[9],[11]的研制。DES是迄今为止世界上最为广泛使用和流行的一种分组密码算法,它是由美国IBM公司研制的,是早期的称作Lucifer密码的一种发展和修改。在做了大量公开讨论后,1977年1月15日DES正式被批准并作为美国联邦信息处理标准,同时规定每隔5年由美国国家保密局NSA ( National Security Agency ) 作出评估,并重新批准它是否继续作为联邦加密标准。 DES是一种对二元数据进行加密的算法,数据分组长度为64bit,输出密文分组长亦为64bit,没有数据扩展。密钥长度为64bit,其中有8bit为奇偶校验位,有效密钥长度为56bit,DES的整个体制是公开的,系统的安全性靠密钥的保密来承担。 DES简介 DES(Data Encryption Standard)是由美国IBM公司于20世纪70年代中期的一个密码算(LUCIFER)发展而来,在1977年1月15日,美国国家标准局正式公布实施,并得到了ISO的认可,在过去的20多年时间里,DES被广泛应用于美国联邦和各种商业信息的保密工作中,经受住了各种密码分析和攻击,有很好的安全性。然而,目前DES算法已经被更为安全的Rijndael算法取代,但是DES加密算法还没有被彻底的破解掉,仍是目前使用最为普遍的对称密码算法。所以对DES的研究还有很大价值,在国内DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键的数据保密,如信用卡持卡人的PIN码加密传输,IC卡与POS机之间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。 DES算法是一种采用传统的代替和置换操作加密的分组密码,明文以64比特为分组,密钥长度为64比特,有效密钥长度是56比特,其中加密密钥有8比特是奇偶校验,DES的加密和解密用的是同一算法,它的安全性依赖于所用的密钥。它首先把需要加密的明文划分为每64比特的二进制的数据块,用56比特有效密钥对64比特二进制数据块进行加密,每次加密可对64比特的明文输入进行16轮的替换和移位后,输出完全不同的64比特密文数据。由于DES算法仅使用最大为64比特的标准算法和逻辑运算,运算速度快,密钥容易产生,适合于在大多数计算机上用软件快速实现,同样也适合于在专用芯片上实现。 AES算法加密解密原理 DES算法的加密过程首先对明文分组进行操作,需要加密的明文分组固定为64比特的块。图 图4-1DES加密算法流程 图4-2子密钥产生流程 5、DES算法编程实现 DES加密解密过程主要函数有: show1();//主界面 show2();//加密界面 reader();//读取明文和密钥 To2Bin();//将字节转换成二进制流 Replacement();//替换函数 lif_move();//左移位实现函数 SubKey();//子密钥产生函数 S_compress();//S盒压缩变换,其中数组shc存放经过s盒的结果 To10();//二进制转十进制 To102();//二进制转十进制 F_Function();//F函数 Encryption();//加密函数 changeKey();// Decryption();//解密函数 print();//输出函数 部分源程序代码如下: //加密函数 void Encryption(int m0[64],int c1[64]){ int i,k; int arry[32]; int c0[64],m1[64]; Replacement(m0,IP_Table,m1,64); //初始置换IP for(i=0;i32;i++){ L[0][i]=m1[i]; R[0][i]=m1[i+32];} k=1; whi

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档