aboutsummaryrefslogtreecommitdiff
path: root/pyecsca/sca/re/zvp.py
diff options
context:
space:
mode:
authorJ08nY2025-07-28 17:52:11 +0200
committerJ08nY2025-07-28 17:52:11 +0200
commit839cb94bb7ec2469b3287cfb9943ef03590724a9 (patch)
tree708c4db2bf6c5aa36ee1de316ffe58633ff39d42 /pyecsca/sca/re/zvp.py
parent7128a0c8eeab229a4c97057833c680314158baf3 (diff)
downloadpyecsca-839cb94bb7ec2469b3287cfb9943ef03590724a9.tar.gz
pyecsca-839cb94bb7ec2469b3287cfb9943ef03590724a9.tar.zst
pyecsca-839cb94bb7ec2469b3287cfb9943ef03590724a9.zip
Diffstat (limited to 'pyecsca/sca/re/zvp.py')
-rw-r--r--pyecsca/sca/re/zvp.py16
1 files changed, 2 insertions, 14 deletions
diff --git a/pyecsca/sca/re/zvp.py b/pyecsca/sca/re/zvp.py
index efa4ede..7e6c7ce 100644
--- a/pyecsca/sca/re/zvp.py
+++ b/pyecsca/sca/re/zvp.py
@@ -4,7 +4,6 @@ Provides functionality inspired by the Zero-value point attack [ZVP]_.
Implements ZVP point construction from [FFD]_.
"""
-from functools import lru_cache
from typing import List, Set, Tuple, Dict, Type, Callable
from public import public
import warnings
@@ -12,6 +11,7 @@ from astunparse import unparse
from sympy import FF, Poly, Monomial, Symbol, Expr, sympify, symbols, div
+from pyecsca.ec.mult.fake import cached_fake_mult
from pyecsca.sca.re.rpa import MultipleContext
from pyecsca.ec.context import local
from pyecsca.ec.curve import EllipticCurve
@@ -25,8 +25,6 @@ from pyecsca.ec.mult import ScalarMultiplier
from pyecsca.ec.params import DomainParameters
from pyecsca.ec.point import Point
-from pyecsca.ec.mult.fake import fake_mult
-
has_pari = False
try:
import cypari2
@@ -584,16 +582,6 @@ def solve_hard_dcp_cypari(
return res
-@lru_cache(maxsize=256, typed=True)
-def _cached_fake_mult(
- mult_class: Type[ScalarMultiplier], mult_factory: Callable, params: DomainParameters
-) -> ScalarMultiplier:
- fm = fake_mult(mult_class, mult_factory, params)
- if getattr(fm, "short_circuit", False):
- raise ValueError("The multiplier must not short-circuit.")
- return fm
-
-
@public
def addition_chain(
scalar: int,
@@ -618,7 +606,7 @@ def addition_chain(
.. note::
The scalar multiplier must not short-circuit.
"""
- mult = _cached_fake_mult(mult_class, mult_factory, params)
+ mult = cached_fake_mult(mult_class, mult_factory, params)
ctx = MultipleContext(keep_base=True)
if use_init:
with local(ctx, copy=False):