Uh oh!
There was an error while loading. Please reload this page.
cipher: v0.3 changes (without block-modes integration) - #435
Conversation
To aid in getting the other changes landed, and since the `block-modes` integration is otherwise purely additive, this deletes the WIP code so the rest can be landed.
| /// Default implementation will accept only keys with length equal to | ||
| /// `KeySize`, but some ciphers can accept range of key lengths. | ||
| fn new_varkey(key: &[u8]) -> Result<Self, InvalidLength> { | ||
| fn new_var(key: &[u8]) -> Result<Self, InvalidLength> { |
There was a problem hiding this comment.
As long as we're bikeshedding this method name, I've thought it would be clearer if it had slice in the name, e.g. new_from_slice or from_slice.
There was a problem hiding this comment.
new_from_slice sounds good! from_slice is shorter, but I think will be more confusing, since it could be mistaken for a specialized version of the From trait. Also usually from* methods imply simple conversion, which is not the case here.
i wonder if for stream cipher and block modes we should use plural new_from_slices, since they accept two slices.
tarcieri
commented
Dec 30, 2020
Going to go ahead and land this. Hopefully that's ok! |
Implements the changes from: RustCrypto/traits#435 Unfortunately there's a circular dependency with `aes`, which now pulls in `ctr`, so the tests which depend on AES are failing. The plan is to land these changes first, then update the `block-ciphers` repository, then circle back and update the `aes` crate dependencies used in this repo.
This reverts the implementation of `SeekNum::from_block_byte` which was merged as part of #435. I'm not exactly sure what the issue is and it's somewhat difficult to debug in that it's code that involves both generics and macros causing an error as part of any failure in a long chain of checked arithmetic, which I'm trying to debug from the context of a concrete stream cipher impl (both `chacha20` and `salsa20`) where it's operating over a generic type. The error manifests as `OverflowError`: RustCrypto/stream-ciphers#205 (comment) This commit reverts to the previous implementation, which is at least much simpler.
This reverts the implementation of `SeekNum::from_block_byte` which was merged as part of #435. I'm not exactly sure what the issue is and it's somewhat difficult to debug in that it's code that involves both generics and macros causing an error as part of any failure in a long chain of checked arithmetic, which I'm trying to debug from the context of a concrete stream cipher impl (both `chacha20` and `salsa20`) where it's operating over a generic type. The error manifests as `OverflowError`: RustCrypto/stream-ciphers#205 (comment) This commit reverts to the previous implementation, which is at least much simpler.
Implements the changes from: RustCrypto/traits#435 Unfortunately there's a circular dependency with `aes`, which now pulls in `ctr`, so the tests which depend on AES are failing. The plan is to land these changes first, then update the `block-ciphers` repository, then circle back and update the `aes` crate dependencies used in this repo.
Implements the changes from: RustCrypto/traits#435 Unfortunately there's a circular dependency with `aes`, which now pulls in `ctr`, so the tests which depend on AES are failing. The plan is to land these changes first, then update the `block-ciphers` repository, then circle back and update the `aes` crate dependencies used in this repo.
Implements the changes from: RustCrypto/traits#435 Unfortunately there's a circular dependency with `aes`, which now pulls in `ctr`, so the tests which depend on AES are failing. The plan is to land these changes first, then update the `block-ciphers` repository, then circle back and update the `aes` crate dependencies used in this repo.
Implements the API changes introduced in: RustCrypto/traits#435
Implements the API changes introduced in: RustCrypto/traits#435
Implements the API changes introduced in: RustCrypto/traits#435
Implements the API changes introduced in: RustCrypto/traits#435
Implements the API changes introduced in: RustCrypto/traits#435
newpavlov
commented
Dec 30, 2020
No problem! Sorry, I couldn't finish the PR myself. |
Renames `new_var`(key) methods to use `new_from_slice(s)` as discussed earlier here: #435 (comment)
Renames `new_var`(key) methods to use `new_from_slice(s)` as discussed earlier here: #435 (comment)
Implements the changes from: RustCrypto/traits#435 Unfortunately there's a circular dependency with `aes`, which now pulls in `ctr`, so the tests which depend on AES are failing. The plan is to land these changes first, then update the `block-ciphers` repository, then circle back and update the `aes` crate dependencies used in this repo.
Implements the changes from: RustCrypto/traits#435 Unfortunately there's a circular dependency with `aes`, which now pulls in `ctr`, so the tests which depend on AES are failing. The plan is to land these changes first, then update the `block-ciphers` repository, then circle back and update the `aes` crate dependencies used in this repo.
This PR contains the proposed API changes from #394, but removes the WIP work to also integrate the
block-modescrate.The reason is this work is a blocker on getting downstream crates updated to the new API, and the
block-modesintegration work is otherwise purely additive so it can easily be done separately.