diff options
author | 2017-10-06 15:12:37 -0400 | |
---|---|---|
committer | 2017-10-18 23:01:29 -0400 | |
commit | 10fa8d0422e7cf320753fd6304bcf79851489de6 (patch) | |
tree | 5a640d341896410223d01b5290e2c0179c4192ec /src | |
parent | 6e53b58204d6befd70d2413cfb1bfecaf0f4a73c (diff) |
Default carry chains in json files
The default carry chain now makes sense to me, and seems like a very
reasonable default value, so there's no need to specify the [0; 1] part
at the end, I think.
Diffstat (limited to 'src')
-rw-r--r-- | src/Specific/CurveParameters/x25519_c64.json | 2 | ||||
-rwxr-xr-x | src/Specific/Framework/make_curve.py | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/Specific/CurveParameters/x25519_c64.json b/src/Specific/CurveParameters/x25519_c64.json index d65187d05..64bbb872e 100644 --- a/src/Specific/CurveParameters/x25519_c64.json +++ b/src/Specific/CurveParameters/x25519_c64.json @@ -4,7 +4,7 @@ "a24" : "121665", "sz" : "5", "bitwidth" : "64", - "carry_chains" : ["default", ["0", "1"]], + "carry_chains" : "default", "coef_div_modulus" : "2", "operations" : ["femul", "fesquare", "freeze", "ladderstep"], "extra_files" : ["X25519_C64/scalarmult.c"], diff --git a/src/Specific/Framework/make_curve.py b/src/Specific/Framework/make_curve.py index 89008b482..ab81358c1 100755 --- a/src/Specific/Framework/make_curve.py +++ b/src/Specific/Framework/make_curve.py @@ -7,7 +7,7 @@ def compute_bitwidth(base): def compute_sz(modulus, base): return 1 + int(math.ceil(math.log(modulus, 2) / base)) def default_carry_chains(): - return ('seq 0 (pred sz)', '[0; 1]') + return ['seq 0 (pred sz)', '[0; 1]'] def compute_s(modulus_str): base, exp, rest = re.match(r'\s*'.join(('^', '(2)', r'\^', '([0-9]+)', r'([0-9\^ +\*-]*)$')), modulus_str).groups() return '%s^%s' % (base, exp) @@ -176,7 +176,7 @@ def make_curve_parameters(parameters): = ('Some %s%%nat' % nested_list_to_string([(v if v != 'default' else defaults[i]) for i, v in enumerate(replacements['carry_chains'])])) - elif replacements['carry_chains'] == 'default': + elif replacements['carry_chains'] in ('default', 'Some default'): replacements['carry_chains'] = 'Some %s%%nat' % nested_list_to_string(default_carry_chains()) replacements['s'] = parameters.get('s', compute_s(parameters['modulus'])) replacements['c'] = parameters.get('c', compute_c(parameters['modulus'])) |