Struct OaepPublicEncryptingKey
pub struct OaepPublicEncryptingKey { /* private fields */ }
Expand description
An RSA-OAEP public key for encryption.
Implementations§
§impl OaepPublicEncryptingKey
impl OaepPublicEncryptingKey
pub fn new(
public_key: PublicEncryptingKey,
) -> Result<OaepPublicEncryptingKey, Unspecified>
pub fn new( public_key: PublicEncryptingKey, ) -> Result<OaepPublicEncryptingKey, Unspecified>
Constructs an OaepPublicEncryptingKey
from a PublicEncryptingKey
.
§Errors
Unspecified
: Any error that occurs while attempting to construct an RSA-OAEP public key.
pub fn encrypt<'ciphertext>(
&self,
algorithm: &'static OaepAlgorithm,
plaintext: &[u8],
ciphertext: &'ciphertext mut [u8],
label: Option<&[u8]>,
) -> Result<&'ciphertext mut [u8], Unspecified>
pub fn encrypt<'ciphertext>( &self, algorithm: &'static OaepAlgorithm, plaintext: &[u8], ciphertext: &'ciphertext mut [u8], label: Option<&[u8]>, ) -> Result<&'ciphertext mut [u8], Unspecified>
Encrypts the contents in plaintext
and writes the corresponding ciphertext to ciphertext
.
Returns the subslice of ciphertext
containing the ciphertext output.
§Max Plaintext Length
The provided length of plaintext
must be at most Self::max_plaintext_size
.
§Sizing output
For OAEP_SHA1_MGF1SHA1
, OAEP_SHA256_MGF1SHA256
, OAEP_SHA384_MGF1SHA384
, OAEP_SHA512_MGF1SHA512
The
length of output
must be greater then or equal to Self::ciphertext_size
.
§Errors
Unspecified
for any error that occurs while encryptingplaintext
.
pub fn key_size_bytes(&self) -> usize
pub fn key_size_bytes(&self) -> usize
Returns the RSA key size in bytes.
pub fn key_size_bits(&self) -> usize
pub fn key_size_bits(&self) -> usize
Returns the RSA key size in bits.
pub fn max_plaintext_size(&self, algorithm: &'static OaepAlgorithm) -> usize
pub fn max_plaintext_size(&self, algorithm: &'static OaepAlgorithm) -> usize
Returns the max plaintext that could be decrypted using this key and with the provided algorithm.
pub fn ciphertext_size(&self) -> usize
pub fn ciphertext_size(&self) -> usize
Returns the max ciphertext size that will be output by Self::encrypt
.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for OaepPublicEncryptingKey
impl RefUnwindSafe for OaepPublicEncryptingKey
impl !Send for OaepPublicEncryptingKey
impl !Sync for OaepPublicEncryptingKey
impl Unpin for OaepPublicEncryptingKey
impl UnwindSafe for OaepPublicEncryptingKey
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
Mutably borrows from an owned value. Read more
§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> ⓘ
Converts
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> ⓘ
Converts
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>
Create a new
Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more