Struct EncryptingKey
pub struct EncryptingKey { /* private fields */ }
Expand description
A cipher encryption key that does not perform block padding.
Implementations§
§impl EncryptingKey
impl EncryptingKey
pub fn ctr(key: UnboundCipherKey) -> Result<EncryptingKey, Unspecified>
pub fn ctr(key: UnboundCipherKey) -> Result<EncryptingKey, Unspecified>
Constructs an EncryptingKey
operating in counter (CTR) mode using the provided key.
§Errors
Unspecified
: Returned if there is an error constructing theEncryptingKey
.
pub fn cfb128(key: UnboundCipherKey) -> Result<EncryptingKey, Unspecified>
pub fn cfb128(key: UnboundCipherKey) -> Result<EncryptingKey, 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
.
pub fn ecb(key: UnboundCipherKey) -> Result<EncryptingKey, Unspecified>
pub fn ecb(key: UnboundCipherKey) -> Result<EncryptingKey, 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
.
pub fn mode(&self) -> OperatingMode
pub fn mode(&self) -> OperatingMode
Returns the cipher operating mode.
pub 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.
pub 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.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for EncryptingKey
impl RefUnwindSafe for EncryptingKey
impl Send for EncryptingKey
impl Sync for EncryptingKey
impl Unpin for EncryptingKey
impl UnwindSafe for EncryptingKey
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more