diff options
| author | J08nY | 2020-03-02 17:23:20 +0100 |
|---|---|---|
| committer | J08nY | 2020-03-02 17:23:20 +0100 |
| commit | 49018aa37f44b56292193b763ed4a8bb15389c30 (patch) | |
| tree | 9d62101f699075d18c9406a2a175bdd5c377954a /pyecsca/codegen/render.py | |
| parent | 81e5f24363cf8f50099b7fbed0fd3bcfaac9d5ea (diff) | |
| download | pyecsca-codegen-49018aa37f44b56292193b763ed4a8bb15389c30.tar.gz pyecsca-codegen-49018aa37f44b56292193b763ed4a8bb15389c30.tar.zst pyecsca-codegen-49018aa37f44b56292193b763ed4a8bb15389c30.zip | |
Add support for specifying multiplication and square algos.
Diffstat (limited to 'pyecsca/codegen/render.py')
| -rw-r--r-- | pyecsca/codegen/render.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/pyecsca/codegen/render.py b/pyecsca/codegen/render.py index 8350146..50d15af 100644 --- a/pyecsca/codegen/render.py +++ b/pyecsca/codegen/render.py @@ -9,7 +9,7 @@ from typing import Optional, List, Set, Mapping, MutableMapping, Any, Tuple from jinja2 import Environment, PackageLoader from pkg_resources import resource_filename from public import public -from pyecsca.ec.configuration import HashType, RandomMod, Reduction +from pyecsca.ec.configuration import HashType, RandomMod, Reduction, Multiplication, Squaring from pyecsca.ec.coordinates import CoordinateModel from pyecsca.ec.formula import (Formula) from pyecsca.ec.model import CurveModel @@ -190,9 +190,11 @@ def render_main(model: CurveModel, coords: CoordinateModel, keygen: bool, ecdh: keygen=keygen, ecdh=ecdh, ecdsa=ecdsa) -def render_makefile(platform: Platform, hash_type: HashType, mod_rand: RandomMod, reduction: Reduction) -> str: +def render_makefile(platform: Platform, hash_type: HashType, mod_rand: RandomMod, + reduction: Reduction, mul: Multiplication, sqr: Squaring) -> str: return env.get_template("Makefile").render(platform=str(platform), hash_type=str(hash_type), - mod_rand=str(mod_rand), reduction=str(reduction)) + mod_rand=str(mod_rand), reduction=str(reduction), + mul=str(mul), sqr=str(sqr)) def save_render(dir: str, fname: str, rendered: str): @@ -216,7 +218,7 @@ def render(config: DeviceConfiguration) -> Tuple[str, str, str]: os.mkdir(gen_dir) save_render(temp, "Makefile", - render_makefile(config.platform, config.hash_type, config.mod_rand, config.red)) + render_makefile(config.platform, config.hash_type, config.mod_rand, config.red, config.mult, config.sqr)) save_render(temp, "main.c", render_main(config.model, config.coords, config.keygen, config.ecdh, config.ecdsa)) save_render(gen_dir, "defs.h", render_defs(config.model, config.coords)) |
