Don't use DST when hashing for signing

Have to rebuild vectors again.
pull/267/head
Bogdan Opanchuk 2021-04-19 14:28:22 -07:00
parent f31a3ad1c2
commit b03c83eb93
7 changed files with 75 additions and 73 deletions

View File

@ -17,12 +17,13 @@ class Hash:
OUTPUT_SIZE = 32
def __init__(self, dst: bytes):
def __init__(self, dst: Optional[bytes] = None):
self._backend_hash_algorithm = hashes.SHA256()
self._hash = hashes.Hash(self._backend_hash_algorithm, backend=backend)
len_dst = len(dst).to_bytes(4, byteorder='big')
self.update(len_dst + dst)
if dst is not None:
len_dst = len(dst).to_bytes(4, byteorder='big')
self.update(len_dst + dst)
def update(self, data: Union[bytes, Serializable]) -> None:
self._hash.update(bytes(data))

View File

@ -11,7 +11,8 @@ from .serializable import Serializable
def digest_for_signing(message: bytes) -> Hash:
digest = Hash(b'SIGNER')
# Not using a DST here to make life easier for third-party verifiers
digest = Hash()
digest.update(message)
return digest

View File

@ -2,51 +2,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 `reencrypt(kfrag, capsule, , b'kfrag_metadata')`",
"params": "default",
"capsule": "029826b0595c6fcf4e85a6ef01b18442578e65feca6d70075514b49bdfc4bd0cda031b8b7b6be11ab59918c5297f533096b795fb769166cca3e217a378f00dc14fb383c2a8df1afc43fbca77a2ec7a9129c16b9ebec7134bb7537f974e1a12474ea2",
"capsule": "02558f1de19a58e73a94e8fbbc6d3b1de2d312d90746ea74cb29f046943bf5787102906780e9484aec2102a01a157f10ced5aec952cd00631d94d5ea2edfa9b6808361b109353b0827b7e4013ab92a70eb3337a37f6fe34b3ccb058592caa246c974",
"metadata": "6b667261675f6d65746164617461",
"verifying_pk": "0356b6aac8fa9688792e706b1bd01b72492bf72e2875ed0f9785ca4959b65825c3",
"delegating_pk": "02fa3e10bdb63a28cbaa067cd7d237bdcb51488a99e0f746b40d310eeca7449fa9",
"receiving_pk": "0204a16e82c22543485cbf970d7a414c49fd68b4c3991c0348541166099d1399c6",
"verifying_pk": "030b95b3f249297824b32d3391392d62a9aff32e8698fa78c7e8ce4a9d17071f56",
"delegating_pk": "02d67029bb92522059225d190038230c23466e28d132d48f714f9098168a562b8a",
"receiving_pk": "03b0d0243e8954b408047eee3b09b5ed132ccc25ec70e99fc74b6e9f54e5ecf9c7",
"vectors": [
{
"kfrag": "6b2153ae8d1230a2906a48ad60491eeac5a01d31d372b6825aaf8be0ea866c344527b38a87e7b3ca6434b12f972ed628161f5c125737c01a41eccabdbf0a988e030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902515dea317370e1dd7c266eb7da9a7b05904afa5c79f8461271803120ba74204bfc0e845cf4a3113983be943ff9546a43faf9fd8f642cdcacf50fd5c21b74d6b700faa61bfc15def03e432d0571733ad6f1b6b05c5dc6d6928828562b4ba0f597d90a2bab084b9561336f19328ea7d2a75e7d13e5618edf4caf9f3005729c8f507faee4e60bfe4e5328ce75882bd3392da634bdeb9f28ab1c9f89bfd4ef6617d30101",
"cfrag": "022c521249ed649e35e2607313d21633a64cf7ba7a0b0eb10da102cbdf30a39b9e020926d5571798f392acc25cb7523c7244570bb503ff7453baac200805f6bdb11c6b2153ae8d1230a2906a48ad60491eeac5a01d31d372b6825aaf8be0ea866c34030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b903b2250e711942bdbbb00180083a6b9d2cabd9bb3baab2b789057ca537dec6c3d8039e117737bffe4e252bf00a189908872696463b421971c5d51fd9da4a26c8089e02515dea317370e1dd7c266eb7da9a7b05904afa5c79f8461271803120ba74204b022c680e6d777a3e088c32a652d3e5a1ad30e8f035bb0ee746a8b0d45f33214240dca23067d536f8c53b740d17791aca5ed7e82cff8d48398f3097a3b4abd5aab3d90a2bab084b9561336f19328ea7d2a75e7d13e5618edf4caf9f3005729c8f507faee4e60bfe4e5328ce75882bd3392da634bdeb9f28ab1c9f89bfd4ef6617d3"
"kfrag": "2565903141941fecb01fb92dfbdd66a0a1d4eb94d3226beb2f7adcbb8282ffd0b7934320225868d8f9ace7784fd3ae0c20a09c5a2b698fae0554d71b1f016670036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b026cb94f302809d19aacc81da19f2156db9c610498310b930d7787d8a2366dadd3d977c6befcff3088016d5d9050f4932cb4a9ce483dd7cf27e1f157f8d23f598248d5027a8961a09c874c82a8c479fbf074675790edff37e6927a7d4ea269e600685dc9469c87e6d9d469656b2f40b33e6d6813ec3519fc065a4ffc0eeb8abd324c1914451341cdb7abd7c5aa01adade220b2894be5a33caa9ee7d3b4637bdccf0101",
"cfrag": "025e6a08eb9376adfea3a92e05fea213c493fe051461fdf5639a7108e8687eeacf03fcfdb46bf83a68e0d674e7d5b7c0365c8fa05dd418f2ba1a4aea2abcbcd12a192565903141941fecb01fb92dfbdd66a0a1d4eb94d3226beb2f7adcbb8282ffd0036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02c6348049682bd1e8fc6d4fa0b60a44a50944d497fffc63a4a1c15d7a6bf707e103e2966028c41d81f1bbae136279db8edca069a26183fec4bd12f253ae92d03044026cb94f302809d19aacc81da19f2156db9c610498310b930d7787d8a2366dadd30360288316249f090306991e6a604d8f0da56ebe3275abf4353f223391c95ad06db8c00bc92cef528117fbe10f7e70310aca5f0223a5d22c6ae36e6d26a116f0df685dc9469c87e6d9d469656b2f40b33e6d6813ec3519fc065a4ffc0eeb8abd324c1914451341cdb7abd7c5aa01adade220b2894be5a33caa9ee7d3b4637bdccf"
},
{
"kfrag": "8768f1dca034bc24115fd5656a920c92c008f52394a6cf249ba93fdc96e6f1532a33dc0a1fef2fd0c29563557de700140039aed86281bcd0102bc86f58c61b64030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b903edd9f0b0e20415caa9b13574ecdc89153db4a89796b725ee09c404544f81587acc74528da69e3e67a5cdf18e0c416430ef77bee30c803bc8e574b5b0fba415634b615e1348f81cf339f1a26fb27cec801ddb181d4384f6fbe082b4c5e830a49cf1e4bc404d3d078ab6d7447ee496cc5b23df92d2496f9abf709e89367572ec5a63f910b6f0de4ddd4155bd86d344567b1f23273bf282244e9712bccc857ee83f0101",
"cfrag": "035e93e0dd9cb86c53c013013dd169c58c6f4f85e371aa099289b4ff381a2db62602a94047e2aa4a565973df37f5c98bf4aa2bf6697edf6af129d8eb8447e839a50e8768f1dca034bc24115fd5656a920c92c008f52394a6cf249ba93fdc96e6f153030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b903ef63b90e01fa1c919b647172cac2beaa1b6dd6c606644a89a651c07cd0f75ef902da7c00e78acc82d215bf116223c9013177f9420c0f5f9ea8d5415844ecad166903edd9f0b0e20415caa9b13574ecdc89153db4a89796b725ee09c404544f81587a03cb72bf3d8d9b67dada84a3ec28d6291fa084f53a23dcebf23aabdd1d01c9240a748fa7de1f12ec2338dcffef1be7b8348e2d4abf6fbd4cc50ddd914fb35b7ef8f1e4bc404d3d078ab6d7447ee496cc5b23df92d2496f9abf709e89367572ec5a63f910b6f0de4ddd4155bd86d344567b1f23273bf282244e9712bccc857ee83f"
"kfrag": "ae85e679cf44b1877ff36e48c4965144724f17cc7605f53e50007aabbc2c7ab3871d04e6b5666b81a99ba0c6a70ba8675f2122a39eaec04a62c8496d5149ac9d036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02e3e7722bffcb6674987b0089f6b8ac0d6cb220d9661edb5ed9dca5fcd33d5bdb1e41b92c9a8e4346b2dd1072389e4ce36a6230eecb59b7e0e9d84f35bf14f0f23014a1263e17d07a94c5d9c248c692686c745df3c5d11566b9ca17ec62e59a5265749ef2701a58483bd106be985c3e4a03750e3c0c21424cf7f59682224c4f6e29c242904ade5ac377974eaa662b6ed6eed13fd30509b9cb332b4fa89043a2a70101",
"cfrag": "039715d1c5678c3fb28900a95332eb37beedeffc8cb4862cd11248bcf6ee0c316002fe9dd2d4e6afc607a0ddcfba92ac81b008feb182b516898659a3fc9ec53dae4aae85e679cf44b1877ff36e48c4965144724f17cc7605f53e50007aabbc2c7ab3036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02a745ff6a18340f1c7657c03e5ea3523971604f71ecaae1183a7b88cde1780c4003d8b1d2e220512be9f375c518e4e73ff73f0e49d3b12b328ccd2706ad59dd6e7702e3e7722bffcb6674987b0089f6b8ac0d6cb220d9661edb5ed9dca5fcd33d5bdb036e2625fb8bd22e84f82ffa8009e8366b141be7b99a0fc74cfed82558d98b3c1183b0dfa5571608f200d7a1c546677a8186535306a210eec6add04429eeb81b3f65749ef2701a58483bd106be985c3e4a03750e3c0c21424cf7f59682224c4f6e29c242904ade5ac377974eaa662b6ed6eed13fd30509b9cb332b4fa89043a2a7"
},
{
"kfrag": "e991070d6e12a0bf81686d4b845253935dc3d73c5908ba80d12e29fd8b0a9a2b085cf9d3da3f2e3bf431e1792545f4535c0a42ba80eaa42b0ef8991615bea688030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902b75bba5e91eece49b2e86e1f2fe973c3558a4a0f4e053f7ffd64c078f43db6b3bf28a4a29600909a4a5818b00ea826a6085939457a864247822b51acf510bfcf45cb3cf339e777d81bab6aa72eab27a20bf794509106d46055189c27dd33ea68dc81ac6be6b3175282e35e70ce02083dda1f6f639757cac1bbd6c47531c170e35573622a959251beb2c3a64cfd45dd9d92a542adee53adfeb209f39fbe6552cc0101",
"cfrag": "03b42b90f822b7ecf87a78004ea60ac5b6118ca3c510b4de18efc67844d53d2aa20258176ba4b8201d50f110f324bc5506e4c75d5e592d3f294b563705af716a945de991070d6e12a0bf81686d4b845253935dc3d73c5908ba80d12e29fd8b0a9a2b030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b903d5c7b2e0b37acbab73327f535744c78f2f176fb3978010b0421f8293a6f1a6b003d7cc410be5ea0e1a5e536d89abbfea9ff706bb04eba14699ba6c0ba9bee9c67302b75bba5e91eece49b2e86e1f2fe973c3558a4a0f4e053f7ffd64c078f43db6b303ef75dccba9a5565e63a183105e737734235433a0240fe9899d23dc01b2dc8702aeb7d2d7a3baaebc9a0389bcc61f6c98b1a598908aca3b1dc2b403bcb810d07bdc81ac6be6b3175282e35e70ce02083dda1f6f639757cac1bbd6c47531c170e35573622a959251beb2c3a64cfd45dd9d92a542adee53adfeb209f39fbe6552cc"
"kfrag": "0bb747aeafa005ceb7be0d1f7fac93094150c5d1c4a08b7705dfe98d38a901ddc7eb5aad9d622148f2c229f53d46b8a17dab61b37eb19bdd6c062fa81d725c93036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b038ab4abc7c62834517b7a296199e43c62da3dfa6c4ecadb4a3aa7aac5f4d9f301cdaacf4115acea35edd9858ee8a04a05cbcf346374ca4a3daa54da89754e018222f869edbd7224f49fd705b53cd11af90b078d77b58b272e1e39a10be6a9966db3d3ba5ba267c360b96cf2aaeb28e87f87f76f7216af4e1594b67f71e8ba195f4c305d98fe469e738caf771745f3865ebf7fd114efc09f8b69383bae8020ae2f0101",
"cfrag": "023c4dada5a0b7c98e1c11e6f9c3b799cd82f0aaa690884f9249267fc6651be2430362037688c3de037562c09246afef492b8884c3ab75e3ce1c5faa4c5dda7c42450bb747aeafa005ceb7be0d1f7fac93094150c5d1c4a08b7705dfe98d38a901dd036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b03996e89a45de805aa37dbfa3b152e2021777a760fdfe72f0d401daa7506b56fa503e7c4198f54d702d66c1c042fbda485b93f5bb9c815d7dcb9f2a84f36834f82b5038ab4abc7c62834517b7a296199e43c62da3dfa6c4ecadb4a3aa7aac5f4d9f301031f4d53675c072150ad5d10251ec10b70cf84faa58a93357e426050d7ed23be5fa3fa015b98b321d5dc05d92cbd3aea001d408bfc4121ed9f8d2d13d29c5e94acb3d3ba5ba267c360b96cf2aaeb28e87f87f76f7216af4e1594b67f71e8ba195f4c305d98fe469e738caf771745f3865ebf7fd114efc09f8b69383bae8020ae2f"
},
{
"kfrag": "2d6047c7edb76fca8627b9ee5632349b152048330ae1d6f82ab16a54671ac45f762f02e29de334196c59d39ef74704f54e80046cb3427bb4d041e30e11518a84030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902dbace43cc9ecc66d9bff1c3fbd45dccfc99b1b7bacd9d6b509fdbe6bf55e6629f9f08c487e6f6915f641bbb1d106d03ee498e685b8c14df5ff1f94daf2f886c458944335210a5ab1724a7e9a776f8e18b0afe9b11bc88eb0f584599b39d1910be88def83b8575a2383918adb6761738c647d30532051641ef0dac6bb0603ab5e5a08b3afe9e081e25476fda4d22365bbb6a3588943ff2cf66f5ad61b34d5ac350101",
"cfrag": "021c0a3f294e2205dc29cd4499e90177f06f7fe24e3d08eb41cb92b8c354a756fe0332d855dfff64425281fbbd78b80f86d81a0a98512a72820c7431c84051d4309d2d6047c7edb76fca8627b9ee5632349b152048330ae1d6f82ab16a54671ac45f030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b903e766625a2ad4659fe46995ca12f68060f751609e9273b45c753b2833ba8e82cf0209c42e14bf8d7f7c47873af78c77e2195652a52b76452c38da7bf4f33c1944ef02dbace43cc9ecc66d9bff1c3fbd45dccfc99b1b7bacd9d6b509fdbe6bf55e662902bedff06faf53699130f06b4abfd8cddc2caa0c9108407fe5e6ae0774806841b7e59417f82a403846aed53a10a974006ddf43d7f479bffef90a2a39e4dcadd258e88def83b8575a2383918adb6761738c647d30532051641ef0dac6bb0603ab5e5a08b3afe9e081e25476fda4d22365bbb6a3588943ff2cf66f5ad61b34d5ac35"
"kfrag": "4ace898ce8231afe709556f0816b7c3b18a9aaa50fd6afe4596cc32b5cad26a68634f36bf1374f4a915477f9cdb0b8ae2ad6d4b2fc149c693a2cef1a248452c5036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b027c2de1ca923a4f1c7783d42dd0d145efeb1fb8b352168a255ec4661a7ad5532b9653705171ebc24147bb8c9f97500b25f2a3a5304e3d8dfc91d2a1f8dc0d4a5e29044bc078fbe2d8c9b6e500a70af07fbce661f4ecb86cdb2c847b11c136782100962b6d129d9cdb3fa930980c8fe7326fc0897e5a40cdf01f2984fa017c19fb399a0157286cd368653d27522d8775557009377051c9b56b69b014d051ae8b1a0101",
"cfrag": "033c0f532b1e80753d70dc8088fec6132412308e4b27503875878f47475451169b03bd063c6a2189baf14c826a187b2b4077e536775504d0b302e4006f5180f92c284ace898ce8231afe709556f0816b7c3b18a9aaa50fd6afe4596cc32b5cad26a6036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b03f5b99feb5baf4c4aa52bab260270028e11cbcaadfafc740a078e222da31e6cea038348e03d9cb890cdd87ff58b041f1b08724706785352950c321173471eeb917b027c2de1ca923a4f1c7783d42dd0d145efeb1fb8b352168a255ec4661a7ad5532b02bcc145a4a94674c87de586a97eb1b3255ec3e07184916495243f73c71b106c8132071b0325743caec3d1e264ddcc9a8dfca5e7a971ae00c4d79112ea5460787000962b6d129d9cdb3fa930980c8fe7326fc0897e5a40cdf01f2984fa017c19fb399a0157286cd368653d27522d8775557009377051c9b56b69b014d051ae8b1a"
},
{
"kfrag": "c3049b99f379bdbefb22444966d99431f61491960a14dfc21c9f27ae5f3337115997fbac2396819888a1faae034830fb8d9aafb932f4e1386fb3d99e3b3c72cc030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902da00ad302878cad4175c376494c3009c70c3fab13d527c641c692f5e91cae7e221b02df022655636b35c1b3fda4895ce2960a6832bf567c18b1d1f8329dec0d44da586ada4c75b3c65e08a472dc396503aa82e43f09917faea807de021abb295984a322b6320a7b7cefaef771c6d6949c9889d5ecf7e69ecc860b7b5c6fca6c541a49578ff0039dc567569a75e22393f7cbdb944ed82ee265a9c2f590f00fea50101",
"cfrag": "03101f294b9a69cfe755ab9c2d2cd882477e5686a1af55061f69d9943d151f655c02adbd5cb5e53cd1007609d9056c7b012f20985f198e9ff1424c31aaf74d8234f8c3049b99f379bdbefb22444966d99431f61491960a14dfc21c9f27ae5f333711030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902acc1e4fe0770d7adbed61c983dbdc30e1a5ba84969ec67a1181b108f340c27c502c0ed424db876bb83cd7f214341be9fca83c4a636a35dd933d27df611ca68f4d102da00ad302878cad4175c376494c3009c70c3fab13d527c641c692f5e91cae7e20251366b36ca62d0bc43b9e90573a2faeb6a284431e3acb1a2294eb3fcf4520b838a6d8b26c522f277991477a4cadbb9b746189a034371a62ef5f5ac4e22bcce9b984a322b6320a7b7cefaef771c6d6949c9889d5ecf7e69ecc860b7b5c6fca6c541a49578ff0039dc567569a75e22393f7cbdb944ed82ee265a9c2f590f00fea5"
"kfrag": "ccc346110f4ab3fa3b0aeca1630e077537ac5e2c74f31a6d09de1a74e5db4f044a1e816cd104fdfabc92bbb40c6f9361071260c13a14b866097749062af79d83036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b03c18e0774891c9d7bb8502e35a2dc2aabeb461f4f0cf43a78a75786869007d60895a31ea32286ff5516b3510559e1e7e3bbbebcedd1c7540b002764e6901816244a073e19a1d9c5e460fbec5dbd33717e9958c89f6adab0484cbd40d1163b8ea71a7208d0de602d4d12c024c0974568fc2aaf23aafb1405157cbcf97738fc9dc0076b9f77d53e20bab18afba1ef40232b55335dbf33ccc365df277fe1a8ecaa530101",
"cfrag": "02a6dd1684794a82183794970974fffc79009ddd99d67a8e4ccf331b66b52b74ed0212f0c112b1e35a9bed7e7c623ae0330010b02a7e1a273b93e4f1fb1ef994dc98ccc346110f4ab3fa3b0aeca1630e077537ac5e2c74f31a6d09de1a74e5db4f04036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b025b53b9f0a4881f2a830fa0a5b851eb616580aba7fb111348183031527a2476aa039ae97d9f19a6b4dbdf1f413f1eb986b5b5deb31f3fccf18ff6c160106064140403c18e0774891c9d7bb8502e35a2dc2aabeb461f4f0cf43a78a75786869007d608024ddf944ec195e26813a514b9a700a27ab4c5ae341b49fff234c61c7d3f0f3a47eccb3bc2212c779b4df0685192f77b57cb25f9849baee3f8c7f7849eeca622d41a7208d0de602d4d12c024c0974568fc2aaf23aafb1405157cbcf97738fc9dc0076b9f77d53e20bab18afba1ef40232b55335dbf33ccc365df277fe1a8ecaa53"
},
{
"kfrag": "09a6958bda88d2914b755578112d458990c16085fa1ffcc2f6224f4337569112b28503b921304a41973acbd0a38ea915c4ad142e7fe6c673686a7f8346c88b9b030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b903c7d2082bc33f2300f03d81ca4f59efcb2677306dd05e07ef34203d148a21e0a69a02e92d859c7a8ab99569746736481e02796d232ff7d424afd0da8f80537e84178538813dadd770b9541d8a128e7a352e8321f9ec612383de6fd1a9358f9859c716f0c2736f9ab2d85edae8dfb4c3e238708405a59e19ba809c65730d5c70e13958cb123e0c4449884fb9b38edf55225d05f4faa366d6d42fb2185606c7a72c0101",
"cfrag": "039cc005fbdd9282886d2a6c0b322e429af5c4bb890e142c27bf845308b4d9b72d020080bd7ae1bc545ec5952847cac0bcf2bd08fd077c16b75cc66f2096b1d4edfc09a6958bda88d2914b755578112d458990c16085fa1ffcc2f6224f4337569112030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902efe0d9f0eabc0cb2d8e141e842ca08e052843e998467e7b283663cbdecacbe3902b5abb0fe4fb14794613292eddfcf54df4a9cc8ab7db0778dd6967ec25b85647903c7d2082bc33f2300f03d81ca4f59efcb2677306dd05e07ef34203d148a21e0a60352b0ed79b3479e02ac6a8ac2298f40a320a58239714fb9f63cc272ff970f88c15ec47e73f1f539482ed2750110d8ce2406dd521cfbcec69b162710d27a7555b1c716f0c2736f9ab2d85edae8dfb4c3e238708405a59e19ba809c65730d5c70e13958cb123e0c4449884fb9b38edf55225d05f4faa366d6d42fb2185606c7a72c"
"kfrag": "3166d84565cc545cd994957f2aee5009edf3611b5b348e6d39eb27c02198f3cf722cd82f01fd45953cc999741fedf34ea363a229b4414340dbacd0a3fbefb13c036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02e307917315eab38d97ba09a5fda8c278b4678ad9c8486b17b79739fdd2c9b088ff59ee77f0f2a5455e4d31439fe3652a284839c2c0fd1e989b5f80179501873b13b84ac39b7f9f0de069eedfa3c79d4781dfcceba1c344e0f003f4053ba938465b0e56d5066adea34ff1365e77358dc2a44a319d9a0a7edc283d05790cf9a8152bfab400aefd27bd41374b761de99974a94c4d1076d78269cadb4011cb06b1180101",
"cfrag": "02af56a5bad7fef91e011ac17e1d2066842be5b0fca15cbe1b6ac561281756b4ee02ff6d03924099b91ad03484b4eed47c1559f9869c239d7a42edefd2622a74c9e63166d84565cc545cd994957f2aee5009edf3611b5b348e6d39eb27c02198f3cf036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b038744e4145d2a32bdca6c10199087b720891c9d8510516eb13f6d4a19ee304c5902c9e81da5bc322c674740a9ffb2ea36238628911aa0420fb87fdc53587cc8129c02e307917315eab38d97ba09a5fda8c278b4678ad9c8486b17b79739fdd2c9b08803bd8be6d162bd571a59d0980694944b7e1bf315b6fae53413bf3c1317ad25df26bf5c8477011a67963c77b4eda856b0128d32d58a1be455b5956b93b7ff2a8c585b0e56d5066adea34ff1365e77358dc2a44a319d9a0a7edc283d05790cf9a8152bfab400aefd27bd41374b761de99974a94c4d1076d78269cadb4011cb06b118"
},
{
"kfrag": "863e025c29c0a99f5e92ffa320044a46a831bc04ce583171bb64d95ee3fd243ae22e18dc31f7bba7260f82784b35bef0f2d885376af0846729b5d46c479fcc36030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b9032ae7934328ba117a7f255c085953eb142b18c9710bb2cb47d2432e20e16048acc303fa98ee493b61827fb93cf07d28b17cf5a4afa9ce2336578d9d2a28fb083e30463809a026e1444980466f81f47513c9da2b29cabba6ed6f2289700fb977ea39b66259049a3c10da3fa1fdb09e7e3f38e22d86aed044fec98e1311e119517974f03051f083ba7dfe7419b11e2a10f9860ca87b1527fee0aa6682946c3b66560101",
"cfrag": "03835ec24d7735ad284650746e6ebd8d01572fb2da4f4f963a2e9eed3826630a8c02b2aa21f849772c350565b9d5e9132bb30ab7eb2edeb9637c9691daafe7666be1863e025c29c0a99f5e92ffa320044a46a831bc04ce583171bb64d95ee3fd243a030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b90312d3f5940758f5813809de94774ba2fcee5bdb1c7118dc2776045ef3d83a096b02d65aca686c40b3c797d1cf251dbdc84014d8428a4477f410a9e096c4fb02a1d9032ae7934328ba117a7f255c085953eb142b18c9710bb2cb47d2432e20e16048ac03f23c5ea4a9f680fcecfc3b9c31c487e16e34565ed709a0da4171de35b46cf87da3e806f317a3626d96ab12804fd2b3e4edc32f07c7beacdd304ec6f659aeab2439b66259049a3c10da3fa1fdb09e7e3f38e22d86aed044fec98e1311e119517974f03051f083ba7dfe7419b11e2a10f9860ca87b1527fee0aa6682946c3b6656"
"kfrag": "71c8673926b3df970da991a3d53cd6cff27963ac7d88ad2921e84ae47e8f3c930112609fb5f87ef70ebdbdec2d9cc58fd1f171bea4b93fb4a57de058666fdcc5036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b033c83e00f04744ed4ac3a6cadc64568dfe526e579f56f5c26e5749a0fe795b0339700c611b793210edfdc823f5332ed4640f6cf09e419336f3e13b71b29de065f7cd643768ebea6137a612bfb8328cb0868ac6e001e9bf8270817446b15027a1d6e6b066214a61c379b54d71b608774172181d09ff6b14ab43dae3ad68fb18abe2fad7b818fe6bee1c27158d5bc3c85c114611c43bfe52e4f6969b9a53c7db1240101",
"cfrag": "0249811dd5bab624b9501be1cfff695d94b44f80d2aea9a107fdaa6e0fac70784c0370888b3ceed890b616afe29cd580fc0808b5f4fb5dde04f6e91382a39e1fef1671c8673926b3df970da991a3d53cd6cff27963ac7d88ad2921e84ae47e8f3c93036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b0240fdfd21499d29990d5c44133fe7ad4597337f7bc18d7768ffc50f6a5661d14903dc2ab1e56a45fa98de15f0c32d46adf0ae39884736ea884a1dd1f4c4c7e8669d033c83e00f04744ed4ac3a6cadc64568dfe526e579f56f5c26e5749a0fe795b03303d4d12caf9a7337897a9f0bf47a232c26347a78eb4e8920900a692d9c87ce13805c978b4b22177a905407452d108a654e28ddce1d9480265bfee554587a6fc7ac6e6b066214a61c379b54d71b608774172181d09ff6b14ab43dae3ad68fb18abe2fad7b818fe6bee1c27158d5bc3c85c114611c43bfe52e4f6969b9a53c7db124"
},
{
"kfrag": "d09a6da7a52ed332973b42faefeba0e7d9e0d44e94f837d2bc71b12a276c29677d7d75d53ea9029ef0275c4e696a06f2211e9567cfda73e715bd2c87ccbdbf4f030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902fb67b6a70de4eee8d1e326762e0ad59f43d5f766f60c52956739108d9b0eba54dcc8999d6d2b5fba9daafe053b037e7413e42c1aae490dce78e98073445c4bc350f619820396ab3f1b209de3c536b5603ba16daead1e48418f022d566f9909e0d090fd665b7dcfa7d5e0e9630378bcb493fe33d7a9b2f873a8a880519b7a74c42456b9da6a417572733054f872ea47a354b606900a7613d51e7dd915cd05cd840101",
"cfrag": "02893c77e7b41485871f6ca02117dac2346459f917800aad6eb0e981037b83d6ec029a8c5952ef3b0cc2e55f9f5b1aaef6ffa22f8eaf0c77d97da7940c4ef233590bd09a6da7a52ed332973b42faefeba0e7d9e0d44e94f837d2bc71b12a276c2967030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902a098d65f4778295f3e9efe917f0b4603a1a43d98e0ab2c0dcab4069b965be081020bf22eaf374403808df8901b9e2d57309643dbd516d230f6ff846f09d82eadb302fb67b6a70de4eee8d1e326762e0ad59f43d5f766f60c52956739108d9b0eba5403e3d9e48b1ae55e0aaf50c061b6b3cdaec7e837f6f7e8d008436f7f6336c338278682837ddd558ca0d3c8feedcab33d570977a1eee0bb437bf206ebb1a1305e70d090fd665b7dcfa7d5e0e9630378bcb493fe33d7a9b2f873a8a880519b7a74c42456b9da6a417572733054f872ea47a354b606900a7613d51e7dd915cd05cd84"
"kfrag": "4e27b679bb415c4fb50a84e342b7a6405c03b015199f8178d825be10c304976bcb91e3038cf7f69cf437fab1a1d55a7ae61710248d1cd45ce31055492c9f9d2c036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b024f2493f41095fec4b28b7dc3d9a91ce656ac98f23f35e4ff0e87d27e422bb445a01e102936f9c672c72adf3dd9a659875b93a8a4fa5ce35dc27fae52e3b7274c110a3cf0dfc988a3dfeda1621831686c00c7c164747a484f3f254ffd05a453f7b84772259002ac4555054edfc31a58a597ef47e8dcbca0860acc2668d646d5411ff0e2b9f5bfe651197a66927dbd57a973d7b18c1e1ffc0ad29c6ccb9c07698e0101",
"cfrag": "02e1d44d51eb0b901c9e7ae75012365fa614ac37352c39abcf5111503f1fce8a0a02265e4caa6bb349c83409ceb4d697e10755051426a60f64455d427dd2d13b4c754e27b679bb415c4fb50a84e342b7a6405c03b015199f8178d825be10c304976b036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02f70caa9664f731c6a4e510f366ec1cb30cf8f99bd90064f60e1150a97bdcf71402bcf647a3765a1bd64178900716f9a8c699d20a08fb0768227a377a0bf103874e024f2493f41095fec4b28b7dc3d9a91ce656ac98f23f35e4ff0e87d27e422bb4450221b9645b560128d07ff5ad6cabc8c960655563552eac678f237ffbdfa52031043e921e438182a1cb952ef26c3efc71457653345c3e646274556b8d4f588e3ed2b84772259002ac4555054edfc31a58a597ef47e8dcbca0860acc2668d646d5411ff0e2b9f5bfe651197a66927dbd57a973d7b18c1e1ffc0ad29c6ccb9c07698e"
},
{
"kfrag": "02a1acab079f4411cf834c46c241fec34018c326daac502ba14eeb371c0c03c4f4e80e3612215281ce4e903b786f8e94070b95dc95b679fca9216c77c6f4154c030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b9023ce8fae3f9a60fa8e7306a895363845569e2363a0a89b9d0cc31b5635ef21a64d2e9e52e8bcefb0718807491260613c27d8eade15f8e83a57c9564072826db304c27e89682c4aae130c9f68cdda96f9ffedc058f1091ab22d1d7e3c459867f7c25ccb9ab80b5247e143f65d1d88dba281909ee9ed25adec12753dae896599f2c6e75b016dc38852ffa154932d3340113dd928ace8312fa14c7b79b897ebe4b1b0101",
"cfrag": "03f5018f2c284f33fbd6522bc07d387f8a264dd9dc67bac08f2f4c4fc1aa36144802a02ea2cb3bb2f662149f090e1c174023d403dfae1435121dcde1e653057d477802a1acab079f4411cf834c46c241fec34018c326daac502ba14eeb371c0c03c4030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b9037e7de36143c98aa5b3c0de8822618417ce2266f720a4f1228e6406383e59206f031692e0e8eb278ae8a0190fb9817aff1e14522976889930c5e2a6d59650d62c39023ce8fae3f9a60fa8e7306a895363845569e2363a0a89b9d0cc31b5635ef21a6403acb07c8b5729ddbcfa4d2c4d0e7f0bde394ca67de579791a01c87c14e3e76f78a31142dafbd2bf57574238c2c063fd25d838bfa2bcb5dec6ecac6daf591d977c25ccb9ab80b5247e143f65d1d88dba281909ee9ed25adec12753dae896599f2c6e75b016dc38852ffa154932d3340113dd928ace8312fa14c7b79b897ebe4b1b"
"kfrag": "7a359c5e31c6bf94bfc09eaa7c199ccda576fdda37d74360d19ddf71930e9423ffb95215a64396ac14f860092c15a7079d58c725484016226a85967c55166602036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02417fb0a631dc12df3aa4a94c5f838bb2a08aee9c98efae3d5dec6f10d8addd579a3d0eedb2d7826fb6bb8a9fe9b17696ecffd03070afec2f12a315d1dc344470300b9d4641d4cb30760463639a8949444fe5fc08a44d4f36e15640d7945020e6f372b8fce1db831621f1dc7049c5d63140c95dd9ed48de402d09e0eb9a96afbd4a8e539d507cb863bbd5b4cf939271809e4850bbcfb5ca1ff3fef7c377f433490101",
"cfrag": "02b3090b199b3e6d2d179e349c924e934d697b76e1a1dccce61e4c7f463282c7fa037a7f8b1433f7826def664c0ce880fd4f696887e70e29717fa734fe48f07c5b5d7a359c5e31c6bf94bfc09eaa7c199ccda576fdda37d74360d19ddf71930e9423036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b03f1ecde0dec752cf8fbb3ff58adf5504b2f97faf3cf15696038335b7e91b0d11e037548274cdb2390bb55b4ee3c0b17b3691e293bb7ec6f4fa093cb567868954eda02417fb0a631dc12df3aa4a94c5f838bb2a08aee9c98efae3d5dec6f10d8addd5702369696156202061fce67ab68d0f037dca93bd18ad31161b31d80421d541fafad37608b9329e45b9fba642ff5aed153ee1813454febedcc1e92e978172afed57bf372b8fce1db831621f1dc7049c5d63140c95dd9ed48de402d09e0eb9a96afbd4a8e539d507cb863bbd5b4cf939271809e4850bbcfb5ca1ff3fef7c377f43349"
},
{
"kfrag": "820a23bbc8faaf629048a1885593b4d742fa7d3e00e5470ad3438a1f1068ec8c353feb6611b3cb9617ca072600a1a8ea446d106dccaa6e578b4335e2e773cd80030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902f6e27676f14e96f6720743b9ba35b42cf0bb7b22756096ee93e67832199644b8a08ca1adffbe0597c88a8e969f02ff89f0ca4e196d7556d0dd66073beeb9495508271e4045554f06fed20c9d3486af097397f4566472931aed24e834400cecc1fa067543d401f6f17b71db5289b7d015b10499699443651f5de9b95a277a13b40da65f88318611ca6c7a2f42927952ededcabcfdcd6fa7db6bd7a80e3185b1990101",
"cfrag": "0354e0b0005fe940620f9578c80a6bf98ea669511e4f4e9027c03f7b2df79d7382022c966e725a02c564ef2296200e76a34035e7f7cf098f21b05e9ece832cff5d66820a23bbc8faaf629048a1885593b4d742fa7d3e00e5470ad3438a1f1068ec8c030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902e3dc1bad27f8fd2089a0df84192aba0a363eae3ea1d038a30046dd30e5aa488803b7c8fcc6664f5c5e9b83f1f4125f8a7bdcc65897d9eea806af1eb96eb514cad702f6e27676f14e96f6720743b9ba35b42cf0bb7b22756096ee93e67832199644b803b905aac9770bddc4b4895056ef5e2cd8ac2f4ca6488eaf1cfc011102ce5b18b9c6be76b12535d8e683efe6b0708aa6655256f987a4dc4617542c667758752f7bfa067543d401f6f17b71db5289b7d015b10499699443651f5de9b95a277a13b40da65f88318611ca6c7a2f42927952ededcabcfdcd6fa7db6bd7a80e3185b199"
"kfrag": "df55683a69e4136205a61c895959d86eb64840bb2175d5d15e4491b27e6a38bc80dc89e8f1631175607e6c67a34a758020c74693337cf3714a6cf78d355da17a036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b03ab6ffe8768ecd246956362065ca48488183f96c3ee5957be7a7ce02f3ef9cb12bab3cf7756f986806106919c948a4b191bbf84df94503a2b0a81a5141cb9e1e17de0ee2599d0bbafe972bd9e567eece93c262fc634ed2690a1914abda632fac2ae3cc293a58554a55dbc50c0e111c6e9bb0208631833da5e66b1adb2aa1ecdd615c09098fba7af4b03763b846e1f5358a6bac27c36eadd6cd2c98fd58c277e0b0101",
"cfrag": "03a3e0b6b2fa9f634acac1d4ed682dbf0c08ba27889087854059d80d021797d7b403a64ced5bc32ad0cf5746eb5ab1ebdc12a1d1bbbd0f45d0fc90c3e4b56ba70546df55683a69e4136205a61c895959d86eb64840bb2175d5d15e4491b27e6a38bc036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02ef471b06988f07ce34c7bfa5825603eedbde4138c05296055cff54f6204d245a02119417e7aa9c207a71540abefb8de8e04c977db7d11a82e2f98a1ea3fff5519e03ab6ffe8768ecd246956362065ca48488183f96c3ee5957be7a7ce02f3ef9cb1202e8febd066a999b83b4441662636c6c978cb8789553914b5ed94c02d4784432d74e9fffcb5ce10b65d95624b23940415f0dbe29e174a6b73c78cb3d5d380d8882ae3cc293a58554a55dbc50c0e111c6e9bb0208631833da5e66b1adb2aa1ecdd615c09098fba7af4b03763b846e1f5358a6bac27c36eadd6cd2c98fd58c277e0b"
}
]
}

View File

@ -2,39 +2,39 @@
"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_pk": "0356b6aac8fa9688792e706b1bd01b72492bf72e2875ed0f9785ca4959b65825c3",
"delegating_pk": "02fa3e10bdb63a28cbaa067cd7d237bdcb51488a99e0f746b40d310eeca7449fa9",
"receiving_pk": "0204a16e82c22543485cbf970d7a414c49fd68b4c3991c0348541166099d1399c6",
"verifying_pk": "030b95b3f249297824b32d3391392d62a9aff32e8698fa78c7e8ce4a9d17071f56",
"delegating_pk": "02d67029bb92522059225d190038230c23466e28d132d48f714f9098168a562b8a",
"receiving_pk": "03b0d0243e8954b408047eee3b09b5ed132ccc25ec70e99fc74b6e9f54e5ecf9c7",
"vectors": [
{
"kfrag": "6b2153ae8d1230a2906a48ad60491eeac5a01d31d372b6825aaf8be0ea866c344527b38a87e7b3ca6434b12f972ed628161f5c125737c01a41eccabdbf0a988e030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902515dea317370e1dd7c266eb7da9a7b05904afa5c79f8461271803120ba74204bfc0e845cf4a3113983be943ff9546a43faf9fd8f642cdcacf50fd5c21b74d6b700faa61bfc15def03e432d0571733ad6f1b6b05c5dc6d6928828562b4ba0f597d90a2bab084b9561336f19328ea7d2a75e7d13e5618edf4caf9f3005729c8f507faee4e60bfe4e5328ce75882bd3392da634bdeb9f28ab1c9f89bfd4ef6617d30101"
"kfrag": "2565903141941fecb01fb92dfbdd66a0a1d4eb94d3226beb2f7adcbb8282ffd0b7934320225868d8f9ace7784fd3ae0c20a09c5a2b698fae0554d71b1f016670036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b026cb94f302809d19aacc81da19f2156db9c610498310b930d7787d8a2366dadd3d977c6befcff3088016d5d9050f4932cb4a9ce483dd7cf27e1f157f8d23f598248d5027a8961a09c874c82a8c479fbf074675790edff37e6927a7d4ea269e600685dc9469c87e6d9d469656b2f40b33e6d6813ec3519fc065a4ffc0eeb8abd324c1914451341cdb7abd7c5aa01adade220b2894be5a33caa9ee7d3b4637bdccf0101"
},
{
"kfrag": "8768f1dca034bc24115fd5656a920c92c008f52394a6cf249ba93fdc96e6f1532a33dc0a1fef2fd0c29563557de700140039aed86281bcd0102bc86f58c61b64030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b903edd9f0b0e20415caa9b13574ecdc89153db4a89796b725ee09c404544f81587acc74528da69e3e67a5cdf18e0c416430ef77bee30c803bc8e574b5b0fba415634b615e1348f81cf339f1a26fb27cec801ddb181d4384f6fbe082b4c5e830a49cf1e4bc404d3d078ab6d7447ee496cc5b23df92d2496f9abf709e89367572ec5a63f910b6f0de4ddd4155bd86d344567b1f23273bf282244e9712bccc857ee83f0101"
"kfrag": "ae85e679cf44b1877ff36e48c4965144724f17cc7605f53e50007aabbc2c7ab3871d04e6b5666b81a99ba0c6a70ba8675f2122a39eaec04a62c8496d5149ac9d036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02e3e7722bffcb6674987b0089f6b8ac0d6cb220d9661edb5ed9dca5fcd33d5bdb1e41b92c9a8e4346b2dd1072389e4ce36a6230eecb59b7e0e9d84f35bf14f0f23014a1263e17d07a94c5d9c248c692686c745df3c5d11566b9ca17ec62e59a5265749ef2701a58483bd106be985c3e4a03750e3c0c21424cf7f59682224c4f6e29c242904ade5ac377974eaa662b6ed6eed13fd30509b9cb332b4fa89043a2a70101"
},
{
"kfrag": "e991070d6e12a0bf81686d4b845253935dc3d73c5908ba80d12e29fd8b0a9a2b085cf9d3da3f2e3bf431e1792545f4535c0a42ba80eaa42b0ef8991615bea688030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902b75bba5e91eece49b2e86e1f2fe973c3558a4a0f4e053f7ffd64c078f43db6b3bf28a4a29600909a4a5818b00ea826a6085939457a864247822b51acf510bfcf45cb3cf339e777d81bab6aa72eab27a20bf794509106d46055189c27dd33ea68dc81ac6be6b3175282e35e70ce02083dda1f6f639757cac1bbd6c47531c170e35573622a959251beb2c3a64cfd45dd9d92a542adee53adfeb209f39fbe6552cc0101"
"kfrag": "0bb747aeafa005ceb7be0d1f7fac93094150c5d1c4a08b7705dfe98d38a901ddc7eb5aad9d622148f2c229f53d46b8a17dab61b37eb19bdd6c062fa81d725c93036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b038ab4abc7c62834517b7a296199e43c62da3dfa6c4ecadb4a3aa7aac5f4d9f301cdaacf4115acea35edd9858ee8a04a05cbcf346374ca4a3daa54da89754e018222f869edbd7224f49fd705b53cd11af90b078d77b58b272e1e39a10be6a9966db3d3ba5ba267c360b96cf2aaeb28e87f87f76f7216af4e1594b67f71e8ba195f4c305d98fe469e738caf771745f3865ebf7fd114efc09f8b69383bae8020ae2f0101"
},
{
"kfrag": "2d6047c7edb76fca8627b9ee5632349b152048330ae1d6f82ab16a54671ac45f762f02e29de334196c59d39ef74704f54e80046cb3427bb4d041e30e11518a84030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902dbace43cc9ecc66d9bff1c3fbd45dccfc99b1b7bacd9d6b509fdbe6bf55e6629f9f08c487e6f6915f641bbb1d106d03ee498e685b8c14df5ff1f94daf2f886c458944335210a5ab1724a7e9a776f8e18b0afe9b11bc88eb0f584599b39d1910be88def83b8575a2383918adb6761738c647d30532051641ef0dac6bb0603ab5e5a08b3afe9e081e25476fda4d22365bbb6a3588943ff2cf66f5ad61b34d5ac350101"
"kfrag": "4ace898ce8231afe709556f0816b7c3b18a9aaa50fd6afe4596cc32b5cad26a68634f36bf1374f4a915477f9cdb0b8ae2ad6d4b2fc149c693a2cef1a248452c5036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b027c2de1ca923a4f1c7783d42dd0d145efeb1fb8b352168a255ec4661a7ad5532b9653705171ebc24147bb8c9f97500b25f2a3a5304e3d8dfc91d2a1f8dc0d4a5e29044bc078fbe2d8c9b6e500a70af07fbce661f4ecb86cdb2c847b11c136782100962b6d129d9cdb3fa930980c8fe7326fc0897e5a40cdf01f2984fa017c19fb399a0157286cd368653d27522d8775557009377051c9b56b69b014d051ae8b1a0101"
},
{
"kfrag": "c3049b99f379bdbefb22444966d99431f61491960a14dfc21c9f27ae5f3337115997fbac2396819888a1faae034830fb8d9aafb932f4e1386fb3d99e3b3c72cc030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902da00ad302878cad4175c376494c3009c70c3fab13d527c641c692f5e91cae7e221b02df022655636b35c1b3fda4895ce2960a6832bf567c18b1d1f8329dec0d44da586ada4c75b3c65e08a472dc396503aa82e43f09917faea807de021abb295984a322b6320a7b7cefaef771c6d6949c9889d5ecf7e69ecc860b7b5c6fca6c541a49578ff0039dc567569a75e22393f7cbdb944ed82ee265a9c2f590f00fea50101"
"kfrag": "ccc346110f4ab3fa3b0aeca1630e077537ac5e2c74f31a6d09de1a74e5db4f044a1e816cd104fdfabc92bbb40c6f9361071260c13a14b866097749062af79d83036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b03c18e0774891c9d7bb8502e35a2dc2aabeb461f4f0cf43a78a75786869007d60895a31ea32286ff5516b3510559e1e7e3bbbebcedd1c7540b002764e6901816244a073e19a1d9c5e460fbec5dbd33717e9958c89f6adab0484cbd40d1163b8ea71a7208d0de602d4d12c024c0974568fc2aaf23aafb1405157cbcf97738fc9dc0076b9f77d53e20bab18afba1ef40232b55335dbf33ccc365df277fe1a8ecaa530101"
},
{
"kfrag": "09a6958bda88d2914b755578112d458990c16085fa1ffcc2f6224f4337569112b28503b921304a41973acbd0a38ea915c4ad142e7fe6c673686a7f8346c88b9b030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b903c7d2082bc33f2300f03d81ca4f59efcb2677306dd05e07ef34203d148a21e0a69a02e92d859c7a8ab99569746736481e02796d232ff7d424afd0da8f80537e84178538813dadd770b9541d8a128e7a352e8321f9ec612383de6fd1a9358f9859c716f0c2736f9ab2d85edae8dfb4c3e238708405a59e19ba809c65730d5c70e13958cb123e0c4449884fb9b38edf55225d05f4faa366d6d42fb2185606c7a72c0101"
"kfrag": "3166d84565cc545cd994957f2aee5009edf3611b5b348e6d39eb27c02198f3cf722cd82f01fd45953cc999741fedf34ea363a229b4414340dbacd0a3fbefb13c036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02e307917315eab38d97ba09a5fda8c278b4678ad9c8486b17b79739fdd2c9b088ff59ee77f0f2a5455e4d31439fe3652a284839c2c0fd1e989b5f80179501873b13b84ac39b7f9f0de069eedfa3c79d4781dfcceba1c344e0f003f4053ba938465b0e56d5066adea34ff1365e77358dc2a44a319d9a0a7edc283d05790cf9a8152bfab400aefd27bd41374b761de99974a94c4d1076d78269cadb4011cb06b1180101"
},
{
"kfrag": "863e025c29c0a99f5e92ffa320044a46a831bc04ce583171bb64d95ee3fd243ae22e18dc31f7bba7260f82784b35bef0f2d885376af0846729b5d46c479fcc36030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b9032ae7934328ba117a7f255c085953eb142b18c9710bb2cb47d2432e20e16048acc303fa98ee493b61827fb93cf07d28b17cf5a4afa9ce2336578d9d2a28fb083e30463809a026e1444980466f81f47513c9da2b29cabba6ed6f2289700fb977ea39b66259049a3c10da3fa1fdb09e7e3f38e22d86aed044fec98e1311e119517974f03051f083ba7dfe7419b11e2a10f9860ca87b1527fee0aa6682946c3b66560101"
"kfrag": "71c8673926b3df970da991a3d53cd6cff27963ac7d88ad2921e84ae47e8f3c930112609fb5f87ef70ebdbdec2d9cc58fd1f171bea4b93fb4a57de058666fdcc5036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b033c83e00f04744ed4ac3a6cadc64568dfe526e579f56f5c26e5749a0fe795b0339700c611b793210edfdc823f5332ed4640f6cf09e419336f3e13b71b29de065f7cd643768ebea6137a612bfb8328cb0868ac6e001e9bf8270817446b15027a1d6e6b066214a61c379b54d71b608774172181d09ff6b14ab43dae3ad68fb18abe2fad7b818fe6bee1c27158d5bc3c85c114611c43bfe52e4f6969b9a53c7db1240101"
},
{
"kfrag": "d09a6da7a52ed332973b42faefeba0e7d9e0d44e94f837d2bc71b12a276c29677d7d75d53ea9029ef0275c4e696a06f2211e9567cfda73e715bd2c87ccbdbf4f030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902fb67b6a70de4eee8d1e326762e0ad59f43d5f766f60c52956739108d9b0eba54dcc8999d6d2b5fba9daafe053b037e7413e42c1aae490dce78e98073445c4bc350f619820396ab3f1b209de3c536b5603ba16daead1e48418f022d566f9909e0d090fd665b7dcfa7d5e0e9630378bcb493fe33d7a9b2f873a8a880519b7a74c42456b9da6a417572733054f872ea47a354b606900a7613d51e7dd915cd05cd840101"
"kfrag": "4e27b679bb415c4fb50a84e342b7a6405c03b015199f8178d825be10c304976bcb91e3038cf7f69cf437fab1a1d55a7ae61710248d1cd45ce31055492c9f9d2c036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b024f2493f41095fec4b28b7dc3d9a91ce656ac98f23f35e4ff0e87d27e422bb445a01e102936f9c672c72adf3dd9a659875b93a8a4fa5ce35dc27fae52e3b7274c110a3cf0dfc988a3dfeda1621831686c00c7c164747a484f3f254ffd05a453f7b84772259002ac4555054edfc31a58a597ef47e8dcbca0860acc2668d646d5411ff0e2b9f5bfe651197a66927dbd57a973d7b18c1e1ffc0ad29c6ccb9c07698e0101"
},
{
"kfrag": "02a1acab079f4411cf834c46c241fec34018c326daac502ba14eeb371c0c03c4f4e80e3612215281ce4e903b786f8e94070b95dc95b679fca9216c77c6f4154c030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b9023ce8fae3f9a60fa8e7306a895363845569e2363a0a89b9d0cc31b5635ef21a64d2e9e52e8bcefb0718807491260613c27d8eade15f8e83a57c9564072826db304c27e89682c4aae130c9f68cdda96f9ffedc058f1091ab22d1d7e3c459867f7c25ccb9ab80b5247e143f65d1d88dba281909ee9ed25adec12753dae896599f2c6e75b016dc38852ffa154932d3340113dd928ace8312fa14c7b79b897ebe4b1b0101"
"kfrag": "7a359c5e31c6bf94bfc09eaa7c199ccda576fdda37d74360d19ddf71930e9423ffb95215a64396ac14f860092c15a7079d58c725484016226a85967c55166602036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b02417fb0a631dc12df3aa4a94c5f838bb2a08aee9c98efae3d5dec6f10d8addd579a3d0eedb2d7826fb6bb8a9fe9b17696ecffd03070afec2f12a315d1dc344470300b9d4641d4cb30760463639a8949444fe5fc08a44d4f36e15640d7945020e6f372b8fce1db831621f1dc7049c5d63140c95dd9ed48de402d09e0eb9a96afbd4a8e539d507cb863bbd5b4cf939271809e4850bbcfb5ca1ff3fef7c377f433490101"
},
{
"kfrag": "820a23bbc8faaf629048a1885593b4d742fa7d3e00e5470ad3438a1f1068ec8c353feb6611b3cb9617ca072600a1a8ea446d106dccaa6e578b4335e2e773cd80030826e6c61183353be7532e1fc1365a04f4646d2a23e7faf88fcdf274a4a1c7b902f6e27676f14e96f6720743b9ba35b42cf0bb7b22756096ee93e67832199644b8a08ca1adffbe0597c88a8e969f02ff89f0ca4e196d7556d0dd66073beeb9495508271e4045554f06fed20c9d3486af097397f4566472931aed24e834400cecc1fa067543d401f6f17b71db5289b7d015b10499699443651f5de9b95a277a13b40da65f88318611ca6c7a2f42927952ededcabcfdcd6fa7db6bd7a80e3185b1990101"
"kfrag": "df55683a69e4136205a61c895959d86eb64840bb2175d5d15e4491b27e6a38bc80dc89e8f1631175607e6c67a34a758020c74693337cf3714a6cf78d355da17a036523005d1234abcd44d36704620cfcff444edac7a64dfc256281966351a7803b03ab6ffe8768ecd246956362065ca48488183f96c3ee5957be7a7ce02f3ef9cb12bab3cf7756f986806106919c948a4b191bbf84df94503a2b0a81a5141cb9e1e17de0ee2599d0bbafe972bd9e567eece93c262fc634ed2690a1914abda632fac2ae3cc293a58554a55dbc50c0e111c6e9bb0208631833da5e66b1adb2aa1ecdd615c09098fba7af4b03763b846e1f5358a6bac27c36eadd6cd2c98fd58c277e0b0101"
}
]
}

