# metamorphic_crypto v0.1.0 - Table of Contents

> Zero-knowledge end-to-end encryption for Elixir.

NaCl-compatible symmetric and public-key encryption, Argon2id key derivation,
ML-KEM-768 + X25519 hybrid post-quantum encryption, and human-readable
recovery keys — all powered by Rust NIFs with precompiled binaries.

## Pages

- [MetamorphicCrypto](readme.md)
- [Changelog](changelog.md)

## Modules

- [MetamorphicCrypto](MetamorphicCrypto.md): Zero-knowledge end-to-end encryption for Elixir.

- Symmetric Encryption
  - [MetamorphicCrypto.SecretBox](MetamorphicCrypto.SecretBox.md): XSalsa20-Poly1305 authenticated symmetric encryption (NaCl `secretbox`).

- Public-Key Encryption
  - [MetamorphicCrypto.BoxSeal](MetamorphicCrypto.BoxSeal.md): X25519 anonymous sealed box (public-key encryption).

- Post-Quantum Hybrid
  - [MetamorphicCrypto.Hybrid](MetamorphicCrypto.Hybrid.md): ML-KEM-768 + X25519 hybrid post-quantum encryption.

- Unified Seal/Unseal
  - [MetamorphicCrypto.Seal](MetamorphicCrypto.Seal.md): Unified seal/unseal with automatic format detection.

- Key Management
  - [MetamorphicCrypto.KDF](MetamorphicCrypto.KDF.md): Argon2id key derivation.
  - [MetamorphicCrypto.Keys](MetamorphicCrypto.Keys.md): Key generation and private key management.

- Recovery
  - [MetamorphicCrypto.Recovery](MetamorphicCrypto.Recovery.md): Human-readable recovery keys for private key backup.

## Mix Tasks

- [mix metamorphic_crypto.gen.key](Mix.Tasks.MetamorphicCrypto.Gen.Key.md): Generates a random 32-byte encryption key for use with MetamorphicCrypto.

