📖 术语
🟢 通俗解释
🔰 新手
🔐 对称加密 Symmetric Key Cryptography
同一把密钥干两件活:把信息锁起来(加密),也把它打开(解密)。收发双方必须握着完全相同的一把钥匙,所以它又叫「密钥加密」。
💡
常见误解 — 比特币靠的就是这种加密吗?不对!比特币的区块链根本不对数据加密,它靠数字签名来证明归属。对称加密大多出现在用密码保护钱包备份文件的时候。
🔑 一句话讲明白 — 一把钥匙,两头通用
想象一个带锁的箱子,只配一把钥匙。谁拿着这把钥匙,既能把箱子锁上,也能再打开。对称加密对待数据也是这个路数。把可读的信息(叫明文)连同密钥一起,送进一种叫密码算法(cipher)的程序,出来的就是密文——一堆乱码。再用同一把钥匙把密文送回去跑一遍,原信息就回来了。锁本身很结实,麻烦的是怎么把钥匙的副本安全地交到对方手里。
🧱 两种打乱方式:分组与流
对称密码算法主要分两大家族。分组密码把数据切成固定大小的块(比如 128 位一块),一块一块地加密。流密码则随着数据流动逐位加密。最有名的当属 AES(高级加密标准),这是一种分组密码,密钥长度有 128、192、256 位三种。AES-256 被视为高度安全,几乎无处不在。
🛡️ 钥匙越长,为什么越安全
| 密钥长度 | 对攻击者意味着什么 |
|---|---|
| 🔢 128 位 | 把每一种可能的密钥都猜一遍(暴力破解),在普通硬件上要花数十亿年 |
| ➕ 每多一位 | 所需的猜测次数大约翻一倍,难度涨得极快 |
| 🔒 256 位(AES-256) | 被视为高度安全;用在硬件、聊天软件和磁盘加密里 |
📊 这里的安全感不靠藏起算法——算法是公开的。它靠的是密钥的取值空间大到根本搜不完。
📦 难点:怎么把钥匙送到对方手里
最大的软肋是密钥分发难题。双方都要拿到一模一样的密钥,总得有人把它的副本送过去。要是走互联网这种开放渠道,半路就可能被人偷听截走。解决这个难题,正是公钥加密被发明出来的主要原因。实际中两者会搭配使用:先用公钥加密安全地协商出一把共享密钥,再用快速的对称加密去加密真正的流量。
🌐 新手在哪里真正会碰到它
- 🔒 每一个 HTTPS 网站 — 浏览器建立安全会话之后,就由 AES 来加密你来回传输的页面数据
- 💬 加密聊天 — 聊天软件用对称加密来打乱你真正发出的消息
- 💾 磁盘与云加密 — 你的文件由一把从密码推算出来的对称密钥锁住
- 👛 钱包备份 — 用密码保护钱包文件或助记词备份时,干这份上锁活的正是对称加密
⚠️ 别把加密和整个密码学混为一谈。加密是把数据藏起来;哈希和数字签名是另外的工具,它们并不藏东西。
❓ 常见问题
- 比特币是用对称加密来加密区块链的吗?
- 不是。比特币的区块链根本不对数据加密——它本就是公开的。它靠数字签名(ECDSA)来证明谁拥有币、授权花费,而不是加密。对称加密出现在钱包这一层,比如用密码保护你的钱包备份文件时。
- 既然对称加密更快,为什么不全用它就好?
- 因为有密钥分发难题:双方需要拿到一模一样的密钥,而要在互联网上把这把钥匙交给对方又不被人复制,并不容易。常见做法是混合方案——先用公钥加密安全地协商出一把共享密钥,再用快速的对称加密来加密真正的数据。
- 128 位的密钥够安全吗?
- 对现在来说够了。在普通硬件上暴力破解一把 128 位密钥要花上数十亿年,而每多一位,所需的猜测量大约翻一倍。256 位密钥的 AES 被视为高度安全,广泛用于聊天软件、磁盘加密和云存储。