aboutsummaryrefslogtreecommitdiff
path: root/act/act_v0/parameters.cc
diff options
context:
space:
mode:
Diffstat (limited to 'act/act_v0/parameters.cc')
-rw-r--r--act/act_v0/parameters.cc39
1 files changed, 38 insertions, 1 deletions
diff --git a/act/act_v0/parameters.cc b/act/act_v0/parameters.cc
index 8a2e6c5..3f8ee7e 100644
--- a/act/act_v0/parameters.cc
+++ b/act/act_v0/parameters.cc
@@ -16,7 +16,7 @@
#include "act/act_v0/parameters.h"
#include <string>
-
+#include "absl/strings/str_cat.h"
#include "act/act_v0/act_v0.pb.h"
namespace private_join_and_compute {
@@ -80,5 +80,42 @@ SchemeParameters ActV0Batch32SchemeParameters() {
return scheme_parameters;
}
+// Returns parameters supporting 32 messages in a batch, with CS vector
+// encryption length set to 2, and modulus length 2048.
+SchemeParameters
+ActV0SchemeParametersPedersen32Modulus2048CamenischShoupVector2() {
+ int pedersen_batch_size = 32;
+ int modulus_length = 2048;
+ int camensich_shoup_vector_encryption_length = 2;
+
+ return ActV0SchemeParameters(pedersen_batch_size, modulus_length,
+ camensich_shoup_vector_encryption_length);
+}
+
+// Returns custom parameters.
+SchemeParameters ActV0SchemeParameters(int pedersen_batch_size,
+ int modulus_length_bits,
+ int camenisch_shoup_vector_length) {
+ std::string random_oracle_prefix = absl::StrCat(
+ "ActV0SchemeParametersPedersenBatchSize", pedersen_batch_size,
+ "ModulusLengthBits", modulus_length_bits, "CamenischShoupVectorLength",
+ camenisch_shoup_vector_length);
+
+ SchemeParameters scheme_parameters;
+ SchemeParametersV0* scheme_parameters_v0 =
+ scheme_parameters.mutable_scheme_parameters_v0();
+ scheme_parameters_v0->set_security_parameter(kDefaultSecurityParameter);
+ scheme_parameters_v0->set_challenge_length_bits(kDefaultChallengeLength);
+ scheme_parameters_v0->set_modulus_length_bits(modulus_length_bits);
+ scheme_parameters_v0->set_camenisch_shoup_s(kDefaultCamenischShoupS);
+ scheme_parameters_v0->set_vector_encryption_length(
+ camenisch_shoup_vector_length);
+ scheme_parameters_v0->set_pedersen_batch_size(pedersen_batch_size);
+ scheme_parameters_v0->set_prf_ec_group(kDefaultCurveId);
+ scheme_parameters_v0->set_random_oracle_prefix(random_oracle_prefix);
+
+ return scheme_parameters;
+}
+
} // namespace anonymous_counting_tokens
} // namespace private_join_and_compute