# 密码学基础 | 仲夏夜之梦
1. 密码学的定义 1.1 基本概念 密码学（Cryptography） 是一门研究信息安全的学科，主要关注如何在不安全的环境中实现安全通信。其核心是通过数学方法对信息进行变换，使得只有授权方能够理解信息内容。 1.2 核心目标 密码学追求以下四个主要安全目标： 机密性（Confidentiality）：确保信息只能被授权的人访问 完整性（Integr...

Skip to content

# 密码学基础

约 1603 字大约 5 分钟

2025-10-27

## 1. 密码学的定义

### 1.1 基本概念

密码学（Cryptography） 是一门研究信息安全的学科，主要关注如何在不安全的环境中实现安全通信。其核心是通过数学方法对信息进行变换，使得只有授权方能够理解信息内容。

### 1.2 核心目标

密码学追求以下四个主要安全目标：

- 机密性（Confidentiality）：确保信息只能被授权的人访问
- 完整性（Integrity）：确保信息在传输过程中不被篡改
- 认证性（Authentication）：确认通信双方的身份真实性
- 不可否认性（Non-repudiation）：防止发送方事后否认发送过信息

### 1.3 重要作用

密码学在现代信息安全中扮演着至关重要的角色：

- 保护个人隐私和商业机密
- 确保金融交易的安全性
- 维护国家安全和军事通信
- 支撑互联网基础设施的安全运行

### 1.4 主要应用场景

- 网络安全：HTTPS、VPN、SSL/TLS协议
- 数字身份认证：数字证书、数字签名、双因素认证
- 区块链技术：加密货币、智能合约、分布式账本
- 移动通信：SIM卡加密、移动支付安全
- 物联网安全：设备身份认证、数据传输加密

### 1.5 基础概念与术语（入门）

为方便初学者快速建立直觉，先认识密码学中最核心的几个概念：

明文（Plaintext）与密文（Ciphertext）

- 明文：未加密的原始消息，例如“HELLO”。
- 密文：加密后的消息，人类或未授权系统难以直接理解。

加密（Encryption）与解密（Decryption）

- 加密：用密钥将明文转换为密文，记为：

C=Ek(P)C = E_k(P) C=Ek​(P)

- 解密：用密钥将密文还原为明文，记为：

P=Dk(C)P = D_k(C) P=Dk​(C)

其中，P PP 表示明文，C CC 表示密文，k kk 表示密钥，E EE 为加密算法，D DD 为解密算法。

密钥（Key）：对称密钥 vs 非对称密钥

- 对称密钥：加密和解密使用相同的密钥，速度快，但密钥分发与管理是难点。
- 非对称密钥（公钥密码）：加密使用“公钥”，解密使用“私钥”，便于密钥分发，还能支持数字签名。

对称加密流程示意（同一把密钥）：

非对称加密流程示意（公钥/私钥）：

在典型的 RSA 公钥体制中，还可以用一个简洁的数学表达式表示加解密：

c=me mod n,m=cd mod n,\begin{aligned} c &= m^{e} \bmod n,\\ m &= c^{d} \bmod n, \end{aligned} cm​=memodn,=cdmodn,​

其中 (e,n)(e, n)(e,n) 为公钥，(d,n)(d, n)(d,n) 为私钥，m mm 为明文，c cc 为密文。

常见攻击模型简介（只需直观理解）

- 唯密文攻击（COA）：攻击者只有密文，尝试恢复明文或密钥。
- 已知明文攻击（KPA）：攻击者拥有部分“明文-密文”对，用于分析算法或密钥。
- 选择明文攻击（CPA）：攻击者可选择明文并获取其密文，用于推断密钥或算法结构。
- 选择密文攻击（CCA）：攻击者可选择密文并得到其解密结果，进一步分析系统弱点。

直观结论：设计良好的现代密码系统，应当在这些攻击模型下仍保持安全（在合理的参数与假设下）。

## 2. 密码学历史简述

### 2.1 古代密码学（公元前-15世纪）

凯撒密码（Caesar Cipher）

- 时间：公元前1世纪
- 原理：字母移位加密
- 示例：将字母向后移动3位，A→D，B→E

斯巴达密码棒（Scytale）

- 时间：公元前5世纪
- 原理：缠绕在特定直径木棒上的皮条

古典密码简述：

- 核心思路：替换或移位（重新排列）字符。
- 代表示例：凯撒（替换）、栅栏（移位）、维吉尼亚（多表替换）。
- 直觉目标：混淆结构、增加猜测难度；但易受频率分析。

### 2.2 文艺复兴时期（15-18世纪）

维吉尼亚密码（Vigenère Cipher）

- 时间：16世纪
- 原理：多表替换密码
- 特点：比单表替换更安全

博福特密码（Beaufort Cipher）

- 时间：18世纪
- 原理：改进的维吉尼亚密码

### 2.3 近代密码学（19-20世纪中期）

恩尼格玛密码机（Enigma）

- 时间：二战时期
- 原理：机械转子密码机
- 重要性：推动了现代密码分析的发展

香农的信息论

- 时间：1949年
- 贡献：为密码学奠定了数学理论基础

### 2.4 现代密码学（1970年代至今）

DES算法

- 时间：1977年
- 意义：第一个公开的加密标准

RSA算法

- 时间：1977年
- 意义：第一个实用的公钥密码系统

AES算法

- 时间：2001年
- 意义：取代DES的新一代加密标准

现代密码简述：

- 对称加密：同一密钥加解密，适合大量数据（示例：AES/DES/3DES）。

C=Ek(P),P=Dk(C)C = E_k(P), \quad P = D_k(C) C=Ek​(P),P=Dk​(C)

- 非对称加密：公钥加密、私钥解密，便于密钥分发与数字签名（示例：RSA/ECC）。

c=me mod n,m=cd mod n c = m^{e} \bmod n, \quad m = c^{d} \bmod n c=memodn,m=cdmodn

- 密钥交换：Diffie–Hellman 在不安全信道建立共享密钥。
- 数字签名：私钥签名、公钥验证，保障真实性与不可否认性。

### 2.5 关键历史时间线

    公元前5世纪：斯巴达密码棒
    公元前1世纪：凯撒密码
    16世纪：维吉尼亚密码
    1918年：一次一密密码本
    1949年：香农信息论
    1977年：DES和RSA算法
    2001年：AES标准

## 总结

密码学作为信息安全的基石，经历了从简单替换到复杂数学算法的漫长发展历程。现代密码学建立在严格的数学基础之上，通过对称加密、非对称加密等多种技术手段，为数字世界提供了可靠的安全保障。

理解密码学的基本原理和分类，有助于我们更好地应用这些技术来保护信息安全，同时也为深入学习更高级的密码学概念奠定基础。

本篇笔记的所有代码开源于：https://gitea.simengweb.com/si-meng-spec/cryptography-example-code