mirror of
https://github.com/avinal/blowfish.git
synced 2026-01-10 23:08:33 +05:30
In Blowfish - Fix incorrect F-function byte extraction (critical bug). - Correct key-schedule handling by using `uint8_t` key bytes. - Initialize local variables in `initialize()` to prevent UB. - Improve decrypt loop and XOR usage for clarity and correctness. In Blowfish2 - Zero-initialize P-array and S-boxes to guarantee deterministic state. - Fix incorrect key size comment (448 bits, not 4224 bits). - Improve F-function byte extraction clarity. - Normalize round loop logic and use XOR-assignment. Others - Replace macro `N` with `constexpr N`. - Add `noexcept` to internal operations. - Add `initialize(const uint8_t*, size_t)` overload for binary keys. - Clean up readability and internal consistency across both ciphers. Signed-off-by: Avinal Kumar <avinal.xlvii@gmail.com>