密码学心得体会(DES数据算法)_第1页
密码学心得体会(DES数据算法)_第2页
密码学心得体会(DES数据算法)_第3页
密码学心得体会(DES数据算法)_第4页
密码学心得体会(DES数据算法)_第5页
全文预览已结束

下载本文档

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

文档简介

1、现代密码学小论文姓名:肖宽学号:P111813618 专业:11级电子信息工程二班指导教师:李娟数据的DES加密算法摘要:密码学是研究如何隐密地传递信息的学科。在现代特别指对信息以及其传输的数学性研究,常被认为是数学和计算机科学的分支,和信息论也密切相关。著名的密码学者Ron Rivest解释道:“密码学是关于如何在敌人存在的环境中通讯,自工程学角度,这相当于密码学与纯数学的异同。密码学是信息安全等相关议题,如认证,访问控制的核心。密码学的首要目的是隐藏信息的涵义,并不是隐藏信息的存在。密码学也是促进计算机科学,特别是在于电脑与网络安全所使用的技术,如访问控制与信息的机密性。密码学已经被应用在

2、日常生活:包括自动柜员机的芯片卡,电脑使用者存取密码,电子商务等等。本文以DES数据加密算法为例,演示如何使用c#中的加密包进行DES算法加密,关键词:加密 对称 非对称DES 密钥 明文20世纪70年代,主机时代的信息安全是面向单机的,由于早期的用户主要是军方,信息安全的主要内容是保密,20世纪80年代,微机和局域网的兴起带来了信息在微机间的传输和用户间的共享问题,丰富了信息安全的内函,使人们认识到数据完整性,可用性的重要性。安全服务,安全机制等基本框架成为信息安全的重要内容。20世纪90年代,因特网爆炸性的发展把人类带进了一个新生的生存空间。因特网具有高度分布,边界模糊,层次欠清,动态演化

3、,而用户又在其中扮演主角的特点,如何处理好这一复杂而又巨大的系统的安全,成为信息安全的主要问题。21世纪是信息时代,信息已经成为社会发展的重要战略资源,社会的信息已经成为当今世界发展的潮流和核心,而信息安全在信息社会中将扮演极为重要的角色,它会直接关系到国家安全,企业经营和人们的日常生活。 信息安全可分为系统安全,数据安全和内容安全三个层次,是一个综合,交叉的学科领域,要利用数学,电子,信息,通信,计算机等诸多学科的长期知识积累和最新发展成果。随着信息安全的快速发展,全球对信息安全人才的需求不断增加,但我国起步较晚,目前信息安全人才极度匮乏,远远不能满足金融,商业,公共安全,国防军事和政府等部

4、门的需求。要解决供需矛盾,必须加快信息安全人才的培养,以满足社会对信息安全人才的需求。而我作为一名21世纪的大学生,有机会学到了密码学这门课,从这门课中,我学到了很多有用的知识,让自己受益匪浅。经过半学期的学习,我了解了密码学的大致内容,掌握了密码学的基础知识,密码学主要有以下章节:1密码学概述2流密码3分组密码体制4公钥密码5密钥分配与密钥管理按照密钥方式划分,可分为对称加密算法和非对称加密算法。一、对称加密算法对称加密算法有时又叫做传统密码算法,加密密钥可以从解密密钥中推导出来,解密密钥也可以从加密密钥中推导出来。在大多数的对称算法中 加密密钥和解密密钥是相同的,因此也成为秘密密钥算法或者

5、单密钥算法。它要求发送发和接收方在安全通信之前先商定一个密钥。对称算法的安全性依赖于密钥所以密钥的保密性对通信至关重要。对称加密算法主要有分组加密和流加密两类。分组加密是指将明文分成固定商都的组,用同一密钥分别对每一组加密输出固定长度的密文 典型代表:DES。二、非对称加密算法非对称加密算法有时又叫做公开密钥算法。其中用到两个密钥。一个是公共的。一个事私有的。一个密钥用于加密,另一个密钥用于解密。两个密钥不能够互相推导。常用的非对称加密算法有RSA公钥算法、Diffie-HelIman算法和ECC椭圆曲线密码。以下具体介绍DES算法:我们详细分析一下DES加密算法的处理过程。DES加密算法是分

6、组加密算法明文以64位为单位分成块。64位数据在64位密钥的控制下经过初始变换后 进行1 6轮加密迭代:64位数据被分成左右两半部分每部分32位,密钥与右半部分相结合然后再与左半部分相结合结果作为新的右半部分:结合前的右半部分作为新的左半部分。这一系列步骤组成一轮。这种轮换要重复16次。最后一轮之后,再进行初始置换的逆置换,就得到了64位的密文。DES的加密过程可分为加密处理加密变换和子密钥生成几个部分组成。1加密处理过程(1)初始变换。加密处理首先要对64位的明文按表1所示的初始换位表IP进行变换。表中的数值表示输入位被置换后的新位置。例如输入的第58位,在输出的时候被置换到第1位;输入的是

