Releases: bitanon/cipherlib
Releases · bitanon/cipherlib
Release list
Version 0.7.1
- Bump
hashlibto^2.4.2.
Full Changelog: v0.7.0...v0.7.1
Version 0.7.0
- 🔑 Added ML-KEM (NIST FIPS 203) post-quantum cryptography with
MLKEM.kem512(),MLKEM.kem768(), andMLKEM.kem1024(), supporting key generation, encapsulation, and decapsulation, with deterministic key generation from a 64-byte seed. - 🧩 Added
KEMBase,KEMKeyPair, andKEMSecretcore types for key encapsulation mechanisms.
Full Changelog: v0.6.0...v0.7.0
Version 0.6.0
- 🐡 Added Blowfish block cipher with
ECB,CBC, andCTRmodes, supporting variable key sizes from 1 to 56 bytes. - 🐟 Added Twofish block cipher with
ECB,CBC, andCTRmodes, supporting 128, 192, and 256-bit keys.
Full Changelog: v0.5.0...v0.6.0
Version 0.5.0
- 🔐 Added AES-CCM (Counter with CBC-MAC, RFC-3610) support with
AES(key).ccm(nonce), accepting a 7 to 13 byte nonce, additional authenticated data, and a configurable tag size. - 🔤 Renamed AEAD extensions to fix a spelling error:
ChaCha20ExtentionForPoly1305,XChaCha20ExtentionForPoly1305,Salsa20ExtentionForPoly1305, andXSalsa20ExtentionForPoly1305are now...ExtensionForPoly1305(breaking change). - 📝 Corrected the README features table by removing unavailable
*Streamhelper functions, and refreshed the embedded usage example.
Full Changelog: v0.4.0...v0.5.0
Version 0.4.0
- 🌊 Restored and redesigned stream processing support by refactoring cipher architecture around
StreamCipher,AEADStreamCipher, andCipherPair. - 🔐 Refactored AES modes, ChaCha20, Salsa20, XOR, and AEAD implementations to align behavior across one-shot and stream APIs.
- 🛠️ Updated nonce and typed-data internals plus AES cache generation logic for better correctness and maintainability.
- ✅ Expanded and updated test coverage across AES modes, stream ciphers, AEAD flows, integration parity, and core cipher behaviors.
Full Changelog: v0.3.0...v0.4.0
Version 0.3.0
What's Changed
- Removed Stream support (It will be available again in later versions).
- 🛡️ Strengthened input validation for AES-CBC by requiring IV length to be exactly 16 bytes.
- 🔒 Improved AEAD verification behavior in XChaCha20Poly1305 and XSalsa20Poly1305 by throwing
StateErroron authentication failure. - ⚙️ Applied security hardening and reliability fixes across AES-GCM, ChaCha20/Salsa20 internals, cipher core helpers, and typed-data utilities.
- ✅ Expanded test coverage with additional security and validation tests, including AES-GCM and typed-data cases.
- 🧪 Added broader ChaCha20 and Salsa20 test vectors and scenarios.
New Contributors
- Change IV validation to require exactly 16 bytes for AES CBC mode by @elliotwutingfeng in #20
Full Changelog: v0.2.0...v0.3.0
Version 0.2.0
- ⚙️ Refactored AES (all modes), ChaCha20, Salsa20, and AEAD internals for improved clarity and maintainability.
- 🚀 Improved performance across core cipher paths and benchmark implementations.
- ✅ Expanded and reorganized test coverage across AES, stream ciphers, nonce/padding behavior, and cross-library integration tests.
- 📊 Revamped benchmarking infrastructure and documentation, including native/compiled benchmark support and updated benchmark reports.
- 🛠️ Updated CI/release workflows, refreshed docs/examples, and bumped
hashlibdependency.
Full Changelog: v0.1.0...v0.2.0
Version 0.1.0
AESin ECB, CBC, CTR, CFB, OFB, GCM, XTS, IGE, PCBC modes.XChaCha20,ChaCha20cipher withPoly1305tag.XSalsa20,Salsa20cipher withPoly1305tag.XORcipher.
Full Changelog: v0.1.0...v0.1.0