aws_lc_rs::rsa

Struct OaepPublicEncryptingKey

Source
pub struct OaepPublicEncryptingKey { /* private fields */ }
Expand description

An RSA-OAEP public key for encryption.

Implementations§

Source§

impl OaepPublicEncryptingKey

Source

pub fn new(public_key: PublicEncryptingKey) -> Result<Self, Unspecified>

Constructs an OaepPublicEncryptingKey from a PublicEncryptingKey.

§Errors
  • Unspecified: Any error that occurs while attempting to construct an RSA-OAEP public key.
Source

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 encrypting plaintext.
Source

pub fn key_size_bytes(&self) -> usize

Returns the RSA key size in bytes.

Source

pub fn key_size_bits(&self) -> usize

Returns the RSA key size in bits.

Source

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.

Source

pub fn ciphertext_size(&self) -> usize

Returns the max ciphertext size that will be output by Self::encrypt.

Trait Implementations§

Source§

impl Debug for OaepPublicEncryptingKey

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.