mirror of https://github.com/nucypher/pyUmbral.git
Modified tests to adhere keys to Capsule. SEGFAULT! See #156
parent
cb7bbcdbed
commit
776abe5d2c
|
@ -50,6 +50,10 @@ def test_cheating_ursula_replays_old_reencryption(N, M, alices_keys):
|
||||||
sym_key_alice1, capsule_alice1 = pre._encapsulate(delegating_privkey.get_pubkey().point_key)
|
sym_key_alice1, capsule_alice1 = pre._encapsulate(delegating_privkey.get_pubkey().point_key)
|
||||||
sym_key_alice2, capsule_alice2 = pre._encapsulate(delegating_privkey.get_pubkey().point_key)
|
sym_key_alice2, capsule_alice2 = pre._encapsulate(delegating_privkey.get_pubkey().point_key)
|
||||||
|
|
||||||
|
capsule_alice1.get_or_set_delegating_key(delegating_privkey.get_pubkey())
|
||||||
|
capsule_alice1.get_or_set_encrypting_key(pub_key_bob)
|
||||||
|
capsule_alice1.get_or_set_verifying_key(signing_privkey.get_pubkey())
|
||||||
|
|
||||||
kfrags = pre.split_rekey(delegating_privkey, signer, pub_key_bob, M, N)
|
kfrags = pre.split_rekey(delegating_privkey, signer, pub_key_bob, M, N)
|
||||||
|
|
||||||
cfrags, metadata = [], []
|
cfrags, metadata = [], []
|
||||||
|
@ -122,6 +126,11 @@ def test_cheating_ursula_sends_garbage(N, M, alices_keys):
|
||||||
pub_key_bob = priv_key_bob.get_pubkey()
|
pub_key_bob = priv_key_bob.get_pubkey()
|
||||||
|
|
||||||
sym_key, capsule_alice = pre._encapsulate(delegating_privkey.get_pubkey().point_key)
|
sym_key, capsule_alice = pre._encapsulate(delegating_privkey.get_pubkey().point_key)
|
||||||
|
|
||||||
|
capsule_alice.get_or_set_delegating_key(delegating_privkey.get_pubkey())
|
||||||
|
capsule_alice.get_or_set_encrypting_key(pub_key_bob)
|
||||||
|
capsule_alice.get_or_set_verifying_key(signing_privkey.get_pubkey())
|
||||||
|
|
||||||
kfrags = pre.split_rekey(delegating_privkey, signer, pub_key_bob, M, N)
|
kfrags = pre.split_rekey(delegating_privkey, signer, pub_key_bob, M, N)
|
||||||
|
|
||||||
cfrags, metadata = [], []
|
cfrags, metadata = [], []
|
||||||
|
@ -183,11 +192,20 @@ def test_decryption_fails_when_it_expects_a_proof_and_there_isnt(N, M, alices_ke
|
||||||
plain_data = b'peace at dawn'
|
plain_data = b'peace at dawn'
|
||||||
ciphertext, capsule = pre.encrypt(delegating_privkey.get_pubkey(), plain_data)
|
ciphertext, capsule = pre.encrypt(delegating_privkey.get_pubkey(), plain_data)
|
||||||
|
|
||||||
|
capsule.get_or_set_delegating_key(delegating_privkey.get_pubkey())
|
||||||
|
capsule.get_or_set_encrypting_key(pub_key_bob)
|
||||||
|
capsule.get_or_set_verifying_key(signing_privkey.get_pubkey())
|
||||||
|
|
||||||
kfrags = pre.split_rekey(delegating_privkey, signer, pub_key_bob, M, N)
|
kfrags = pre.split_rekey(delegating_privkey, signer, pub_key_bob, M, N)
|
||||||
for kfrag in kfrags:
|
for kfrag in kfrags:
|
||||||
cfrag = pre.reencrypt(kfrag, capsule, provide_proof=False)
|
cfrag = pre.reencrypt(kfrag, capsule)
|
||||||
capsule.attach_cfrag(cfrag)
|
capsule.attach_cfrag(cfrag)
|
||||||
|
|
||||||
|
# Even thought we can successfully attach a CFrag, if the proof is lost
|
||||||
|
# (for example, it is chopped off a serialized CFrag or similar), then decrypt
|
||||||
|
# will still fail.
|
||||||
|
cfrag.proof = None
|
||||||
|
|
||||||
with pytest.raises(cfrag.NoProofProvided):
|
with pytest.raises(cfrag.NoProofProvided):
|
||||||
_cleartext = pre.decrypt(ciphertext, capsule, priv_key_bob,
|
_cleartext = pre.decrypt(ciphertext, capsule, priv_key_bob,
|
||||||
delegating_privkey.get_pubkey(),
|
delegating_privkey.get_pubkey(),
|
||||||
|
@ -202,6 +220,11 @@ def test_m_of_n(N, M, alices_keys, bobs_keys):
|
||||||
priv_key_bob, pub_key_bob = bobs_keys
|
priv_key_bob, pub_key_bob = bobs_keys
|
||||||
|
|
||||||
sym_key, capsule = pre._encapsulate(delegating_privkey.get_pubkey().point_key)
|
sym_key, capsule = pre._encapsulate(delegating_privkey.get_pubkey().point_key)
|
||||||
|
|
||||||
|
capsule.get_or_set_delegating_key(delegating_privkey.get_pubkey())
|
||||||
|
capsule.get_or_set_encrypting_key(pub_key_bob)
|
||||||
|
capsule.get_or_set_verifying_key(signing_privkey.get_pubkey())
|
||||||
|
|
||||||
kfrags = pre.split_rekey(delegating_privkey, signer, pub_key_bob, M, N)
|
kfrags = pre.split_rekey(delegating_privkey, signer, pub_key_bob, M, N)
|
||||||
|
|
||||||
for kfrag in kfrags:
|
for kfrag in kfrags:
|
||||||
|
|
|
@ -27,6 +27,10 @@ def test_simple_api(alices_keys, N, M, curve=default_curve()):
|
||||||
plain_data = b'peace at dawn'
|
plain_data = b'peace at dawn'
|
||||||
ciphertext, capsule = pre.encrypt(delegating_privkey.get_pubkey(), plain_data, params=params)
|
ciphertext, capsule = pre.encrypt(delegating_privkey.get_pubkey(), plain_data, params=params)
|
||||||
|
|
||||||
|
capsule.get_or_set_delegating_key(delegating_privkey.get_pubkey())
|
||||||
|
capsule.get_or_set_encrypting_key(decrypting_key.get_pubkey())
|
||||||
|
capsule.get_or_set_verifying_key(signing_privkey.get_pubkey())
|
||||||
|
|
||||||
cleartext = pre.decrypt(ciphertext, capsule, delegating_privkey, params=params)
|
cleartext = pre.decrypt(ciphertext, capsule, delegating_privkey, params=params)
|
||||||
assert cleartext == plain_data
|
assert cleartext == plain_data
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue