对称加密概念
理解共享密钥加密、密钥长度,以及分组密码与流密码
对称加密概念 是 CoddyKit 上的免费 Cryptology Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cryptology Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cryptology Academy 课程共包含 4 节课。
欢迎
对称加密在加密和解密时使用同一个密钥。本课将先构建相关概念,然后深入 AES 的内部机制。
共享密钥模型
Alice 和 Bob 共享一个秘密密钥 K。Alice 加密:C = Enc(K, P)。Bob 解密:P = Dec(K, C)。Eve 可以截获 C,但没有 K 就无法恢复 P。
分组密码
分组密码会对固定大小的明文分组进行加密。AES 使用 128 位分组。DES 使用 64 位分组(现已弃用)。较长的消息会被拆分成多个分组,并应用一种工作模式。
流密码
流密码生成密钥流,并将其逐字节与明文执行 XOR。ChaCha20 和 RC4 都是流密码。它们可以处理可变长度的输入,无需填充。
密钥长度与安全级别
AES-128:2^128 个密钥空间 → 128 位安全性。AES-256:2^256 个密钥空间 → 256 位安全性。DES 只有 56 位密钥,在 1999 年被暴力破解攻破。
DES 的故事
数据加密标准(1977 年)在 NSA 的坚持下使用了 56 位密钥。1999 年,distributed.net 在 22 小时内破解了 DES。Triple-DES(3DES)延长了 DES 的使用寿命,但 AES 于 2001 年取代了这两种算法。
AES 选定过程
NIST 组织了一场为期 5 年的竞赛(1997—2001 年),收到来自世界各地的 15 个提交方案。Daemen 和 Rijmen 设计的 Rijndael 获胜。它简单、快速且便于分析。
混淆与扩散
Shannon 提出的强密码设计原则:
- 混淆:每个密文位取决于许多密钥位(SubBytes 提供这一特性)
- 扩散:改变一个明文位会影响许多密文位(ShiftRows+MixColumns)
Feistel 网络与 SP 网络
DES 使用 Feistel 网络(拆分分组并应用 F 函数)。AES 使用置换-替换(SP)网络,同时转换所有字节。SP 网络在硬件中的速度更快。
分组大小的安全性
对于 64 位分组(DES),生日界碰撞会在 2^32 ≈ 40 亿个分组后出现。对于 AES 的 128 位分组,则需要 2^64 个分组。AES 足以应对实际数据量。
认证加密与未认证加密
单独使用 AES-CBC 可以加密,但不能进行认证。攻击者可以在不被发现的情况下修改密文。请始终使用 AEAD:AES-GCM 或 ChaCha20-Poly1305。它们可以同时进行加密 AND 认证。
快速检查
分组密码与流密码有何区别?
回顾
您已经掌握了对称加密的概念。接下来我们将深入 AES 内部,学习其轮、状态矩阵以及确保安全性的四种操作。
常见问题解答
「对称加密概念」课时是免费的吗?
是的 — 「对称加密概念」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。
「对称加密概念」这节课中我会学到什么?
理解共享密钥加密、密钥长度,以及分组密码与流密码 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cryptology Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cryptology Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「对称加密概念」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cryptology Academy 课中编写并运行代码吗?
能。每节 Cryptology Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。