blob: d69bb3cb3f2ec1db6a506a71a0c3b952056312a1 [file] [log] [blame]
# Imported from Wycheproof's hkdf_sha256_test.json.
# This file is generated by convert_wycheproof.go. Do not edit by hand.
#
# Algorithm: HKDF-SHA-256
# Generator version: 0.8rc17
[keySize = 176]
# tcId = 1
# RFC 5869
ikm = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
info = f0f1f2f3f4f5f6f7f8f9
okm = 3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865
result = valid
salt = 000102030405060708090a0b0c
size = 42
# tcId = 2
# RFC 5869
ikm = 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
info =
okm = 8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8
result = valid
salt =
size = 42
flags = EmptySalt
[keySize = 640]
# tcId = 3
# RFC 5869
ikm = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f
info = b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
okm = b11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87
result = valid
salt = 606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf
size = 82
[keySize = 128]
# tcId = 4
ikm = 60ab7f45b0ad534683b3a6c020d4f775
info =
okm = ae5dbce80bbab5bca5b3c6d3b7e6548fb2c23b2f
result = valid
salt =
size = 20
flags = EmptySalt
# tcId = 5
ikm = e3db76e02278cbd2adbcb4555803da11
info =
okm = 207ebfa8798c6d8d5260d797fdb9c9969173442186d9e932b18fb589fee2fd00ca4ab49d0402aba2c1b0
result = valid
salt =
size = 42
flags = EmptySalt
# tcId = 6
ikm = d4dcb92a769f57c8bab8a420ee0aa351
info =
okm = d875a072bb18fd7717ceaac8829178884b8e51a926849210caf7f42574109f218596e27b92041155d2012917c20e09539bf52016d78aac0b53a51d9cc21e3b15
result = valid
salt =
size = 64
flags = EmptySalt
# tcId = 7
ikm = 2d43e54bf0c94c9cbff4300f4aa69ab8
info = d674da3bb47d5c7e38b501e5251d9348af601c44
okm = 3d36966f29c0561b4e50f9325c7c98292b6d28bc
result = valid
salt =
size = 20
flags = EmptySalt
# tcId = 8
ikm = 4055536896c406d5fe14a6cd6b999bff
info = 2094768a8816f7df070d6e08b7ad93755dc9024b
okm = b10173a66a08fffa6cf7c1057744eba73cbbde83a3d8674bb0bc1a46d80792a9d5a0d2ca72510e02a6e4
result = valid
salt =
size = 42
flags = EmptySalt
# tcId = 9
ikm = 5b01b2da3166f217cdd68de8af60078f
info = 6884cfa7ffe8f27bf4ebc6e46a7e01488c79243a
okm = 7a8e83577d8aeb830d772d8e42fbd105e54ee3f38da12388030580c8b8935f4a2be01c5092f28d5b1bb757bec0a527250eba2549e770d21224e1cdaa5bb76a98
result = valid
salt =
size = 64
flags = EmptySalt
# tcId = 10
ikm = 467403c2ec02a235bf730ff37e8d8ff3
info =
okm = 4b1c4f54615e31f713f2364bf194d3f14f68e704
result = valid
salt = 41f0f173d307d40436c25856cf559f96
size = 20
# tcId = 11
ikm = 3352f942aa93071da6d39cc5ed8dc460
info =
okm = a6823c9940138becba3f9baac05ec119a2715a018f51f4c0ce2add465db8635a6453efdf7c161c2d172a
result = valid
salt = 57a0db708b25a51afc4271803aa35204
size = 42
# tcId = 12
ikm = 08867e76311126089356623ba5381e73
info =
okm = ce632c353328d59ec519023d08652a97252f2c8f3f29104237fe35261c82eed7e0df52514a157a00fd82d7e46ebf9acc23512e1cda7d5b65b92f692965943e8d
result = valid
salt = 0c164c443edcdfaedb1ab150f047951f
size = 64
# tcId = 13
ikm = c55c41d69d2424a520414e3662aa7303
info = 3fdf20538063b76901d61bbf9b72b0c18749e00e
okm = 7fce7c021469c8e016f7a9eee111ad71df7c4fdf
result = valid
salt = fea9bfc92b74337e43a201a2dc199e27
size = 20
# tcId = 14
ikm = 5d3db20e8238a90b62a600fa57fdb318
info = 2bc5f39032b6fc87da69ba8711ce735b169646fd
okm = d3e6274c91a88821367b1853b852a96f3ec12ed466769fdb88e14622165d5878cd736fecc93b9e8633e0
result = valid
salt = 1d6f3b38a1e607b5e6bcd4af1800a9d3
size = 42
# tcId = 15
ikm = 8677dc79233ef3480777c4c601ef4f0b
info = a38f634d947819a9bfa792174b42baa20c9fce15
okm = 17c2b03dc593fe9bb94f5b9bf646ff15749e82cd4bf569f7806275c241c83e1fe0615663a628ecfd7c1b700215a450f9f42529800424c4707d54488150299f11
result = valid
salt = ad88db718244e2cb60e35f874d7ad81f
size = 64
# tcId = 16
ikm = 0f602703d37943e0253bed3da331aff4
info =
okm = ff23874bcf844f88f2fb57c0c3a4e3a7a498965c
result = valid
salt = ebdc8510499f69b2e188daab77cd819cccb95f276f46e6b2be11cbe72700
size = 20
# tcId = 17
ikm = 9fe65737574c5c7aa67646adf8230ba8
info =
okm = 19d4b9e3bf37ca1affeb953ac3a593882b2dd0002409be198718b376253f1e8522af9f276152739e2d5c
result = valid
salt = 73a34648c152443586236abcb46a090ce55ef6c7f282ffce6342d694650a
size = 42
# tcId = 18
ikm = e8f2b1c3e6a6c3d5ee0a20dd47aafa78
info =
okm = d623e645a84b5ed4a210b9457aad79c9c3171f306bdb8bc9b60496a99e640cdef1cfb56ee336d216aa20122ee33b91c7aac3e5e7d56d87dbed3a446cd5224208
result = valid
salt = 3f5e162de91e0782cd189f3b7778cdc2ce6bfe9d3fe841cd3c70475d7b3c
size = 64
# tcId = 19
ikm = a679521cdb56aafc5a4b76db0431a4dd
info = 44ec41ab4f4e64f4a36e5e30c9f0dc1d77ae4974
okm = b75be6d7fdb9a7c58514c81e6596973058e8198e
result = valid
salt = 123033b1ddaead83a4b9cfef8a660bd8e00fde01e67c35656c6d7607d456
size = 20
# tcId = 20
ikm = 49bf155ca102026f2a217ea1bc9843ac
info = 851bda4faa8f7add2a3cbf0acf9c2786f8f955b2
okm = afcec12e5ba6481f144f6e6bfeab0a054b30f2710aeedea90d4be9c790c8e05e601fcb208afafc6cb991
result = valid
salt = 76776e3b4d75f8f43dce4bded71f3b1ae6bcb012d9c0d59f78248b9427b8
size = 42
# tcId = 21
ikm = 6cf725e939e8824d4392233eeac75d30
info = 495425d9727fee2e2b7e78899868c1c3e7735e1d
okm = e70ba99926c4edd98bf001ed3c8a1557987449a6fbe58360e96c2d1a3c1f2eac7806fa406ec64c4dc2a743129f97ca449380ff495462d1b1858af83d40fb31ff
result = valid
salt = 1e72f24b05a91a0093f34306ffced79e7003055b0833c6d0f27a4f33a1bd
size = 64
# tcId = 22
ikm = a319ff7b5ba9b14ac72b681cecf0f742
info =
okm = 31e7b971f165eb923b499460c94937477fd61cc4e96c27fa2abb552accceef42aa3a35637bce32d996e9
result = valid
salt = d7e3bc6daed343ce77ef793e15a8246e4bfcbaf83d2ac956d0661d1df7262b2e7311623dfe4152caddbfda8fa8ed7a82656ec00b72c5adf7c9d388e5b3bc8d24
size = 42
# tcId = 23
ikm = 34bae5a158c1678aa76a744417a70d7a
info = 87ec30aa53acfc3d09ccc1d57d654fdbce403cd4
okm = b80f7525a93a3f630465033ac53f1ace76caf7dcae3bc7374ffdc6d1be60179e1adb9aa8def2d47823e8
result = valid
salt = 1532075f363e061133780ac959bf653c7687d181b9431215d6f62dd2f1ec3019d61c50fa82c70ae25e624c849a276b0c57d7c02a4d753fe84a1a6621e9a5ef01
size = 42
# tcId = 24
# maximal output size
ikm = 195b2a73c91f69140910664d79ee7f3c
info = 5b3afef0895fee8a
okm = ba560d02f6661eb3d0bf3a17438343b231d2757e4c8ac2d0f57de4ae267f3b3a40919c4dde2ad7d11ff636e25e4fdc21db7c2b2f20fa1ce7bd6acd2d534f1f660e0487703adde77a0f72c8e3f2b9202c94527e4bb9adf53a0b897a09abc0dddb7f94e6d6ac00d8eb5233f0b88921c8f4b97a1ebd8dfc32ac5cd089bf07720bec56f85dafe527cdbbeffeb168c8a7867fe35ff6fb57a969189d3c17b230db2d213a6860b5cb678fdc913aef231601d131588f021799625c080013a3547cdca49599368b5a483d830fe182bf4639bf830bdba4e301643c20c09434766dc554d7d4effc7165933ae420b136623ca1314383661593fe5aedddabdb44f77afa633149c832fbefd1c884d2717d61156a1916698ecb30aa2f8a43ef7238eb11e4cb1acc7e98a83f66eb8eb4387a7d6cd26249338054d9e5328d97506ecf06e9bf8923756f2f586dd8f17faf515c75d140f502fd162eb074c250b0c4430b659ee49c0dc2176d60ae2e4818b7089c1ba58cf1d80075ac3446fc8f14ad8a9fe26fc677c398bcafb401dd84755e7e550d20684650ca590376b140942410173149fbd9cbe4781bf81b3a3a2e04130e0b392d747f16aa54b323a8dada9fc690e05f75d9108d49ea10015c90505c2d500ceee985354b28fb74bf5f45c3c412ef281c372f4ee2f8df2ddbe889a9cd541326cc2528728159019bdd4925dce7d8cb6c6672298e24cc8760e8a33a5ec9dfe84725dbaba05a8215b30f0ea143d53706d99351f31fc6632f6a28b57baad13bb6768cf52bafd820ad0b2949b789bb4e4d449c8cf6e6c1543c2882bc225f94f70ca6d25855019f29f9d3ce5746ae88a12b70aca25cc16c7ad19769d63ad0de5e0207c994709755c2816febbdc3c381bcd90c5252139bfe45dc86d0ccafa5d437cb3c2c0cb74c59a1f67a206fb0aafc7282aafc7efc5de534c76425c699dff283cd10d7313f342ff79dca06a12dd44f168fe857d41658015e74f40c76f6765b57bc5827082b6ca55e57221428e812b74df3ff82d18678b619f1ac727751fc4b27f1dfcff461ad30bb17e2774288ec3e337a7c8438877f8006d8024c7a62a02d5ba2f1eb302396de86bccff719dfa721abc5be82373a5e62b69f2fd02cef4cde6e66e98c891221f0de23b6223470d34e357efac653c943ae7ce48718a549ce85a0c5f53b966e0ae1495efafa6f70bfd73e915b67cf9439029153161459ed07c7d3fd54cd66a89d366ff9a86f5595044060b612f2ec65e9f2216e30489545c706d79d23abc7ca26aa486480047a92ac01164c3b97fbf253b722c4545ab83741ff483d8ad28b54c072f0ea72119f2807ef71994d18e9015a6cd813c525ea838d3a437640e4f99273369cde21dd580b8e08865603ca87d9d28e1244e93e560f3fe4ce219b55f8f6753e87e59dbf51d89cd4b8aea2f45cfc1be2863b108920a5c380fc1f07b174c72a3ce791bf0799089a571a6dbc0adc4ea668fd8f6e4a8b5a92363d00f92ece0ccbffdebde591779210b34b329f943c426788661b58d637a37094744d7ff967bb27a9d4fbbf00f3a1c2c49e50c14b55e56224d98dbe7bc1e7612d1fe956f048f831ce663b85778478a8572a63ffbfc04e9db2bb307c655707548e48f2e91b86cedb00877e9fd7fea3f07341f4ac342ed020e2ac993209f7a721ae8ca4b9273790f571de9f9d22ab89572fc9a9743efe5a6accc921be33327ca7fe3d3b1f980919f2f62a58475a570ac9f08d39c6e0f9599bb8ebc2101cd9f60da8331dab6dfa3e65a6fecd113f8d28fb87d3750a7019527b388f5eac13b49640554f031e240f52e202e55938b80471560437be12619e1bbf98f3ae350f5a03722e811693285b4774505fc36ea01a97faa35ecc30fcfa8eab0fbf661293bf79877014c68cf582aad70e5c212b18588a6ef3d75202bc4a02f86c62f99a97fb0ffd980f2d7f2fbe7f1eec22c6bbbe2685b4c1693b0429a5069ee387cef60bf0cbf2fd81263085dfb22f404e09284f075d782dc3cdbc24cf242e6a4c7ef6dd65f0269c5a9b49baa1bc0526cd72ee78db3621fa294ee8b7d6cb15f0edf6d9e62b743f25c38f317d100b706baebcffc11396d5400af4657a267dedd3bcfd96527f03be8d733195c0c47d7dcc97e8c8f639c7c972338dc88861f023b5621b6b55549b47aac9630b19884b072aa58fe1a975e86fbf8482821147597914b28ea5a84fcaff9d8ad021282df1a06feae1d813f4094680c6709d63a3907e98a67a5c7a9232e7d4c01bceda04bec5a5dd8e29753af74521d01e346c29955bde6112e131948582695980b71a777e2c42c37c0cec771b1de9f737cfe5301b487e9bfcf35d2750940de6fbaaf00b9897e3fa99f6c5c79e5d27acd055212e0dea3162b27e2b1a400eabf4e8b78077381fe8bba84c8732f469972a0122b8009138ea77592f68717d66bb8ffb3e9bcf4f77a2b472a393f5c6d7758afa9f6adb1a939da7164c22fda33f290bb15fa17ffb87b445931248c9a67edc3e116bbb75fc9439ba7b451e06a589c1cf506a04c2d1c889ed5b9af2002171055580b9555b58ce083a9f5b9f05d440e7fda4eb9a62df33ce6ecd2399ad2725f1eda7568e313f3dfd85d240924ac987d9273f14259170ab30d7363929e3f22dd2e3976b5592e73ba3b4a2f58c4f490affca796ada73db38bdf8b56211038b22242dac86910c132496e9cd1b7fe0e6daeef0c44e31df2c7424d5a8cca7fd812b5b90fe1566e7558e22c35080a73a12c0057e024c60bbf849c9bf20b5acebf48acb4d513ebe9436fa6c6f2c5334504162e6a0e4297c814408483ef02a21b9bdcddb91e73809c36ba0728659eca89fc978f1f154fbdc84638e00620b505965be1b41dd7e2022fe2100cd5aaea63c2e6f1fe80b9188da7655c8c1457ec3f2b02a839260b8cd39d63a6734064ac59251a167e6d25d9d0384c9b526c10b6b258e40496fdd46c85c3ef2b1e4ba91f5c27ba1624c9135535fb922b43970cf7e9b357f2057137cb3df1375a6e6df71e392f2efd6c5ea6e256a0f7b766c30931d89b09dda788e082f9cd4cb8c9c82734d83b817de5877f3ddf0ca4f5392aebf9e70eb9f5c35ad4c40b26b0c485fe8f46638d3994011f2883a70f898fcdf84edf7f3e95309f2e3b166b0bba18f385cdf1d2e530632422c81766fe9e841c205e5e792b49b572415a5f7f5024aaee6e99c65f63df7967d8b3c1976a6c275c7e5668cfb6378bff333477bf599bdd6fc8a969287f796717f6713b375a9262e06fab02684da3ec5d533de48505e41b766540aea29ec73d7c563f2c5d131c1c758aa932a6e5bb039e725e3958b4f1556ea6e2307e2cf3f111421e4acb596aaf6d83a483b11a5c8dd44ae3ef5e3ad813495b54a5fb2688ec3d22d8109297a87fe891e9f67439f0ea7199d3bfd41ab61531414a4f858d0af8338753257934c05c25dc4618b90829c3a7714e732e4dbca579169bed379a46dbb638a7fdac8838d3b4f0769b75880b142568ce9d55e930db5f4d158262b1dc953ccdb6e0fddfee14f042fbfddc88d64b46b7ac177d26c6b7c20341b53a3f31b5c53e9b824b9d5d5d0f7917295409fb497b7ee9450b9d242b009792c8bcf25413c45ac27532d8f36fccac3922fd6a19d1868b558dafa58680e3add12a3fdbd1cdc92f2aa899ad36eae392ce29fbe66af974361a12495a041b5ffb82843750544c2a3a0e817f55877538ab75524b09ff702d04d694b9f7d4d6716a9e461249c298d2d4dd28ce99c64492477d9aa1b1294bd51b45eab201f4c42636bd2dcfa38f509ab8b49ae4e88ab4ef628491b77f073a4a128f452a7cbe3d82d26ba2d354af17cd6bf77164269da782261cf6daecb328573cf975b4d6e8a984839b1f3e6ec81c5c692e32f78f158c1f472ceceb9b448cb8676b56c7d6bde38fb9a37170492a469f936113127e01a8c3801630d56576654552504860b7677d4e49e021640003c093ba2efa8f4a9e2e3286327d7a84527af378029f4306ef188f02204bad184f9a3c977e9a270892b9c0af614373798f5a089c21db136fe3d078586875e6bda63ac7c25859b83a3d2979374eceb99039baee563ac5c6fc54e7b9d818f6d834fb240b3393e56f465ac497a95ea743d6f48a8e34f9c83915678d6dd580aaf103fa8c87ccc667bc66b8a6964d7705f739828272e4e342d495ce5b10aae5a17c68a86d28086ef7d7cc363fb73f763e6b72975f35b3e0e70d38a90d30577d86099de0d2f4570f852b52876c86a2589c199ef5b22485babf4d655a975e22c9c21db0d01dc32a3bd5b808a7434f3025e04a1559f9b1c8e74d928dade07d4fb01e37691077d4f2b9006c15e8122607a3c3176177ba1e6a8238632f705f3f25693c9a9aabee45b9296fe3b2d9333caca0935553f0fc2a57535bf459066442a922de1b96fdd69d5ff57a051eabb0f4781a46f122d393d21fb0d1856d40f6805546fe1d0778f8ee5d1d41d274f6c9edcd0a1d96bf7360389319a21aa2d116fb6ebc44397f1bf3f7d8382cd16f24ec49fa0285f293ee7c3f6b560097b60eada98927584c1bbf30ff9432e6e377d02876390dea6ef7661d3c3d3a7b481883c2e49714238dce4aa8c428f7fb4a5f601782d8b8f719ad89c2ce74333dbd61c7262a5145f5f7b42d3d642e0c393a6d5a2d4633053a4a2e109d70feea7b020b2691c28b5844bd361a442ee779b836100f8b08bd78fa9cf0baf07722570228f12971bf927e31c61365faef3d1e7692f1e48a579dcf3d5b64ad28fb0a7cdc483dc654ce82ceb69ede7f6a960d6c9fab900164aada8a0f600792caab44bd0b6dd8692d6060f90a751625968413dbe4d1d1a2ef3bbff2a21566e4cb41c3abf7006f6d81eebd0f9afcb4de724d16bb0720553523b33654ec6a0fef8af2d49a171dafad2e3751eb21637e4743375107925cb8e9c15d4f6aabcafa3a9659ee3dce219b6cb3e5205b836bbd75fa21baa00e7885613a241c2de00d0cb0b5de2b944f97b0aa758eb708872f7fb4110b852a27286092d31d2f49ec5104212068051f6ee4576f55e23447aef5172673e6268b977156f5bd5b23640bd0915d2e4313557af0ec6d4d0bf98cc881a4f7b5ccbcb77b74ae60c2e4b1c2c32e3738bde4ba6ff854f7d3912df0e28dd30b36f4008430166aff51725cc973c8c69115a219f677390b37ef442257d46d23fd3963904402cb93c6b6c6dad972478a0d8b79670f6f69f9e0cd8d819d8d1d45c38440cc749cf09ab90434d7b57fb1e66af9d09d38c3961a35cb526023b0469c948199aef59a8e1341ab2a73e42b9f05b8ce78c6ede74e9a355ffa0b81aad630bbbe9ef325be7149acb62b02ec7f0dc72b7ac576daa5b19993fb4a52ecc154935beef88abdfd133d51e9953aaa23669e423467a2be1bd35c09c5959f5861a7f9455fdbd25e4a792907b33f6db7f8ee11e5f36aa14a277785b0af2b8ac49700fcbda5aa55c47a24dfc8081003343d55973615b3783037abde6ae0bb35f4175f01b7ff3054b64ee4eb18cd50e0b879b6d41ccbda2638a33ebc23fbac7a09ccf92e19a0bd62725e555079ab1a3f4362ff43b363cae144034f33366f108f284c63ad8d4a798a540c6687823dab864832dbf299e7065594520156842659efad38e48464561bd7d5259af3e590c63cd43ecb95720cefc5b28c3d6b1c7128334db2c112991addaa5b91ac37f06debcd89852c6e8438024c5b4c10049b03169172ef733b1aadb6edf7add5477fc26a48ed428cf0d5cd336e646d17af02642837371913c7286d71aec82d4854617dd362bafc2d582e87bec7afc57ef3c81876e201ea87603b208031583c78876c3f9eaa3fd8995fe691d5ab476a91223c16ebebdc299b23eefd6e93174624021510a7fa1ee3c6cbc268c969f99eafd01f0f86e0146f9fa963c287b704d6fb11ee0b7d465cfc73d1d4c915cf2de87e94e2de498749cb2e0ee9e3cbba76b1a4b9e9e363b7f35088e99be1880fd235a06a614c3e82ceed6e27a72657a4d4f860b336f090adbfc99d4a80754cc747bf4151ab57358b6b4ca5233b17a2b2d1dfe8ef9ae0a92bc4304653b95578aeb5457ca665323292c441f91b6e237cf3a0b2cbee2f1ef8f356c2b42f4d2dee26729b89ddb7747145fd5e4344a82e4a3cedee77506ff79115f00aaa4ee1ecac6999a543d745cc0977340a2502ba6d32607ffbeb3c693a7910907da1a28f6818e6bf83fc72628cda0ec80947c5fda35ec61c3a87c89f1cba548d4a7bf0b911b35b187179d1c74ce03f14682eccf253933bc0b2bc3d4e3a8cc57ab254511075ccb4cf162cc11d36da79125e31f6ae4e758cc62afd8238b28ab8d4020006fc90854eb729edc885179b2f011b0f6d1be61a47e7e9e52110fd8eba49443bb3ec68617d4584c6e6cdfb6bf85db554d777ad8d7fb1ce7fedd3b873d8788a0103a9bf9dad1b07498eb026f455793bde9210c11b173c1304ec6bb44ec007451be41206009f8c723e9e05b3add083abbcd15ef7026af358880a3e9e66ee891c8c36d8133c13c0afb903869980c30d1df0ec297d0f5434fb3d66ffde872f3d97a723d1a30cc297a2e49b7a4590617e6a3c355cd654c9f5ffc5145ff1484b7f87a1e3ace368dca920a593580520438463900d1f079f27ebf68b48dc0fc39f7d7301b3224b760bb1170571135c82fbf1e1d653719c40a726b02262e846494e83a606a47283f002739faa870593c9e57270e36fa7ef18f490f6ada2f93319a4876b3f481880bc762d7cecd0569641b0705914090185793262c8bb5bbd669c86947bdc3b908a8f8abd9f0175dcdea4c952e2255576adf472da19d077e2988b0d5ce05a1aa5dc5c02646ecc7d5fe0a4bdf233f66cbb761e43e5c4c0863ea9e2876c9f846f6bd1b9b84d2521eb8ca0e3be5a9fcbb76713c69d29181acc9f97d73986f95e140d92b901fbe7399aa191d027c4386888ed49665ff8e2843745a065809990aa0c4fcccf24220fdf1e27aa789e334446e13a5788a5e9de3e575f582df12dd3e520fed30cb04d9349424b71587f581939ecfbeb7b48744cfd30e551ddce85a62b903afb33d999a5a1fdc40215a0cc01812b41a2a52ecd4def95ee47345d90865e8f4269f16214e97a7e1df0b4de2e20359a89f88ab906ae05430a211cfa0a33658fa65af3742c1541be4d3a6582fc4b20e42d9e818a62125a7d148966624cd65ebb5528c8c01dca81d20381d832add767a0126203fe9a2837d0479727876673b611afc9a7f5e87294c00deed48fae0fac6506aadda0f7e999a877f527a61d47e440c5f19c8ce12a8b09dcdcf4ea96b8af6fa7e83caecb2ca03fa35a454c419e1121f23cae9d24e53ba352c701211f3138c413d431937ed83da75aebe0acbb8ec9837e857be00a9cff2ca3eb13f045f347f7c745f56df8b73399b1f3d923571a20b5a9a7ebece39e8f379f6df72765272725bea9612e5bcf3cfb6adc56dd05f3249e799cd02adec060b809ca4425e1eef11f7ef2e5721aa37d051c34daa07fab8e729af4b981636083621d7044c13e52c987621a69ca8eac3889776d9c8aa3070aaf563f96ca393d118ce161fb7911b2952b8af451e1bdb717fc70c6e24f3e2f0048e1ca36be23c13d9957d6a021ebb35677f68fa33778ef7524dfb15ae96a296bc393ac5f25261a422e1f7238464d13e3f8726a75d10ad9fb74b480d44c2e9a6bfe0ca0c8d22fbf0f9ad53e9369d0ffecc27b8a0dd1b85cc77b81e701706231c39a045b1bd891a54b0ed1c87b282de40691dee685423f14ad5a6304fc5997482fe0d1351b34136d60b04cab130ab2e7f5721c6e021983dfd3e868cf2dd9f0b180d5218eae554fabe07a62aa7409a93e7e3b3718961106ca3d1ceb606a2e6e93e5d9c05a8d43d34ea1e14cfed1f25074cb7bdc1289f3f7a6ddaf43cc5e7508a964e0a93e26f6711cd234765f7a35c71975ed4e919f4c45cf83ce20076f5238b995a65cb0b402d3690b0a36cd2d164bc7ca986327ec955f49fad0c3f0e94c18638c5473f5b20ba654646d0178e3ba35353a278f32920a75567c7b87991b413db47a164acb93f73339bfe0f72b034c8785de3da8e22a445b5bbc0d13ff3312a13c11f8b5326e8860c136fdbf79da666469da270e0167735941648dfd8fe1b23ce03305bcbc60930906346821ac373a51eedf5c938d3c9f3de9ab43c68a2035068bcd4eb1585c0a696090c25c2825382d8eeb4b75bafd6e5cec3327e80c72b14445aced447bca79ce78d0e1869146c12fb57fc0e27529cfca81bf30b5829f903ac1a36dd560e2ab2ca33c521dadb57c3caae0298a1df936da26a6afe2c9d280f8d9861be48668150385d589ea349cc77c9f67ed448a01b4615decfd902c01ba53df4416736631256afb890af6aff39e47e5cbe59070aed031f20f16e3589d63540904d7ad5709c4830f09c1bbd5b33cd47ff3da3232e11c17d4d9eb02ceb827e092e8e7b7614adab4b3d9aafb45b083f4cb71e25ff7a865541ea185d95d1e80224c732cc5fbe1f2df689fa4ba1753d148d7f6b1846736071d9a4cecc99e96f47f6ff082cef981183d01b08fd14950878d7dc1101770fb3a1565eac3714820c0e058f83b7f85cd38a1ebe3f0fde0734e99efb883c1d08900253963e17333dc90901c56c8fcaf44e4389cc0515ff06bce030367c1301653fee32dbb8ea88c17cc1346aa072723cdf0644ad3d6d5f0608f21131d2fb7d3c994db65f2a615fb21087b4a9e73d81021d1e0316785c96b8236ac14ebcc6efb194a8f05d8120a6fbe19429c27ad8cb8db54e9404d04f94f681791b8d3251c9307cdbcfcc3619111fb10b1daf8de24da449e0e3c6f4f488dbd42c53ef2765a6e5d1a349d13489225ce8eba209ea228ba155648f59c77d5f8856e80e515741aab423e7f3ebe4700aa5c32d30756c4e37d7552f8e63be7a4612a5f1c6ff6c5846bb85611ffe0241200aa188cdd77303db4ad75489afaab6155212a1aea646b50221a9479c0c7ae53579e44c617d20e6cdadb19583835b19c41d230535cb7b4d06fc286554db084dd5b07e6dc7bb798549a68055b86ef86a119e8dbda606e006610f44f6fb62b0c1abfd3c69aece8746ab44f4993048148f4fa6d13399c70a422383be38844c0a1ba4e4b98c0dbfb2be577f62a5669d05ab1aea757959e1c20c691b1924a7fa7ff0c54a8b7388f1f9eb1641771b782a04366ad5799631fc3951ae756d2f54de50a356520be51eb6699a8e224bcf9c223947235da1286824b0feaad9681e68583697da87f55e0402d2baf68251f938930fdd1536cccac63e2ef55d90fbdc91f725846c592dd8b154e19fac278c3df0c90b5032d79ffd12203c626dcfe3091b59624451cdc9811cb5bb61e2894e0c1d5bbd462d2404302dd881109f99cc5b37b3d42ef44e55a8d68eafc143f01ec1a5d48090745f97ff747fe1aa7dabbaaee2d107d73852c38b35ade93c7e7a6cdfd8b3dba80a63626fd0d10adc304ab5c28fdfeecc83f3e04fbb298dff5233f3e7dbac1736c4ae9e80364b06f8bbade5fd619f4655f5f73ae4e978799f725c3c6f9e51528d9842a4c9df7630c857e856dfbe0d7c7753233a16151eae8bb1e018132a28156ccf9d5a085b73d0a3a530ca431a3e705f419091fad1d0dc3e163433f4b5846db6c15214580a533540dc1e14f90cadaa64f662f41377bf35a86310c9bd4ea2a890e672b5a3cc1ab945edaefaf5a7b99f6b664814c728e1ee958bbfd9e810502cacaf5b9671dc8c52982c810d9b737f7210ba7eab97ed95e03dcb75b2b4bd87b19c474a559829deb5f2459d8c25b4518821ac3e9c0294393126efc184fb52cd14e6381a976ba1bb579ca6249ea09d8fc16de82da10413b1251e9a8d85efa079f1afd02dcb8d92876e4d24fcbbe9b134183a28cdab503d18708395c33f94d50d9d4c1d16f2f417fff903f77c6de34e1f506dae723063052645c98217677ade132e466a07a2256f87aa7ad9bc1061cc9482c74717e544c2050b0ea8729bc1a34ce7ecf825b2137a815701fe04c1a3e50fd590521bd26ca7a193a45f864d33e8c7de51b3c686c47074b03d2c442a6882bc03154a61ba68a5ba5a1bc72a5d8c455f0c67371aba5140793aa1a3dc158004bd4da50b70d5a67cf250c665cb897394df202d79cfbb8917827c705a481c9429c7ed6b2cdcc008e6c33132b9173222ad2219b461d69ccbc63a0587bbb550d0e07711c9e4da24a29664be3222c7463661455021fe64027c1d31b052104c3f7a13c8b669aafc16b9558a0431ac7e997884a8a39f92511caf9647cd8dadfeba6ed0ac35813bb9149ac44f1597b00f85786ddd972474d6a572954383fbef702118754ee38b24bcb72ebe91e9ca9a84ad5cd6bac94157bf63ecec1f77bfeb5942430037378e5776d6931af7254590b90b8ccfd3e05f37bddd9dde73bfd7e3b285bcc494964d180a01ceea8f8cef3b7c34e9192f1c89310c1734dbef35fd13d612f699ffdc50e435a07f556f246ede04074b465150fd8f0d9305526d869db0f1b90386e5f775048e6bfe2e826320bdd95ae65061fae55e7a6a427bcf248008bc7d9a05ecb8ef768e24018a3c4063fc2703e650f4080ef663a80525771b147064037eb819c3f00e9b980dc091f9dd8367e79ec2d1c30ca6aa598554af86f347cb95d0f15b0a41423c27e1491a82a29284d5e0721d1ca8b515a2e2f365add9d4c577d7d769585d2e826dacf5e501b25ee58d1ed04e16955213f557b9d774c26fe2c621c0f38d4bc3a2ee4f39fb1738240cdc121c09f9ccb36fb3c839733027152d4db959a4654ed1cb50e35ab6988a551c560b62ed5c19ae6a1d28673ab5a7c10cf4bd956d14016d1d9e063a8c5135b6a4d0d6ad15195c738a9b2fd890e834b0cbb258a10acb46014c08f77458eaae5fbdcf3cc54a404578fbe639ae1a46139a906a94bffd319fd5ee35d1938dc165935bfd453046f5881bb9161ec199a1daac82dadd11df0427afd77c9789c0fa9cbfbf7406aed350f62ef54a54398f013fcbdb5b9ad58a14c024a9e8b390b06229e005fec042a74a3e169d6c54049fd303be7344695942bd50a4689f5a7c31c63e295d38ffc90802844cfa92980b429fe1d2cf4041f3131090b59bcfc7255319ce362d2dd90cf873f87ef01ee1ccbe31a8eb17cfb2660a169375068e2bc4d2a318d964c0d3a514093f77b50f28498e4fed5b90804b649002650720fb0eea7b9da0f92440c8aae5e4017c67475acca73c946425a588d50e5cea5bb5395b8db5cec759503a6e73858dc53e76bb21320a740cec4023195687cf5e82a68a40f8acad2e68df3b8949af88ce071d2db7b389c09ef55b9d7ff4d27d157bb78aa1db6acb793c82cf0c798cd204b48622a5f6af33c80d4d8068c2468c8a1ccc07e44fa27c3ec9d505a3aae1e7508254921905fa29f5c2e232ba2e5380f64603f44ac8acff4ebcdbc53b4ed75a7534bbe9ee9ceed15d9bedeef5398526b31a766364b5952ee2809ee10a58de9e7d04a1f3b729
result = valid
salt = 45cf5b7711c199f70999902eb755aefe490c86b96cf86ac20d4e67fd87a1c8bf
size = 8160
# tcId = 25
# invalid output size
ikm = febaf0ce3a452bdad48338ae258775db
info = 572d90bc31fc1edd
okm =
result = invalid
salt = 701dfbe3f22c13268a04871dbb9711f371bd702b2bb41dba24409578e6481bc1
size = 8161
flags = SizeTooLarge
# tcId = 26
# output collision for different salts
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = e7f384df2eae32addabd068a758dec84ed7fcfd87a5fcceb37b70c51422d7387
result = valid
salt =
size = 32
flags = EmptySalt
# tcId = 27
# output collision for different salts
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = e7f384df2eae32addabd068a758dec84ed7fcfd87a5fcceb37b70c51422d7387
result = valid
salt = 0000000000000000000000000000000000000000000000000000000000000000
size = 32
# tcId = 28
# a salt longer than the block size of the hash is equivalent to the hash of the
# salt
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = 12fce691378f28f92cb26ae9cc7ec5a34007fc693944ab79b6fc461093a66c4e
result = valid
salt = 329f445e7de8a156cf26a0208dbb028d9de6ef76b8de67ca634f4a5a732138a1bd436a7b345d7a0314c7ed0a00b0d34ecad2cb8bd141e2ecc1c77e237094d55154
size = 32
# tcId = 29
# a salt longer than the block size of the hash is equivalent to the hash of the
# salt
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = 12fce691378f28f92cb26ae9cc7ec5a34007fc693944ab79b6fc461093a66c4e
result = valid
salt = ed16eaa37a3cb51a9ae18e69b1ccb5950ba29ece2e94894ba05715bcc9d926f8
size = 32
# tcId = 30
# a salt shorter than the block size is padded with zeros.
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166
result = valid
salt = e69dcaad55fb0536
size = 32
# tcId = 31
# a salt shorter than the block size is padded with zeros.
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166
result = valid
salt = e69dcaad55fb05360000000000000000
size = 32
# tcId = 32
# a salt shorter than the block size is padded with zeros.
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166
result = valid
salt = e69dcaad55fb053600000000000000000000000000000000
size = 32
# tcId = 33
# a salt shorter than the block size is padded with zeros.
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166
result = valid
salt = e69dcaad55fb0536000000000000000000000000000000000000000000000000
size = 32
# tcId = 34
# a salt shorter than the block size is padded with zeros.
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166
result = valid
salt = e69dcaad55fb05360000000000000000000000000000000000000000000000000000000000000000
size = 32
# tcId = 35
# a salt shorter than the block size is padded with zeros.
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166
result = valid
salt = e69dcaad55fb053600000000000000000000000000000000000000000000000000000000000000000000000000000000
size = 32
# tcId = 36
# a salt shorter than the block size is padded with zeros.
ikm = 5943c65bc33bf05a205b04be8ae0ab2e
info = be082f301a03f87787a80fbea88941214d50c42b
okm = 43e371354001617abb70454751059625ef1a64e0f818469c2f886b27140a0166
result = valid
salt = e69dcaad55fb0536000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
size = 32
[keySize = 160]
# tcId = 37
ikm = e2865d6bbc1abf6a815067edc4ee7aa33c290d5a
info =
okm = affd91484b5ba2185adb698632e315e1ae238d19
result = valid
salt =
size = 20
flags = EmptySalt
# tcId = 38
ikm = 8c177ab5f40e9c57203883562f01f174070ccd97
info =
okm = 279bba84f187099f5b5b4f248b7e99114f012b805eb37b4f2bd777c7f626d8026cc3c36afcc6b95dbc53
result = valid
salt =
size = 42
flags = EmptySalt
# tcId = 39
ikm = e842a4fc1a147cf2f87de9bd5a42fce6457496f7
info =
okm = d331254a687cdb1572b5061984689d4a3f321ac82248dbf7c88f9c7d43bf295558d945503b573b268de153d22334133ffd026baa58b70da52169b7d4cc2a0f1d
result = valid
salt =
size = 64
flags = EmptySalt
# tcId = 40
ikm = 5b870ee1bb97ee83f67fa7335b4a0f9dadc80d12
info = 0a0dfb2a6e051441678788bdec04cc1b63ebe1f4
okm = f1e1474524b1de386ef1171e2db18b32e074c2d7
result = valid
salt =
size = 20
flags = EmptySalt
# tcId = 41
ikm = 58ea7ab33acff514ec08f41e59c17a3c66c1ceef
info = 1cf9e25bd70c5546ea7a79eaf5d90cacf754c4f0
okm = b35bdc6ce6a357934f6b078e3210d6a1a4427c808f759394f0cbdaeec4de12425c988b7deb545ba452d1
result = valid
salt =
size = 42
flags = EmptySalt
# tcId = 42
ikm = e8d20934b9d320458f4854e2442e2f0fa092f461
info = 4425999958aa3cc629300c25ab15be8cea7a4277
okm = d9ca1874238b99baa7f62f9e61db9ec45bc6c6618030b0c42c71551e0c56d37a7c59b39dbfa2447647b296a657d096259ed72cc1497f2e6b774da05c00274f05
result = valid
salt =
size = 64
flags = EmptySalt
# tcId = 43
ikm = dc9e488c684dbf0ac8ff1eefaa0666d413d258f0
info =
okm = 6c91116d61a04407703a3b59cfdba2d71999564d
result = valid
salt = 9afa7df500d7a17af1f44422d25a62bf
size = 20
# tcId = 44
ikm = 34b85c341a04cbade472b3f7dee4de4d1954bf70
info =
okm = a043e45d56fb32c784a3aa016f40cba8fa298aa813a27e0797c4a48ac464cfd36a61f0aaa184802a16ca
result = valid
salt = b066b42acea664350a8448f8e064225f
size = 42
# tcId = 45
ikm = 44cc641e09f7d5642f7b6007ca5a1c0813319666
info =
okm = a8493c8ba5b733dd1e11ef719fd7cdc6773c5b53b5be55acf4d3365ecb6a82c5d692f0cfda042cef5265d21efb587213155cf17399ae61bd0f167f90eca74f9c
result = valid
salt = 69c0dde6c8e5bd40553a5981fad6ad87
size = 64
# tcId = 46
ikm = 88a8880cc2b73e73b3b6ca1d4902caf2128732c3
info = 6dc723df3d26f704067afb2fb6d95a66516d089c
okm = 27e233f30c2d8501d42d229259c1ec350f7fc9ba
result = valid
salt = 0579f690ed32e57a26701a9f6877f243
size = 20
# tcId = 47
ikm = 8408668b9d671121b8c7d31113f045c0d7c020fe
info = b4451b0f1a217db703582881e86d8044d5f2e092
okm = 01c4c9b37f4a5c01c89544bfa5aa92072a36206d90e2feeb0d5dd7c222a4340d65f4cba61ed01e79fd75
result = valid
salt = 679b30e6930a8ea3f076e317b9595d5e
size = 42
# tcId = 48
ikm = e6715cc4ee13c4d999d8f8f500243c321f70b0be
info = ef17c9227a5ca654fbdb35dd00dd6dc77b6321de
okm = a3bdbce02823523eaf356cd8f2dcfb450f42f93d03f73487ca86fab09da7e6cc54e0b1e38b8a04fe02c528cb50efe0e3aa172e620b3c3fc11303d1005a137d90
result = valid
salt = ecfaca2ea3301a992b4de081d9d3a4cc
size = 64
# tcId = 49
ikm = 9a6b88f3f68f5a8e79903b51dcd733abaece1a41
info =
okm = 06fb02949f1f1212cf27436ef3f595a15ce52057
result = valid
salt = 0226df3d66ee3abb275eb39c8ec3d3e12e9b87b67f85c552accc4279ec17
size = 20
# tcId = 50
ikm = 0b9eaec88b2940a4754e83272cbf47fb6f86aaa1
info =
okm = fee9dbc5b95515e77a78fe4c8ea77e76c21f15a1a8207a38dcbe45c3498795be6ec145cc92bd6ea02432
result = valid
salt = c1616497d49246400ba68242b635c67515d2528ee1c3b71b318b631f9bef
size = 42
# tcId = 51
ikm = c4717276e7c7f794c4ee333b2f7a2ab244be9e8c
info =
okm = d6fb5c20957dd52e3cf5ba3f7b1b28b7be3957a0b2a39cd913376e95dcbf30b481a5cf37d50e3de4c59a67b6113adb0b6a23458d0c4be71d2baef446944fae9c
result = valid
salt = af4c63e5b554063e83e37bf730ffa401c696088ccc4f133a8695ffcbf2a9
size = 64
# tcId = 52
ikm = 5e43a900ee0d432c5fe6fc81db8d5f81a54e39df
info = 32460280e60910b10abee2e9f80a3dab48acbc59
okm = aaec302f32a812fef48e69dadbb56936b0c3119a
result = valid
salt = 8cc815009350b0b6a924ed93e73c8f8c57a1105726663b72741b67209c1f
size = 20
# tcId = 53
ikm = 070c170fca600aa2b23618150ab9044bff7d4dcf
info = c1b0971fefa0a23cf4b7185879475ebd8d83b9bc
okm = f56000669f0a987954a1e80e3b10588126eb087440b4b253587f5d05ef46530bbe83089aeb1eaa45f0c8
result = valid
salt = f32a1cddb32693860eeb39a5d190f5667a303d5403712cdcebb575c6563b
size = 42
# tcId = 54
ikm = 87a23208df5e66488d23f7aaa066e87bdced8e2b
info = e4d66fa23a6020820013d94d1f8e84a58cba2a82
okm = 3c5003f24499773817f13695c45b937faa82a8d579a0afcb2ef473b925dbeee8dbb62f28c22d1379f02d29e26327d22c2e4a6d951865ae1a6a3ac2bd441c805e
result = valid
salt = 0488ffa08062f1fe83e9c3934f5688a2e17827f898aa5daa2d595f09b245
size = 64
# tcId = 55
ikm = 214746af12a669b726364027e9a1cfa40c18f8e0
info =
okm = ac9d8595b73c4e23791aecf157ff1ceb9320db1149a5b8e0eea62ea15e4d36d979b3f79e58747b5b6d51
result = valid
salt = f65ab21816c5eaa5c9ce77d58608ab67176d2255438096f4b45779d15c2afda12718ec557bfe161e7fab89ebad4fa634cf73f2d12c884c4583e64d2b59b9d8b9
size = 42
# tcId = 56
ikm = d509c509f91d78c33b9d661e6df1992b2b6ae429
info = bea4f60eff1a0c6ab664ff3db2f774347920a482
okm = b8eb1092a47f8b538d33f065b688b3db48b1c47724d26c7106be333228a5f892010eb4ec58597f3ae801
result = valid
salt = 95ff4b20ade46bada320316dad7e2b4286e93dfa2a72c6366c5ddfe8ce2ff344729ea56416d5b53074c6d6c4eb4e4873980e5e4a4991d6b1497aef822e16e209
size = 42
# tcId = 57
# maximal output size
ikm = 79210bdd3e2d9185c241114eb2ccdc9cd9a92eda
info = 583afffd66331da0
okm = cf24e0b4c6290e8df554afa553e5b6dc85afb681efa20563871e8ffc1fe2b16c2c6ed18f7913c337ddf462475db5af55b5ccc3dc9f80350a9b538573c8cc3fa0e14286af2ac908794a53e065fbc062e65129548f18be49a029d23a2215a89b16fc802467e313a23e1607b08dff77d2e46233c5232cb27acae0ae98199fbaa42cb8315f0762aa320477371021b933c27e99ce59e45e706c36e1ed24788f0080955aec82b3b8d72da158258ee9ab3f9c62e426df25b3673d37b8961e7b57b36c1b75f8b086abc3cec04fb526ba1cf15c8e91e8d60f2e774b99a1c446c707f7947e14b4e074410ea15c84531a7b487091a9dd37e947d6809bc5c16aee9e1b9ee6eadf11763e3a5d55a973e75d2739c631dbc89a5157fd8bba4de5abc42160320771667efd8fd2f7c47ea5300513b655161eb29b8b056ce4d970b2150d18d42c7392dc67b9e6cecd8da53887316819e21699a0385a1e51affa46b19e4addede417978c6e510a1823392a94e99b3fb47880394e39c13931c665477c76da3281393a8a7c63e80bafc203f0cb9d81ae23daea602d2a1a6640dc10abd36265d84a10e3205ac547a6d89f4d43afff02e854d5e0864ae429f38c7ab959f2a5a701c23e4d619d632552bef2f51d85a00eb173e544f7eb14b62b9d5901ad37be747403ba78eb512ae162d6eccc52436fe36d95f0d0baa13a4a1eeacc470cff29f9a9ccdc1d3bcb216af278eeee3dd039e366a66acfc5c51bf5a4800069baf54989ea911f61f1b58790a6318cb856dbd849cbc35bd445083fb33bcda8a97a4b7bc26ae02439e06414b652c61ecbd1fd1fac1319ca9c4b60cac2d2a539e7a5596f040d801fda9e56fcdca560c67056da14137e0b068f333f3526154e2bad4a92dcd777387e7eba1068b6c1ad30215f8e948b48cd89d03665b5bd7605d6b06b1b908a07c729c78501ee490505f1dbab1b545fd612feee0f12bdf94953b41b95b122288575ca36bffa6d32dc5c6ad88bb759c8cb894b607e56499c1037cd9d5a28a5a85766bf9fe8a0a705227b3bb2d6df3377611af40a4750e9587dadbad132f243947e62f2e74dde1d842544583403d778c9045c88c70d30d0f6167ba97828985aa39019f129fb85311eed6f91504931fd431ff90a44b8dd7f117c18dbfa5346dd39b1f9e67a00f04e8ebe69dd275099b3ad752d4162239265bda196d6f6d61f3fd6dbb9eef4bc85955e26d6eec2fbe513cfeaa7eee840c32b7bc06f1d53c7ff4e4e8f5d30a3f8c45e581bf59814b95c3566e47d74ebecde07ce9d3526f71f0c075682c03aebc0e582f2245c9aa3ccebc851d1052190a6f66dc47ce4bb2428d2fbdaa2bebe569995abe925549f56a1d9de904828bc9c11daea269f181f67ce03af3efffa79c5244cde5a552e840352f8aeb741025f71aee4cd800e362bf5554302d5124843a8e71ca03714f7c103d54a1e425d2a80be6b512ed0fda41a0417d49285c71ccbcb662d7bd85e6d599defc315dac7b70fa5ea32ea9469c42feebb78619727fd75ea1da649d51539fa5c16ab24bdaca44f17040bc638009adac1b0ccee9114b2aa67c9f87997bccd9757e9c8f80fb860909f366ed8db6760c92bb5a09205396634c408e3d549305180e232d5ad0d51adae83541330ccc2e92bb8fcd50926376956a00fc195c8373df5d24d0ea45bde59c1f97d68f25eefec352578d305bb0d8c2ec46737c4ddd7bf9a8fb5d0001c9a4baf544a84d2706be2a1f149091f6e03e86ff78fdfe64be9c8fb3413f229cc9c5783192f401c5532d8f359b8f0ee493be40ca9b5d2c1a3d76519d64eb3cdef6f4ed522c52f8e83ff20ad3e35ce7d7d4cedeff21e398828b49d1f2b880477ff7c107349447e1fee43949118f302547ec168810c99339aec5ba3064a58dc2de08b4c15eacfa42a66362feeabdbedd495716b9344503059d20c1b06a135955439ca71f0274e56dc85dbc135d33a9d992784da58603d3ab6873065a36b68f8078acd3a276610e4c4335f57430ba591de81834417e770595317b02491619c259c0f5002afe89058c244468e8c8ed2fcb98bf6cf8fec723eb055eb8745de08b4b4978ab272a5db69dcd4a2ac712a66749e603648076713aea17e046e66d68102eec7a629e57803116d5f90a790ec86e3b54a5dcebb100d6fe6c04a170d9a54f81784cf59c0b3d373396e8310774a0f2063b8a8bfd4406a4e0e14cd52112334d1d1a2fe90a91a40b1becb806c53ad8039cc08885485550d7b84d7dd2d7b24174ebc1186097f44f904646bc68fdda207a99bee9a68dc41351c9a7a76a06cd66190ab922f5c8d0b03e2616f8451241b22a919e60f63431e9d688dbec5b72f7aec8a1d164d0d236767df3490131f01572e97f479fe7a4589936df3e7cd1bc267d71d182f227c9cf8c53ce5f2f29c709f21ef9cbcf89ae646a5b9f1107456ecc20ef28adc28dbe616cdd8373cf1c97863e3d17f078d6fb9c136a1ec619b1353ca6c18e2b6b9276aa14bc2013734c31d0a7641b7c478ac62c0cd19b3b33f4b40691b96a3aabb65cb17fee503bd383ecbf04219fe545b9b4e538bf3bd78a60c6973e0fabf36854cb2420f0996e68832591865db34ff84b84e7701697336d090cc0d43c6fe2cb8d98faa81b74072a4b51af9a43ff52a4a2a794793b2287fc4d611dfb681a3d87fd5dadb64469c2b3eff8770971135bc53552910ba78f154c139ee1ea7ac3d407f86b856fbd5cdcbb5ff51c8f7ac81303ac78ea78a9b2c1f4f7c50dbd4a3079033177194c9249252653dfde9dc1a09ffe849adac8cd952c6a2ae4f7931e3ae4bf49b1ea0f0381abf3877b49e920cfb24c0013fa6bdb95803d465e0165461b8ba4bd085a7581b822f2821f4fef32d1dc80655050911c93dcc86b2784e2c67faf164a1329afb12b92031b80bfd589d2b8e5b4548caf3d656fda7d59e8d6b499c2151d28586b4b735fedda3c731749ae715fa616185993c46c0a1aea431cb5e666d13937917dfcf3519c52917dd8d327e1cb6f7c02f1d83945e8d469cf73ab888e86894b64ffc632159c66af0ac8dd6783300d1f68f553db359194719cb31c0bd652affb1beb4511e4a8e896373cef1e83f88850d4c5799dad239d37116d8b87ffc27c478260011d9da68578218d493dc0b09d2112dc33e97e2de97351fdbc5009d8b351b859253e2072c268e0da6b4bbbebfcecf86c9d8a665020831566ed4f1c8c206b32362397774aa6d0c506d18890a1d616d9ce0844dda2d06af3cb3e7f53bffc642d261b16927ffa15a8fe025b77e693bd434f503c977e0d8ac1402f6b2ddf92aebc8c29ed3b64802d890174ee63348e404c936351aecafafa7eee855c68a4cfa503edfa51e927cbc2f89a8eac7427d96274453631232643da696312a75ca433e919b8fcf563cc5c84f1c2fa1a3d5e46078bd276fab4323b541e6326dfd0cdc057e6dd33172ccbed29bd35d289367cd378c78e96c4e2c01d3bfa295b3164d028ba8b7f0f8d45bfe54525fd847ead0b46af5dccc53fa96ac8237ef2f5389fb7b1dac15458c145425370c22989e09d6249c1a8266b0c924252f5a9b81695c9e566698428ec655d786bc1dddf0c2107824f0ef9f28a6eb97787d77872c0629758bdd8c47b36fcb104714b91d65d4b62a37077e6cbca5102ed64e4960d14b68bdf5f51f5aa19056fd9c4f82b3eae0d05824f3a257f5d5e7e2a22e847b1e2b9dc0ce1d146805513b29fcce72f3d03c9a6a2a4599d77fdff432f76690e42829f51f7c5af716372e830701d8e264bd89a3cecd896b973dd39c07ba39efad8e4e38ebcf040edd4c497f199b00c470cf1c8d5d619f856a003570dc421576fb781f29a2097b7851fc237ff4bb462af5fbfa266614bfadabbf4d631825ab02cdece4b27c9d4023d480d52da3d26ce09f86584d67ea2a8fbe36e61bdcf4065bb2db1c08f57178a6fb9491b9e6fb13a72b99cf25773fa79d0ba9dad45d0682598d8aaa7130b6866158fe71adb7f23c27b8338ecbafffe8b12216b3e9205686b2b819942b3296c03d77e58797ab1e0ee7c61ec507d3f4e9ab7380348753386a0e3a3a9f026d789f2f5192c97d0303bab9980b943428044516725779bb0189ff7c5d0cb05f093ca5940ed30f1b28add3a8c040663777f93bbcc070cb84b8e569da3f02fb4a425c73d14e49972828fa67b819b22cb69f49d3acdbd09963ddf174cbcad48193f2ec2e8b5cfdc785980abd790f18533da0e0965dff388a9121573aa090f1ad3d63ee7b1bbe98d956f3c56db55a22e93123375d7f0315ee15355b0588277de76cd46837ca6a2b1cb8dc00a98c06707f04c23113c0aa3d7c06b351c59ea1d2294c4ec19ad142de809d8277bdd4a40fbcfbe4dccb11d4bf323955e1415fa91efdba9dc79eaaa9be1f17652f68e51588c847fef9447aba64b6806d8013ecde501439503eda39b2d20809f78a96ef4ef88ff71c9430469f2db5069a725a09dd465e7c9c946c04778a9b1dc02fec2d7c655ccbb277572850fd2ea4ac0a45468e8efa97fa23950195957b079a0b002647b08025edb7781b0979b1a7e3a1d681eb59a70b1cfc055e0aedbe9fe56c34a479a85e766bd32a6780a193704b9216dec17dc7d92eb46ed27f091c1f62cca2a329a0d7d748502f21c072bc4b90b71afbd5d66d19df779bcf9514e81eda5b934a14a0509e6721916a2f35e937763a46dd5a7eeaa5ffaab6c68a7c0188d9a4f70f30556ee43a9604a7aa43507067ceafe41a98df64451a1047efd6c88d17c4b5fff71a2312b3d6ff558e579fb2b6acee500bd0a8f9e4e4f81734c6ef4a8fe83a977a67e98c8d2eb6ee099daf0ef410d59a60c49250d48be47511cfcbeff34b8ecdd83802dc4683c32b404609a41629a67e17e6a2bfe6cf0ac5bc926fe97c15552bff54a0d20987281f8574ede505cf802eb2cbbe4a3149e68c4f504c21d91c576a8cfbaffec52a74b842e5d7733b07624741772bdfa75e5b5e0e3785f18357c66a7e50d991748c76c29cb44167d60dfaae9b6b1837361b10e45921090fc9644a4bf968bddc0acfcddffbd44dfbd5824169e3534d7fe7d28ffefe3e992a6579fbbe06bc79d5816eea0b4033830acecc0b84ce000c377d6447796a76869dee1747a3a37891a3c00e809d1b83d0aa4e70c3a6874247e719a648e78e02d17c9547e62c398d6e5c04c88090cd7b7a1dc1e4a57b1e0382bb7bece72c973574ae0ef2f11e4f0c4c6e2e76dea70411ec01a2be5ec2f93d001ac919d01b5ceb2b86f7f4a2081b42210d6f1a8e4301390f54343db84ef4aee9dec2f2a7dd5dc0780fe95d0818b6f9aa0fc7672de920e8187dbd7ec7e3885e5e34d268b2cda1f4c4feb28cda9669fce58cad9b2598f04d767ed8ca2ae78ff5add40596e327af23353f935c7fde402fab88405f4ff78f02e69bc5ec166280f04d886ba2270c895ddf5942ccdae139cd38edbc708630f41d5aef67c7be8f73234b990a3ebb21f50a493ce10f571a04fca61f67677aee0f8531e671ca2a32aeb3540b3228bea0353feee3c144207e5fe5c2198cfda2ac9798bf376f19565c43371153e5f41bc15b80cabf67cda36aa93f92a3530dee33e4556d1702bc916598e92f78bc5637a02398f46e376eabef664b5fe7733b2d0cbb27c5a9c8d7b481cba3f07e56a87cf7aa5e039965a1237b098a8ecb89148f1e077e2fc216b24f7aef754a65809736ec673c018fa9d98831f69838600b011328f17310036dc043c333fba65812934d4f9a2a6b61fabe75b396c3848a095d63e9eb301d0e6d7d77ea2dafae8f40c577a8d3a9f1a77c3d21d18e81b8ec3936c3cc0f06982e5ffcef5479d3172e381144a352109698a3b590f73e238ba7b7d07306ba970964fa92bc3916b4efb301b586988d3f17d0c1caf2021c318173692f543ba7a8ff792608ae4bdf407e41ef017610d784f9ca3e7cc2009ab4c4c3c597677e4c4eea76014e70bb8ea84f474128d648904407acc5a7a75a5dcee6ae81b2fa97e95d9e210fecac7daad4a0a2c45bea7357b4986b25ea97fc234dff28374cddf4adf5702ebf25eafa83fa67623e2417442f78870a78141dcd57a7e3854d133362e711a06cfac847670906c9c0a54e50bf183369d65c254666a9562b42a733254fcffc51120b4ec5b911460da89a9714e204241411ae02cbfa771acfa328a7d777cf802a5b1814e0e227304b006fad8b2579c15f66397830bdaf9cd02399107332fbd538a29a0b3432775b2a1d2b088ea5828adc5a469a900af172c6a24a2a56d9a387c74b55fd38451ec802b8a29271d61d8f1e9b6e6ce964861f10b67d04a521a53e45a73e1085974f2d044175d66689b194e3596538695e83e881fec13537cbef21d5a2ab9dc9719752c188bfc3f204950dba940ba8f8023ed3a571cb0ec9c7a2c247a89b4a3fc6c4d09b5e3b90f76e617da43f1048a17bae73856b971df3fbf52eb4eb6adfc7894401df77d165e1572bccb941f99ee6219cd71ec82a3ce48ac556686cde78136ea28d5b801ad7d73d0890b96497fc6e7799548f82d2071df84dba792066a769f2e616a939958747087464c00d04f814685595ce26d81fb43f07f78daaa85fd32152356976756ba728dbde26ebdb8568ae15d2c6d7b41ce08b024417f471e65f6e143860130985c2c4b6d1b8ba51b87d94ef534b285dc99945f5599c602155a194b03c114cd40ebbd03011c6e8595eed8a9264af8f13201bffc5225e369cc2ed17c5c732331d504b4821aeea3acf79acaa9e98e3d2ee1261c366486c4bc59dbfb62b8a971b976c8c6e7379134d0c42277c779db551c8fd39942f88e2b5f6eac2412b1354cb782047f20dbd9a6fe081888a970d9f3aa881c6ea7ac8aa5d67606e03268c65875aed52d87081b9bf140f2a0598b9f743f290880cb816ab5a8cacc56e079380f25e559b8f7914dfa8aa44e3eeee479bb2fcf297223377c3a153d3cb04f22c4345d80953a1b65ca9d9256f129278bf7538d884384e76932eeac09dd287077ad60a07bf588e1504ae5581c9c30e8a82589b00844d3b337f44bf9d3fbdc34bbc4530551dbbb25bf7c309d700586bbce48a2499698134cfd224ed04597390abc324f6a28361dfe4bcbc04ae47aa7e59d8b1952cd54a169e978055103e573a68dc2dffa6600ebb95acdcefa98009ce111278d3a77a134ec1e3801e030a2ee72d179f9f7b9f1bd53517e0591076353bc5f0079d3a13e35a7da033c39d6448dffb07d4b647fd54f76f78bbb186fb9df42837fd8fc809b388f8105f1ffba02cfd150c7e35ccf513835a7c58d17fa3bb6cc36acbb12a83d4bc6d52d9f9d84227a8b25484eb9c7947f8fc45cfec7c3ebbea0a90c2ae84dc5b92fafc91ead28e5019fb3e9cccd08401f9a829ee441376fc48027b413a2a079adf7a251c3e741439e5193dc2e592038b69bcda4238830fcec5452e12b8df0697f623ffd944884de86c828b603d8577911a0d1948a06b6f81a7bc5b2980b7179d37cc0e7deb148094a0f4837db396063da3cf3df6567221e82aa9b45dc432682cf53674ac3ae20dc8187e3118fc6553e08d1da793de157c36534982abd529fed5fb325aaa14d92a9ec4ea02ad77087280a1ca530e086ef456cb22e68673b6d07ba608f34631f19d4c9846ee2f66f2891b0278d7e8151af3976bba441bfaf95938a041c8553d767777cf6e5a51b10d176fe9e58f242bfd0513e677e1f9fedd7c4ae7de1973b3f094eaf36d0b471fb1a0b67867d2720e513140e569f93240f809b711c54a12daef29fd573e58793b4e597037a0e01ec13fa06e36c88f6eea90136a51ba6cbfd2b5c38e7da13f3b903b5d89a8410bcff27fc2286b7033b228b7639e004cda29b24ce06e17fdbbfc346b8abaff01680df78d01a45d65cf594e4244eeb9f0cef5dcabfe7fd2b1dedfc3cc0540fd4959a90ead36bf92e738506ae6beac4c84cf01df8183a6f3cf7ea7983520b59a8f09a47138b0f5a75d12411e82214ab312fb54f575b33025c3f5ed5ca9bfe3fe9571b9c4b06854232e1d65bd5ac71d7be9196bc7102e7e77fb305e49a16e9eaa24f12948fbee62f4f9e5619e36cc92358252f9a17182ae12c2d78e1942e94ebb0a9cb7c58164186d100e73f93dc7a3bc543579a379514fad48d99e32fe04a947be3df5324da6267ac9b928baeb3c9f9b5181262b7e2956f0a997a469fd079ebe57f7396025abf8c594d09ff2f353790cfda055ed8b570abce9c1c18b5ad4d82a0b7195e4f77c48b58d4f31e36f11d4b64deec09c2068aadb0d74f01ff25ec85569a854f9b171bcb41de033beb985413c3f92c7650edebe9af6ed5c4882045ffaadb95e88d0d737188e81c1430b96c4afd02d2895088522706c0b5e22883ef9bb4040bd276f526971d0e7cfaf9b0d965dec0841ff9db5afae213eec385c6967aa84385e5c1148303b54a45ecea61f3e6279066fa51db25a1c42c88e340c1e8ab6f1ffbe3d2eb6a26279486f9202d8b8c02fe4a7830a4adf57764544cc82df4ca6dcf14e332e283ca6349acc8a90f0dbf1adb93ca294a93e5a34eae79a8ae2b066795f242e8408ceba322608f892de6e559c25118d1f16ead863f90456a036f4e976fa07cc9a61f213a62ed075e0668e90c0241f1dc92a14e09602ca27df696de8f90f0e8ae48960a80db14855b0b0b6c7a7a31a6e719a41df797e09dbfa17f93e9f152fb72d5f2cd56caf3a1532640ae8e5dad86bd6d87ff60cace9b651cf90fb8ff42b5d9caa904ef6ca5164fa1275010b4482d12cf46f4c240b3944e0a9b1d9ddf306668c6049ee3276ab596469882f603eede5ee5e890319693f42f16884c7fe00f06c132ae40cde57f2c0cea275edd6b40f866fad63c0661eb07176b43b529099591e63dc369bccb13b7b38ace2347052b457fccc4510639dd4ce5f324bfd6b7ca399398ff20f58bff4d2fb48a160fa04239106c633414289c419b270fa2c8866392b220a142e00299e4f85ecb1c73c6222c7228eb26bccf3af56cb6c4d308e03010b46327aa08af24bb82acecc978824493cfa7ca97646c936b641fabbf151f85f06992ef48f9e7298a8e6a77836a092d1742ab9cfb1d032e75acb3c5db7125b0407591d54d3952c5f1d597c3adb5013e92b172b9175fa38aa3a4968676112620dcb561adb016a45afa5b4b18660f4fbff9f98f21833e8b46c1070aa8e8e95850631f7e25361eac044e662158aec08cf87ec02e16ba4b1e19a969fec3c7d595694c5b48bfbb7aac5abcada36dfaec9c64256e0649942a1171f886a85cf9ef29881f297f5d6ca63679f6dbed9c638f970d65b602ba63ecb00b9e3b8e5d91d339f400f5c5908e6fd16535d93348e41bb0383c0a7f2790111415a3e8948ca0910a4f1e73f85bdeffa4b3355ab2a14e2e8368de0559c4315486ec21346823d21049860bc0d698766c1f5a86cb283b4f549c31bbd48f26184aabf676bf5ad8377df558e3cc33e5668358e12e3c442df86fa18c60241b8a77be7f12af62618e615a6a9193cd6a15fad70f67e63833cc0eb561688be0cfd9eda0e42481fe5a419778e07b82bc45682af16a7ff00055070f5cc0f2062e0a60d4d59a2ba3aad38f055affdb01e4ffed87124d07650e39eb00ba8dda82cde140cfeec546dd555ca15e1ac231db239caba419a2b39393face30ed9e9971f970fb59883b9d524745d8bf1b250da59704349227e9f2dbb0ce7339c7c9e3b8ac6e3c90974ea8e81b1b73d04f254aee6384903ed2fa844a2ab2759d32e0676d7a64f0f8cd3e5547e5e486c0011304a7b4878caf6e89e4c02306e848d266bca823d9631006aa3fb7986eb35eddc423eba51853945b786179d2580e69177311b76da29c6420549cdc8c4bf76aa0138b27a4d7a0986bb891602482ddeb6472fd6be465c06c7261a6fe0f6f8821786ae408b7de34846f158b3518cf3ca21d660d630c860cef9cb392f5019fa32cf12549d1a0479aaa70fd51a0d293d84d45668d072b17d7101aa49957e2ff5d83a59410ee9d0fde24f335a523fa35298fb5aa8c00445e972f6ba8ceac8b46562c781b9398fb2896b1121d66630b50afdfc93607d8bc020c606b6cdaa8f51146d2038abb193f98371d4235207399994b6f2eaeeec8fc5275b1f087057482ae2792a340f9c0eac56149f04012b2b59d72b1ca596cf11ec9401abb77fd62bbeea3a0c6e25ec6e17e6a5cc4cdafd8e8b940e50ad0994878ade0321f4d2c0732fefb0c5306d3835847626a82909b0b96f0fc9a58c8af8f25d8f0ade664cad6efc79739d4532aabfea8d138478b3757b306d75a8ee51cfa7be05da9255b9734261589433ceea6ab8c44264efa08503d7e87de60c40b3fb9112e8c104e96caf323c2d2972680a2145a45218b5780bd769392f9c649093373cca9555a2a837e7b719a19f446e12d427ee2c5f1161d9d1ad24e4f532db0f24a3d902d02ba3d7e6fdc222ec73c16838519d672aa767382510059edee74c619cc2d064a521224abb370d947a8ddfc26a439a028fca6b0ba40b420ec5313db8198317812e1d784b902797d3bf80593d247ad46ce2a9bcc87174527f1ed9a6bb4a27329fe7af6989c31fda897baa7f38b2231e86546654854fc979539125062a6de298677df139b9602d927e316f942cb83da88497c453a45673c3ce40e3b5385e25d0291f25d187894af86560cfd4714b912c9a4fcc2b12598b55c0d9c9173109769b4a3fb5c1d45a21f5103273d89fc3553f5fb4c19079e64b99ab9f3d39ab2b3ccf16ff00f155f3fdf33c1f85aedc471525c1a9cb468489dd92d6be3e3a864b8dbf4a21beb4771f24ea8ce6f434910d99f6141a1d64041ec3cfdcd8589db60a2cde9ced50a50f9986ef7a334173c7604d16e65f1dc67d9e7d7fa8b154a3973c6ce20479626f1706c3efd7bab3d85a9f12690c29aa786e3aaf80352640d0cb393cceee83a6ce68112052d2f6d6ba1d9c7d4089576bbd2550863fc7a0f0a382878c8095d2f3829853d6b221e49070d8512c72879521d5e956d2d0c0895fc4d9a5a59d07135228ba85d20b672db77b4bba77d7a00d45a039daa98cd70973c57c772dc3b0b9df0b3649a8afc35962a03370a5871cc1ea51f54ed2b52c5bfb4fd54cdc68ed519a40d04e6153d4a1f86c276215cf5fba4ee67f6a9d2f38d1ba579d9634ffd22e05c75a90a825f75911ac787e8cdf70366afbe6a35527b8ea875a7e218d15c9b3d833bf485a716ccbaadaf7f501829aaccdd92c02b77c24d49434f0735be5454be94010b68cbd5a7c70525a81052a46e64447caad264d71199db69791d2b8f9466238c9514feffcd74793d43641fdbc54c692e38b28830df7ddc27524cb97f1861034f5f1c9afb935e062411e407b582b09b8c4a6cccc90fbb491fbaa375bb60893979e86d7081017a8ed25538ba08d49e3fe989083869e88a38a8fb2b3044945f121c7e10a5719a93d2b33e080b9ce3e1d783048c6567e2103987d1f842693c41e44d34c130c3371cc2502cda329eb2a46cbeb56d8bd52f804c162
result = valid
salt = eb5f77214e3b70a7422822986dc397ae75bc953d3759a1ab44eea1f08b789d36
size = 8160
# tcId = 58
# invalid output size
ikm = b237665db1d0652011a5eb49101c4d910b11f7f9
info = 5901d8fb43a50973
okm =
result = invalid
salt = 9ad532fb460bf6d4c3eb565dcb84dd0f3c04c5ce962076f1397ca7ca472ae2c2
size = 8161
flags = SizeTooLarge
# tcId = 59
# output collision for different salts
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = 234b37551fb454431c62edd79d67da984eea21e86e56093cff9645d7f80b8188
result = valid
salt =
size = 32
flags = EmptySalt
# tcId = 60
# output collision for different salts
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = 234b37551fb454431c62edd79d67da984eea21e86e56093cff9645d7f80b8188
result = valid
salt = 0000000000000000000000000000000000000000000000000000000000000000
size = 32
# tcId = 61
# a salt longer than the block size of the hash is equivalent to the hash of the
# salt
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = d45c3909269f4b5f9de1fb2eeb0593a7cb9175c8835aba37e0ee0c4cb3bd87c4
result = valid
salt = 1a08959149f4b073bcd902c9bc4ed0324c21c95590773afc77037d610b9584806aeeeda8b5d588d0cd79e7c12211b8e394067516ce12946d61111a52042b539353
size = 32
# tcId = 62
# a salt longer than the block size of the hash is equivalent to the hash of the
# salt
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = d45c3909269f4b5f9de1fb2eeb0593a7cb9175c8835aba37e0ee0c4cb3bd87c4
result = valid
salt = c737d7278df1ec7c0a549ce964abd51c3df1d3584d49e77208cd3f9f5bbfb32e
size = 32
# tcId = 63
# a salt shorter than the block size is padded with zeros.
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7
result = valid
salt = af856d5eed5c77f4
size = 32
# tcId = 64
# a salt shorter than the block size is padded with zeros.
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7
result = valid
salt = af856d5eed5c77f40000000000000000
size = 32
# tcId = 65
# a salt shorter than the block size is padded with zeros.
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7
result = valid
salt = af856d5eed5c77f400000000000000000000000000000000
size = 32
# tcId = 66
# a salt shorter than the block size is padded with zeros.
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7
result = valid
salt = af856d5eed5c77f4000000000000000000000000000000000000000000000000
size = 32
# tcId = 67
# a salt shorter than the block size is padded with zeros.
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7
result = valid
salt = af856d5eed5c77f40000000000000000000000000000000000000000000000000000000000000000
size = 32
# tcId = 68
# a salt shorter than the block size is padded with zeros.
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7
result = valid
salt = af856d5eed5c77f400000000000000000000000000000000000000000000000000000000000000000000000000000000
size = 32
# tcId = 69
# a salt shorter than the block size is padded with zeros.
ikm = 624a5b59c2be55cbe29ea90c0020a7e8c60f2501
info = 5447e595250d02165aae3e61fa90313e25509a7b
okm = 5940d282b0f3f91000dd0fd2579db6ac5d86236d5657742fc00e4d9e1757f7c7
result = valid
salt = af856d5eed5c77f4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
size = 32
[keySize = 256]
# tcId = 70
ikm = b18e35e63cc4fe4117bf2754ec3f9ebb5346dbb0bf6d4e5f2422418771816fc4
info =
okm = dffa900130e1d074c51fe2ed2d7764abe94a2adc
result = valid
salt =
size = 20
flags = EmptySalt
# tcId = 71
ikm = 236c2ba20c72242820f63d3e9c20633162c1cb048a45dea13861e8a138b9640d
info =
okm = e764a7de3f1a3637f41f102d586b8e98f9e95bbc2db63fdd391ec8141cd326259a533fc4b2c7dc6b4fc9
result = valid
salt =
size = 42
flags = EmptySalt
# tcId = 72
ikm = f2cba42dd82acb5d2d569406815a3769b7becb13fa48537fa7d7d5e121081d39
info =
okm = a9ff577bfbbc7e01651d10589f0958f5ec2316d6ad96f9a8c822e4b0af8a707ed5c04839ace033274e5eb748db183d48a2876ba13fc11a3fefc05cbe30b9a18a
result = valid
salt =
size = 64
flags = EmptySalt
# tcId = 73
ikm = 73d97f2ffde01b447a5b8573190a8eb4f87f7ac04482836143f780ad876bfffe
info = 74d2301c5aca2441372cf6077bd8806dab3e8721
okm = 7e447411adcc3af485031fa5cb8d624c812b4d84
result = valid
salt =
size = 20
flags = EmptySalt
# tcId = 74
ikm = 6948521434707e96fa943e44988d1ad409ec57e6594867e8193e9d727238916d
info = 9eaddd1e7edb6b84c96fb5ac7e0d673a8f5084f2
okm = c746740b67f49da7bb6f5d5e6cb5e23509bece3637f33c45abd96fd8b1da48772baf655f24049af16451
result = valid
salt =
size = 42
flags = EmptySalt
# tcId = 75
ikm = b72b3854923b8a0048497a86bddef962552c8f6b2c72b2b2006a1820fea5c6a9
info = 113b708f7522ec3b362999db18699bf7871e3b8f
okm = 6b00010a427093de7e0eed1f22642b2b034b84ebac3b9002229962ef12e53b5baee7ae771a821b385656398739043da5f60d027e1d01e42736a401c853f2e0ca
result = valid
salt =
size = 64
flags = EmptySalt
# tcId = 76
ikm = 44d774def90685c0e9a685fa50fd434c807d1a57896fa42f91778821fe232057
info =
okm = 651d20c6a40e23cf2dcb0d929776e64cc04c3466
result = valid
salt = 0d7d3b47bf8484c8adab7f9c27c9584f
size = 20
# tcId = 77
ikm = 098ecd86354496a701ffcac8d589a1217231da3b80ccce4ef85762d7f3a2c211
info =
okm = bfbcf6c703d8650b8a7d7d0c84f13f635c73e2e8f608adc8964e0ae632bca4d3a70e92e5da871821ee1e
result = valid
salt = 5232e5e4e2dd6133d46ebe5a8a51a0bc
size = 42
# tcId = 78
ikm = 917ad396520e454a571ac39a9f6bc845a8920954fba1ac400cb2988cd8847ba0
info =
okm = 547e55f20ca5d7eb38596f6b60f9bcada416cb9c987439ad3c772b27b98cd39d954f7ca5d60c05164b7680ea25b101310671a427162e39baf08f8efa5d0569c3
result = valid
salt = 962d86949506450eaca929286ce5d9e7
size = 64
# tcId = 79
ikm = 1cbff2202268edf1985bc91466b80133644988c5e81368cf0995274204fb0aa3
info = 3e4f9c8d3d607c2ed43caa9e87e6ecbc307c6048
okm = 7ce3df3702e7b7aeebc2c11c9fc0bf28b2b90aad
result = valid
salt = 2bde6e33534731f52d39add940ff46f6
size = 20
# tcId = 80
ikm = d00d6b4fe088077ffbc64127d6bdb9707a0f9061c0b873c334c3be0adaa7c2bd
info = 4266351bad419173279c901aea148e8b1d99e50f
okm = 84afe4ccca3e7c99c6eb84b33a25e66a604308861622009bc7ca1c52e8ddbbecf10aa92415b003686dd5
result = valid
salt = 1647a044472179d454b8d2108e4a2aa8
size = 42
# tcId = 81
ikm = 9a27c19b607adc8f152faeaeb1282002d3a2166894b7fe5d65829ecdcfaf73b9
info = 36356cdc28187c11cbb9046f9ce7502ab4d2ea46
okm = 96a4cbf7f84bab262ad8cb024cc2766031957b75fc412aee2f539cedcb66cc2acf7a5481c155ae91d7f6b6c2e8484a8c03a3505f0d2210f3053d43d83bc651bd
result = valid
salt = 70d83929a6376a6eab859f0d6225f131
size = 64
# tcId = 82
ikm = f5d1c855d3448e212d76d3927ec797dc439cb182f427064288452988ab79c83f
info =
okm = 8d910333d171e6ac3bdbfc703a1eb64e1db04cdc
result = valid
salt = 87ef5da5400db731d658972ea82b76848004e70d3b22cec76c8be06283c4
size = 20
# tcId = 83
ikm = 3f19b7095a6b3d313b59c3ba2c3a78d8b24f30c9ed4f8be9eb92f8eeaabd2c3c
info =
okm = 7deb232b3eea8f89dfb2527aad8b4e4bf0675cea335d423fe6dd224992aaea61661c886d77034111d8e3
result = valid
salt = 8f1f6c8e4f68830319ae859b4b1fa71f1d69552b0c3e53cbbad26293651e
size = 42
# tcId = 84
ikm = b1d396c69f14994dc8add0f6e0cde4455677ba9ee95ff84a142295f9177ee629
info =
okm = 192858a93bba3736472d44cfd406f745a19afcf72824f5367fc2f931ed0057b88c06f42aaae31b660720a2db6c6052ed91b3c642a67d04d9621682ce877665a4
result = valid
salt = 7f693304bff77534b8246d832749387ecc0e8daeae11d77d022ca9e362d1
size = 64
# tcId = 85
ikm = 003d1901a10c062ec44e0f2a94c544b7f53b33f1ea4679fa6e023c2d0a907fcd
info = d5d3ef5beb9840d15efe9c778aefe38f1bf7bae3
okm = 3154e598c6416fccebc1ab5c820fa8498177ad38
result = valid
salt = ed86cb8c8ba1c989f9a60a4a82c38be98c70e6218576b292c93fcc18192e
size = 20
# tcId = 86
ikm = 02e0647a4b7ccfc0d3ee7ddfe24ce69c02f51cbaa836b96cbc5a9c2885c45599
info = 4e9e27d971e76fda614fde15031f6664b97d4786
okm = 693bccb2426f36134c61fe44d8f77801dc55489cfaea660f0c91093a82cfe16844a7f60e416edb0fc5d1
result = valid
salt = f0862f61f2377ca34b76476ae21e331b114c7712aef501a1bf00f7e9cb79
size = 42
# tcId = 87
ikm = 92bfb7e31e839f109e6622b2c2c4f41ce84c9907172681920e7d90e80e2339bf
info = ff36776fc755722ff371f21cfb37a168a2731e99
okm = 325bcbf88f99f347fd2a565814d435a295ad73ec203b951e56c11055c62b989bd8138f3d0268672b8b1a1b7ef00578b5d30bac41848383f4e5392b7276121d0a
result = valid
salt = ce869619607f71fde53ef55e18d01d20002e3f91a8b7584190fc6667b8d2
size = 64
# tcId = 88
ikm = 17632581c34ab743992cd99318889b32f92812bd37f41636b5fbbf2b12190c6f
info =
okm = 696d76e5811d7808a8d1ab3f88c699685e04f12ebcb7eff276bcadbc9492fd163618f01ef9c92e597d57
result = valid
salt = 55e39431c83648867ac98eb7ecbbc8b41c5a5e774646b926a9b49c511915b0de1241f8666da198f6ba4bf7e9025e434b6d7ef794e7a563309303055fe3bbe769
size = 42
# tcId = 89
ikm = 045b4d451bc30c39afe0932f6cd62e65b4b2ae2cf1160f19e8ba1323f7ca146c
info = 613e353162c6c1b12fb1477fbc54074ff7848a14
okm = 46f80edfd0107fa0ee7679870d8053efdc002b34a631ef9e80c4ff71f26f1adf67ad86e5e010e03e71cb
result = valid
salt = b73682dda0fad41095070b2b26f2d7d98ac62202d918258ca9aca0f794ef5e4d23b3fc43c8cabf9fcb37ad9a62337fbce967fe24054c3bf891195858e53997f4
size = 42
# tcId = 90
ikm = 82efaeb5675daa97466cc61626f3979943f3fdbd115488655cf7d10f278b4777
info = 2ef76656956e76c6
okm = 7c46dbc4ff032e1f51eff7e5b42f7964c0033d2eb1fb9792c9a2e881abf28cf3
result = valid
salt = f0950b72da1658417656aaff8300de0ba25c294cc37c8cbb5d21500db5329655
size = 32
# tcId = 91
ikm = 29f4a06c406716a2d0977bec7da2b1744558bf9cddab315d9a335664e0b3e7fe
info = 5faad6499cb41564
okm = 7cf6836ad2510c69ef9fe46956aa21646c59debe68aa2275245406fc317ff9aaef1ee4ade1c393070136c96eca5f84ade585215f4ec4d6db
result = valid
salt = 76ce4f337e3cfd2e2f6b285a658bb91e036f9dd2e18cf29c46765e62ffa37b29
size = 56
# tcId = 92
ikm = 2b1cce4f551d59327f13e0eb78fe51ed5e74d1c5bce2d500d832b4b880c041dd
info = ebd644650e75a774
okm = 7710f9f762a96aceaa5096058e1fb32d62803c1f7fd3f63495bf7773ef16956f3000c53616bd5bd12a5b28df53ae7ba7c36267e2970bbcf3c4b1476928f44c0906b6ab204a746f069cc9f065e038143b842a9e69208a37e740e808c043ddaa663e52a1357617eededfdcbefdd7d5b2c5c0b208f981da0a588b10413fae9ee7f8
result = valid
salt = 7b9ab6287dea796394ab0b7d260476d02f86e02266bc9711f8ba4861ab69ac8d
size = 128
# tcId = 93
# maximal output size
ikm = bdd9c30b5fab7f22d859db774779b41cc124daf3ce872f6e80951c0edd8f8214
info = e6483e923d37e4ba
okm = 5fd99b6a94d1fd2fe8e1f0b9a7b32b6be4b9dc967b78b9d7a221321154c12ce014581e7660649e582377272bd13cbac2c9ae66625b613ed01f3408a560a213e8b6d364bef03ecef71cf58598dcf218e461fefd6d12db5cf2bb196b79082c5ddcb5dc7a83217fbf93c4d89dc803af71c7bd1b91ed9eed4e9515032445d83fa9698433dbc2c357a587df8d1ee4230e1519234992759bcc2b5261fa109141eed97c090806929af8a26d949f505c5f6d0a7c9f5c85e687d947691fc63c44215afdf0223b3813da09b2683e19b8625403eff8e28bd5de09a250e900d9fa8d74dd43904cc21304e708df0fbc6c42f35ad2f1223326ea921d92b03d56208cad1477249e0c9d741327dd264b1fae6f2869da8cb3f4ea0385d7ff27afd49155d2d4099c8f2afc5a93da83b8d2f8fa9668c2dbc66cb84376edc38674b7cd0285c1cff8db4d9b339973055c74bbbc8070591da6b86f5819eaa774124ec203f8e16ed9f9b03207c21769be4b989c0990eb5fc8a25a48b9a906c72f22c5b9d1fe3bbc77d0f276ed3de40bf3699cdc9cc00c5289c8fe1071703d9282d751e0d57d1d68b427a642d73a31b57d9cf321d5faf612223824a58422cbecb9d5f5497758f6c84799649a06cd59d6bdf786ef28fa0fc4d27c33fab33aa9118403286e0f0f5bb01db77e3683dd2765639d5f67b39e3178be9adcadcb336f25ab81701382c8cd9a1faa79d89817060bc3972e5279b3e04d01ace7be1ae79904091f2127945e853eedac23f6eb2ce61aba8e4f789ecc82c6ff846c289de412e0f393de8f1de0ee2024a3acd432f8806122c98be4bc2cc54ddcc80453880ac122a5b37c24a2daac608436a148f83a59f8bf8d9cf40a61ae1e03f8985ce181aa16c6dde9f23f1847ef8c142db603abf27902796140b776b3a98157e449cece81755ad3e0f963cc655b06e4f732a0c4cb8b5902d79d534738662b7f484a2ed9d328b7cc8c22ed5f29bdd13c1a655ed39f0d01b91d5d1b57c0b9368caa362792ba43a6fe58d37af166fda6f440539676fda63b1f42cea3e621bdb8e6f2909d06a38a59e9928f1bb8b0014b43eedd178a14cf070822f4db83491a42a2a07da28e728a998c4386a36f4b4b78f3b66a4716e059b636074f26a9b4535d3009ada020cb04adcdf03b798255896338b16331931b3a803c1472435ede2539d15068f6a06faa16d007ae0660105f3f6a0533792889a13c43fe7cd1ad269e188ffc3eb7dda490848239bfaba8720d85cc8189d48e3be227fd95dfb75bf6ef60bb56dc61ab0bd11bd7e82a6290a249ad7aedb9d0a5d4e5f24fde436b863602285c4825f53ffa99763aef3fc2de5c09d3daa37c5a81b42444676c48d39bfb710921a9e3fbe0cebc110c02952f3dd870fad0c61abaa40b90756e86496de4ceaff9e4123d3e561d62484a7e4f4acbf104ca2c1c4158c9f5e19661c89264d084e5e0b1e505fd83a644ae6b61be6ba04ccd79f42045e2c9254c422aa9a95ae632bd0d2f004e6d7406e83f86a37bd59ed571d0c2ff5c27a7fe97cbe922e0632c93bb7f59f3ff2773774038fda7a617aeb3fbb3ed3732f2b3119333ca100b0a43a0be9cc8e22e699f3e5465edf697d7fd209516002feadcd5a2fc5c3120ec1eba7267c25b12e47493425a257574e6815d0a82d75182b8793eb2f5ef11802ed8cc548d3d465cb54b2e393a840fbbce3d52d404706b441bac12eb462048e3da796c31effc64e3ec372edff1ca546fca3446504e05f5ff9116ab6e0d511a768f70dfb4ab612f12a94714baa0d9df0360d4398d2a7f706a6237d11cb8c36ddf06082008fe1518c694ffb291fd17b8fa7aec004c0696b7ebda028f428fb1130b554590d9d3c0ac15d596ff2ed065e0e812b1e6056862207ab2fb6651009c4a724a41c31d060342fa54ea30390596295e7861d52b9eaf4c7c1c4bef5b1f2606696c570068d8a8f9b6395576071bab35d6749d042370a4042c8a1d044c8e9db39fdc475e3294d2f3faa5c8cd6b833f432ad966f044e4a6e76e4ea985caafca2f2f8828919092fb5f4b7ec5021c1835b60a04f746c73018f01c0cf72a8004076f2fbec0e6f5572241b0141684544998b085e931402282895c027eae0819719a14c42984f46712a954343c4739e817460a1d79e06e8653060de7e1eb34b2a05ebb80750e42cc77060635aefd549cbbaefc55820da18ef2a784a7d8d87104517447085b59e8f2b97a9e6deac97d759fd363cfffc4c4c3b63af30e6958dc27bf46c786a7211dc74cb6405d374c24fc02362a283d822cde59dc72dc0a2deb07d7bc702c49459d142adcdf364103b45eff74c682fb47c7cb34a00ec01de18687c48675494ebef1f09a0a05d5597be15be76faffcb321e0d6984e4a449c92078a9b32ded0cc61bc80bf2b3f06f9b3379f438b022960ce4cc570644db11c1b9833a0f054b6311e155c17ecb0ee8cf73d4e8a762a10ec9e98d7057dd4f00d0970cdc8b6f489118fa3b18d98d506179206b1c4c43910fd81e8df00c1a5e38cfe04c0c5128eedab41f33a238693a42dc02ffa7313cbb79919b482c03659001c5aa36ac96482e882e2963bd33ce69dc0f7a5b82daab911ed9585cfc5a1880667adc0a37a090392b760d9077711ee77d06a7c9f9c68089f1477a4996c32c6f6370c57740605725b46c0faf7ca759004fe19a2ba7829b21e413dc609d039235b97fb5bd4bd6634da0b2ce67946d2047920c7c11279ba0c0ab4fddeb12a53bebe7b5f9c9b02ce66c0c7f691fbcb19914479ef3dea2285a6f0c78e8c81816c35b00109b5f4a6c71909a617ea4d73e4d9311257b828c65019db542b31a72986194b233476cf107cea9779788837f06cdaf9cdeec5e8df4e20af6fd8308d2bf848bfa742ed71ea6edad4b4595ce051abde0d456ff3adf51663d7b7bf291c2f25fb4c0def031d59d48eb365314e1c46d60fb326b136b51cecc05770fcd8fd4d2c7de05ad33be61daa48b96740710fcbf264a5b5a9bd4adef533bd32b1b7a9069ba30c0dec693337d0904019acb1e56858112052955dccf36951eb8ddb50b3e1c37d429c2ebeeda10a0f4c08ff73f7c4147ecf325334ad1e7b85bbccabe7f5cfc225f083cb2615af44d5621449c949d7cb15f23665c7f575ec0adf5718b72eb94e91dd3efee019b255ac09f69bc581adfca4c81432ff189e88da22a4393abc531af4d59344b55df8b81fe7e8f165cb584b120353fb96b6dd2f05e39ee71c859260b4047ca143da050541201355723b8a7a799602e3d67c24cc67629a03876dcf59e9b279cc7ed6503898d6a29eb7051936b5ceefe5a3aa95d31cde6814d7dbbce5cc738f6d04611e8326bf297605107be86e47892fc834cdbb7bc6f45306cb1cb4a9d9f8ee173e8b2af810f827f568e0c43d0c31d782b09a971b414e0ff003cabd04a3e05a596dbbf51de01bccc17ab7b14c4cfc10813cacac54c15e0b1835baf04319463e0198dda56e225016530f35f88cd29a2b5d4dd22b76471fa781a4ac92cca161e2b0b4c41573c638119125722195be871dab7db109b5e66e79bca5306b255b58d3589b3e08bdbf48ec6c4cb5f80163ee84eb55fb17aafe437ea8baccc91a40d078a213f2480752097110aaae940e9edcb1a5db2bd4819286160651ada8665381be49419e01be43ba9c26b0b46fa5d3149ca2b9ba01a15b46612f1a61b3a3769dad50f2e8b05d94fb6cf58790ec3dc0238a7ed6bb2988a7f8e56eba7b228db66d4defab147cf254051852c70f7019bf0dd7e3aad7e49e5bd73f7f6b0dda03476126b0403da7d1b1328921362011a9326b022913fa7b054aef78fb95d3f979aae8f1e1198f105b84a3c097cb77a6cf85958eacf940d274284f4681ff0bcd3a37df5e6fead6c252e3a3af01b730b7cfa90fbcc1e0e1d9af39b4824203c0f4e247c9d393d1ad045f7578972d1b2e4bb970b2545d773e46e2dfdebbc0193372cbb35fb3c9799a49e2bbb196c78321ab28b1e29b4e1f3ac263ca0f3854c4f28314d7dc5ae5c3b47e8fdf8ca74313eabe774acd8feb84583216d53c50d7ebc507f0bccbaf713395c6641021c46aa188be18a3a10c81bbd37f273ce93978ad300ed9691ebb52784f7a0208d34c1eaa2a32a56ff863272f7620576d6a3bf593b87344bfb2a36f1526733cb657ddf0d71881035e3d15f722c69cadf7a3c3f690bae474cd619bca8adc4917322db1130ed4ecd0eeb986f2532760ccb0050dc993e88ba425ed35220cbb7de97b7491c511f244aa243301ab24a72d8dfd6de27ddc5bae277b818cecd1066d0929a11ef1527cd9cace1c598a709aa8ee160f062b1cba0e05f2aa0a9fb5496283465d036fa736bb7e162b693733409da5b2245314926a965f4599d8e3197751cfc33c0d47e2f32a53440109bc257e171bcdcc2cd92adc8f63eeaab0a9d8111a752d37998ac37e47b1b73abe52036c418b039ca2d7214b010104dcc31ecda77670e49ce591e8c422a87243e7529d1a214a84720328811bba534b64a4a893169322d03b2bff9fdaa6df1ac474bb7ff285f3652d171a460cdde44706e757ee9b9e5957d3503734df518dfa30792b6d916877c61a96bba4f104b409f6e6c378dd331fdf6ad124b2b83b885838cc8ee3092b6b30e752058e821a66b217ccbf651dfc504450e71ec6586e5f17d68e7114a1caa8da5360a5aeee9de512ef24aedfb9b48ca3d218f2800aa0c2b8e9e7cddc99a7efda35d71f11916be2cffcf12be9dca9644a856fc64cccc93940d2ecca09b2ec74af5279a3b33eed028ca439e2aa7ea02d043aaf3bf6f13511ca11162951fb9a638de1bd4925d430a63a02da095bd1439f121de1c619627edef0d652c08e4240509f99a715c51e30c6a95c08705355a64d79df580e24700283bb31692b1d1d558187d13dbf61174585915f5da61f22792572de06a64be18270608e0f4723612ca55d295d99a12751d85a54c153713d8bd3cdd0ec92f5ac910b8d27124192cb6d61479461fac6b4b6f0bff38a67c131e3a01c2eaeb6e88673a2b7d45ae3275a19e4a127a672cd91e5497a55ae90178d8130862a223a4b20b3ef51dcf658d63d26514a22107a18051f7f70a3aa1bc69cd60de295b3ac351552b909605a48a983f6ebcfaa1bc13f75db0f92ac8ee4af89daf8cedbc64cb880ef0f2b4679935f0d1cc60a60c5024a7c16ad27ca9fc21c889387977ea6b497d7c3d5e5c45d1ece8c19cca96c4193a19b36b829334385dfab2bac6158f47eefbeec3b171069f516d0fe68fbabde4009d09735fede9298d59d70791ce0572a48283a0549165f9937f165b91003dbacbedf6341b97115710021c1c32263d0edff55d10410628ff4cb5ce3b010951cc6b16d2756eb14ade18005944f0787c1d3860b750ee1e90d1d7a7bafab9d45e29260e0f228869fb353bdf071ac6fcdc0b87071b20d131cdc8305c5a91352d9ffb376e86cd72ce5973713f1e0a2d2079b133ca8a27ca6594c4631900da68dc067dac381dc16ab4da1cdb1c494f295cdd83adc791644fc6ea04915cbe120bc4f2c0e0a93d81c9cf1ca9c302497068c854d2b26d2d39b08c80efc43ec29f268a21a1c3afe2582e5741d7e7a1f364f0fc1e6a760caf6dbdea461b273b34a501dcb7e323f5f3467949692e2548dd60781e8c98262592f73e158d58d579d7859173bd25624e18c310ea8b2dcc5eabb1581b59131c877b663e55532cfa079fd08b4ebf4e9227152d69677d6e7152cde685feaff986167d5331fe5f8d2b509abaec8d2a8771e310c5aa188daca39170f42002ad8dcffd74477ce628c5d157e6e2323c3d2e768749a4194d41a9f6a204663b9efdde8b65d9739812513374659c5ba2ecb72b29a874c814e9ac1e71c005fbbe2b9bd73b00918118a8d6cccbaf2facb4cfab078aef373fa61a7aba5bed3e4b902f2ac9e5a41672c0b8aa024eae9a3e0c9b2365e2f5d8f4b94aa80425db5e16a414499f27eb4e8103cc1da41f2f25579246e0c32d8bc09f36f1f0591ff8a7acc32b2b16dc36ae4c8eb35ccd330eb9dba0abd1646b685f90cc6564ebfd51b0541050ea10e920051c2c2d720747a0ecc8c59bfead9ed542ffe1ff84c8755a2174e6292077e1bb452d199c75fc65218701a3d65a5acdd252a83df1c39745789cd35b05b041206b6e7e7b8ca46671aace80601dfbb50a9b88d636b6c8bc8318e3fd1015f6aa06a59982104ed7d08065a7d99c52f5e03ee16e0e58ca717a899fc1d329aab6ef3f5c442cabea9c20e61e7518c637a975bfc55f5957700b16e2ee0abaae3ea3a10198d7cb7cfde8d74588c9416896a477945712ba256d458b7a076f7f5750588afffc44f53ff99f77060c6dadf5cd921661f72050af110bed15d92a9853c5190d1cfa0cfbd5d73209f00b9257f9fdfc960b338642b7007b7b449bc9858391a4e090402f4b26b818f4f0e759aa583fccb0a54f1707cc222071e8b571ad78a68a1e37601ae655666a955bc5385084830ed2bff7d48af88ef15c08a59f163670a6d908dbdc464075134ee28a8b91a82a711b0ec8eed5ae747b023f0323ad5db9c1c8e7cd1436260754363f3910a94e240becec54980cd3ae6cf82f7e0d642f91045f722bc1f62866ccda4069718c2ab6f831b9b17e87ab967f58fb50ad011c541b2ece0971eda5bfa563c9d3be13cbb3c9c00b9e0297159049ab1f798fae5d555f1b76dedee3eb174955aa76b960815a9f9d9039c45e23f0b855d1c936adbc44cf79217332bde34937e523c797355f95e1ed5ca1e7ec55df924a92abd8ea4beed019aee23d4c31dc78870c90371d02f8c499bf94d6ebc8dca987a294c705f455637ca13f486d6bdd2cc4f6c6e41576ac70479f63eb74f10bb0ed3e82e26d92399046c5fa2b77720415b25c0d86ebb435d5faa4a53aa7103d035e050aec235e848c1d30ef28f49bc12badf7e1f1e9928614e373ad0f462991f0f2cfe39b7fb10d44d6abd53c506e7b2e728ae537ea2a126dfdb3466e373fd773deacc438d55b06f78b4abd8aab4ab2b694ef7422c177cc358ee977afef5b5d50717d4856c4839e747cf106cf1af079c33e8d946cd20a240fb94efe18f0ac7b1c9ab8be58e891976b7e7693cfb0592901bb56da2918b55da38a3615207720972a028266398ef451666fabe85d79b154c0e8157057847d93c7cd14d9fd2173b0f6b57fd7aaf2fee3eb98f059c7539557679090b842186357e19fabb891957788e34264ae867a83f5c5a1d79cadca44dee4ed6797611e9731da5a98b5b43f6a48a67431fb5b1f28e5edffe36a188cb696b0861194bb809b0f8687d790d0a5ada98ab06f6c1aeed04bc1beb0dbcceeece2e0ff3dcb54615206ec070cd109dd6eb5b4a84eccab44ab4712429eb91c5bd2b22f04ea140c252db8f65c42fcb09ceebb9e1de961a8d9ce1e536a5e040f9999ebf9bd8b38cb3562fa9b52ce8e27877303d542896526d5638f8fce8b69dc0ad08e9b1edbb404d24ba86bc37297a5dc0608557f9c520007078480adff54f8a6f36cba5441d7261f1985ad48d0d12b9172e1a1bd463d102134527099ce0c919d427dc53478fa6d6276e438cf83abc94414a5f73da8cdd206613833c836edf4a5d2dbbc7689a8c1abb9cdef52944d31a65d61f5d5a780db652e55ca89dca7d67b7e920c08e95d7d0252d008194b5392c948e4c00da29c0ab2d6a8d8e71fafb5c25e006a5c60ca27179312c7254e5eb82a9797b50169b21306cadc75a96b51c76f0685ee77b13d1d05985c1fcb8dcdb131f5292b79e076f101228173700800e8cb992e2fb3f06565ea245320b1abcf4461e40e6d01708758aad1c790f7859c47d85ad07ba8e693a056907ef24c37e7b2ed52ae5a36552043dc4cb67139b5bac5cb42d2641dbaa76d16aa1471305d677eca15b2ab5a0c54ac4686afc42e541c2ca6c82b8f2a0e4ca0b84d70822d3c86c3c8344f11cac9a1d9a846dfdd55d3789fc1b48c4382d02eb6d9c1b56d7ab915e10907383770457c13ac1ed8cb37b382043b00b921dad98b35ae0f62664b612032752a11902b4abb2b57f403a8417d58467eb35566fee7508e4efeba70f10fe8eea45aed2c3ed7d1c4124d491a4a609267bbeef11f79dfd8fa009b0053cf07750264a44771d94fd7f59477ba8cc35e98dd58e3b32564449b5477abdc1626352124323a28db2340a3813fed4291d6e1ce3d247cbed072c92b0c02214673a5332cf8df8f533a1d042e63b087c0c6666082a6688bdaf355c28592e933ca0d22b271e3973f8c3e19a73eb247041f0c4888ce1933e64b9353b8991e8e6dcc4bb680a4cda36eadb8684ed368247c079e3ad3c9eca7bf36af7f45ef899345b8fb087d7b9e0d74169b9fa5a25cb01512479c6deddaceca52e56682cc4cdbe1228de2e2fd4e2d960c39dbeadf0a170dfee63c326b4a1ecad2229c8244920331aca9b2aee0e2f8734f8b33044eaf313adc11332a2c9665d11021ed9807b8cb25fd533f36e9aaa71a725de7b51b60d00f1ef156027d7170d3a3ac9f05d7ff28c985322ec94758a93ae09c916f114bced7fbf18f8a87e1e7e0d38a45609c78c3c7f4215de6319be36f4900c2a6a333b680be8997b2e5ebef0dc61c45085ac0e7194070f17d1982ae77ea146fca09f02f4fe51ebc3dee456bac5103a7e9d92c6c3c33fa401e64fd35e4ec598c61a9a3a509383cc8bf206ff3686e16a62e603ced7512249b8d0bdbfc8c8e17610e04313ef99787bb305d7eafaf61c3f4bbd655fece58867d68a49aa0569e1d4c267cf30af3096b9c6974a1e14b88ea41d390540c7b9dbf5f796d23d4fa78493eab7f2d8f9004f7ffdea1545a49e54802468d30bce39995d712645aeddbecbb0cfebff195ab658fe05c04a31c6254858af5d8e57f4098e638f1faf3361d851bc7d19e72d8347c3fd27a16fcb329bbf9130af7120e6b8551fb82466f6a75562c50199017ca29fab28b0a38c1a3787a1b66d5edc9d7937ddc8205a210b5a339170bba3fd387e776fbe0f0dc1f05a339c0ffc8ea6f5ec60a7b8d51154103939fbb09496c79e6a62acfa592654be3067ce0fb5faf4499a7bfbe01f0aada0c03f8bb84de45f09e5a4b54bc6edc14588b705688fef1d0188c8726e69ce8c6cf22b576e96810c586601feed56c7926f4fab1cf71802fd25f8ec4ec5b27a5e163ea7a9562efcdb31cf49d310e073287941335babe8d8b1df469e47ae1dd068fa820453db30c3cfc4f6d5857235bb0951ab5e2efacadaa5381184d0a03eaf9be1bb86f8c7a15f078f0be01ac7adb3b1c455e76d1dd3767592ea6cb12986c48aaa4c20a00c8d11bfa44606f5d8475cc6dab844940f88831955d3686e3d0a659abe6482d560aa2c721525e66baa84ebe53aece8e36252b8d2458b955f55eb3706047683130aee910ff235fe48d2e44c868afaa3fc4641948d5dfbecf3ad74f7acc4457207f7e292ff1355af9fa109c498e2613f13071b229a4ebdc69caf29872b6c98cbd17b60fc797214bad78c987451e46418735bed33551e997e6bc8093941ae3d4a6d6a01c786f689e121e02827fc0303852bdf72f44330ca69ce6cc498cdb68823de53768741dea09be1bd98cceeb7f89cf473ccef1f3e672d32188cc599f37ce5255edc6148e7e2e3428d74f112916709609911f6b7f3569c50b9ae727f3365e1f14238184e9c67d2149c2ac408c6f7d7eae8b3fa763706dbaf0271402d92c639810f59698dc9117ad42e1c19701c1d32f069875838b2d83e5a8c8a064ec82dcd1ed3526e01bc511c41fc09d53856dab28f60107769eb259658d84c50e6739edef6f4df380a74c17db01dd0ac1f5465b3eefcd046a1e52bb54c98e52a22af4497c5b59d667b54d7f11969a547555d573df24946d51887f45fce145982b4f2632007f25f280dd87aec910932fba1f742218895412136ef7041f3d00e88efd80260597434a0fef735d07a3f57939821f13dec8de69fc4bb98f5ea8317ff7f89bf7af215c7875142e6c894c596a24acbb703fd5a4705d37ead919326ad55d19775b5765a7cd60314cb453a96bd8c64f51f19f9144f3f88072260d1a27d758fa670d63cca7b5d1ac750b591f0227fbc250f139e663f42b0e8318ee709f3e2e04015ed16918c57bf108f7a8fa0901c99161734db72e530c4e2f41860b0fd703913b4e1993a0fe32e26c2b93fd195aada3b88ae1bb5f40ec7e07bd6bfe95fa1e3cb060a3dab1ca52d87fc955956a25543af410888972e7984eaf94e80faa1b254569c95b0d52badeefd14e4cc14c42ae12adaac72c9eea48cff90ec96d85b37e0225ff9bc82cfea6499ec29d56a61bec24284e885e0021163b14649a050de5a90b5b941aa0ec0891e7d7052d045ef1ca93c47921019b3140b075eb6d99ff5c327f964b5ccb4d3fd4e9985606fa1f2850d1fa5fb1e902049c015d13b128f322fa47ba2552fdc2cabddcc3161b34ae0541945429d7607627b45bd7a808997dc1d5fff59ff3962a300da1dd37296d1cb39425e5fabae502da8d740bdea15101e63b97d896229910241dc438b0937b66a0df0730a966a00df510a54ddf1fbec550093591f891b2cb17934f0380094e096d0448c91bc7d28a5719ec9a8a2f6df5b593a15597a7fc6989eacbb343c928d7fc5e9051299b02b42db3cf3723e92250bb84fda24f61bd5a86e2696f5aa07dd1108fd5862ea54ea307f5a54e7a192f9ed2b214ef65924eed31e07dc3b7ba9a4195b53d446104060f29b26acbd1e36ffae1c0f96d2310ecc1d9ca125f3dc682678a47993bedb9cd91133740d17eca07bc0eb3d8ba18a3eb52f3d6779298045766f33f813212e766f76e48a4b0416b5ee646969659b490da413df61fc3d961b87793676a877123ae7038b3d10fda9fdb2a990097262004b63ae4d992270d53ceb9572f87655f0dc91b78bb4a8ba6047a16ec25fab31c06ac7a2dca432d4b7ae82b1acfa3ee0910af0f7717ea57f98d3330bbbfd0ce475815e85340be8f3d1d713b0d7c437cd5a04c5e511c6d55314d61274e8354c37b8c54b3cc613e9bc97ce393fb2f55873105ba127fca0716bdd399905948fe42b76e7ce9a3f6e91abeb51c346952241edd6edb9c6873f8ed5ac470ec6f69e75d42b88a643b9e10c7515b93cd66cf65a636f5f6157001c4082d53c5876ace30248dd982f035e6c4122a7a5d9d299c7774e55449af162b7a7a33394742817ffd6c4b5aad1e62c7319c1e6724d6fd0c8c2cecbacd2a7eefe17c1cb0b87945f3a19a3cda8cad0935fe7cf6211bd71b54463ce9e5a9616a5ec60bc5c85060ec0a6e63d0c5750d2bd36f6042db66accf596724bbff5d200e3286ca26b744aaad6288cde5540c8d2e99e6b682d19baf0bd70582c572d0271f259b6260ceb5bb831207992c5b20c8bd37067e48062c309236bc08cae43ccb0fe28dd0e1d05a910c5bdf7e255e056b06cf36d9e384e76c8cc42827083a300be06d63e2f17dc39415597fa647c502fe45cdecea40cdf6a5a133ebc8beb2303bd6a628f6c796d71ba2a5aaa4f0105
result = valid
salt = 90983ed74912c6173d0f7cf8164b525361b89bda04d085341a057bde9083b5af
size = 8160
# tcId = 94
# invalid output size
ikm = 2b1017f28a19841832f576bfb3108db78a1e6f2009d49d25aade75d403ded34f
info = e4978d1c18687176
okm =
result = invalid
salt = 41535a35ec11384df15a0a24a65f067591b446ac4514f7d981724db4900a6106
size = 8161
flags = SizeTooLarge
# tcId = 95
# output collision for different salts
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 2d0d642aea95ee9892fb87ac392b06aeaead1735c3468fff85c4d65fa62d4a06
result = valid
salt =
size = 32
flags = EmptySalt
# tcId = 96
# output collision for different salts
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 2d0d642aea95ee9892fb87ac392b06aeaead1735c3468fff85c4d65fa62d4a06
result = valid
salt = 0000000000000000000000000000000000000000000000000000000000000000
size = 32
# tcId = 97
# a salt longer than the block size of the hash is equivalent to the hash of the
# salt
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 99dfa94cc0a5e1c313ffc5b3e664149bfe9c85afa7f4d8cff61b7b4fe4b9515a
result = valid
salt = 0102c651e047fed9c217bcf915520532d44999534c1e7e7c87311093d7a3681aff3e2d335b3c6139b9fc66dcfe35573b36a329a550c4cd20bfe2a90dfea50167ff
size = 32
# tcId = 98
# a salt longer than the block size of the hash is equivalent to the hash of the
# salt
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 99dfa94cc0a5e1c313ffc5b3e664149bfe9c85afa7f4d8cff61b7b4fe4b9515a
result = valid
salt = 4031634ed8a9a6152058b921eee93908e7277f79263e73976967278317c2b885
size = 32
# tcId = 99
# a salt shorter than the block size is padded with zeros.
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824
result = valid
salt = cd920e8dbf19ed66
size = 32
# tcId = 100
# a salt shorter than the block size is padded with zeros.
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824
result = valid
salt = cd920e8dbf19ed660000000000000000
size = 32
# tcId = 101
# a salt shorter than the block size is padded with zeros.
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824
result = valid
salt = cd920e8dbf19ed6600000000000000000000000000000000
size = 32
# tcId = 102
# a salt shorter than the block size is padded with zeros.
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824
result = valid
salt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000
size = 32
# tcId = 103
# a salt shorter than the block size is padded with zeros.
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824
result = valid
salt = cd920e8dbf19ed660000000000000000000000000000000000000000000000000000000000000000
size = 32
# tcId = 104
# a salt shorter than the block size is padded with zeros.
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824
result = valid
salt = cd920e8dbf19ed6600000000000000000000000000000000000000000000000000000000000000000000000000000000
size = 32
# tcId = 105
# a salt shorter than the block size is padded with zeros.
ikm = 2b54cba29681b6ff2feaa9202b87322d861aff8a8260e1bda68d61979e605b2d
info = 1301b63168af5451377717f7f5ed52de36a197ff
okm = 64f72009dd00e4ca7a63f4b9f92dddf6dd074b5cb3e0fa753d47748dc42f0824
result = valid
salt = cd920e8dbf19ed66000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
size = 32