feat(notsecrets): X25519 identity and recipient with wrap/unwrap

Implements ECDH key wrapping via HKDF-SHA256 + ChaCha20Poly1305,
bech32 encode/decode for age1... recipients and AGE-SECRET-KEY-1... identities.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Joseph O'Brien
2026-04-01 20:49:31 -04:00
parent 2476daafa6
commit 6202c5dfe9
5 changed files with 242 additions and 2 deletions

View File

@@ -1,5 +1,8 @@
use crate::error::AgeError;
pub mod x25519;
pub use x25519::X25519Identity;
/// The symmetric file encryption key — 16 random bytes.
#[derive(Clone)]
pub struct FileKey([u8; 16]);