age ファイルには、受信者ごとに 1 つのスタンザ(X25519、scrypt、ssh-ed25519、ssh-rsa、プラグインの種類、そして age 1.3 以降はハイブリッドなポスト量子受信者用の mlkem768x25519)を並べたテキストのヘッダーがあり、各スタンザが同じファイル鍵をラップします。その後にヘッダーの MAC(HMAC-SHA-256)が続き、ペイロードは ChaCha20-Poly1305 で 64 KiB のチャンクごとに暗号化されます。鍵は 1 行の文字列で、受信者は age1…、identity(秘密鍵)は AGE-SECRET-KEY-1… です。ポスト量子受信者の age1pq1… は 1,959 文字になります。
age は、署名、鍵サーバー、信頼の輪(web of trust)、アルゴリズムの選択をあえて省いています。受信者の公開鍵を持っていれば誰でもその受信者宛てに暗号化できるため、真正性が重要な場合は ssh-keygen -Y や minisign と組み合わせてください。実装には、リファレンスの Go 製ツール、rage(Rust)、typage(TypeScript)があり、SOPS やいくつかのシークレット管理ツールが age を利用しています。age 1.3.2 で計測したところ、5 バイトを 1 人のポスト量子受信者宛てに暗号化すると、1,664 バイトのファイルになりました。age 暗号化ツールはブラウザー内でローカルに動作します。