29 #ifndef DGK_HEADER_GUARD
30 #define DGK_HEADER_GUARD
86 DgkCiphertext (
const BigInteger &
data,
const std::shared_ptr<BigInteger> &encryptionModulus);
153 const unsigned int t;
156 const unsigned int l;
188 #endif//DGK_HEADER_GUARD
DgkCiphertext Ciphertext
Provide public access to the T_Ciphertext type.
Implementation of the public-key DGK Cryptosystem.
DecryptionMap decryptionMap
Contains all possible values of , where , and it is required for decryption.
virtual void validateParameters()
Validate configuration parameters.
Dgk(const bool precomputeDecryptionMap=false)
virtual size_t GetMessageSpaceSize() const
Returns the message space bit size.
BigInteger qTimesQInvModP
Contains .
Definition of class Config.
The public key container structure for the Dgk cryptosystem.
virtual void doPrecomputations()
Precompute values for speedups.
virtual Ciphertext RandomizeCiphertext(const Ciphertext &ciphertext) const
Randomize encrypted number with a self-generated random value.
DgkPrivateKey privateKey
Private key container.
virtual Ciphertext EncryptIntegerNonrandom(const BigInteger &plaintext) const
Encrypt number without randomization.
BigInteger data
The randomizer data.
The randomizer type for DGK.
DgkRandomizer()
Default constructor.
virtual const BigInteger & GetMessageSpaceUpperBound() const
Returns the message space upper bound.
Dgk operator=(const Dgk &)
Copy assignment operator - not implemented.
virtual Randomizer GetRandomizer() const
Compute the random factor required for the encryption operation.
const unsigned int l
Parameter .
std::shared_ptr< BigInteger > encryptionModulus
The encryption modulus.
bool IsEncryptedZero(const Ciphertext &ciphertext) const
Determines if ciphertext contains an encryption of 0 or not.
bool precomputeDecryptionMap
If true, full decryptions are enabled and the decryption map is (pre)computed.
BigInteger data
The ciphertext data.
virtual BigInteger DecryptInteger(const Ciphertext &ciphertext) const
virtual bool GenerateKeys()
Generate the public and private keys.
CiphertextBase template class.
The private key container structure for the Dgk cryptosystem.
DgkRandomizer Randomizer
Provide public access to the T_Randomizer type.
Definition of template abstract class CryptoProvider.
DgkPublicKey publicKey
Public key container.
BigInteger u
- The message space upper bound
Template abstract base class for homomorphic encryption primitives.
DgkCiphertext()
Default constructor.
Definition of template class CiphertextBase.
const unsigned int t
Parameter .
BigInteger pTimesPInvModQ
Contains .
std::map< const BigInteger, BigInteger > DecryptionMap
std::map template specialization