forked from RustCrypto/traits
-
Notifications
You must be signed in to change notification settings - Fork 2
[pull] master from RustCrypto:master #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pull
wants to merge
1,605
commits into
mesalock-linux:master
Choose a base branch
from
RustCrypto:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bdfc1ca to
6447161
Compare
I fixed a typo in the CHANGELOG.md file, correcting the misspelling of "Ouput" to "Output".
This size was intended for AEADs based on padded block cipher modes such as CBC in order to express the underlying cipher's block size and therefore the maximum amount of possible padding overhead beyond the original plaintext, which is a full block (in the case a sentinel block is added to a block-aligned plaintext input). However, every AEAD we implement uses counter mode, i.e. a stream cipher instead of a block cipher, which has no overhead, and as such `CiphertextOverhead` is set to `U0` in every AEAD implementation we currently maintain. Furthermore, to my knowledge there are no standard AEADs which use CBC or other padded block cipher modes of operation. The original goal was to support an expired draft specification of a CBC+HMAC AEAD. Since it doesn't appear to be of use, this PR removes it.
The trait design generally follows the `BlockCipherEnc/Dec` traits. We currently do not have tweakable block cipher implementations which use the backend capability, but I think it's still worth to include it for API consistency and to future-proof the traits. Some of the helper methods (e.g. `encrypt_blocks`) are not translated since it's unclear how to organize passing of tweaks. Arguably, such methods should not be used with tweakable block ciphers either way. As a bridge between tweakable and non-tweakable traits the `ZeroTweak` wrapper is introduced. It allows users to use tweakable block cipher implementations with the parts of the ecosystem which expects non-tweakble block ciphers while still being explicit in the code (e.g. `ZeroTweak<Threefish256>`).
Fixes #1677 This merge types defined in `async-signature` back into `signature` and effectively deprecates `async-signature`
Followup to #1720
This is so that a `RandomizedDigestSigner` can call into `hazmat::RandomizedPrehashSigner` directly with the provided rng. Example use: RustCrypto/signatures#901
As discussed [here][0] the tests are not particularity useful and block migration to rand_core v0.9. [0]: #1642 (comment)
`#[must_use]` annotations have no effect on trait methods.
Implementation is originally from the `k256` crate, but written to be generic over a `Point` type which is bound by the `Group` trait. Adds a `LookupTable` type which supports precomputed lookup tables for a given curve point which can be selected from in constant time. Also adds a feature-gated `BasepointTable` type with a `const fn` constructor which builds a table for precomputed fixed-base scalar multiplication using the `Group::generator` as the base point. The `const fn` support for `BasepointTable` is achieved via a `LazyLock`-style pattern which computes the table lazily upon first use in a synchronized fashion. It supports using either `std::sync::LazyLock`, or for `no_std` targets it also supports using the `critical-section` feature of the `once_cell` crate.
Mostly to get the `hybrid-array` update, which should clear the security audit warning
This notably enables the `subtle` feature of `hybrid-array`. This apparently broke `digest` where previously the unsized coercion was working until an explicit impl was available. So this PR also includes a small fix to `digest`.
The method is fallible anyway, so errors should be propagated rather than panicking
Republishing with a bumped minor version to address #2053, since the current release of `ml-kem` (v0.2.x) depends on `v0.3.0-pre.0`.
This is auto-populated to point at docs.rs
Encourages the use of these traits for initializing decapsulators that impl the `Decapsulate` type. (This is effectively #2056 without the supertrait bound)
Access to typenum constants is needed to impl `KeySizeUser`
Otherwise there's no way to generically access one from the other
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )