Summary
Introduce optional raw-byte parameter sets for key/material inputs to reduce repeated base64 encode/decode overhead in chained operations.
Why
Advanced callers running high-throughput loops can avoid conversion overhead by passing byte arrays directly.
Proposed change
- Add
byte[] parameter sets to key operations (Get-SodiumPublicKey, seal/open, keypair-related helpers where applicable).
- Preserve current base64-based parameter sets as default, stable API.
- Keep sensitive-byte clearing semantics where feasible.
Acceptance criteria
- New byte-array parameter sets are documented and tested.
- Existing base64 APIs remain backward compatible.
- Benchmarks demonstrate reduced overhead in byte-array workflows.
- Validation and error behavior remains clear and deterministic.
Summary
Introduce optional raw-byte parameter sets for key/material inputs to reduce repeated base64 encode/decode overhead in chained operations.
Why
Advanced callers running high-throughput loops can avoid conversion overhead by passing byte arrays directly.
Proposed change
byte[]parameter sets to key operations (Get-SodiumPublicKey, seal/open, keypair-related helpers where applicable).Acceptance criteria