29 #ifndef SECURE_EXTREMUM_SELECTION_SERVER_HEADER_GUARD
30 #define SECURE_EXTREMUM_SELECTION_SERVER_HEADER_GUARD
46 template <
typename T_SecureComparisonServer,
typename T_SecureComparisonClient>
47 class SecureExtremumSelectionClient;
54 template <
typename T_SecureComparisonServer,
typename T_SecureComparisonClient>
55 class SecureExtremumSelectionServer {
109 #endif//SECURE_EXTREMUM_SELECTION_SERVER_HEADER_GUARD
PaillierCiphertext Ciphertext
Provide public access to the T_Ciphertext type.
SecureExtremumSelectionServer(const Paillier &paillierCryptoProvider, const Dgk &dgkCryptoProvider, const std::string &configurationPath)
Constructor.
Implementation of the public-key DGK Cryptosystem.
Secure Extremum Selection Server.
std::weak_ptr< const SecureExtremumSelectionClient< T_SecureComparisonServer, T_SecureComparisonClient > > secureExtremumSelectionClient
A reference to the SecureExtremumSelectionClient.
const Dgk & dgkCryptoProvider
Reference to the DGK crypto provider.
Paillier::Ciphertext GetMinimum(const ItemContainer &items) const
Interactive secure minimum selection.
Definition of template class RandomizerCache.
Secure Extremum Selection Client.
Definition of class Config.
const std::shared_ptr< T_SecureComparisonServer > & GetSecureComparisonServer() const
Getter for this->secureComparisonServer.
const std::shared_ptr< T_SecureComparisonServer > secureComparisonServer
A reference to the SecureComparisonServer.
void SetClient(const std::shared_ptr< SecureExtremumSelectionClient< T_SecureComparisonServer, T_SecureComparisonClient >> &secureExtremumSelectionClient)
Setter for this->secureExtremumSelectionClient.
Definition of template class SecureExtremumSelectionClient.
~SecureExtremumSelectionServer()
Destructor - void implementation.
SecureExtremumSelectionServer operator=(SecureExtremumSelectionServer const &)
Copy assignment operator - not implemented.
Definition of template class SecureMultiplicationServer.
Paillier::Ciphertext GetMaximum(const ItemContainer &items) const
Interactive secure maximum selection.
Implementation of the public-key Paillier Cryptosystem.
const Paillier & paillierCryptoProvider
Reference to the Paillier crypto provider.
Definition of class Paillier.
const std::shared_ptr< SecureMultiplicationServer< Paillier > > & GetSecureMultiplicationServer() const
Getter for this->secureMultiplicationServer.
const std::shared_ptr< SecureMultiplicationServer< Paillier > > secureMultiplicationServer
A reference to the SecureMultiplicationServer.
Implementation of template members from class SecureExtremumSelectionServer. To be included in secure...
std::vector< Paillier::Ciphertext > ItemContainer
Alias for the item container.