pub struct RabbitCore { /* private fields */ }Expand description
Core state of the Rabbit stream cipher initialized with key and IV.
Trait Implementations§
Source§impl BlockSizeUser for RabbitCore
impl BlockSizeUser for RabbitCore
Source§impl Clone for RabbitCore
impl Clone for RabbitCore
Source§fn clone(&self) -> RabbitCore
fn clone(&self) -> RabbitCore
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl InnerIvInit for RabbitCore
impl InnerIvInit for RabbitCore
Source§fn inner_iv_init(inner: RabbitKeyOnlyCore, iv: &Iv) -> Self
fn inner_iv_init(inner: RabbitKeyOnlyCore, iv: &Iv) -> Self
Initialize value using
inner and iv array.Source§fn inner_iv_slice_init(
inner: Self::Inner,
iv: &[u8],
) -> Result<Self, InvalidLength>
fn inner_iv_slice_init( inner: Self::Inner, iv: &[u8], ) -> Result<Self, InvalidLength>
Initialize value using
inner and iv slice.Source§impl InnerUser for RabbitCore
impl InnerUser for RabbitCore
Source§type Inner = RabbitKeyOnlyCore
type Inner = RabbitKeyOnlyCore
Inner type.
Source§impl IvSizeUser for RabbitCore
impl IvSizeUser for RabbitCore
Source§impl StreamCipherCore for RabbitCore
impl StreamCipherCore for RabbitCore
Source§fn remaining_blocks(&self) -> Option<usize>
fn remaining_blocks(&self) -> Option<usize>
Return number of remaining blocks before cipher wraps around. Read more
Source§fn process_with_backend(
&mut self,
f: impl StreamClosure<BlockSize = Self::BlockSize>,
)
fn process_with_backend( &mut self, f: impl StreamClosure<BlockSize = Self::BlockSize>, )
Process data using backend provided to the rank-2 closure.
Source§fn write_keystream_block(
&mut self,
block: &mut GenericArray<u8, Self::BlockSize>,
)
fn write_keystream_block( &mut self, block: &mut GenericArray<u8, Self::BlockSize>, )
Write keystream block. Read more
Source§fn write_keystream_blocks(
&mut self,
blocks: &mut [GenericArray<u8, Self::BlockSize>],
)
fn write_keystream_blocks( &mut self, blocks: &mut [GenericArray<u8, Self::BlockSize>], )
Write keystream blocks. Read more
Source§fn apply_keystream_block_inout(
&mut self,
block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn apply_keystream_block_inout( &mut self, block: InOut<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Apply keystream block. Read more
Source§fn apply_keystream_blocks(
&mut self,
blocks: &mut [GenericArray<u8, Self::BlockSize>],
)
fn apply_keystream_blocks( &mut self, blocks: &mut [GenericArray<u8, Self::BlockSize>], )
Apply keystream blocks. Read more
Source§fn apply_keystream_blocks_inout(
&mut self,
blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>,
)
fn apply_keystream_blocks_inout( &mut self, blocks: InOutBuf<'_, '_, GenericArray<u8, Self::BlockSize>>, )
Apply keystream blocks. Read more
Source§fn try_apply_keystream_partial(
self,
buf: InOutBuf<'_, '_, u8>,
) -> Result<(), StreamCipherError>
fn try_apply_keystream_partial( self, buf: InOutBuf<'_, '_, u8>, ) -> Result<(), StreamCipherError>
Try to apply keystream to data not divided into blocks. Read more
impl ZeroizeOnDrop for RabbitCore
Available on crate feature
zeroize only.Auto Trait Implementations§
impl Freeze for RabbitCore
impl RefUnwindSafe for RabbitCore
impl Send for RabbitCore
impl Sync for RabbitCore
impl Unpin for RabbitCore
impl UnwindSafe for RabbitCore
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> KeyIvInit for T
impl<T> KeyIvInit for T
Source§fn new(
key: &GenericArray<u8, <T as KeySizeUser>::KeySize>,
iv: &GenericArray<u8, <T as IvSizeUser>::IvSize>,
) -> T
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>
fn new_from_slices(key: &[u8], iv: &[u8]) -> Result<T, InvalidLength>
Create new value from variable length key and nonce.