logo
pub trait CtrFlavor<B: ArrayLength<u8>> {
    type CtrNonce: Clone;
    type Backend: Counter;

    const NAME: &'static str;

    fn remaining(cn: &Self::CtrNonce) -> Option<usize>;
    fn next_block(cn: &mut Self::CtrNonce) -> GenericArray<u8, B>;
    fn current_block(cn: &Self::CtrNonce) -> GenericArray<u8, B>;
    fn from_nonce(block: &GenericArray<u8, B>) -> Self::CtrNonce;
    fn set_from_backend(cn: &mut Self::CtrNonce, v: Self::Backend);
    fn as_backend(cn: &Self::CtrNonce) -> Self::Backend;
}
Expand description

Trait implemented by different CTR flavors.

Required Associated Types

Inner representation of nonce.

Backend numeric type

Required Associated Constants

Flavor name

Required Methods

Return number of remaining blocks.

If result does not fit into usize, returns None.

Generate block for given nonce and current counter value.

Generate block for given nonce and current counter value.

Initialize from bytes.

Convert from a backend value

Convert to a backend value

Implementors