age 文件有一个文本头部,其中每个接收者对应一个接收者节(X25519、scrypt、ssh-ed25519、ssh-rsa、插件类型,以及自 age 1.3 起用于混合后量子接收者的 mlkem768x25519),每个节都包装同一个文件密钥;随后是头部 MAC(HMAC-SHA-256),以及用 ChaCha20-Poly1305 按 64 KiB 分块加密的载荷。密钥都是单行字符串:接收者为 age1…,身份(私钥)为 AGE-SECRET-KEY-1…;后量子接收者 age1pq1… 长达 1,959 个字符。
age 有意不提供签名、密钥服务器、信任网和算法选择;需要保证真实性时,应搭配 ssh-keygen -Y 或 minisign 使用,因为任何拿到接收者公钥的人都能向其加密。实现包括 Go 语言的参考工具、rage(Rust)和 typage(TypeScript);SOPS 和多款机密管理工具都使用 age。用 age 1.3.2 实测:把 5 字节加密给一个后量子接收者,得到的文件为 1,664 字节。age 加密工具在浏览器本地运行。