密码学
密码学 是什么?
密码学通过数学技术在存在攻击者的情况下提供机密性、完整性、真实性和不可否认性的信息安全科学。
密码学是研究并设计算法以保护数据和通信免遭窃听、篡改与伪造的学科。现代密码学融合数论、代数、概率论与计算复杂性,构建分组密码、流密码、公钥体制、哈希函数、消息认证码和数字签名等基本原语。
基于假设的安全,而非隐蔽
一条基础原则是柯克霍夫原则:即使除密钥外的一切都公开,系统仍应保持安全。因此,安全性通过形式化模型评估——机密性用 IND-CPA,签名不可伪造性用 EUF-CMA——并归约到困难数学问题,如大整数分解(RSA)、离散对数(Diffie-Hellman、ECC)或带误差学习(格密码)。NIST、ISO、IETF 等机构发布经审查的算法;自创密码学被强烈反对,因为其细微缺陷往往具有灾难性且非专家难以察觉。
为何劣质密码学屡屡失效
大多数真实攻击针对的是实现而非核心数学:重用的 nonce、可预测的 IV、填充预言(如针对 TLS 的 POODLE 和 Lucky-13 攻击)、弱随机数或时序侧信道。因此从业者更倾向使用认证加密(AES-GCM、ChaCha20-Poly1305)和常数时间库。
后量子迁移
一台足够大的量子计算机运行 Shor 算法即可攻破 RSA 和椭圆曲线密码。2024 年 8 月,NIST 发布了首批后量子标准:FIPS 203(ML-KEM,源自 CRYSTALS-Kyber)用于密钥封装,FIPS 204(ML-DSA,源自 Dilithium)和 FIPS 205(SLH-DSA,源自 SPHINCS+)用于签名。各组织正在追求"密码敏捷性"并部署经典+后量子的混合方案,以抵御"先收集、后解密"的攻击。
flowchart TD A[密码学] --> B[对称<br/>共享密钥] A --> C[非对称<br/>公钥/私钥] A --> D[无密钥原语] B --> B1[分组密码<br/>AES] B --> B2[流密码<br/>ChaCha20] B --> B3[AEAD + MAC<br/>GCM, Poly1305] C --> C1[密钥交换<br/>ECDH, ML-KEM] C --> C2[签名<br/>ECDSA, ML-DSA] D --> D1[哈希函数<br/>SHA-2, SHA-3] B1 --> E[机密性] B3 --> F[完整性+真实性] C2 --> G[真实性+不可否认]
● 示例
- 01
TLS 使用密码学加密网页流量并对服务器进行身份认证。
- 02
Signal 协议利用密码学实现端到端加密通信。
● 常见问题
密码学 是什么?
通过数学技术在存在攻击者的情况下提供机密性、完整性、真实性和不可否认性的信息安全科学。 它属于网络安全的 密码学 分类。
密码学 是什么意思?
通过数学技术在存在攻击者的情况下提供机密性、完整性、真实性和不可否认性的信息安全科学。
如何防御 密码学?
针对 密码学 的防御通常结合技术控制与运营实践,详见上方完整定义。
密码学 还有哪些其他名称?
常见的别称包括: 密码术, 密码科学。