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))
|
||||
|
||||
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()
|
||||
|
|
Loading…
Reference in New Issue