29 #ifndef PAILLIER_HEADER_GUARD
30 #define PAILLIER_HEADER_GUARD
66 #ifdef USE_STANDARD_PAILLIER_ALGORITHM
175 BigInteger
L (
const BigInteger &input,
const BigInteger &d)
const;
196 #endif//PAILLIER_HEADER_GUARD
PaillierCiphertext Ciphertext
Provide public access to the T_Ciphertext type.
BigInteger qTimesQInvModP
virtual BigInteger DecryptInteger(const Ciphertext &ciphertext) const
Decrypt number.
BigInteger L(const BigInteger &input, const BigInteger &d) const
L function evaluator.
virtual const BigInteger & GetMessageSpaceUpperBound() const
Returns the message space upper bound.
Definition of class Config.
virtual bool GenerateKeys()
PaillierPrivateKey privateKey
Private key container.
BigInteger nMinusOne
Contains .
BigInteger data
The randomizer data.
Paillier()
Default constructor.
virtual void validateParameters()
Do nothing for now.
PaillierCiphertext()
Default constructor.
virtual Ciphertext RandomizeCiphertext(const Ciphertext &ciphertext) const
Randomize encrypted number with a self-generated random value.
BigInteger pTimesPInvModQ
virtual size_t GetMessageSpaceSize() const
Returns the message space bit size.
std::shared_ptr< BigInteger > encryptionModulus
The encryption modulus.
virtual Ciphertext EncryptIntegerNonrandom(const BigInteger &plaintext) const
Encrypt number without randomization.
Implementation of the public-key Paillier Cryptosystem.
BigInteger nSquared
Contains .
virtual Randomizer GetRandomizer() const
Compute the random factor required for the encryption operation.
BigInteger data
The ciphertext data.
CiphertextBase template class.
PaillierRandomizer()
Default constructor.
The randomizer type for Paillier.
PaillierRandomizer Randomizer
Provide public access to the T_Randomizer type.
Definition of template abstract class CryptoProvider.
PaillierPublicKey publicKey
Public key container.
Template abstract base class for homomorphic encryption primitives.
Definition of template class CiphertextBase.
virtual void doPrecomputations()
Precompute values for speedups.
The private key container structure for the Paillier cryptosystem.
Paillier operator=(const Paillier &)
Copy assignment operator - not implemented.
The public key container structure for the Paillier cryptosystem.