Ethical Hacking Academy · 课时

对称与非对称加密

AES 与 RSA

第 3 / 4 课13 个步骤

对称与非对称加密 是 CoddyKit 上的免费 Ethical Hacking Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Ethical Hacking Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Ethical Hacking Academy 课程共包含 4 节课。

两类加密算法

现代加密根据密钥的工作方式分为两类:

  • 对称加密:使用同一个密钥进行加密和解密。示例:AES。
  • 非对称加密:使用一对密钥,其中一个密钥加密,另一个不同的密钥解密。示例:RSA。

实际系统通常会结合两者。理解它们之间的权衡,对于攻击和防御加密系统都至关重要。

对称加密

在对称加密中,通信双方共享一个密钥。使用同一个密钥锁定和解锁数据。

  • 优点:速度非常快,适合处理大量数据。
  • 缺点:必须先安全地共享密钥,这就是密钥分发问题。

AES

AES(高级加密标准)是目前最主要的对称密码算法。它是一种分组密码,以 128 位分组为单位运行,支持 128、192 或 256 位密钥。

AES 速度快,在现代 CPU 上支持硬件加速;只要使用正确,就被认为是安全的。AES-256 是常见的高安全性选择。

openssl enc -aes-256-cbc -salt -in secret.txt -out secret.enc
# Prompts for a password used to derive the key

分组密码模式

分组密码需要使用运行模式来处理超过一个分组的数据:

  • ECB:不安全;相同的分组会产生相同的密文,从而泄露数据模式。应避免使用。
  • CBC:使用初始化向量(IV)将各分组连接起来。安全性更好,但需要谨慎使用。
  • GCM:同时提供加密和身份验证(AEAD),是现代推荐的模式。

ECB 模式下的企鹅

有一个著名的演示:使用AES 的 ECB 模式加密一张企鹅图片后,仍然可以看出企鹅的轮廓。ECB 会将相同的明文分组加密为相同的密文分组,因此数据结构会泄露出来。

因此,在安全评估中发现 ECB 时,您应当立即识别出这是一个问题。密码算法本身很强,弱点在于使用的模式。

非对称加密

非对称加密使用一对在数学上相关联的密钥:

  • 公钥:可以自由分享,任何人都可以使用它向您加密数据。
  • 私钥:必须保密,只有您可以使用它解密数据。

这解决了密钥分发问题:您可以公开发布公钥,而不会损害安全性。

RSA

RSA 是经典的非对称算法,其安全性依赖于分解两个大素数乘积的困难程度。

如今常见的密钥长度是 2048 位;3072 位或 4096 位可以提供更大的安全余量。RSA 相比 AES 较慢,因此很少直接用于加密大量数据。

openssl genrsa -out private.pem 2048
openssl rsa -in private.pem -pubout -out public.pem

加密与签名

非对称密钥有两种不同的用途:

  • 机密性:使用接收者的公钥加密,只有接收者的私钥可以解密。
  • 真实性(签名):使用您的私钥签名,任何人都可以使用您的公钥验证,从而证明内容确实来自您。

请注意,在这两种用途下,密钥承担的角色正好相反。

混合加密

像 TLS 这样的实际协议会结合两种加密方式。其流程如下:

  • 使用速度较慢的非对称加密一次,安全地交换随机生成的会话密钥。
  • 使用快速的对称 AES 和该会话密钥加密实际数据。

这样既能获得对称加密的速度,又能享受非对称加密在密钥分发方面的便利。

密钥交换:Diffie-Hellman

Diffie-Hellman 允许双方在不安全的信道上协商共享密钥,而不必传输密钥本身。现代 TLS 的密钥交换就建立在它之上。

椭圆曲线变体(ECDH、ECDSA)可以使用小得多的密钥实现与 RSA 相同的安全性,因此速度更快,并且正逐渐成为默认选择。

常见的加密弱点

强大的算法也可能因使用不当而失效。请留意以下问题:

  • ECB 模式泄露明文模式。
  • 在 CBC 或 GCM 中重复使用或可预测的 IV/随机数。
  • 源代码或配置文件中存在硬编码密钥。
  • 使用可被分解的小 RSA 密钥(512 位或 1024 位)。
  • 填充预言机行为逐字节泄露明文。

数学原理很少真正被攻破;通常出问题的是实现。

快速检查

运用您对公钥和私钥的理解。

回顾

您已经比较了两类加密算法:

  • 对称加密(AES):使用一个共享密钥,速度快,但密钥分发困难。应使用 GCM 模式,绝不要使用 ECB。
  • 非对称加密(RSA、ECC):使用公钥/私钥对,解决了密钥分发问题,但速度较慢。
  • 使用接收者的公钥加密;使用您的私钥签名。
  • 混合系统和 Diffie-Hellman 在 TLS 中结合了两者的优点。

下一步:在实践中识别并破解哈希。

免费开始

用 AI 导师学习 Ethical Hacking Academy — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
31
课程
111

常见问题解答

「对称与非对称加密」课时是免费的吗?

是的 — 「对称与非对称加密」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Ethical Hacking Academy 课程的其余内容,请升级到 CoddyKit PRO。 Ethical Hacking Academy 课程共包含 4 节课。

「对称与非对称加密」这节课中我会学到什么?

AES 与 RSA 你通过在浏览器中直接运行的动手代码来练习 Ethical Hacking Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Ethical Hacking Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Ethical Hacking Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「对称与非对称加密」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Ethical Hacking Academy 课中编写并运行代码吗?

能。每节 Ethical Hacking Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 编码与加密
  2. 哈希
  3. 对称与非对称加密
  4. 破解哈希
← 返回 Ethical Hacking Academy