Java教程

【计算机科学】网络空间安全整理(二)密码学(未完结)

本文主要是介绍【计算机科学】网络空间安全整理(二)密码学(未完结),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本文未经允许禁止转载
作者: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

这篇关于【计算机科学】网络空间安全整理(二)密码学(未完结)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!