aboutsummaryrefslogtreecommitdiffhomepage
path: root/pyecsca/codegen/common.py
diff options
context:
space:
mode:
authorJ08nY2023-10-08 20:57:24 +0200
committerJ08nY2023-10-08 20:57:24 +0200
commit1c2e383d8e8df323b4cebb302869fc15599961a0 (patch)
treedfdfbf9a12acd1662cba56b46b30d8337ae81918 /pyecsca/codegen/common.py
parent71579306e7c63123426e5bda105e3ab850fbbb20 (diff)
downloadpyecsca-codegen-1c2e383d8e8df323b4cebb302869fc15599961a0.tar.gz
pyecsca-codegen-1c2e383d8e8df323b4cebb302869fc15599961a0.tar.zst
pyecsca-codegen-1c2e383d8e8df323b4cebb302869fc15599961a0.zip
Add fixed-base multipliers with precomputation.
Diffstat (limited to 'pyecsca/codegen/common.py')
-rw-r--r--pyecsca/codegen/common.py56
1 files changed, 16 insertions, 40 deletions
diff --git a/pyecsca/codegen/common.py b/pyecsca/codegen/common.py
index 6bffbdb..ffe4710 100644
--- a/pyecsca/codegen/common.py
+++ b/pyecsca/codegen/common.py
@@ -18,6 +18,9 @@ from pyecsca.ec.mult import (
BinaryNAFMultiplier,
SlidingWindowMultiplier,
FixedWindowLTRMultiplier,
+ FullPrecompMultiplier,
+ BGMWMultiplier,
+ CombMultiplier,
)
@@ -49,46 +52,19 @@ class DeviceConfiguration(Configuration):
MULTIPLIERS = [
- {
- "name": ("ltr", "LTRMultiplier"),
- "class": LTRMultiplier
- },
- {
- "name": ("rtl", "RTLMultiplier"),
- "class": RTLMultiplier
- },
- {
- "name": ("coron", "CoronMultiplier"),
- "class": CoronMultiplier
- },
- {
- "name": ("ldr", "LadderMultiplier"),
- "class": LadderMultiplier
- },
- {
- "name": ("simple-ldr", "SimpleLadderMultiplier"),
- "class": SimpleLadderMultiplier
- },
- {
- "name": ("diff-ldr", "DifferentialLadderMultiplier"),
- "class": DifferentialLadderMultiplier
- },
- {
- "name": ("naf", "bnaf", "BinaryNAFMultiplier"),
- "class": BinaryNAFMultiplier
- },
- {
- "name": ("wnaf", "WindowNAFMultiplier"),
- "class": WindowNAFMultiplier
- },
- {
- "name": ("sliding", "SlidingWindowMultiplier"),
- "class": SlidingWindowMultiplier
- },
- {
- "name": ("fixed", "FixedWindowLTRMultiplier"),
- "class": FixedWindowLTRMultiplier
- }
+ {"name": ("ltr", "LTRMultiplier"), "class": LTRMultiplier},
+ {"name": ("rtl", "RTLMultiplier"), "class": RTLMultiplier},
+ {"name": ("coron", "CoronMultiplier"), "class": CoronMultiplier},
+ {"name": ("ldr", "LadderMultiplier"), "class": LadderMultiplier},
+ {"name": ("simple-ldr", "SimpleLadderMultiplier"), "class": SimpleLadderMultiplier},
+ {"name": ("diff-ldr", "DifferentialLadderMultiplier"), "class": DifferentialLadderMultiplier},
+ {"name": ("naf", "bnaf", "BinaryNAFMultiplier"), "class": BinaryNAFMultiplier},
+ {"name": ("wnaf", "WindowNAFMultiplier"), "class": WindowNAFMultiplier},
+ {"name": ("sliding", "SlidingWindowMultiplier"), "class": SlidingWindowMultiplier},
+ {"name": ("fixed", "FixedWindowLTRMultiplier"), "class": FixedWindowLTRMultiplier},
+ {"name": ("precomp", "FullPrecompMultiplier"), "class": FullPrecompMultiplier},
+ {"name": ("bgmw", "BGMWMultiplier"), "class": BGMWMultiplier},
+ {"name": ("comb", "CombMultiplier"), "class": CombMultiplier},
]