View File

@ -1,37 +1,37 @@
{
"name": "Test vectors for CurvePoint operations",
"params": "default",
"first CurvePoint operand": "03905468108f317168c1faf56e8518752219f214633e9cc0f46c3d6714717a32fa",
"second CurvePoint operand": "036a4356280f51bbf036d83ce45772f8a842958e0fcfa914b0a965360d933a815a",
"CurveScalar operand": "7a5b030ff619edf55dbb7a96d93e9de0bf932e86af1acb88bac0f85cb1ff4685",
"first CurvePoint operand": "03945c237f3b4cab9638d89bba3a098d37a8f4c981788969c2846e988748315bfd",
"second CurvePoint operand": "03d495c93def84d2b7c709d5896d64339129a28db5a6a2cd4c686c895da538228e",
"CurveScalar operand": "0a686fbc44fdc4713b7901c88fe416cc9b187501e671a4c70781742f3bcef1ec",
"vectors": [
{
"operation": "Addition",
"result": "02e038aabf01dc7c69a8d1fde01371e0dd25a8c54fa1d034c70bea065b9c234608"
"result": "02338b0a976b3701353558685966d2b166174dbce6d697d2e50069833a06157bf9"
},
{
"operation": "Subtraction",
"result": "02cab1f05dbf7df3970a0055473cd014c95a391dbfb24a1d16a89c98a1d0d3c0d9"
"result": "02864a1ee4df38dffb51940819fca1a89624521ed14b8ec873e4b701fa6d8c1f5b"
},
{
"operation": "Multiplication",
"result": "0311fff5d623ed6d46c8daa4357e375d0db70a9064fc2049e00a01bf1c5fb67ca1"
"result": "03e7882ab867f7006915d16738ef9adebc2a1946fea829478e7e444e6113ecf1f1"
},
{
"operation": "Inversion",
"result": "02905468108f317168c1faf56e8518752219f214633e9cc0f46c3d6714717a32fa"
"result": "02945c237f3b4cab9638d89bba3a098d37a8f4c981788969c2846e988748315bfd"
},
{
"operation": "To_affine.X",
"result": "905468108f317168c1faf56e8518752219f214633e9cc0f46c3d6714717a32fa"
"result": "945c237f3b4cab9638d89bba3a098d37a8f4c981788969c2846e988748315bfd"
},
{
"operation": "To_affine.Y",
"result": "be910857e610dc68badc5260f2c6df03994250b5d1a9d80f64026790d7697da5"
"result": "fd0576e382f8f0ce0849c72789c3bd2fe2ee453efc606ff8815108e734e088ef"
},
{
"operation": "kdf",
"result": "0fb52d077f71aa49ae87012b718ac186d07a7ec3878558f110a12add5afaf9ee"
"result": "26f9fa1e3d2bd1fe3b14ea0a6e1276a214b1f5c59ca01cb3b74a7cb74e327f1c"
}
]
}

