aboutsummaryrefslogtreecommitdiff
path: root/generate_parameters.py
diff options
context:
space:
mode:
authorGravatar jadep <jade.philipoom@gmail.com>2017-10-13 15:50:08 -0400
committerGravatar jadep <jade.philipoom@gmail.com>2017-10-13 15:50:32 -0400
commit820c81ca77ea4ad43b194f702d309b0015422273 (patch)
treecfeebf0a90b68d897a5ab180f3519b3293b36c0a /generate_parameters.py
parent6918d64cdd70691175af74808b8757c830a1c075 (diff)
add file input/output to json-generating script
Diffstat (limited to 'generate_parameters.py')
-rw-r--r--generate_parameters.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/generate_parameters.py b/generate_parameters.py
index 0b4ce7f65..ab7405918 100644
--- a/generate_parameters.py
+++ b/generate_parameters.py
@@ -181,3 +181,39 @@ def get_params_solinas(prime, bitwidth):
output["goldilocks"] = True
return output
+def write_output(name, params):
+ prime = params["modulus"]
+ filename = (name + "_" + prime + ".json").replace("^","e").replace(" ","").replace("-","m").replace("+","p").replace("*","x")
+ g = open(filename,"w")
+ g.write(json.dumps(params))
+ g.close()
+
+USAGE = "python generate_parameters.py input_file"
+if __name__ == "__main__":
+ if len(sys.argv) < 2:
+ print(USAGE)
+ sys.exit()
+ f = open(sys.argv[1])
+ for line in f:
+ # skip comments and empty lines
+ if line.strip().startswith("#") or len(line.strip()) == 0:
+ continue
+ prime = line.strip().split("#")[0] # remove trailing comments and trailing/leading whitespace
+ try:
+ write_output("montgomery32", get_params_montgomery(prime, 32))
+ except Exception as e:
+ print(e)
+ try:
+ write_output("montgomery64", get_params_montgomery(prime, 64))
+ except Exception as e:
+ print(e)
+ try:
+ write_output("solinas32", get_params_solinas(prime, 32))
+ except Exception as e:
+ print(e)
+ try:
+ write_output("solinas64", get_params_solinas(prime, 64))
+ except Exception as e:
+ print(e)
+
+ f.close()