mirror of https://github.com/nucypher/pyUmbral.git
Merge pull request #231 from cygnusv/signature
Change signature's internal hash algorithm from BLAKE2B to SHA256pull/237/head
commit
98734701e6
|
@ -18,10 +18,10 @@ along with pyUmbral. If not, see <https://www.gnu.org/licenses/>.
|
|||
"""
|
||||
|
||||
import hmac
|
||||
from typing import Optional
|
||||
from typing import Optional, Type
|
||||
|
||||
from cryptography.exceptions import InvalidSignature
|
||||
from cryptography.hazmat.primitives import hashes
|
||||
from cryptography.hazmat.primitives.hashes import HashAlgorithm, SHA256
|
||||
from cryptography.hazmat.primitives.asymmetric.ec import ECDSA
|
||||
from cryptography.hazmat.primitives.asymmetric.utils import decode_dss_signature, encode_dss_signature
|
||||
|
||||
|
@ -31,18 +31,23 @@ from umbral.curvebn import CurveBN
|
|||
from umbral.keys import UmbralPublicKey, UmbralPrivateKey
|
||||
|
||||
|
||||
_BLAKE2B = hashes.BLAKE2b(64)
|
||||
DEFAULT_HASH_ALGORITHM = SHA256
|
||||
|
||||
|
||||
class Signature:
|
||||
"""
|
||||
Wrapper for ECDSA signatures.
|
||||
We store signatures as r and s; this class allows interoperation
|
||||
between (r, s) and DER formatting.
|
||||
"""
|
||||
|
||||
def __init__(self, r: CurveBN, s: CurveBN) -> None:
|
||||
def __init__(self,
|
||||
r: CurveBN,
|
||||
s: CurveBN,
|
||||
hash_algorithm: Type[HashAlgorithm] = DEFAULT_HASH_ALGORITHM) -> None:
|
||||
self.r = r
|
||||
self.s = s
|
||||
self.hash_algorithm = hash_algorithm
|
||||
|
||||
def __repr__(self):
|
||||
return "ECDSA Signature: {}".format(bytes(self).hex()[:15])
|
||||
|
@ -57,7 +62,7 @@ class Signature:
|
|||
Verifies that a message's signature was valid.
|
||||
|
||||
:param message: The message to verify
|
||||
:param pubkey: UmbralPublicKey of the signer
|
||||
:param verifying_key: UmbralPublicKey of the signer
|
||||
|
||||
:return: True if valid, False if invalid
|
||||
"""
|
||||
|
@ -68,14 +73,17 @@ class Signature:
|
|||
cryptography_pub_key.verify(
|
||||
self._der_encoded_bytes(),
|
||||
message,
|
||||
ECDSA(_BLAKE2B)
|
||||
ECDSA(self.hash_algorithm())
|
||||
)
|
||||
except InvalidSignature:
|
||||
return False
|
||||
return True
|
||||
|
||||
@classmethod
|
||||
def from_bytes(cls, signature_as_bytes: bytes, der_encoded: bool = False, curve: Optional[Curve] = None) -> 'Signature':
|
||||
def from_bytes(cls,
|
||||
signature_as_bytes: bytes,
|
||||
der_encoded: bool = False,
|
||||
curve: Optional[Curve] = None) -> 'Signature':
|
||||
curve = curve if curve is not None else default_curve()
|
||||
if der_encoded:
|
||||
r, s = decode_dss_signature(signature_as_bytes)
|
||||
|
@ -87,7 +95,7 @@ class Signature:
|
|||
else:
|
||||
r = int.from_bytes(signature_as_bytes[:(expected_len//2)], "big")
|
||||
s = int.from_bytes(signature_as_bytes[(expected_len//2):], "big")
|
||||
|
||||
|
||||
return cls(CurveBN.from_int(r, curve), CurveBN.from_int(s, curve))
|
||||
|
||||
def _der_encoded_bytes(self) -> bytes:
|
||||
|
@ -112,10 +120,14 @@ class Signature:
|
|||
|
||||
|
||||
class Signer:
|
||||
"""Callable wrapping ECDSA signing with UmbralPrivateKeys"""
|
||||
|
||||
def __init__(self, private_key: UmbralPrivateKey) -> None:
|
||||
def __init__(self,
|
||||
private_key: UmbralPrivateKey,
|
||||
hash_algorithm: Type[HashAlgorithm] = DEFAULT_HASH_ALGORITHM) -> None:
|
||||
self.__cryptography_private_key = private_key.to_cryptography_privkey()
|
||||
self._curve = private_key.params.curve
|
||||
self.curve = private_key.params.curve
|
||||
self.hash_algorithm = hash_algorithm
|
||||
|
||||
def __call__(self, message: bytes) -> Signature:
|
||||
"""
|
||||
|
@ -124,5 +136,6 @@ class Signer:
|
|||
:param message: Message to hash and sign
|
||||
:return: signature
|
||||
"""
|
||||
signature_der_bytes = self.__cryptography_private_key.sign(message, ECDSA(_BLAKE2B))
|
||||
return Signature.from_bytes(signature_der_bytes, der_encoded=True, curve=self._curve)
|
||||
signature_algorithm = ECDSA(self.hash_algorithm())
|
||||
signature_der_bytes = self.__cryptography_private_key.sign(message, signature_algorithm)
|
||||
return Signature.from_bytes(signature_der_bytes, der_encoded=True, curve=self.curve)
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
{
|
||||
"name": "Test vectors for CFrags",
|
||||
"description": "This is a collection of CFrags, originated from the enclosed Capsule, under the enclosed delegating, verifying and receiving keys. Each CFrag must deserialize correctly and can be replicated with a call to `pre.reencrypt(kfrag, capsule, provide_proof=False)`",
|
||||
"params": "default",
|
||||
"capsule": "022c791a9c01b81443316fde5958f1e804abb105de534534404e5eb022d702580f03aa8c5b850c4c41797aa98a930459a45b28ac679dcad4ba7966ad4219cf40a925d90fa9c2b19f2596f40044453c0179d85ea2c3bc491a89008c3878dd38a9fedd",
|
||||
"verifying_key": "02bc251d06e6e3595499ca43806decf59b1e4e96f8f4f01ef77c76a3eac597b32d",
|
||||
"delegating_key": "0241df917664fddd2b9c578a16fd04546c84a8343837ea7235ff90dd864c9342cc",
|
||||
"receiving_key": "03c7c22ee39c7c4eb71f9d4d8fa1c58c9fe8b61a41a8244fdc006af824c4c6ab08",
|
||||
"vectors": [
|
||||
{
|
||||
"kfrag": "b05b47fcb6dec70eabef21b6f9f8a35b9cd6be4c71fdcd7afe90c159cfe5ef13ad0e79a9ab340db27b7282534ab0ba56e96c81df8eae906230f5bccbdfeb1665029fe0b7044442b3d3dd667f34edd8812da7bd49390454e1cee0cd17c7975959c1039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c079603925fc9404bc74fd326a1e2828b1f04ff6992795e168d13a74cec95249df4230ec1ea85097138db833f8b52a4b1b2cb615ef379f1c7546b7e83610cd933c2db67b0c5cf24849378995e01cfad049bed2be1327ff8246444a4736953cd23bdfca0a200287a9ab3ae72548dfdbaf29ede64987502d53f623044069cc6e9ffc1af5c",
|
||||
"cfrag": "027476dc915e14012f520113f2943e917c288b9a967150b190f8feb68ec824071b034dabe34d7afa6f0c1b6c1df0e9eacc3a140fea9cb8103492434c15b9e0b7c441b05b47fcb6dec70eabef21b6f9f8a35b9cd6be4c71fdcd7afe90c159cfe5ef13039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "ce9012a46d3e3ee2e0828f92b519385b9fdbba5f2a5e19a05a6b7dd1104a74e2c370cee6ff06dbd1b70886834c00c0b88f2a07e4ab211cfaffd2cb88b9cc17260241d3d5c94255057ac8fd7104f056ec5fd4d127fa16dc85caec9f2d932cfbf6000293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c03b9d5a1f586f3b2ebcfdcb280798b0cc034f759567dacd86af8a29ed00c6905e4133b1030504ac4ec8b34cafe368009eb3882ac2f54028a3aa724375c11cada1d0547c1dd76ee98877f33f50250d576d329cef02af532b9ce6f95688e306f8bc1a1d6d387e5f56438b7c099a559ea8dc54f58d7addd73c4a2dfadd87c24954fb1",
|
||||
"cfrag": "03b9ea350d2dac1f76428d07e7943b007c94e44a7b5a7cb78256bce06f2f68db7303efc434ce6e5cede8c7b167056ac36dfe7637094404e03aef5f04c6b3a5fc958ace9012a46d3e3ee2e0828f92b519385b9fdbba5f2a5e19a05a6b7dd1104a74e20293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
},
|
||||
{
|
||||
"kfrag": "ec4e055010b592a20ccd48b00aaa757d79c856e477452f6a5e96cd3f79f6de72b660f45181f81bfbb8c009705bfe43aa02181995168f992769a2d915e73bb33d02bba4bd0f6743b789265f8c092aadaf30b74aaf725449834ab6979b17be7cecd9039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796037afd2e0b749a5028d4c14a903ef8c5ee996c20b731a626f90ec0846a7ba514ef6711e767a7cdd2db8c51bb84a5b6326cf146f27e108e1ace5438466c1c139d10914e64652fd49295ec81e8c16d2e56677942a526eda2303b9266e901e9742a8b2e895dd0164bd0a18002bcbdf87c198defe40d39572da9e4f71af169966414aa",
|
||||
"cfrag": "02c29b7c911db9d7f7cd7bdd104fb421021d3c883b9908b5647439ccf745d2852302d7f2433d481610c900e1db346c920323822dfb531987c9442d81e86d4e8c51a5ec4e055010b592a20ccd48b00aaa757d79c856e477452f6a5e96cd3f79f6de72039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "f8337c8e0e8df96f3659341e11fc7b14c5b7f052a07b0950cf9b5eb674b5ac26c78096996f010540a371e3b0e503f92cf12f2151578f74e2b0ed6a15362c3815031b79328401839448b42402a369e65ef0b64cb39757e4c716c45686de5f1cb6b30293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c034dc58eb85064e77642cad24f64940786aa4ecd556b651431270afec11ae0b4163f66165c372d9cb4923b6b38c684b3539909b7d1bfda2e11178d1977c0be82401b73317af196501898d1c242f320752592c12936ad25088e501df0d75c05e1b53e607854edf961603b9ceacde8becfe1302226b0bfe4978789b2013f781b54f6",
|
||||
"cfrag": "035d9836ace210529dd88d2a0f675309a3cb4b3eae7fe9baf90c27cd321eda8c2003602cc9fea34256a70c67ae19378a73dad85f2d8373d72db26f631e393c7cb282f8337c8e0e8df96f3659341e11fc7b14c5b7f052a07b0950cf9b5eb674b5ac260293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
},
|
||||
{
|
||||
"kfrag": "bdea38b0d45e70cd45859c1397f350fd95e268ca90c913bba5b78c17f8a13ee530c96c2acfceeb38cdf0f01d86c8b684721bec6cf266443eca28e94d6deb8ae903dc2c9506b35c4ee64b34870a651f54ba395f658b9364cf1b37c23fdd4089b71c039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c079603a6104bea83488f69bc2572b4dfaf1ef8b19067a1565a66fda87683329f7cd38a06cdce2255cfabe9f4439afd0575cbc89bdb7f03f9a515c940b5815bf46c14aec73e65a989ba61aacd6243520675ee6127fca1b0b8445003ebb9d9bd2c5164a652e572ec578fc9c95b4666a6c18d96322fa02ab8854a3a71fbcd8adc3c874413",
|
||||
"cfrag": "022010498a2ab324689978129a3ff1f861872d1e27922a894295d4111511e0619902c515d26587fd337dce6a04620957b110638f17f273001571386d0150cf5034d9bdea38b0d45e70cd45859c1397f350fd95e268ca90c913bba5b78c17f8a13ee5039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "7966bccbb28cb073e4e3d683d16a43e37581d270ee629f6e9eac2b06e38061309f4477573beacb9bb3558c026ffb1825164cab647b195d579ee5624299e0d5aa024852e5bcc71bbb222b0ca14a76952bb62d6abb264ea828b11120bfd09ed673210293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c033fd869e1e5fff783b3761ebabddfbdea40f3c2f8e7f2ed7fe1fff2a8700ae150c0f104e1d79ffe040eb093fdf1b3bb1ab9ff58075dee8ce5aa61de27a349804c99fcdd82d157fea23b4e0e5d43fc1f88004320ef6252646ea155f94e988dd64695b1764f49a47f190b3d07da2a386294a9ac12214bb6597b46359bfa2c2f561f",
|
||||
"cfrag": "026f807f7a80ef78caf39e75b2d7e5fde630884024000ad25ab053ea6225039a5303d2e34f69297bbe5dbbb57db7446dc7018b57d40c9fbe7cd244d70220fbd9b7657966bccbb28cb073e4e3d683d16a43e37581d270ee629f6e9eac2b06e38061300293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
},
|
||||
{
|
||||
"kfrag": "3075cfd9e1dda50272714087f9fd00a9ac449bfb9326d622382c34521a55c7506793d6c9b6c8334525b26997036cc6a0dd22ad4fb58a434b89e7d40902604f62038469ace469649d83066bfeb249ec72350ae77a670831bae790365181e5cdc3d9039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796039777dc8817f632f8beadc314eeecef49c196ea48ab4a1da993ddc5abb7239d96fd747722dc6b3d030d5a4597b08385d18fee430b9f597cbc4bb0d62c4c7b25606c0b21c90f45b03604b8062ebb0539072693c68fb090ab73bedef54e0bd4b65177370c5b5810b5c76012e7a38b036534630d58c4125e24fdf23c5b3ac0f98c5b",
|
||||
"cfrag": "03f1b383bdda3603488b6cab2d48a533ac43883f29de9228ff2299fa03c82012040261ce9aa4d66fc08a0be5e3d35340a474f9236f663f0cec42886fbab6b4dc367b3075cfd9e1dda50272714087f9fd00a9ac449bfb9326d622382c34521a55c750039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "5c2a4d728f27ab51c1707f2dfa7ebf5a9c62fd262e0d702afc6fe559c80bd04707bc11bcf36e181d5701ce86ba8bfdafbe4d13c14cd08ee9f62079a633a8d61d02ec2f65818e93c5cf687ffb21b42df9da2cd1a8824d02717efc69a88c637a9d490293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c03ebfc97ca958e07ecad434d7aec155a497cb0d8e749453d46567c61743685bce82faf54ada04742c65f0cc1f694961e9ad0d89f561acfdc099ac426bcfa47f440bbd8fe395ecbd420d0c9f2b6a2643c641509c7169a9c82e4199266c176a319914756b873784637472afd0e3dec40574ddc4911af07ea08f2cec78f8893915bf9",
|
||||
"cfrag": "034999755cc244a0a8ca87b8ea6ea2cee8e38d9e6f446d533f98a18a85bd3171bb031ed9d28e4b24d9f48648e1c888d97a60046d7eb4148181c096e27cb480e297065c2a4d728f27ab51c1707f2dfa7ebf5a9c62fd262e0d702afc6fe559c80bd0470293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
},
|
||||
{
|
||||
"kfrag": "a1be3f24393ee0e15bbee389b921616fdacbae7448e226c310f2f491a97f96e7c480aeea99a4d3abf17262715aa968d8a9de41766e4952862ffc8d68072be2f102093aee025877128db20be850ae3c45d747f86507e0fb037260704cc0b0f87cd2039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c07960397988b397b87d1feade31f41bd3ebb00cae78c13555e8f9f94cb1bbb545d1f0924e7890987f6aaa4d9b5b96d4eb1c6056c5e7deefe57e037b1f5f81e43f84025c3acadcda7702a42b5f86d4f1b3886a128f20f61784ec2f5a50bb3b2a0c120010eca33c0cf390040f5f8dcb966d76b1e939b93cb2f100c631c37ab5fe268e96e",
|
||||
"cfrag": "0323c33b26e544943f2bc5cacb05912934290e0cd1c1f78b5aa00a49f3950e37ab026b782034db43f16480217522553dc7d93dc768a97c2d011d8dd2b8c0f0c19fc3a1be3f24393ee0e15bbee389b921616fdacbae7448e226c310f2f491a97f96e7039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "c1d872903832b6a62430fc1bc000bd9baa0f76ff9ff8ec3bf7ff6974e4ba612a71c75cd00bbdd44a621a5ad130c7bb027a36bf6de6df2cefe1947f4d30a339e7038407d4bcf234208d53f99e46b7335cf572210540fcb9da5ef0e769e1420ecd330293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c0384643f0ea61f194928e80b24133f881358fb68e58ab8a269a9cc96e95f2d9a3f3267efe41f93d20cc14e2cca4e5fcef0deeeab1619a4dfcfbf4e201dc6cd77112dd5fe7c95d94a3739f9f11e0e97e730437ac011de17540a9640fb16cd7df81ddc2fee16adbca46ca073f701eeaa61a73aa1f39b25696001e8cffe6bcbf8b52a",
|
||||
"cfrag": "03679527f0b725d7dc7a63432efd891006923bd26b6ce966e466ee7ee106f5924502d796acf47d3f555d4cc863d812eda91570b513e4510216d014d2b08147d80043c1d872903832b6a62430fc1bc000bd9baa0f76ff9ff8ec3bf7ff6974e4ba612a0293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
},
|
||||
{
|
||||
"kfrag": "b45c82149a8ad9504caa3f9fcd4d347eb9fe82fe2259f9e455a1d0e2324307db7945e1d60df504d80549e8822c0b815ba77f5563cef0082d485c5aabe804876d03d9d7d55bd9764462c3dad8d357d8570a6326eddac61daf3d28efb1dc880e112b039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c079603bfef1e9713b501ed883ae2cc36fb36c9fc50d5fe793e4632e12078da4a27087e2986f6b1ee716f5a51dfb8132d605a71fd47ee8a5d88b9efb0a52b0d4fcd0348c71badd28ef2c9cd2e10e49d2c1cfa5c15aa69faed2aa3921dc79879cf491ce7fc9899e36a7f1224edd48091ad6829c8d0e572b30cec5abc489c97a56c17ea61",
|
||||
"cfrag": "03830495926cebaeda6d36dc694ee42a975058451731562ad0d5a4ffd1892415d002d371ac0a0633d74f504e08b450c4fd2df576fc34ebb45082d5b28b31e5fc01f3b45c82149a8ad9504caa3f9fcd4d347eb9fe82fe2259f9e455a1d0e2324307db039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "e9b5e945c49919bde2cf35166ae3fa38978b9641b5f45a2c02e4d90931ba450081786ee3cb5b59a8fe147f486661b62299c6af9a5cb76dc2489ce73d3083d43b03a3091b9ae6f37162cbce6f029608c0f722ffc36c75660f0c90959ab90b45107f0293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c0386c62aac68b6f4b2ac97b79f0259800d702fb97e1e334a8f79be54d848df44b169b27d6f68a109421232dad1234945a8c4bce69290901572dec5516920b8f8453d0669b4d8baaaabadab59c9eb8ccfb2662da414e153702167a722220ed8c36de69d39bd2ebbc3c759d5268c78c6d597221b9e3aa276fada5c5b883d2ec8fb10",
|
||||
"cfrag": "02e8c014ea76eafb2d7399d77b9852ea13d8cca48e3e8714bafdc1007f1a88923202573d2ce7c92b6b401ab77b18d2fa92f5fbd2925ce6030cb7126c57e6b6ce8648e9b5e945c49919bde2cf35166ae3fa38978b9641b5f45a2c02e4d90931ba45000293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
},
|
||||
{
|
||||
"kfrag": "296121a2c7edbba02d6c705936a7c5fc3d67ec983e93a88a0b45674234990ec79b5345c4a1cc4ecf360470fbfd9e79ee28fb2dd47fbc9970acb8c68b9a6a1574026d52179be7196e36fd2d8d4291c92242cdc548984316516a67dbee11fe66cc39039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796039088934d23c03c51c3e9b6fc3c2ba9f25dcd72b78cb3ce04d7afb6f1dc2de0b32e2967f436a76677ab135a93b7f6e1cb2381fd0b5d769c56b93609402fc60dd714f176ff458f3fda87940bf65a4f4a2fc101ac0e3791213904e640cfbfe2fa52676d3447c7c508509c9521e6f492e875f9f40653399c027d5e2473bde40022bb",
|
||||
"cfrag": "032dcf67da4a59603fcb51e4b9f8416b76697cb34444629018d802f94a4cd835af031b90a1c1fa27b9c3287ee18be2f51a82444d2e930986051c3c4c5bde1b625f1d296121a2c7edbba02d6c705936a7c5fc3d67ec983e93a88a0b45674234990ec7039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "d4c5010e92f8aa2cea3db9bd203bc04b9074d32c67c2155e079a4a9aba65c3967c51254bce9df02f4e736d3b3071d479a3db1c2b621a8071a7834bd2191e8e78025ea4e600bcf0c0f126e37f9f0e594d82300113f6136580a3cbd65d3603ffd1340293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c03bc13a5841472796b64f475f9d006a5cda8b9b3bd65a6b3462ed0b8cea59b9fd72240b29247031def03f9c748f6a3e9ae67ba5ff82226fbd1aa0295e0e37e07339a6c5cdc6fa084c27af1207fdf66c619d7492705269fa51fe8d3edead52097dd41f4e9c0b740303d47051d851d4e956daa430ef3d30ca8a5f433db9b46366c7a",
|
||||
"cfrag": "02b0630281ed5c9a54917487c17906e11b4a28b6d48a14a3bce94c12fa38706558020a3a74ab95485e3367492d3a912844f89dd1926fbd73e6d0a70b323379b6682cd4c5010e92f8aa2cea3db9bd203bc04b9074d32c67c2155e079a4a9aba65c3960293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
},
|
||||
{
|
||||
"kfrag": "ed14bebd4c86d367d10f82a738d897f49cd5809d857ed6f0801a4a54b443e4b41970f596635bcd69181f5d9c6ff16f568b43acbb4a4da5cb07e91b38eb23631502b10d308cb7cd5f8e06dc08821b435671793825685f176743543fe49ef9f566ec039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796030b660c2475ed898f765cde2c61dd0435eea1837668d38a5780280596ee182495d5c85d7542f9cb8ac0cdad68c8a254d491edda04c7750d1c40f5a8d3a0e5c8d0e2e86cd28ff0da9b5ecf7cd668145e97c721bacff9a5938271acae7b2ca80ccdd609c7a60f289942a86dd3fecaa8ee7e0c416049267a5b1236b6221324295b2d",
|
||||
"cfrag": "029b86cf2ad78181600fdee5ba1ea1713ddf09677b3109924ffbfc0ec06aee4e200288d4ddd58802ffbb8a961f693f236f8f5ed0f2340ceb5f6b830e38cb7a1d0f75ed14bebd4c86d367d10f82a738d897f49cd5809d857ed6f0801a4a54b443e4b4039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "70bbefd943fe9a57bba7d110b55acfc56a46db786f9532e6594ebaa6d0a259e71429cf0c72693a20e7a59fb7016755eb2e477dcae9b23ade7d9ec61d1c8aabc602eb6e27fecbdf3bd4ada7329cfdee05b55d0a867d9f3a3258fabaa98a515af8f40293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c039a9eb4b4a5cac8fe1c83e66090254d001d9b28576285a7898002b5b985591e1c66aa1916013ab4457c29e404cc384cef3467da38e51fd83768a721dec3c95d52623af96d3df7bc63f3dcc725e1cfa2941a11436fb465720c613cf2fceffe4f2ce69bd1c4e7ac74ab4be5a1976f55e96e8dc4de7489024e3ced21cbeca5583c3d",
|
||||
"cfrag": "036c038171e80df0ab8267d45d8fe955e459131980214763a76708ac6d50534ed503f4d86e2e6b71ebcc1be046ebfc8cc2834681b6f0d5486bff46d8e421588d6fd370bbefd943fe9a57bba7d110b55acfc56a46db786f9532e6594ebaa6d0a259e70293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
},
|
||||
{
|
||||
"kfrag": "d1c91ec520bc99f928e9c36ab7debe8a10adc20fe7c75b3c3e3946bb2f72eae01190645bf9a9f16f7eabcac40fe2b5d32b5dd79340d5c1d51bc7e18da6960ed2028965bca79189101dea5e9423de15c7d2ed6fcd4a25c63e969c11fc8c4bd67ee2039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c07960312ba374375718f6d46211ab3517bf80b39138dc9d70012ee5c315b63d82aa21e6f550f15122172305dfd2953f5726d3ba041e37027621dbc5bc813aeb37e1c527e8eac64f54b05c0e12fd897a4aef034dcbd840a63b0d00af7529c1fd3ccc1ec188880a0d4e9ef76ab6ca8311649ea63981ca59d9384f05e63753d87478bf5cc",
|
||||
"cfrag": "038fcffc2b7edc8ca050b7f27a817fa5a25eabf3a1e9458b2c831574bb03ec71c70383bedb772c70cc87121c494b6e023462241356b724bd7008423ba43d0508dad1d1c91ec520bc99f928e9c36ab7debe8a10adc20fe7c75b3c3e3946bb2f72eae0039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "dd4c0c71166a7228666cc16134d062e6e2e4cc04d0bcd7845e0e6789991e8e6cca3b9cd16b46664c21ebc0cb290a447fcc50a6fd960894b25383838c52941d23034e286cc13d84a0c946834565ba0eda98d5c584beb93d4826075abc440644edd00293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c032a887b3904bf08060643caa7046f62f2da3dacfd9f87d2abe2cd2e8174023c37dc262d809484cdd58c7ea366f9c2a5d0a5b6866528142202630b1f3b0793bd3a781ebaa13694dd823ca2d34d00eab1fe100b85bd48719f5537796c7d25403edc68d5e1de037cde6ac50c59a7aa80abad69ad052806e5aa6dff3d04846c52de4a",
|
||||
"cfrag": "02e990cc859af203cbc3492381f872a51d232705d9067ed57e4a42532e14e80db203d1fa36f3ae6ff02fd1da4ca5d2766761dabc44a28387d2710883de25a4ca47a8dd4c0c71166a7228666cc16134d062e6e2e4cc04d0bcd7845e0e6789991e8e6c0293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
},
|
||||
{
|
||||
"kfrag": "a2b27b5f11b8843370b785359203514377f388845830531c7a047ae259cf24ae315cb10ddaf60ea4b6dcbc49c7498ecdfbc423cd6719c12cd3b3f196fcc2160a02818fe343d7c822a764fea858189cec4e00867e3ec48fe0962f95d2b4ba12ab6d039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c079603b5ddab8795acddf442e144c2613454fe87a960cfd2dc5ab0408b32d76e4ee0c7ac9cdfd990201650e6a52724726e67c0f14e9a55d5eae39612dd9e89a099b556d93c10fd13007fc0377904cc36a2cdd14ae050ab064ce65397e8f73ed2635d1e4202f8a4ef6ec8dc6a816adc59553dbe5760b2d5ef926962eece86caa79af3fa",
|
||||
"cfrag": "031f7857321708053c0cf5172aac70169018c85612f5f3a4538e56a57e9102e1e9037551f677c2fe1b75989ca217947b0bdec304dbc9334778c84781a3971db986bba2b27b5f11b8843370b785359203514377f388845830531c7a047ae259cf24ae039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796"
|
||||
"kfrag": "b186bd6d5e2886e88579e436eb1584cc0509c32592efd73bb89feeb08b11eca23e7150c3c7daf11b41571f170b1fdd348979dd0f86c9e4dc5632d10fb96607700235b0df0a4a4bc4ddf4e0a74534b3163cbf9bbd9e02a96a8329c201fa55cf244c0293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c030a5b0e942b697e248f8f80c35626e2430d38506ba84efb5b6d240116111d4088606b7088fef8c8b66d917ccec483564002f1771b3cd24bab45782cf5e3569fd375c4a332b9cf19ce231f6b2e6000c491c2dba1b9dc9ea5253186c6be2c74f9e7fe47a8b63d79fbe49818ab03f661d16bc550ed0a36a35ca421a0c7626e54a8f5",
|
||||
"cfrag": "0278a35a65e64cadd6a1df998dfab62392bf4a070f5b7cb2970fa5ff5126e88e7b02d461711f2642d9ab74b976eae98e8eb0eef32dc1beb76b5bbd7db07532b5e09cb186bd6d5e2886e88579e436eb1584cc0509c32592efd73bb89feeb08b11eca20293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c"
|
||||
}
|
||||
],
|
||||
"verifying_key": "03203a4d8e286d6fb5075657afda918d071e1e82f80ca05b96bdb686055963779a",
|
||||
"capsule": "031b3ea3f6f4d0a107dbb303aaff066ed0feff0e9c7f10016e0bf8d398d35e91cb0363e5e7541c9f4f9a576a0b76055cdef878ae12c2867aaa3ef7879488995ba090dbeccf7de438af45a6f9d9fe9006d663c76583fe245d34d2332df5c89970b9d0",
|
||||
"params": "default",
|
||||
"receiving_key": "02464902352f6aa7b23d85a3f1f62868989910ded3dc5ada6fc5aabe17757482da",
|
||||
"description": "This is a collection of CFrags, originated from the enclosed Capsule, under the enclosed delegating, verifying and receiving keys. Each CFrag must deserialize correctly and can be replicated with a call to `pre.reencrypt(kfrag, capsule, provide_proof=False)`",
|
||||
"name": "Test vectors for CFrags",
|
||||
"delegating_key": "02401e952ba01155935c6c991c0a503b549a7d965a8c6d1eb406f61fc138b775d1"
|
||||
]
|
||||
}
|
|
@ -1,40 +1,40 @@
|
|||
{
|
||||
"name": "Test vectors for KFrags",
|
||||
"description": "This is a collection of KFrags generated under the enclosed delegating, verifying and receiving keys. Each of them must deserialize correctly and the call to verify() must succeed.",
|
||||
"params": "default",
|
||||
"verifying_key": "02bc251d06e6e3595499ca43806decf59b1e4e96f8f4f01ef77c76a3eac597b32d",
|
||||
"delegating_key": "0241df917664fddd2b9c578a16fd04546c84a8343837ea7235ff90dd864c9342cc",
|
||||
"receiving_key": "03c7c22ee39c7c4eb71f9d4d8fa1c58c9fe8b61a41a8244fdc006af824c4c6ab08",
|
||||
"vectors": [
|
||||
{
|
||||
"kfrag": "b05b47fcb6dec70eabef21b6f9f8a35b9cd6be4c71fdcd7afe90c159cfe5ef13ad0e79a9ab340db27b7282534ab0ba56e96c81df8eae906230f5bccbdfeb1665029fe0b7044442b3d3dd667f34edd8812da7bd49390454e1cee0cd17c7975959c1039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c079603925fc9404bc74fd326a1e2828b1f04ff6992795e168d13a74cec95249df4230ec1ea85097138db833f8b52a4b1b2cb615ef379f1c7546b7e83610cd933c2db67b0c5cf24849378995e01cfad049bed2be1327ff8246444a4736953cd23bdfca0a200287a9ab3ae72548dfdbaf29ede64987502d53f623044069cc6e9ffc1af5c"
|
||||
"kfrag": "ce9012a46d3e3ee2e0828f92b519385b9fdbba5f2a5e19a05a6b7dd1104a74e2c370cee6ff06dbd1b70886834c00c0b88f2a07e4ab211cfaffd2cb88b9cc17260241d3d5c94255057ac8fd7104f056ec5fd4d127fa16dc85caec9f2d932cfbf6000293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c03b9d5a1f586f3b2ebcfdcb280798b0cc034f759567dacd86af8a29ed00c6905e4133b1030504ac4ec8b34cafe368009eb3882ac2f54028a3aa724375c11cada1d0547c1dd76ee98877f33f50250d576d329cef02af532b9ce6f95688e306f8bc1a1d6d387e5f56438b7c099a559ea8dc54f58d7addd73c4a2dfadd87c24954fb1"
|
||||
},
|
||||
{
|
||||
"kfrag": "ec4e055010b592a20ccd48b00aaa757d79c856e477452f6a5e96cd3f79f6de72b660f45181f81bfbb8c009705bfe43aa02181995168f992769a2d915e73bb33d02bba4bd0f6743b789265f8c092aadaf30b74aaf725449834ab6979b17be7cecd9039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796037afd2e0b749a5028d4c14a903ef8c5ee996c20b731a626f90ec0846a7ba514ef6711e767a7cdd2db8c51bb84a5b6326cf146f27e108e1ace5438466c1c139d10914e64652fd49295ec81e8c16d2e56677942a526eda2303b9266e901e9742a8b2e895dd0164bd0a18002bcbdf87c198defe40d39572da9e4f71af169966414aa"
|
||||
"kfrag": "f8337c8e0e8df96f3659341e11fc7b14c5b7f052a07b0950cf9b5eb674b5ac26c78096996f010540a371e3b0e503f92cf12f2151578f74e2b0ed6a15362c3815031b79328401839448b42402a369e65ef0b64cb39757e4c716c45686de5f1cb6b30293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c034dc58eb85064e77642cad24f64940786aa4ecd556b651431270afec11ae0b4163f66165c372d9cb4923b6b38c684b3539909b7d1bfda2e11178d1977c0be82401b73317af196501898d1c242f320752592c12936ad25088e501df0d75c05e1b53e607854edf961603b9ceacde8becfe1302226b0bfe4978789b2013f781b54f6"
|
||||
},
|
||||
{
|
||||
"kfrag": "bdea38b0d45e70cd45859c1397f350fd95e268ca90c913bba5b78c17f8a13ee530c96c2acfceeb38cdf0f01d86c8b684721bec6cf266443eca28e94d6deb8ae903dc2c9506b35c4ee64b34870a651f54ba395f658b9364cf1b37c23fdd4089b71c039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c079603a6104bea83488f69bc2572b4dfaf1ef8b19067a1565a66fda87683329f7cd38a06cdce2255cfabe9f4439afd0575cbc89bdb7f03f9a515c940b5815bf46c14aec73e65a989ba61aacd6243520675ee6127fca1b0b8445003ebb9d9bd2c5164a652e572ec578fc9c95b4666a6c18d96322fa02ab8854a3a71fbcd8adc3c874413"
|
||||
"kfrag": "7966bccbb28cb073e4e3d683d16a43e37581d270ee629f6e9eac2b06e38061309f4477573beacb9bb3558c026ffb1825164cab647b195d579ee5624299e0d5aa024852e5bcc71bbb222b0ca14a76952bb62d6abb264ea828b11120bfd09ed673210293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c033fd869e1e5fff783b3761ebabddfbdea40f3c2f8e7f2ed7fe1fff2a8700ae150c0f104e1d79ffe040eb093fdf1b3bb1ab9ff58075dee8ce5aa61de27a349804c99fcdd82d157fea23b4e0e5d43fc1f88004320ef6252646ea155f94e988dd64695b1764f49a47f190b3d07da2a386294a9ac12214bb6597b46359bfa2c2f561f"
|
||||
},
|
||||
{
|
||||
"kfrag": "3075cfd9e1dda50272714087f9fd00a9ac449bfb9326d622382c34521a55c7506793d6c9b6c8334525b26997036cc6a0dd22ad4fb58a434b89e7d40902604f62038469ace469649d83066bfeb249ec72350ae77a670831bae790365181e5cdc3d9039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796039777dc8817f632f8beadc314eeecef49c196ea48ab4a1da993ddc5abb7239d96fd747722dc6b3d030d5a4597b08385d18fee430b9f597cbc4bb0d62c4c7b25606c0b21c90f45b03604b8062ebb0539072693c68fb090ab73bedef54e0bd4b65177370c5b5810b5c76012e7a38b036534630d58c4125e24fdf23c5b3ac0f98c5b"
|
||||
"kfrag": "5c2a4d728f27ab51c1707f2dfa7ebf5a9c62fd262e0d702afc6fe559c80bd04707bc11bcf36e181d5701ce86ba8bfdafbe4d13c14cd08ee9f62079a633a8d61d02ec2f65818e93c5cf687ffb21b42df9da2cd1a8824d02717efc69a88c637a9d490293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c03ebfc97ca958e07ecad434d7aec155a497cb0d8e749453d46567c61743685bce82faf54ada04742c65f0cc1f694961e9ad0d89f561acfdc099ac426bcfa47f440bbd8fe395ecbd420d0c9f2b6a2643c641509c7169a9c82e4199266c176a319914756b873784637472afd0e3dec40574ddc4911af07ea08f2cec78f8893915bf9"
|
||||
},
|
||||
{
|
||||
"kfrag": "a1be3f24393ee0e15bbee389b921616fdacbae7448e226c310f2f491a97f96e7c480aeea99a4d3abf17262715aa968d8a9de41766e4952862ffc8d68072be2f102093aee025877128db20be850ae3c45d747f86507e0fb037260704cc0b0f87cd2039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c07960397988b397b87d1feade31f41bd3ebb00cae78c13555e8f9f94cb1bbb545d1f0924e7890987f6aaa4d9b5b96d4eb1c6056c5e7deefe57e037b1f5f81e43f84025c3acadcda7702a42b5f86d4f1b3886a128f20f61784ec2f5a50bb3b2a0c120010eca33c0cf390040f5f8dcb966d76b1e939b93cb2f100c631c37ab5fe268e96e"
|
||||
"kfrag": "c1d872903832b6a62430fc1bc000bd9baa0f76ff9ff8ec3bf7ff6974e4ba612a71c75cd00bbdd44a621a5ad130c7bb027a36bf6de6df2cefe1947f4d30a339e7038407d4bcf234208d53f99e46b7335cf572210540fcb9da5ef0e769e1420ecd330293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c0384643f0ea61f194928e80b24133f881358fb68e58ab8a269a9cc96e95f2d9a3f3267efe41f93d20cc14e2cca4e5fcef0deeeab1619a4dfcfbf4e201dc6cd77112dd5fe7c95d94a3739f9f11e0e97e730437ac011de17540a9640fb16cd7df81ddc2fee16adbca46ca073f701eeaa61a73aa1f39b25696001e8cffe6bcbf8b52a"
|
||||
},
|
||||
{
|
||||
"kfrag": "b45c82149a8ad9504caa3f9fcd4d347eb9fe82fe2259f9e455a1d0e2324307db7945e1d60df504d80549e8822c0b815ba77f5563cef0082d485c5aabe804876d03d9d7d55bd9764462c3dad8d357d8570a6326eddac61daf3d28efb1dc880e112b039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c079603bfef1e9713b501ed883ae2cc36fb36c9fc50d5fe793e4632e12078da4a27087e2986f6b1ee716f5a51dfb8132d605a71fd47ee8a5d88b9efb0a52b0d4fcd0348c71badd28ef2c9cd2e10e49d2c1cfa5c15aa69faed2aa3921dc79879cf491ce7fc9899e36a7f1224edd48091ad6829c8d0e572b30cec5abc489c97a56c17ea61"
|
||||
"kfrag": "e9b5e945c49919bde2cf35166ae3fa38978b9641b5f45a2c02e4d90931ba450081786ee3cb5b59a8fe147f486661b62299c6af9a5cb76dc2489ce73d3083d43b03a3091b9ae6f37162cbce6f029608c0f722ffc36c75660f0c90959ab90b45107f0293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c0386c62aac68b6f4b2ac97b79f0259800d702fb97e1e334a8f79be54d848df44b169b27d6f68a109421232dad1234945a8c4bce69290901572dec5516920b8f8453d0669b4d8baaaabadab59c9eb8ccfb2662da414e153702167a722220ed8c36de69d39bd2ebbc3c759d5268c78c6d597221b9e3aa276fada5c5b883d2ec8fb10"
|
||||
},
|
||||
{
|
||||
"kfrag": "296121a2c7edbba02d6c705936a7c5fc3d67ec983e93a88a0b45674234990ec79b5345c4a1cc4ecf360470fbfd9e79ee28fb2dd47fbc9970acb8c68b9a6a1574026d52179be7196e36fd2d8d4291c92242cdc548984316516a67dbee11fe66cc39039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796039088934d23c03c51c3e9b6fc3c2ba9f25dcd72b78cb3ce04d7afb6f1dc2de0b32e2967f436a76677ab135a93b7f6e1cb2381fd0b5d769c56b93609402fc60dd714f176ff458f3fda87940bf65a4f4a2fc101ac0e3791213904e640cfbfe2fa52676d3447c7c508509c9521e6f492e875f9f40653399c027d5e2473bde40022bb"
|
||||
"kfrag": "d4c5010e92f8aa2cea3db9bd203bc04b9074d32c67c2155e079a4a9aba65c3967c51254bce9df02f4e736d3b3071d479a3db1c2b621a8071a7834bd2191e8e78025ea4e600bcf0c0f126e37f9f0e594d82300113f6136580a3cbd65d3603ffd1340293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c03bc13a5841472796b64f475f9d006a5cda8b9b3bd65a6b3462ed0b8cea59b9fd72240b29247031def03f9c748f6a3e9ae67ba5ff82226fbd1aa0295e0e37e07339a6c5cdc6fa084c27af1207fdf66c619d7492705269fa51fe8d3edead52097dd41f4e9c0b740303d47051d851d4e956daa430ef3d30ca8a5f433db9b46366c7a"
|
||||
},
|
||||
{
|
||||
"kfrag": "ed14bebd4c86d367d10f82a738d897f49cd5809d857ed6f0801a4a54b443e4b41970f596635bcd69181f5d9c6ff16f568b43acbb4a4da5cb07e91b38eb23631502b10d308cb7cd5f8e06dc08821b435671793825685f176743543fe49ef9f566ec039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c0796030b660c2475ed898f765cde2c61dd0435eea1837668d38a5780280596ee182495d5c85d7542f9cb8ac0cdad68c8a254d491edda04c7750d1c40f5a8d3a0e5c8d0e2e86cd28ff0da9b5ecf7cd668145e97c721bacff9a5938271acae7b2ca80ccdd609c7a60f289942a86dd3fecaa8ee7e0c416049267a5b1236b6221324295b2d"
|
||||
"kfrag": "70bbefd943fe9a57bba7d110b55acfc56a46db786f9532e6594ebaa6d0a259e71429cf0c72693a20e7a59fb7016755eb2e477dcae9b23ade7d9ec61d1c8aabc602eb6e27fecbdf3bd4ada7329cfdee05b55d0a867d9f3a3258fabaa98a515af8f40293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c039a9eb4b4a5cac8fe1c83e66090254d001d9b28576285a7898002b5b985591e1c66aa1916013ab4457c29e404cc384cef3467da38e51fd83768a721dec3c95d52623af96d3df7bc63f3dcc725e1cfa2941a11436fb465720c613cf2fceffe4f2ce69bd1c4e7ac74ab4be5a1976f55e96e8dc4de7489024e3ced21cbeca5583c3d"
|
||||
},
|
||||
{
|
||||
"kfrag": "d1c91ec520bc99f928e9c36ab7debe8a10adc20fe7c75b3c3e3946bb2f72eae01190645bf9a9f16f7eabcac40fe2b5d32b5dd79340d5c1d51bc7e18da6960ed2028965bca79189101dea5e9423de15c7d2ed6fcd4a25c63e969c11fc8c4bd67ee2039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c07960312ba374375718f6d46211ab3517bf80b39138dc9d70012ee5c315b63d82aa21e6f550f15122172305dfd2953f5726d3ba041e37027621dbc5bc813aeb37e1c527e8eac64f54b05c0e12fd897a4aef034dcbd840a63b0d00af7529c1fd3ccc1ec188880a0d4e9ef76ab6ca8311649ea63981ca59d9384f05e63753d87478bf5cc"
|
||||
"kfrag": "dd4c0c71166a7228666cc16134d062e6e2e4cc04d0bcd7845e0e6789991e8e6cca3b9cd16b46664c21ebc0cb290a447fcc50a6fd960894b25383838c52941d23034e286cc13d84a0c946834565ba0eda98d5c584beb93d4826075abc440644edd00293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c032a887b3904bf08060643caa7046f62f2da3dacfd9f87d2abe2cd2e8174023c37dc262d809484cdd58c7ea366f9c2a5d0a5b6866528142202630b1f3b0793bd3a781ebaa13694dd823ca2d34d00eab1fe100b85bd48719f5537796c7d25403edc68d5e1de037cde6ac50c59a7aa80abad69ad052806e5aa6dff3d04846c52de4a"
|
||||
},
|
||||
{
|
||||
"kfrag": "a2b27b5f11b8843370b785359203514377f388845830531c7a047ae259cf24ae315cb10ddaf60ea4b6dcbc49c7498ecdfbc423cd6719c12cd3b3f196fcc2160a02818fe343d7c822a764fea858189cec4e00867e3ec48fe0962f95d2b4ba12ab6d039ad0527e78344352c18e84921c24b51a56d4788373196712ed5db578fd3c079603b5ddab8795acddf442e144c2613454fe87a960cfd2dc5ab0408b32d76e4ee0c7ac9cdfd990201650e6a52724726e67c0f14e9a55d5eae39612dd9e89a099b556d93c10fd13007fc0377904cc36a2cdd14ae050ab064ce65397e8f73ed2635d1e4202f8a4ef6ec8dc6a816adc59553dbe5760b2d5ef926962eece86caa79af3fa"
|
||||
"kfrag": "b186bd6d5e2886e88579e436eb1584cc0509c32592efd73bb89feeb08b11eca23e7150c3c7daf11b41571f170b1fdd348979dd0f86c9e4dc5632d10fb96607700235b0df0a4a4bc4ddf4e0a74534b3163cbf9bbd9e02a96a8329c201fa55cf244c0293b1195e3a628ab5f0202f2bd3748108e4be0597106d281ed9051de42fc4376c030a5b0e942b697e248f8f80c35626e2430d38506ba84efb5b6d240116111d4088606b7088fef8c8b66d917ccec483564002f1771b3cd24bab45782cf5e3569fd375c4a332b9cf19ce231f6b2e6000c491c2dba1b9dc9ea5253186c6be2c74f9e7fe47a8b63d79fbe49818ab03f661d16bc550ed0a36a35ca421a0c7626e54a8f5"
|
||||
}
|
||||
],
|
||||
"verifying_key": "03203a4d8e286d6fb5075657afda918d071e1e82f80ca05b96bdb686055963779a",
|
||||
"params": "default",
|
||||
"receiving_key": "02464902352f6aa7b23d85a3f1f62868989910ded3dc5ada6fc5aabe17757482da",
|
||||
"description": "This is a collection of KFrags generated under the enclosed delegating, verifying and receiving keys. Each of them must deserialize correctly and the call to verify() must succeed.",
|
||||
"name": "Test vectors for KFrags",
|
||||
"delegating_key": "02401e952ba01155935c6c991c0a503b549a7d965a8c6d1eb406f61fc138b775d1"
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue