aboutsummaryrefslogtreecommitdiff
path: root/pyecsca/ec/mult/window.py
diff options
context:
space:
mode:
authorJ08nY2025-03-13 19:38:06 +0100
committerJ08nY2025-03-13 19:38:06 +0100
commiteccc58127b4c0c10f50e4d05e699d3585391e8a1 (patch)
tree5e3f96febfc3051778d2b588484bacfc6d9d148c /pyecsca/ec/mult/window.py
parent314d7c78bb91ab7579c41fe9dc91d238e04c8fe1 (diff)
downloadpyecsca-eccc58127b4c0c10f50e4d05e699d3585391e8a1.tar.gz
pyecsca-eccc58127b4c0c10f50e4d05e699d3585391e8a1.tar.zst
pyecsca-eccc58127b4c0c10f50e4d05e699d3585391e8a1.zip
Diffstat (limited to 'pyecsca/ec/mult/window.py')
-rw-r--r--pyecsca/ec/mult/window.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/pyecsca/ec/mult/window.py b/pyecsca/ec/mult/window.py
index 6fbee24..1a0ecec 100644
--- a/pyecsca/ec/mult/window.py
+++ b/pyecsca/ec/mult/window.py
@@ -90,9 +90,9 @@ class SlidingWindowMultiplier(AccumulatorMultiplier, PrecompMultiplier, ScalarMu
def __repr__(self):
return f"{self.__class__.__name__}({', '.join(map(str, self.formulas.values()))}, short_circuit={self.short_circuit}, width={self.width}, recoding_direction={self.recoding_direction.name}, accumulation_order={self.accumulation_order.name})"
- def init(self, params: DomainParameters, point: Point):
+ def init(self, params: DomainParameters, point: Point, bits: Optional[int] = None):
with PrecomputationAction(params, point) as action:
- super().init(params, point)
+ super().init(params, point, bits)
self._points = {}
current_point = point
double_point = self._dbl(point)
@@ -186,9 +186,9 @@ class FixedWindowLTRMultiplier(AccumulatorMultiplier, PrecompMultiplier, ScalarM
def __repr__(self):
return f"{self.__class__.__name__}({', '.join(map(str, self.formulas.values()))}, short_circuit={self.short_circuit}, m={self.m}, accumulation_order={self.accumulation_order.name})"
- def init(self, params: DomainParameters, point: Point):
+ def init(self, params: DomainParameters, point: Point, bits: Optional[int] = None):
with PrecomputationAction(params, point) as action:
- super().init(params, point)
+ super().init(params, point, bits)
double_point = self._dbl(point)
self._points = {1: point, 2: double_point}
current_point = double_point
@@ -298,9 +298,9 @@ class WindowBoothMultiplier(AccumulatorMultiplier, PrecompMultiplier, ScalarMult
def __repr__(self):
return f"{self.__class__.__name__}({', '.join(map(str, self.formulas.values()))}, short_circuit={self.short_circuit}, width={self.width}, precompute_negation={self.precompute_negation}, accumulation_order={self.accumulation_order.name})"
- def init(self, params: DomainParameters, point: Point):
+ def init(self, params: DomainParameters, point: Point, bits: Optional[int] = None):
with PrecomputationAction(params, point) as actions:
- super().init(params, point)
+ super().init(params, point, bits)
double_point = self._dbl(point)
self._points = {1: point, 2: double_point}
if self.precompute_negation:
@@ -323,7 +323,7 @@ class WindowBoothMultiplier(AccumulatorMultiplier, PrecompMultiplier, ScalarMult
if scalar == 0:
return action.exit(copy(self._params.curve.neutral))
scalar_booth = booth_window(
- scalar, self.width, self._params.order.bit_length()
+ scalar, self.width, self._bits
)
q = copy(self._params.curve.neutral)
for val in scalar_booth: