pub struct ThresholdPaillierPK { /* private fields */ }
Expand description
The public key for encryption.
Trait Implementations
sourceimpl Associable<ThresholdPaillierPK> for PaillierCiphertext
impl Associable<ThresholdPaillierPK> for PaillierCiphertext
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 Debug for ThresholdPaillierPK
impl Debug for ThresholdPaillierPK
sourcefn combine(
decryption_shares: &[ThresholdPaillierShare],
public_key: &ThresholdPaillierPK
) -> Result<Integer, DecryptionError>
fn combine(
decryption_shares: &[ThresholdPaillierShare],
public_key: &ThresholdPaillierPK
) -> Result<Integer, DecryptionError>
Combine $t$ decryption shares belonging to distinct partial keys to finish decryption. It is the responsibility of the programmer to supply the right number of decryption shares to this function. Read more
sourceimpl EncryptionKey for ThresholdPaillierPK
impl EncryptionKey for ThresholdPaillierPK
type Input = Integer
type Input = Integer
Input is the type used to multiply additive ciphertexts or exponentiate multiplicative ciphertexts.
type Ciphertext = PaillierCiphertext
type Ciphertext = PaillierCiphertext
The type of an encrypted plaintext, i.e. a ciphertext.
sourcefn encrypt_raw<R>(
&self,
plaintext: &Integer,
rng: &mut GeneralRng<R>
) -> PaillierCiphertext where
R: SecureRng,
ThresholdPaillierPK: Sized,
fn encrypt_raw<R>(
&self,
plaintext: &Integer,
rng: &mut GeneralRng<R>
) -> PaillierCiphertext where
R: SecureRng,
ThresholdPaillierPK: Sized,
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 PartialDecryptionKey<ThresholdPaillierPK> for ThresholdPaillierSK
impl PartialDecryptionKey<ThresholdPaillierPK> for ThresholdPaillierSK
The type of the decryption share. If enough decryption shares of different keys are combined, they output the correct decryption.
sourcefn partial_decrypt_raw(
&self,
public_key: &ThresholdPaillierPK,
ciphertext: &PaillierCiphertext
) -> ThresholdPaillierShare
fn partial_decrypt_raw(
&self,
public_key: &ThresholdPaillierPK,
ciphertext: &PaillierCiphertext
) -> ThresholdPaillierShare
Partially decrypts a ciphertext, returning a valid decryption share.
sourcefn partial_decrypt(
&self,
ciphertext: &AssociatedCiphertext<'pk, <PK as EncryptionKey>::Ciphertext, PK>
) -> Self::DecryptionShare
fn partial_decrypt(
&self,
ciphertext: &AssociatedCiphertext<'pk, <PK as EncryptionKey>::Ciphertext, PK>
) -> Self::DecryptionShare
Partially decrypts a ciphertext, returning a valid decryption share.
sourceimpl PartialEq<ThresholdPaillierPK> for ThresholdPaillierPK
impl PartialEq<ThresholdPaillierPK> for ThresholdPaillierPK
sourcefn eq(&self, other: &ThresholdPaillierPK) -> bool
fn eq(&self, other: &ThresholdPaillierPK) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &ThresholdPaillierPK) -> bool
fn ne(&self, other: &ThresholdPaillierPK) -> bool
This method tests for !=
.
impl StructuralPartialEq for ThresholdPaillierPK
Auto Trait Implementations
impl RefUnwindSafe for ThresholdPaillierPK
impl Send for ThresholdPaillierPK
impl Sync for ThresholdPaillierPK
impl Unpin for ThresholdPaillierPK
impl UnwindSafe for ThresholdPaillierPK
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.