29 #ifndef PRIVACY_SERVICE_PROVIDER_HEADER_GUARD
30 #define PRIVACY_SERVICE_PROVIDER_HEADER_GUARD
50 using namespace PrivateRecommendationsUtils;
52 namespace PrivateRecommendationsDataPacking {
54 class ServiceProvider;
74 void SetServiceProvider (
const std::shared_ptr<const ServiceProvider> &serviceProvider);
77 const std::shared_ptr<SecureComparisonClient> &GetSecureComparisonClient ()
const;
80 const std::shared_ptr<SecureMultiplicationClient<Paillier>> &GetSecureMultiplicationClient ()
const;
119 #endif//PRIVACY_SERVICE_PROVIDER_HEADER_GUARD
PaillierCiphertext Ciphertext
Provide public access to the T_Ciphertext type.
Implementation of the public-key DGK Cryptosystem.
Dgk dgkCryptoProvider
The DGK crypto provider.
std::shared_ptr< const ServiceProvider > serviceProvider
A reference to the ServiceProvider.
Definition of class Config.
std::deque< std::deque< Paillier::Ciphertext > > EncryptedRatings
Container for encrypted user rating vectors.
Privacy Service Provider.
The public key container structure for the Dgk cryptosystem.
Definition of class SecureComparisonClient.
Implementation of the public-key Paillier Cryptosystem.
Definition of template class SecureMultiplicationClient.
~PrivacyServiceProvider()
Destructor - void implementation.
Definition of class Paillier.
std::shared_ptr< SecureMultiplicationClient< Paillier > > secureMultiplicationClient
A reference to the SecureMultiplicationClient.
std::shared_ptr< SecureComparisonClient > secureComparisonClient
A reference to the SecureComparisonClient.
static const std::string configurationPath
Service Provider configuration path.
Paillier paillierCryptoProvider
The Paillier crypto provider.
The public key container structure for the Paillier cryptosystem.