Files
祀梦 868cc9b514 docs(密码学): 添加基础概念与术语章节和现代密码简述
为初学者添加密码学核心概念解释,包括明文/密文、加密/解密、密钥类型等基础术语。同时补充现代密码学中对称加密、非对称加密和数字签名的简要说明,帮助建立基本认知框架。
2025-10-29 13:45:37 +08:00

6.2 KiB
Raw Permalink Blame History

title, createTime, permalink
title createTime permalink
密码学基础 2025/10/27 10:38:57 /theory/cryptography/

密码学基础

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 = E_k(P)
  • 解密:用密钥将密文还原为明文,记为:

P = D_k(C)

其中,P 表示明文,C 表示密文,k 表示密钥,E 为加密算法,D 为解密算法。

密钥Key对称密钥 vs 非对称密钥

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

对称加密流程示意(同一把密钥):

flowchart LR
  S[发送者] -- 使用共享密钥 K 加密 --> C[(密文)]
  C -- 使用共享密钥 K 解密 --> R[接收者]

非对称加密流程示意(公钥/私钥):

flowchart LR
  S[发送者] -- 使用接收者公钥加密 --> C[(密文)]
  C -- 使用接收者私钥解密 --> R[接收者]

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


\begin{aligned}
 c &= m^{e} \bmod n,\\
 m &= c^{d} \bmod n,
\end{aligned}

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

常见攻击模型简介(只需直观理解)

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

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

2. 密码学历史简述

2.1 古代密码学(公元前-15世纪

凯撒密码Caesar Cipher

  • 时间公元前1世纪
  • 原理:字母移位加密
  • 示例将字母向后移动3位A→DB→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 = E_k(P), \quad P = D_k(C)
  • 非对称加密公钥加密、私钥解密便于密钥分发与数字签名示例RSA/ECC

c = m^{e} \bmod n, \quad m = c^{d} \bmod n
  • 密钥交换DiffieHellman 在不安全信道建立共享密钥。
  • 数字签名:私钥签名、公钥验证,保障真实性与不可否认性。

2.5 关键历史时间线

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

总结

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

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

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