Post-quantum (Hybrid ML-KEM-768) identity option #28

Open
opened 2026-07-25 17:43:51 +00:00 by Cordy · 0 comments
Owner

age v1.3.0+ ships built-in hybrid ML-KEM-768 + X25519 post-quantum keys (age-keygen -pq). The Go library (which we already pin at v1.3.1) exports GenerateHybridIdentity(), ParseHybridIdentity(), ParseHybridRecipient(); HybridRecipient/HybridIdentity satisfy the same age.Recipient/age.Identity interfaces our KeyProvider returns — so this is a type swap, not a rewrite.

  • Config toggle so KeyProvider issues Hybrid identities.
  • Constraint: a HybridRecipient refuses to mix with classical recipients (emits a "postquantum" label) → the recovery recipient must also be Hybrid.
  • Costs: ~2000-char recipients (bigger profile attribute), ~2× keygen, negligible enc/dec.

Corrects our earlier factual error ("age is not post-quantum"). Relevant to public-sector PQC-readiness asks. Sources: age README / pq.go.

age v1.3.0+ ships built-in hybrid **ML-KEM-768 + X25519** post-quantum keys (`age-keygen -pq`). The Go library (which we already pin at v1.3.1) exports `GenerateHybridIdentity()`, `ParseHybridIdentity()`, `ParseHybridRecipient()`; `HybridRecipient`/`HybridIdentity` satisfy the same `age.Recipient`/`age.Identity` interfaces our `KeyProvider` returns — so this is a **type swap, not a rewrite**. - Config toggle so KeyProvider issues Hybrid identities. - **Constraint:** a `HybridRecipient` refuses to mix with classical recipients (emits a "postquantum" label) → the **recovery recipient must also be Hybrid**. - Costs: ~2000-char recipients (bigger profile attribute), ~2× keygen, negligible enc/dec. Corrects our earlier factual error ("age is not post-quantum"). Relevant to public-sector PQC-readiness asks. Sources: age README / `pq.go`.
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#28
No description provided.