34 namespace SecureFaceRecognitionUtils {
41 paillierCryptoProvider(paillierCryptoProvider),
42 dgkCryptoProvider(dgkCryptoProvider),
43 dgkComparisonClient(std::make_shared<
DgkComparisonClient>(paillierCryptoProvider, dgkCryptoProvider, configurationPath)),
44 l(Utils::Config::GetInstance().GetParameter<size_t>(configurationPath +
".l")),
45 twoPowL(BigInteger(2).GetPow(static_cast<unsigned long>(l))) {
PaillierCiphertext Ciphertext
Provide public access to the T_Ciphertext type.
Definition of class SecureComparisonServer.
Implementation of the public-key DGK Cryptosystem.
virtual BigInteger DecryptInteger(const Ciphertext &ciphertext) const
Decrypt number.
const std::shared_ptr< DgkComparisonClient > dgkComparisonClient
A reference to the DgkComparisonClient.
virtual T_Ciphertext EncryptInteger(const BigInteger &plaintext) const
Encrypt an integer and apply randomization.
void SetServer(const std::shared_ptr< SecureComparisonServer > &secureComparisonServer)
Setter for this->secureComparisonServer.
std::shared_ptr< const SecureComparisonServer > secureComparisonServer
A reference to the SecureComparisonServer.
Paillier::Ciphertext ComputeMinusDModTwoPowL(const Paillier::Ciphertext &d) const
Computes .
Definition of class SecureComparisonClient.
Implementation of the public-key Paillier Cryptosystem.
void DebugPaillierEncryption(const Paillier::Ciphertext &input) const
Decrypts and prints a Paillier encrypted integer.
const std::shared_ptr< DgkComparisonClient > & GetDgkComparisonClient() const
Getter for this->dgkComparisonClient.
SecureComparisonClient(const Paillier &paillierCryptoProvider, const Dgk &dgkCryptoProvider, const std::string &configurationPath)
Constructor.
const Paillier & paillierCryptoProvider
Reference to the Paillier crypto provider.
Secure Comparison Client.