Struct ctr::Ctr [−][src]
pub struct Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor, { /* fields omitted */ }
Generic CTR block mode isntance.
Implementations
impl<B, F> Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
[src]
impl<B, F> Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
[src]pub fn seek_block(&mut self, block: F::Backend)
[src]
Seek to the given block
pub fn current_block(&self) -> F::Backend
[src]
Return number of the current block
Trait Implementations
impl<B: Clone, F: Clone> Clone for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
F::Size: Clone,
[src]
impl<B: Clone, F: Clone> Clone for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
F::Size: Clone,
[src]fn clone(&self) -> Ctr<B, F>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<B, F> Debug for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16> + Debug,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor + Debug,
[src]
impl<B, F> Debug for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16> + Debug,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor + Debug,
[src]impl<B, F> FromBlockCipher for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
[src]
impl<B, F> FromBlockCipher for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
[src]type BlockCipher = B
Block cipher
type NonceSize = B::BlockSize
Nonce size in bytes
fn from_block_cipher(cipher: B, nonce: &Block<B>) -> Self
[src]
impl<B, F> StreamCipher for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
[src]
impl<B, F> StreamCipher for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
[src]fn try_apply_keystream(&mut self, data: &mut [u8]) -> Result<(), LoopError>
[src]
pub fn apply_keystream(&mut self, data: &mut [u8])
[src]
impl<B, F> StreamCipherSeek for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
[src]
impl<B, F> StreamCipherSeek for Ctr<B, F> where
B: BlockEncrypt + BlockCipher<BlockSize = U16>,
B::ParBlocks: ArrayLength<GenericArray<u8, U16>>,
B::BlockSize: Div<F::Size>,
F: CtrFlavor,
[src]Auto Trait Implementations
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
The resulting type after obtaining ownership.