mirror of https://github.com/nucypher/nucypher.git
Add test for ecies_combine
parent
8a16ba51b2
commit
bd3636faad
|
@ -147,8 +147,32 @@ class TestCrypto(unittest.TestCase):
|
||||||
self.assertEqual(4, len(frags))
|
self.assertEqual(4, len(frags))
|
||||||
|
|
||||||
def test_ecies_combine(self):
|
def test_ecies_combine(self):
|
||||||
# TODO
|
eph_priv = self.pre.gen_priv()
|
||||||
pass
|
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):
|
def test_ecies_reencrypt(self):
|
||||||
eph_priv = self.pre.gen_priv()
|
eph_priv = self.pre.gen_priv()
|
||||||
|
|
Loading…
Reference in New Issue