def test_split(self): for key in self.keys: points = crypto.split_key(key, n=5, k=5) self.assertEqual(len(points), 5) for key in self.keys: points = crypto.split_key(key, n=3, k=1) self.assertEqual(len(points), 3) with self.assertRaises(Exception): crypto.split_key(self.keys[0], n=1, k=2)
def test_retrieve(self): for key in self.keys: points = crypto.split_key(key, n=5, k=5) reconstruction = crypto.retrieve_key(points) self.assertEqual(key, reconstruction) points = crypto.split_key(key, n=5, k=3) reconstruction = crypto.retrieve_key(points[:3]) self.assertEqual(key, reconstruction) points = crypto.split_key(key, n=5, k=1) reconstruction = crypto.retrieve_key(points[:1]) self.assertEqual(key, reconstruction)
def test_random_keys(self): for _ in range(100): key = self.generate_key() points = crypto.split_key(key, n=5, k=3) reconstruction = crypto.retrieve_key(points[:3]) self.assertEqual(key, reconstruction)