1.1 密码学概述
密码学(Cryptography)是研究信息加密、解密及其安全通信技术的学科。它不仅是数学与计算机科学的交叉领域,更是现代数字社会信任体系的基石。从古罗马的凯撒密码到量子密钥分发,密码学的发展史本质上就是人类保护信息秘密的斗争史。
1.1.1 密码学发展史
密码学的发展可划分为三个主要阶段,每个阶段都伴随着核心技术的突破与应用场景的扩展。
| 阶段 | 时间跨度 | 典型算法/系统 | 核心特征 |
|---|---|---|---|
| 古典密码学 | 古代 — 19 世纪末 | 凯撒密码、维吉尼亚密码、栅栏密码 | 基于字母替换或置换,依赖算法保密 |
| 近代密码学 | 20 世纪初 — 1970 年代 | 恩尼格玛机、DES(数据加密标准) | 机械/电子设备辅助,密钥与算法分离 |
| 现代密码学 | 1976 年至今 | RSA、AES、ECC、量子密码 | 公钥密码体系、数学难题驱动、可证明安全 |
里程碑事件:1976 年 Diffie 与 Hellman 发表《密码学的新方向》,首次提出公钥密码概念,标志着现代密码学的诞生。
古典密码阶段,加密与解密通常依赖算法本身的保密性,一旦算法泄露,整个通信系统即告崩溃。近代密码学开始将算法与密钥分离,即使算法公开,只要密钥不泄露,系统仍然安全。现代密码学则进一步引入公钥基础设施(PKI)和可证明安全理论,使密码学从一门技艺上升为一门严谨的科学。
1.1.2 密码学基本概念
理解密码学必须掌握以下五个核心术语,它们构成了所有加密通信系统的基本框架。
- 明文(Plaintext):原始的可读信息,例如一封电子邮件的内容或一个文件的数据。
- 密文(Ciphertext):经过加密算法处理后产生的不可直接阅读的乱码形式。
- 密钥(Key):控制加密与解密变换的秘密参数,是密码系统的核心安全要素。
- 加密(Encryption):使用密钥将明文转换为密文的过程。
- 解密(Decryption):使用密钥将密文恢复为原始明文的过程。
关键原则:根据 Kerckhoffs 原则,一个安全的密码系统应当仅依赖密钥的保密性,算法本身可以公开。这一原则是现代密码设计的基石。
下图展示了加密通信的基本流程,其中 Alice 和 Bob 是通信双方,Eve 是潜在的窃听者。
1.1.3 密码学在现代通信中的重要性
在互联网时代,密码学已从军事外交领域扩展到日常生活的每一个角落。没有密码学,现代数字社会将无法运转。以下是密码学在几个关键领域的应用与重要性。
| 应用领域 | 密码学作用 | 典型技术 |
|---|---|---|
| 网络通信 | 保护数据传输的机密性与完整性 | TLS/SSL、IPsec、SSH |
| 电子商务 | 确保交易安全、身份认证与不可抵赖 | 数字签名、支付令牌化 |
| 身份认证 | 验证用户或设备的真实身份 | 数字证书、OAuth、FIDO2 |
| 数据存储 | 保护静态数据的机密性 | 全盘加密、数据库加密 |
| 区块链与数字货币 | 实现去中心化信任与资产转移 | 哈希函数、椭圆曲线签名 |
安全警示:随着量子计算的发展,传统公钥密码(如 RSA、ECC)面临被破解的风险。后量子密码(Post-Quantum Cryptography)已成为全球密码学研究的重点方向。
密码学提供的核心安全目标通常被归纳为 CIA 三元组,加上不可否认性构成现代安全通信的四大支柱:
- 机密性(Confidentiality):确保信息不被未授权者获取,通过加密实现。
- 完整性(Integrity):确保信息在传输或存储过程中未被篡改,通过消息认证码或哈希函数实现。
- 可用性(Availability):确保授权用户在需要时可以访问信息,通过冗余与抗拒绝服务设计实现。
- 不可否认性(Non-repudiation):确保发送方无法否认其发送过的信息,通过数字签名实现。
下图展示了密码学在现代安全通信体系中的核心位置,以及它与各安全目标之间的关系。
现实案例:当你访问一个 HTTPS 网站时,浏览器与服务器之间会经历 TLS 握手,使用公钥密码交换会话密钥,随后使用对称密码加密所有传输数据。这一过程同时实现了机密性、完整性和服务器身份认证,是密码学在现代通信中最广泛的应用之一。