diff options
| author | J08nY | 2025-03-13 19:38:06 +0100 |
|---|---|---|
| committer | J08nY | 2025-03-13 19:38:06 +0100 |
| commit | eccc58127b4c0c10f50e4d05e699d3585391e8a1 (patch) | |
| tree | 5e3f96febfc3051778d2b588484bacfc6d9d148c /pyecsca/ec/mult/window.py | |
| parent | 314d7c78bb91ab7579c41fe9dc91d238e04c8fe1 (diff) | |
| download | pyecsca-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.py | 14 |
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: |
