[−][src]Struct paillier_common::Paillier
Main struct onto which most operations are added.
Trait Implementations
impl<EK, C> Add<EK, C, u64, EncodedCiphertext<Vec<u64>>> for Paillier where
Self: Add<EK, RawCiphertext<'c>, RawPlaintext<'p>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
[src]
Self: Add<EK, RawCiphertext<'c>, RawPlaintext<'p>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
impl<EK, C> Add<EK, C, u64, EncodedCiphertext<u64>> for Paillier where
Self: Add<EK, RawCiphertext<'c>, RawPlaintext<'p>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<u64>>,
[src]
Self: Add<EK, RawCiphertext<'c>, RawPlaintext<'p>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<u64>>,
impl<EK, C1, C2> Add<EK, C1, C2, EncodedCiphertext<Vec<u64>>> for Paillier where
Self: Add<EK, RawCiphertext<'c1>, RawCiphertext<'c2>, RawCiphertext<'d>>,
C1: Borrow<EncodedCiphertext<Vec<u64>>>,
C2: Borrow<EncodedCiphertext<Vec<u64>>>,
[src]
Self: Add<EK, RawCiphertext<'c1>, RawCiphertext<'c2>, RawCiphertext<'d>>,
C1: Borrow<EncodedCiphertext<Vec<u64>>>,
C2: Borrow<EncodedCiphertext<Vec<u64>>>,
impl<EK, C1, C2> Add<EK, C1, C2, EncodedCiphertext<u64>> for Paillier where
Self: Add<EK, RawCiphertext<'c1>, RawCiphertext<'c2>, RawCiphertext<'d>>,
C1: Borrow<EncodedCiphertext<u64>>,
C2: Borrow<EncodedCiphertext<u64>>,
[src]
Self: Add<EK, RawCiphertext<'c1>, RawCiphertext<'c2>, RawCiphertext<'d>>,
C1: Borrow<EncodedCiphertext<u64>>,
C2: Borrow<EncodedCiphertext<u64>>,
fn add(ek: &EK, c1: C1, c2: C2) -> EncodedCiphertext<u64>
[src]
impl<EK, C2> Add<EK, u64, C2, EncodedCiphertext<u64>> for Paillier where
Self: Add<EK, RawPlaintext<'m>, RawCiphertext<'c>, RawCiphertext<'d>>,
C2: Borrow<EncodedCiphertext<u64>>,
[src]
Self: Add<EK, RawPlaintext<'m>, RawCiphertext<'c>, RawCiphertext<'d>>,
C2: Borrow<EncodedCiphertext<u64>>,
impl<'c, 'm, 'd> Add<EncryptionKey, RawCiphertext<'c>, RawPlaintext<'m>, RawCiphertext<'d>> for Paillier
[src]
fn add(
ek: &EncryptionKey,
c: RawCiphertext<'c>,
m: RawPlaintext<'m>
) -> RawCiphertext<'d>
[src]
ek: &EncryptionKey,
c: RawCiphertext<'c>,
m: RawPlaintext<'m>
) -> RawCiphertext<'d>
impl<'c1, 'c2, 'd> Add<EncryptionKey, RawCiphertext<'c1>, RawCiphertext<'c2>, RawCiphertext<'d>> for Paillier
[src]
fn add(
ek: &EncryptionKey,
c1: RawCiphertext<'c1>,
c2: RawCiphertext<'c2>
) -> RawCiphertext<'d>
[src]
ek: &EncryptionKey,
c1: RawCiphertext<'c1>,
c2: RawCiphertext<'c2>
) -> RawCiphertext<'d>
impl<'c, 'm, 'd> Add<EncryptionKey, RawPlaintext<'m>, RawCiphertext<'c>, RawCiphertext<'d>> for Paillier
[src]
fn add(
ek: &EncryptionKey,
m: RawPlaintext<'m>,
c: RawCiphertext<'c>
) -> RawCiphertext<'d>
[src]
ek: &EncryptionKey,
m: RawPlaintext<'m>,
c: RawCiphertext<'c>
) -> RawCiphertext<'d>
impl<DK, C> Decrypt<DK, C, Vec<u64>> for Paillier where
Self: Decrypt<DK, RawCiphertext<'c>, RawPlaintext<'p>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
[src]
Self: Decrypt<DK, RawCiphertext<'c>, RawPlaintext<'p>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
impl<DK, C> Decrypt<DK, C, u64> for Paillier where
Self: Decrypt<DK, RawCiphertext<'c>, RawPlaintext<'p>>,
C: Borrow<EncodedCiphertext<u64>>,
[src]
Self: Decrypt<DK, RawCiphertext<'c>, RawPlaintext<'p>>,
C: Borrow<EncodedCiphertext<u64>>,
impl<'c, 'm> Decrypt<DecryptionKey, &'c RawCiphertext<'c>, RawPlaintext<'m>> for Paillier
[src]
TODO
Efficient decryption using CRT based on Paillier99, section 7
fn decrypt(dk: &DecryptionKey, c: &'c RawCiphertext<'c>) -> RawPlaintext<'m>
[src]
impl<'c, 'm> Decrypt<DecryptionKey, RawCiphertext<'c>, RawPlaintext<'m>> for Paillier
[src]
TODO
Efficient decryption using CRT based on Paillier99, section 7
fn decrypt(dk: &DecryptionKey, c: RawCiphertext<'c>) -> RawPlaintext<'m>
[src]
impl<'m, 'd> Encrypt<DecryptionKey, RawPlaintext<'m>, RawCiphertext<'d>> for Paillier
[src]
fn encrypt(dk: &DecryptionKey, m: RawPlaintext<'m>) -> RawCiphertext<'d>
[src]
impl<'m, EK> Encrypt<EK, &'m [u64], EncodedCiphertext<Vec<u64>>> for Paillier where
Self: Encrypt<EK, RawPlaintext<'p>, RawCiphertext<'c>>,
[src]
Self: Encrypt<EK, RawPlaintext<'p>, RawCiphertext<'c>>,
impl<EK> Encrypt<EK, u64, EncodedCiphertext<u64>> for Paillier where
Self: Encrypt<EK, RawPlaintext<'p>, RawCiphertext<'c>>,
[src]
Self: Encrypt<EK, RawPlaintext<'p>, RawCiphertext<'c>>,
impl<'m, 'd> Encrypt<EncryptionKey, RawPlaintext<'m>, RawCiphertext<'d>> for Paillier
[src]
fn encrypt(ek: &EncryptionKey, m: RawPlaintext<'m>) -> RawCiphertext<'d>
[src]
impl<'m, 'r, 'd> EncryptWithChosenRandomness<DecryptionKey, RawPlaintext<'m>, &'r PrecomputedRandomness, RawCiphertext<'d>> for Paillier
[src]
fn encrypt_with_chosen_randomness(
dk: &DecryptionKey,
m: RawPlaintext<'m>,
rn: &'r PrecomputedRandomness
) -> RawCiphertext<'d>
[src]
dk: &DecryptionKey,
m: RawPlaintext<'m>,
rn: &'r PrecomputedRandomness
) -> RawCiphertext<'d>
impl<'m, 'r, 'd> EncryptWithChosenRandomness<DecryptionKey, RawPlaintext<'m>, &'r Randomness, RawCiphertext<'d>> for Paillier
[src]
fn encrypt_with_chosen_randomness(
dk: &DecryptionKey,
m: RawPlaintext<'m>,
r: &'r Randomness
) -> RawCiphertext<'d>
[src]
dk: &DecryptionKey,
m: RawPlaintext<'m>,
r: &'r Randomness
) -> RawCiphertext<'d>
impl<'m, 'r, 'd> EncryptWithChosenRandomness<EncryptionKey, RawPlaintext<'m>, &'r PrecomputedRandomness, RawCiphertext<'d>> for Paillier
[src]
fn encrypt_with_chosen_randomness(
ek: &EncryptionKey,
m: RawPlaintext<'m>,
rn: &'r PrecomputedRandomness
) -> RawCiphertext<'d>
[src]
ek: &EncryptionKey,
m: RawPlaintext<'m>,
rn: &'r PrecomputedRandomness
) -> RawCiphertext<'d>
impl<'m, 'r, 'd> EncryptWithChosenRandomness<EncryptionKey, RawPlaintext<'m>, &'r Randomness, RawCiphertext<'d>> for Paillier
[src]
fn encrypt_with_chosen_randomness(
ek: &EncryptionKey,
m: RawPlaintext<'m>,
r: &'r Randomness
) -> RawCiphertext<'d>
[src]
ek: &EncryptionKey,
m: RawPlaintext<'m>,
r: &'r Randomness
) -> RawCiphertext<'d>
impl KeyGeneration<Keypair> for Paillier
[src]
fn keypair_with_modulus_size(bit_length: usize) -> Keypair
[src]
fn keypair_safe_primes_with_modulus_size(bit_length: usize) -> Keypair
[src]
fn keypair() -> KP
[src]
fn keypair_safe_primes() -> KP
[src]
impl<EK, C> Mul<EK, C, u64, EncodedCiphertext<Vec<u64>>> for Paillier where
Self: Mul<EK, RawCiphertext<'c>, RawPlaintext<'m>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
[src]
Self: Mul<EK, RawCiphertext<'c>, RawPlaintext<'m>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
impl<EK, C> Mul<EK, C, u64, EncodedCiphertext<u64>> for Paillier where
Self: Mul<EK, RawCiphertext<'c>, RawPlaintext<'m>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<u64>>,
[src]
Self: Mul<EK, RawCiphertext<'c>, RawPlaintext<'m>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<u64>>,
impl<EK, C> Mul<EK, u64, C, EncodedCiphertext<Vec<u64>>> for Paillier where
Self: Mul<EK, RawPlaintext<'m>, RawCiphertext<'c>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
[src]
Self: Mul<EK, RawPlaintext<'m>, RawCiphertext<'c>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
impl<EK, C> Mul<EK, u64, C, EncodedCiphertext<u64>> for Paillier where
Self: Mul<EK, RawPlaintext<'m>, RawCiphertext<'c>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<u64>>,
[src]
Self: Mul<EK, RawPlaintext<'m>, RawCiphertext<'c>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<u64>>,
impl<'c, 'm, 'd> Mul<EncryptionKey, RawCiphertext<'c>, RawPlaintext<'m>, RawCiphertext<'d>> for Paillier
[src]
fn mul(
ek: &EncryptionKey,
c: RawCiphertext<'c>,
m: RawPlaintext<'m>
) -> RawCiphertext<'d>
[src]
ek: &EncryptionKey,
c: RawCiphertext<'c>,
m: RawPlaintext<'m>
) -> RawCiphertext<'d>
impl<'c, 'm, 'd> Mul<EncryptionKey, RawPlaintext<'m>, RawCiphertext<'c>, RawCiphertext<'d>> for Paillier
[src]
fn mul(
ek: &EncryptionKey,
m: RawPlaintext<'m>,
c: RawCiphertext<'c>
) -> RawCiphertext<'d>
[src]
ek: &EncryptionKey,
m: RawPlaintext<'m>,
c: RawCiphertext<'c>
) -> RawCiphertext<'d>
impl<'c, 'm> Open<DecryptionKey, &'c RawCiphertext<'c>, RawPlaintext<'m>, Randomness> for Paillier
[src]
fn open(
dk: &DecryptionKey,
c: &'c RawCiphertext<'c>
) -> (RawPlaintext<'m>, Randomness)
[src]
dk: &DecryptionKey,
c: &'c RawCiphertext<'c>
) -> (RawPlaintext<'m>, Randomness)
impl<'c, 'm> Open<DecryptionKey, RawCiphertext<'c>, RawPlaintext<'m>, Randomness> for Paillier
[src]
fn open(
dk: &DecryptionKey,
c: RawCiphertext<'c>
) -> (RawPlaintext<'m>, Randomness)
[src]
dk: &DecryptionKey,
c: RawCiphertext<'c>
) -> (RawPlaintext<'m>, Randomness)
impl<'ek, 'r> PrecomputeRandomness<&'ek EncryptionKey, &'r Mpz, PrecomputedRandomness> for Paillier
[src]
fn precompute(ek: &'ek EncryptionKey, r: &'r BigInt) -> PrecomputedRandomness
[src]
impl<EK, C> Rerandomize<EK, C, EncodedCiphertext<Vec<u64>>> for Paillier where
Self: Rerandomize<EK, RawCiphertext<'c>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
[src]
Self: Rerandomize<EK, RawCiphertext<'c>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<Vec<u64>>>,
fn rerandomize(ek: &EK, c: C) -> EncodedCiphertext<Vec<u64>>
[src]
impl<EK, C> Rerandomize<EK, C, EncodedCiphertext<u64>> for Paillier where
Self: Rerandomize<EK, RawCiphertext<'c>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<u64>>,
[src]
Self: Rerandomize<EK, RawCiphertext<'c>, RawCiphertext<'d>>,
C: Borrow<EncodedCiphertext<u64>>,
fn rerandomize(ek: &EK, c: C) -> EncodedCiphertext<u64>
[src]
impl<'c, 'd> Rerandomize<EncryptionKey, RawCiphertext<'c>, RawCiphertext<'d>> for Paillier
[src]
fn rerandomize(ek: &EncryptionKey, c: RawCiphertext<'c>) -> RawCiphertext<'d>
[src]
Auto Trait Implementations
impl RefUnwindSafe for Paillier
impl Send for Paillier
impl Sync for Paillier
impl Unpin for Paillier
impl UnwindSafe for Paillier
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,