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.