Add test for ecies_combine

pull/75/head
tuxxy 2017-10-10 11:04:11 -06:00
parent 8a16ba51b2
commit bd3636faad
1 changed files with 26 additions and 2 deletions

View File

@ -147,8 +147,32 @@ class TestCrypto(unittest.TestCase):
self.assertEqual(4, len(frags))
def test_ecies_combine(self):
# TODO
pass
eph_priv = self.pre.gen_priv()
eph_pub = self.pre.priv2pub(eph_priv)
plain_key, enc_key = Crypto.ecies_encapsulate(eph_pub)
self.assertNotEqual(plain_key, enc_key)
self.assertEqual(umbral.EncryptedKey, type(enc_key))
self.assertEqual(bytes, type(plain_key))
self.assertEqual(32, len(plain_key))
rk_frags = Crypto.ecies_split_rekey(eph_priv, self.privkey_b, 6, 10)
self.assertEqual(list, type(rk_frags))
self.assertEqual(10, len(rk_frags))
rk_selected = random.sample(rk_frags, 6)
shares = [Crypto.ecies_reencrypt(rk_frag, enc_key) for rk_frag in rk_selected]
self.assertEqual(list, type(shares))
self.assertEqual(6, len(shares))
[self.assertEqual(umbral.EncryptedKey, type(share)) for share in shares]
e_b = Crypto.ecies_combine(shares)
self.assertEqual(umbral.EncryptedKey, type(e_b))
dec_key = Crypto.ecies_decapsulate(self.privkey_b, e_b)
self.assertEqual(bytes, type(dec_key))
self.assertEqual(32, len(dec_key))
self.assertEqual(plain_key, dec_key)
def test_ecies_reencrypt(self):
eph_priv = self.pre.gen_priv()