starcrypto/CHANGELOG.md

1.5 KiB

Changelog

Unreleased

Added

  • Introduced subpackages and root wrappers:
    • asymm, symm, hashx, encodingx, paddingx, filex, legacy, macx.
  • Added Chinese README.md and Apache-2.0 LICENSE.
  • Added SM9 support in asymmetric APIs.
  • Added ChaCha20 and ChaCha20-Poly1305 APIs (memory + stream wrappers where applicable).
  • Added unified symmetric cipher options API:
    • CipherOptions{Mode, Padding, IV, Nonce, AAD}.
  • Added AEAD APIs and wrappers:
    • AES-GCM, SM4-GCM (bytes + stream helper APIs).
  • Added more symmetric mode coverage for SM4:
    • ECB/CBC/CFB/OFB/CTR (bytes + stream derived APIs).
  • Added comprehensive tests across packages and root wrappers.
  • Added fuzz tests for paddingx, encodingx, and symm round-trip invariants.

Changed

  • Refactored monolithic implementation to subpackage architecture while preserving root-package convenience APIs.
  • AES mode APIs now support generic mode selection and derived mode helpers.
  • Stream APIs expanded across AES/SM4/DES/3DES and ChaCha20.
  • Updated docs to include a security-first recommendation and algorithm capability matrix.
  • Updated dependencies and modules for current code paths (gmsm, x/crypto).

Fixed

  • Fixed Base128 encode/decode round-trip bug in encodingx.
  • Corrected CRC32A test expectations and clarified CRC32A variant comments.
  • Corrected default padding behavior for AES-CBC to PKCS7.

Notes

  • Legacy/insecure algorithms and modes remain available for compatibility.
  • Production recommendations now explicitly prefer AEAD schemes.