7、第7位,在输出时被置换到第64位。(2)加密处理。上述换位处理的输出,中间要经过1 6轮加密变换。初始换位的64位的输出作为下一次的输入,将64位分为左、右两个32位,分别记为LO和RO 从L0、RO到L1 6、R16,共进行1 6轮加密变换。其中,经过n轮处理后的点左右32位分别为Ln和Rn则可做如下定义:Ln=Rn-1Rn=Ln一1其中kn是向第n轮输入的48位的子密钥,Ln-1和Rn-1分别是第n-1轮的输出 f是Mangler函数。(3)最后换位。进行1 6轮的加密变换之后,将L1 6和R1 6合成64位的数据再按照表2所示的最后换位表进行IP一1的换位 得到64位的密文 这就是DES

8、算法加密的结果。2加密变换过程通过重复某些位将32位的右半部分按照扩展表3扩展换位表扩展为48位而56位的密钥先移位然后通过选择其中的某些位减少至48位48位的右半部分通过异或操作和48位的密钥结合并分成6位的8个分组通过8个S一盒将这48位替代成新的32位数据,再将其置换一次。这些s一盒输入6位,输出4位。3.子密钥产生过程钥通常表示为64位自然数,首先通过压缩换位,去掉每个字节的第八位,用作奇偶校验,因此,密钥去掉8,16,24,.减至56位,所以实际密钥长度为56位 ,而每轮要生成48位的子密钥。输入的64位密钥,首先通过减压换位得到56位的密钥,每层分成两部分,上部分28位为C0,下部

9、分为D0。C0和D0依次进行循环左移操作生成C1和D1,将C1和D1合成56位,再通过压缩换位PC-2输出48位的子密钥K1,再将将C1和D1进行循环左移和PC-2压缩位,得到子密钥K2.以此类推,得到16个子密钥。4解密处理过程从密文到明文的解密过程可采用与加密完全相同的算法。不过解密要用加密的逆变换就是把上面的最后换位表和初始换位表完全倒过来变换。使用以下实例演示了如何使用c# 中的加密包进行DES算法加密。des_ demo CS代码如下:using System ;using System.Security.Cryptography;using System.IO;using Syst

10、em.Text;public class EncryptsngDES pubIic static void Main(Stringargs)if(args Length ”args0);returnUTF8Encoding utf8Encoding= new UTF8Encoding():byteinputByteArray= utf8Encoding GetBytes(args0ToCharArray():DES des= DES Create():Bytekey= 0x01,0x23,0x45,0x67,0x89,0xab,0xcd Oxef;ByteIV= 0x12,0x34,0x56,

11、0x78,0x90,0xab,Oxcd,Oxef;Des.Key = key;Des.lV = 1V;SymmetricStreamEncryptor sse= des.CreateEncryptor();CryptoMemoryStream cms= new CryptoMemoryStream();Sse.SetSink(cms);sse.Write(inputByteArray);sse.CloseSt ream();byte1 encryptedData= cms.Data;Console WdteLine(”加密结果:”);for(int i= 0;i encryptedData,L

12、ength;i+)ConsoleWrite(“0:X2l”.encryptedDatai);Console WriteLine();SymmetricStreamDecryptor ssd = des.CreateDecryptor();cms= new CryptoMemoryStream();ssd.SetSink(cms);ssd.Write(encryptedData);ssd.CIoseStream();bytedecryptedData;cms.DatachardecryptedCharArray=utf8Encoding.GetChars(decryptedData);Conso

13、le.WriteUne(”解密后数据:”);Console.Write(decryptedCharArray);Console.WriteLiRe(); 编译,运行后:使用C#编写DES加密程序的framework加密结果:3D 22 64 C6 57 D1 C4 C3 CF 77 CE 2F D0 E1 78 2A 4D ED 7A AB 83 F9 0E 14 E1 BA 38 7B 06 41 8D B5 E9 3F 00 0D C3 28 D1 F9 6D 17 4B 6E A7 41 68 40解密后的数据:使用C#编写DES加密程序的frameworkDES算法的安全性极高,到目前为止,除了用穷举搜索法对DES算法进行攻击外,还没有发现更有效的办法。通过穷举搜索空间,可获得总共256个可能的密钥。如果每一秒能检测一百万个的话,需要2000年才能完成检测。可见,这是很难实现的。随着科学技术的发展,超级计算机可能会破解,但我们可以增加DES密钥的长度,以此达到保密性。密码学应用广泛,渗透到社会的各个领域,了解密码学的基础知识,学习密码学的基本技术,会对我们了解信息安全有很大的益处,就目前而言,我们的一些私人信息如身份证号,银行卡密码,手机号,还有平时爱玩的QQ账号

温馨提示

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

评论

0/150

提交评论