Struct Encryptor

Source
pub struct Encryptor<C>{ /* private fields */ }
Expand description

CBC mode encryptor.

Trait Implementations§

Source§

impl<C> AlgorithmName for Encryptor<C>

Source§

fn write_alg_name(f: &mut Formatter<'_>) -> Result

Write algorithm name into f.
Source§

impl<C> BlockEncryptMut for Encryptor<C>

Source§

fn encrypt_with_backend_mut( &mut self, f: impl BlockClosure<BlockSize = Self::BlockSize>, )

Encrypt data using backend provided to the rank-2 closure.
Source§

fn encrypt_block_inout_mut( &mut self, block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>, )

Encrypt single inout block.
Source§

fn encrypt_blocks_inout_mut( &mut self, blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>, )

Encrypt inout blocks.
Source§

fn encrypt_block_mut(&mut self, block: &mut GenericArray<u8, Self::BlockSize>)

Encrypt single block in-place.
Source§

fn encrypt_block_b2b_mut( &mut self, in_block: &GenericArray<u8, Self::BlockSize>, out_block: &mut GenericArray<u8, Self::BlockSize>, )

Encrypt in_block and write result to out_block.
Source§

fn encrypt_blocks_mut( &mut self, blocks: &mut [GenericArray<u8, Self::BlockSize>], )

Encrypt blocks in-place.
Source§

fn encrypt_blocks_b2b_mut( &mut self, in_blocks: &[GenericArray<u8, Self::BlockSize>], out_blocks: &mut [GenericArray<u8, Self::BlockSize>], ) -> Result<(), NotEqualError>

Encrypt blocks buffer-to-buffer. Read more
Source§

impl<C> BlockSizeUser for Encryptor<C>

Source§

type BlockSize = <C as BlockSizeUser>::BlockSize

Size of the block in bytes.
Source§

fn block_size() -> usize

Return block size in bytes.
Source§

impl<C> Clone for Encryptor<C>

Source§

fn clone(&self) -> Encryptor<C>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<C> Debug for Encryptor<C>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<C> InnerIvInit for Encryptor<C>

Source§

fn inner_iv_init(cipher: C, iv: &Iv<Self>) -> Self

Initialize value using inner and iv array.
Source§

fn inner_iv_slice_init( inner: Self::Inner, iv: &[u8], ) -> Result<Self, InvalidLength>

Initialize value using inner and iv slice.
Source§

impl<C> InnerUser for Encryptor<C>

Source§

type Inner = C

Inner type.
Source§

impl<C> IvSizeUser for Encryptor<C>

Source§

type IvSize = <C as BlockSizeUser>::BlockSize

Initialization vector size in bytes.
Source§

fn iv_size() -> usize

Return IV size in bytes.
Source§

impl<C> IvState for Encryptor<C>

Source§

fn iv_state(&self) -> Iv<Self>

Returns current IV state.
Source§

impl<C: BlockCipher + BlockEncryptMut + BlockDecrypt + BlockSizeUser> UnalignedBytesEncryptMut for Encryptor<C>

Source§

fn proc_tail( &self, blocks: &mut InOutBuf<'_, '_, Block<Self>>, tail: &mut InOutBuf<'_, '_, u8>, ) -> Result<(), TailError>

In many cases, plaintext and ciphertext input is not divisible by the block size, and padding is often used. In practical use, however, this is not always done, and the termination may be handled by, for example, XOR. This trait and fn [proc_tail] divides the input into aligned blocks and an unaligned part([tail]), and then applies appropriate user-specified processing to the [tail].
Source§

fn encrypt_bytes_inout_mut<'inp, 'out>( &mut self, data: InOutBuf<'inp, 'out, u8>, ) -> Result<&'out [u8], TailError>

Encrypt inout bytes slice.
Source§

fn encrypt_bytes_mut<'a>( &mut self, buf: &'a mut [u8], ) -> Result<&'a [u8], TailError>

Unaligned bytes input and encrypt in-place. Returns resulting plaintext slice. Read more
Source§

fn encrypt_bytes_b2b_mut<'a>( &mut self, msg: &[u8], out_buf: &'a mut [u8], ) -> Result<&'a [u8], TailError>

Unaligned bytes input and encrypt buffer-to-buffer. Returns resulting plaintext slice. Read more

Auto Trait Implementations§

§

impl<C> Freeze for Encryptor<C>

§

impl<C> RefUnwindSafe for Encryptor<C>

§

impl<C> Send for Encryptor<C>
where C: Send,

§

impl<C> Sync for Encryptor<C>
where C: Sync,

§

impl<C> Unpin for Encryptor<C>

§

impl<C> UnwindSafe for Encryptor<C>

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> KeyIvInit for T
where T: InnerIvInit, <T as InnerUser>::Inner: KeyInit,

Source§

fn new( key: &GenericArray<u8, <T as KeySizeUser>::KeySize>, iv: &GenericArray<u8, <T as IvSizeUser>::IvSize>, ) -> T

Create new value from fixed length key and nonce.
Source§

fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<T, InvalidLength>

Create new value from variable length key and nonce.
Source§

impl<T> KeySizeUser for T
where T: InnerUser, <T as InnerUser>::Inner: KeySizeUser,

Source§

type KeySize = <<T as InnerUser>::Inner as KeySizeUser>::KeySize

Key size in bytes.
Source§

fn key_size() -> usize

Return key size in bytes.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.