diff --git a/shamirss.py b/shamirss.py index e6ad412..71ac70a 100644 --- a/shamirss.py +++ b/shamirss.py @@ -63,11 +63,15 @@ def create_shares(data, k, nshares): data = bytes(data) - powers = (None, ) + tuple(GF2p8(x).powerseries(k - 1) for x in range(1, nshares + 1)) + powers = (None, ) + tuple(GF2p8(x).powerseries(k - 1) for x in + range(1, nshares + 1)) - coeffs = [ [ x ] + [ random.randint(1, 255) for y in range(k - 1) ] for idx, x in enumerate(data) ] + coeffs = [ [ x ] + [ random.randint(1, 255) for y in + range(k - 1) ] for idx, x in enumerate(data) ] - return [ (x, bytes([ int(evalpoly(coeffs[idx], powers[x])) for idx, val in enumerate(data) ])) for x in range(1, nshares + 1) ] + return [ (x, bytes([ int(evalpoly(coeffs[idx], + powers[x])) for idx, val in enumerate(data) ])) for x in + range(1, nshares + 1) ] def recover_data(shares, k): '''Recover the value given shares, where k is needed. @@ -190,10 +194,12 @@ class TestShamirSS(unittest.TestCase): vals = [ GF2p8(random.randint(0, 255)) for x in range(5) ] r = evalpoly(vals, powers) - self.assertEqual(r, vals[0] + vals[1] * powers[1] + vals[2] * powers[2] + vals[3] * powers[3] + vals[4] * powers[4]) + 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) - self.assertEqual(r, vals[0] + vals[1] * powers[1] + vals[2] * powers[2]) + self.assertEqual(r, vals[0] + vals[1] * powers[1] + vals[2] * + powers[2]) def test_create_shares(self): self.assertRaises(TypeError, create_shares, '', 1, 1) @@ -222,7 +228,8 @@ class TestShamirSS(unittest.TestCase): self.assertEqual(a * ainv, 1) - invcache = (None, ) + tuple(int(GF2p8(x) ** -1) for x in range(1, 256)) + invcache = (None, ) + \ + tuple(int(GF2p8(x) ** -1) for x in range(1, 256)) if GF2p8._invcache != invcache: # pragma: no cover print('inv cache:', repr(invcache)) @@ -279,7 +286,9 @@ class TestShamirSS(unittest.TestCase): # Basic mul self.assertEqual(GF2p8(0x80) * 2, 0x87) - self.assertEqual(GF2p8(0x80) * 6, (0x80 * 6) ^ (0x187 << 1)) - self.assertEqual(GF2p8(0x80) * 8, (0x80 * 8) ^ (0x187 << 2) ^ (0x187 << 1) ^ 0x187) + self.assertEqual(GF2p8(0x80) * 6, + (0x80 * 6) ^ (0x187 << 1)) + self.assertEqual(GF2p8(0x80) * 8, + (0x80 * 8) ^ (0x187 << 2) ^ (0x187 << 1) ^ 0x187) self.assertEqual(a + b - b, a)