--- title: 密码学基础 createTime: 2025/10/27 10:38:57 permalink: /theory/cryptography/ --- # 密码学基础 ## 1. 密码学的定义 ### 1.1 基本概念 **密码学(Cryptography)** 是一门研究信息安全的学科,主要关注如何在不安全的环境中实现安全通信。其核心是通过数学方法对信息进行变换,使得只有授权方能够理解信息内容。 ### 1.2 核心目标 密码学追求以下四个主要安全目标: - **机密性(Confidentiality)**:确保信息只能被授权的人访问 - **完整性(Integrity)**:确保信息在传输过程中不被篡改 - **认证性(Authentication)**:确认通信双方的身份真实性 - **不可否认性(Non-repudiation)**:防止发送方事后否认发送过信息 ### 1.3 重要作用 密码学在现代信息安全中扮演着至关重要的角色: - 保护个人隐私和商业机密 - 确保金融交易的安全性 - 维护国家安全和军事通信 - 支撑互联网基础设施的安全运行 ### 1.4 主要应用场景 - **网络安全**:HTTPS、VPN、SSL/TLS协议 - **数字身份认证**:数字证书、数字签名、双因素认证 - **区块链技术**:加密货币、智能合约、分布式账本 - **移动通信**:SIM卡加密、移动支付安全 - **物联网安全**:设备身份认证、数据传输加密 ## 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的新一代加密标准 ### 2.5 关键历史时间线 ``` 公元前5世纪:斯巴达密码棒 公元前1世纪:凯撒密码 16世纪:维吉尼亚密码 1918年:一次一密密码本 1949年:香农信息论 1977年:DES和RSA算法 2001年:AES标准 ``` ## 3. 密码分类 ### 3.1 古典密码 #### 3.1.1 替换密码(Substitution Cipher) **原理**:将明文中的每个字符替换为另一个字符 **凯撒密码示例**: ``` 明文:HELLO 密钥:移位3 密文:KHOOR 加密公式:C = (P + K) mod 26 解密公式:P = (C - K) mod 26 ``` **单表替换密码**: - 特点:每个明文字符对应固定的密文字符 - 弱点:频率分析攻击 #### 3.1.2 移位密码(Transposition Cipher) **原理**:重新排列明文字符的顺序 **栅栏密码示例**: ``` 明文:CRYPTOGRAPHY 写入: 读取: C R Y P C Y R H A R Y T O G R T O G P P A P H Y 密文:CYRHARYTOGPP ``` #### 3.1.3 维吉尼亚密码 **原理**:使用关键词进行多表替换 **加密过程**: ``` 明文:ATTACKATDAWN 密钥:LEMON 密文:LXFOPVEFRNHR 计算: A(0) + L(11) = L(11) T(19) + E(4) = X(23) T(19) + M(12) = F(5) ... ``` #### 3.1.4 古典密码的局限性 - 易受频率分析攻击 - 密钥空间有限 - 缺乏严格的数学证明 - 无法抵抗现代计算攻击 ### 3.2 现代密码 #### 3.2.1 对称加密(Symmetric Cryptography) **定义**:加密和解密使用相同密钥的密码系统 **基本原理**: ``` 加密:C = E(K, P) 解密:P = D(K, C) 其中: C - 密文 P - 明文 K - 密钥 E - 加密函数 D - 解密函数 ``` **常见算法**: **AES(高级加密标准)** - 密钥长度:128/192/256位 - 分组大小:128位 - 轮数:10/12/14轮 - 结构:SPN网络 **DES(数据加密标准)** - 密钥长度:56位(实际64位) - 分组大小:64位 - 轮数:16轮 - 结构:Feistel网络 **3DES(三重DES)** - 原理:三次DES加密 - 密钥长度:168位 - 兼容DES但更安全 **对称加密优缺点**: **优点**: - 加密速度快 - 计算资源需求低 - 适合大量数据加密 **缺点**: - 密钥分发困难 - 密钥管理复杂 - 不支持数字签名 **应用场景**: - 文件加密 - 数据库加密 - 网络通信加密 - 磁盘加密 #### 3.2.2 非对称加密(Asymmetric Cryptography) **公钥密码体系概念**: 使用一对数学相关的密钥: - **公钥(Public Key)**:公开分发,用于加密 - **私钥(Private Key)**:秘密保存,用于解密 **加密过程示意图**: ``` 发送方 接收方 | | 明文 + 接收方公钥 → 密文 → 密文 + 接收方私钥 → 明文 | | 加密 解密 ``` **典型算法**: **RSA算法** - 基于大数分解难题 - 密钥生成:选择两个大质数p,q,计算n=pq,φ(n)=(p-1)(q-1) - 公钥:(e, n),其中1