29 #ifndef COMPARISON_BLINDING_FACTOR_CONTAINER_IMPLEMENTATION_GUARD
30 #define COMPARISON_BLINDING_FACTOR_CONTAINER_IMPLEMENTATION_GUARD
33 namespace PrivateRecommendationsDataPacking {
43 template <
typename T_CryptoProv
ider,
typename T_Parameters>
46 this->r = RandomProvider::GetInstance().GetRandomInteger(parameters.l + 1 + parameters.kappa);
49 this->encryptedR = cryptoProvider.EncryptInteger(this->r);
52 for (
size_t i = 0; i < parameters.emptyBuckets.size(); ++i) {
53 if (i < parameters.emptyBuckets.size() - 1) {
54 this->ri.emplace_back((this->r % parameters.emptyBuckets[i + 1]) / parameters.emptyBuckets[i]);
57 this->ri.emplace_back(this->r / parameters.emptyBuckets[i]);
64 #endif//COMPARISON_BLINDING_FACTOR_CONTAINER_IMPLEMENTATION_GUARD
ComparisonBlindingFactorContainer(const T_CryptoProvider &cryptoProvider, const T_Parameters ¶meters)
Constructor.