View File

@ -24,69 +24,69 @@
"input": [
{
"class": "CurvePoint",
"bytes": "029826b0595c6fcf4e85a6ef01b18442578e65feca6d70075514b49bdfc4bd0cda"
"bytes": "02558f1de19a58e73a94e8fbbc6d3b1de2d312d90746ea74cb29f046943bf57871"
}
],
"output": "d8754b9193c42118c4d81c4d3f19321f5d2a5ade39576334806a8f37d22741a1"
"output": "5dfe037b1041c4f4d89bed6305061d5d0f7f996f51cab49af958c9e635c47792"
},
{
"input": [
{
"class": "CurveScalar",
"bytes": "0f2985b7084e0c18b0aeeb1c7fec28cbf146058a0693580c110fd632368cacd1"
"bytes": "7a44f4f0e25258ed69f205b3770070c557d288c69a3cc453b2a42205d8c1c196"
}
],
"output": "348a38cd3062f4ea15a51fb8f56bbb83e404cc3f11847d104988ac4ab2197a71"
"output": "93134c97fd051748346bf8ee6dc9f3dd920effc2faa81f7c243d0565b10ebe5e"
},
{
"input": [
{
"class": "CurvePoint",
"bytes": "029826b0595c6fcf4e85a6ef01b18442578e65feca6d70075514b49bdfc4bd0cda"
"bytes": "02558f1de19a58e73a94e8fbbc6d3b1de2d312d90746ea74cb29f046943bf57871"
},
{
"class": "CurveScalar",
"bytes": "0f2985b7084e0c18b0aeeb1c7fec28cbf146058a0693580c110fd632368cacd1"
"bytes": "7a44f4f0e25258ed69f205b3770070c557d288c69a3cc453b2a42205d8c1c196"
}
],
"output": "c87108632be4386c4d6572ba8be6c5910cae86163f08a6911ade9a3e07d3e50b"
"output": "3cd3272ccea4e738abe18c100656a6ed2ba30e6e5723c1205641c8ba72aef03c"
},
{
"input": [
{
"class": "CurvePoint",
"bytes": "029826b0595c6fcf4e85a6ef01b18442578e65feca6d70075514b49bdfc4bd0cda"
"bytes": "02558f1de19a58e73a94e8fbbc6d3b1de2d312d90746ea74cb29f046943bf57871"
},
{
"class": "CurvePoint",
"bytes": "022c521249ed649e35e2607313d21633a64cf7ba7a0b0eb10da102cbdf30a39b9e"
"bytes": "025e6a08eb9376adfea3a92e05fea213c493fe051461fdf5639a7108e8687eeacf"
},
{
"class": "CurvePoint",
"bytes": "03692496ee3b4cb503d7d8f52e2e9683ed7b38856857cf95c5754d9333fdb94728"
"bytes": "030d7ea7752848f5af2aa01bde8b45e180089fc7cdbc60b59235207a6527773d73"
},
{
"class": "CurvePoint",
"bytes": "031b8b7b6be11ab59918c5297f533096b795fb769166cca3e217a378f00dc14fb3"
"bytes": "02906780e9484aec2102a01a157f10ced5aec952cd00631d94d5ea2edfa9b68083"
},
{
"class": "CurvePoint",
"bytes": "020926d5571798f392acc25cb7523c7244570bb503ff7453baac200805f6bdb11c"
"bytes": "03fcfdb46bf83a68e0d674e7d5b7c0365c8fa05dd418f2ba1a4aea2abcbcd12a19"
},
{
"class": "CurvePoint",
"bytes": "02f305433a902bf070044950673a59c52bd00420146eab81eed8640da2c25c3139"
"bytes": "02d45ec4ea9bf9d0acfba0422c6d4cfb087bd2f0084127eb90debdd94e391927f7"
},
{
"class": "CurvePoint",
"bytes": "02515dea317370e1dd7c266eb7da9a7b05904afa5c79f8461271803120ba74204b"
"bytes": "026cb94f302809d19aacc81da19f2156db9c610498310b930d7787d8a2366dadd3"
},
{
"class": "CurvePoint",
"bytes": "034c9429b21772cd266882614f298912c18254c0ba93f9a6df1aedc10dbad13009"
"bytes": "03711b30de53e38ba240d34e796e09b8eabe11c385a02a6f87eb8512e1c3fff690"
}
],
"output": "51a250014c68f3faea29782d201855d43c0ee96fdadaacceee5e675dacd491c4"
"output": "fb39d851bd5f661406a4f2101b18023aadba39b966f605402179d95c07696f16"
}
]
}

