安全领域密码学通俗详解
面向安全入门学习者,梳理 Web 安全、渗透测试中最核心的三类密码学算法:哈希算法、对称加密、非对称加密。避开复杂数学推导,讲清工作原理、代表算法、特性以及真实业务应用场景,帮助理解网络通信、口令存储、签名验签底层逻辑,为后续漏洞学习打下理论基础。
前言
密码学是网络安全的底层基石,Web 登录、HTTPS、Cookie、数字签名、文件完整性校验全部建立在密码学之上。很多安全漏洞本质就是密码学使用不当:比如网站还在用 MD5 存储用户密码、硬编码密钥、错误使用加密算法导致解密泄露。
本文分为三大模块:哈希算法、对称加密、非对称加密,对比三者核心差异,明确什么时候该用哪一类算法。
学习目标
-
理解哈希、对称加密、非对称加密的核心特性,分清三者本质区别
-
掌握 MD5、SHA、AES、DES、RSA、ECC 常见算法的优缺点
-
熟悉各类算法真实业务应用场景,看懂漏洞中密码学相关问题
-
能够分辨不安全的算法,建立密码算法选型的基础认知
一、哈希算法(散列算法)
关键词:单向、不可逆、摘要、完整性校验 哈希算法不是加密!它不能解密。 输入任意长度的数据,算法会输出一段固定长度的 “摘要字符串”,这个输出就叫哈希值。
核心特性
-
单向不可逆:只能原文算出哈希,无法通过哈希值反推出原始内容。
-
雪崩效应:原始数据只要改动 1 个字符,最终哈希结果会完全不一样。
-
输出长度固定:无论输入 1KB 还是 1GB 文件,输出摘要长度固定。
-
确定性:相同原文,同一哈希算法,输出永远一模一样。
⚠️注意:不可逆 ≠ 绝对安全,可以通过彩虹表碰撞破解简单口令。
代表算法
-
MD5:输出 128 位 (32 位十六进制字符)。现已不安全,存在碰撞漏洞,不建议用于密码存储;仅可做简单文件摘要。
-
SHA‑1:已经被攻破,存在碰撞,逐步淘汰。
-
SHA‑2 家族(SHA‑256、SHA‑512):目前广泛使用,安全性高。
-
加盐哈希 bcrypt / Argon2:专门用于口令存储,自带加盐、慢哈希,抗暴力破解,是密码存储最优方案。
两大应用场景
-
文件 / 数据完整性校验 下载软件时给出 MD5/SHA256 值。把下载后的文件跑一遍哈希,对比官方给出摘要,如果一致,代表文件传输过程没有被篡改。
注意:哈希只能校验有没有被篡改,不能做加密,不能保密数据。
-
用户口令存储(网站登录) 网站数据库不保存明文密码,只保存密码的哈希值。用户登录输入密码,后端计算输入密码的哈希,和数据库存储的哈希比对,一致则登录成功。
坑点:直接 MD5 存密码非常危险,简单密码可以彩虹表秒破解;生产环境必须加盐,优先 bcrypt、Argon2。
安全相关常见漏洞
-
网站使用 MD5 存储用户密码,可彩虹表爆破弱口令;
-
业务逻辑依赖 MD5 做签名,出现哈希碰撞绕过;
-
未加盐哈希,相同密码生成相同哈希,方便批量撞库。
二、对称加密
关键词:同一把密钥,加密、解密,速度快 对称加密:加密和解密使用完全相同的一把密钥。 明文 + 密钥 → 密文;密文 + 同一密钥 → 还原明文。
核心特性
-
加解密速度极快,适合大量数据加密;
-
最大痛点:密钥分发难题。通信双方如何安全传递这把密钥?密钥一旦泄露,全部密文直接解密。
代表算法
-
DES:老算法,56 位密钥,密钥太短,暴力可破解,已经废弃,禁止生产使用。
-
3DES(Triple‑DES):DES 的改良版本,性能差,逐步淘汰。
-
AES(高级加密标准):行业标准,AES‑128、AES‑256,安全高效,现在主流对称加密算法。支持 ECB、CBC、GCM 等模式,模式选择错误也会带来安全漏洞。
典型应用场景
-
大量业务数据加密:数据库字段加密、本地文件加密;
-
HTTPS 内部:握手协商完成后,传输业务数据使用 AES 对称加密;
-
接口参数加密:前后端传输敏感参数,使用 AES 加密请求体。
业务痛点:密钥怎么传给对方?直接网络传输密钥会被窃听,这就需要非对称加密解决密钥交换问题。
安全相关坑点
-
使用废弃 DES;
-
AES‑ECB 不安全模式;
-
密钥硬编码写在代码、配置文件中,源码泄露直接全部解密;
-
IV 向量复用,导致加密被破解。
三、非对称加密(公钥密码)
关键词:一对密钥:公钥、私钥;加密解密密钥不一样,用于密钥交换、数字签名 会生成一对密钥:公钥、私钥
-
公钥:可以公开分发出去,人人可见;
-
私钥:必须严格保密,绝不外泄。
两种用法:
-
公钥加密,私钥解密:别人拿你的公钥加密消息,只有你的私钥才能解开,实现保密通信。
-
私钥签名,公钥验签:持有者用私钥对数据签名;其他人拿公钥验证签名,确认数据确实来自该持有者,并且没有被篡改。
缺点:运算慢,不适合加密大体积数据,一般只加密短小内容(例如对称加密的密钥)。
代表算法
-
RSA:使用最广泛,密钥常见长度 2048 位、4096 位。短密钥 1024‑RSA 已经不安全。
-
ECC 椭圆曲线加密:同等安全强度密钥长度更短,运算速度更快。现在 HTTPS、区块链大量使用 ECC。
典型应用场景
-
密钥交换(HTTPS 核心) HTTPS 握手流程:服务端下发公钥;客户端随机生成 AES 会话密钥,用服务端公钥加密,传给服务端;服务端用自己私钥解密拿到 AES 密钥;后续传输全部使用 AES 对称加密传输业务数据。
通俗理解:非对称加密负责安全传递 “对称加密的钥匙”,真正传大数据交给速度更快的 AES。
-
数字签名,防伪造、防篡改 软件发布、接口签名、证书。发布者用私钥签名,使用者拿公钥校验:确认这个文件确实是官方发布,中途没有被篡改、不是别人伪造。
-
SSL/TLS 证书:证书里面存放服务端公钥,由 CA 机构签名背书。
安全坑点
-
RSA 密钥长度过小(1024 位)容易被破解;
-
私钥泄露等于整个体系完全失效;
-
RSA 错误填充方式,引发 Padding‑Oracle 解密漏洞。
三类算法对比总结表
|
类型
|
是否可逆
|
核心密钥
|
速度
|
典型用途
|
|
哈希算法
|
单向不可逆
|
无密钥(可加盐)
|
快
|
文件完整性校验、用户密码存储
|
|
对称加密
|
可逆
|
加密解密同一密钥
|
很快,适合大数据
|
业务数据加密,HTTPS 业务报文
|
|
非对称加密
|
可逆
|
公钥 / 私钥密钥对
|
慢,只适合小数据
|
密钥交换、数字签名、身份认证
|
现实工程几乎都是组合使用:非对称加密完成密钥交换,对称加密加密业务数据,哈希算法做完整性校验,HTTPS 就是这套组合。
安全入门重要总结
-
哈希≠加密:哈希不能还原原文,用来做摘要、存密码;加密是要把密文还原明文。
-
不要使用已经淘汰算法:MD5、DES、RSA‑1024 尽量规避。
-
算法安全不等于业务安全:就算 AES/RSA 本身没问题,如果密钥泄露、模式配置错误、没有加盐,依然会出现漏洞。很多密码学漏洞不是算法被数学攻破,而是开发者使用方式错误。
-
密码学是很多 Web 漏洞底层原理:例如密码爆破、Padding 预言家漏洞、签名绕过、JWT 伪造都和密码学强相关。
合规提示
密码学相关工具、算法学习仅用于靶场、授权测试。不要尝试破解互联网上他人密码、密文,相关行为触犯法律。
本文要点
- 哈希算法与口令安全
- 对称加密与 AES
- 非对称加密与 HTTPS 原理
📌 本文为技术科普内容,仅用于学习研究。
⚠️ 合规声明: 本文内容仅用于网络安全合规学习、科研与授权测试用途。严禁用于任何未授权行为,违者自行承担全部法律责任。