SeComLib
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Macros Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SeComLib::PrivateRecommendations::PrivacyServiceProvider Class Reference

Privacy Service Provider. More...

#include <privacy_service_provider.h>

Public Types

typedef std::deque< std::deque
< Paillier::Ciphertext > > 
EncryptedRatings
 Container for encrypted user rating vectors.
 

Public Member Functions

 PrivacyServiceProvider ()
 Default constructor. More...
 
 ~PrivacyServiceProvider ()
 Destructor - void implementation.
 
BigInteger SecureDecryption (const Paillier::Ciphertext &input) const
 Decrypts a blinded Paillier ciphertext. More...
 
void SetServiceProvider (const std::shared_ptr< const ServiceProvider > &serviceProvider)
 Sets a reference to the Privacy Service Provider. More...
 
const std::shared_ptr
< SecureComparisonClient > & 
GetSecureComparisonClient () const
 Getter for this->secureComparisonClient. More...
 
const std::shared_ptr
< SecureMultiplicationClient
< Paillier > > & 
GetSecureMultiplicationClient () const
 Getter for this->secureMultiplicationClient. More...
 
const PaillierPublicKeyGetPaillierPublicKey () const
 Getter for the Paillier crypto provider public key. More...
 
const DgkPublicKeyGetDgkPublicKey () const
 Getter for the DGK crypto provider public key. More...
 
void DebugPaillierEncryption (const Paillier::Ciphertext &input) const
 Decrypts and prints a Paillier encrypted integer. More...
 

Private Member Functions

 PrivacyServiceProvider (PrivacyServiceProvider const &)
 Copy constructor - not implemented.
 
PrivacyServiceProvider operator= (PrivacyServiceProvider const &)
 Copy assignment operator - not implemented.
 

Private Attributes

Paillier paillierCryptoProvider
 The Paillier crypto provider.
 
Dgk dgkCryptoProvider
 The DGK crypto provider.
 
std::shared_ptr< const
ServiceProvider
serviceProvider
 A reference to the ServiceProvider.
 
std::shared_ptr
< SecureComparisonClient
secureComparisonClient
 A reference to the SecureComparisonClient.
 
std::shared_ptr
< SecureMultiplicationClient
< Paillier > > 
secureMultiplicationClient
 A reference to the SecureMultiplicationClient.
 

Static Private Attributes

static const std::string configurationPath
 Service Provider configuration path. More...
 

Detailed Description

Privacy Service Provider.

Definition at line 59 of file privacy_service_provider.h.

Constructor & Destructor Documentation

SeComLib::PrivateRecommendations::PrivacyServiceProvider::PrivacyServiceProvider ( )

Default constructor.

Generates the Paillier and DGK keys.

Definition at line 44 of file privacy_service_provider.cpp.

Member Function Documentation

void SeComLib::PrivateRecommendations::PrivacyServiceProvider::DebugPaillierEncryption ( const Paillier::Ciphertext input) const

Decrypts and prints a Paillier encrypted integer.

Parameters
inputa Paillier encrypted integer

Definition at line 102 of file privacy_service_provider.cpp.

const DgkPublicKey & SeComLib::PrivateRecommendations::PrivacyServiceProvider::GetDgkPublicKey ( ) const

Getter for the DGK crypto provider public key.

Returns
a const reference to the DGK public key

Definition at line 95 of file privacy_service_provider.cpp.

const PaillierPublicKey & SeComLib::PrivateRecommendations::PrivacyServiceProvider::GetPaillierPublicKey ( ) const

Getter for the Paillier crypto provider public key.

Returns
a const reference to the Paillier public key

Definition at line 88 of file privacy_service_provider.cpp.

const std::shared_ptr< SecureComparisonClient > & SeComLib::PrivateRecommendations::PrivacyServiceProvider::GetSecureComparisonClient ( ) const

Getter for this->secureComparisonClient.

Returns
The SecureComparisonClient instance.

Definition at line 74 of file privacy_service_provider.cpp.

const std::shared_ptr< SecureMultiplicationClient< Paillier > > & SeComLib::PrivateRecommendations::PrivacyServiceProvider::GetSecureMultiplicationClient ( ) const

Getter for this->secureMultiplicationClient.

Returns
The SecureMultiplicationClient instance.

Definition at line 81 of file privacy_service_provider.cpp.

BigInteger SeComLib::PrivateRecommendations::PrivacyServiceProvider::SecureDecryption ( const Paillier::Ciphertext input) const

Decrypts a blinded Paillier ciphertext.

Parameters
inputPaillier ciphertext
Returns
the decrypted integer

Definition at line 58 of file privacy_service_provider.cpp.

void SeComLib::PrivateRecommendations::PrivacyServiceProvider::SetServiceProvider ( const std::shared_ptr< const ServiceProvider > &  serviceProvider)

Sets a reference to the Privacy Service Provider.

Parameters
serviceProvidera ServiceProvider instance

Definition at line 65 of file privacy_service_provider.cpp.

Member Data Documentation

const std::string SeComLib::PrivateRecommendations::PrivacyServiceProvider::configurationPath
staticprivate

Service Provider configuration path.

Set the configuration path.

Definition at line 108 of file privacy_service_provider.h.


The documentation for this class was generated from the following files: