29 #ifndef SECURE_MULTIPLICATION_SERVER_HEADER_GUARD
30 #define SECURE_MULTIPLICATION_SERVER_HEADER_GUARD
44 template <
typename T_CryptoProv
ider>
45 class SecureMultiplicationClient;
51 template <
typename T_CryptoProv
ider>
52 class SecureMultiplicationServer {
61 typename T_CryptoProvider::Ciphertext
Multiply (
const typename T_CryptoProvider::Ciphertext &lhs,
const typename T_CryptoProvider::Ciphertext &rhs);
91 #endif//SECURE_MULTIPLICATION_SERVER_HEADER_GUARD
~SecureMultiplicationServer()
Destructor - void implementation.
Definition of template class RandomizerCache.
Stores precomputed random data.
const T_CryptoProvider & cryptoProvider
Reference to the crypto provider.
Definition of struct BlindingFactorCacheParameters.
Implementation of template members from class SecureMultiplicationServer. To be included in secure_mu...
Definition of class Config.
T_CryptoProvider::Ciphertext Multiply(const typename T_CryptoProvider::Ciphertext &lhs, const typename T_CryptoProvider::Ciphertext &rhs)
Interactive secure multiplication.
Secure Multiplication Client.
SecureMultiplicationServer operator=(SecureMultiplicationServer const &)
Copy assignment operator - not implemented.
Definition of template class SecureMultiplicationClient.
Definition of struct SecureMultiplicationBlindingFactorContainer.
RandomizerCache< BlindingFactorContainer > blindingFactorCache
Blinding factor cache instance.
SecureMultiplicationServer(const T_CryptoProvider &cryptoProvider, const size_t l, const std::string &configurationPath)
Constructor.
std::weak_ptr< const SecureMultiplicationClient< T_CryptoProvider > > secureMultiplicationClient
A reference to the SecureMultiplicationClient.
Secure Multiplication Server.
void SetClient(const std::shared_ptr< SecureMultiplicationClient< T_CryptoProvider >> &secureMultiplicationClient)
Setter for this->secureMultiplicationClient.
SecureMultiplicationBlindingFactorContainer< T_CryptoProvider, BlindingFactorCacheParameters > BlindingFactorContainer
Alias for the blinding factor container.