diff --git a/src/shamira/tests/test_shamira.py b/src/shamira/tests/test_shamira.py --- a/src/shamira/tests/test_shamira.py +++ b/src/shamira/tests/test_shamira.py @@ -28,11 +28,17 @@ class TestShamira(TestCase): with self.assertRaises(ValueError): # not castable to int _share_byte("x", 2, 3) - vals = _share_byte(ord(b"a"), 2, 3) - points = list(zip(range(1, 256), vals)) - self.assertEqual(gf256.get_constant_coef(*points), ord(b"a")) - self.assertEqual(gf256.get_constant_coef(*points[:2]), ord(b"a")) - self.assertNotEqual(gf256.get_constant_coef(*points[:1]), ord(b"a")) # underdetermined => random + ys = _share_byte(ord(b"a"), 2, 3) + xs = list(range(1, 4)) + + weights = gf256.compute_weights(xs) + self.assertEqual(gf256.get_constant_coef(weights, ys), ord(b"a")) + + weights = gf256.compute_weights(xs[:2]) + self.assertEqual(gf256.get_constant_coef(weights, ys[:2]), ord(b"a")) + + weights = gf256.compute_weights(xs[:1]) + self.assertNotEqual(gf256.get_constant_coef(weights, ys[:1]), ord(b"a")) # underdetermined => random def test_generate_reconstruct_raw(self): for (k, n) in [(2, 3), (254, 254)]: