本文主要是介绍【计算机科学】网络空间安全整理(二)密码学(未完结),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文未经允许禁止转载
作者:Heskey0
B站:https://space.bilibili.com/455965619
邮箱:3495759699@qq.com
上一期是对网络安全的一个介绍,从本篇开始,我会更深入网络安全的各个部分。
密码学
1. 什么是密码学?
- 密码学是研究密码系统或通信安全的一门学科,分为密码编码学和密码分析学。
- 密码分析学是使得消息保密的学科。
- 密码分析学是研究加密消息的破译的学科
密码学的发展:
- 古典密码(* ~ 1949
- 对称密码(1949 ~ 1976)
- 公钥密码(1976 ~ 至今)
2. 密码学入门
2.1. 古典密码
(我们讲加密前的数据称之为明文,加密后的数据称之为密文)
先举个例子
【例 1】
明文:a b c
密文:d e f
在【例 1】中,明文中的每个字母被按照某种算法(替换表)进行了替换,最终得到了密文。
我们思考一下发现:如果替换表暴露了,那我就可以破译所有用这种算法加密的明文。故得出结论在古典密码中,数据的安全基于算法的保密。
好的,我们已经对古典密码有了初步的认识,下面我们以数学的方式来思考:从特殊到一般,从特例到总结。
古典密码的两大分类:
2.1.1. 代换密码
明文与密文中的字不是一一对应的,密文不仅仅是明文的位置的变换。
(1) 单字母代换
【单表代换】
- 棋盘密码
将26个字母放在5X5的方格里,(i,j)
为其在方格中的坐标。我们就得到了字母与数字的替换表。例如:secure加密成为43 15 13 45 42 15
- 凯撒密码
将每个字母替换成其后第三个字母,就得到了密文。例如:a b c加密成为d e f
- 替换密码
替换密码的替换表为:密钥句子中的字母依次填入字母表(重复的字母只用一次),未用的字母按自然顺序排列。
从上我们可以看出:
- 所有单表代换密码都难以经受语言特性的统计攻击,因为,单表代换保持明文的统计特性不变。
- 没有掩盖明文不同字母出现的频率,出现频率最高的密文字母很可能对应于出现频率最高的明文字母。
所以,单表代换密码能够通过统计密文字母的出现频率来破译
【多表代换】
我们现在来改进一下单表代换密码:
- 可通过运用不止一个代换表进行代换,从而掩盖密文的一些统计特征。
- 如果对每个明文字母都采用不同的代换表(或密钥)进行加密,称作一次一密密码(One-time pad cipher),这是一种理论上唯一不可破的密码。
- 但由于需要的密钥量和明文消息长度相同而难于广泛使用。为了减少密钥量,在实际应用中都采用周期多表代换密码,即代换表个数有限,重复地使用。
多表代换常见的有Vigenere密码,Hill密码。其中,Hill密码是多字母代换密码
2.2.2. 置换密码
是一种特殊的代换密码,又称换位密码。并没有改变明文字母,而只是改变了这些字母的出现顺序。例如:meet加密成为mete
2.2. 流密码
2.3. 分组密码
2.4. 公钥秘密
2.5. 散列函数
2.6. 密码学的应用
本文未经允许禁止转载
作者:Heskey0
B站:https://space.bilibili.com/455965619
邮箱:3495759699@qq.com
这篇关于【计算机科学】网络空间安全整理(二)密码学(未完结)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!