[−][src]Struct serpent::Serpent
The Serpent cipher instance
Implements both a friendly u128
encryption interface as well as the
common Rust crypto block_cipher_trait::BlockCipher
trait for easy use
in stream cipher algorithms.
Methods
impl Serpent
[src]
pub fn with_binary_key(key: &[u8]) -> Option<Serpent>
[src]
Constructs an instance from a little-endian binary key, only takes keys whose length are a multiple of eight bits.
pub fn with_text_key(key: &str) -> Option<Serpent>
[src]
Constructs an instance from a big-endian text representation
of a hexadecimal key, e.g. "abcdef0123456"
. Key length is
assumed to be a multiple of four bits.
pub fn encrypt_block(&self, block: u128) -> u128
[src]
Easy encryption of a block stored in a 128-bit little-endian integer
pub fn decrypt_block(&self, block: u128) -> u128
[src]
Easy decryption of a block stored in a 128-bit little-endian integer
Trait Implementations
impl BlockCipher for Serpent
[src]
Implements BlockCipher with 256-bit keys as the favoured fixed key length. Other variable key lengths are not yet implemented.
type KeySize = U32
Key size in bytes with which cipher guaranteed to be initialized
type BlockSize = U16
Size of the block in bytes
type ParBlocks = U1
Number of blocks which can be processed in parallel by cipher implementation Read more
fn new(key: &GenericArray<u8, U32>) -> Self
[src]
fn encrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
[src]
fn decrypt_block(&self, block: &mut GenericArray<u8, Self::BlockSize>)
[src]
fn new_varkey(key: &[u8]) -> Result<Self, InvalidKeyLength>
[src]
fn encrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
[src]
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
fn decrypt_blocks(
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
[src]
&self,
blocks: &mut GenericArray<GenericArray<u8, Self::BlockSize>, Self::ParBlocks>
)
Auto Trait Implementations
impl Send for Serpent
impl Sync for Serpent
impl Unpin for Serpent
impl UnwindSafe for Serpent
impl RefUnwindSafe for Serpent
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
type Output = T
Should always be Self