pub struct Ocb<C, T>where
C: Cipher + BlockSizeIs16,
T: Unsigned + IsLessOrEqual<U16, Output = True>,{ /* private fields */ }
Expand description
Phillip Rogaway’s OCB mode of operation.
The type parameter T
denotes the tag length, which must not
exceed Ocb::MAX_DIGEST_SIZE
.
Implementations§
source§impl<C, T> Ocb<C, T>where
C: Cipher + BlockSizeIs16,
T: Unsigned + IsLessOrEqual<U16, Output = True>,
impl<C, T> Ocb<C, T>where C: Cipher + BlockSizeIs16, T: Unsigned + IsLessOrEqual<U16, Output = True>,
sourcepub const MAX_DIGEST_SIZE: usize = 16usize
pub const MAX_DIGEST_SIZE: usize = 16usize
Maximum size of a OCB digest in bytes.
sourcepub fn with_key_and_nonce(key: &[u8], nonce: &[u8]) -> Result<Self>
pub fn with_key_and_nonce(key: &[u8], nonce: &[u8]) -> Result<Self>
Creates a new OCB instance with secret key
and public nonce
.
Returns an error if OCB mode is not supported by the version of Nettle we are linked against at build time.
Trait Implementations§
source§impl<C, T> Aead for Ocb<C, T>where
C: Cipher + BlockSizeIs16,
T: Unsigned + IsLessOrEqual<U16, Output = True>,
impl<C, T> Aead for Ocb<C, T>where C: Cipher + BlockSizeIs16, T: Unsigned + IsLessOrEqual<U16, Output = True>,
source§fn digest_size(&self) -> usize
fn digest_size(&self) -> usize
Length of the digest in bytes.
Auto Trait Implementations§
impl<C, T> RefUnwindSafe for Ocb<C, T>where C: RefUnwindSafe, T: RefUnwindSafe,
impl<C, T> Send for Ocb<C, T>where C: Send, T: Send,
impl<C, T> Sync for Ocb<C, T>where C: Sync, T: Sync,
impl<C, T> Unpin for Ocb<C, T>where C: Unpin, T: Unpin,
impl<C, T> UnwindSafe for Ocb<C, T>where C: UnwindSafe, T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more