Change the order of parameters in CapsuleFrag.verify() to match that of KeyFrag.verify()

pull/267/head
Bogdan Opanchuk 2021-04-18 22:35:09 -07:00
parent 81868848c9
commit 54b9ee088b
7 changed files with 42 additions and 26 deletions

View File

@ -90,9 +90,10 @@ assert len(cfrags) == 10
# using Alice's public keys.
assert all(cfrag.verify(capsule,
verifying_pk=alices_verifying_key,
delegating_pk=alices_public_key,
receiving_pk=bobs_public_key,
verifying_pk=alices_verifying_key)
)
for cfrag in cfrags)
# Bob opens the capsule

View File

@ -231,9 +231,9 @@
"outputs": [],
"source": [
"assert all(cfrag.verify(capsule,\n",
" verifying_pk=alices_verifying_key,\n",
" delegating_pk=alices_public_key,\n",
" receiving_pk=bobs_public_key,\n",
" verifying_pk=alices_verifying_key)\n",
" receiving_pk=bobs_public_key)\n",
" for cfrag in cfrags)"
]
},

View File

@ -179,9 +179,9 @@ using Alice's public keys.
.. doctest:: capsule_story
>>> all(cfrag.verify(capsule,
... verifying_pk=alices_verifying_key,
... delegating_pk=alices_public_key,
... receiving_pk=bobs_public_key,
... verifying_pk=alices_verifying_key)
... receiving_pk=bobs_public_key)
... for cfrag in cfrags)
True

View File

@ -19,44 +19,50 @@ def test_cfrag_serialization(alices_keys, bobs_keys, capsule, kfrags):
assert new_cfrag == cfrag
assert new_cfrag.verify(capsule,
verifying_pk=verifying_pk,
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
verifying_pk=verifying_pk,
metadata=metadata)
metadata=metadata,
)
# No metadata
assert not new_cfrag.verify(capsule,
verifying_pk=verifying_pk,
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
verifying_pk=verifying_pk)
)
# Wrong metadata
assert not new_cfrag.verify(capsule,
verifying_pk=verifying_pk,
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
verifying_pk=verifying_pk,
metadata=b'Not the same metadata')
metadata=b'Not the same metadata',
)
# Wrong delegating key
assert not new_cfrag.verify(capsule,
verifying_pk=verifying_pk,
delegating_pk=receiving_pk,
receiving_pk=receiving_pk,
verifying_pk=verifying_pk,
metadata=metadata)
metadata=metadata,
)
# Wrong receiving key
assert not new_cfrag.verify(capsule,
verifying_pk=verifying_pk,
delegating_pk=delegating_pk,
receiving_pk=delegating_pk,
verifying_pk=verifying_pk,
metadata=metadata)
metadata=metadata,
)
# Wrong signing key
assert not new_cfrag.verify(capsule,
verifying_pk=receiving_pk,
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
verifying_pk=receiving_pk,
metadata=metadata)
metadata=metadata,
)
def test_cfrag_serialization_no_metadata(alices_keys, bobs_keys, capsule, kfrags):
@ -75,15 +81,17 @@ def test_cfrag_serialization_no_metadata(alices_keys, bobs_keys, capsule, kfrags
new_cfrag = CapsuleFrag.from_bytes(cfrag_bytes)
assert new_cfrag.verify(capsule,
verifying_pk=verifying_pk,
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
verifying_pk=verifying_pk)
)
assert not new_cfrag.verify(capsule,
verifying_pk=verifying_pk,
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
verifying_pk=verifying_pk,
metadata=b'some metadata')
metadata=b'some metadata',
)
def test_cfrag_with_wrong_capsule(alices_keys, bobs_keys,
@ -103,10 +111,11 @@ def test_cfrag_with_wrong_capsule(alices_keys, bobs_keys,
cfrag = reencrypt(capsule_alice2, kfrags[0], metadata=metadata)
assert not cfrag.verify(capsule_alice1,
verifying_pk=PublicKey.from_secret_key(signing_sk),
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
verifying_pk=PublicKey.from_secret_key(signing_sk),
metadata=metadata)
metadata=metadata,
)
def test_cfrag_with_wrong_data(kfrags, alices_keys, bobs_keys, capsule_and_ciphertext, message):
@ -126,10 +135,11 @@ def test_cfrag_with_wrong_data(kfrags, alices_keys, bobs_keys, capsule_and_ciphe
cfrag.point_v1 = CurvePoint.random()
assert not cfrag.verify(capsule,
verifying_pk=PublicKey.from_secret_key(signing_sk),
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
verifying_pk=PublicKey.from_secret_key(signing_sk),
metadata=metadata)
metadata=metadata,
)
def test_cfrag_is_hashable(capsule, kfrags):

View File

@ -160,7 +160,11 @@ def _decrypt_reencrypted(umbral, receiving_sk_bytes, delegating_pk_bytes, verify
capsule = umbral.Capsule.from_bytes(bytes(capsule_bytes))
cfrags = [umbral.CapsuleFrag.from_bytes(cfrag_bytes) for cfrag_bytes in cfrags_bytes]
assert all(cfrag.verify(capsule, delegating_pk, receiving_pk, verifying_pk, metadata=metadata)
assert all(cfrag.verify(capsule,
verifying_pk=verifying_pk,
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
metadata=metadata)
for cfrag in cfrags)
# Decryption by Bob

View File

@ -91,9 +91,10 @@ def test_simple_api(num_kfrags, threshold):
# Bob checks that the received cfrags are valid
assert all(cfrag.verify(capsule=capsule,
verifying_pk=verifying_pk,
delegating_pk=delegating_pk,
receiving_pk=receiving_pk,
verifying_pk=verifying_pk) for cfrag in cfrags)
) for cfrag in cfrags)
# Decryption by Bob
plaintext_reenc = decrypt_reencrypted(receiving_sk,

View File

@ -159,9 +159,9 @@ class CapsuleFrag(Serializable):
def verify(self,
capsule: Capsule,
verifying_pk: PublicKey,
delegating_pk: PublicKey,
receiving_pk: PublicKey,
verifying_pk: PublicKey,
metadata: Optional[bytes] = None,
) -> bool:
"""