View File

@ -1,24 +1,24 @@
{
"name": "Test vectors for CurveScalar operations",
"params": "default",
"first operand": "7a5b030ff619edf55dbb7a96d93e9de0bf932e86af1acb88bac0f85cb1ff4685",
"second operand": "698b307e4443a1e6fa53acc85ff321c42c2829c56a6469e0fa2a79ba73fa3904",
"first operand": "0a686fbc44fdc4713b7901c88fe416cc9b187501e671a4c70781742f3bcef1ec",
"second operand": "6af63df254cc9dd5728e098ffe9ad3cc1e0252b2e3562522907cab1a41656895",
"vectors": [
{
"operation": "Addition",
"result": "e3e6338e3a5d8fdc580f275f3931bfa4ebbb584c197f3569b4eb721725f97f89"
"result": "755eadae99ca6246ae070b588e7eea98b91ac7b4c9c7c9e997fe1f497d345a81"
},
{
"operation": "Subtraction",
"result": "10cfd291b1d64c0e6367cdce794b7c1c936b04c144b661a7c0967ea23e050d81"
"result": "9f7231c9f031269bc8eaf838914942ff37c4ff35b2641fe036d727a1ca9fca98"
},
{
"operation": "Multiplication",
"result": "fa5e067f4d13a27ba6eb93bc78c651415dfef933fd1f9004e65bd54cc570c119"
"result": "a0bc896003f0e4feca2176f978b2cfa99ca73af19bf38782064bc137d9f00169"
},
{
"operation": "Inverse",
"result": "e5974405f4da2448eef97c9d8f73075f2cf7a6849b53a71bcbf5d9474cf1f0e9"
"result": "e84f604508a66bfa6df07529238588040aee19b38c68330c031715f478426873"
}
]
}