浅谈密码学的历史发展过程
前言
这是大三下学期选学的网络信息安全课程的期末作业,这个学期就是疫情爆发期间上网课的那段时期。。。
摘要
密码对我们都不陌生,在日常生活中也接触过密码,日常生活中所说的密码,通常是是登录界面的那种输入密码,银行卡密码等等之类的。这样的密码在密码学里更严格的意义上是称为 password、pin,中文上称为口令。我们通常想到的是把密码这些关键信息藏起来,用什么形式?用藏头诗的形式?用隐形墨水写一下,到时候火烧显示出来? 这就是想当然的一种形式。那在互联网中我们又该怎么保密呢?密码学指的是什么呢?这里引用维基百科上的解释:Cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages. 由此可以看出密码学是一套防止隐私泄露的体系,它可以达到的效果就是,即使你拿到了密码这个数据,你也看不懂。那密码学这一套体系又是怎么出现的呢?我们用的比较多的加密解密算法都有哪些呢?本文就密码学的发展历史来简述一下密码学里较常见的算法。
关键词:凯撒密码,单表替换密码,多表替换密码,机器密码,对称加密,非对称加密,哈希函数,消息认证码,认证中心,数字签名
目录
一、密码学的分类 4
二、古典密码学: 4
(一)凯撒密码 4
(二)单表替换密码 4
-
穷举所有可能性。 5
-
用频率分析。 5
(三)多表替换密码 6
(四)Enigma 7
三:现代密码学 7
(一)对机密性的解决方法 8
1.1 对称加密 8
1.2 One-Time pad 9
2 . 非对称密码 10
- 混合加密 10
(二)对保证保证完整性的解决方法 11
- 哈希函数 11
2 .消息认证码 12
(三)针对否认的解决方法 13
(四)针对伪装的解决方法 14
四:总结 15
一、密码学的分类
纵观密码学的发展,感觉就像是创造加密算法的人和破解加密算法的人之间的一场博弈。密码学可以分为古典密码学和现代密码学。古典密码学研究的主要就是怎么让密码这个数据不泄露,不被破译。而现代密码学,除了研究密码信息的保密问题,还要考虑其他很多方面的安全隐患,比如窃听、篡改、伪装、否认。
二、古典密码学:
古典密码学主要解决的问题就是:我们想要发送的信息,不想要第三方知道,对这个信息进行加密。以下就介绍以下常见的加密算法。
(一)凯撒密码
主要思想就是按字母表往后平移n个字母,这个n值一般取3。
图 1 凯撒密码示意图
破解的话,全部可能性试一遍就可以,往后平移最多也就 26 种可能的情况。
(二)单表替换密码
可以看成凯撒密码的加强版,这个往后平移替换的过程没有规律可言,一个明文字母,对应着一个密文字母。
图 2 单表替换密码示意图
破解:
1.穷举所有可能性。
a对应着 26种可能,b对应着25种可能,c对应着24种可能,列出所有的可能。所有,最后总共由 26! 种可能。这个时间复杂度算比较高的了,这么破解也很麻烦。
2.用频率分析。
频率分析是在9世纪时,阿拉伯博学家-肯迪在其所著的《手稿上破译加密消息》中提出的。 它对于古兰经的文本研究发现阿拉伯文有一个特别的字母频率。主要说明在一篇文章中,