DES加密算法分析(毕业学术论文设计).docx

上传人:wj 文档编号:118270 上传时间:2022-10-03 格式:DOCX 页数:32 大小:273.24KB
下载 相关 举报
DES加密算法分析(毕业学术论文设计).docx_第1页
第1页 / 共32页
DES加密算法分析(毕业学术论文设计).docx_第2页
第2页 / 共32页
DES加密算法分析(毕业学术论文设计).docx_第3页
第3页 / 共32页
DES加密算法分析(毕业学术论文设计).docx_第4页
第4页 / 共32页
DES加密算法分析(毕业学术论文设计).docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

DES加密算法分析(毕业学术论文设计).docx

《DES加密算法分析(毕业学术论文设计).docx》由会员分享,可在线阅读,更多相关《DES加密算法分析(毕业学术论文设计).docx(32页珍藏版)》请在冰豆网上搜索。

DES加密算法分析(毕业学术论文设计).docx

信息安全概论论文

论文题目DES加密算法分析

班 级0307401

学 号030740121

姓 名

时 间2010年11月20日

摘要

DES数据加密算法是使用最广的分组加密算法,它作为最著名的保密密钥或对称密钥加密算法,在计算机密码学及计算机数据通信的发展过程中起了重要作用。

本次学年论文是主要是学习介绍DES对称密钥数据加密算法,并用c++实现。

DES算法具有较高的安全性,为我们进行一般的计算机数据传输活动提供了安全保障。

关键词:

加密与解密,DES算法,S-盒

II

目录

摘要 II

目录 III

第一章引言 1

第二章 概述 2

2.1加密与解密 2

2.2单钥密码系统 2

2.3分组密码的总体结构 4

2.4分组密码的安全性 4

第三章 DES算法简介 5

3.1简介 5

3.2DES加密标准 6

3.2.1初始置换IP 7

3.2.2IP-1是IP的逆置换 7

3.2.3DES算法的迭代过程 8

3.2.4子密钥的生成 12

3.3DES算法的解密过程 13

第四章 DES算法用C++语言实现 14

4.1设置密钥函数des_setkey() 14

4.2f函数和S函数f_func()和s_func() 14

4.3DES算法的运行函数des_run() 16

4.4DES算法的主函数voidmain() 18

4.5DES的加密过程和举例 19

4.6DES算法的分析 20

参考文献 22

结束语 23

附录1 DES算法用C++实现的源代码 24

第一章引言

密码学是伴随着战争发展起来的一门科学,其历史可以追溯到古代,并且还有过辉煌的经历。

但成为一门学科则是近20年来受计算机科学蓬勃发展的刺激结果。

今天在计算机被广泛应用的信息时代,信息本身就是时间,就是财富。

如何保护信息的安全(即密码学的应用)已不再局限于军事、政治和外交,而是扩大到商务、金融和社会的各个领域。

特别是在网络化的今天,大量敏感信息(如考试成绩、个人简历、体检结果、实验数据等)常常要通过互联网进行交换。

(现代电子商务也是以互联网为基础的。

)由于互联网的开放性,任何人都可以自由地接入互联网,使得有些不诚实者就有可能采用各种非法手段进行破坏。

因此人们十分关心在网络上交换信息的安全性。

普遍认为密码学方法是解决信息安全保护的一个最有效和可行的方法。

有效是指密码能做到使信息不被非法窃取,不被篡改或破坏,可行是说它需要付出的代价是可以接受的。

密码是形成一门新的学科是在20世纪70年代。

它的理论基础之一应该首推1949年

Shannon的一篇文章“保密系统的通信理论”,该文章用信息论的观点对信息保密问题作了全面的阐述。

这篇文章过了30年后才显示出它的价值。

1976年,Diffie和Hellman发表了论文《密码学的新方向》,提出了公钥密码体制的新思想,这一思想引发了科技界对研究密码学的极大兴趣,大量密码学论文开始公开发表,改变了过去只是少数人关起门来研究密码学的状况。

