0Pricing
Cryptology Academy · 课时

age 加密工具:现代化的 GPG 替代方案

探索 age:一种简单、现代且易用性更佳的文件加密 GPG 替代方案。

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

Age 设计目标

age(Actually Good Encryption)由 Filippo Valsorda 和 Ben Cartwright-Cox 设计,作为 GPG 的一种简单、现代的替代方案。该设计摒弃了 GPG 的复杂性:没有密钥环、没有信任模型、没有密钥签名、没有配置文件,也没有用于核心操作的插件生态系统。age 专注于做好一件事:以直接且不易误用的方式加密和解密文件。

Age 公钥收件人

age 中主要的收件人类型是 age 公钥,它源自 X25519。age-keygen 会生成一个密钥对:一个以 age1 开头的 age 公钥,以及一个包含私钥的 age 身份文件。要向收件人加密,请使用 -r age1... 指定其 age 公钥;要解密,请使用 -i key.txt 提供您的身份文件。该格式专为便于安全复制粘贴而设计。

SSH 公钥收件人

age 可以直接向 SSH 公钥加密,包括 RSA 和 Ed25519 公钥。如果您拥有收件人的 SSH 公钥(来自 GitHub:curl https://github.com/username.keys),就可以无需额外的密钥交换,直接向其加密文件:age -r @recipient_public_key.txt plaintext.txt > encrypted.age。收件人可以使用现有的 SSH 私钥身份进行解密。

基于密码的加密

age 支持使用 -p 标志进行基于密码(对称)的加密。它使用 scrypt 从口令派生密钥,并通过高内存成本提供抵抗暴力破解的能力。这种模式不需要管理密钥:任何拥有口令的人都可以解密。它适用于密钥分发不切实际的场景,例如加密存储在云端的备份归档。

age 身份文件

age 身份文件以文本格式包含私钥,每行一个密钥。与 GPG 的二进制密钥环不同,身份文件是纯文本,可以存储在任意位置、进行备份,并使用标准文件工具管理。请使用文件系统权限保护身份文件,或使用口令加密身份文件(通过另一层 age 加密或使用 age-plugin-yubikey 等工具)。解密时使用 -i 指定身份文件。

使用 age-keygen 生成密钥

age-keygen 可以在几秒内生成新的 X25519 密钥对:age-keygen -o key.txt。输出文件包含私钥,对应的公钥会打印到 stdout。这里没有交互式配置:密钥类型、大小和算法都是固定的。这种简洁性意味着没有可能配置错误的生成选项,并且输出格式是标准化且可解析的。

向多个收件人加密

age 支持在一次操作中向多个收件人加密:age -r age1alice... -r age1bob... file.txt。列出的任一收件人都可以使用自己的私钥独立解密文件。在内部,age 会分别为每个收件人加密对称文件密钥,并将所有加密后的密钥副本存储在头部。这在概念上类似于 GPG 的多收件人加密。

Rage:age 的 Rust 实现

rage 是 age 规范的 Rust 实现,提供相同的文件格式和 CLI 接口。Rust 的内存安全保证和性能使 rage 成为 Go 参考实现的一种有吸引力的替代方案。两种实现可以互操作:使用 age 加密的文件可以使用 rage 解密,反之亦然。rage 可通过大多数平台上的包管理器获取。

age-plugin 系统

age 插件扩展了 age 支持的收件人类型。age-plugin-yubikey 支持使用 PIV 接口向 YubiKey 硬件安全密钥加密,因此解密需要实际持有 YubiKey。插件遵循标准化协议,无需修改 age 核心二进制文件即可支持新的收件人类型。这种可扩展性在支持硬件密钥的同时,也使基础工具保持精简。

age 与 GPG 的比较

age 在简洁性方面表现出色:无需管理信任模型、无需密钥签名聚会、无需配置,并且只需一行命令即可加密或解密。GPG 的功能要丰富得多:支持密钥签名、信任级别、密钥服务器、多个子密钥、照片 ID,以及与邮件客户端的广泛集成。对于加密文件和备份,age 通常是更好的选择。对于电子邮件加密和软件签名生态系统,GPG 仍然是标准。

自动备份流水线中的 age

age 特别适合用于自动备份加密。定时任务可以使用存储在文件中的一组接收者公钥来加密备份:age --recipients-file recipients.txt backup.tar.gz > backup.tar.gz.age。无需输入密码短语,密钥管理也很简单;多个操作人员可以使用各自的密钥独立解密。生成的文件能够抵御服务器遭到入侵。

age 接收者类型

以下哪一项是 age 加密中 NOT 支持的接收者类型?

age 加密工具回顾

age 回顾:其设计侧重于简洁而非功能丰富;主要接收者使用基于 X25519 的 age 公钥;SSH 公钥可作为方便的替代接收者;密码短语模式使用基于 scrypt 的密码加密;age-keygen 用于生成密钥对;一个文件中可以指定多个接收者;rage 是使用相同文件格式的 Rust 替代实现;插件提供硬件密钥支持;age 非常适合用于自动备份加密流水线。

常见问题解答

「age 加密工具:现代化的 GPG 替代方案」课时是免费的吗?

是的 — 「age 加密工具:现代化的 GPG 替代方案」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cryptology Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cryptology Academy 课程共包含 4 节课。

「age 加密工具:现代化的 GPG 替代方案」这节课中我会学到什么?

探索 age:一种简单、现代且易用性更佳的文件加密 GPG 替代方案。 你通过在浏览器中直接运行的动手代码来练习 Cryptology Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cryptology Academy 需要有经验吗?

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

「age 加密工具:现代化的 GPG 替代方案」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 使用 GPG 进行非对称文件加密
  2. age 加密工具:现代化的 GPG 替代方案
  3. 使用 VeraCrypt 创建加密容器
  4. 安全删除与密钥销毁
← 返回 Cryptology Academy