hkdf_sha256_test.json (92899B)
1 { 2 "algorithm" : "HKDF-SHA-256", 3 "schema" : "hkdf_test_schema.json", 4 "generatorVersion" : "0.9", 5 "numberOfTests" : 86, 6 "header" : [ 7 "Test vector of type HkdfTest are intended for the verification of HKDF." 8 ], 9 "notes" : { 10 "EmptySalt" : { 11 "bugType" : "FUNCTIONALITY", 12 "description" : "An empty salt is a valid input for HKDF. It is equivalent to a salt with n zero bytes, where n is the size of the underlying hash function." 13 }, 14 "MaximalOutputSize" : { 15 "bugType" : "EDGE_CASE", 16 "description" : "The test vector contains an output with maximal output size." 17 }, 18 "Normal" : { 19 "bugType" : "BASIC", 20 "description" : "The test vector contains a pseudorandomly generated, valid test case. Implementations are expected to pass this test." 21 }, 22 "OutputCollision" : { 23 "bugType" : "FUNCTIONALITY", 24 "description" : "HKDF can generate identical output for distinct inputs. This happens because the underlying HMAC extends or hashes some inputs. This test vector contains some HKDF inputs that gives the same output as some other test vector.", 25 "effect" : "HKDF should not be used with variable length user defined salt." 26 }, 27 "SizeTooLarge" : { 28 "bugType" : "MISSING_STEP", 29 "description" : "The output size of HKDF is limited to 255*size of the hash digest.", 30 "effect" : "Computing outputs with a size larger than the limit allows to find colliding outputs." 31 } 32 }, 33 "testGroups" : [ 34 { 35 "type" : "HkdfTest", 36 "keySize" : 176, 37 "tests" : [ 38 { 39 "tcId" : 1, 40 "comment" : "RFC 5869", 41 "flags" : [], 42 "ikm" : "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", 43 "salt" : "000102030405060708090a0b0c", 44 "info" : "f0f1f2f3f4f5f6f7f8f9", 45 "size" : 42, 46 "okm" : "3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865", 47 "result" : "valid" 48 }, 49 { 50 "tcId" : 2, 51 "comment" : "RFC 5869", 52 "flags" : [ 53 "EmptySalt" 54 ], 55 "ikm" : "0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b", 56 "salt" : "", 57 "info" : "", 58 "size" : 42, 59 "okm" : "8da4e775a563c18f715f802a063c5a31b8a11f5c5ee1879ec3454e5f3c738d2d9d201395faa4b61a96c8", 60 "result" : "valid" 61 } 62 ] 63 }, 64 { 65 "type" : "HkdfTest", 66 "keySize" : 640, 67 "tests" : [ 68 { 69 "tcId" : 3, 70 "comment" : "RFC 5869", 71 "flags" : [], 72 "ikm" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f", 73 "salt" : "606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeaf", 74 "info" : "b0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff", 75 "size" : 82, 76 "okm" : "b11e398dc80327a1c8e7f78c596a49344f012eda2d4efad8a050cc4c19afa97c59045a99cac7827271cb41c65e590e09da3275600c2f09b8367793a9aca3db71cc30c58179ec3e87c14c01d5c1f3434f1d87", 77 "result" : "valid" 78 } 79 ] 80 }, 81 { 82 "type" : "HkdfTest", 83 "keySize" : 128, 84 "tests" : [ 85 { 86 "tcId" : 4, 87 "comment" : "", 88 "flags" : [ 89 "Normal", 90 "EmptySalt" 91 ], 92 "ikm" : "24aeff2645e3e0f5494a9a102778c43a", 93 "salt" : "", 94 "info" : "", 95 "size" : 20, 96 "okm" : "d4cca5e416c3d9eb58bd562e922691daff76aa4d", 97 "result" : "valid" 98 }, 99 { 100 "tcId" : 5, 101 "comment" : "", 102 "flags" : [ 103 "Normal", 104 "EmptySalt" 105 ], 106 "ikm" : "a23632e18ec76b59b1c87008da3f8a7e", 107 "salt" : "", 108 "info" : "", 109 "size" : 42, 110 "okm" : "976d1590926ac35e28d7f1a29fe98a1f787703a71cee3cb2c10acb9cc1b56c0f21b55d5de37755a79b12", 111 "result" : "valid" 112 }, 113 { 114 "tcId" : 6, 115 "comment" : "", 116 "flags" : [ 117 "Normal", 118 "EmptySalt" 119 ], 120 "ikm" : "a4748031a14d3e6aafe42aa20c568f5f", 121 "salt" : "", 122 "info" : "", 123 "size" : 64, 124 "okm" : "03f5db41f4484ec9468648c9f2a7f73ec18386008691b0555a7eec165e2f8cc72a6e74fffafbfb1ead00a89ff80ba00a266a70fcac07364110c6f5707f5096aa", 125 "result" : "valid" 126 }, 127 { 128 "tcId" : 7, 129 "comment" : "", 130 "flags" : [ 131 "Normal", 132 "EmptySalt" 133 ], 134 "ikm" : "06eb26f8ccf28580c8f28d5b4dc47a49", 135 "salt" : "", 136 "info" : "d5f081e81e8cf9ded199f3ae43c80a2dfe3d9cf2", 137 "size" : 20, 138 "okm" : "ae538577a14df1ab170ec01a9ceceabcebdd584f", 139 "result" : "valid" 140 }, 141 { 142 "tcId" : 8, 143 "comment" : "", 144 "flags" : [ 145 "Normal", 146 "EmptySalt" 147 ], 148 "ikm" : "c181696a19ab1a32eb6e81b2925d8990", 149 "salt" : "", 150 "info" : "d8c8de92fe5422c9825996354db1821ba43a81ac", 151 "size" : 42, 152 "okm" : "151ee737f049d18cdeb3010a0fbb606461875b22ac76487874498808248cf607e1cf7f3fc52b3a28ac64", 153 "result" : "valid" 154 }, 155 { 156 "tcId" : 9, 157 "comment" : "", 158 "flags" : [ 159 "Normal", 160 "EmptySalt" 161 ], 162 "ikm" : "55fb6dcc7802354e55a45a6e41858c05", 163 "salt" : "", 164 "info" : "dcd590e418b259c64fb9e139b3a1280d5de8400b", 165 "size" : 64, 166 "okm" : "6ca91e1a6c0eb286d6fea277e9936f2486104c4c5d473a92872009f04aa545a61d03d83e14aa0965ba355551b93073ef91382c88afad091c62f6f65188f789e3", 167 "result" : "valid" 168 }, 169 { 170 "tcId" : 10, 171 "comment" : "", 172 "flags" : [ 173 "Normal" 174 ], 175 "ikm" : "c27718560fae2515acb17a874991d357", 176 "salt" : "4487f538b65c9058625057b4bbdd93e7", 177 "info" : "", 178 "size" : 20, 179 "okm" : "19eb8ba1cc7e10498d8c3b3256f66d6ee6b2296f", 180 "result" : "valid" 181 }, 182 { 183 "tcId" : 11, 184 "comment" : "", 185 "flags" : [ 186 "Normal" 187 ], 188 "ikm" : "be0df9811ad0bf3b08358a3dc4a05981", 189 "salt" : "c98618bfeb59295f8bf1dd3804b1bf2c", 190 "info" : "", 191 "size" : 42, 192 "okm" : "669feffebbdfaabc85fc006766c596a62a04a31ff959e1608e4aecb090126738bdaeae5997c4444fc4f3", 193 "result" : "valid" 194 }, 195 { 196 "tcId" : 12, 197 "comment" : "", 198 "flags" : [ 199 "Normal" 200 ], 201 "ikm" : "529e91a61895f1c4ceb5b6994f48783b", 202 "salt" : "12e4ae515328983bab2d88da3cb32a95", 203 "info" : "", 204 "size" : 64, 205 "okm" : "76ced999f5f885f9df7d78a9cb0cefd09904bc90dfedd018441f30800a848140f6a4fa057170df6cf33e93aaaa10ccdb09bd114e6f4058ca45b3cb1e453804ad", 206 "result" : "valid" 207 }, 208 { 209 "tcId" : 13, 210 "comment" : "", 211 "flags" : [ 212 "Normal" 213 ], 214 "ikm" : "c360e16084cfd13cb44b0dc02d8665de", 215 "salt" : "685ac7df93701d6c78babd847861bb3c", 216 "info" : "e0ddfaaaa7afb53f59a007a205c7149b5b5a72be", 217 "size" : 20, 218 "okm" : "506669208fcfd6d27336099b6551c683f4f2eba2", 219 "result" : "valid" 220 }, 221 { 222 "tcId" : 14, 223 "comment" : "", 224 "flags" : [ 225 "Normal" 226 ], 227 "ikm" : "0cbd136d66d15a4ffefde1303b430821", 228 "salt" : "2614d80275b08a1cf90bae0eb607d4d5", 229 "info" : "ee991de21aeb6baa6a5f683dbb755e6f80db1c1d", 230 "size" : 42, 231 "okm" : "4d534f8c2193b375589e5223fe65b926359b285df968bf5c55d76f4a7cf9b0065687a40d58c820d7edc3", 232 "result" : "valid" 233 }, 234 { 235 "tcId" : 15, 236 "comment" : "", 237 "flags" : [ 238 "Normal" 239 ], 240 "ikm" : "7a00817689a3d79001825a864c69c120", 241 "salt" : "08bc01c053a6406c7c4a667c9b9b3894", 242 "info" : "967ccd75395be6e96a67759f070487c9e2107791", 243 "size" : 64, 244 "okm" : "75f86fe05c43964bafd75bbfda18333abac649b8607e953826c2bad8d594621d9615521b2f4d56f63a185dd0670af7163fa96ea2dec620516158946ee83071b9", 245 "result" : "valid" 246 }, 247 { 248 "tcId" : 16, 249 "comment" : "", 250 "flags" : [ 251 "Normal" 252 ], 253 "ikm" : "d003dd047181bd66420b529c78aaee1b", 254 "salt" : "5a2737f637eb905ba5a480d51a721c012f3ff9701d9c4fa1424f1f5f540f", 255 "info" : "", 256 "size" : 20, 257 "okm" : "97a651d4686f4ecc414b58bbd841a4ec99a5964c", 258 "result" : "valid" 259 }, 260 { 261 "tcId" : 17, 262 "comment" : "", 263 "flags" : [ 264 "Normal" 265 ], 266 "ikm" : "75d085427d397b263fb3c6c8e0c40b6f", 267 "salt" : "e2141b0dc65348632396a25c6d7b6ffabf55686532544c351860635b7c86", 268 "info" : "", 269 "size" : 42, 270 "okm" : "da0a91fe3a9fdf82a3461a78e09310ebb8908072b14b6abddbd3ef2517ebf5e513e31e3cea0728156674", 271 "result" : "valid" 272 }, 273 { 274 "tcId" : 18, 275 "comment" : "", 276 "flags" : [ 277 "Normal" 278 ], 279 "ikm" : "63984079a2540d0bba5d2700642104c6", 280 "salt" : "70b2a476c9a80e52352b503901a7afea41c186bdc872d5053448769299e8", 281 "info" : "", 282 "size" : 64, 283 "okm" : "c2286fac021dfcc312b73a10c6d48207698a52d48d7be3acca409c258f06b26b1f183ab630f596df1af56e05638a8a98ec425ca6c74945ebc70fb5c7d2b983ab", 284 "result" : "valid" 285 }, 286 { 287 "tcId" : 19, 288 "comment" : "", 289 "flags" : [ 290 "Normal" 291 ], 292 "ikm" : "ef7c6fecad5a8674b65b78c1d696d9a0", 293 "salt" : "ee9d00f7d448d4b3a206bd7e7fb8a9a6564ca80c9e0eb6ef61a4933c157c", 294 "info" : "35054b8177e4ee42e4e51bf60e91c3f56dcbaa12", 295 "size" : 20, 296 "okm" : "749f184d9abd79f6e598611f9b2ec99b0f93a7f6", 297 "result" : "valid" 298 }, 299 { 300 "tcId" : 20, 301 "comment" : "", 302 "flags" : [ 303 "Normal" 304 ], 305 "ikm" : "f403b6c59bdb751b3f7b9c97fae5226f", 306 "salt" : "9139e549297ee26eae5afea7ee012e683cd7e59b5b8966f55f6d18ded11c", 307 "info" : "27d06c3a2fdb5c97de4506e1bc1311991660c5f5", 308 "size" : 42, 309 "okm" : "e2e5e996acd41c4e7f0a0caf8392f0fa591d2f0850f24a76e3413ac6d7c3728d964712406c0a500daba5", 310 "result" : "valid" 311 }, 312 { 313 "tcId" : 21, 314 "comment" : "", 315 "flags" : [ 316 "Normal" 317 ], 318 "ikm" : "d515f58eed428b2bac233c8538580e2f", 319 "salt" : "c2a3ad9db6621fceb7498c0e6287522077acd2d47b55c09d52e114943b37", 320 "info" : "14de8cffd89e49275f69d2e1e6b43fa0c3775451", 321 "size" : 64, 322 "okm" : "91ca35a68bc0151a02c5c432f180d21f331cc4e9ba15d8b7475d775a5a30f6b3d9b8b22c318abdd07b93affad1ed61b8bb00af46cc0ef9dd750fc1919385bb4a", 323 "result" : "valid" 324 }, 325 { 326 "tcId" : 22, 327 "comment" : "", 328 "flags" : [ 329 "Normal" 330 ], 331 "ikm" : "df27ab960ad87bfe2e173a4659e3546b", 332 "salt" : "1e7ec49981fd4b0b7c20dd4dd5bdfbf2195e707f4d0354611b4893b8a86f61467aca2cf726ccc3ef0b0b4f3240d945ce506197e2be00322b17b48209c312ef9f", 333 "info" : "", 334 "size" : 42, 335 "okm" : "c298d3a916ac11c05069b613748b6a7fcb8770bba0798e2bbb531359053f84fe191ac98c8af0b72c875e", 336 "result" : "valid" 337 }, 338 { 339 "tcId" : 23, 340 "comment" : "", 341 "flags" : [ 342 "Normal" 343 ], 344 "ikm" : "24a37db03dbcffbe9e28d582d0d8c60a", 345 "salt" : "4c3d3b4f5436418713fbe2fbc4d647095ce5d5392dcfffd20327187e14fb68360b94c5122203292d8b648a754ab70f6d3d61e0650f06d55c4b5762cba0231e27", 346 "info" : "8cd9e7b786a74bd370bae434e31a559bdf75d65f", 347 "size" : 42, 348 "okm" : "c5c5feec3ad95581ce00a27f8c79783401d455b056196dc072ad2cfd389da72a06d87d431f56978a37c4", 349 "result" : "valid" 350 }, 351 { 352 "tcId" : 24, 353 "comment" : "maximal output size", 354 "flags" : [ 355 "MaximalOutputSize" 356 ], 357 "ikm" : "91556a70e96dccb6a2fbee28250bdbd5", 358 "salt" : "ccdc54836e6046d5c851f917c37b0baeabd225e996b8f71d452cff5036345c3e", 359 "info" : "2b90f142b2310b23", 360 "size" : 8160, 361 "okm" : "02382e3c9b2e8010bc3b63c6bb4960afd90af438735320bec0a4c626c0d49165148cfa5a1ec6b3ba5179aa40f52221821df58fdc43d858f06364de72a5bdffa98239e1d4506c0188347561ad59e61fc8721705710c6b5b6de3d46842b8093ef97b23981b8bd38379d82228fd2c056e20d062cacad2f859d3f9ece350c35c23aeab1aae00c074d5ed885578ff8ddcd95409f9a692521d9b2119b38d3a88349ca405ccdc131528d7ecd8c32f81f5a1021dff2a4d6a1f99c3c0ef152ab12267895510b1c8d444971e6b300bbba402d56ab1f85b4144af990da2e91fb8d0f55039510c636ec56ebb66253b1fd0abd7487f2683e6670ea0ddd07a2631900d9cebf51ded064ea23f9a73c85f889eb2d5c3d3cc73583faeae826ce0173779c7dd3051b7f50d4bcf01895140492dabc27ff844ea1a08db8b46148f435d08af0bb680d2a4e9650a03400a0f66aaf2dab5a0c3685c465360ef02a24dfa3e4392d0153c21352ad39374575f417ac7eaab154603033b7ebde80d21af2a6edf90e70a7d0d9ec812a62e54b8fe502f514513f009b9457723881e5d4cd9e17bcbfbb4b522a76a8c59c47e409b747a10b8db9b727b1e05e98c335c68294e2ae9f9b28e7f1f54daace64175b8d33d897c100199e3b5f7572fd97c26fe16315a6af9fa171cd971beaacd56703396dcd442637c53f75667768c829776285372e7a800631d06e6e6073e144c9cb4badf08e4b496d8306e46e2703e79ee2b106fdb45e18cbb634de037261250a9c55f80ce79852322f08d1085bc6d122b87910868bf51b96aba68b8cab868d6e19744abd63453d591ea1b44ed968b30a113dcd833257d3069d16929643a317b6b715e73e7b127f6c24f3e9302624f4d9b86c46ea4ee4ad0a8b0c76429bc73cc979ab3931b1040bbb541db75043ea4aa1e01d5558482f14a3d637ca8510ab729fc2441d41b79f5a6576a05947cdacb61b7d2103259de2aebd32a8b0112c769dde97986e5daa5390b74a625389d56d9fed11f675ece43fc833539383a41bd1fae72183cf6097208b5fd227729a588d4a785632f78a69a06bdd53ffe99d3c2183469e5456014cba78c57635c12d1710d88552333a4ab49c0c36427a7dc689a2417e8622af72bb9bd94ce47c507b44927956c526bfd740e20d040e20a1fcc62a6dd91744ee2285b365447a57745edb10f245d736fbef5df3b03fdaff8ee2c8e314e73c96f886e7e161dc788c56b70bd48e5601f2646e8093acbd3d2c1032b00c4527b101a1bad126c8fc080e7a1ba8a5bff3b2d1e3637f0880a6419981ab06bd2f0f8096427fa1dd9dc58b8147d6b76174639a3d5ef81423cbefb5b729b15a621c8941dcd2d609e5e7ca6e4556d2d4c61816a7fd46875da38011be5b2e27ac0f4feec84a78b049701ca498205dbc97e31953e6432756b62bf2a3408a173bf38bb370e79327644c5842f6f91e29773069c2b504049187a95bf068261d29c66fbe9878826aadbbd773ed273e20a1eb9ed51081bc5f51fdcb4d75aaece54f8b2a3882a04377b1167c904355c1b97f2fc18a2c0b28f67a313885c92e22031dc9120850f70df7edd4481b2c6175a440c0a2edd78292376494e8155e3b37fe8888b90143dbb54abba6745031b8be366d3c43380f8319f30fc3505383d012a80eb1e818ac7cd59e0e2e19d50ffe2f6c5d75db18ba433d3345f1e42fa2cf4a8858580a0c3be11d72014fe2c02850204f62a49183741510d2dba9a717af10f259ed0e2f991382ddc93b03947e4cdaf4e84305b7e791cc17c97d2e14dc57a553546eea36c970ebf876c82585fcc0d35350b1a13b23722c27000d402f4a267ffa18f977b3fa63e43061bb672f5824f4ea7462df50aaf431b0e00ab7ce101ee0a37e4a3ea15834cd480efa0b19fd865094902d2f2fad24f9de307fe79b2a497117cbfb9cbe71ba8a7a7fb5fa4c6b81ffe03fc557ad29c1e9dbe3cadda4e948e1eddecaa9f364ad9f17a5cb33d5b6a1c6075b086c54dfda5c4a7edb7f7b57c7150540dd399bd3fc20ae5ff66462b37cee52a7577ebbb5ed75aba0b6a1708127907310345c609fa17596970342f618345678a32aea127a25b86effe0e574a849b92c780b38216fd2003a79cd596567eaeeed166cf6b1ce79e9197e7f5bc4c9acf2a6b02101d03fd5cb9c9fc129988d646cfad81680cf951635e5e40324569eaef11e14d30d38e36e112852fba785d8f3b8d9ba6fcb769cf61f66278b38771341376ca730c4a0bdc871804387a372aac95ae945b493b26e39dc0ea61a945969ce1958bcda069f3bc6c9a2541482a39b8370f428101890393c96167c1d3c600e9855885c672fb9f896212ec295d9658ae16f0afc16878be9c88d54d28f1fef808486712b9ca6cbe5b5f88e855c50813a560f97112a10549eb98cb7a9f65748bf7d782e5b911abfa54fcd1f83c4aad96dc9c3dc645f85466faf952bb6d7786db934fcf2cfc412c41829e20014ed41c5c6205b124ed3dadbbb34dcf2e98b9020e6b52d925df60e75d6a22027018abeddb08c6c270f67cfa0aea304992554403f27ee8f6736485aaa7bc559f05c5769d43f53b91690f3c7204ae1f5b5a02251000dd974a606e5901c80492a56a05aa47b785dbb4a08e22c17030aaa912df3598ee6c669eb5dd4a07a73147a0fcd626cad9c4f81ed8b5f509020ffd5e3acac0a5a32ee5c025b860de51ce2551daeddd93ffc6e63f0cd53f0f383637bb07960368cb65d1188cc08bfa7aab710b8ae0b95a6b875889a2cfb8ade278c086c4cf3531c162704e82b599b94e3c94bc76abd2a946d80fe088550fe3f7939e487dd23d3f375013e5d4dc75592906107f74b7e930a4acff7deda023b85f3c380e7426047d3d93db3bcd647acbc62deba385a88e84c8e800db4b7f937f3282b8bf948140bfe866495d87663a70378932f4c17a258cd34501beedd6171674e640b775f9b08afd9561995e46a8d38123232d7071c3ef87d75d2c2b6bccc203f81e3e8174332cccc48aa6543e7754fd8b5b5acf0e77c69b696681bbdb0d7e73995d5ded1b51f5b0f2dcc0b8edfe93f533b443df0a5b8ea5e78b23ebe6b8281877767795b61ad86b759f24d4c81734803e35d2df1cd526147b42234220134507cc1087fa577fe9287c4817e0d03bd6607decf083013d7dd9012b26bc4400722cb1211ddf5966ac338ea6028a7cfc60c738a9c5faa4783f599d575a288af3e34a943c220075140b85a365290399dbc8490fd88b51a620495e4fa7691e15de744e5c88c9e3aec95153b05d46c8f93e5fbd38a470d3ae6c9aaace2d9755abee3d942d86c9df2c8fa82b5a0de576f790aa653b05862a563a5477cc467d8cb19ef5eea82b9dd0ded0cb150cd081c0c0f564ee988c8c22ccdc1006875e64c41736240e2048514d5f67838549275b220349e1c9a9653c48d51ffcb523c04b5f4ca56b0c2798bee555f1c281318957ffad069c03c58e75eff4e36c3775c33b66d5898ebd48836766a4716761d87fdb8f0733a2a82ac869f949685b4cf82c363693a651e637e928f5f38a16c9a54632617c62be7b04f43eab0b304e7fcee0d4e61dc9155f26e35f632ae8d70b106914fe0bea6c85be1e36f9a839aa769a6eba44035000a69689f8e87656c2240eacace69b579784ff90fe8cb43910de14cb96572f1c8397ee66419e79b5d7f558902fe763ec021d97ec42795fe3442e7b821b1d6a4c0802777d82adbc7d2fa0e21bfa3011b98ba75d1dee8915eb6ea89ad4045879d40a6da786b9dd8285372e31debf85199fc7278aa312ed40de5db24671d01c428ffa1052236a4d7a1b220905c34bbfc8bf3541f743cfb115448b482f2612d3527c4f5d34a0aa1fbb70472fab837c013b0e83d4d32e74233a362226e166f53e78d4ddb241cc1b4e6077716ce087589821baa6a06455a23091a7cf20db11a2cade09bd6874dc13f6b09f73014f11daa989d0c0733851fc534fac90fd29f42583070b2af6a0e156dbf5111ce964f7b913b060691620f85d0dd12277a08d3a57dee07e9fe96d73b38df82ec439784ea64f23260347b77cf914c8a788fca4f818fce6857c7664439a50852244c4b75b1ecf6a8f831dc853a9c343fcccaad49aef231ff57c7a88ccca51730ff9d0586ea733c02e249e8d9495ef923aa733378529ba323d403adc34e2e9126e6fe209ce54dc7ce9bc0cf7775c595864ca492e585866acda45eccdae4cccde9d11c2eff9628dbfcf74e5c1956cb4a22874e07b510e7ae1886cc00a05f0f8a5aebbe1d4a265498e2cfa409f7b49ab5cdc115109a8a8260238a37bdef5d61ccab4df03bfc456b089e3c3565731c7a2364d482c3bebc3d397fc9637017c4153490ade8e60415878f933ddd55a792a1e3b8b39e8dd54057b4d5f3017771a3bb4f0ca2d888903d579af41da7ff6318f184f0e7d7335a9a6c0a3f19510d01221e1d91fecd9efbbc50e51f58d90bda49de14e595b2f4b41fecf3cf576669530d9f149a3ca586ddc08660a450da133298086dec6a170544117fba27726578dd6d83ebe2b6d4633965e738eb9595b7d1ac3e06689189ad8ffd561fb3ad8c5b4f2718770b4732b75dcc1abbe6fd8b3456e1cdf1e1ff15943da73354bc1e74bc4941ef78a5c9d6eec2fdb41658af215377488328b770919f24be34767e2daa245cc1944594d80732884a40a41377de2512ba90ed8796eecfa71cd57ee3dc6ff223601aad26bd693a41fb4d00062866bab3ab3f2c2ec0702b2049ffe32a74bfd5e3dca22870ac4768514a01e62767fb1ee3743cdfcc26e0106718d638f682b691b9f1eb9b53b3c0c06cddd126887f9849d298918b01e21da76f7161e2b0ad72fd00a84aa1ca64d7ce32120ac93c1c1ed2fde1d0dce0e6733aab7c0908dccd8fc65050d6059450a484b5d8c72b73b700093dced0ebb8d3acf151c3ca094821bf4ce987d530dccd8c823e881a9edb9368be0943d3afe338560493b9c5f674fe69a27e8a45992bf8af5386e3a7eb81caf9c0d3a45f72fa457ff29b5235f945307dda9acba65d6267408dcdc288c08653e6195ef98c7d532d49daf16e6008178a1539204a549a14d0a3fe5812b5b168ffe47dd9ca35f3b0d4e249a1bfc8f7f1a17b9515ab9ed1038de64098c5d960a7b32e4794711ea2e3e4a2bc81ec1dc05f829fd9e7903b0bf93eb4db42ca55cb26b41fec6af223c219ce88cf7d62b60063a2f842f79ad512f2874746e97f1b742dfa39e7df19b8c348747cd9c68fbaf010c3869500634371d8a8af6f039e902b7c90a356b4c4056d4e8b3098b69ecad5fc42155052b95dc8ac339b79dac22196220e5d96d5fa16213f8b072ec2c777678e898326680225c7014fdf174c75de61ddd6a28bf018e0ac1c6647956aa7cfea6d9d09a31a53906e9488a15182d55bc636c42f26ff51e5b3932d054be251a26db4fa8e9f6f8c34c9422d171a3a5bf82c7f09e2c7c246c0b75445e2a8463f12bfaaf7dfca3201889182f5f9e7e3758b5b1d54457c1688b59fce9dfdc28c0398fc624ccd6c3473d8367c177bc0281ea1b56ef3d9af546c9cb7a1c108169d701d3da593e97cb923da181fe57ba22fdb03570b6b9a8ac65ff81665b484810abe0ded0b4c394cfb122fbc240dbaa4fa9baeb761b2d563d916c563129e289a41cec25d1bfb2c1900a9916453dc3b8b69ddf998eef9f910a6efdb9614a655eb3aeaa8951e1ea968807a4e1d77fb2d2c4d3141e4718ca46865bf717767a5f4a891b3b69a4e9757c87b76e9bb886d03f693f3ebd1a9cd600e7180909312e6226dbb39917a1feab50dd1b03f87630c731ee30af7f590accdcff720aa5204ad8961d29a916ba394cd1f14d23d38352232ab7408058a7e3d9d4cdd96969fba8b3f616ec2b38cf55648a508bfb9616530501ab4eec82bdcaf7db22928d95d96f902e79d89c5ff535166123121d9fb0b547188be81a62346b34a48499b4713a2a6121a75bedf0946b52086ffc14f71cb4221e161f1c2ce9ed29394b07c3d6996066298e4d7094cd39c309c7db90981a816fea28abd5eff4df87e7c7ce3926d213046c3c62a050d59991e53c522fdb1e382fc8517e43088a12adfcfa6e62c86a23cdc5beb0f0f5311e77eb49e4fa36832e2cde0def6150ce1231439b377a7c47848594be9609c4af26b490d0d679c6032dcfbcd75b93b3fe9c41cf6f55b8a03a72f3b95a2b534cbb143b5c8a020d4637bf9671165169148c5027ec2999b0577f559dea5973c4e91b38a52e3dbbeb9ab1838b5719bb3ce4b063baab95155e7d3e0b93b4695fe83277b243792776205afb1df7f07914b3d6be86648fb4856662f792dda24a413c0c4d0d0a9b42faaf11fdf2294fd42c20cb56febdb0883620a7ac30c632f82e22d88eaa001ad9f6d47bcec18c70073deacf50ea289daafa794fb9730058ad3ff2e0d7e7a78d1bb2258cf23acde01f1ec9b820f0d77f7157c69e8d31859804eb65e352635416dd41879788282e55494cac7b26ad45f8be1c75bafe65847f914abcc1565ec876143ab46c829914a7d3ba1c3f4a10b51443e9fca59eb097f3f38d7ecfea7372f0cb29d6bb9f12d4dc0a4838a78fcb659cfd8b22a39067675ef5ddea48d180b6a0228fae606e9dd8403268c545c8c1c662755e428b622ecf4a7ce5e2def1d6babe5fce90108b615772b9738341ed25ee8d8544ee932289dfe28c38eac7a6c125d1aefb228c7aac93fee876541d6ea80cd262250cec3245e0dc4824544748146848c2c85527a22df973fce469ce922493d56e8c98df543d9b605c1dbac078672cb5f21d35cee06e378e8fc34637227f8c6f9a638047ab11b01edd4d381c8165ef9b805997cb87ef78b608d77b7a11d609781883e8d66e249a0e7bb769ad2fc455efa4338cb2b6fbcabe7cee7406db26ef403de76f21ad990bea3fc2bce220e3b50010c8c6d4f1bb66bb0afd3e1a6f245d08341a43fabf774e84b37c07448a7d5fda2f7a4cfe8ba21befc7f19286803c83bd5b6321023f9ac95fdd97671247666f2f7330f848dba95c3f025d30dbe4ec9741430a797c3c7f1ee7675eee7198b7eb6b9d87350d3b35d73ecfe4b1f119edc7cce1611476e31302d8a800cd2f2d9a21c6e50979a949552d886f75e47778664c7170d45d90689b94be41ea2eb9f226dadc9bbb1fd4d85f529b29e4d6d5b2622cf265b9f5d0f47faa4b1d27a652a533bff74d1e8f7a1b6a139a4ae6e600d2995ed4c2227d2f561f6390de943a167974e2202835536cdea8d61d2d72f0cd86283aaa8fa92d299dd82b6767aa02c79483817f6bb4ae2191da4f0ca03c2d1c05df735ea1fd1bde1cf34822ff2bde5d255ace9196aaee54e7c49923d25d81c5b820cba505bfa6d8bca7de0c2f3161f670ac1fc2e7ce869f9ca1629437c0306c0aadb88683409595be86682768a572f72870a98e32dba3f517ddeb1eb597035ab7cbd649a42f500aa313373986889ce6f0d99beee4d68dfd2ea2883c2c4b7871be58ce865808439d98b525e8d67636519955a76dbc17aa895c2c7a38fdddf02e7a97f03c888d3f5ecc7a5c32d7aefec850b910e07d624626109d83ba794ad1b8654dca6614b7bf43423ed376d1a5ed79d7e528751c6ed10cb5e542c5347aa46c4f4a7ff3aebe007a2b53d42ff12a922d6784a6a946dd52f6aafd0eab392975ca5d3be3d9bd582e58fcc16b8657152c68e028886da628ef9c744c697969764a64a05d0a0a8e55886b2960cb921c9d536c83c1680997003cbddab47a301ccacbd4289ca6eeb59bacea831f265d680bdded4016eb686fc3ea1fcf93db54c22b2abd5982c44a1fe4cad353a6bc0bb242089676718fd6b5cfa4bcafe7cce91bbcdeb12cf3c614a823fa59fc9903bc3eda1a8ad2ee8613e1e1c0582e1392738f5a19f0c0d55f985994494c96471358eb0f60ffaaa603d4f421fa1803e8a94a1cc5c24746833c3f5c881f9898f71cedc439c5febb4e27a84d936b9480c97ec2efa691e503dd67f6834a32cc40c3576b96864481add4559d1a12a0648d2b61bcb5dfd97666835ced314d604947ad68c6a50d058199606740567b4d48ba5770023efcf00aeb5529636c62171c851ac4744cd05cda373d09ee343783179476149624c4ad9ebbe4410410eb306c204a2b1a3523709dde477b541fc650dc0b243482bd85f7662819f46d38b7ed16dcd67ed916e05cbd1663920975ac0c94d53a4847d2b88d4852719f656952ce17264523804b916657a97313ef56913a0bbe7855824b64bbe122e163a7b9d1b97c9f89dbe30484636a54facceed2c1edaf340f84be482e0fd4e6313257ae4d20fe03bf27c5aed74849d3a66cb0b42ca9a31f0eaa19afeab5ece71d1fb0bd60cbfc631264fec2fb934db2dd804ad46e098ef56e743d102457f87b8a96c4bc3f2c6248b201b712e5bca6da36d45b1cc89b735059e5806f777e1c909db577265c0714e12bebc5c2d82d60a6e4a4117f835656c2057248d03c378795220b87cb356f53e8c04abe1a9e3b7efeb02013226a1be5209ab676e9a761a87bbee8eccc828981fe4f19340c004eb426302b0e08db57bf13cae8236715bdb6c46a60c55d6c6d88797d0d81a0e77afcecc64f6584381dda23bbc5769e0e562d3449bbd62cec123ec01fa631becd655b0f4d50cddf7d0fbedb1a5dfc88ea69946d760154a8ce86fe6eaaa6c01d80752d61f0f1408a86aec3781c6607d20f84c970cd19625b59e8722111cbede6a9e59b3aa4f003e33c10cf2e1653f8757119085255cb1cf99e8f5b8c5d3f7f8d13eed17ce5d25c58358514d13fc56ab745a11ef8d943ba3a491add9a13d32744db3834f4cf8b05ac5400f5bd5883ab00dbaa894c326a1974b62b130fc23301fb318e925c44e6fc2539a1faf8bd5061e6525b6e9303be34cc652b6e8bdf1976a579b6eeeb4167ed9123df33d0729ecdcd5750d31de128b0b22ee2797a99f21f7da5651e4a9948170864bf4066d3c23ef648f30d420d98259dc52440cf11bd178ae84288f99bcb4eb3e9a51b424d6fbf122ae8c3715092d449b910069545cc66d1fdf1e4d1792976aad5773c9ec6e41161c1a3b3d4fd0618f1223cb12693a837209964c5531d62008f8f7fa5b45889409fe978787bf85aa60ad9a4703ff214cc22e65f4518ee9bad3a2dc7edc2f529d2340e8ea154d464c79a5d7edf3fac8397f852060ca4592eeb2a30399b81744abfa36b297af97d29bbdff730f82fd8ad438254af8f67fbdd7a97e856f42f89518d5c2798a5f8959cdaab6e93010ccb77bcde40b532ce0cceaa6999aafed408fb9d7bbf1d898c9e022079a02cefe8721e7eced2707ed433704c327352079ad2370218c67432bd12c89caf44a3ec28400e87283cab3cc18b37804524a3a0b21dbec2acc8d4a0a722b6c993e1cbc3f889ff0a2fd31c4de3a7a755738e3b5b8147a6b4fc7baf7589c6dc0709803795790512bc606d4fe13e10d03a7a0802bcab7651d84a6826f7061f1a656951f1548c5b0e6ee051fb5fd8f4b21cc5737fc1787be02d28105350d3eb6c8228c6c7f78d9862614420d8ffaef6e04341bd973b7800a17ed6bc34df3dd1ca40ab366f7c7302fef9f3390c74206b7bdf6a375efed4958f3724e08d8cdf30ef6709d5d60b02c39ba30eab540da577abb059185f0f9a8d8a34ae6a33c335befcb9998d4637b78c3673d83f5bd667f8b9946294bbb9880c0d9e0b2333704dc8172fa4d937b059244fba76f1b033e3d73055fd6797219f92dc05122e7b429158d8c4e26bb34dfe668e832a5cabc15f891915f9ca1c6a0539b30e0e57003fa070f34c6fa574fef66d412ac3822953107cd6521e449ba252a6f31555c81077bd32536e742b4a3917b4c16f8356ea0b6ced917635431e57d675c1f259587650b7fb73fc37e5add6ade0268b210378485d7cf40f1aa3cf2e083cf49a2053fe5dfbcb2958d8742984b82354917e6fe70da6725110d2d5d3693812a9c04a0d01113923ba5261de255fee8a841f4231114995c637dcfa60d7bcc5fb2e65221990ad93e6dc9e8f855f7c679ec3f311c021a8437dfc5f36c225ffb412ea9763f52dece4e5d597831670a6079f99c3d09663a55a373bfd0aa16d70d0d6eef337d8783d94af865f5566601ae40eeac62bdfc03ee2382c33ab8d5362e0b445abdb5a649df4d65b247bef5c3a276159db889cc2a54e1b397be2c89a87f1ef73280506dd3fe87a8049471faa0e4732ab93400e706ebdf27a8e4be7c05808f908492af6d668c387ade51b3c81bf0cd545fa31677d26e9d89a746e73170e03c3aa536f9b94f05480dc6bee3003d8cff7cbefddabf76159f1300fc2cff71aa2fc8429ce7d8fb5e3c889108e9278d285b62ea86180d780f06252d5c8ba52d1f3b99b45b6da091b4dd6e6c0be0e43ff47a9707df738b977f7233f0ec40a385b022231ed2d7e8ec9c8bc51c7a72ba566d6a38c0023f97d71fac38c1c47a17fec60573df51bfd3d45dbc84b43aea76b4aa6cb04a3df182cc74e8b5260bc95b2ef4d6e5e8c80f0271cbe464c17d7ad2b2d96c18a606fe5aa72a322f4b3cb568eac98d95772b74495aac28976f45e86360c3751e018b7ec3cac42df6262d40fcf42a64de769c128c3acfe39e205982e04c40ec0f411f785e50935416eb408b3c35fc77b22a61c58e27b4008dfba8170261ead25b590abbee010573bce1637668d27ffa4eed7ff3e6324b3170f8e3eede3fd597cc53140c5c7e3da16e478179e67aabfa780f9c78c81ccd7f112e5680dcd875c4b741fe3a57e169611cccbe79f69ca7e900e5062f3b7b955bed7e889b557ad34eef1152082d6785a4ca339255cf26a0b2984ec929a3c431e3c9b0b060a939f6b218248b1a4369f12c89c1e59a2121b3753add685cba5b323fd7e024a672041e0d8fb8b8887c0ccbba33b1f036435fe0305e2eee475cb47d63bd623d3a8497146b08cee3181b6174fc234072a9eebd01d235de2451bfe40fd78181d00ae21262001ab0db0ba0728a591a6b4ad79ad461b7aed1fbefb2493c913f8ecb9a3dea57ca57a1c411a8e17767299a2583ca2558381ddd3f66f0f6008931a48d7d444b611d3a932f85505f3d57ee8d1433cb72fdb879a9bd24220cc7a8e9b0e50eb929c88ffb1f433ce1096b9050435163ba472f475a89cec4c52572ec765ddf24ad243339ed2c8feff9b697e7eca12a6d92df0afbf1aa2f354ee72d4d639a9135d4d8fc6a7f741d83427ff870fa2e8e364e5bfcb0df4ff82cb5e8cef9d525fabdced294ee8a082f2cee9e7decb2bdfc04f611641a928c3f92192afb21cc29c577e9b0e5797d630e563b4604eb50ef815577ceb627efba9df58c35e01a39f1dbd93cfa558c75c22d750ca5b6573284b33761bd2169f67a36f51eb04fbc72bc3506a3ee5dfc54feb77a3dd1a1a21204b247770e10bb1fab49aa8979655170604046713efc10dc0012f5245bbb3108732ed68bb906d6afdad8664ea8385d929b46cae8029b629383ca4c89a305a6fa73a43d04eace69fc16113418e7fc04efc4c", 362 "result" : "valid" 363 }, 364 { 365 "tcId" : 25, 366 "comment" : "invalid output size", 367 "flags" : [ 368 "SizeTooLarge" 369 ], 370 "ikm" : "db89f54af757f8c7e57248a1718105b1", 371 "salt" : "d5efc88adf3d5afc970284aab51690bdfedfa40be98e374efa3060ccf97fc650", 372 "info" : "134f085797b1ae2e", 373 "size" : 8161, 374 "okm" : "", 375 "result" : "invalid" 376 }, 377 { 378 "tcId" : 26, 379 "comment" : "empty salt", 380 "flags" : [ 381 "Normal", 382 "EmptySalt" 383 ], 384 "ikm" : "d04f44faa4542b34f958d8a863801f2c", 385 "salt" : "", 386 "info" : "ff6b5b655cbf2421a66d2f28408395a2ce57264f76bd60befd51cbfd9474faa47a97a9aa0f0e4338635633023cb36da12a3051f1f369355b687304e74c5218b315", 387 "size" : 80, 388 "okm" : "aa235b487116b1c1e2f68c9a557b396a318ea2aa29c0e6a122645918ba693598e40e5b7c73c92f832530db888d4c53fbf73aff67d129a24263134335c9757da6ff7f386c77f830d1bac3409fb3b834be", 389 "result" : "valid" 390 } 391 ] 392 }, 393 { 394 "type" : "HkdfTest", 395 "keySize" : 160, 396 "tests" : [ 397 { 398 "tcId" : 27, 399 "comment" : "", 400 "flags" : [ 401 "Normal", 402 "EmptySalt" 403 ], 404 "ikm" : "fa4f94e9cdbf725c1ee98decddbe42ec06196116", 405 "salt" : "", 406 "info" : "", 407 "size" : 20, 408 "okm" : "f32a552257d372b16c5d8c46e6c07dc9c33be9bc", 409 "result" : "valid" 410 }, 411 { 412 "tcId" : 28, 413 "comment" : "", 414 "flags" : [ 415 "Normal", 416 "EmptySalt" 417 ], 418 "ikm" : "094db4e2eaae8fc9dca0d9bc14b29387fd476921", 419 "salt" : "", 420 "info" : "", 421 "size" : 42, 422 "okm" : "41ae65892c3359f808e906bbc91c701f7e067b548e685bc02d5badad2799221bf313964f8307670d76a8", 423 "result" : "valid" 424 }, 425 { 426 "tcId" : 29, 427 "comment" : "", 428 "flags" : [ 429 "Normal", 430 "EmptySalt" 431 ], 432 "ikm" : "bfbe4f1edace02b2a3afcaada5f319103996dec9", 433 "salt" : "", 434 "info" : "", 435 "size" : 64, 436 "okm" : "93c737cdce4fe225839614393bc5ff6fd14390dc436ad6f9e13a7714e8b8b2d66cb690fd9a213c0e297ac96fda5d27e002cfc344964b86e78ff23c260cbcc82e", 437 "result" : "valid" 438 }, 439 { 440 "tcId" : 30, 441 "comment" : "", 442 "flags" : [ 443 "Normal", 444 "EmptySalt" 445 ], 446 "ikm" : "71220f185f4f2d436fa88b61f7ddf4a10948385e", 447 "salt" : "", 448 "info" : "f392a656590cdd585a06ad4892d2381ad0616a99", 449 "size" : 20, 450 "okm" : "db44f61cc3538799665902ea761be6fea0c51e75", 451 "result" : "valid" 452 }, 453 { 454 "tcId" : 31, 455 "comment" : "", 456 "flags" : [ 457 "Normal", 458 "EmptySalt" 459 ], 460 "ikm" : "3a0c2c84ea46c152104d794261413412bad2e846", 461 "salt" : "", 462 "info" : "1cf4f37e0cab71a252100a2925a8703231292a7e", 463 "size" : 42, 464 "okm" : "1d4f606b55c6f6fc25d06eadcc86732afeaa281f7cc7acb3efb40eacfb4880d46daef24091045cb16baa", 465 "result" : "valid" 466 }, 467 { 468 "tcId" : 32, 469 "comment" : "", 470 "flags" : [ 471 "Normal", 472 "EmptySalt" 473 ], 474 "ikm" : "59b7fce05176a56f9b086b2e9e526b4491d05d27", 475 "salt" : "", 476 "info" : "d0e410792d888f355baaae8e17288e982032c231", 477 "size" : 64, 478 "okm" : "df10c40dae8f62e212775e5f19f9769f17ac32abe46aae106a5baa9af3d9c2305376ec0a6f86492219a7d448b518ed08fb6fd6eeb3f964949e164bf8caef03d3", 479 "result" : "valid" 480 }, 481 { 482 "tcId" : 33, 483 "comment" : "", 484 "flags" : [ 485 "Normal" 486 ], 487 "ikm" : "e1dfecb28787a93133763ba4760a55a2c20ab407", 488 "salt" : "0b86a968f9d45bd38ffc2369a92bc66d", 489 "info" : "", 490 "size" : 20, 491 "okm" : "f41d88008ed2ef14699bd6d0bfb19bdade26106d", 492 "result" : "valid" 493 }, 494 { 495 "tcId" : 34, 496 "comment" : "", 497 "flags" : [ 498 "Normal" 499 ], 500 "ikm" : "0941f7af65e6848cc218317a9ec1ecf26d21ae3f", 501 "salt" : "eacad2915534af8106c4abc66970ff0d", 502 "info" : "", 503 "size" : 42, 504 "okm" : "9d28cdd9fcb126c1a70986905403bd7a56b3a9f0d65dd937f2f88e197bc0b5b4ad5ae1ea03f3c3ae8620", 505 "result" : "valid" 506 }, 507 { 508 "tcId" : 35, 509 "comment" : "", 510 "flags" : [ 511 "Normal" 512 ], 513 "ikm" : "1e242658cbd889dcc0096092311e9311b94c5bf6", 514 "salt" : "7318740eb205a76ee4ed0df45d0dac47", 515 "info" : "", 516 "size" : 64, 517 "okm" : "cf3eeeb3570161584596276f10c995b4ad6c5d49436081b2b463be2d57efe9fd9dd76d6f9b9251dfd13dd66ed0c393bcc82ba488b0de8bb4e1af7c51bfe62b39", 518 "result" : "valid" 519 }, 520 { 521 "tcId" : 36, 522 "comment" : "", 523 "flags" : [ 524 "Normal" 525 ], 526 "ikm" : "163f690d4439dbdf6dc57042fecb79354bd3e7c4", 527 "salt" : "30ea55b5fdc7e509d001d710b3a032c9", 528 "info" : "6a05fa82515f27deb3d27c80fa63d2b6edcbb372", 529 "size" : 20, 530 "okm" : "46a07537e9468a5bfd1dd2d4aa64fe9b10a12328", 531 "result" : "valid" 532 }, 533 { 534 "tcId" : 37, 535 "comment" : "", 536 "flags" : [ 537 "Normal" 538 ], 539 "ikm" : "f7ca016ff5fae1cc11628196efef8ad174c1dcb9", 540 "salt" : "e3519f32e44952385308db5455878cc4", 541 "info" : "53b94ea0d6e0da9145a0ffdb5cf708889b9747fc", 542 "size" : 42, 543 "okm" : "5bbec6f981e7aec6c5f49da0322777a5390c54926c65b3bcd4fcbc27250625939ccfcc11bc3cfabf9242", 544 "result" : "valid" 545 }, 546 { 547 "tcId" : 38, 548 "comment" : "", 549 "flags" : [ 550 "Normal" 551 ], 552 "ikm" : "1c352e65590b2f763aee9f4404c801e7a04b2a8c", 553 "salt" : "ecd6a227d7ab14c068bb917c861c8ec0", 554 "info" : "3acb9582af1a9019126d09422e715519fd335032", 555 "size" : 64, 556 "okm" : "163d478f06a53bc1fdf0f30a2329c99e607ea9228ed7739a45b64e3ce29620067644bd047f8e0923bb00b249254d1ecd80eaf3be23c6f268b9d76c20e6286765", 557 "result" : "valid" 558 }, 559 { 560 "tcId" : 39, 561 "comment" : "", 562 "flags" : [ 563 "Normal" 564 ], 565 "ikm" : "2e4a156988235208a93e4aef6143653b55e2ed41", 566 "salt" : "9d5b4c7c1b7537300d4dec31f0395e8da6eb826d7fe38a0abf4b762d696b", 567 "info" : "", 568 "size" : 20, 569 "okm" : "2a4d8eb6c85b0bf2cc72d464a09ebe7d159f6246", 570 "result" : "valid" 571 }, 572 { 573 "tcId" : 40, 574 "comment" : "", 575 "flags" : [ 576 "Normal" 577 ], 578 "ikm" : "61a281d49fc0bd3012e1b7f5dc17e980cf611ea9", 579 "salt" : "80f768a758ec5e45c0f2e3fd349e432347be89d25e00817aaea4a1c510a9", 580 "info" : "", 581 "size" : 42, 582 "okm" : "bb04f31a0780e83945e29b85c949864c182014225f77aaf28b223fa09e6066aaada75df4cdc4f20b7c8e", 583 "result" : "valid" 584 }, 585 { 586 "tcId" : 41, 587 "comment" : "", 588 "flags" : [ 589 "Normal" 590 ], 591 "ikm" : "e94ac367c6f7ce07a3e7f83a1ea4a0ea264ddcd8", 592 "salt" : "5c139fd7769291e5101cc8c1ba44a356b5c3fe3d13b0a68e69b6c09f28fe", 593 "info" : "", 594 "size" : 64, 595 "okm" : "831467261ace0e7b53fc0a1139e418b492ee8bc3a4e267abb5634cfbc7c422641a6672741f791ef9276eea9a1119c85d3ce6ded423319a21f9f08c2945f75046", 596 "result" : "valid" 597 }, 598 { 599 "tcId" : 42, 600 "comment" : "", 601 "flags" : [ 602 "Normal" 603 ], 604 "ikm" : "f5d21e4aac89fa725632c707bd89d100b90e5288", 605 "salt" : "989b8b9b79ab82253703ce669a0540d3cfed69d754c902a9365e03c92236", 606 "info" : "b092e1dd4faff8177a97e86716de72f94beecc4f", 607 "size" : 20, 608 "okm" : "d17d93a9ee4906a029ab4347d72092d0c9448e96", 609 "result" : "valid" 610 }, 611 { 612 "tcId" : 43, 613 "comment" : "", 614 "flags" : [ 615 "Normal" 616 ], 617 "ikm" : "0d3909b7c4593f4469ddc4484a2082ab2ee18be3", 618 "salt" : "9138ad17dacdd0a2a3a3a37fa782ec243258aec9ecd6b3fb5964b2b3dd91", 619 "info" : "6ee1df3a970b9506a3892b59f1acea5e3ca2cf47", 620 "size" : 42, 621 "okm" : "6c2f767ecc1b109344360dc1061704c856b23b13c585a87b6445211f3e78763b89e841f31e08019c0a8d", 622 "result" : "valid" 623 }, 624 { 625 "tcId" : 44, 626 "comment" : "", 627 "flags" : [ 628 "Normal" 629 ], 630 "ikm" : "611710557b5f54c91ee635c38f16222b00a71533", 631 "salt" : "4f7e27c2efd4e2ae3774fd948d95e30d40a16ff799d31bad27b37eda9bc7", 632 "info" : "f3cfd0fe4090c2927217405f339b450553a51140", 633 "size" : 64, 634 "okm" : "ff01c3d44225f27f77af95c443640d83be29fcdc9722ec045de937327b563b349aa95b6899d9e2aac995e7ea5f4f0bf34f665fc9124ab9607a91c23ea104594a", 635 "result" : "valid" 636 }, 637 { 638 "tcId" : 45, 639 "comment" : "", 640 "flags" : [ 641 "Normal" 642 ], 643 "ikm" : "8759ccbb7c28d95d8f6cd65c3f5fb517451f3768", 644 "salt" : "bd76fd163a2bea5c840730b4870d168d097cba61ab3aa060a38816a007117dbc245d288c671b6ae1d2d1182a6c6765b13ff2910565660f853d0d871d0baffda3", 645 "info" : "", 646 "size" : 42, 647 "okm" : "0dd07574313d5683a506a1c992ac1ff117e20080493e0f29eeca02ba6a8fed42cc021fbd612aad9ff6d9", 648 "result" : "valid" 649 }, 650 { 651 "tcId" : 46, 652 "comment" : "", 653 "flags" : [ 654 "Normal" 655 ], 656 "ikm" : "3b9304bebc8547501091857b81f4e7701218901f", 657 "salt" : "d63f8caf65f43c2b4a5efc56b6f5860450e237cf172552b184b09820784e32967f5ba6400e14315c7e78182c1ed2f5d6964a239d92559c5ddbe16c8e27e62079", 658 "info" : "e239a9e88dad237d5557336ecbd72737122ab752", 659 "size" : 42, 660 "okm" : "77f370acace1db2e9f5bcfd2a46acbaea48af4d0da3643bb50d5798f9569a9f6e11a307ddbeaf22bc84c", 661 "result" : "valid" 662 }, 663 { 664 "tcId" : 47, 665 "comment" : "maximal output size", 666 "flags" : [ 667 "MaximalOutputSize" 668 ], 669 "ikm" : "e24d1b941ac46211874b5f19096a5699ac59fef7", 670 "salt" : "e7604b17f41722d9172d87956e7454d7bd88a4d550d6ab9bb4d65930da63edcf", 671 "info" : "aada4cd9650cdb86", 672 "size" : 8160, 673 "okm" : "0244073b674149d172a28f9029dc197a0d2f2934d5038c52c8c9598a2610261dd749b728bc5f656aaac16c56cf0a44a35a8835e253ef00558d6d30cda5e9a9926693b7412491b1cb76971c4221ff036e299a12ee38433290e3ad832b222a09108e55517664e7cf19ae6cdb58b8787b886a9a6d3e98781c9727dfc1eddba6ba24628a7a35fe5bdbfc207aeb30ce049e35f4aa8ba01d9318f6d8a1591c62c0824c23e3871ece2d0580c10455101f023f65c9c19eea28d52393cbd907829bef282be75b1470ef055e72a75b72a9c784c8672293ed31242b2b4a8f71d07db9490d8ee803ccfdff458c05fc6265ed8403e0a50f1106a972163f4760beba718e37f8cd5c0e95481f65ae2c59a54a7d2671acfa3e14b2cd8046f81b00ef4769cc9f6b5fa7af6f4597a57ecd65bb9bbdf26737dfaec9a19be475ef32269d84c6e8a331b4e7c8004e9124461bf64974b558fa5ffd66d2c5d8e9e6a80d855d1693c2548a92b95f763f95006964691f9e81f4bf0073e5e524f1070efdf118d8fa86c267c18429625bcd289770181e3144327bd999fd61c2b2c1fe3c779e571e3f0c89b82bfdcaf07ae8ea12e921205ffb203d50f35c02ec00edd116abc548f386aab0ccc9d9530a00f3c469ea481d1236ef23d0fc6b9be77ce25aaaaa1dc03631a426a4d00334b2c9e263efc324badf75ba866f1ace6b55092e2a4ecef93a92684606d74369807fe6af4c6471ab23cc7001a44a38cd8a6a6a83a293195ab6839dba126b16617e50814eff21002e2c8e60e07bb36c010fcf123e7522eb4a62b99fa603b81b7a1367f7fed40d7ab03571cefd65e9ccef3adc91cc6db43d543dca2fc7b136009bb0d9b8e726be9de006ccede9e8c641e6186e45656c1a40c3f518c94d9d3d51a77ca14a62c45f8ee79f48200570d0ef9aa68a074887b8fc2bceae041926768eca5cd60e777af2e456387be889f29c141bcb2390aea164008c8b98a440ca7c5a30565d8d1b5ca6558f6dd0fdc9aa212115c7b7369b7b29617c35e4909c6e062726c3cdaa3fe0885029bd078ad3ad9dd917ca683ca74c4df6cd78f4792b4bb214e55977d3c4e6065c19b8c0804f403cea9e4d66839bf529a58de05308c687619a16cae4740544368e0af677af1837743ea571fee1caccc4d87251a2ddb09560e7989a88f8c211b21b0853b951e098105a6c4e36ac8a526a10679a430cd4fafad56aa24787bb3c6120e1e393aa44eaf33c80a0fb23b8f6fcd504f8db03c43341587eb9968cf41f5018f036cb60e61dba85da5786c3f54a88be5322af6553fae527a09e6325698d716afe53fc820eae43c5d965e788ab90ec901f44bacfaf4989084cee8d304c82d92affc8e126be3c95ceeeff0851d4005050d504af3ec884cb7b807bf2835544edbd7647b3ebb4dbc5e2bd287721223d097c122b19b8878200ed5ba2c6cbd6418045081e95d314cec009f964d47faefbbab0f4c38e61e32e70d9dd888d90c97c3913e3095433ed608081c4c7810552870baa09ca02631eec480d37f24add7c0db9b57ee49fe71d9dbfc09ab3a28100463be880cec412def1c46b91d20329878f2d12f629f4a575e79904943713738dec6b87ba2c112ef265374a9f7be102b4d837a476acd09b2486cc422d8083bbb069e16f164490231e466a57f5e5a5531285317a54c10c193379db49f53011d48e1e470db227d57340be2f51526d007511508d02b6f817cc5c6f8466eed675c0120f5ab709320324401c87caf91cc11911e38dcdf572a6bb2bca3784f8ea85abefc1281c2745f9290d3a64f16898aa373e9b731c4fa806472655461acdb3ef42253058cde1ed491108654d08c9941a21c08c36220395aeb6cafc878e3ee26db0a2f7fbcda9233767d4b33711723aa61e6b518a83bb97d76e591e5158cab4e8cc8d68f8c4397abb83eb3c4b9a31c2d97b82d945b5968144e1f4165e933126cb408d8243fe6cee8d255d6d76062954ec0e97ecdd2edafd7b17416b23ce29c9b86f6fc53480a509c652e0b4b0659a56d02bbdd22ae21bf96d7080832943902e168cda18295559ed370b84282ad66b7f0452d2a607a25477da79d8f75ca3dfecb3dc3b5dc65f7149aeed57dcbbc3053c0add891d80f867ca77d9b86f76da65f9fe896ada6eaf7d3e820cc5c4f81849f07c250415d8c9b3903972f60938d9ddbad400d114211e015bf966bbbc3b126a96f0b82942c6f6eb0c5fc51d63e1bc4b0a969e026f3d8ee4d303bb5db60233cb5d3ee9987bfe8ad604fe330efbed33685719f3f98a260da9c76436e868208f3b59298efd5dc6c3e77cb6aa8fc7acd4efb39860e2c6490c2cd3c3e9be69433fc5a788c1e2eb6a6d4d7580664ddd0cadefaa2d883b8e8ae3093ba63455933f73aa9956477b35160c27e7757406fc2f815b8357f9900a71bc11478b0ec701de4768c9a37cb6b38e725bd4590e4dc824b5be46ab4afbb9b5aeed9a9b364bfb613ee99b36021306efbe688cacaad8bfffce8f971ed22f855872dcee88aff00ce4111d48c874d89842bab4c22a61effa770ff01c844e81b4ebef4ceb5a9aeadaf98914f9346f0a7042361950bf352f50aa7ac050a74cd59cf476fee22732ac5a373e37951bd4d7efb1da1d0b6021ae2d68edcd74b78dd91b172b7c6769a60201c648be1a195b5829d33b14c8792f73d251dcfb43419e92357b5f9c0ff440d889729b86065c770526f5882a2757f80807abd22b1195914057e763d77a0e8effb9eefef4b8333cc474f01e31dca3f96a506b97eca5ba7294bd75e17425c61e26ae254ccdf2ba58b7edd00f5e3451fbd8e9b93cbad13dead64c36c3bcceee339c5c84daa69afd7a99a3baa9c5286af24d4c7a16fce1f457d23988cdb8e47359fa060ae4088d914f90ae7d4e994835c93f8de3bb8a2084e7ff44f1e629fd68ecbc73cfadce6974fdb3af00114303d122a39c82643d428678d7768ffca0bd632659fa33fff10196edc9f8076c26056a07927815125d1b92bd449158209a2f0502a6c1c207db4196d5ea67ffad0409043a4c3cd4e618e8ebc7887c355a87d372b4a3934087f03449e68201c5f43f3fcf25c5eb1a9872c16b0948287a8c88d1b7622813500544bfc2f34663d4ff7b2802a2348029acecf3190abcfeb07d75d6f0a87ee424977b208164276d57e13dddc560c56c6c5612edcba3bb7df8f8665812047a4a8158aad739c6ebaad64b9e35e54dbbf135f22935b6ff0c0da0e66fe52cbefd71333b07d8a550970d5b5d8d20e5122cce8118ca7034d0e9ac99494889a8917a401afbc4dd2509040ff0c6d5af13184aeb8036051b0d9bb8f911fe796f6900255439745e85f326bf263e2533d1892d7317dbf9cd3f8f38199702f0adaf36f6687c2d3d04544ee678169349526f3d341cc4bdc368afa105f7e08f89b6fbd63becd85b97f86de81e8a0289840e41615be6f20f4e6ddae62252d59365a425a01563477b01542248b0970877574556ebbf06b0621b17d309b06e1796bf15f56d1158f6999f283fc3976db54e1e3c3e45d3abd54d40cc28f28251bd30ca56ce6d0ae95b0071f3eea93b0338b0902a2aa2fdb085b0d5982520b14d91715ffdbc63f5c37cd0a89d72651b64290c696bf2ad18519fc56eea80d50796b97ed97c65cf24b6eea22ab9a9044c12bd2a9161eef76952ffed2532d5472b6b7be3681b466b0b07f1b8324872267eb7a7a0b3f624808f75b7d5db3cb4f316ea2b8c70ac81ca19fbe294e6227c3cf5487f16ba97c0c47a5995ee4e01dad5696d0a8c6a7281bbc234d3ee3d680c0bd732e5be9285324141b40ac664c402fd5dd439132f94a09b5e0e366368ad1122f8ce1ca8ad4f6f49bf614909de19ca6a2cc049eeed4e29f49abb3cbf91ab995e5bd48dd74799ab7e6d54c0f7709090b6ddf4329da0da9b28e1e6afaef762df93a82562280e7684841581646147341123b8567516972c8d1e44b58f8abab59b0c82ff5f367245bfa83cf67ee84c2f1a82cbb7f9c01783f28124cc4bfe25afad3ccf0c3ca09c06de4b7829362587aa0052d6c99072cad741d862490fdda32d1da35b14842b83c6e596c05b3a660a8fc264412ea518224aa90778a02e8c1d3d23ff4adc7e3580d9a24e3f7b3bff125779781b26a3396f955e1882326d539c83129005d0ce700be1b687b4d1f0b121229fce5ec30e7293af8075c9aa77a795eaf5e14d7a7acd2146c89b704604de23c0b657c22eef5e0dcf947d804a41ea8d958342a9460c1e0fe98498bcc1c8fb6c5b43da1e2696e68d9c5bc9e82b89394cf487e2088b5660496f0652e8a47bd2dc2c77c0c0fd3e9683ba860fffb5691a8d8bfb470bc5d97cd58345b6abe57f1d8ef36d34c3aa581af1c728e6e070ebd9e613d5eba297e2ba43b4aa8116b29da3c7fdc1e3f7224ed3283dae658d476d9eb4cb1261a352cf307abac455a7db2ba08eb13062285e01cbbe61f7d8f12dfe83284737e2109f14362ea5879ad33e2d99ab29e508d5cc64a25d10f3b5bc092b2b85937ed8a1629d8da06d2c7949fc69c598b5c5d1d6fd27cfb92dcf79fded155840ee2f712f9a1d582c44603467e2d3ad58f8ba22f6c8fda293e9b1969175221b8f7866c3401a52057ffb988115f74613658a33613ecba76f18266cdd5098b946e3ff023009e6b217902d10ed6749f63e4b89a8a7ca9b86ea608790c9e356213fe66510803c36f5efd450fea965d71a06435708d0e7f0dae557750aafcca540bd084dbadd889e5703602c465c200ddb13420971fdceb8acc87b2c99829b1922180c088d75871a0bed0326121d95c382b6d32fe4ee7bf7cd0f05ceaaf90017c82b95aed0cb0ed6af0c710af4688ca6a75882c3361c9e78d6f1362d472f1e74eee4b4a77bacf212c53da72f5770efe1224519b14d9695aeaabcf974ec135f4c559b201ad70c6de968191e0b6430be0ec9aeb5144c8ace2ea623c03a5b25f02c691d7b24c516a567ea77cad5b97513e87dae3b21586141025e70ee0d9dfb242d1889ae96d5934bcf5e9c193b5274f636b417274079b8412b165695be43725d0df14af8f8cc1d0be34098c50e2d8cb027ae2a8c5659b364543505d1e522e5344073df0014a956bcfececa39f3c17f6a239b47d6c937d816684af960c0a595e84799c03474400566137adc3b4d6e5336fd0791a65c19f883bb748a3099f7d3f460d7a756155e1c768ef59125443535cd16cacae8783b38d786f8468a797e83e90bd1d4f0eb95321f148cb62711dc70c34c5938cf851c1aaff5a34a1635d9f1428d1ab1a6488b82d3acfa8b12e530b179ef32fd065eb70cfbf2db49110459e566d79ed29a48e8ebb4dcf41ab00718950b7638efb4e5358b89aef59efb20ff2fdf5b01fb26591e969c9fb16596f5d8b5c3e553c4f421bfdbb00063716dcc9b4fce7c1c0ba70535493b29ddc0709639e55ede989757bdc5d4140b2eca252d50799131a8392a2e14c01920dbeb1ac14bb63313c21e2dca2048ae995bdc6767040bba02fbdea381e96e929174d84f05733f3a874385d3c5a712e43d68e2b768903bb96e006ed16a81d2aaac95e2127b71024ac528b873ca246eceda43f50b9000dc610a04be88f96b55bdb663d6eb15fb93a2d037150be14ef3c011b9b0959affde166fcb56491fcca47241ad5119fc47b686fe759c182af9fa46a5185cd14495bd419eeceaac8eed26eb50354c7496abce25a2c6c63b5e5c28f73e754876320d2d650070ac444e02f3056d4e4dcf5f827c6a4a1283961a0a29cc39093a19858ad729059bc7206a934c0b8d3a9cdb78fd9ceebe7bceab20bf74273017c9c0af917b6df95a37b94696dfe4ecc558521e858e773da1548cb00b9982fd12a83465e866bbb700c110a2de339d327856bbc36d4b4eb72eae0cb21aefa37d0f5b2d980af1e9e60772b2d628bdd8a67400bcb23cd9625edcfb4edbf227a112fd90900faaf3145ed5be5bea9a4d52455fa666ea2a1194b9fc91c8750465f6f239eb28d3c110d15a6d2b857fd9da44b1cf1cb1d567adfdaf77d7482a4c1f830dc297790542280ac47a9c1ebdcb3386e1ad8a6883be4eee7be3cb6f414e890688a3ad0402bb0c39603dccfa6b2f058761f6e06de05a640ed3c1ea4683a4dc7d20efb2b10e7f57dd020922b1900ba3d16d932b5ebedbb8d85cc379cf87175d58aac2e3639af17a797710b6eded5523a28d33326155f7dd19293b6138efae3b4418e93ae6106515d9ce84e34c10b71917bd836fc50a6471b3abdea4f32e8915b2480c86a7cf69842fe1ff1c5308390ce76d1cf9f02126b68d76fd2e0d59e35d13bdbe5f9a55018040e5b2f8caa5731a675c75085c5284f9ab5d2ad4b912f1de42862441a3e8c17b94299bf696291273e41e425221fb80b4f9ace9e8d1251df1beb6c4e39bf5c7b6a05db78072468aa11797e190d31f90a79fd92bce0c5acbeb0c8ccb6906dc651f6c84d9afe5089c55fd07c6518c84c5c650daf06b0d0d2a12dbcb8a420ec4dcec2c6c3db3a3bcb9317a28a3a05397c1faef8f389602372b49d74ebb030dacacefa5208ba5f902a664d35b3155ba8fa3cb8dd8d3e61b9afb6c8042b43fccc6d6d8bd55e1d224f32727d7209f70faaecdeff1af39014df9c77ee4edbd6a5df9d6d600bde36d5f2124b74376b83ec401644edfc23c23ed1cdb969d8ddefee7d92ca1042cc9c73aff2db2347b24c64c41ec83c5d7c77d427b74d7ab74091072ec24cb23f5476ec7e9612c0290caeeb0c153e79c750efa97850bc52a49cf0f8b5e912a162e7e07494260e8609ea812062669dc269d69817d5cf86055f1510bca0b41ee7a077dd599a0d5a401a2cb59b3a1e3f463d8c92e4e75fb52f76f558c8fa6d439bc27f602b2a63c9d051bcde303367f0d506aa00cd09eec236b1d6547ce97e83027887522549694ecf0d616c07dbd9556fa9206fc5a7293ffa6268430f285ba6eb6f27f57e83723b4c7d3d895919dbcbf62a3dc1226dc507885bbed03490f6ab1982c07eeeea7edd40f5d15d2425dbcc7c602a119785e894bc317948580219e8f59a48985e57a62af1660d746a63336d19da11db1ba32a3b57d856d12eefb5a68b343255bc92590b68a18d47d3f0a968d26db7b05253f7e67dbcbf62c7bf76bb26af0fa4963869fbcb4fc2cd0ae00fb9c73aae2927d68fe5219072f68ac7a0a38f3622d33f1cc2ef22be3c6b9f22e1ad7e92ca3a0851d95d6523e666e826886e5f3a18de1b98d055da8cd7fdc77bf9fbbf1b3693cd9986b2220c7aaf621b87e53d200a433b077783a397e804fbc5eeeff4689820acb909b83bd308d70b9c10b0e322ed8d19479861e43b9bd3be2e4dc80bbf03664ed74f010478ceeeb3acb8309bef11ac68a5f3f33e81fe43ea7a1eecb931ac2b45035d8ec936b9ca0db4b27090085669632e5f12863982f4e89e626fcb7ac804b49a7447d327618906032a95552b4c908d7746e4731e3ef24103d509a8dcb8f97279c2bab823dc29e0712c35e1e368ad2fd4f6658af52d2b1a8d858825fa0ac7778ce3901de3ef868a5883f96b99082e625e5d97e1541ec0e83449382f14e4da5200fb978fb7accfd1bd309d7c85f43ff698d167b14e666791da155ea77df73dabb62c7542696fc3fc6bcc1ffcbc7283be7fc11b825808adbf8e5520deacee82e0c634bbddb2323a74eb7758694ec1da438c8099bfbac153b0b40bb0c0eabdc308d036b21a9d991a134cc184a7ee8922eec91c727fcb518a71c57249006a84eec840930b1fe67ec42f24ff07b7c57685f2e5306c39c8783dd3c950e93bd52f8d540bdae2701429c4d988f6c0a7da94ae25ffd6e9bde06c8e0a5d8e1197fcaf31c38b53e30a785cd07f857517d6b15c4fa923c3435b3c3af102720a927c1defde566c1e8cd6cb8d9e0f5343fa8828fd15d5e966ac78b3c50dd6fb00aef35656718e0a03103e9e6514e20ac242c57d261e911d3981043970fcf50a256a6ffde73ac37e102ae4882c9ba3d743a791e786d145f4a9f677d3b2a9762c6a6744f81c28f07c354fafb74856aeeceedea70b695f9fa3687e7462ba913f6bdc7ec079219f74498d53ce44fd570f3f9ebaa290554dfc7d254939bd53202a5bb74bc5b6c3d483041198b08a2dbaf8a806a0465f254479d9782f2ff7d498ed853cb05ab8a41a6d905b5d0d186e84083626fb3955ae97a3bc6bf922640c7f62a84ef422f573bf09feacc53853a3841e487b4b4b6e57249f5224125dc04b8b36c818e02487b096d164eb17330a15cf3c2d300f39c57c29e1b720f40784366e9bee7a050997997aa273a17599884ce70c86ec400130fceaac0a1b4517a314e4b9af5e1f5d53319793502e0c5649056e61b08f203e06bf6c52ec06bcd6deb993e8ab6bd03c37f23e0b4596ce622d48e59bb591f1456d751a481d2c8558d897f7126cb29853edec76d00bef748bf4e7c008de0d9d4e5327d93ec7bc5b3b6cce10eb82ac51b1ba2d7b6fd9ca07712eff2c47607ffd192de1fd38d21d78c08c5798d8e7a082634542271452f3eb205c964a372c82defb9a01852e227114dadd6021e986601dbff8e747c49430f20a07df8ac263e5df0002b846086b343be67b95ea3417c57512dbc97766d3dbb04801f8de7a0c60ec8624ad62b43a9f04ffd6c78538d2062293c0db2fd6c4fe7747ddee901ba721b6a038531b9715a76b4b7f6fb4c08664cc046791393f27799aeccbd32fc755a598df453fe48402140b88b24474475e0dbffa63784987b2561a586a6fe65b4de1464179282f34fdcc8aa46a65e2100ef72e7e3307e697bd68b7d14904e00e7eb497a5c4671351482f29a6334e15ab0009a91316a5339f783527b04dda904bdb308801f0cba6b9f331131a1f08c29ad16f6b4e1bdf5ee7b0e259bc55439114ecf139b3c0d6c18b947c9b467a792fde25a50996ba6031065c21367e769161722538324e9fcb4c12c04ec9f040efcd524edfa6cf3db926866ea5b73f2eb12ac0ad9fb7599d4ed48f129e0e4f751f1977851f6b8d4e797423b7d0ed961485e8fb3c16fc0c7a7d34e86f2b4965d80ab2be8329d910e83b16aefb238e722a32bf9451ce1a475f58da91a458f2e0206b4f26616b57d18ddcb8edfba14f82f9f735bfe31a0545987ee7bc4d51a35238cb0ab1c442e10440fe17f7292ce7153b30d3cba9080e9f272bd2c51f0bf36e09b40c415d44851229475df6489b6db20b868cfcbbd69f1f5ce6a50518d0788ac1be018aeb818b9764ce828593494bd8f4bd1141a4878593ea02de6ea890a4bef04937c4d0845ec2215414405351af4b85a15a46afc81a20b97aab36ef7c0439f9a2d77a542c9cace4f77ae2079f63cd07470392ef2dc98012462fa01390d78f140464794b6db4228b65174e0bc8568772ec7ef0a624ed693d4824e7af131e0f3aa71428803af72187a85850be5d05da6aee37866f16e798a60acbdb68f0ef23f8cb60c00247f7191e54ef9a6134264be15eb485d193c666970f029c2bf5c4680cd621f6b3a3089272230724524e458586e5c22bc46d08cbf3a9156f5a4816277594d585d1de5c84387e50c3a3054fde490b78536cef8cf88f9a28e374be5bf0bb48b1649cfde4c4b5a97696afd7a5c79bb9029fbc219d5c7e2779ce783adfb9aea3afde5122b48678aa144e1bb80b4c8600c72b9c4b9d963ce6ebd576563504799d1ea04925305c28ad70604955f2075add763d301a36c205fad583a2d9623726572e6bce39972a6a3b1985826eb82da22448881e46c2dd9fe66b716c3495201228511f598a95f94dbca470e44c2b3caf5ba9763b7251c4c48890c1457a0bd07acab9fc2ec9d4fc02151509d1eee20f7e116da9048a8b69b0918126520ab89a89a8899270cd50f4727c9dadfa2b1ef2e64552b8de9b42eb8214e5db87170abff617461f65da832dc927c0dcf3ae3b1ccf4ae15c43079fd53cfd8b1d24bda26894a7951f56628462ae617a584f1c5d5355833ecc7cab52b5f49a15891abb0ab695ee4397a3b8b45b8bfc0e8de7a30d14d467b3271fc4a94d779381e09c397d45868f784dba9fa727ebfcd49e515b642ad3d2013fb41736ba1e1aae08350b47c5b897acc66c54ecac45d0d638ec189ac1499983e37eefa5fe719e4e1265a0e28f19cdc7f6f1f610bc74fab5856f6e39d80e75ddb73ff3158330540ca72b57014e30d80ea3a96a713c9df09e918c20c1c754fac104c5a081f4442db1d9135ef75863d08efe7cd114305318fadb51a3ca76554441cb7d63c83b796526ba7a6a98c2ccd1cf6d2b2fedd1591677919abb78a925865a6c513ed83183ffe85b820f622f39f20694151e5d3659edc1eb140ff1748047a928b09997d4d71f95c0b684278c3e79ea7d7bf9aa2b54a623819759c40ef6762ec05e38da94cd4e0351ea29cee70df96c263af629949a5c27f01f978f0e54ea624e1764a3096ab4cd4976b6ae1cf98d7c6dc8e350a4a70cd1dcb4645f19dd014bfba511d8a35a53e3969b84d798cea519aa1e63477dcc5f49b9380a9f0b5cccf2f52c0f3b96b98d6c418a2f6e0e8974082e0269d81a8f361810f8ff0d990d509658484a4aae3575206cfb0b059755cd9ecb3d2c48e501a61f37e61f036700ef974096fe9cad016a4791bd110544e417196a8a98a7ae2fb3728245109daf91f8ac800aee375b0aed53033e233ff7a461d9b0f136799c6feb87ebf69780e221018669de7a72388a08eb7bb3b9631b4dfd5f701bac8df7afff6e2b3085dc6b61cccaf96a2ab725a1797f670cf99a911467c9dee7baf138df096edfa782501cdb0bd6c0e7976e738b568e3109f41a0bc9f1d179071df9cfd239b0577beba215b49095da66936fc780bb9826d7ac68c3c29d2b808d3269894a9016741a35d96e745a0aa2e5e743e9cb2fa080c930b9115eae1d7a8f0d9a9aa31de89a35a8a86cca7b6032c56d2ecb9cb50fbc8ea1bf241e663bc54f57f8d764a2f3762a7d9325a99d271a0a88a33b35b7b8ebc1bd9ac30827da30ab7ec98b3bf651784e1378bc13b2f6c3cfd2b263345346d5e39ffdd63e65d81c57c117433a47a4dccfea1af483168c5a8fa260844d810abafbdeaf18e994375dc54a7d6c64b8a394d343d79f315dfd2b4e6c1cfc2144f172cc94e09608847d9102854e18f53567d64466b9b2a73bdf5d7bedde274fb08779b24e348d91378b35e5043aacab7efb6ab3035ccdaba8a086349b48fea707c25651e64a337d85a17dfc5bf63ca18e70db72363e08bbb122ca2bba6ecd51fa21e2dcca2060b249a24e86b5de37a53d0be8988dd3d226475ae7ecb19c440a9f7a71fc397822adce715524333bbf825bf65c8273b028742dd843b8063b9fe58ca1331cfeb5093dfc45c1bb09b46d204eaccd691c267747b833a6ce1f5efa916886bccfb46ff23103f9bade987089aa6f2be1b2931cd7a441ac44e54df93285ec7d606be2988e3bdfe9094d374de456676dab0ac381c09205f16e629dbb0461fbdb78cfa24ad1942a8909378ab733ab14ace19b0d8d20618a13aa77fb9c24273ac239551", 674 "result" : "valid" 675 }, 676 { 677 "tcId" : 48, 678 "comment" : "invalid output size", 679 "flags" : [ 680 "SizeTooLarge" 681 ], 682 "ikm" : "b9e48330280338d38dc0d52493d0c83c2f705e73", 683 "salt" : "32aaa81e238e101845eb2698ee271b9bbb832fc5c94f426fb65dbef3fd267dc1", 684 "info" : "8c5bce0a3200271a", 685 "size" : 8161, 686 "okm" : "", 687 "result" : "invalid" 688 }, 689 { 690 "tcId" : 49, 691 "comment" : "empty salt", 692 "flags" : [ 693 "Normal", 694 "EmptySalt" 695 ], 696 "ikm" : "8e9dfcf668a8b7e22c8d403c35af78324dafeadf", 697 "salt" : "", 698 "info" : "b4d6ce377ee98d0e1614e3865354cda02dfeb92010ffbade5d1f7e4329f166995a67415d56221128b04de3e8c49437b9e322986b5fe1256c7f8c81021b99ea96ae", 699 "size" : 80, 700 "okm" : "01ed7302f611c098f57fe9ec9b8654974bd707981c2b647753cd586cbdd0d7ea1dbc5c76262fdcbe0c355a965a4287eb86e4c97e60bf0e6be0dc898c997b0e73b2888265e8115073bdc5040365736d73", 701 "result" : "valid" 702 } 703 ] 704 }, 705 { 706 "type" : "HkdfTest", 707 "keySize" : 256, 708 "tests" : [ 709 { 710 "tcId" : 50, 711 "comment" : "", 712 "flags" : [ 713 "Normal", 714 "EmptySalt" 715 ], 716 "ikm" : "7ef7d4f8c11d940471cf9a3048d66b3b3a3d9db9fed5f81419fe75dd50116f4e", 717 "salt" : "", 718 "info" : "", 719 "size" : 20, 720 "okm" : "a370de1c822b8eb00645c18e32ad6a1f4bb17c9b", 721 "result" : "valid" 722 }, 723 { 724 "tcId" : 51, 725 "comment" : "", 726 "flags" : [ 727 "Normal", 728 "EmptySalt" 729 ], 730 "ikm" : "1b6c7d5da045bf8bd4ac3083e8de2b90904bc7f7830bef876e355b74466cef91", 731 "salt" : "", 732 "info" : "", 733 "size" : 42, 734 "okm" : "50dd5b5adbe96aa216f93c4cbb7d568d5141b3ef7214be885984629b93f07814870db846c3efc8c7db7f", 735 "result" : "valid" 736 }, 737 { 738 "tcId" : 52, 739 "comment" : "", 740 "flags" : [ 741 "Normal", 742 "EmptySalt" 743 ], 744 "ikm" : "b9da242c02bfe79364aedd7a323692191092edb2094f112675c2609a387c3b21", 745 "salt" : "", 746 "info" : "", 747 "size" : 64, 748 "okm" : "384c0ded57bf066d6665d88355aff9eab8cbd78c1c71af7b8334cde6536f21223aeddd5a84d278d5d73f5b536973575dd2993a4a857289c3b59861643c464c2c", 749 "result" : "valid" 750 }, 751 { 752 "tcId" : 53, 753 "comment" : "", 754 "flags" : [ 755 "Normal", 756 "EmptySalt" 757 ], 758 "ikm" : "23624191960916aad7039c8e9dc2ec4e04ac61a233a02ec6045021598123f0cd", 759 "salt" : "", 760 "info" : "60dd0d1381a014491b34f0af15e4bebb8f64cbd5", 761 "size" : 20, 762 "okm" : "2f94214e5171e40cd7bb601c2fc7fca42c77f227", 763 "result" : "valid" 764 }, 765 { 766 "tcId" : 54, 767 "comment" : "", 768 "flags" : [ 769 "Normal", 770 "EmptySalt" 771 ], 772 "ikm" : "ad75f83c7fef898ab33a429af351c10caaf39ef27b161a6806d34f1f4f8be229", 773 "salt" : "", 774 "info" : "69546d578a213b7f2af101c8ef532339324d43ea", 775 "size" : 42, 776 "okm" : "b60b7fb09271c6ac0c48d6ccfbc535115075e0060633e5adb502bd964bac2fd120a53be8bfbc9fedc27b", 777 "result" : "valid" 778 }, 779 { 780 "tcId" : 55, 781 "comment" : "", 782 "flags" : [ 783 "Normal", 784 "EmptySalt" 785 ], 786 "ikm" : "cb55dbea8b91ae1ce0a07b23b1508c2a930560b8fe7255fcc3e37835803661fe", 787 "salt" : "", 788 "info" : "b57d6aaedf30bd8e25867059761a02c5d0478f2e", 789 "size" : 64, 790 "okm" : "d22014f4f0475223eb87d4d462f29f04a33fe93349fe62ff9d4dce9360e5e22bc0a42746abbf44c22bf472c1f6aa608f3c90c088daae7015fb2f9e5aafa2c9a2", 791 "result" : "valid" 792 }, 793 { 794 "tcId" : 56, 795 "comment" : "", 796 "flags" : [ 797 "Normal" 798 ], 799 "ikm" : "583bb04b870b4b176e58257b67ffa3b8d4e339248fb0c38105673fe7097ce47c", 800 "salt" : "aef10b993ba2f9c390d429441bd6612f", 801 "info" : "", 802 "size" : 20, 803 "okm" : "fec774eec32c8af7f44b9f60dd778753a5057d75", 804 "result" : "valid" 805 }, 806 { 807 "tcId" : 57, 808 "comment" : "", 809 "flags" : [ 810 "Normal" 811 ], 812 "ikm" : "fd4e56ade648e1cd9d797b0e341700c637b0fa69d64b9088f187107f22dced5c", 813 "salt" : "d7b1397162d311e603b5214fbea09dd1", 814 "info" : "", 815 "size" : 42, 816 "okm" : "41042aaab89c7f6534737a277565306f90a286a426f5597a6db84bec3f5b0b39a94677d19dec30986b61", 817 "result" : "valid" 818 }, 819 { 820 "tcId" : 58, 821 "comment" : "", 822 "flags" : [ 823 "Normal" 824 ], 825 "ikm" : "9ee52bce034b6c2b86d280a16cd67556de34c38c6fed2166a00f90c13164a435", 826 "salt" : "56aaaea767cb8a0d5178c94d4761459a", 827 "info" : "", 828 "size" : 64, 829 "okm" : "282fe1ea640e79b5f7f967e510fbf3bde0e20672c5bf284dd7230aaf75b7c82472881ce2a0b89692817be18c41fa38f06de284a489068e9af452326bbc10ee5a", 830 "result" : "valid" 831 }, 832 { 833 "tcId" : 59, 834 "comment" : "", 835 "flags" : [ 836 "Normal" 837 ], 838 "ikm" : "cb785e569837f730a147fd2d4f53f6e297453817eb117270e2d5c286bffa691c", 839 "salt" : "545a0de785e5820ec65268b63e543c03", 840 "info" : "63421fe4d31283e2dc3d8d09bbd3f9509bfd7b4b", 841 "size" : 20, 842 "okm" : "2a44ad4a5d904eb5ba74a89adb46c19f3f2321b2", 843 "result" : "valid" 844 }, 845 { 846 "tcId" : 60, 847 "comment" : "", 848 "flags" : [ 849 "Normal" 850 ], 851 "ikm" : "101fe3335e827789564e7ef23a2a0401ae336d646ab15ed4b5edce6801f128f0", 852 "salt" : "317a34d74b046e021493b750d058227d", 853 "info" : "8f9b9f4bb9ed5ebda37ea28f97aee40d533a56c9", 854 "size" : 42, 855 "okm" : "d0927dbd93b0eb6415e3836b47585fbfc49d7d4ea0e4cfa96a4f1195d2156f14141ea700b223d9da9996", 856 "result" : "valid" 857 }, 858 { 859 "tcId" : 61, 860 "comment" : "", 861 "flags" : [ 862 "Normal" 863 ], 864 "ikm" : "62dc1cecc7f444d924e20e9e3cdef183b5120b1f5bf863519826fad284c883d9", 865 "salt" : "1956ce69bc08e45ce86f5dca57d0723a", 866 "info" : "0cf3a7823b830f3542ed7e66b47be87c47e6da99", 867 "size" : 64, 868 "okm" : "6cc96b84592037ab3fc39b6eef90158cc3235d6475b6ed08fea6cd2f0a4c7610caf4afa2ac95ee0d5c73d612b5801a3900395a84147b749bf60d141d888f45b6", 869 "result" : "valid" 870 }, 871 { 872 "tcId" : 62, 873 "comment" : "", 874 "flags" : [ 875 "Normal" 876 ], 877 "ikm" : "2c1fdbf9a2fe9bfddccfd8edd7235551fb50e642500f29e5425ef7f0e78d3905", 878 "salt" : "be744780200ed6f2027fae8b64f2de0da992369a19509e590c36f82d81f3", 879 "info" : "", 880 "size" : 20, 881 "okm" : "886881a9286f26d47cd8fa9634ea951df0b1f906", 882 "result" : "valid" 883 }, 884 { 885 "tcId" : 63, 886 "comment" : "", 887 "flags" : [ 888 "Normal" 889 ], 890 "ikm" : "99e1688fbc1d2f2cab80ab95a86b301be9c6d996aac4f13ff7e707487126bb89", 891 "salt" : "bb869fb1182f74b65154d5e53f45b0fc3a1d8a6eac58eae2c077fb29574c", 892 "info" : "", 893 "size" : 42, 894 "okm" : "100b26ded4ba401c39066019c08758312433b341a35a6803c6913f82ccdfc55d896193511027b29c4aae", 895 "result" : "valid" 896 }, 897 { 898 "tcId" : 64, 899 "comment" : "", 900 "flags" : [ 901 "Normal" 902 ], 903 "ikm" : "d8ba14145c3b749c50e22ff58f552dde9dcbce9fce3c3290ca3a2ca04f3d1eac", 904 "salt" : "026ae3d9c6b5175426c0cd000b06a8eaa9887941820608602a01cd5fd891", 905 "info" : "", 906 "size" : 64, 907 "okm" : "c9980ae8ec2059d307bc86160e8ddc6bcccc540f72b4665f73cee33cfcdc0f43e7023537cf331ec7fd7784967572bb396823d11f107430943af056e0fdcf8715", 908 "result" : "valid" 909 }, 910 { 911 "tcId" : 65, 912 "comment" : "", 913 "flags" : [ 914 "Normal" 915 ], 916 "ikm" : "3933360960bcbb94262644f81fc832b15eb47834f797577fd9fa6c2110ee22d0", 917 "salt" : "f29df8b80352ca0c08109e0fcedd4c24dd0547f4f2c67cf51caf3553e7cc", 918 "info" : "ffbb2b91b560790cef1eb610e013082986b47fdb", 919 "size" : 20, 920 "okm" : "15aa7ebe468eea566917d0346dde6dd78ba626da", 921 "result" : "valid" 922 }, 923 { 924 "tcId" : 66, 925 "comment" : "", 926 "flags" : [ 927 "Normal" 928 ], 929 "ikm" : "5ad1ac7eb76fa7cc05a30a6f6236e25d906bb0160cbf5f89350887523cb3f7fe", 930 "salt" : "91840321a9a3030285df668afec60a46579b7095f3c357bfa3e403eb2080", 931 "info" : "7da7c7a79c9d94bee3b561e532766f8cb329a11e", 932 "size" : 42, 933 "okm" : "117795c01150a56a41584bd27ab42809b8c2fe04bfce60911ee5acaee8a3bd9d45124841a5f92bfd8339", 934 "result" : "valid" 935 }, 936 { 937 "tcId" : 67, 938 "comment" : "", 939 "flags" : [ 940 "Normal" 941 ], 942 "ikm" : "59ee8495dd1744f06cd1009858da52fc81490e1547e0f8b173da0818dcfa0ad3", 943 "salt" : "31a144d8fd2c31ec7d6fd63de0c70e15149ec0f10595ea2d3e4a7db54826", 944 "info" : "4d5ca4ab21d09ad04d3c7a71b5c8a8822f1ec808", 945 "size" : 64, 946 "okm" : "09969e4d7efda0aa43062013b826f5b9953f1ed62a004e8a1b7b2c9dba7ea629b2f0987c8f7f230a117b49fd470074c1934e51e94e3dff2377b703d9eb533db9", 947 "result" : "valid" 948 }, 949 { 950 "tcId" : 68, 951 "comment" : "", 952 "flags" : [ 953 "Normal" 954 ], 955 "ikm" : "26c100db697f01ab998be43afbc294cdd0554e43ad75a6ce5de4c5fa427760dc", 956 "salt" : "80169781fc54f9c49e852e49b7246174b7017e02d2ce71bc7ce851b82151688b34ce1f203930e00b7f6e8d56b51b3d33d688fe24dc17a935332ed32372cad575", 957 "info" : "", 958 "size" : 42, 959 "okm" : "374077f9f4e7fadf8336e499302e2ee425887cfdbd05da552d739e4d1a4d2487cc949b8197662edad9bf", 960 "result" : "valid" 961 }, 962 { 963 "tcId" : 69, 964 "comment" : "", 965 "flags" : [ 966 "Normal" 967 ], 968 "ikm" : "5e4c5e300cd1337f3b833ce4d3a0bc13b5a457577e157a94715b041833882fc2", 969 "salt" : "e365c68a08cc9a36d6044c5e108d784e801da10f66ae266fec614d63c68caf222ba75ac7699befa2e9f303038d0e2d07fe3818fff864068d2b714f1758a5f11d", 970 "info" : "496eb6088ebcfd20d1611bd18ae36ea8b6a6259e", 971 "size" : 42, 972 "okm" : "c176a8a149a593bc9a11f25a0c41ad120ce3a0aa3eb759fbfcee09ade53e4e2992776ffc5a3353a05c4b", 973 "result" : "valid" 974 }, 975 { 976 "tcId" : 70, 977 "comment" : "", 978 "flags" : [ 979 "Normal" 980 ], 981 "ikm" : "974c0ac12b6a9c2b79fed80b1a960c9779b1860fe514ffb251c4ba65ff2dedc2", 982 "salt" : "32049bc0c7f3189651cbcb45491347f83e0e90db281c3633619516da566b1b62", 983 "info" : "923e5c930f457af5", 984 "size" : 32, 985 "okm" : "5f368f29e213be6d5eb3ba540a95f21714134df999abe0b3ea9aae5ac4708fa6", 986 "result" : "valid" 987 }, 988 { 989 "tcId" : 71, 990 "comment" : "", 991 "flags" : [ 992 "Normal" 993 ], 994 "ikm" : "e937b5e7ece235b337cb4fa9ab8f3a747990684399a1c4bed47b02b3a5e47a7b", 995 "salt" : "0b079374c35ce1373bf13f2eda25daa8447e70ec737eff8c88b2e024c83e2181", 996 "info" : "0d723e3bf44be388", 997 "size" : 56, 998 "okm" : "327afc3e82b3a1ef3b1d7ad3727c96f30ad19934986b868cc028b17dcdad0035a3ea767403ade0b3410de8568831afdd30f90f5d669e334e", 999 "result" : "valid" 1000 }, 1001 { 1002 "tcId" : 72, 1003 "comment" : "", 1004 "flags" : [ 1005 "Normal" 1006 ], 1007 "ikm" : "279d9c928e719274379be30bd6feee738f8c53049e99390004b3d9a8745738b8", 1008 "salt" : "9a8080efd34f9d82ae74d750672d2f6d0b055a3af78a4e40888e93466f1641dd", 1009 "info" : "efaf2275a9a729c0", 1010 "size" : 128, 1011 "okm" : "d88cec7b19c6332151244accc7adf1009667abb0dacb358d740ca2101bddc610473bf322674fc50e37650a576e81785002b35fd1be18eca5ebf8ac0bae4f416bf1f00411d8f63d84aa4a2859aa574540e6f24a94acd51bb4b11275602144578b2671df502b2fef6ee21e7a47cc0152e7f24608953287661d10392c6e2dac6351", 1012 "result" : "valid" 1013 }, 1014 { 1015 "tcId" : 73, 1016 "comment" : "maximal output size", 1017 "flags" : [ 1018 "MaximalOutputSize" 1019 ], 1020 "ikm" : "7a53f6a4fecd584bf9a23eae9eb764b7a65d34bf0cf080f6e505eb450a57d839", 1021 "salt" : "f669d51642c7721667cc682d1e425dbf3ee5233a12e406cd1ad1889fc556d117", 1022 "info" : "0bb3ed2cb4dd08e7", 1023 "size" : 8160, 1024 "okm" : "de08a66635e4b8b7cc3d850f8e5d7f861d1f85780b54fde0b77258840092244c486a8d2a9f850ba8786462981779d8e884d57752572f3af9d28fda0b71c5850a2d52f376b349486b53a1da8b66534b4239fc45362d9db3fae87f4278347346542c7d55373c21f161cfbd23a3e9fb864146e2ed311f4ff0e9ac3536e8fc2818f9c87344a57539d48445e19a55a23c12f905d13429dc80d2f91d577014c976623a01e4c75ac6abdd2aca8a4596f8cd349b5e9ac2a1c927801d706e1df6777dabf98d2de6857c44648bd4775466833a17c21eb15247b419dbb9f5e7c46ba51a8d0ca899b0fe4cda569f3a93bd04df77242fe127ce3d6f341508d56529ed7c203fa8a3322b179cb1595d1148d3ac2fa288165bd6d4d30598135edbf1a9b5ae1ebd20aa44f08a376e11a789a61f29c3df194173c142d5e7574f5a698036f82343fe6fc111cb1381861a5590b47227a2124893d03e4879f1f137be5e097b59bc84489a966a6b1e7c6dc3d3352837fea067380d542e18825c98f503a61f6700f5fe4d16e861ea64f1bcdbb69b8013d9e070d2d70fd345a9c71e7d9c997f5ab443e92e178e613d8b8213efc34376adc69099a62773840f653efdd3ac17a490601a4b99c56f755de45415117373e6f408fbb985c4ab10a8f392678ddc3fb6deea5cb147a9ffbef8656d76ccf6764cb088ec84193e6972caa027ecba9fd532c632896786fb1c87115e4e479bceec24f92bac0ec68a9403e90fbb5994b788ad02d1cc6d8e4bb53230988b18f3c1a146b04ae6dfb4f773e1a8469ca11d7558f7b496cc42b417c7a0c8a4349c43184744ba4169d93e86c416cc892dd5de21e10c60f0d475afac2eb6dbbdb92ab30b8becffb9354aea4c8e9a98c57787a424677f34d9fb606829636dbb10326c8a42c49e83b4cacb00ffcfa24a5b775039c82c15ddd7f88d469eecf382fb1e01984abb8d23321f26da82ae70192ae2e43ad4317931f2298cbac224568306cd996c5f8396e3692e4e146c0cf0e0996917c54e3aa69472b35b4078801dccea9696f530df4b246481fbb9e27e535a5ef0dff5f571aec4ce8c80e3adf3e7adb4705104f71b112254eefb6d8daacf5a50895524707ab4683386a7d3cd971204a5300615d0ef5434e47f72ee2d9294d301dff26bff52963c2bb8202a49e84f193b0cc32ceab0dbb0c0d63fb784229a0d679b786c8c1f8d72072961cd4d43a9cc30e5d18af9d7ae0aa360eb24a4bee441f8427278ae6e12fe612743a03013f7082ea6818eb633e863ab4c6cf3830b24e2fc283861ef7347a822c691c8a523a1a107288c8438de427512ae8b5923fe0ba7a1ac98279b0ed27c6bcd26f7d86be9ecfe77e8511a40069f0fe043f7b4d4ec6f5dea3e8946cc03fcd0f87a23be713a07c4e7729207e041eee0c807c1cdc3567da5889e2b9b7e653d3a14d11e16099f626252c4faf01a2fc797ddcfc5a72ecd1fae98ff71ae6c2ab31bdf2fc8f7a594f70df384178040d3cb902543960c1f37cf311375ae412fea507179b6f47dadfc1ad3e1edeb9166e22f159dc0d4bf8f50f86962d15fcf1559ac656e8ba90de1c5ca890a501d5a6e364a4f156894da2a6c44d431ac7284d1ae594f1b93d775615e11f2b9c3477ba4f35922fa17f5bcc4734e23c26018842c0203546d6a400a41fa0bcfa6b97dea5a819e19b1b99f9ab6f31fe3e46488c8b9f57e32048287f6c5f8e6158a214f6de5deec81814d993ffc277091be8fca50a532657bc4e96d184e8de8ebaf4f231afd4a3350d9338c40d7c9e5e2c981b5d95ff87c34142b989bef83e38361049ce4c31f74e4aaff2771ce632cb97d5eb23e1685cf97dd240e6f5cd48c98d059cf89f74f33475ff545ca88bba6c06c649c6593c497ed10b077c6f3001f11e3bd7733122a05a9b7a84740e5e1083e25b383e3ad5628c2e5bd44a9e0ef998d2f7e0c813068eb599e6ce8c6c6a1d96dd2d8ee8fc8a1f20f938157135109258ec41a6b4e42dfaa7c779202ec235350bacc96df95ed0f817e955566cd39056ed5a4e6851aed87c44eaa1d28f730e3473937b856f0b240dfc86b29e3629da53cf61a0ca2150d242bfb1bf48066d3d172bbdfc78a0f2bfbbc3a05399371ab9a3af83a247ee5f9e86697af232b4138d0786dec954e953501be7f5316f832922ae88af2627cdad1f5bf8f9d46f0a328ac5d093e30ef95a69a684841b879788a37fb26f361984a409b49a40b23c8711730eebc124471fd0319883d58f6efb45b6a432b9b25937e6d1149ae8e13fbceaee2a6724e44f12844c9e2135dfb1a78502dc965ccd4cf0c269cadc2b698c3e7ca8275bf2d19297f7ddc3636800f423672b3a6c5b2f5cdedd86535e14149ea2ea98d53b1c39de908bd8b420bc4a6a53ca03be73e3a724f96bd71388c09798bba425c1a2b148d804fff384610865bf30c2624b356ed14522cb159d7178971d00a660f0b1fb59f0197762c4ef102f1f2a7b043507071d1695055bf1fcf4cee16ada8bf14fd4e05112f51d3cc6f71b1b2edea7dc1d5419de5413498ef0660cf61f624ec9a46b03d3800ad6bdb39fdfbe88f605eec119b04a2de73e4e7a95b6bd09834e01af207e281fa1412b3b98054456a1b165818540c52a25144918ac2667712266a5abe1841a576dc536d1a077e08e532537ac468c359d8c7b58c0896e9d5a56c44f6bafcc74b21544eb97f146a89eb4ec5254258b7bbcb8ca5b59df8b83f977079235b4e2de832579fca627ca9cd6e87d0e1404f678497fb0c128f4d5d38a8f7aeed2b360f354cbaf674ed922786bdb56062bf65d70e424721146cb2ad33eb79c29b95944b24b0d0da3eaf2589220d4d6f5a9d903bc16be3d3b6d99ee02f8a3934243275f2bccf9b31a0712d3c5dc919179ab23d8686b02aa44be94b88e769a7dd3a4a0f4adb5ef989ec539bddced4f76e3903d25c7097d7b051d8756d543b168b1467876a3350dabe3fe5e9e7354808867ff64b4d56ff858250f6db13bdf923e389ae36c15a800971ce37c883145139f7fdcd73d0a5a961df5a36e1c704bd5f1901fd9c535fbcb3abaf0cfdc59a8df79d7f36cbac5373beb809a39fc417ed25c162dbb57ce76959a027c0f563e192d6fbdf6935a200d7530012c7af46e5b7ddb54c2520282e4652f630aa4b8a226cada5f907c855e6bb60aee10b1cb3084d4a7ef130f8dfd53ee82277c80f9297adc9e323d3163b08af26b522c4632ecb273a7495aa287f580b11705e89db1163468f00493f2bb8f64afc9e19bd06bc7673b938ec41aebf996395b196f58d48af276a0bf38b44f7f687c1348bd3eb1dd7d001486d097df14ef897edf1f6f4c65eab25640fbe963890324138ef06dbd09129cc2022d3df3aaab83d3dbb129baa12edbd40ba678773fa1e7d16206f682b7953930596596d50f5bf6ab0c775d14211befa08bca58c009e36559e83e4e522af10e100a92dc97757db570a737ca0fa67c2bfeb348e8fa4c0fa93bb6160e7a19ccbfbee57c4b6d7361a1cdbda20d8a4e50bd93da79eeed5ee7fe2a2d0e2c15c4c93dcae100e7a9798d2e1600e4580e0e1fa01dbefd01d091567a341ec3a45b119feed5e264d76d5c2848e393d6357a9bdb7c90063cc5eb5ae7033962e5fe7a09101f54338b19efaa86f127d658c2b567e9b20a819777e39d31db1b1e4de9f9d67887daff6fcad746b94b6ffd46be98720a2e3f0478de44341cfbfa6927ca4c58255b265a012f7693befbfa9643fb80681e055ea0a1e410d337c0947e944cc343801d75db77c48b268c8bf849661ec40906891a00ed1f9a12fdc4e84d31a74fe79cf105ba82b465bc42cdd48a9ab2b3c94ece211495298d3baaa8f767d9ebcae57c5771c985bcc26bd37fa30b70d3a8667b95f85eea5c9768d31af5db58915670548547630df6bd374a7fe1e99c99ee315cc41c0cd6487ce895abba3f6e18ae0bfd8e3656d616500de0fe5a76c9003644919d4366db5f09fd0747a666bd8ed0e68a039a3742817c14db4ec5033fff77723e612edea6306285d61dedc91049f52bf153727bd549c82ece5be6f29d0755d85d13ddbb84e25660acdf01199d93503b946f96625aea64b17c2e09343df30c392d843de18688e3b3b4f1e95a580433bedb86f0f2436f0f26b58e821e215aacbe91764d9af7470e607bce205fd44740466915b61ba04cfb517e3b12dc5b51d4ca629af0cf5dcc2405af85f75933812e2f965cbbd0d1d2dfc5d9f997eb6469ad6e13efe7dfe27b050d583dbe4fc067df79c48d86ee77355f6f354259249acc8b1a61ee52ada3ac195f7be598c04e7e09157f7bc948d49744781695caa1393784266eaab383a536fef684ac6b840c59f1c631449e69f35d44b62b7ee54a1acd8cd516a2dcb4c3b20a6042f131b1eff092208abadc03cb8ecfe2394ab947dc9f5510db72611ac1b72624d6159775d76014b61deb772f694d91a5d1ee0234cda47e9614214413e014b6c3c3f15739ad297302d89d112c5ce157d7cd64eda4b7bb0d93f67e6434d554a44f92608060d4b7a65cbde1cd30a04732e463ba79e65d545e1187f06cb82a1f344499e5c6a507c7ea1cea0df2eb08fe8779da504867dff0f1abfcde6fc3852205afe540b3b35f7245ede3422200ddcc4fde641415acf85ea14b7485fc255f3f927a7eea0101954d3d75952f2c4afd14eebf39730061ec78978788f11534cbe852b902d91ceaa790319fe1cfc8b05b31e8022f81c22a772e59ccdf73cb0fe2ad82b8e359d1e7ff4bc5c87d1b156f469b28202aca02aa26202d44b342f79f9359b5d6dcd6a961be7dc80828650e03fafdafefb13f7d8c7a5a235421936e74bd95734d6e6e981a55a7829bb7e40fc56da187a04976a04f839896f95a7b45e5e19116a70b0cbbbfa85ff6d8fd847fe7a44115a237cca0920807c353f0b53b88007b4d65bcfd1fe6033871edb4b47ec55028303bfdb53145af9dcca24d96da302e26f0c210b6401d8fa59177ea645b04d9f761898fada0d24a2ccf041c6370258642a4213b027e7743d7c5efce76ba3e8674836218607643564210071f253ffd39e174b7cb3e6c6ba40373cd08983ca2a606961e2482dc3a35959af551df411717be1e312cb46dab75e17b612f7893ef2d269afc3090580539984d35f18a692750fd05de178ea55e315384a2c12f7a95940948f5d8c96f8dc4e5384620cdfb6a24411f4fc3e9be7bf8f20a57c6f7df20036202c90d1a1d0e369038ca1d24369eeb067195fbef6512b98bcb0a19188b08b0e02515486a44492578792e79646cee13b03171a93bcb883ee47807069b5c430d7463b25e797863780d8fd32131a2b199cf527fd341c5d9825caed72071f0361054e72c061ddac442a587eaad61bc0c63699f8c31b1f519c3432a46e8ac59308917c6a49cc3ba71c67a861971b86623c6d3fb6fbac81d75954f52ebfea3841c2fc6a75d96b5aeef4bd2becf513934d286d5bef9551fa7bd58df2fa40a80c26a9f5cf68ae2d4ecccd1c95819918ac4707dfcbf7bd8ebb1f3994036693b7388fc3b242fbcf1b25bcfea3ee491c8c26ee85c8306eaa3961aadf8e9fc970175bd457fc081d422e662c8c59d09dd545fa596f38af8af1211168b5e80746a98b31f6177dbfd9c0cc4231bb792d442ff24022482ba211913eb1aa18426efdb26d491256d7bcb0ca56c5f329d08e665360feea602493dedeb5977668129655d4767c545a7d5f8cc6f83d1a47afa3fc879b57649c2391e1bf2940e106b04cb3787f46262668a86d0cbd99ef0cfbec688af371278d78a4e03d60b69245ebaa1e3c4440c3a8a188970d8dc3c1162e89bac3fe3ac3530ec204a4fe9194390632224f60e3b9f13c970c5f3e594a803939c777fb325a1506f19b25b7e801d2d16facf8a14331ccc2aebaaa6db6883cc1748cfb58f5507e0c58405339fdd8b6f3f4efb1916c1da2068ffbbe83736e4c85733505a9d42af9361ddabb1ad583aaa7fe408ef5f58db84472578197ee3c21a2e88c6244b75b6cf63de32bf85aafc52a017ef7afe4ebe16f54cad4edfd5f2d81dcc10f66d715a2da8057e758c9f5fa1f679c66c0b3a38d16ca2e71756271ef22ce94d89c09ff6e000c35983a1446c5f050c3a76c4f88adc9dd098f2171d3abb39e32c7ed6ae9f1d852013f7df6acd531f93a4e276541f4cd426847b70ff4417b28aab73aec4582fd1f1100ea8402faa4337c80116211680c2d543bb50037c3b9a7186ca91e8406f30c5c6025d83a17a2361ea4dd012692306293b274781626f486cf10e37aa16fae99a1042ec2c4abe227bdaa8e7968553d5b333c250b905b34cd8c392dbe13288db956f5673caa7deeb18693e55570a987b48fb24a0e3968db7392b9f6b9ab3c8a9a50bc28a688efc0ac8b924b5405ccdcdb0a20e3f6011eedd0231d31c05324ecf93dde5045eb938f0a9ea393abc921c8ce87935eb6046a59ce6a2954824f50be8edc3f79342d640de18ead692155ce83c6875685906a5d14569bc93c690bec21cfd7e4cd611f1b84fe2a49596ba68369bee309bd30cf2e95c8077212fdbc9d864e3bee732b85d347d5da1b296e9a4db9d4224d4def69f0061e99d5fd3c4d433c7a6bd89ed4d0d867ceb940b30b472d1ee02c3f0e43bc12d16e1fb954fb64520da5d4eace8119235960bbb09082141c46ad9c8cdd1f759f757efe92dadffea02b62e359a4573193c55c9c45b4c02f19ebbcb03210a901c06dac494be39331afaf86a32c8dc4bf9780b14a4551dd799d3ef5efc775dd41ac3aa5960c1aaccf635f4601a32679a9908009a07e045ec4c9b13ca164d631dfd8cda401e80159805ba6bb2531578e628b0ff0dd86accc3b7c444f4ee2010091b2d5a8f049da556d7536cfe572fd3a79db2fd8d3e2ece9bdb9deb7b01a2783ef92cc8c5a1c6a2e722dd5b80622c2761c92bc4b2c85c8cc9d881dbf71975376eaf34e51cc26c55719a2c05e266300b042f783800622a93e3c1734435f507c15bec78123370c5ca0db7b59af5a9f3d1bdd9592b4de8a67226364678c656ba9f95ccdb3e7dc4793c1518665aec95ba1e62cd5e8ca8af74855624c3ab71019508d25bd10872dd20d286251fc31feb2f5cc2553bc1592874ec7e321268ff3b9b836c0c4fa7d2d0ea9a7a55a8454e04878510dbb65219d98a7ecccdb2564a513ea57af1c3956d9051d9e71ce973bcf43876646f1bb164b4119fec2234e41cc88dd910784cfc671b4ae3c110b7d937a6645f47307fe4dd87861b26648dd55297567a4619de45e22eb49fcbf21bae38559b889aaa105e21683947d92afd979a2f087cdfd79524964a6af389375ec392e43b82152212cacaefd9add96b754983c33aeb7e156b6b45d45a7830e36bcda9322c27b4442c9d454030bf4ce57a3d797ff4e23bfb5274c3171f1b4dd5cb28036519e681ddf0c22025fedc77f80877b503f95fa732e30f6311c3a06c2298d68f3470ee1c8eb752266f992ad3ab6299a53d0467d4f113f6d8e6ac6dcb54d3bcca46893ff171929d1ff94e4331cbaefef56351194cd023cab8a33a2188c76dd82c3ccc946c1851f7276e546da9b37c586324b4e8a1bdb3a694153e0baba3a616a70326132a54c452f525b46617a93c3d63bbdcc6d969cf82e57f180e5c818c435b2dc23dbdfe154a3088707e740a3997909d7eda37508823f67421d5f89d03e2e9b8cc953797ce1ec04097f88ec9f3f747ae7859d8858a4939480279a7c0b3a9ac2c18b7076ba1436061545161cd52bf8e46754ac080e4431255b54b8d5e72e19813aecd5ca0fa01a1ce2a3048e2a89ffa1db9f3cb946af3edb925dd7326409383eabb14a1d3ba5579d7c9f6371154bd31ddcef335fad9dc0ff2321d7e5fe97deb6e7e98a9bc458ac547fc1d473bcb8b5e868e929dc931beccf625af0dffd0ffaee633edcf723e89eafff216307c8475f7d29b58224227d3b22e7762c53c6025f272d9aed6cccc4a6159b9e53d627d329532a4e47263e81f664bde69ff8829927ccff6ef33089a67e1a3a55f0d1b9a4f24d1c8bf162ea3c877604fbdcde3b42866c5f8e723c3365b073e5f1d09ff114e4e02c48d3c59c40d14452e982a25ac564a582c5b62cb395c91f7192639216f5a9ae95d4a10e32bd4962c735149731c32bf70dbbbfa13db6dcbb856b9dbee16959348c2c8b4fc0e2b8825a7cd6f0fbd97777cf33fdf4b67f4626f78fa6cbb491c6d35c926788f4298af16b853599075a3bb45834eca245b765f900a49c74c6c5f6a38c9a46be84ad1913ee5302fa73744f8eb3ce03c8daa4936418070623b4162132e249f2c2d0f5555768ce8516b9641bffe0da1bd73a340e30e8bb1356818b78f130778f5dd19ed62f6c1f0bdffd99356b78b00bf04fa0263c61cceb493a83a2b008ef843ed3db4ed75fe0d15235937b5ea54c0e47ce6301b6f287c7ab2565ce2b6d430c720ea9a6cfa89712c33507c9278898316d228d66524079ae3d1dd49992ba8661cc825054776afe80827fd0c3e26da794270a40107a5ef55eec5fefaa5107a6bfd21b6be4dcb3450a182efe99efe2b43380f153f46396cd00479d7b941859139f4e8134ffac790ad74e3240719212a1d8dce4fdd9e325410bffa8444224065fa48549257fca034b1c363b9eba70e1b9b43f80f5ec82d57f9f6fc32c7f24e90f3217195a95e6f400e5b0751acd23f8a7bf909d11439b294fd52156801cca8c058b3c4d45d3e41f69ef6a36f0158b9147891ad8fa6624c7389b1f059eda76b269bd97b3954903879415c30bc983ef12694032ea48625490b0d3aef39f851c0385032d5721c516490139e06dbb3706798873faf0061580a5226dc9f579dcdd5b4b0a031415a584e3aadd6237e6d0f63e04a85805172189341646b6ff85c4446c081801403bf4df59f2613c8494ea3169b1251d9ff41e75b2cb99de1be96d3d9bd9b949fa9e38ad942884d51cbeb97956f4c5b79e14665ce16074fd2b1cba6dbee469c0a53cd05927b66db97d9c6f5ea20bc7205b8d70180693b6a6c756f3d8750ca5d8a427c546141bb456cd251b0836fc8dc99041592cf9b848054b7d83aa17319767ee6d35387842880e4e4cf73c254917807e3c42f7ee0d67d4ed4320cb71aa285e9df38940fc982f91b98021d7ee39109b70d57b16459399ce6bbc72889d84bb237de1698b9408e5c08f38278f1dc0af9d28d36282e73a46b974554d886a98dd94498421870f5955babbdeb60fc20e8d58a71e6e27ddcd2dd6c75aec698d16d5bbde5f785e9ad340dfa0d893e719fdf587c37ffddf16652e869c07becb20d7f76c08c581627c89ebea0271a260a92188aeb0bd825ce801e56afc14a580de40569adef6c8ad8dd798c5cde1e412c374169b22c06c369d241f16a26cba97e89a50696a16a252d00eaad3eea66f96df0d1a883482e767516576fecc1a56d3079da844c15a17fb22262f0f936edf8e2700390b417841ba9a1ee11418eec08059ede8e94605efd9b226b17abd12baab558a680db9dacbe21dbd8645b315f93a7cea5df94ac8290f793864c1b5a46103f9c4bbaaba1f928a092a43f0c2d0583ae3b9ee18c45b25de4ac99ee8a076bd34cb9aab1353612ff28ade6b99755bc2e9beb185fd643db91320695f2f1fa0f72539d91d569d3de9fc3a17f8708db01b2d2984572470cf6046fb3f469699fcd620d1dcda79311f5595444e4d29f263dd2683bac35ad43deee9e382ab45b28ac7ab804fa5998f92f4c50ee9a831a62e64df45d6bff35ed9f1ce1309fb2b1e69dbe77a367a59133f50604afaab0115bf0357c8f96127b7a2229c785f81c7830ba169c3c83de6afad843f0d0b516578855036bdec30985d92994ff79b5ee2a5e2b28b0b150769f4d0e1c8ff1f35f734ac6e29c4155dfc6dff84d6f0136339df5e18dbeeb25048e6aa4955683c96dd6dee3c0ba2495eeae26a62194bb49834425a27e85176bd7e6188ee2127ab7a9ff9d469691b1b2c78e38d7c5d02a6fefc0e2e104950c86cc5af520d5e7ae5a2a170c18cd0d6c25b72e6c3e8b6ed49a5c49ad98b532194752298bff73909d80c6ce3eeb7cc39321050f8c41e659f83c2fe6c7bca0ca74f329bcf55a1ebc1a4a5b16feeb7bc431dfe75f136a5ab3cad298b7f6c1e8fc2a879c2a07976ba1a7bd1e67d69035db93ab6ae6555425a5202b6e2860a131568f225b0aaa8e61f1b3ec1df2cba72951e284faa37c2c5ba2cf6377ebcf47f38f1b8ce4557e6fa6484aef6c65204828b585e977161f3eac4ad6da1a62eef6d3f1bf151edecb4b4a02916945b7be0a3bc906810ca24c4cccb08f4c40c9aa23fa42508efee2f13b92dc522f73badf449a336c43a7bdf9c6aafc1e4be8988df44e0c15304a929d5d4d2b8da5da38755211403f8e75ba472b5fa369a724cd9c7acd4ee4f3c43e4a4eee868477fe4fba1d98dd071606d29c456e314bd8316c35882cca8d978cead72fedb0894d21f721d84a722d3380f9f67dd52210c542c4859de59d5476e624b3ed13192337dfc74284bb0b1372e39196f7a7ea1a1d60189a117f769cae27e1ddd8dd7f5539d14d0112a08983a0a2ef4a1d1d09a5bfea7a57fabad279e37c4e87f099267a58a9d5dafe7bf6699bb7de5a944adcbc4289713601fb29b4de09f1b45a1618db019b2c18e0f6b613bb9ef1ae62520249c28d5857e8a7726feaa23aa9c59d2d74f352cfa346cd7719e19a44283588e23169b0c430a2dbdcfc6fa441824cdba3986ac1ed9655d7ae2ea817d88cc9f08b3b9d37068c67a527ed35e19a596f92510fbd32843430d4a0a667e0c37b7ef99f0cd997297baabd1058cbc74b538e6365a78ae85f1c5254e4bfc8e9e49ed82bc11fcc4a275aa7938a644ae82c95cf5276d873bb044a60fb80566aed859815fee4ca21d8721d86dc927b956312b0305cee0d1bbaddd0e632c18d7dd76485460f0c1546e88cd22fb1a49f100bbc7743fba2955145ad0d720e43b7be769d745fcd05930f244bec9a32a0440b5499ed7d01d1d64b15e3e42b36d719ecf47e94c01a80374a71dc183959febab5385ffe632568701035b5c7626bf29cb1573303e3d69b25d95d3785d52b9e76b970c880706754d469a7aad7602b358ecb1f1d6a7f361d1ab8fe24acf0a5bbfad4ad7195f0e49ce609296304d93a02c4e5d9038abc8fb41010146cdb5aaeb77bd367eeb1aa7e6649a9bd9b615699a42777b668de4cdf1bc6aa8496a2f39cce0d2926acecd87d41875ef37706d2a2f2dd265802b7237404fd85e498213949c20665826e1306aab2314449a476e4f83dc6f0d3b7b05a0b5c475d84abefbe136f36edff1f1b373e2e6ec2a0b6f32972de132e90c03c71cf6045a1707fa9442e82f5a1d87202314740e86e2d3657c83321385218c6d538442a59aa1181751b9a0fa3380de1083a90247a5f15fb8c58ad784dfa1baddb273ad066f2fb65717692b350b4e577d574965da8296b46b6af90073d664f5c8cfebb7d8b3859c4f74bdd9d0f6aa301cab0493a374332f9f8265492d7e0a33977fa408eaf0", 1025 "result" : "valid" 1026 }, 1027 { 1028 "tcId" : 74, 1029 "comment" : "invalid output size", 1030 "flags" : [ 1031 "SizeTooLarge" 1032 ], 1033 "ikm" : "ec106ebf89b6f25180d59b38861f2ad71b68957dc19098dbccffe888b67eebe6", 1034 "salt" : "b1d1b4ab7025f412dd46fedd0b9ae1c82d45796f1d9ec7ed9ae2c5c6cf9adad8", 1035 "info" : "37f1b3e4f615a76f", 1036 "size" : 8161, 1037 "okm" : "", 1038 "result" : "invalid" 1039 }, 1040 { 1041 "tcId" : 75, 1042 "comment" : "empty salt", 1043 "flags" : [ 1044 "Normal", 1045 "EmptySalt" 1046 ], 1047 "ikm" : "d2ee6859f3e52e456f4b0e19252f3ba453102fb4de685b9823a652acb2f87039", 1048 "salt" : "", 1049 "info" : "086e8dc0aa05538926dc74e89857232aa7d1fdc3f6ca29dddaba48dd682bcf1cfe08700e2a5a7102d01e57a93bca2668dee95339d5db6b6a2e7e5fa66667b8d5b8", 1050 "size" : 80, 1051 "okm" : "9270c8f7b8c979c7f537ff820b08ab3b757266a00679070380bba554e30e843710551cf5ae38d6d692749a425b85b4c2fa674ab37e3936feb6089afd60c80d5f2cba1ff9257519a40d2e181ce920d370", 1052 "result" : "valid" 1053 }, 1054 { 1055 "tcId" : 76, 1056 "comment" : "output collision for different salts", 1057 "flags" : [ 1058 "OutputCollision", 1059 "EmptySalt" 1060 ], 1061 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1062 "salt" : "", 1063 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1064 "size" : 32, 1065 "okm" : "f41f703259063d401de67cea9192038ddddc71ede5cdb383aad71894c1a39e8c", 1066 "result" : "valid" 1067 }, 1068 { 1069 "tcId" : 77, 1070 "comment" : "output collision for different salts", 1071 "flags" : [ 1072 "OutputCollision" 1073 ], 1074 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1075 "salt" : "0000000000000000000000000000000000000000000000000000000000000000", 1076 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1077 "size" : 32, 1078 "okm" : "f41f703259063d401de67cea9192038ddddc71ede5cdb383aad71894c1a39e8c", 1079 "result" : "valid" 1080 }, 1081 { 1082 "tcId" : 78, 1083 "comment" : "a salt longer than the block size of the hash is equivalent to the hash of the salt", 1084 "flags" : [ 1085 "OutputCollision" 1086 ], 1087 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1088 "salt" : "888815e19321fa618f0ce9800b7c2f6d289ed32c23d9816cc8bb36966bbe413e24db80612bd48c8fd8e791732aed62288c3bf97d7c881b8d80dd48fa31b6f5d0cb", 1089 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1090 "size" : 32, 1091 "okm" : "52a1d834f372578ccc7b57e9149f4c45f98ff754dbdec0bb3a8f931bd14e4bb1", 1092 "result" : "valid" 1093 }, 1094 { 1095 "tcId" : 79, 1096 "comment" : "a salt longer than the block size of the hash is equivalent to the hash of the salt", 1097 "flags" : [ 1098 "OutputCollision" 1099 ], 1100 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1101 "salt" : "508c49c8298f899aa4f3a956dfe08a58f24944d8366d280f51d11e81136e4ecc", 1102 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1103 "size" : 32, 1104 "okm" : "52a1d834f372578ccc7b57e9149f4c45f98ff754dbdec0bb3a8f931bd14e4bb1", 1105 "result" : "valid" 1106 }, 1107 { 1108 "tcId" : 80, 1109 "comment" : "a salt shorter than the block size is padded with zeros.", 1110 "flags" : [ 1111 "OutputCollision" 1112 ], 1113 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1114 "salt" : "9962310f7e8c4300", 1115 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1116 "size" : 32, 1117 "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", 1118 "result" : "valid" 1119 }, 1120 { 1121 "tcId" : 81, 1122 "comment" : "a salt shorter than the block size is padded with zeros.", 1123 "flags" : [ 1124 "OutputCollision" 1125 ], 1126 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1127 "salt" : "9962310f7e8c43000000000000000000", 1128 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1129 "size" : 32, 1130 "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", 1131 "result" : "valid" 1132 }, 1133 { 1134 "tcId" : 82, 1135 "comment" : "a salt shorter than the block size is padded with zeros.", 1136 "flags" : [ 1137 "OutputCollision" 1138 ], 1139 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1140 "salt" : "9962310f7e8c430000000000000000000000000000000000", 1141 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1142 "size" : 32, 1143 "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", 1144 "result" : "valid" 1145 }, 1146 { 1147 "tcId" : 83, 1148 "comment" : "a salt shorter than the block size is padded with zeros.", 1149 "flags" : [ 1150 "OutputCollision" 1151 ], 1152 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1153 "salt" : "9962310f7e8c4300000000000000000000000000000000000000000000000000", 1154 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1155 "size" : 32, 1156 "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", 1157 "result" : "valid" 1158 }, 1159 { 1160 "tcId" : 84, 1161 "comment" : "a salt shorter than the block size is padded with zeros.", 1162 "flags" : [ 1163 "OutputCollision" 1164 ], 1165 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1166 "salt" : "9962310f7e8c43000000000000000000000000000000000000000000000000000000000000000000", 1167 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1168 "size" : 32, 1169 "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", 1170 "result" : "valid" 1171 }, 1172 { 1173 "tcId" : 85, 1174 "comment" : "a salt shorter than the block size is padded with zeros.", 1175 "flags" : [ 1176 "OutputCollision" 1177 ], 1178 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1179 "salt" : "9962310f7e8c430000000000000000000000000000000000000000000000000000000000000000000000000000000000", 1180 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1181 "size" : 32, 1182 "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", 1183 "result" : "valid" 1184 }, 1185 { 1186 "tcId" : 86, 1187 "comment" : "a salt shorter than the block size is padded with zeros.", 1188 "flags" : [ 1189 "OutputCollision" 1190 ], 1191 "ikm" : "3ee1fc0d8fac49d494c4a1b8cf6bf290a4a2c19a27c3ab1914d0d21c841577e0", 1192 "salt" : "9962310f7e8c4300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", 1193 "info" : "4dc991623624fadef207587e42776cf3e0fdf4e5", 1194 "size" : 32, 1195 "okm" : "909e3925c51ea4b543e30cca4f184452f494b8f20b99f36496e1c8110b48949c", 1196 "result" : "valid" 1197 } 1198 ] 1199 } 1200 ] 1201 }