mirror of https://github.com/nucypher/nucypher.git
Update KeyRing tests to use the pubkey param on encryption
Fix keypair componentspull/43/head
parent
e2e63ad38b
commit
603486b5d1
|
@ -13,25 +13,19 @@ class TestSigningKeypair(unittest.TestCase):
|
|||
msg_digest = sha3.keccak_256(self.msg).digest()
|
||||
signature = self.keypair.sign(msg_digest)
|
||||
|
||||
try:
|
||||
sig = msgpack.loads(signature)
|
||||
self.assertTrue(1, len(sig[0])) # Check v
|
||||
self.assertTrue(32, len(sig[1])) # Check r
|
||||
self.assertTrue(32, len(sig[2])) # Check s
|
||||
except Exception as e:
|
||||
self.fail("Failed to msgpack.load signature: {}".format(e))
|
||||
sig = msgpack.loads(signature)
|
||||
self.assertTrue(1, len(sig[0])) # Check v
|
||||
self.assertTrue(32, len(sig[1])) # Check r
|
||||
self.assertTrue(32, len(sig[2])) # Check s
|
||||
|
||||
def test_verification(self):
|
||||
msg_digest = sha3.keccak_256(self.msg).digest()
|
||||
signature = self.keypair.sign(msg_digest)
|
||||
|
||||
try:
|
||||
sig = msgpack.loads(signature)
|
||||
self.assertTrue(1, len(sig[0])) # Check v
|
||||
self.assertTrue(32, len(sig[1])) # Check r
|
||||
self.assertTrue(32, len(sig[2])) # Check s
|
||||
except Exception as e:
|
||||
self.fail("Failed to msgpack.load signature: {}".format(e))
|
||||
sig = msgpack.loads(signature)
|
||||
self.assertTrue(1, len(sig[0])) # Check v
|
||||
self.assertTrue(32, len(sig[1])) # Check r
|
||||
self.assertTrue(32, len(sig[2])) # Check s
|
||||
|
||||
verify_sig = self.keypair.verify(msg_digest, signature)
|
||||
self.assertTrue(verify_sig)
|
||||
|
|
|
@ -5,41 +5,39 @@ from nkms.crypto.keyring import KeyRing
|
|||
|
||||
class TestKeyRing(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.keyring = KeyRing()
|
||||
self.keyring_a = KeyRing()
|
||||
self.keyring_b = KeyRing()
|
||||
|
||||
self.msg = b'this is a test'
|
||||
|
||||
def test_signing(self):
|
||||
signature = self.keyring.sign(self.msg)
|
||||
signature = self.keyring_a.sign(self.msg)
|
||||
|
||||
try:
|
||||
sig = msgpack.loads(signature)
|
||||
self.assertTrue(1, len(sig[0])) # Check v
|
||||
self.assertTrue(32, len(sig[1])) # Check r
|
||||
self.assertTrue(32, len(sig[2])) # Check s
|
||||
except Exception as e:
|
||||
self.fail("Signature failed to msgpack.loads: {}".format(e))
|
||||
sig = msgpack.loads(signature)
|
||||
self.assertTrue(1, len(sig[0])) # Check v
|
||||
self.assertTrue(32, len(sig[1])) # Check r
|
||||
self.assertTrue(32, len(sig[2])) # Check s
|
||||
|
||||
def test_verification(self):
|
||||
signature = self.keyring.sign(self.msg)
|
||||
signature = self.keyring_a.sign(self.msg)
|
||||
|
||||
try:
|
||||
sig = msgpack.loads(signature)
|
||||
self.assertTrue(1, len(sig[0])) # Check v
|
||||
self.assertTrue(32, len(sig[1])) # Check r
|
||||
self.assertTrue(32, len(sig[2])) # Check s
|
||||
except Exception as e:
|
||||
self.fail("Signature failed to msgpack.loads: {}".format(e))
|
||||
sig = msgpack.loads(signature)
|
||||
self.assertTrue(1, len(sig[0])) # Check v
|
||||
self.assertTrue(32, len(sig[1])) # Check r
|
||||
self.assertTrue(32, len(sig[2])) # Check s
|
||||
|
||||
is_valid = self.keyring.verify(self.msg, signature)
|
||||
is_valid = self.keyring_a.verify(self.msg, signature)
|
||||
self.assertTrue(is_valid)
|
||||
|
||||
def test_encryption(self):
|
||||
ciphertext = self.keyring.encrypt(self.msg)
|
||||
self.assertTrue(self.msg != ciphertext)
|
||||
ciphertext = self.keyring_a.encrypt(self.msg,
|
||||
pubkey=self.keyring_b.enc_keypair.pub_key)
|
||||
self.assertNotEqual(self.msg, ciphertext)
|
||||
|
||||
def test_decryption(self):
|
||||
ciphertext = self.keyring.encrypt(self.msg)
|
||||
self.assertTrue(self.msg != ciphertext)
|
||||
ciphertext = self.keyring_a.encrypt(self.msg,
|
||||
pubkey=self.keyring_b.enc_keypair.pub_key)
|
||||
self.assertNotEqual(self.msg, ciphertext)
|
||||
|
||||
plaintext = self.keyring.decrypt(ciphertext)
|
||||
self.assertTrue(self.msg == plaintext)
|
||||
plaintext = self.keyring_b.decrypt(ciphertext)
|
||||
self.assertEqual(self.msg, plaintext)
|
||||
|
|
Loading…
Reference in New Issue