cipher: remove padded methods from BlockCipherEncrypt/Decrypt traits#2245
cipher: remove padded methods from BlockCipherEncrypt/Decrypt traits#2245
Conversation
|
@tarcieri I wonder if we should keep only |
|
I'll say it's a little strange our block cipher traits don't provide the API typically provided by block ciphers whatsoever, but only somewhat arcane performance-oriented APIs |
|
Ok, let's keep them. But I think I will add a warning to the method docs about the potential inefficiency around backend selection at runtime. |
### Added - Traits for tweakable block ciphers (#1721) - Methods for writing keystream (#1907) ### Changed - Replaced `generic-array` with `hybrid-array` (#1358) - Rename `BlockCipher*`/`BlockMode*` (#1482) - `BlockEncrypt` => `BlockCipherEncrypt` - `BlockDecrypt` => `BlockCipherDecrypt` - `BlockEncryptMut` => `BlockModeEncrypt` - `BlockDecryptMut` => `BlockModeDecrypt` - Split `BlockBackend` traits into 4 specific traits: (#1636) - `BlockCipherEncBackend` - `BlockCipherDecBackend` - `BlockModeEncBackend` - `BlockModeDecBackend` - Edition changed to 2024 and MSRV bumped to 1.85 (#1759) - Use `block_buffer::ReadBuffer` in `StreamCipherCoreWrapper` (#1959) - Re-export of `crypto-common` moved to `cipher::common` (#2237, #2260) - `crypto-common` dependency bumped to v0.2 (#2276) - `blobby` requirement bumped to v0.4 (#2147) - `inout` dependency bumped to v0.2.2 (#2149) ### Fixed - Bugs in `StreamCipherCoreWrapper` trait implementations (#1421) - Seeking implementation in the stream cipher wrapper (#2052) ### Removed - `std` feature (#1691) - `BlockCipherEncrypt::encrypt_padded*` and `BlockCipherDecrypt::decrypt_padded*` methods. Users of the ECB mode should use the `ecb-mode` crate instead. (#2245) - `AsyncStreamCipher` trait (#2280)
The methods were intended to be used for the ECB mode, but they are hard to discover in practice for inexperienced users, so I plan to introduce a separate crate for the mode.
Closes #2129