pub trait Mac: OutputSizeUser + Sized {
Show 13 methods
// Required methods
fn new(key: &Key<Self>) -> Self
where Self: KeyInit;
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
where Self: KeyInit;
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>;
}
Expand description
Convenience wrapper trait covering functionality of Message Authentication algorithms.
This trait wraps KeyInit
, Update
, FixedOutput
, and MacMarker
traits and provides additional convenience methods.
Required Methods§
sourcefn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>where
Self: KeyInit,
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>where Self: KeyInit,
Create new value from variable size key.
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.