This repository was archived by the owner on Dec 14, 2025. It is now read-only.
Releases: The-Krew/LEA
Releases · The-Krew/LEA
v3.2.0
✨ Major Features & Enhancements
- [Security] Add CMAC authentication support to LEA (#28)
- Integrated CMAC (Cipher-based Message Authentication Code) for data integrity and authenticity.
- CMAC is now calculated and verified on all encrypted/decrypted data.
- Documentation and code updated to reflect authentication support.
See the full diff: v3.1.0...v3.2.0
Note: This changelog may be incomplete; see all closed issues and PRs for more.
v3.1.0
2025-06-30
LEA v3.1.0 — Windows build and auto generation of IV
Full Changelog: v3.0.0...v3.1.0
🚀 Notable Changes
-
Windows Build Support
-
Automatic IV Generation
- The Initialization Vector (IV) is now generated automatically for each encryption operation, improving security and reducing user error. #29
- Expanded metadata struct: version, mode, and IV fields are now included for better file identification and future compatibility.
-
Decryption Output Improvements
- Improved handling for writing and stripping padding on decryption, ensuring output files exactly match their original sizes.
- Refactored binary stream writing logic to be more robust and avoid panics when handling the last block of data.
-
Error Handling & Reporting
- Enhanced error reporting and panic handling, especially for out-of-bounds slice accesses during block conversion and file writing.
- Improved error messages and logging during encryption and decryption operations.
-
Documentation & Codebase
- Added documentation and comments to clarify cryptographic block handling and file I/O.
- Refactored internal APIs to use
[]uint32and[4]uint32more safely and idiomatically. - More robust hooks for progress and UI updates.
🐞 Bug Fixes
- Fixed a runtime panic caused by out-of-range slice access when converting
[4]uint32to[]byte. - Corrected logic for writing only the necessary number of bytes on the last decrypted block, preventing file size mismatches and padding leaks.
For all commits and details, see the complete diff.
v3.0.0
2025-06-23
LEA v3.0.0 — Major Rewrite and CLI Overhaul
🚀 What's New
-
New Key Management System
- Introduces a new armored key file format (
key128.lea,key192.lea,key256.lea) with embedded metadata and SHA-256 digests. - Adds
lea keygenCLI command for secure, interactive key generation. - Encryption/decryption now require the
--key=<file>flag (deprecated:-ek,-es). - Key and seed are now validated and parsed for integrity.
- Introduces a new armored key file format (
-
Modernized CLI and Help System
- Fully reworked CLI flags:
- Operations:
-e/--encrypt,-d/--decrypt - Key:
--key=<file> - Modes:
--mode=ecb|cbc|cfb|ofb|ctr(CTR added; CBC is now default) - Recursion:
-r/--recursive - Verbosity:
-v/--verbose - Overwrite/Wipe:
--iter=N - Help:
-h/--help - Version:
--version
- Operations:
- Improved flag handling and help output.
-hand--versionnow function robustly and exit cleanly.
- Fully reworked CLI flags:
-
New Features & Modes
- Adds CTR (Counter) mode support.
- Secure multi-pass file wiping after encryption/decryption (DoD 5220.22-M style).
- Progress bar and status display improvements.
-
Technical/Codebase Changes
- Deprecated all usages of
-ek/--external-keyand-es/--external-seed. - Refactored and internalized key scheduling, fingerprinting, and digest verification.
- Improved modularity: new packages for key generation, loading, verification.
- Renamed and cleaned up internal state and argument handling.
- Major refactor for safety, maintainability, and security best practices.
- Deprecated all usages of
-
Documentation
- Updated
Readme.mdwith new usage examples, key management, and CLI changes. - Added detailed help messages and legal disclaimer (for authorized testing only).
- Updated
⚠️ Breaking Changes
- Old external key/seed file flags are no longer supported.
- All scripts and automations must use the new
--keysyntax and keyfile format. - Custom seed files and legacy key handling are deprecated.
Full Changelog
v2.0.1
v2.0.0
v1.6.1
v1.4.0 (CFB,OFB)
v1.2.0
v1.1.0
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Full Changelog: https://github.com/KopyTKG/LEA/commits/v1.0.0