🔐 第 3.5.7 章:基础加密方法——保障信息安全

欢迎来到计算机科学中最令人兴奋的话题之一:密码学!在“数据表示”一节中,我们已经了解了数据是如何存储的。现在,我们将学习如何对这些数据进行“打乱”,即使它们落入坏人之手,也无法被读取。这正是现代互联网安全、银行业务和私人通信的基石。

别担心,这听起来可能像谍战片;我们将把这些概念拆解为简单易懂的步骤。通过本节笔记,你将理解古代易被破解的密码与现代真正安全的加密方法之间的区别!

1. 加密的基本概念

在深入研究具体方法之前,我们需要掌握“间谍(密码学家)”的专业术语。

核心定义

加密 (Encryption):

加密是指使用某种算法(一套处理步骤)将可读数据(明文)转换为不可读格式(密文)的过程。这能确保第三方在截获数据时,除非同时掌握加密方法和加密密钥,否则无法理解其内容。

明文 (Plaintext):

这是原始的、可读的消息或数据。可以把它想象成你点击“发送”之前输入的消息。

密文 (Ciphertext):

这是加密后、被打乱的消息。它看起来像是一堆乱码,但其中隐藏着原始的明文。

密码算法 (Cipher):

密码算法(或称密码)是用于执行加密和解密的特定规则或算法(例如,凯撒密码或维纳姆密码)。

密钥 (Key):

密钥是一个秘密数值(如特定的数字、单词或位序列),密码算法将其应用于明文以生成密文。密钥对于加密和解密消息都至关重要。

类比:想象一下你要跨海寄送一个带锁的盒子。里面的消息就是明文。盒子本身就是密文。锁的型号就是密码算法。而真正能打开锁的钥匙或密码就是密钥

快速复习:加密的目标

加密的主要目标是机密性 (Confidentiality)——即确保除了预期的接收者之外,任何人都无法使用这些数据。

2. 凯撒密码(一种简单的置换加密)

凯撒密码是最古老、最简单的加密形式之一,因朱利叶斯·凯撒(Julius Caesar)的使用而闻名。

凯撒密码的工作原理

凯撒密码是一种置换密码 (Substitution Cipher),意味着明文中的每个字母都被字母表中固定位置之后的某个字母所取代。

密钥就是移动的位数。

加密步骤示例(移动 3 位):

  1. 识别明文:A P P L E

  2. 应用密钥(向后移动 3 位):

    • A 向后移动 3 位 → D

    • P 向后移动 3 位 → S

    • L 向后移动 3 位 → O

    • E 向后移动 3 位 → H

  3. 得到的密文是:D S S O H

若要解密,接收者只需将每个字母向前移动 3 位即可。

为什么凯撒密码容易被破解?

凯撒密码的安全性极低,不适合现代使用。它很容易被破解,原因如下:

  • 有限的密钥空间: 只有 25 种可能的唯一密钥(移动 1 到 25 位)。攻击者可以尝试所有可能的位移,直到出现可读的消息(这被称为暴力破解攻击)。

  • 频率分析: 密文中字母出现的频率直接对应于明文中字母的频率。例如,在英语中,“E”是最常见的字母。攻击者只需找出密文中出现频率最高的字母,并假设它代表“E”,就能立即推断出位移量(密钥)。

  • 固定的移动量: 一旦确定了一个字母的位移,整个消息中所有字母的位移也就确定了,因为密钥在整个过程中保持不变。

3. 维纳姆密码(一次性密码本)

维纳姆密码(也称为一次性密码本,One-Time Pad)在理论上是目前最强大的加密方法。

维纳姆密码的工作原理

在维纳姆密码中,一个随机的密钥(通常表示为位序列)与明文消息(也表示为位)进行数学运算,从而生成密文。

该密钥必须只能使用一次,因此得名“一次性密码本”。

完美安全性

维纳姆密码是唯一能够实现完美安全性 (Perfect Security) 的密码。如果一个密码是完美安全的,那么通过检查密文,绝对无法获取关于原始明文的任何信息。

为了达到这种程度的安全性,维纳姆密码必须满足四个极其严格的条件:

  1. 密钥必须是完全随机选择的。(必须是真随机,而非伪随机。)

  2. 密钥的长度必须至少与明文一样长。(如果消息长 1,000 个字符,密钥也必须长 1,000 个字符。)

  3. 密钥必须只使用一次(“一次性密码本”)。

  4. 密钥必须仅为发送者和接收者所知。

你知道吗?由于生成、分发和安全管理与数据本身一样长的密钥非常困难,维纳姆密码很少用于大量数据的传输,但在历史上常用于各国政府之间的高度机密通信(例如冷战时期)。

4. 安全级别:计算安全性 vs. 完美安全性

计算安全性

当今计算机使用的大多数密码(如 AES 或 RSA)并不提供完美安全性;它们依赖的是计算安全性 (Computational Security)

如果满足以下条件,则该密码是计算上安全的

  • 理论上,可能从密文中获取有关明文的信息。

  • 但是,破解该密码所需的算法需要不可行的时间量才能完成(即使使用最快的超级计算机),或者破解它的概率极低。

可以这样理解:你最终也许能暴力破解现代密码,但所花费的时间可能比宇宙的年龄还要长。因此,在实际应用中,它是安全的。

比较总结:

  • 凯撒密码: 最低安全性(几秒钟内即可破解)。

  • 维纳姆密码: 完美安全性(满足条件时不可破解)。

  • 现代密码(如 AES): 计算安全性(使用可行,破解不可行)。

5. 对称密码与非对称密码及密钥分发问题

对称密码

对称密码 (Symmetric Cipher) 使用相同的密钥进行数据的加密和解密。

  • 凯撒密码和维纳姆密码都是对称密码的例子。

密钥分发问题

对称密码面临的最大挑战是密钥分发问题 (Key Exchange Problem):发送者和接收者如何才能在不被第三方截获的情况下秘密共享密钥?

如果你通过电子邮件发送密钥,窃听者可能会同时截获密钥和随后发送的加密消息,从而导致加密失效。

非对称密码

非对称密码 (Asymmetric Cipher)(也称为公钥加密)使用两个不同的、数学上相关的密钥

  • 公钥 (Public Key): 可供任何人使用以加密数据。

  • 私钥 (Private Key): 由接收者秘密保存,用于解密数据。

由于加密密钥(公钥)可以公开分享而无需承担风险,因此密钥分发问题迎刃而解!

重要提示:非对称密码使用不同的密钥进行加密和解密,因此它们不存在密钥分发问题。

🔑 重点总结 (3.5.7 基础加密方法)
  • 密码术语: 明文输入,通过密码算法和密钥处理,输出密文。

  • 凯撒密码: 简单的位移,易通过频率分析和暴力破解(因密钥空间有限)被破解。

  • 维纳姆密码: 完美安全,但前提是密钥必须是真随机、仅使用一次且长度与消息相等。

  • 计算安全性: 现代标准;破解在理论上是可能的,但需要不可行的时间量。

  • 对称密码: 加密和解密使用同一密钥。存在密钥分发难题。

  • 非对称密码: 使用不同密钥(公钥/私钥)。解决了密钥分发问题。