diff options
Diffstat (limited to 'pyecsca/ec/mod.py')
| -rw-r--r-- | pyecsca/ec/mod.py | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/pyecsca/ec/mod.py b/pyecsca/ec/mod.py index a28949c..3f97637 100644 --- a/pyecsca/ec/mod.py +++ b/pyecsca/ec/mod.py @@ -2,7 +2,11 @@ import random import secrets from functools import wraps, lru_cache from abc import ABC, abstractmethod -from typing import Type +from public import public + +from .error import NonInvertibleError, NonResidueError +from .context import ResultAction + has_gmp = False try: @@ -12,10 +16,6 @@ try: except ImportError: pass -from public import public - -from .context import ResultAction - @public def gcd(a, b): @@ -92,16 +92,6 @@ def check(func): @public -class NonInvertibleError(ArithmeticError): - pass - - -@public -class NonResidueError(ArithmeticError): - pass - - -@public class RandomModAction(ResultAction): """A random sampling from Z_n.""" order: int @@ -471,6 +461,7 @@ if has_gmp: return GMPMod(self.x, self.n) return GMPMod(gmpy2.powmod(self.x, gmpy2.mpz(n), self.n), self.n) + Mod = GMPMod else: Mod = RawMod |