同时为了适应计算机通信和电子商务迅速发展的需要,密码学的研究领域逐渐从消息加密扩大到数字签名、消息认证、身份识别、抗欺骗协议等新课题。

美国国家标准局(NBS)1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,并批准用于非机密单位及商业上的保密通信。

于1973年5月15日和1974年

8月27日先后两次向公众发出了征求加密算法的公告。

1977年1月,美国政府颁布:

采用IBM公司1971年设计出的一个加密算法作为非机密数据的正式数据加密标准(DES:

DataEncryptionStandard)。

DES广泛应用于商用数据加密,算法完全公开,这在密码学史上是一个创举。

在密码学的发展过程中,DES算法起了非常重要的作用。

本次学年论文介绍的就是分组加密技术中最典型的加密算法——DES算法。

0

第二章 概述

2.1加密与解密

加密技术是基于密码学原理来实现计算机、网络乃至一切信息系统安全的理论与技术基础。

简单的说,加密的基本意思是改变信息的排列形式,使得只有合法的接受才能读懂,任何他人即使截取了该加密信息也无法使用现有的手段来解读。

解密是我们将密文转换成能够直接阅读的文字(即明文)的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。

2.2单钥密码系统

密码学中有两种重要类型的密码系统,单钥(私钥)和双钥(公钥)密码系统。

在单钥密码系统中,明文的加密和密文的解密是用同样的密钥。

直到1976年

Diffie、Hellman引入公钥(双钥)密码学之前,所有的密码都是单钥系统,因此单钥系统也称为传统密码系统。

传统密码系统广泛地用在今天的世界上,有两种单钥密码体制:

流密码和分组密码。

流密码是利用密钥k产生一个密钥流z=z0z1…,并使用如下规则对明文串

x=x0x1x2…加密:

y=y0y1y2…=Ez0(x0)Ez1(x1)Ez2(x2)…。

密钥流由密钥流发生器f产生:

zi=f(k,σi),这里σi是加密器中的记忆元件(存储器)在时刻i的状态,f是由密钥k和σi产生的函数。

而分组密码就是将明文消息序列:

m1,m2,…,mk,…

划分为等长的消息组

(m1,m2,…m),(mn+1,mn+2,…,m2n),…

各组明文分别在密钥k=(k1,k2,…,kt)的控制下,按固定的算法Ek一组一组进行加密。

加密后输出等长密文组

(y1,…,ym),(ym+1,…,y2m),…

分组密码的模型,如图2.1所示。

22

图2.1分组密码的模型

它与流密码的不同之处在于输出的每一位数字不只与相应时刻输入明文数字有关,而是与一组长为m的明文数组有关。

它们的区别就在于有无记忆性(如图2.2)。

流密码的滚动密钥z0=f(k,σ0)由函数f、密钥k和指定的初态σ0完全确定。

此后,由于输入加密器的明文可能影响加密器中内部记忆元件的存储状态,因而σi(i>0)可能依赖于k,σ0,x0,x1,…,xi-1等参数。

图2.2流密码与分组密码的区别

分组密码的优点在于其容易实现同步,因为一个密文组的传输错误不会影响其他组,丢失一个明密文组不会对其后的组的解密正确性带来影响。

分组密码又分为三类:

代替密码(Substitution)、移位密码(Transposition)和乘积密码。

随着计算技术的发展,早期的代替和移位密码已无安全可言。

一个增加密码强度的显然的方法是合并代替和移位密码,这样的密码称为乘积密码。

如果密文是由明文运用轮函数多次而得,这样的乘积密码又称为迭代分组密码。

DES和今天的大多数分组密码都是迭代分组密码。

目前著名的对称分组密码系统算法有DES、IDEA、Blowfish、RC4、RC5、FEAL等。

2.3分组密码的总体结构

分组密码采用两种类型的总体结构:

SP网络与Feistel网络,它们的主要区别在于:

SP结构每轮改变整个数据分组,而Feistel密码每轮只改变输入分组的一半。

AES和DES分别是这两种结构的代表。

Feistel网络(又称Feistel结构)可把任何轮函数转化为一个置换,它是由HorstFeistel在设计Lucifer分组密码时发明的,并因DES的使用而流行,“加解密相似”是Feistel型密码的实现优点。

SP网络(又称SP结构)是Feistel网络的一种推广,其结构清晰,S一般称为混淆层,主要起混淆作用,P一般称为扩散层,只要起扩散作用。

SP网络可以更快速的扩散,不过SP网络的加解密通常不相似。

2.4分组密码的安全性

安全性是分组密码最重要的设计原则,它要求即使攻击者知道分组密码的内部结构,仍不能破译该密码,这也意味着,不存在针对该密码的某种攻击方法,其工作量小于穷密钥搜索。

但是随着密码分析技术的发展,使得对于具有更多轮的分组密码的破译成为可能。

第三章 DES算法简介

3.1简介

DES是DataEncryptionStandard(数据加密标准)的缩写。

它是由IBM公司在

1971年设计出的一个加密算法,美国国家标准局(NBS)于1977年公布把它作为非机要部门使用的数据加密标准[5]。

DES自从公布以来,已成为金融界及其他各种行业最广泛应用的对称密钥密码系统。

DES是分组密码的典型代表,也是第一个被公布出来的标准算法。

原来规定DES算法的使用期为10年,可能是DES尚未受到严重威胁,更主要是新的数据加密标准研制工作尚未完成,或意见尚未统一,所以当时的美国政府宣布延长它的使用期。

因而DES超期服役到

2000年。

近三十年来,尽管计算机硬件及破解密码技术的发展日新月异,若撇开DES的密钥太短,易于被使用穷举密钥搜寻法找到密钥的攻击法不谈,直到进入20世纪90年代以后,以色列的密码学家Shamir等人提出一种“差分分析法”,以后日本人也提出了类似的方法,这才称得上对它有了攻击的方法。

严格地说Shamir的“差分分析法”也只是理论上的价值。

至少到目前为止是这样,比如后来的“线形逼迫法”,它是一种已知明文攻击,需要243≈4.398×1012个明、密文对,在这样苛刻的要求下,还要付出很大的代价才能解出一个密钥。

不管是差分攻击还是线性攻击法,对于DES的安全性也仅仅只做到了“质疑”的地步,并未从根本上破解DES。

也就是说,若是能用类似Triple-DES或是

DESX的方式加长密钥长度,仍不失为一个安全的密码系统。

早在DES提出不久,就有人提出造一专用的装置来对付DES,其基本思想无非是借用硬件设备来实现对所有的密钥进行遍历搜索。

由于电子技术的突飞猛进,专门设备的造价大大降低,速度有质的飞跃,对DES形成了实际的威胁。

DES确实辉煌过,它的弱点在于专家们一开始就指出的,即密钥太短。

美国政府已经征集评估和判定出了新的数据加密标准AES以取代DES对现代分组密码理论的发展和应用起了奠基性的作用,它的基本理论和设计思想仍有重要参考价值。

3.2DES加密标准

现如今,依靠Internet的分布式计算能力,用穷举密钥搜索攻击方法破译已成为可能。

数据加密标准DES已经达到它的信任终点。

但是作为一种Feistel加密算法的例子仍然有讨论的价值。

DES是对二元数字分组加密的分组密码算法,分组长度为64比特。

每64位明文加密成64位密文,没有数据压缩和扩展,密钥长度为56比特,若输入64比特,则第

8,16,24,32,40,48,56,64为奇偶校验位,所以,实际密钥只有56位。

DES算法完全公开,其保密性完全依赖密钥。

它的缺点就在于密钥太短。

设明文串m=m1m2…m64;密钥串k=k1k2…k64。

在后面的介绍中可以看到k8,k16,k24,k32,k40,k48,k56,k64实际上是不起作用的。

DES的加密过程可表示为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1