Merge pull request #16 from zama-ai/fix_harcoded_array_size

Fix harcoded array size
This commit is contained in:
Ben
2022-12-21 14:36:31 +00:00
committed by GitHub
5 changed files with 10 additions and 11 deletions

3
.gitignore vendored
View File

@@ -1,2 +1 @@
concrete-security-curves/target/
concrete-security-curves/Cargo.lock
concrete-security-curves-rust/target/

View File

@@ -11,21 +11,21 @@ generate-code: generate-cpp generate-rust
# Generate CPP ########################
$(CURVES_CPP_GEN_H): concrete-security-curves-cpp/gen_header.py $(CURVES_JSON_PATH)
cat $(CURVES_JSON_PATH) | python concrete-security-curves-cpp/gen_header.py > $(CURVES_CPP_GEN_H)
cat $(CURVES_JSON_PATH) | python3 concrete-security-curves-cpp/gen_header.py > $(CURVES_CPP_GEN_H)
generate-cpp: $(CURVES_CPP_GEN_H)
# Generate RUST ########################
$(CURVES_RUST_GEN_TXT): concrete-security-curves-rust/gen_table.py $(CURVES_JSON_PATH)
cat $(CURVES_JSON_PATH) | python concrete-security-curves-rust/gen_table.py > $(CURVES_RUST_GEN_TXT)
cat $(CURVES_JSON_PATH) | python3 concrete-security-curves-rust/gen_table.py > $(CURVES_RUST_GEN_TXT)
generate-rust: $(CURVES_RUST_GEN_TXT)
# Compare curves #######################
$(SAGE_OBJECT_DIR)/outdated_curves.timestamp: ./lattice-scripts/compare_curves_and_estimator.py
python ./lattice-scripts/compare_curves_and_estimator.py \
python3 ./lattice-scripts/compare_curves_and_estimator.py \
--curves-dir $(SAGE_OBJECT_DIR) --security-levels $(SECURITY_LEVELS) --log-q 64 \
|| touch $(SAGE_OBJECT_DIR)/outdated_curves.timestamp
@@ -42,7 +42,7 @@ generate-curves: $(SAGE_SECURITY_CURVES)
# Verify curves #######################
$(CURVES_JSON_PATH): ./lattice-scripts/verify_curves.py $(SAGE_SECURITY_CURVES)
python ./lattice-scripts/verify_curves.py \
python3 ./lattice-scripts/verify_curves.py \
--curves-dir $(SAGE_OBJECT_DIR) --security-levels $(SECURITY_LEVELS) --log-q 64 > $(CURVES_JSON_PATH)
verify-curves: $(CURVES_JSON_PATH)

View File

@@ -5,9 +5,9 @@ def print_curve(data):
def print_rust_curves_declaration(datas):
print("[")
print(f"const SECURITY_WEIGHTS_ARRAY: [(u64, SecurityWeights); {len(datas)}] = [")
for data in datas:
print_curve(data)
print("]")
print("];")
print_rust_curves_declaration(json.load(sys.stdin))

View File

@@ -1,6 +1,6 @@
[
const SECURITY_WEIGHTS_ARRAY: [(u64, SecurityWeights); 4] = [
(80, SecurityWeights { slope: -0.0404263311936459, bias: 1.660978864143658, minimal_lwe_dimension: 450 }),
(112, SecurityWeights { slope: -0.02967013708113588, bias: 2.16246371408387, minimal_lwe_dimension: 450 }),
(128, SecurityWeights { slope: -0.026405028765226296, bias: 2.482642269104389, minimal_lwe_dimension: 450 }),
(192, SecurityWeights { slope: -0.018610403247590064, bias: 3.2996236848399008, minimal_lwe_dimension: 606 }),
]
];

View File

@@ -1,4 +1,4 @@
const SECURITY_WEIGHTS_ARRAY: [(u64, SecurityWeights); 4] = include!("./curves.gen.rs");
include!("./curves.gen.rs");
#[derive(Clone, Copy)]
pub struct SecurityWeights {