pub struct EncryptingKey { /* private fields */ }Expand description
A cipher encryption key that does not perform block padding.
Implementations§
Source§impl EncryptingKey
impl EncryptingKey
Sourcepub fn ctr(key: UnboundCipherKey) -> Result<Self, Unspecified>
pub fn ctr(key: UnboundCipherKey) -> Result<Self, Unspecified>
Constructs an EncryptingKey operating in counter (CTR) mode using the provided key.
§Errors
Unspecified: Returned if there is an error constructing theEncryptingKey.
Sourcepub fn cfb128(key: UnboundCipherKey) -> Result<Self, Unspecified>
pub fn cfb128(key: UnboundCipherKey) -> Result<Self, Unspecified>
Constructs an EncryptingKey operating in cipher feedback 128-bit mode (CFB128) using the provided key.
§Errors
Unspecified: Returned if there is an error constructing theEncryptingKey.
Sourcepub fn ecb(key: UnboundCipherKey) -> Result<Self, Unspecified>
pub fn ecb(key: UnboundCipherKey) -> Result<Self, Unspecified>
Constructs an EncryptingKey operating in electronic code book mode (ECB) using the provided key.
§☠️ ️️️DANGER ☠️
Offered for computability purposes only. This is an extremely dangerous mode, and very likely not what you want to use.
§Errors
Unspecified: Returned if there is an error constructing theEncryptingKey.
Sourcepub fn mode(&self) -> OperatingMode
pub fn mode(&self) -> OperatingMode
Returns the cipher operating mode.
Sourcepub fn encrypt(
&self,
in_out: &mut [u8],
) -> Result<DecryptionContext, Unspecified>
pub fn encrypt( &self, in_out: &mut [u8], ) -> Result<DecryptionContext, Unspecified>
Encrypts the data provided in in_out in-place.
Returns a DecryptionContext with the randomly generated IV that was used to encrypt
the data provided.
If EncryptingKey is operating in OperatingMode::ECB, then in_out.len() must be a multiple
of the block length.
§Errors
Unspecified: Returned if cipher mode requires input to be a multiple of the block length, andin_out.len()is not. Otherwise, returned if encryption fails.
Sourcepub fn less_safe_encrypt(
&self,
in_out: &mut [u8],
context: EncryptionContext,
) -> Result<DecryptionContext, Unspecified>
pub fn less_safe_encrypt( &self, in_out: &mut [u8], context: EncryptionContext, ) -> Result<DecryptionContext, Unspecified>
Encrypts the data provided in in_out in-place using the provided EncryptionContext.
This is considered “less safe” because the caller could potentially construct
a EncryptionContext from a previously used IV (initialization vector).
Returns a DecryptionContext produced from the provided EncryptionContext.
If EncryptingKey is operating in OperatingMode::ECB, then in_out.len() must be a multiple
of the block length.
§Errors
Unspecified: Returned if cipher mode requires input to be a multiple of the block length, andin_out.len()is not. Otherwise returned if encryption fails.