def test1(self): # Test splitting shares = Shamir.split(2, 3, bchr(90)*16) self.assertEqual(len(shares), 3) for index in range(3): self.assertEqual(shares[index][0], index+1) self.assertEqual(len(shares[index][1]), 16)
def test1(self): # Test splitting shares = Shamir.split(2, 3, bchr(90) * 16) self.assertEqual(len(shares), 3) for index in range(3): self.assertEqual(shares[index][0], index + 1) self.assertEqual(len(shares[index][1]), 16)
def test4(self): # Loopback split/recombine (SSSS) secret = unhexlify(b("000102030405060708090a0b0c0d0e0f")) shares = Shamir.split(2, 3, secret, ssss=True) secret2 = Shamir.combine(shares[:2], ssss=True) self.assertEqual(secret, secret2)
def test3(self): # Loopback split/recombine secret = unhexlify(b("000102030405060708090a0b0c0d0e0f")) shares = Shamir.split(2, 3, secret) secret2 = Shamir.combine(shares[:2]) self.assertEqual(secret, secret2) secret3 = Shamir.combine([shares[0], shares[2]]) self.assertEqual(secret, secret3)
def test3(self): # Loopback split/recombine secret = unhexlify(b("000102030405060708090a0b0c0d0e0f")) shares = Shamir.split(2, 3, secret) secret2 = Shamir.combine(shares[:2]) self.assertEqual(secret, secret2) secret3 = Shamir.combine([ shares[0], shares[2] ]) self.assertEqual(secret, secret3) secret4 = Shamir.combine(shares) self.assertEqual(secret, secret4) # One share too many
def test5(self): # Detect duplicate shares secret = unhexlify(b("000102030405060708090a0b0c0d0e0f")) shares = Shamir.split(2, 3, secret) self.assertRaises(ValueError, Shamir.combine, (shares[0], shares[0]))