Skip to content

Perf/API: Add byte[] parameter sets for high-throughput workflows #57

@MariusStorhaug

Description

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions