pub struct RsaPK { /* private fields */ }
Expand description
Public key for the RSA cryptosystem.
Trait Implementations
sourceimpl Associable<RsaPK> for RsaCiphertext
impl Associable<RsaPK> for RsaCiphertext
sourcefn associate(self, public_key: &PK) -> AssociatedCiphertext<'_, Self, PK>
fn associate(self, public_key: &PK) -> AssociatedCiphertext<'_, Self, PK>
‘Enriches’ a ciphertext by associating it with a corresponding public key. This allows to overlead operators for homomorphic operations.
sourceimpl DecryptionKey<RsaPK> for RsaSK
impl DecryptionKey<RsaPK> for RsaSK
sourcefn decrypt_raw(&self, public_key: &RsaPK, ciphertext: &RsaCiphertext) -> Integer
fn decrypt_raw(&self, public_key: &RsaPK, ciphertext: &RsaCiphertext) -> Integer
Decrypt the ciphertext using the secret key and its related public key.
sourcefn decrypt(
&self,
ciphertext: &AssociatedCiphertext<'pk, <PK as EncryptionKey>::Ciphertext, PK>
) -> <PK as EncryptionKey>::Plaintext
fn decrypt(
&self,
ciphertext: &AssociatedCiphertext<'pk, <PK as EncryptionKey>::Ciphertext, PK>
) -> <PK as EncryptionKey>::Plaintext
Decrypt the associated ciphertext using the secret key.
sourceimpl EncryptionKey for RsaPK
impl EncryptionKey for RsaPK
type Input = Integer
type Input = Integer
Input is the type used to multiply additive ciphertexts or exponentiate multiplicative ciphertexts.
type Ciphertext = RsaCiphertext
type Ciphertext = RsaCiphertext
The type of an encrypted plaintext, i.e. a ciphertext.
sourcefn encrypt_raw<R>(
&self,
plaintext: &Integer,
_rng: &mut GeneralRng<R>
) -> RsaCiphertext where
R: SecureRng,
fn encrypt_raw<R>(
&self,
plaintext: &Integer,
_rng: &mut GeneralRng<R>
) -> RsaCiphertext where
R: SecureRng,
Encrypt the plaintext using the public key and a cryptographic RNG.
sourcefn encrypt<R>(
&'pk self,
plaintext: &Self::Plaintext,
rng: &mut GeneralRng<R>
) -> AssociatedCiphertext<'pk, Self::Ciphertext, Self> where
R: SecureRng,
fn encrypt<R>(
&'pk self,
plaintext: &Self::Plaintext,
rng: &mut GeneralRng<R>
) -> AssociatedCiphertext<'pk, Self::Ciphertext, Self> where
R: SecureRng,
Encrypt the plaintext using the public key and a cryptographic RNG and immediately associate it with the public key.
sourceimpl HomomorphicMultiplication for RsaPK
impl HomomorphicMultiplication for RsaPK
sourcefn mul(
&self,
ciphertext_a: <RsaPK as EncryptionKey>::Ciphertext,
ciphertext_b: <RsaPK as EncryptionKey>::Ciphertext
) -> <RsaPK as EncryptionKey>::Ciphertext
fn mul(
&self,
ciphertext_a: <RsaPK as EncryptionKey>::Ciphertext,
ciphertext_b: <RsaPK as EncryptionKey>::Ciphertext
) -> <RsaPK as EncryptionKey>::Ciphertext
Combines two ciphertexts so that their decrypted value reflects some multiplication operation
sourcefn pow(
&self,
ciphertext: <RsaPK as EncryptionKey>::Ciphertext,
input: <RsaPK as EncryptionKey>::Input
) -> <RsaPK as EncryptionKey>::Ciphertext
fn pow(
&self,
ciphertext: <RsaPK as EncryptionKey>::Ciphertext,
input: <RsaPK as EncryptionKey>::Input
) -> <RsaPK as EncryptionKey>::Ciphertext
Applies some operation on a ciphertext so that the decrypted value reflects some exponentiation with input
impl StructuralPartialEq for RsaPK
Auto Trait Implementations
impl RefUnwindSafe for RsaPK
impl Send for RsaPK
impl Sync for RsaPK
impl Unpin for RsaPK
impl UnwindSafe for RsaPK
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedAs for T
impl<T> CheckedAs for T
sourcefn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> CheckedCastFrom<Src> for Dst where
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dst where
Src: CheckedCast<Dst>,
sourcefn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
sourceimpl<T> OverflowingAs for T
impl<T> OverflowingAs for T
sourcefn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> OverflowingCastFrom<Src> for Dst where
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dst where
Src: OverflowingCast<Dst>,
sourcefn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
OverflowingCasts the value.
sourceimpl<T> SaturatingAs for T
impl<T> SaturatingAs for T
sourcefn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> SaturatingCastFrom<Src> for Dst where
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dst where
Src: SaturatingCast<Dst>,
sourcefn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
sourceimpl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
sourcefn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dst where
Src: UnwrappedCast<Dst>,
sourcefn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
UnwrappedCasts the value.
sourceimpl<T> WrappingAs for T
impl<T> WrappingAs for T
sourcefn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
Casts the value.
sourceimpl<Src, Dst> WrappingCastFrom<Src> for Dst where
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dst where
Src: WrappingCast<Dst>,
sourcefn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
WrappingCasts the value.