diff --git a/src/shamira/gf256.py b/src/shamira/gf256.py --- a/src/shamira/gf256.py +++ b/src/shamira/gf256.py @@ -38,6 +38,19 @@ def gfmul(a, b): return E[t] +def gfpow(x, k): + """Compute x**k.""" + i = 1 + res = 1 + while i <= k: + if k&i: + res = gfmul(res, x) + x = gfmul(x, x) + i <<= 1 + + return res + + def evaluate(coefs, x): """Evaluate polynomial's value at x.