diff --git a/shamirss.py b/shamirss.py index 1e41872..a6e1901 100644 --- a/shamirss.py +++ b/shamirss.py @@ -56,7 +56,8 @@ def _makered(x, y): return x def evalpoly(polynomial, powers): - return sum(( x * y for x, y in zip(polynomial, powers)), 0) + return sum(( x * y for x, y in zip(polynomial, powers, + strict=True)), 0) def create_shares(data, k, nshares): '''Given data, create nshares, such that given any k shares, @@ -197,7 +198,7 @@ class TestShamirSS(unittest.TestCase): def test_evalpoly(self): a = GF2p8(random.randint(0, 255)) - powers = a.powerseries(5) + powers = a.powerseries(4) self.assertTrue(all(isinstance(x, GF2p8) for x in powers)) @@ -207,10 +208,12 @@ class TestShamirSS(unittest.TestCase): self.assertEqual(r, vals[0] + vals[1] * powers[1] + vals[2] * powers[2] + vals[3] * powers[3] + vals[4] * powers[4]) - r = evalpoly(vals[:3], powers) + r = evalpoly(vals[:3], powers[:3]) self.assertEqual(r, vals[0] + vals[1] * powers[1] + vals[2] * powers[2]) + self.assertRaises(ValueError, evalpoly, [1], [1, 2]) + def test_create_shares(self): self.assertRaises(TypeError, create_shares, '', 1, 1)