pub struct StreamingDecryptingKey { /* private fields */ }
Expand description
A key for streaming decryption operations.
Implementations§
Source§impl StreamingDecryptingKey
impl StreamingDecryptingKey
Sourcepub fn update<'a>(
&mut self,
input: &[u8],
output: &'a mut [u8],
) -> Result<BufferUpdate<'a>, Unspecified>
pub fn update<'a>( &mut self, input: &[u8], output: &'a mut [u8], ) -> Result<BufferUpdate<'a>, Unspecified>
Updates the internal state of the key with the provided ciphertext input
,
potentially also writing bytes of plaintext to output
.
The number of bytes written to output
can be up to input.len()
plus the block length of the cipher algorithm (e.g., Algorithm::block_len
).
§Errors
- Returns an error if the
output
buffer is smaller than the length of theinput
plus the algorithm’s block length. - May return an error if the length of
input
plus the algorithm’s block length is larger thani32::MAX
.
Sourcepub fn finish(self, output: &mut [u8]) -> Result<BufferUpdate<'_>, Unspecified>
pub fn finish(self, output: &mut [u8]) -> Result<BufferUpdate<'_>, Unspecified>
Finishes the decryption operation, writing the remaining plaintext to
output
.
The number of bytes written to output
can be up to the block length of
the cipher algorithm (e.g., Algorithm::block_len
).
§Errors
- Returns an error if the
output
buffer is smaller than the algorithm’s block length.
Sourcepub fn mode(&self) -> OperatingMode
pub fn mode(&self) -> OperatingMode
Returns the cipher operating mode.
Sourcepub fn ctr(
key: UnboundCipherKey,
context: DecryptionContext,
) -> Result<Self, Unspecified>
pub fn ctr( key: UnboundCipherKey, context: DecryptionContext, ) -> Result<Self, Unspecified>
Constructs a StreamingDecryptingKey
for decrypting using the CTR cipher mode.
The resulting plaintext will be the same length as the ciphertext.
§Errors
Returns an error on an internal failure.
Sourcepub fn cbc_pkcs7(
key: UnboundCipherKey,
context: DecryptionContext,
) -> Result<Self, Unspecified>
pub fn cbc_pkcs7( key: UnboundCipherKey, context: DecryptionContext, ) -> Result<Self, Unspecified>
Constructs a StreamingDecryptingKey
for decrypting using the CBC cipher mode.
The resulting plaintext will be shorter than the ciphertext.
§Errors
Returns an error on an internal failure.
Sourcepub fn cfb128(
key: UnboundCipherKey,
context: DecryptionContext,
) -> Result<Self, Unspecified>
pub fn cfb128( key: UnboundCipherKey, context: DecryptionContext, ) -> Result<Self, Unspecified>
The resulting plaintext will be the same length as the ciphertext.
§Errors
Returns an error on an internal failure.
Sourcepub fn ecb_pkcs7(
key: UnboundCipherKey,
context: DecryptionContext,
) -> Result<Self, Unspecified>
pub fn ecb_pkcs7( key: UnboundCipherKey, context: DecryptionContext, ) -> Result<Self, Unspecified>
Constructs a StreamingDecryptingKey
for decrypting using the ECB cipher mode.
The resulting plaintext will be the same length as the ciphertext.
§☠️ ️️️DANGER ☠️
Offered for computability purposes only. This is an extremely dangerous mode, and very likely not what you want to use.
§Errors
Returns an error on an internal failure.