aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-10-06 15:12:37 -0400
committerGravatar Jason Gross <jasongross9@gmail.com>2017-10-18 23:01:29 -0400
commit10fa8d0422e7cf320753fd6304bcf79851489de6 (patch)
tree5a640d341896410223d01b5290e2c0179c4192ec /src
parent6e53b58204d6befd70d2413cfb1bfecaf0f4a73c (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.json2
-rwxr-xr-xsrc/Specific/Framework/make_curve.py4
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']))