pub trait CollisionResistance {
type CollisionResistance: Unsigned;
}Expand description
Types with a certain collision resistance.
Required Associated Types§
Sourcetype CollisionResistance: Unsigned
type CollisionResistance: Unsigned
Collision resistance in bytes.
This applies to an output size of at least 2 * CollisionResistance bytes.
For a smaller output size collision resistance can be usually calculated as
min(CollisionResistance, OutputSize / 2).
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl CollisionResistance for CShake128
impl CollisionResistance for CShake128
Source§impl CollisionResistance for CShake256
impl CollisionResistance for CShake256
Source§impl<const DS: u8> CollisionResistance for TurboShake128<DS>
impl<const DS: u8> CollisionResistance for TurboShake128<DS>
Source§impl<const DS: u8> CollisionResistance for TurboShake256<DS>
impl<const DS: u8> CollisionResistance for TurboShake256<DS>
Implementors§
Source§impl CollisionResistance for lib_q_hash::CShake128
impl CollisionResistance for lib_q_hash::CShake128
Source§impl CollisionResistance for lib_q_hash::CShake256
impl CollisionResistance for lib_q_hash::CShake256
Source§impl CollisionResistance for Kmac128
impl CollisionResistance for Kmac128
Source§impl CollisionResistance for Kmac256
impl CollisionResistance for Kmac256
Source§impl CollisionResistance for Kt128<'_>
128-bit collision resistance per RFC 9861 §7.7, conditional on output length: this
figure applies at an output of at least 2 * CollisionResistance = 32 bytes, per the
digest::CollisionResistance trait contract. Kt128 is a XOF with no fixed output size,
so that length is the caller’s choice: at a shorter output, the same contract gives
min(CollisionResistance, OutputSize / 2) bytes.
impl CollisionResistance for Kt128<'_>
128-bit collision resistance per RFC 9861 §7.7, conditional on output length: this
figure applies at an output of at least 2 * CollisionResistance = 32 bytes, per the
digest::CollisionResistance trait contract. Kt128 is a XOF with no fixed output size,
so that length is the caller’s choice: at a shorter output, the same contract gives
min(CollisionResistance, OutputSize / 2) bytes.
Source§impl CollisionResistance for Kt256<'_>
256-bit collision resistance per RFC 9861 §7.8, conditional on output length: this
figure applies at an output of at least 2 * CollisionResistance = 64 bytes, per the
digest::CollisionResistance trait contract. Kt256 is a XOF with no fixed output size,
so that length is the caller’s choice: at a shorter output, the same contract gives
min(CollisionResistance, OutputSize / 2) bytes — e.g. 128-bit, not 256-bit, at the
32-byte output used in this crate’s examples.
impl CollisionResistance for Kt256<'_>
256-bit collision resistance per RFC 9861 §7.8, conditional on output length: this
figure applies at an output of at least 2 * CollisionResistance = 64 bytes, per the
digest::CollisionResistance trait contract. Kt256 is a XOF with no fixed output size,
so that length is the caller’s choice: at a shorter output, the same contract gives
min(CollisionResistance, OutputSize / 2) bytes — e.g. 128-bit, not 256-bit, at the
32-byte output used in this crate’s examples.