网络安全DES算法实现大作业报告_第1页
网络安全DES算法实现大作业报告_第2页
网络安全DES算法实现大作业报告_第3页
网络安全DES算法实现大作业报告_第4页
网络安全DES算法实现大作业报告_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于des算法的数据加密解密的软件实现摘要随着信息社会的到来,人们在享受信息资源巨大利益的同时,也面临着信件的挑战安抚安全的严峻考验。信息安全已经成为全球现实问题,信息安全问题已经威胁到国家政治统治、经济、军事、文化、意识形态等领域的同时,信息安全问题也是人们能否保护自己的个人隐私的钥匙。信息安全是社会稳定和安全的必要前提。牙齿文档是对常用档案加密密码分析算法的技术研究论文,详细介绍了实现档案加密密码分析算法的方法和技术。分析研究了公钥密码系统和私钥密码系统,研究了公钥密码系统和私钥密码系统的代表性des算法。关键字:档案密码分析、档案加密、密码系统、des。第一章des算法的技术背景介绍1.

2、1背景和意义des是20世纪70年代中期由美国ibm的密码算法开发的。1977年1月15日,美国国家标准局正式宣布实施,并获得iso批准。在过去的20年里,des广泛用于美国联邦和各种业务信息的安全和保密,通过多种密码分析和攻击展现了令人满意的单词完整性。但是随着密码分析技术和计算能力的提高,1994年美国决定不再使用des算法,现在des算法已被更安全的解密算法取代。尽管如此,des加密算法还不能完全解密,des算法的加密密码分析算法非常快,是目前应用最广泛的对称密码算法。在国内,随着三金工程(尤其是金卡工程)的开始,des算法在pos、atm、磁卡、智能卡、加加站、高速公路收费站等领域得到

3、了广泛应用。卡人的pin加密假牌、ic卡和pos机器之间的双向身份验证、金融交易包m1.2系统设计1.2.1系统主要目标基本要求部分:1.可以加密纯文本组,加密后可以正确解密。程序运行时,可以输出所有键集。实施了任意长度的显式加密,未输出每个加密倒圆角的结果。因为如果明文长度太长,每个加密回合的结果都很多。程序有良好的人机电脑互动。高要求部分:1.如果纯文本由两个或多个组组成,则程序可以完成分组并加密。如果最后一个组长度不足,则必须完成填充。2.密钥使用ascii代码,纯文本输入信息可以是字符(汉字或英语,需要多个加密分组长度),也可以是任何字符。加密后,可以进行准确的解密。3.节目代码具有较

4、好的结构,模块合理划分,封装在类中,调用类的成员函数以提供加密密码分析功能。1.2.2操作环境本软件使用c#语言编写,用于编写的工具主要是visual studio。成功编辑的。exe文件可用于安装了windows系统的任何计算机。测试平台:使用windows xp professional的软件:microsoft visual studio 2005。1.2.3功能模块密钥模块、加密模块、密码分析模块第二章相关技术简介与发展2.1 des算法简介des算法是密码系统的对称密码系统,已成为美国数据加密标准,是1972年美国ibm牙齿开发的对称密码系统加密算法。密钥长度为56位,纯文本分组为6

5、4位,并通过替换或交换分组的纯文本组和56位密钥形成密文组的加密方法。des加密算法的特点:分组短、密钥太短、密码生命周期短、计算速度慢。data操作的基本原则是入口参数具有3个3360键、数据和模式。密钥是用于解密加密的密钥,data是加密解密的数据,mode是操作模式。模式为加密模式时,纯文本分组为64位,形成纯文本组,密钥用于数据加密,模式为密码分析模式时,密钥用于解密数据。在实际操作中,密钥仅使用64位中的56位,因此具有很高的安全性。1977年获得美国政府正式许可的数据加密标准(des)算法是用56位密钥加密64位数据的方法。56位密钥的des算法已经没有风景,有很多报道用des加密

6、的明文解密,但是理解科举美国的标准加密算法总是有益的,现在des算法被广泛使用,在某些情况下发挥余热。(威廉莎士比亚,美国电视电视剧)2.2问题解决构想基本要求部分可以加密纯文本组,加密后可以正确解密。您可以在程序运行时输出所有的键集。实施了任意长度的显式加密,未输出每个加密倒圆角的结果。因为如果明文长度太长,每个加密回合的结果都很多。节目有良好的人机电脑互动。高要求部分纯文本由两个或多个组组成时,程序可以完成分组并加密。如果最后一个组长度不足,则必须完成填充。密钥使用ascii代码,纯文本输入信息可以是字符(汉字或英语,需要多个加密分组长度),也可以是任何字符。加密后,可以进行准确的解密。节

7、目代码具有较好的结构,模块合理划分并封装在类中,调用类的成员函数以提供加密密码分析功能。2.3 des算法开发本世纪50年代以来,密码学研究领域最具代表性的两个茄子成果出现了。其中之一是1971年美国学者塔奇曼和迈尔根据信息论创始人香农牙齿提出的“多加密有效性理论”创建后,1977年美国国家标准局公布的数据加密标准。des密码实际上是lucifer密码的进一步发展。使用传统加密方法的块密码。算法是对称的,可以用于加密和解密。美国国家标准局1973年开始研究国防部以外其他部门的电脑系统的数据加密标准,1973年五月15日和1974年八月27日先后发表了两次寻求加密算法的公告。加密算法想要实现的目

8、的通常称为des密码算法,其要求主要有以下四种:提供高质量的数据保护,防止未经授权的数据泄露和未经授权的修改。解密的开销超过了可能的收益,同时要轻松理解和掌握des密码系统的安全性,必须不依赖算法的机密性。其安全性应基于加密密钥的机密性实现经济,运行有效,并应用于多个完全不同的应用程序。(威廉莎士比亚,安全性,安全性,安全性,安全性,安全性,安全性,安全性,安全性,安全性,安全性,安全性,安全性)1977年1月,美国政府宣布,ibm牙齿设计方案采用了非机密数据的正式数据加密标准(des枣数据加密标准)。目前,随着三金工程(尤其是金卡工程)的开始,des算法在pos、atm、磁卡、智能卡(ic卡

9、)、加油站、高速公路收费站等领域得到了广泛应用。实现关键数据的机密性,例如信用卡持有人的pin加密传输,以及ic卡和pos之间的双向身份验证。des算法的条目参数有三个:键、数据和模式。其中密钥为8字节共64位,是des算法的操作密钥。data也是将以8字节64位加密或解密的数据。mode有两种des工作的茄子方法:加密或解密。des算法是这样工作的。例如,如果mode是加密的,则使用密钥加密数据数据,并生成data的密码格式(64位)作为des的输出。如果mode是解密,请使用密钥(key)对密码格式的数据数据进行解密,并将其恢复为data的显式格式(64位),作为des的输出。在通信网络的

10、两端,双方同意从通信的来源点用密钥(key)对核心数据进行des加密,然后从公用通信网(如电话网)向通信网络的端点进行密码传输。数据到达目的地后,用相同的密钥解密密码数据,就能再现明文形式的核心数据。(约翰f肯尼迪、美国电视电视剧(northern exposure)、通信)这有助于确保核心数据(如pin、mac等)通过公共通信网络传输的安全性和可靠性。通过定期从通信网络的源和目标转换到新的key,进一步提高了数据机密性。这就是当前金融交易网络的流行做法。第三章des算法的应用3.1 des算法详细信息des算法将64位纯文本输入块更改为64位密文输出块。使用的密钥也是64位。牙齿功能按位重新

11、组合输入的64位数据块,并将输出除以l0、r0。每个部分的长度都是32位。变位规则如下表所示。58,50,12,34,26,18,10,2,60,52,44,36,28,20,1262,54,46,38,30,22,14,64,56,48,40,32,24,16,857,49,41,33,25,17,9,1,59,51,43,35,27,19,1161,53,45,37,29,21,13,5,63,55,47,39,31,23,即将输入的58位是第一位,50位是第二位,背部最后一位排在第7位。l0,r0是置换输出的两个部分,l0是输出的左侧32位,r0是右侧32位。例如,重新定位前输入的值为d

12、1d2d3.如果设置为d64,则初始位置更改后的结果为l0=d550.d8;r0=d57d49.d7。在26次迭代操作后,得到l16,r16,作为输入得到反向替换,即密文输出。逆位移正好是初始位置的逆运算。例如,第一位在经过初始位移后为第40位,通过反向位移将第40位更改回第1位。反向位移规则如下表所示。40,8,48,16,56,24,64,32,39,7,47,15,55,23,6338,646,14,54,22,62,30,37,545,13,53,21,61,29,36,4,44,12,52,20,60,28,35,3,43,11,51,19,5934,2,42,10,50,18,58

13、 26,33,1,41,949,17,57,25,放大置换表32、1、2、3、4、5、4、5、6、7、8、9、8、9、10、11、12、13、12、13、14、15、16、17、16、17、18、19、20、21、20、21、22、23、24、25、24、25、26、27、28、29、29、30、31、32、1、简单过渡表16,7,20,21,29,12,28,17,1,15,23,26,5,18,2,8,24,14,32,27,3,9,19,13,30,6,22,11,3.2功能模块应用节目3.2.1密钥模块private void key(string str)/牙齿函数用于获取键数组st

14、r是密钥字符串。最后得到密钥二进制数组。使用类成员数组键进行存档。private void keybuild()/牙齿函数用于配置16轮键private void key create(intmid key 2,int move bit,int n)/牙齿函数用于在执行pc2位移的同时向左移动回路上述两个函数生成16个倒圆角键,最后存储在类成员2d数组keyarray中。private void showkey()/牙齿函数用于显示键3.2.2加密模块private void button 2 _ click(object sender,eventargs e)/加密事件加密事件包含array

15、des()函数。private void arraydes()/牙齿函数用于加密纯文本arraydes()包含以下函数:plainarray()、key()、keybuild()、keycreate()、showkey()和des()。private void plain array(string str)/牙齿函数用于获取纯文本字符串的二进制数组。privatevoiddes (int , plain,int key,int n)/des加密函数3.2.3密码分析模块private void button 4 _ click(object sender,eventargs e)/事件密码分析

16、private void exchange()/牙齿函数用于交换16个倒圆角关键点,并将第一个倒圆角变为最后一个倒圆角private void arraydecode()/牙齿函数用于解密组private void encode array(string st)/牙齿函数用于将十六进制密码短语转换为二进制private void decode (refint , plain,int key,intn)/密码分析函数第四章des周边技术的发展4.1基本要求部分4.1.1初始更换ip将ip框分为左32位和右32位,将纯文本左32位和右32位分别分为ip位移,最后将纯文本分为左32位和右32位(带有ip位移),准备下一步。for(i=0);i 32i)ldatai=encodeip1i-1;rdatai=encodeip1i 32-1;循环变量i用于查找ip框中下标为i的数字。ipi删除牙齿数字。因为计算机的下标是从0开始计算的。ipi表是纯文本二进制中的第一个数字,因此必须从纯文本二进制替换为ipi-1。4.1.2 e盒扩展private void echange(refintrdata,refint rdatap)for(int i=0);i 48i)rdatapi=rdataei-1;rdata表示要传递的右侧32位二进制文本,rdatap表示在e框更改后返回的48

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论