The highlights of this release are as follows:
Performance Improvements
- ChaCha20: 8-block parallel AVX2 implementation for AMD Zen 2 and Zen 3.
- AES-XTS: Tweak block computation redesigned O(n) → O(log n), faster for large I/O.
- AES-GCM: Reduced provider init overhead; optimized GHASH for Zen 4 and later.
- Poly1305 MAC: Optimized for AMD Zen 4 and later with a BMI2/ADX scalar (x1) fast-path + r^16 combined loop.
New Features
- Added SHA-256 and HMAC Multi-Buffer support.
- Added Variable-length multi-buffer cipher handles mixed-length message batches in a single API call.
- AES-CBC OpenSSL provider enabled by default via provider interface.
- RSA graceful fallback for verify/recover.
- Centralized dispatch by ISA availability (not Zen version), improves vendor-neutral behavior on x86.
- CBC In-place buffer is now supported by default.
- Added AESNI fallback for cipher multi-buffer kernels.
- Added support for GCC 15.
- Added full support for OpenSSL 3.5.0.
Bug Fixes
- AES-CFB: Fixed heap overflow when input < 1 block (security fix).
- RSA-PSS: Corrected algorithm dispatch ordering.
- Windows RNG: Replaced CryptGenRandom with ProcessPrng.
- Cipher: Fixed segmentation fault on nullptr input/output.
- OpenSSL Compat: Fixed memcpy buffer overrun in cipher layer (security fix).
- RSA: Output size now uses modulus size.