信息安全导论论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息安全导论课程报告
学生:张凯龙
专业方向:信息与计算科学
年级:2013 级
学号:*******
任课教师:***
2015年12月
密码学的发展及应用
张凯龙
(2013,1357122)
摘要本文主要是关于密码学的发展及其应用的专讲,从密码学的起源开始引入,对其发展历史进行概述。文章的重点是对密码学的内容进行分析,包括古典替换密码、对称密钥密码和公开密钥密码三个大的方面,分别对简单替换密码、多表代替密码、对称密码基本加密、对称密码工作模式、RSA公开密钥算法和Diffie-Hellman密钥交换算法等加密算法的加密原理、加密方法以及解密等这些方面进行比较详细的阐明,以及对部分加密方法如简单替换密码等实验的实际操作。最后通过举例说明密码学在现实生活中的广泛应用。
关键字密码学;加密;解密;算法;密钥
1密码的起源与发展
1.1密码的起源
曾有这样一个故事,斯巴达是古希腊的一个城邦,里面的人以骁勇善战著称,有一天,距城很远的兵营中来了一个转程从斯巴达城赶来送信的奴隶,兵营中有位叫莱桑德的将军读了信以后,感到很失望,因为信中毫无重要信息,就随手把它扔到一边去了。可是,刹那间,将军锐利的目光好像发现了什么,他立刻对这个奴隶说:“把腰带给我”。这是一条普通的腰带,只是与通常的略有不同,在腰带的周围雕刻着一串字母,看上去毫无意义。但当将军把腰带螺旋式地绕在手中的剑鞘上时,奇迹出现了,它告诉将军一个极其重要的消息:斯巴达当时的同盟者波斯人正在搞阴谋,企图谋反夺权。
这便是雅典间谍送的一份情报,它告诉雅典,波斯军队准备在斯巴达军队发起最后攻击时,突然对斯巴达军队进行袭击。斯巴达军队根据这份情报马上改变了作战计划,先以迅雷不及掩耳之势攻击毫无防备的波斯军队,并一举将它击溃,解除了后顾之忧。随后,斯巴达军队回师征伐雅典,终于取得了战争的最后胜利。
案例中的腰带作为密码,剑鞘即为密钥,这便是早期的密码,这种密码通信方式在希腊广为流传。现代的密码电报,据说就是受了它的启发而发明的。
1.2密码学的发展
密码学的发展可以分为四个阶段:
(1)手工或简单机械密码时期(公元前五世纪~1900年);
(2)机械和机电密码时期(1900年~1950年);
(3)电子密码时期(1950年~1970年);
(4)计算机密码时期(1970年~现在)。
现在的量子密码学也可算作是密码学发展的一个重要时期。
2.密码学的内容
2.1古典替换密码
2.1.1 简单代替密码
(1)移位密码
移位密码的加密实现上就是将26个英文字母向后循环移动k位,其加解密可分别表示为:
c=E k(m)=m+k(mod 26)
m=D k(c)=c-k(mod 26)
其中,m、c、k是满足0≤m,c,k≤25的整数。
实例操作:
(2)乘法密码
乘法密码是通过对字母等间隔抽取以获得密文,其加解密可分别表示如下:
c=mk(mod 26)
m=ck-1(mod26)
其中,m、c、k是满足0≤m,c,k≤25,且gcd(k,26)=1的整数。
实例操作:
(3)仿射密码
仿射密码的加密是一个线性变换,将移位密码和乘法密码相结合,其加解密可分别表示为:
c=E a,b(m)=am+b(mod 26)
m=D a,b(m)=a-1(c-b)(mod 26)
其中:a、b是密钥,是满足0≤a,b≤25和gcd(a,26)=1的整数,即a和26互素;a-1表示a的逆元,即a-1•a≡1 mod 26。
实例操作:
(4)基于统计的密码分析
简单代替密码也称为单表代替密码,其加密变换实际上是从明文字母到加密字母的意义映射关系,这就给加密分析者一个机会,如果密码分析者知道明文的特点规律,他就可以利用这些对密文实施攻击。图2.1为英文字母的相对使用频率分布,攻击者可以首先将密文中字母的相对使用频率统计出来,将英文字母的相对使用频率相比较,进行匹配分析。如果密文信息足够长,采用字母相
对使用频率统计分析法,很容易对电能表代替密码进行破译。
2.1 英文字母相对使用频率分布
2.1.2 多表代替密码
经典的多表代换密码有:维吉尼亚(Vigenenre)密码、Beaufort、Running Key、Vernam和轮换机等密码,下面以维吉尼亚密码为例:
Vigenenre密码是最著名的多表代换密码,是16世纪法国著名密码学家Blaise de Vigenenre发明的。Vigenenre密码使用一个词组作为密钥,密钥中每一个字母用来确定一个代换表,每一个密钥字母被用来加密一个明文字母,第一个密钥字母加密第一个明文字母,第二个密钥字母加密第二个明文字母,等所有密钥字母使用完后,密钥再次循环使用,于是加解密前需先将明密文按照密钥长度进行分组。密码算法可表示如下:
设密钥K=(k1,k2,…,k d),明文M=(m1,m2,…,m n),密文C=(c1,c2,…,c n);
加密变换为:c i=E ki(m i)=m i+k i(mod 26)
解密变换为:m i=D ki(c i)=c i-k i(mod 26)
通常通过查询维吉尼亚表进行加解密。
实例操作:
2.2 对称密钥密码
2.2.1 对称密码基本加密
加密原理:对称密码体制使用相同的加密密钥和解密密钥,其安全性主要依赖于密钥的保密性。分组密码是对称密码体制的重要组成部分,其基本原理为:将明文消息编码后的序列m0,m1,m2,…,m i 划分为长度为L(通常为64或128)位的组m=(m0,m1,m2,…,m L-1),每组分别在密钥k=(k0,k1,k2,…,k t-1)(密钥长度为t)的控制下变换成等长的一组密文输出序列c=(c0,c1,c2,…,c L-1)。分组密码的模型如图2.2.1-1所示。