Skip to main content

OnetimeAuth

Struct OnetimeAuth 

Source
pub struct OnetimeAuth { /* private fields */ }
Expand description

One-time authentication implementation based on Poly1305, compatible with libsodium’s crypto_onetimeauth_* functions.

Implementations§

Source§

impl OnetimeAuth

Source

pub fn compute<Key: ByteArray<CRYPTO_ONETIMEAUTH_KEYBYTES>, Input: Bytes, Output: NewByteArray<CRYPTO_ONETIMEAUTH_BYTES>>( key: Key, input: &Input, ) -> Output

Computes the message authentication code for input using key.

The key must not be used to authenticate any other message. It may be retained to verify the authentication code for this same message.

Source

pub fn compute_to_vec<Key: ByteArray<CRYPTO_ONETIMEAUTH_KEYBYTES>, Input: Bytes>( key: Key, input: &Input, ) -> Vec<u8>

Computes the message authentication code and returns it as a Vec.

This is a convenience wrapper around OnetimeAuth::compute.

Source

pub fn compute_and_verify<OtherMac: ByteArray<CRYPTO_ONETIMEAUTH_BYTES>, Key: ByteArray<CRYPTO_ONETIMEAUTH_KEYBYTES>, Input: Bytes>( other_mac: &OtherMac, key: Key, input: &Input, ) -> Result<(), Error>

Verifies that other_mac authenticates input under key.

§Errors

Returns an error if other_mac does not match the authentication code computed from key and input.

Source

pub fn new<Key: ByteArray<CRYPTO_ONETIMEAUTH_KEYBYTES>>(key: Key) -> Self

Returns a new incremental one-time authenticator for key.

The key must not be used to authenticate any other message. It may be retained to verify the authentication code for this same message.

Source

pub fn update<Input: Bytes>(&mut self, input: &Input)

Updates the one-time authenticator at self with input.

Source

pub fn finalize<Output: NewByteArray<CRYPTO_ONETIMEAUTH_BYTES>>(self) -> Output

Finalizes this one-time authenticator, returning the message authentication code.

Source

pub fn finalize_to_vec(self) -> Vec<u8>

Finalizes this one-time authenticator, returning the message authentication code as a Vec. Convenience wrapper around OnetimeAuth::finalize.

Source

pub fn verify<OtherMac: ByteArray<CRYPTO_ONETIMEAUTH_BYTES>>( self, other_mac: &OtherMac, ) -> Result<(), Error>

Finalizes this authenticator, and verifies that the computed code matches other_mac using a constant-time comparison.

§Errors

Returns an error if other_mac does not match the authentication code computed from the data passed to OnetimeAuth::update.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.