29 #ifndef SECURE_COMPARISON_SERVER_HEADER_GUARD
30 #define SECURE_COMPARISON_SERVER_HEADER_GUARD
46 using namespace PrivateRecommendationsUtils;
48 namespace PrivateRecommendationsDataPacking {
50 class SecureComparisonClient;
67 SecureComparisonServer (
const Paillier &paillierCryptoProvider,
const Dgk &dgkCryptoProvider,
const BigInteger &similarityTreshold,
const size_t l,
const size_t bucketSize,
const size_t maxPackedBuckets,
const std::deque<BigInteger> &emptyBuckets,
const std::string &configurationPath);
73 EncryptedUserData Compare (
const PackedData &packedSimilarityValues,
const size_t similarityValueCountInLastEncryption);
76 const BigInteger &GetEmptyBucket (
const size_t index)
const;
79 void SetClient (
const std::shared_ptr<SecureComparisonClient> &secureComparisonClient);
82 const std::shared_ptr<DgkComparisonServer> &GetDgkComparisonServer ()
const;
124 #endif//SERVICE_PROVIDER_HEADER_GUARD
PaillierCiphertext Ciphertext
Provide public access to the T_Ciphertext type.
const Paillier & paillierCryptoProvider
Reference to the Paillier crypto provider.
Implementation of the public-key DGK Cryptosystem.
const Dgk & dgkCryptoProvider
Reference to the DGK crypto provider.
std::weak_ptr< SecureComparisonClient > secureComparisonClient
A reference to the SecureComparisonClient.
Definition of template class RandomizerCache.
Definition of struct ComparisonBlindingFactorContainer.
std::deque< Paillier::Ciphertext > EncryptedUserData
Encrypted user data.
const std::deque< BigInteger > & emptyBuckets
Empty buckets .
Definition of class Config.
Definition of class DgkComparisonServer.
~SecureComparisonServer()
Destructor - void implementation.
Paillier::Ciphertext encryptedPartialD
size_t maxPackedBuckets
The maximum number of buckets that fit in one encryption.
Implementation of the public-key Paillier Cryptosystem.
const std::shared_ptr< DgkComparisonServer > dgkComparisonServer
A reference to the DgkComparisonServer.
std::deque< Paillier::Ciphertext > PackedData
Packed data.
Definition of class Paillier.
RandomizerCache< BlindingFactorContainer > blindingFactorCache
Blinding factor cache instance.
std::deque< PackedData > PackedItems
Packed items.
ComparisonBlindingFactorContainer< Paillier, ComparisonBlindingFactorCacheParameters > BlindingFactorContainer
Alias for the blinding factor container.
Stores precomputed random data.
Secure Comparison Server.
Definition of struct ComparisonBlindingFactorCacheParameters.