pub trait Mac: OutputSizeUser + Sized {
// Required methods
fn update(&mut self, data: &[u8]);
fn chain_update(self, data: impl AsRef<[u8]>) -> Self;
fn finalize(self) -> CtOutput<Self>;
fn finalize_reset(&mut self) -> CtOutput<Self>
where Self: FixedOutputReset;
fn reset(&mut self)
where Self: Reset;
fn verify(self, tag: &Output<Self>) -> Result<(), MacError>;
fn verify_reset(&mut self, tag: &Output<Self>) -> Result<(), MacError>
where Self: FixedOutputReset;
fn verify_slice(self, tag: &[u8]) -> Result<(), MacError>;
fn verify_slice_reset(&mut self, tag: &[u8]) -> Result<(), MacError>
where Self: FixedOutputReset;
fn verify_truncated_left(self, tag: &[u8]) -> Result<(), MacError>;
fn verify_truncated_right(self, tag: &[u8]) -> Result<(), MacError>;
}
Available on crate feature
mac
only.Expand description
Convenience wrapper trait covering functionality of Message Authentication algorithms.
This trait wraps Update
, FixedOutput
, and MacMarker
traits
and provides additional convenience methods.
Required Methods§
sourcefn chain_update(self, data: impl AsRef<[u8]>) -> Self
fn chain_update(self, data: impl AsRef<[u8]>) -> Self
Process input data in a chained manner.
sourcefn finalize_reset(&mut self) -> CtOutput<Self>where
Self: FixedOutputReset,
fn finalize_reset(&mut self) -> CtOutput<Self>where
Self: FixedOutputReset,
sourcefn verify(self, tag: &Output<Self>) -> Result<(), MacError>
fn verify(self, tag: &Output<Self>) -> Result<(), MacError>
Check if tag/code value is correct for the processed input.
sourcefn verify_reset(&mut self, tag: &Output<Self>) -> Result<(), MacError>where
Self: FixedOutputReset,
fn verify_reset(&mut self, tag: &Output<Self>) -> Result<(), MacError>where
Self: FixedOutputReset,
Check if tag/code value is correct for the processed input and reset
Mac
instance.
sourcefn verify_slice(self, tag: &[u8]) -> Result<(), MacError>
fn verify_slice(self, tag: &[u8]) -> Result<(), MacError>
Check truncated tag correctness using all bytes of calculated tag.
Returns Error
if tag
is not valid or not equal in length
to MAC’s output.
sourcefn verify_slice_reset(&mut self, tag: &[u8]) -> Result<(), MacError>where
Self: FixedOutputReset,
fn verify_slice_reset(&mut self, tag: &[u8]) -> Result<(), MacError>where
Self: FixedOutputReset,
Check truncated tag correctness using all bytes
of calculated tag and reset Mac
instance.
Returns Error
if tag
is not valid or not equal in length
to MAC’s output.
Object Safety§
This trait is not object safe.