From 7b9950a6be4952deb199bd7e3ca1e51c4d48dec5 Mon Sep 17 00:00:00 2001 From: Kevin Jacobs Date: Tue, 3 Nov 2020 06:13:37 +0000 Subject: [PATCH] Bug 1672823 - Add Wycheproof HMAC test cases. r=jcj Differential Revision: https://phabricator.services.mozilla.com/D94497 --HG-- extra : moz-landing-system : lando --- .../common/testvectors/hmac-sha256-vectors.h | 841 +++++++++++ .../common/testvectors/hmac-sha384-vectors.h | 1221 ++++++++++++++++ .../common/testvectors/hmac-sha512-vectors.h | 1263 +++++++++++++++++ gtests/common/testvectors_base/test-structs.h | 1 + gtests/pk11_gtest/manifest.mn | 1 + gtests/pk11_gtest/pk11_gtest.gyp | 1 + gtests/pk11_gtest/pk11_hmac_unittest.cc | 74 + 7 files changed, 3402 insertions(+) create mode 100644 gtests/common/testvectors/hmac-sha256-vectors.h create mode 100644 gtests/common/testvectors/hmac-sha384-vectors.h create mode 100644 gtests/common/testvectors/hmac-sha512-vectors.h create mode 100644 gtests/pk11_gtest/pk11_hmac_unittest.cc diff --git a/gtests/common/testvectors/hmac-sha256-vectors.h b/gtests/common/testvectors/hmac-sha256-vectors.h new file mode 100644 index 0000000000..2c0932fdc2 --- /dev/null +++ b/gtests/common/testvectors/hmac-sha256-vectors.h @@ -0,0 +1,841 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* This file is generated from sources in nss/gtests/common/wycheproof + * automatically and should not be touched manually. + * Generation is trigged by calling python3 genTestVectors.py */ + +#ifndef hmac_sha256_vectors_h__ +#define hmac_sha256_vectors_h__ + +#include "testvectors_base/test-structs.h" + +const HmacTestVector kHmacSha256WycheproofVectors[] = { + {1, "empty message", + "1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", "", + "b175b57d89ea6cb606fb3363f2538abd73a4c00b4a1386905bac809004cf1933", false}, + + {2, "short message", + "8159fd15133cd964c9a6964c94f0ea269a806fd9f43f0da58b6cd1b33d189b2a", "77", + "dfc5105d5eecf7ae7b8b8de3930e7659e84c4172f2555142f1e568fc1872ad93", false}, + + {3, "short message", + "85a7cbaae825bb82c9b6f6c5c2af5ac03d1f6daa63d2a93c189948ec41b9ded9", "a59b", + "0fe2f13bba2198f6dda1a084be928e304e9cb16a56bc0b7b939a073280244373", false}, + + {4, "short message", + "48f3029334e55cfbd574ccc765fb2c3685aab1f4837d23370874a3e634c3a76d", + "c7b8b2", + "6c13f79bb2d5b6f9a315fe8fd6cbb5cb817a660687009deccd88c377429e596d", false}, + + {5, "short message", + "de8b5b5b2f09645be47ecb6407a4e1d9c6b33ae3c2d22517d3357da0357a3139", + "cc021d65", + "e87538eb167e62d7cb236690ff3f034a9c12d417aa8dfa694d7405f9e1f85fe8", false}, + + {6, "short message", + "b7938910f518f13205ca1492c669001a14ff913c8ab4a0dc3564e7418e91297c", + "a4a6ef6ebd", + "01a93f4ed216d0b280896301e366aa67b25e6b6a5a6e84f291a13391c6e496c5", false}, + + {7, "short message", + "1bb997ff4de8a5a391de5c08a33bc2c7c2891e47ad5b9c63110192f78b98fe78", + "667e015df7fc", + "06b5d8c5392323a802bc5cdd0b3c527454a873d9651c368836eaa4ad982ba546", false}, + + {8, "short message", + "32fdeda39f98b4f4426c2d2ac00ab5dd4bfabb68f311447256ed6d3d3a51b154", + "4163a9f77e41f5", + "1b0103729f48c2772bb132aef9ebd6dd6aafc9145df6d5c514b233ee92ef4a00", false}, + + {9, "short message", + "233e4fdee70bcc20235b6977ddfc05b0df66f5635d827c66e5a63cdb16a24938", + "fdb2ee4b6d1a0ac2", + "120b26ee1355c134c262513c7922deb6c4fd90303de4cd61b9f9cd08f22d6e18", false}, + + {10, "short message", + "b984c6734e0bd12b1737b2fc7a1b3803b4dfec402140a57b9eccc35414ae661b", + "dea584d0e2a14ad5fd", + "88bc2282e5fce47ec6d9895395cd47fff91a0cdc589a8fd56d8d344616533a3d", false}, + + {11, "short message", + "d0caf1456ac5e255fa6afd61a79dc8c716f5358a298a508271363fe1ff983561", + "18261dc806913c534666", + "f678f081d83cf126ad6bd52c2dffd786214f519c47452b85a97458d0c10c3ee5", false}, + + {12, "short message", + "835bc8241ed817735ec9d3d0e2df4c173ee4dded4a8ef0c04a96c48f11820463", + "26f8083e944bacf04e9a4d", + "e0e46cd7d1a75b3d102893da64def46e455308761f1d908786628ca7ee22a0eb", false}, + + {13, "short message", + "055f95c9461b0809575eccdfa5cdd06275f25d30915c4eb8db40e1acd3ab7591", + "bfb7d6a08dbaa5225f320887", + "e76d5c8c070a6b3c4824e9f342dc3056e63819509e1def98b585aeba0d638a00", false}, + + {14, "short message", + "e40f7a3eb88ddec4c6347ea4d67610756c82c8ebcc237629bf873ccabc32984a", + "7fe43febc78474649e45bf99b2", + "aa57d020aa24ad823472c2b80ff2d0cf475f7de0068f9a59e8112fede53a3581", false}, + + {15, "short message", + "b020ad1de1c141f7ec615ee5701521773f9b232e4d06376c382894ce51a61f48", + "81c7581a194b5e71b41146a582c1", + "f45c72603cc160c0762f703407844a7781dfe0f1ddf0aaf4ccd8205e94469aed", false}, + + {16, "short message", + "9f3fd61a105202648ecff6074c95e502c1c51acd32ec538a5cce89ef841f7989", + "2a76f2acdace42e3b779724946912c", + "0226ee13cc05e2340135b3f4b27a9da1a160f6170fe805dadd98a3711ec9c421", false}, + + {17, "", "6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4", + "aeed3e4d4cb9bbb60d482e98c126c0f5", + "9ed7f0e73812a27a87a3808ee0c89a6456499e835974ba57c5aab2a0d8c69e93", false}, + + {18, "", "5300489494ca86221c91d6d953952ae1a5e097139dc9cf1179c2f56433753824", + "90fea6cf2bd811b449f333ee9233e57697", + "5b692cba13b54fffc3adcbb0e015cc011fbfd61235303ff0ad2a49775083bf22", false}, + + {19, "", "383e7c5c13476a62268423ef0500479f9e86e236c5a081c6449189e6afdf2af5", + "3202705af89f9555c540b0e1276911d01971abb2c35c78b2", + "4e4901592ba46476408d758435c7d1b489d2689afd84ceaaee78bfb91fd9391d", false}, + + {20, "", "186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27", + "92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902", + "3fc1d73dd4a8858c1fc3d8c4a3f33ed5ad0c70210038394a5902cb26fe287348", false}, + + {21, "long message", + "28855c7efc8532d92567300933cc1ca2d0586f55dcc9f054fcca2f05254fbf7f", + "9c09207ff0e6e582cb3747dca954c94d45c05e93f1e6f21179cf0e25b4cede74b5479d32f" + "5166935c86f0441905865", + "788c0589000fb7f0b5d51f1596472bc9ec413421a43df96ee32b02b5d275ffe3", false}, + + {22, "long message", + "8e540cb30c94836ae2a5950f355d482a7002e255207e94fda3f7ef1a099013a0", + "d6500f95e11262e308bf3df4df4b855f33e857563d4543f195639a0a17b442eb9fdcc1367" + "d2eee75c8f805730b89290f", + "39697e70ce741feb33dedc069f00b5627fd9b837d10cbdd5b6d19cfbd511dd2c", false}, + + {23, "long message", + "69c50d5274358188cff4c0fae742243d4e8a5e5ba55d94ff40edd90f6a43dd10", + "1ac5255aff052828d8ea21b376f1ebdd4bb879949913900405aebce83e48feb6813b5e9c8" + "9f94501a8ade41b26b815c521", + "4b0b4d0416fa2e11586fbfa7fb11261e69991dfa34019b9893d69a2be8c1fc80", false}, + + {24, "long message", + "23209b7c5aadcbd13f7279af1a86d3c7ae8f179d1bcaaad0dff9a15302e78dbf", + "84bdac37e1af35d9356404e2787d47ece58348dea76a4a46e8aade3463d4db8c94a051be3" + "733b38d756984865d56c60e8025f15e3f968f093e7fb7ebc7e31189c5692d15ed4256737b" + "9b1894e5809503aaa1c9983fb096aa21916361eeb6ef455b129723a1a1ddf9deddea20852" + "9a648", + "4a85c479d1650dbd73bc5248074a55ff50218bddaa8d1fddaaf44946dc19aefb", false}, + + {25, "long message", + "7c9cc667cae175f448faa96647319633b2d48531373ae7d316c44ddd8b9f69cf", + "9233c1d73b498c5106ff88951e07b9652cb0ddae740737ec205c9876d094978bfc947f7dc" + "937119fd6a93915b19b625958a7a22363aa2ac33fb869ed16b303336ab740a0498a2df66a" + "6599da710094481a7b544bd955b6f97135ba4673401db2db144a6e287041e47a51ed9b6ba" + "956c13508c1c0c25310105239ab73629e30", + "ca1b80441d333909c2bb30769650055051ed20f17de8ee953cb9070af56c704f", false}, + + {26, "long message", + "82314540564ea3ce30591e97f68b2602de40fa29f773c2508327471b8348e8c4", + "6a6d2f45cebf2757ae16ea33c68617671d77f8fdf80bed8fc5cdc5c8b7086bd28e7eb3eec" + "c7163491104e5309455e67f836579b82a1da3bf5991a8e2b2f189a49e05700e46c409ed5d" + "e77780a5f389e3f13dad406c9d55675329c5c921f07034180937c0f6ef34a2308b6ff3e1a" + "0e9dc1ea65f5632730e8744d1db2c40a6595b", + "0900b3e6535d34f90e2c335775e86bf38ee7e3d26fb60cd9cdf639eb3496b94c", false}, + + {27, "long message", + "d115acc9a636915241795f48852052e07b51273ae2448251ec1d0d0f9807f3db", + "696d2456de853fa028f486fef437b6b6d1b530a8475e299db3a9005ae9cef8401985b7d31" + "e172e8f439ccd1ad1ec44c9b86b78f3f243c1305b53bc21abad7a8fc5256311bfd34c98e3" + "7dfdc649e7ae4bda08cf2994b063c0c7106ed0b02a1f48af9191cbfb0d6a953b7e04327df" + "e8c93779cb574ba9cba575d01674e83621aa0c5f400d6e6cd24b301e33c9f3303e73bf357" + "408c1be86c2489c09de998ff2ef32df554f1247d9313ce1a7160115d06f4c18d6556ff798" + "6ef8a55e2adcfa27e4c69c71cc2ff01639e9d49bd9ed0687f530ffeb0890132457df20880" + "81bc4a2f7f0a9f4dcea2c80d991db7f3747a1803d7619aaf3dd382c69536a0bcdb931cbe", + "82f92977f0b605eaada510ffceb53ad75fde16a8029f1b75b406a84270dbb8b7", false}, + + {28, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d28b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {29, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d9b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {30, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d18b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {31, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "dab99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {32, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "538b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {33, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "58b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {34, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38a42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {35, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b89f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {36, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42896d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {37, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99fa709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {38, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096c80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {39, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2708a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {40, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096f80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {41, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f270ba3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {42, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {43, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {44, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {45, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {46, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f026b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {47, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74972cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {48, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f824b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {49, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74170cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {50, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b45a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {51, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74172cbf93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {52, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d4607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {53, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74172cbe93834c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {54, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d7607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {55, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74172cbe93804c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {56, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a955607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {57, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74172cbe93024c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {58, "Flipped bit 248 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1ca", true}, + + {59, "Flipped bit 248 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14f", true}, + + {60, "Flipped bit 249 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1c9", true}, + + {61, "Flipped bit 249 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14c", true}, + + {62, "Flipped bit 254 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc18b", true}, + + {63, "Flipped bit 254 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef10e", true}, + + {64, "Flipped bit 255 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc14b", true}, + + {65, "Flipped bit 255 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3ca74172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef1ce", true}, + + {66, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d28b42096d80f45f836b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {67, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d9b99f2709a3ca74162cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {68, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42896d80f4df826b44a9d5607de72496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {69, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99fa709a3caf4172cbe93824c1f29b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {70, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f4df826b44a9d5607d672496a415d3f4a1a8c88e3bb9da8dc1cb", true}, + + {71, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d8b99f2709a3caf4172cbe93824c1fa9b23a0c1e9c21bd851ff2d2c39dbef14e", true}, + + {72, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "2c74bdf6927f0ba07d94bb562a9f8218db695bea2c0b5e573771c44625723e34", true}, + + {73, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "274660d8f65c358be8d3416c7db3e0d64dc5f3e163de427ae00d2d3c62410eb1", true}, + + {74, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "0000000000000000000000000000000000000000000000000000000000000000", true}, + + {75, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "0000000000000000000000000000000000000000000000000000000000000000", true}, + + {76, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {77, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {78, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "530bc289ed0074df02ebc42955e0fd67a416249553742128480ebb395a0d414b", true}, + + {79, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "58391fa789234af497ac3e1302cc9fa932ba8c9e1ca13d059f7252431d3e71ce", true}, + + {80, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d28a43086c81f55e836a45a8d4617ce62597a514d2f5a0a9c98f3ab8db8cc0ca", true}, + + {81, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", + "d9b89e2608a2cb75162dbf92834d1e28b33b0d1f9d20bc841ef3d3c29cbff04f", true}, + + {82, "empty message", + "7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97", "", + "f4605585949747de26f3ee98a738b172", false}, + + {83, "short message", + "e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc", "40", + "0dc00d7217bbafe8d78bf961189b8fd2", false}, + + {84, "short message", + "ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f", "6601", + "ff296b368d3bf059cc48682f6949ccaa", false}, + + {85, "short message", + "73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b", + "f1d300", "2d02bd1c25b1fe52b1ead07374d6e883", false}, + + {86, "short message", + "d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77", + "2ae63cbf", "4d9e8bddf9b7a1218309d5988aa1b0d9", false}, + + {87, "short message", + "2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8", + "af3a015ea1", "cb8a4b413350b42f4ac3533cc7f47864", false}, + + {88, "short message", + "665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c", + "3f56935def3f", "1cfce745db1ca7de9a1d4420e612ca55", false}, + + {89, "short message", + "facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493", + "57bb86beed156f", "0bde0d0c756df09d4f6da81b299a3adf", false}, + + {90, "short message", + "505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5", + "2e4e7ef728fe11af", "406a5c2bd3e6a9595f9b7dff608d59a7", false}, + + {91, "short message", + "f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf", + "852a21d92848e627c7", "0b1bf9e98d0a794fa55c09b63e25799f", false}, + + {92, "short message", + "64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4", + "195a3b292f93baff0a2c", "71f33f6021d90858cadb1353d7fbe8d7", false}, + + {93, "short message", + "b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c", + "afd73117330c6e8528a6e4", "4b8d76372ebe5e5caa56ca4e5c59cdd3", false}, + + {94, "short message", + "2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc", + "0ff54d6b6759120c2e8a51e3", "c580c542846a96e84ea77701778455bf", false}, + + {95, "short message", + "abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8", + "f0058d412a104e53d820b95a7f", "13cdb005059338f0f28e2d8ce1af5d0a", false}, + + {96, "short message", + "3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19", + "aacc36972f183057919ff57b49e1", "bd993e4428cbc0e275e4d80b6f520363", false}, + + {97, "short message", + "c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa", + "5d066a92c300e9b6ddd63a7c13ae33", "86c9f4dde0b257a7053a7b03c7504409", + false}, + + {98, "", "612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd", + "cc37fae15f745a2f40e2c8b192f2b38d", "b96bcacafac30094f18ac5039e7b3656", + false}, + + {99, "", "73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7", + "d5247b8f6c3edcbfb1d591d13ece23d2f5", "6e597c4c3861a380c06854b446fc2a87", + false}, + + {100, "", + "0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5", + "13937f8544f44270d01175a011f7670e93fa6ba7ef02336e", + "f731aaf2f04023d621f10495344679a0", false}, + + {101, "", + "96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892", + "91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18", + "95243eb1a9d448174ae4fccf4a53ebfe", false}, + + {102, "long message", + "41201567be4e6ea06de2295fd0e6e8a7d862bb57311894f525d8adeabba4a3e4", + "58c8c73bdd3f350c97477816eae4d0789c9369c0e99c248902c700bc29ed986425985eb3f" + "a55709b73bf620cd9b1cb", + "343367207f71425d8f81f3110b0405f6", false}, + + {103, "long message", + "649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe", + "39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe67" + "2f13d0808d8b7d957899917", + "151618eec4f503f3b63b539de0a58966", false}, + + {104, "long message", + "7b0d237f7b536e2c6950990e61b361b384333dda690045c591321a4e3f79747f", + "3d6283d11c0219b525620e9bf5b9fd887d3f0f707acb1fbdffab0d97a5c6d07fc547762e0" + "e7dd7c43ad35fab1c790f8047", + "ce201c0dcfdc3f2bef360609a31fb19e", false}, + + {105, "long message", + "17c92663741f012e5bb6714e614c2d155948617f10936269d954c58aba2ae62d", + "7fdd6a15c861d0313f6635d77dc55e115ff18c8ab063b5d03eab472eeca87a378188f2581" + "3515cf90b6cffa94a8ff36b29d65603eab3fbd2aa9500b261e184049893dc6ca2010becac" + "163053f211070bdda621b8bd8af77e450268603b52db34c90be836dfebddef42303f724e6" + "3bf0f", + "76e8dfd94db4af9d79d9718eec46cb2d", false}, + + {106, "long message", + "424c6b22606fcc094ae82fc5d3cbe484174c2211b3ec778091cac34a8e38a152", + "d96ff062e2490e8e0c54c5a8b89e85b25a66d93d7c2b93bdfef846b70d38672746a4b988d" + "08f15a5c527ca4f2c80e53f7c6ac0521bc57ebe38209180cbf934e0bbeb58cfb63d75da64" + "af41d09ce174af1896f42522910fced35ea000402e95fd3ac7aa6d5e0a6b533b0879bc466" + "019b3a5e6b16e4bd1ea6cdfc9ccc1d6f0f0", + "eda709c7009714c372d0d6a63dfde469", false}, + + {107, "long message", + "15d553c8da433d53cdc7f15087a70349caab57b379a4078928ce9b99302e31a6", + "d6c0c53b73f74fb426adfdc143d70db7f7a8f8ed32a2faef263cf9ab117537b6b9d1728bd" + "1000c1f28906c6ce6ad21862bfa4d689c1a8ebe3868b992098b7f981b2af5189a6adedff5" + "3a6c70c83693f5c8d6385a9a8a4dca017c5716ac4d5b9765c5ca2ab5f9867e02795198c0b" + "9527e07d08af52dbcb91ceb3d8b412a2b2402", + "8ca1402bf8fc23442ac2067be925b828", false}, + + {108, "long message", + "ffe559468a1031dfb3ced2e381e74b5821a36d9abf5f2e59895a7fdca0fa56a0", + "238899a84a3cf15202a1fbef4741e133fb24c009a0cd83854c6d1d7c9266d4c3eafe6d1df" + "c18f13845ccdad7fe277627b5fd5ff2555ce6dfde1ee078540a0a3590c6d9bf2fb63ba9af" + "be9380e797be7cd017645c5a3613eef38ef89e3b7461e6e700ff2b4deef5636c9d2198b14" + "3f797ca1820a3dcc5d462ebf4a8c4c09eb202a23592eb9524082c79adda8fcd56d256041a" + "26bf8f523962ba911ce5a5786570d65be3c4df722ed8830302065febdf944715298a1fbb7" + "d10b68d7da2bf889324314ce51e815c7fbf03aa0a8358aff3a86eb7a33f9a4923660db304" + "7e793bebb0c6918f4395d400381723fdae2832c36efc8e368a68f30f6351c3bc942cd560", + "a830b313f4936dea56a3aefd6a3ebe7d", false}, + + {109, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d28b42096d80f45f826b44a9d5607de7", true}, + + {110, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d9b99f2709a3ca74172cbe93824c1f29", + true}, + + {111, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d18b42096d80f45f826b44a9d5607de7", true}, + + {112, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "dab99f2709a3ca74172cbe93824c1f29", + true}, + + {113, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "538b42096d80f45f826b44a9d5607de7", true}, + + {114, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "58b99f2709a3ca74172cbe93824c1f29", + true}, + + {115, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38a42096d80f45f826b44a9d5607de7", true}, + + {116, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b89f2709a3ca74172cbe93824c1f29", + true}, + + {117, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42896d80f45f826b44a9d5607de7", true}, + + {118, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99fa709a3ca74172cbe93824c1f29", + true}, + + {119, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096c80f45f826b44a9d5607de7", true}, + + {120, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2708a3ca74172cbe93824c1f29", + true}, + + {121, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096f80f45f826b44a9d5607de7", true}, + + {122, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f270ba3ca74172cbe93824c1f29", + true}, + + {123, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f4df826b44a9d5607de7", true}, + + {124, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3caf4172cbe93824c1f29", + true}, + + {125, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f836b44a9d5607de7", true}, + + {126, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74162cbe93824c1f29", + true}, + + {127, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f026b44a9d5607de7", true}, + + {128, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74972cbe93824c1f29", + true}, + + {129, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f824b44a9d5607de7", true}, + + {130, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74170cbe93824c1f29", + true}, + + {131, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b45a9d5607de7", true}, + + {132, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbf93824c1f29", + true}, + + {133, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d4607de7", true}, + + {134, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93834c1f29", + true}, + + {135, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d7607de7", true}, + + {136, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93804c1f29", + true}, + + {137, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a955607de7", true}, + + {138, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93024c1f29", + true}, + + {139, "Flipped bit 120 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d5607de6", true}, + + {140, "Flipped bit 120 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93824c1f28", + true}, + + {141, "Flipped bit 121 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d5607de5", true}, + + {142, "Flipped bit 121 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93824c1f2b", + true}, + + {143, "Flipped bit 126 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d5607da7", true}, + + {144, "Flipped bit 126 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93824c1f69", + true}, + + {145, "Flipped bit 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f45f826b44a9d5607d67", true}, + + {146, "Flipped bit 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3ca74172cbe93824c1fa9", + true}, + + {147, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d28b42096d80f45f836b44a9d5607de7", true}, + + {148, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d9b99f2709a3ca74162cbe93824c1f29", + true}, + + {149, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42896d80f4df826b44a9d5607de7", true}, + + {150, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99fa709a3caf4172cbe93824c1f29", + true}, + + {151, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d38b42096d80f4df826b44a9d5607d67", true}, + + {152, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d8b99f2709a3caf4172cbe93824c1fa9", + true}, + + {153, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "2c74bdf6927f0ba07d94bb562a9f8218", true}, + + {154, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "274660d8f65c358be8d3416c7db3e0d6", + true}, + + {155, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "00000000000000000000000000000000", true}, + + {156, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "00000000000000000000000000000000", + true}, + + {157, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "ffffffffffffffffffffffffffffffff", true}, + + {158, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "ffffffffffffffffffffffffffffffff", + true}, + + {159, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "530bc289ed0074df02ebc42955e0fd67", true}, + + {160, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "58391fa789234af497ac3e1302cc9fa9", + true}, + + {161, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", "", + "d28a43086c81f55e836a45a8d4617ce6", true}, + + {162, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f", + "000102030405060708090a0b0c0d0e0f", "d9b89e2608a2cb75162dbf92834d1e28", + true}, + + {163, "short key", "a349ac0a9f9f74e48e099cc3dbf9a9c9", "", + "3a8437b877b75cc08a4d8d7559a8fc6869a58c713da63d1d4b350d59b597e30c", false}, + + {164, "short key", "ac686ba0f1a51b4ec4f0b30492b7f556", + "2fa43a14ae500507deb95ab5bd32b0fe", + "008532a53d0c0ab22027ae249023375374e2239b959609e8339b05a15742a675", false}, + + {165, "short key", "73ef9ef1a4225e51e3c1db3ace1fa24f", + "ffad380d9aabb0acede5c1bf112925cdfc3d379fc2376a4fe2644490d0430ac3", + "9c7cb9f7c207ec46d1e3c55764731c4ab5ddbae4e1401e52a895df0cff4787c9", false}, + + {166, "short key", "e34f15c7bd819930fe9d66e0c166e61c", "", + "1d765ab9e29892f7bfec2975ad4bc2dc", false}, + + {167, "short key", "e09eaa5a3f5e56d279d5e7a03373f6ea", + "ef4eab37181f98423e53e947e7050fd0", "cfc19ec07902ec8be489606d8f40d172", + false}, + + {168, "short key", "9bd3902ed0996c869b572272e76f3889", + "a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e", + "ac50adad9785a89c7282d8ab881dc615", false}, + + {169, "long key", + "8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd9" + "74e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077", + "", "f5bfb940561fb4db73ebba49bf2e4893bb0cca618a71b7ecf6aca38231e167ea", + false}, + + {170, "long key", + "2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fa" + "c55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f", + "ba448db88f154f775028fdecf9e6752d", + "1690ed4180642899e0deb9ec2270374e8b0a484217f5a682c524316eca219b64", false}, + + {171, "long key", + "21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e559" + "0e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af", + "7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731", + "e542ac8ac8f364bae4b7da8b7a0777df350f001de4e8cfa2d9ef0b15019496ec", false}, + + {172, "long key", + "813e0c078c221375e80590ace6774eafd2d2c242350988d02efa550e05aecbe100c1b8bf1" + "54c932cf9e57177015c816c42bc7fbc71ceaa5328c7316b7f0f30330f", + "", "bb6ab66f51e53fa086c9c61a26ca27e0", false}, + + {173, "long key", + "5713343096b0aaf0562a6b92c1a15535924160475a4e4233589159728c562e3b2ad96f740" + "c6a4da2bc3f768ce98c9bd66bac28d1646ff592028c940d455f35eeb4", + "71712de2fac1fb855673bff72af64257", "c18165b8b97db1ca5e2486a32b39731e", + false}, + + {174, "long key", + "7208afbecf5f1f34828f98b719414e280716de64f5edd1ae1c774153cd2022337bb20fade" + "1b7856f1dbfd40e2b4307f1293ceff1692ee90d8c90b5fdf953ab01a5", + "43b53302b604d613e62db002044a4782d572ac8fbd3cd0ece91b43bc52e18e98", + "2fecfe45d79339c57dddba68ab34f5f1", false}}; + +#endif // hmac_sha256_vectors_h__ diff --git a/gtests/common/testvectors/hmac-sha384-vectors.h b/gtests/common/testvectors/hmac-sha384-vectors.h new file mode 100644 index 0000000000..8557773c27 --- /dev/null +++ b/gtests/common/testvectors/hmac-sha384-vectors.h @@ -0,0 +1,1221 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* This file is generated from sources in nss/gtests/common/wycheproof + * automatically and should not be touched manually. + * Generation is trigged by calling python3 genTestVectors.py */ + +#ifndef hmac_sha384_vectors_h__ +#define hmac_sha384_vectors_h__ + +#include "testvectors_base/test-structs.h" + +const HmacTestVector kHmacSha384WycheproofVectors[] = { + {1, "empty message", + "ee8df067857df2300fa71a10c30997178bb3796127b5ece5f2ccc170932be0e78ea9b0a59" + "36c09157e671ce7ec9fc510", + "", + "a655184daf3346ffc6629d493c8442644e4996a2799e42e3306fa6f5b0967b6cf3a6f819b" + "ab89bce297d1d1a5907b2d0", + false}, + + {2, "short message", + "976696c0dc97182ca771975c3928ff9168ef89cd740cd2292858fd916068a702bc1df7c6c" + "d8ee1f0d25e61d4c514cc5d", + "2b", + "363e8973fedcf7892013dfae0b7065d61d80b98c635bc09ed860a01473b9bcd0dc550dbf6" + "6cf0d601fe9cbf3ae59620d", + false}, + + {3, "short message", + "c55ea4c64a0a63e2d14ad42559ba7c816b8824d263c2cc6a015761b53f681e514369f0dfb" + "a5cde165320ee10a96eb1fc", + "5abd", + "ccc2925f164a7d9662f1e76bcaf6345492bb091d4d2d775af2178a4bcc1ca21dcf8b3bf8f" + "056823770782f25a419bb3e", + false}, + + {4, "short message", + "2928d465d92fa40072ca9d67761be66e491755e43499003c1057d3bec870f255126c3658d" + "0d8a0c7d207df8710037ca7", + "c405ae", + "d9e19c672a466e4c83a849905728c4be1db99bdd260946d9ff52939779002dcc460c576f0" + "2b40dda0717182be96b5411", + false}, + + {5, "short message", + "686a3730085cc944fceb141628419818e662fe21e52bea2748f3b704f80ce801086db1e30" + "68917b242e62b4d6e6ed685", + "6601c683", + "10dc39103983b3a6be376a8eda7b6f363cb91efe11b027a62440ae136bd66f98b0a1d8b8f" + "2399099492021076afa14a0", + false}, + + {6, "short message", + "f22d867b972b232e3f444a488dd794d170807c70eb650f952b6177596f76c558a5d860d6f" + "7be0be9e666f9bd53732f8d", + "15b29377e0", + "e02e4e20b5f1e5f06913bc9745c9069c09ec1369f1a296ad1d07c04cc4f9cb4741248d7ba" + "097cd3ba0e75d2409d6a01b", + false}, + + {7, "short message", + "3ac9abd53dbd0fbb891f9b5e16dd45df994e5283527832707138fc2712bad9e34761e7d9c" + "6d05d46f2c8323ddb0efe99", + "5a34155b1115", + "78c53dd1a2431174628f5f4867fa777afa6df1b36269bba114d016d1065fcb021170baad0" + "9b4a528f40573903a65f540", + false}, + + {8, "short message", + "ae3aa94fdd35e2bef40472d29bdad3a409840ea441c3d7025cd72f3e81ff56da602161d84" + "b23d1634061385be30c5bbd", + "8a140d781e7191", + "fd22ba896cb1147bb86f8ad51c253b792657c0becc913e90104da0f139f9b08c9169706f1" + "531a2c6c03d6bd72a77eff2", + false}, + + {9, "short message", + "44b79852cabcf3fe93d2fff55d2afe6a46c35b7ad1954ce0888de7b459b982722faf8b490" + "e6b00e7bcabbd36f18443f5", + "9398cd251deafe8b", + "56128fb438a93f6f48f47c0f4c7549f8008a8e69bbdbf0886ec40f86e7870034ef9090d2b" + "04057391f1def5b25e8f0ad", + false}, + + {10, "short message", + "03fed2f579a3ebdececfb184ebe2984876113399c4a593d98b5f5e606dd330fb394c285d9" + "ead601748259b493335f8e5", + "18d879b1f63df3ac7a", + "a0e3b5660eeb5fc4a5dd48e725b09a0e282b22bbe2693d8b893ddf0f2116450e087592540" + "7e909fde0f1f728f608fba9", + false}, + + {11, "short message", + "f4ef48bf4056d39dbba4154018c63bdf29420b9991ea594ff05e3cc1cb02e176d54ba038a" + "6b78692519d6788e495bbab", + "0a5de13cd9ba31c94486", + "e9a1219e86983d69e336068b280309f974ab61f25968fc6352324ba49c36ce42c578676a3" + "a31ef11e960d6771386650e", + false}, + + {12, "short message", + "fc771f7ccd499a1ed633d86876d707b5f1d53c6bcdf21aa2907766ab3ca7fa6cdd6a9b981" + "b1a84a528e81444303f1057", + "03ba11f3f3173b85226b25", + "cfb4971d5449db364e2c8d0d429a0767050d480a5397f0dcc74294f52ea96260a57fe6cad" + "14409ad67da6fbebf2da0d8", + false}, + + {13, "short message", + "b3999de680b11550e18631c8199f7eb8a74e21bdc9d97f781245c2af19f85497d9f38b250" + "a564e48650fd00be365f155", + "9c658cb5e601d85dc3857863", + "d547e4cbd56e82b47d2ec93eeb6b34924ebda461fb60e475bf328d2368618f55fbf7b0e2e" + "b1ff542c4eb7eefbfc8bd2b", + false}, + + {14, "short message", + "88005a62864ea699e1509616ec48033e84d2e2a13b8bc2e8a76f2eccbdb207a95ac8e2f5b" + "5a703b22a0b571e8acc599a", + "5a94f84541a794bf23d72db16d", + "d6b73ee67e88a20fceb5520be92594daf1b3786c7187535ccb1f0b926dae11adde6e8697b" + "a803b159019849df3c9d2c7", + false}, + + {15, "short message", + "b1cbda2c9a12f92315a5101aef311e99d6db002b0e04fb53c50106aa4d28e9a346697ba97" + "084572eea56ccfc4ad7e572", + "ce12c0c78e3f6b276ac56ed7435e", + "5c0802cd0ed82380e4c2a61d146ed72762613de89eb4ab9fe71da9ad3d79e1d2321cae186" + "292f7c52ab639d3ba6aa85a", + false}, + + {16, "short message", + "08517e8014e00db5c37f2a20f987ea2ec52e7938de018ad6be256ba2236804144ad2a1bcc" + "242738862b40647007e0a2c", + "21e2a0a167789a6b722d1737d92f8b", + "2264d3c9b835aedf699d5fbfc05d46f085591441df75aa2b2873f6c8a11a0856a2b79ae11" + "ea0a91609dbd564a0bed456", + false}, + + {17, "", + "503d7478a773b694d6e552c9703cc8bc56fd49fafc9a17cab8b0332dca8d49336fa7e9ec2" + "bcb56253fe5bb504e3e7f7f", + "d96e6fed893addfd9237c81c4f4e341b", + "19389766789912260f3f9757df3651663829c358bb48b22c1c63132070df318905beffd45" + "f51e4dfcb3e785f44cf9106", + false}, + + {18, "", + "41341bab902e767d4d1964c0acfecf46eff1b02b6455bcb2097de9c154be1f667f21be076" + "de18cd2c15c005896fca87f", + "4c43ac7de3631cc86f4da72fe6b6a552f1", + "3c3104f24b7070cc3277d9ae640d416298fc917a0c1cdc3c2e7b6da75706fd2ae234efd55" + "1af12ae29144704793e2f6a", + false}, + + {19, "", + "c2f83be1acce7b89a5f9e9ea7e4c4f8b0f4319986fbe479fa3b4a3c298168362393b56ea0" + "3b5cef77f48e5a72abe6d08", + "8dd0cd786cd800ffebec098728923d69249d3223c4c595cb", + "751c6c7d00fef5e4edc993915fba694943a7ee3a2c8e5b700d0ee536bf85fb117a9cd6c45" + "6485cd670f7a0b490c83e61", + false}, + + {20, "", + "6bd2aee9dd98d6b6609fce82181b10c20bba861da68a1590586fab08c5e9e90ff584047db" + "4760828643fea38087160e4", + "33236a9de603c1e4f5e11164224740627d10f6008eb73ec2642321bf0b82d579", + "e4cd8b8868bb078ed5d6938e40d9ff4bf61a4994be40a5f2b5446463e5db90516bccdd19f" + "16c92e3f839b9d6de68b2a9", + false}, + + {21, "long message", + "2f98ba2ceaadc5ba08880a35cb0080dc870a5734a782ebe31c4bab100ff8786dcc3be6de1" + "8482ea5d1b3bf14aeabb470", + "2d74a66dacf12edb85ef3073feafd122889cb634add00ff0395d224b4ff8b5d5d67ca6419" + "b6826abffdb41bab427d5", + "a8ea72100859f4b7b6f2fe596248f1729bcdf0606c900ab52e51eab548d26e1eb634a42e5" + "fc7ccc18356c0d283597ee2", + false}, + + {22, "long message", + "5e5f60e40d84c7ca2608af3bcc6e04abc5f8b7ca730a78af7f6f032e5a1501695bd91f3be" + "bb28590af1db90d8390ca58", + "2efe6a14ea8d679e62dbcedf35e61852278c83c54adbe1f1c72cb1a746b11cff8cb4fc3a2" + "c3acd44255d51c020ca6d47", + "6e8c95a4097ea13d064ed10809a33b569a6a84205158bd692ff82bc4b70b47a60ed332f2f" + "5bca5211a1cc89c06f9c595", + false}, + + {23, "long message", + "bc310bc3913d9fe59e2012a058c9e150534d25611e36206cf07ccaefe153f38eb0eaad994" + "1b6883dfbce01bcb5196041", + "9f0747d7396bfbe01cf3e85361e50085e0a91a7490b994031d81851b725065993f45dad0d" + "60d794aedec7ba5d9d6dbbee4", + "3a86498f78c3fb7eb3b7b3d82f677d2dfe01166fe76e232083334d74f11588fd089637c94" + "761e9cfe836436005deaef7", + false}, + + {24, "long message", + "dc770c64d00d156e43cb74970e3a1a2ad28b6d9ec6b2b6e5ac3e356a99f879cb620f00340" + "c044cc1f31bdccfa0dbd177", + "403fd8e3ef51b6539db658a894be85b58fbc84881e61c5e0cb13ae421a09d31d780603256" + "d390edd056d190856be00ad20a7048f0c67416fe8e02884086155f4263262e8c1275504d4" + "f91f2751d3c3dccd4409ff2b45e41de93f7b104d58f6e15bacb62ace9700615ecc1b30a0c" + "c1b35", + "1c4f6474f39e6eabbe7a99faa234f49833444130acf01dae68d68251a930419960b0fb5f4" + "8360149e05d1209941cc9ec", + false}, + + {25, "long message", + "cca9299c7bdc26a4b595055c99ca23bec8ed11b5deeda91f83e2365e7340395ceef4e86e5" + "cd91f2593bcfec498a67fc9", + "a05b40b8d3a7bc7b75b0e97309c9bd1c9d8755c1ff5245ef6308a6a5cad3ecfbcb6364b41" + "ca6f3d24bbee844d6204d1026abe345af7bdec114a373b109aa5724b738d50ab7a826c268" + "e873709f8b35135a870045d5fb9daa82d3c245b5338917354e72b3058c9a4b80711746521" + "7d7d14f36f8a8d4e97bc3b93587c92641e7", + "1b6b5ba848bc13dd46c35177ae9ff9bd2d6ca5f4c9373964d3182483d980b4654527f36d7" + "cc51b9e2efe7ed97a82e3be", + false}, + + {26, "long message", + "c728e65e08d9296fe3cdf2dedb49c81a30b603a62569eece4ee5d01e9a32ae3bcb4ec163e" + "455e452582454ceefefc046", + "e6c6bac87c17e269a471434ca9568401451d78c2444a9d6edcda3cdab51c5bed1c19eaf34" + "326580fd85ae5236ad51bc5dae386b36101f54695c595eeedcdd0182a4a117f8093f4f481" + "2e03db396ede9849d193e7722081aeec4be6c4caf6c979d36ead56634a21be21162ea232d" + "ec9cffdbd2474245878dca369e814fd028303", + "533920a013cf006aa29b26f74b6dd293634293089986aa249271c426b942dc6bae32b2641" + "616672f3d75968866e182e5", + false}, + + {27, "long message", + "90c4215dc3f237435047fefdd8638d339a3fc66fca06c5063eacbda002ab335e621605f67" + "2f3da9f641fae110afc3e7b", + "1ebc22c3031b64615eb6f1a0696e33b7df139a4b891d3e6721cc26c05d55de790dca62366" + "8c10308485d38e95ec4769fa4430ca3ebc25da9f5d31c972674517d9a2222e6b97d8def65" + "12af096c6d1480d83a229c84b7f28c80184b6bebf3f4eff5fc4e5c6cfea4f8eba9a957f79" + "13b20a88ad1734f7c38547e934d1dbf2d73dbd61e31fb1583c7b6577a171e7d02f1904512" + "6ac2973d855bc18d34d32326d1e216da58366a60033450091128ae26a479069bba7b91b2a" + "b7f3c5fbcde391de3ca114b951d6852f92795f8023d7a29a7f4ce61e9241b4f235d21e899" + "087167ab3f3a0e9321c7942b165178788df48d3b106b203ec1e01d29bda41a99ac0d2c00", + "c52b91daed6ee46416f2db78978251cb334e5d8e00b32ae06e365f455d28de406a9cce2f9" + "f29378f229822dbf26bfdad", + false}, + + {28, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "45be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {29, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a84d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {30, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "46be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {31, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "ab4d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {32, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "c4be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {33, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "294d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {34, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44bf81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {35, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94c07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {36, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be814415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {37, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d077f90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {38, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c414d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {39, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff91b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {40, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c417d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {41, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff92b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {42, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d2832b7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {43, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b3386064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {44, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {45, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e065b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {46, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283abfa62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {47, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e0e4b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {48, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7a42a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {49, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064903603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {50, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7a62a55188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {51, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03703d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {52, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7a62a45189e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {53, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d66bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {54, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7a62a4518ae5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {55, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d56bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {56, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7a62a45108e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {57, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603576bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {58, "Flipped bit 376 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c67", + true}, + + {59, "Flipped bit 376 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d217", + true}, + + {60, "Flipped bit 377 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c64", + true}, + + {61, "Flipped bit 377 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d214", + true}, + + {62, "Flipped bit 382 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c26", + true}, + + {63, "Flipped bit 382 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d256", + true}, + + {64, "Flipped bit 383 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310ce6", + true}, + + {65, "Flipped bit 383 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d296", + true}, + + {66, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "45be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {67, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a84d07ff90b338e065b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {68, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be814415d2832b7a62a45188e5dafbcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {69, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d077f90b3386064b03603d76bcf0214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {70, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "44be81c415d2832b7a62a45188e5da7bcb97da606bd5b16c92c1fc36f198c0b3a71492184" + "8d5e03df1c4849bb8310c66", + true}, + + {71, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b3386064b03603d76bcf8214b1fb88c66b9415dde76674896400f97b8408bfe" + "fa6ee86c716bfa4a460d216", + true}, + + {72, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "bb417e3bea2d7c54859d5bae771a25043468259f942a4e936d3e03c90e673f4c58eb6de7b" + "72a1fc20e3b7b6447cef399", + true}, + + {73, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "56b2f8006f4cc71f9b4fc9fc289430fdeb4e047739946bea2218998b769bff06847bf7401" + "059117938e9405b5b9f2de9", + true}, + + {74, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "0000000000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000", + true}, + + {75, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "0000000000000000000000000000000000000000000000000000000000000000000000000" + "00000000000000000000000", + true}, + + {76, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffffff", + true}, + + {77, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffffff", + true}, + + {78, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "c43e01449552032bfae224d108655a7b4b175ae0eb5531ec12417cb67118403327941298c" + "85560bd7144041b38b18ce6", + true}, + + {79, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "29cd877f1033b860e430b68357eb4f8294317b0846eb14955d67e6f409e48079fb04883f6" + "f266e0647963f2424e05296", + true}, + + {80, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", + "45bf80c514d382aa7b63a55089e4dbfaca96db616ad4b06d93c0fd37f099c1b2a61593194" + "9d4e13cf0c5859ab9300d67", + true}, + + {81, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a84c06fe91b239e165b13702d66ace0315b0fa89c76a9514dce66775886501f87a8509bee" + "ea7ef87c617bea5a561d317", + true}, + + {82, "empty message", + "1c678267be13acb464939c2896c9e9ce1deb5b30833bdd9ca00370889b84410782ad52afe" + "25dc10ab7ec5cf5f34793b7", + "", "6dd566be678c1e6359ab31b635cc160160a0c5a9c49a0ac5", false}, + + {83, "short message", + "00b184c2c0a491d764a26f8b2e56a965222b36213bdd106ae782305c50f89269902476e5d" + "f3fa58e0ecfae82a9607c8e", + "9f", "5afff4b009ca9c9e5dcd84f05607e7a7d43ee43b42498989", false}, + + {84, "short message", + "055b67edb659e29c10e3e9cd25aa1cd5abf0880e2026ed8436e39b064b7315760cd7a9294" + "ee23d4750969cc8b5dbaed7", + "4047", "4d08baef969eed23b814472acff08d08fd3491a728778a1c", false}, + + {85, "short message", + "9e3c198e93930f076b035c5fa8f10d9a65e98c66cfb36633e3cb33279cdf57688f10b7472" + "d1fc9d962ce6954519bfbf6", + "88cfab", "1cde3765ba5a15b1d0182136a72c603acd3b904ceac8f7ad", false}, + + {86, "short message", + "f5f5962bda257b38b2a2318929121b2eaef792d5c6a9585e48b80cf5357b29c3951b787ed" + "3e03e385b05b8ffe6861dc3", + "d9397753", "4638e4427e6084b76c53ed9d6e916162fcb8b962c3d616f1", false}, + + {87, "short message", + "f62820ed5f9833fd22dee7bd49e2c9b19fc9668897c2c33e6c7c1fa5c277c3b9f581faef3" + "ddc664ba537975d8afaa707", + "9b6cc7caa4", "f6e272a7a6235f60b72b4c7424cf32a07f98ea592665bad8", false}, + + {88, "short message", + "f222a1dabf322aff8463acee6444939331212be3e19d31f4b73fdcc97e2925365ea33c985" + "282805c83dcd8fb42a0e214", + "c85ad7872b76", "933f0fa61d4466b5baf5a601f6b96d81a97e81c512d822e6", false}, + + {89, "short message", + "56e80f3899e945310a9d9bef3d32091f29c157dd46b2d439ad89d63e14b2c24390f74db4d" + "905f6bd03f75c32e91225fe", + "80ba25f1c27650", "a1a6e248b40864ddf83b00c52ae2c303b7e76fba0548d4d4", + false}, + + {90, "short message", + "6cb6261a56a21b2c3c13453c158364aafa78f58172a9ae3eeb328ac38808b5c68c111197a" + "303ec36847c9a315ac5eb5b", + "79430de51d68cf34", "33593a80da455e580ccc5ee9b60edcd1468460539788fc41", + false}, + + {91, "short message", + "44ca1ecb490470a84c7e13e1f1c69da21f48c33b6f050f48f7f244f0fda8b3c855904ed06" + "12e2dafa5105cbd7f6449eb", + "870b981c8afd9fae1b", "930f2e401e3aafb46a0c4029002f4ef1ab9fe838bc00c79e", + false}, + + {92, "short message", + "aaca68882cfa7250988a247b96cfb3232d6567378f8fa7e7aaaca1c386e1ae15e54957d22" + "bfff1e50ae7f21beea197a5", + "a6f31b822ec24da1b1e9", "a9c2d68f0ad1ba50089b169c86d965f97f52388a48ace744", + false}, + + {93, "short message", + "1b32f9b6378934a502dd74d8b74a4606d5b2c9a8587fab1cfa90d75007734d2b8bdfe6348" + "15243526ebc0f33c04d0d05", + "55367c657c792610efdcc0", + "934083c8594591da783f0da28f4b58adb604e9cc76b99efe", false}, + + {94, "short message", + "09d91b2fa22e68b5335d478235aa4e157435c9acfed772219adfa1e9dd72f33e1a2183a02" + "03a104f80e643cdf29e5aff", + "b31e254957db6b1b70a06ce2", + "7d45f3899455787e7116b570df8f7787f672d5821d6f75fe", false}, + + {95, "short message", + "d311a80ac801e3639b9185608af4a85e4122e29b5c23f05234c30d92d59ad13cb80390e5f" + "a0ea4a54853228b356689f5", + "e6b443dba0dab35d43ca5d6ce6", + "27297096f58f598391c57778129949b94628bf17bb2422d1", false}, + + {96, "short message", + "06297e6c46558b9b0fc36c272b4ae7e65dd536cc1d13acbfa831fa5574b34f99e09adfb7f" + "20321f203075fd26ed2e29d", + "309b95e5f1ec26f70786e74d806d", + "aabff26fc44a40f0b87a40c175c17ea7140f8467dcdb95cd", false}, + + {97, "short message", + "e8b63a25cd85ad4f39e3c0e9584eacb94d6ae33f984da259aa533d4d28aeb341cf3ffe49c" + "029e4af6a4805f760f35f2c", + "d225c27795f809454bb2c51d21f3ac", + "0e12b758015ac89797d55470f3982c13a5ff1483276083d2", false}, + + {98, "", + "d83a685ace9fa0c0aa47f0c7b4f0f00717619a82e2eeff87f51f67d814d51dd9e4cad7578" + "a4e49b672b5af83943c2583", + "abfa7f5978f751e87e8b5a15a6e89f4f", + "e4e6ba041bbb7a47ec8482b2043455c119fbdb389a3945a0", false}, + + {99, "", + "5beaf406a6627eaafcadb6dea4e27ba4fd879fd3e5bfd87ea3c8d5e0acfbbda2c6bf006be" + "af5a30312e690724c4744a3", + "bc57d467a9a2af64ad5e14b7bc0898dc63", + "3fab1a7a192359b6333a9699b75612211a38b6dccab4572d", false}, + + {100, "", + "76b36cc3b8ca975708ee4b32bdbe40ca13f9ce384c52c4b6602b7fd92164f1fd8432706c1" + "966f648bf4830f4deb34795", + "b1d022c6536f401d147dfc0d7d4e600bb753ef0e9f243bc3", + "c91eb3f362049c5336c5074cb887edcb27aac1ef6575a92d", false}, + + {101, "", + "20569a16f453dd3c34df98155286b1ca8a392ea164c919311f0df9d39d976062f4f992b96" + "def3851886e6295f2615064", + "5402c4e683d1a431868ad528afbf4128b0b10cef947d063b34d376d344b793b2", + "27728059696aed5bb00a13c1db100691d4a21ebea0a8e4c3", false}, + + {102, "long message", + "9ef6a55f8a9b6b9ef1f8296167319078163706ae5b60897c2dd6e340b67ed5d577fb54c55" + "47cd5f248f06e7082ffb826", + "6a0d16276941d8f04eac2ec723fa53b9d6b16da7e30e7f2d9ad898e7cbb71bd3dd234ee22" + "836ff4ac6011b6f12bd3a", + "cef5d900eef0abefc625c1d2862a3f42998ce8b1e007d2b8", false}, + + {103, "long message", + "fb56bbbc6d751b744d8c1b57cc27a1d2c2f4e38e3491f54448cfcfb9389b7f63fd0d41920" + "968ef612510625f2637d28d", + "cf1791517ef5a61c0db65a668bee26fdbc975d799b2623cc0f3e4560e80c7014fa9c02d56" + "8c98c86385e000fe6776bb7", + "88e99accc9c23c9c8c1110e7470cade0317817916d8505f5", false}, + + {104, "long message", + "d041e24e59b34d7a18128a42d8a7a52dcba5d79e5ed585b55c7c9e4946e5ccaf7e59df0f3" + "da98c7d0523e4cc8f9d7da4", + "5279618f1b41534910395a78ded968aee3431085b599c4f55eb5ff8a2e879bc44291d923d" + "e31009db1b9f7f81095afb3ea", + "8500f603ce85c030cfa05731758b6be3317b6fe8e99b7d48", false}, + + {105, "long message", + "e1ce4884fd74a0e197c68ace3b29b552313af8e451e98d9ab8d0e8f8ee74143e8fcb64462" + "17c0f3123a426b8ab6f62cb", + "71154b9a657b905f884ba5140d5e7b9243fec3e03fbbdbb360c8194963ae43177b5502cd2" + "0f559eeeff8638d028c501926ebc7eddd132ccea29ead7ad0c95a30b9d325952cafb0ea5e" + "c9d9d6fdeb63950d5d69c8bbbea702aed1d444da286807ffd6b36cb49902cba7abf9bda1b" + "577c6", + "c7e9ae2a81de32280b518d055c2c9d7f0f5db6d06ad0e4ae", false}, + + {106, "long message", + "8a242c22d1b54ce216ca03c88455beb128211a9f35af2343709af7c5f43a681451ea53a36" + "de2e5048eb44a51681c6120", + "ab5eee6b83869119f00dd3cc66dde75cb5700535a90e9b3e32b31434c297ef53f94659d7d" + "9b11323161b2e66c6b9c9ad20e313303f81e88e471786c8e936011f78121e39630b2e0804" + "fc97ce5cb3a34f26949439fe530adcea6e97c78b042e0817253bf75dd54335584122f5edd" + "210341b6d93f58aa1b4de2aad76fecec44f", + "77392b18577ba8819fbd76fc73d45029e55e7ebecd58a320", false}, + + {107, "long message", + "311c4bee7cf257b780135a2e4a6413e68a816f5d8462515dcb1c72494b6335581a9b60a21" + "7b9ff1c75e7768148f8df46", + "63ccc3849c4c323cb6ce926877969048b849ee4af18e71eef52fe9f274a8678560f9a5d47" + "510c3c98c8a08ed4c01a01e0a3663ef0cc6c3cdca6276d91e99b0d414263498fb64ad74b8" + "20ab52b37adeaf27cb44545edb8f09094992837b8d3a0baa2a101a49592eb889dc8bace4c" + "71e3efcb9d4149bd670ce2f774d73c12f2a45", + "94674aaefc06eead22d15317900fa26c8df8cdfb252bcaae", false}, + + {108, "long message", + "fb792867c8928f0503aa24477cebf42e0b018346e3619770b9e8f5097945e2e275ad06f0c" + "12152366ac06e278c94090a", + "0a63e6d91d7a6a18dbad879fb8e23ae351920391eb40fead6cba846768a2c6797ff347b43" + "01327b09afc41f7b803af6b61f6d9b818e0ddcc02536d0543dbf1a87f2c5e020f64590943" + "44b72596d548435c313544e92c254d54a70a1d6f6edd2f82540a1ea2e82125b0715fa0f89" + "0bb2be4ba0065d2ba0144854682aed041c1035996648e2ed671b7253ba567ffb999d91fd8" + "e7ffce5c6dc4790732adae443435a454fe6c2a7c6708d9d5b2eb9292d6fbe5e026d65332b" + "38c7925eff9beb89063cab63fbecb2ac0e1bb61a5b1e511f949c43a34ee26f1156e97793d" + "a97bcf5b5c67641384f268131b297857d719eeb6cafa3dbe9b8d0da55c98656f20e5b39b", + "1aaaff966c0a84bac791ab9e0b9b505d393073665732a74a", false}, + + {109, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "45be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c", true}, + + {110, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a84d07ff90b338e064b03603d76bcf0214b1fb88c66b9415", true}, + + {111, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "46be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c", true}, + + {112, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "ab4d07ff90b338e064b03603d76bcf0214b1fb88c66b9415", true}, + + {113, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "c4be81c415d283ab7a62a45188e5dafbcb97da606bd5b16c", true}, + + {114, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "294d07ff90b338e064b03603d76bcf0214b1fb88c66b9415", true}, + + {115, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44bf81c415d283ab7a62a45188e5dafbcb97da606bd5b16c", true}, + + {116, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94c07ff90b338e064b03603d76bcf0214b1fb88c66b9415", true}, + + {117, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be814415d283ab7a62a45188e5dafbcb97da606bd5b16c", true}, + + {118, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d077f90b338e064b03603d76bcf0214b1fb88c66b9415", true}, + + {119, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c414d283ab7a62a45188e5dafbcb97da606bd5b16c", true}, + + {120, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff91b338e064b03603d76bcf0214b1fb88c66b9415", true}, + + {121, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c417d283ab7a62a45188e5dafbcb97da606bd5b16c", true}, + + {122, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff92b338e064b03603d76bcf0214b1fb88c66b9415", true}, + + {123, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d2832b7a62a45188e5dafbcb97da606bd5b16c", true}, + + {124, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b3386064b03603d76bcf0214b1fb88c66b9415", true}, + + {125, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c", true}, + + {126, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e065b03603d76bcf0214b1fb88c66b9415", true}, + + {127, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283abfa62a45188e5dafbcb97da606bd5b16c", true}, + + {128, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e0e4b03603d76bcf0214b1fb88c66b9415", true}, + + {129, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7a42a45188e5dafbcb97da606bd5b16c", true}, + + {130, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064903603d76bcf0214b1fb88c66b9415", true}, + + {131, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7a62a55188e5dafbcb97da606bd5b16c", true}, + + {132, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03703d76bcf0214b1fb88c66b9415", true}, + + {133, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7a62a45189e5dafbcb97da606bd5b16c", true}, + + {134, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d66bcf0214b1fb88c66b9415", true}, + + {135, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7a62a4518ae5dafbcb97da606bd5b16c", true}, + + {136, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d56bcf0214b1fb88c66b9415", true}, + + {137, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7a62a45108e5dafbcb97da606bd5b16c", true}, + + {138, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603576bcf0214b1fb88c66b9415", true}, + + {139, "Flipped bit 184 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16d", true}, + + {140, "Flipped bit 184 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9414", true}, + + {141, "Flipped bit 185 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b16e", true}, + + {142, "Flipped bit 185 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9417", true}, + + {143, "Flipped bit 190 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b12c", true}, + + {144, "Flipped bit 190 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9455", true}, + + {145, "Flipped bit 191 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d283ab7a62a45188e5dafbcb97da606bd5b1ec", true}, + + {146, "Flipped bit 191 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b338e064b03603d76bcf0214b1fb88c66b9495", true}, + + {147, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "45be81c415d283ab7b62a45188e5dafbcb97da606bd5b16c", true}, + + {148, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a84d07ff90b338e065b03603d76bcf0214b1fb88c66b9415", true}, + + {149, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be814415d2832b7a62a45188e5dafbcb97da606bd5b16c", true}, + + {150, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d077f90b3386064b03603d76bcf0214b1fb88c66b9415", true}, + + {151, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "44be81c415d2832b7a62a45188e5da7bcb97da606bd5b16c", true}, + + {152, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a94d07ff90b3386064b03603d76bcf8214b1fb88c66b9415", true}, + + {153, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "bb417e3bea2d7c54859d5bae771a25043468259f942a4e93", true}, + + {154, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "56b2f8006f4cc71f9b4fc9fc289430fdeb4e047739946bea", true}, + + {155, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "000000000000000000000000000000000000000000000000", true}, + + {156, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "000000000000000000000000000000000000000000000000", true}, + + {157, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "ffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {158, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "ffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {159, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "c43e01449552032bfae224d108655a7b4b175ae0eb5531ec", true}, + + {160, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "29cd877f1033b860e430b68357eb4f8294317b0846eb1495", true}, + + {161, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "", "45bf80c514d382aa7b63a55089e4dbfaca96db616ad4b06d", true}, + + {162, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f", + "000102030405060708090a0b0c0d0e0f", + "a84c06fe91b239e165b13702d66ace0315b0fa89c76a9514", true}, + + {163, "short key", "08476e9d49499c5f52e37f80ece6f5a45459948806b48241", "", + "1b6cfc8709aab8075465f32e13b0b0f796cc34d93d7bed090f297dcf9fb75e0d8e285b150" + "0b732d554ac97ba45f33e47", + false}, + + {164, "short key", "213b44d8e1fabaff837ef30ee2542f9ab82ed70411dae78f", + "ee0bf48585c186ff991b4d8607817c9c", + "54f4010d50f80bcdb4b84d56bc4ef30e4c68f75128214cf446b5145f6fff1326a209945fc" + "21ab5e1f5d917559ea9b800", + false}, + + {165, "short key", "b4afa9daaa8c944d73a3881f3221e42b34ef4e35f184e878", + "cf607f6a0eb44ecbca81b6d1fdb595cee35f2353da02e82e28e133b9decd8fbb", + "d064a51fb109c3b1d443f13f41e90e14198f846080464547806d46a8151c4e3855a81f4af" + "40915609095dd72f869aa1b", + false}, + + {166, "short key", "89e46b66209548c80b0c830662223b49b0e3b895eb30e2fc", "", + "4b012c0c0da44ede2a427e85ace8ecc54b379e9e24f08d41", false}, + + {167, "short key", "f2c10ce8cb1cf3b363354473b027c1e53deccef03233be0c", + "e1fa10b8e301e0348405770bc3fafcb1", + "2d088af29cc744e347124fbe4100cbcdebbae037ed9bf69d", false}, + + {168, "short key", "92e074442cc4c59e72260808d80d8e7b85c6335068917b83", + "34eae27425ace17771e164cbb634306f352edc9c37bf608be8a755fb94148183", + "b7e6b7bb29c02e4635dbdc50d8be71e2ddf0a544471de285", false}, + + {169, "long key", + "db6f9956c3f4ca6e41f1f7f14629d44c79e0353edbf3e310e6858bbc45a7cd57778a9053b" + "a22a141bf58bfd434ad08648c7041a224b97a0d17e0edf94fd40b410a", + "", + "0cb1b296255bb259f3b601b49b35524a5eca6c52360754d3d96dd521c905b1c1821d74965" + "967d8e86d50de950fe4d635", + false}, + + {170, "long key", + "f03404bdb3e08f530d4c3a5f165d236012a4c45cd063e3e4483da088ec0afdb24e9639fcc" + "abb91f98a49dc2972e2981426573ecfe69c00c43a2d99a3107cef3a70", + "73ed9fa2acf49d6c98bfc7d6c5ad9c56", + "b6132e5216f711eeeb44da3d92983fe5b6de5cd9410be71db8d3b07228341686aa60e7081" + "e95f2e4b69bb7cd9648bc0b", + false}, + + {171, "long key", + "ee799e25edb1b18452e5ed174bc6b2185a6754417d6cc05d736d2ba9efc8367e4b05ba0a2" + "ee525ceeab74f9804a8479130c328d671e34070cf174a003a1dfb5994", + "ac3e7da7e578b9b4dc2424030446c7f6aebcc471445a9e0e6e65099caeec5b2f", + "c8607fca1888418166c550dd58d7a3976a6ecd0e4ca99b02fb187800a9c9ef909a6c1497c" + "0652d4dca82405ab07f5eed", + false}, + + {172, "long key", + "063d6e12e670098adabe68192023b637bb6d8d713fc8436188c4ec06fdd084ce6d193f26c" + "86a9560e1abc27d813fce2b3eac0170fd1cb72e1930a2776bc84d6c11", + "", "9dc2acbfa28a7ac5f2a5bdd4b1b2dbc806c48f96ce950eb5", false}, + + {173, "long key", + "359318e6c6279ba9ebcb1675f5a98195bbf5d895da9c17b8329038be857dc395b12ae91a5" + "5598876593c1c20bc0172cf15126b7a6bf0a238eda3325d6dd60600ef", + "7ad0c9098ea10e615bb672b52c96542d", + "4163737c219f7c5e743843dc3d36019c6585ea5d4e7cf24f", false}, + + {174, "long key", + "d01cd898089d8a1eeb0035b0d332da80fbd3571b9192db10fa6f55f665ab192d7050cab64" + "3996e99254d9573e0cf4eeaa63afccdefd81614fe7b83dfe30e3ba19f", + "d67c77cdd0af5d10e8cae887e5a609bb76a9e5597653773c303b82b918fdc59f", + "e7df527a988080749ee215ba0f8207838df38a37707a6330", false}}; + +#endif // hmac_sha384_vectors_h__ diff --git a/gtests/common/testvectors/hmac-sha512-vectors.h b/gtests/common/testvectors/hmac-sha512-vectors.h new file mode 100644 index 0000000000..03268e2763 --- /dev/null +++ b/gtests/common/testvectors/hmac-sha512-vectors.h @@ -0,0 +1,1263 @@ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* This file is generated from sources in nss/gtests/common/wycheproof + * automatically and should not be touched manually. + * Generation is trigged by calling python3 genTestVectors.py */ + +#ifndef hmac_sha512_vectors_h__ +#define hmac_sha512_vectors_h__ + +#include "testvectors_base/test-structs.h" + +const HmacTestVector kHmacSha512WycheproofVectors[] = { + {1, "empty message", + "5365244bb43f23f18dfc86c09d62db4741138bec1fbddc282d295e0a098eb5c3e37bd6f4c" + "c16d5ce7d77b1d474a1eb4db313cc0c24e48992ac125196549df9a8", + "", + "d0a556bd1afa8df1ebf9e3ee683a8a2450a7c83eba2daf2e2ff2f953f0cd64da216e67134" + "cf55578b205c8a1e241ba1369516a5ef4298b9c1d31e9d59fc04fe4", + false}, + + {2, "short message", + "00698977f7102c67b594166919aa99dc3e58c7b6697a6422e238d04d2f57b2c74e4e84f5c" + "4c6b792952df72f1c09244802f0bcf8752efb90e836110703bfa21c", + "01", + "4d1609cc2c2f1ab5ddc35815ae1b5dc046f226bde17ec37a4c89ec46fbd31af2aeb810b19" + "6dffdd11924d3772bef26a7a542e0a1673b76b915d41cbd3df0f6a6", + false}, + + {3, "short message", + "ed6dc65dbeaadbdaab530a0d35f19f78a7bd93e698546c82751bf650c2a44fc8529033d08" + "8febeed288fb4c8132a59df0207687640c76dcdb270ac3af5f042f1", + "a78f", + "0757b27e120559d64cd3d6e3cb40d497845375815181bd9b4e74f2189d09d01a1b3ead537" + "01380d988958ed22bc379ace9d47cbcac1d49bfa7e14f1f44804c30", + false}, + + {4, "short message", + "463c5e696da0ec0d784388be775d1d91d94746aa8d3d2c209f56ac95ea54e7288329f9fb4" + "0be4eef35547e64c61dc51a4a1f3380a2b96420f088655ea9d85b97", + "e956c1", + "ac4b1509391814ae5cb5a123e7a060601575c11d81b563bdc52febe6bb2c747b85eeddcb6" + "748c98147a46a1cc9be6776d1a8e82ae4896b9c18da2ff351c56795", + false}, + + {5, "short message", + "4bc0d32e945cfdafd20d39be3820f9649727cbda5ab5859953a322cbde1ab7a514d7dcd14" + "ba90905e70919bb86b85cfeaa375ee2ce2703711b938c8f4ab5f178", + "b2aa48b3", + "c4ecdbd2efb17640ce6707e2e9d0ee5bfb98b91584bc86ab386437eaa37b0f2eb70500361" + "105416c0dcecff389dc94c723fcff18cb801740962312007a195a23", + false}, + + {6, "short message", + "aca47f6350941a0efd8c3bac9064a554be337cde7d192f6fbf86d1b4db09b36531165cbae" + "0a634206f71fa400df33352fff60e1fba4009ac6671cd37312bdd98", + "bc993b1db0", + "89af2f5746cab89fda6993e00f1bf0cc70a77188945bb7b5409b536aec5533ad501db6ecf" + "a3e516b580b7df9c8eadb3cf556ccc01668be984335bd5a6255d566", + false}, + + {7, "short message", + "b3ecae6f25c2f699f158b3ffcd0a7a575583e4c9cb56b5c22ef4273cde6c6734e84d74007" + "49c17e47e8cfccafaf8b50c65eb47dfeb273d5d30a1181e37b27ad0", + "f0361d58291e", + "4037a57aa279b5a07abe9389dcf508be9495a8257dcb3feba3f0801cd57574c30bfddc6df" + "5df6567cd572c4e82735fd4e67b65e85b030f183a7f4457fb7d2c3d", + false}, + + {8, "short message", + "70ff24a252d65183bdc6b7c88751f850821141a61246727c3240b4f96088ae3278767a822" + "b65735a28ccebe4c874bcb2c942882cb23f9dd87fe08fbaad5ae72f", + "e18da3ebf0ffa4", + "878d488754bc796c70e11d5db77acda2e1796d86146e27d862586740c4d488ed12239e6fb" + "4ab2925afc88168609edc048f8572536fae96e149d73d230b18db66", + false}, + + {9, "short message", + "dd4e05933d09711ee88cb4c1ceb3600b2b33808bc08d499387b331d9c7af49bc65b55172c" + "f8083385a940e4b864b7b4b73ddf3bd513a6cbcac73878a879b4d06", + "66948029351432c3", + "9968a16eff2b4eeecb2f9d11fcb105e8d8ca59ed4e69131c9de599cd8155fa4f33def1195" + "a6b452263aad9265e16d4951841d7cd33c74c475da04497c02922ea", + false}, + + {10, "short message", + "fbd32caf8984fc4376d10daa7288db8e6e74464bdd94b448adab4497b319e9a6dcce542f8" + "2a7ff2e775d12477c880e460a9eab8efc49fcfc8c5476cb4b08954a", + "38a2586a2883953cc4", + "e0c69bd034cdec5b48150fdf3a4383456a7626d4405df52dc6c2bc8fe93bd87e369e06a78" + "1ed80ba8b1fe1146c4df82b6a514412358b31b77b9b79c7a91ec9e4", + false}, + + {11, "short message", + "fd4c3f6b2137513616c28ed4d8638f867ad0b97188b73fc9b36f3d52b82d72a49b9dc1b8b" + "25397eb448054a8d38d838e7a88b4df9c263aea1b968771d5ac5756", + "86b4e61b3b7d650044ad", + "29345d7da44e2f228e8d502e29fb655da3676a481f9947c8482502ce070b3da5065589d84" + "c02a05cd774b4bd5a15b668c59bafc192695aec43e5df3a82301745", + false}, + + {12, "short message", + "f95baea535f477d22b405c67d927f59a9e042c46297a1681bcc16fdbe1b2cd59675a22135" + "1a78075981e7eb4998066768801cbd7a85231114d7f27f9bdf24899", + "5a34dee4e0982d458efffb", + "63867bb3e82bd4a5f715b3dd67ba3625666e458c5e3d75804709f80b6dde6f774ea223ba9" + "e2536c60ab636dd12d07b217234a490ea9cae4fe673215d33f8c57a", + false}, + + {13, "short message", + "4d76ae95a123207e01c6d22d8b587e63ba682963e50961afff531160a9b9aac6c772c5e8b" + "f918ddecbeb56455ea64710e51ac21e3bb9af4b24eaa8535b3c2924", + "2c31f2d986f68a6d6a96c4b0", + "9d4f9549ac134a6f60f17fd0fbc80f55426afa73cdaf84a806d98dfffc94263178116f76a" + "adca95a9243a9128f5f66d3e7f33e72603d4b35ab90ab7d1e870ad7", + false}, + + {14, "short message", + "0da7fa1f5d217951e3e343cda81f232deb71764eb49e8510bc28dba8eb62afa2a98b6f053" + "6adb10250c74878fe649f47bbafdf3f722fa150f66e83f65f606ab0", + "83511de190663c9c4229ace901", + "11bd76ba2fd5684e3faadd44abc05d32661472ae4c75fd69e62e47a2d462e483ab5fd3740" + "70e648017250934d486fed55e68f4338547fb5dc54d4bed894c1c2f", + false}, + + {15, "short message", + "cec9e9f25ed9a017004a7882b1e44e8bd8fa3203c50cb6058455ed4f2a036788d46fcd328" + "327d0d86b1abae69f7bbb96e3d66373ec8bd45075890879a83f4d33", + "80dcd8ba66f98b51094144e9b8bd", + "c69f1787bf7804bfffd9da7e62f58c1c9f599ccae2ed4fc6abda1be48620afc797d59d4ad" + "b396e1fa5d18b8c1aa1c7c15218a9f9e3aab226119adad742641089", + false}, + + {16, "short message", + "bbe25649ecdf54ae0028fb923cc8c28ec00e10e2d44214590781238a143b75d54efb037eb" + "9f53082a8ab3d8876daf4dbdc2483c4ba222797fe20da3b7730368b", + "33f630088c0d24cda98caff1a3afc7", + "c803ca833e851418a3d9ed764f8c83f481060141eb1b2bf64d7ee7991b041c48bfc747bce" + "13d69722f63944085cef8e7a166270530fe31a2a525a99b8a75f1b1", + false}, + + {17, "", + "f5e2b9e2313f4f807cb3a924a7d4943fc3fb475d8f1a1b40ce09a37770f621af8977729ca" + "df986c98c75f08a4fab4280538e09e7e51e87a8d62c03411bdb8d24", + "74ef623c83275ae99745bff7e6142afa", + "471055f7a2d44758e7d7837db85c33626b8306760eb45e18d4ba8dfbcd0d4279fcf8b539e" + "f7b165eeabf5457ee2c41e52d07e9121da02c988f08162f86bdf208", + false}, + + {18, "", + "8e323d5fb4752d92a6d905c512b287d07b21ae50002d026ff0388e1593bde9998dd02321e" + "200d148f5fa2e824b37e9f5a77441794b840bedd552d1051c1ddd8c", + "4daa229b009b8984354c2ec3e7973e0042", + "93a2137cc84e2fa1439d7c239767b3ce653d634c58a4590eb61af9d3ef986445220aff355" + "4de45a1b0933fa06d3d64460418910977d8d9ddb2eb04963c816841", + false}, + + {19, "", + "465bc1ab2125cca29729d01df044e393b0677defdd939280a3aa141224efa06457e623056" + "d02f6c36eca3dfc4a7476dd36b97d0c2d60c7672129189e73b6af8f", + "dd84599b47ba9ae9f2ad0c8eac678485433eb6b1dfb7c998", + "9fff43a83c71833211f9d60eeef4166965c41a37c76634b1bdf9c5291df75dc877668f228" + "7bcf8108ea9e03d061a708db2db08687eda61fa97b1ca92dcf22b92", + false}, + + {20, "", + "b90226798dff2ffb91d1ee4103f26397d0bf84c13c1ec717392c5fe1d4d0f4dc790236d75" + "9fa1be852e305da585a3dbde0d3912bea60d6b140c25645eb00943f", + "aa29c372f136993c65ace5e1d62078806eb787913bb35af33371056359d354b2", + "493a727536b07d434a7fc8df6b70989148a8d94cadb9761ad845ac5fde2068f9565e68607" + "b531b0f307d7c17ce0a2ba69fb1ac1b0c716f93904eec75669e70b7", + false}, + + {21, "long message", + "af1bb91775cb40c73983f119c927a2ce8f7b954a6274ecc1cd96019e5c417af4b09437619" + "4eae71c7f68f3345654d5d9f8198a697b41ae251e82308accd935bd", + "75ededdfa7f1df1dc144fb195b27e454640e3f897cb564222f05e8aab0c6024f90472afea" + "6e7254ed25134ea43452a", + "b53d564086a745b10d88a48b50ed8b53f4c83fd12bf56a75108074de9b343cdf0668ce8b6" + "a3d884ba2da5f4c957f1319e26c0813c99a4269c171ad80981013a2", + false}, + + {22, "long message", + "513e0e7622eabcb6bfc81669dac903df46daea1240f32248bbf4fc61f1f9b13b2c3fe1bcc" + "97540d30065be9eee41e51748bc42c16a8c8269fbe2b6f625c19228", + "81d8650937f50871a66af71605ea4fa9d6c5d7a375774c2280eb34aefcee8c0ef83345bc5" + "47e4de7cbea482369b25a93", + "9d942e4585742ba118bda6e132510af3b9297047d364f76b2a0d1fc803849b06ccac0eaa4" + "27934055c9d2e5a5da19cf17299ffdab65089580d10ff7207c9ed03", + false}, + + {23, "long message", + "627c9a72247d07b0cec8346277468311c7401fc4cecaea8e22e13ece4b352c8f7a7eb1ba8" + "1ce348a08670438c97b8d9e883614d550f1ff16d636975c59988c2d", + "118e0468cbb52f93a3396ebfaa114881a98a4101f4ff912ced47ecfc73b27f52205b7a5d4" + "f3899506f9e34ebf99460da7a", + "a186e08c7731d4bbb1d5342a105ef48f5353c5c542277de607831fcbbc8d0b9fd509c74bf" + "9e352ee739792ee3cd6382f96e70adb589fdf1fb031d43eef1a595f", + false}, + + {24, "long message", + "1e981d0cbbad5bea9480d836b4704bf3147663b6ea59e1e0a280fb45d9b85d445dc972159" + "dde301c6f1e66681f95642dbb9a9218c00d0cd724cb02f3bcaea2ea", + "440dff390688c9fde31c17fdb61c1d13899f9544a986324c34d5eb07bef9a4436297f4a7f" + "e16de5dd7b24e0c7c129051efe6f2dd0a21aec05c3e3c8f6fa30d9c0cbd60d840d14f0b2a" + "928bc7189b9de4a6a731151d6b31e6a0ecae75095434737be8c3db11a6a697d0616c78b97" + "041de", + "c52eb5d18e90687248342a84dc0241c680e992b88b1409275df7e347c99169a50cd780eb4" + "726ad759e2a027fb091354e3d7c7aba8a21f8acd1d0e21236af5f98", + false}, + + {25, "long message", + "ee8aea2a52eb7e0c1120ab736b1a825b12610063de9642c594766c020cb87314d8ac94b13" + "072bfbf3c019b4aacb1d2695cdd7563a26f574e12559906784d853c", + "a3951f1d18135602fdadceeef5741c24ad22756160d0c55e51b788af952adaeb13e18c24c" + "6b09672f405d7ec3d49b0bd86c7f8691b6f69af49175423215cf57d7c08a54ab0b0293e68" + "5c9aa250f1599d78193a00af822dec4b56fdb41f0343ab2cf85ea27bb2e650930f5e8ca83" + "6833903b053b3e06899b4012a6532978d90", + "d3678ca7c5c1aa21f12eccc21a1add0b3eb12ccd134033570468191e51b058c61f2a7d88f" + "2ca6c652c29c65c491bf1f0252bc157bdd77436ff55204eac6dfb0d", + false}, + + {26, "long message", + "ecd1861a12eaee48aef1d7ed278223b50d3416dbff81e976c56ecd4b1a1bc8892b584cbcc" + "72370ff5e976a6af1790caa32f9ea912855914c0315979578fbf165", + "5779c56373a8e5db43bd65c0453ce23144230d43666d717a3b59d2e90f0e10732376831d7" + "281cb23dd5566e5f8c627d00d39650139ceb87cd47e921d65d6c1cc7712ac4bd75bda8828" + "e68abc968f4160ed91b28946c9d706b0360bbbdd65f47ef9983c50f2d09d05c3674c0943e" + "a4af54c381089f9b846dd69ce908e0f6eaaaf", + "d377e4efc39f25ca751452e79dcb5661f8adcc06570bd3f710e03854e032286ca477e6a62" + "0647958fd31706463b542ddf617757875f349c61109358d04f6dc58", + false}, + + {27, "long message", + "71aadbf330ea133b46c939d12e603896902e8df638597c98872dfb5aecd5161bc84095221" + "de3222367012f45c6d70701e862ab000e782e91b505b21b4e212c38", + "e6d7b0280d2f7df83fd26562fcdea2597cf687a9c9fa194f655c44d3271b881f28adc436d" + "b8e0437ff4dc5d38356271c338829c3e2d9ba4ac1777c94886983d4b72c275bc00e4f7b06" + "c5ce38a2fe549fe53761857f236da705fd03790b41cc6f759f41aa206feca7ba5486f4fc9" + "d09f35c8e0887241291882010414ae41b8b384a715a409be13da17bfd60d3fbd4b8cb3cc7" + "c26043807264a20b9a5c02725e742fff03e1806b38af357ebf8c79fc4c38b007bf0613286" + "cf063e45482375475e6c426d4f70057cd92efcb2dfe86e45bdea399273a5e0f142221fae2" + "06800555c01b18533295f577e23a9a7a0aa072823002b9096501174d3bc4aac33e0dc600", + "0c1cbb2f196d3d1af5f982a330bf1d9accaada72cf6c254658cb32bfd8705481abd2e163a" + "73338700f0d961ca02a31b600df04faf311cd06498557831102f80f", + false}, + + {28, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d39b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {29, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "be301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {30, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d09b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {31, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bd301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {32, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "529b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {33, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "3f301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {34, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29a9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {35, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf311cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {36, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9ebf87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {37, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301c3fb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {38, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f86809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {39, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb466720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {40, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f85809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {41, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb766720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {42, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {43, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {44, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {45, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {46, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686734109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {47, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720ea3f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {48, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f36109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {49, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23d166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {50, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f34108fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {51, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f167e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {52, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f34109fbc618d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {53, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24965c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {54, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f34109fbc518d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {55, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24a65c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {56, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f34109fb4718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {57, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e2c865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {58, "Flipped bit 504 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388d", + true}, + + {59, "Flipped bit 504 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca53", + true}, + + {60, "Flipped bit 505 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388e", + true}, + + {61, "Flipped bit 505 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca50", + true}, + + {62, "Flipped bit 510 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb038cc", + true}, + + {63, "Flipped bit 510 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca12", + true}, + + {64, "Flipped bit 511 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0380c", + true}, + + {65, "Flipped bit 511 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8cad2", + true}, + + {66, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d39b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {67, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "be301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {68, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9ebf87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {69, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301c3fb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {70, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d29b9e3f87809606f34109fbc718d62bbb09c278cf05a206adf21463e1170362122e58272" + "a31679720b254cbd63a7c6d696bf9283f9c6897e7d792483bb0388c", + true}, + + {71, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566728e23f166e24865c316f21619c7c15033cc6e8ebbcc8c5c5ba3e7e2dca7b" + "011bf4cec4c7e7d6cc41bc10c3be36e8320c50aaf6c35f04ac8ca52", + true}, + + {72, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "2d6461c0787f69790cbef60438e7295444f63d8730fa5df9520deb9c1ee8fc9dedd1a7d8d" + "5ce9868df4dab3429c58392969406d7c063976818286db7c44fc773", + true}, + + {73, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "40cfe3404a998df1dc0e991db79a3c690de9e6383eafcc339171443373a3a45c181d23584" + "fee40b313b38182933be43ef3c41c917cdf3af55093ca0fb53735ad", + true}, + + {74, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "0000000000000000000000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000", + true}, + + {75, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "0000000000000000000000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000", + true}, + + {76, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffffffffffffffffffffffffffffffffffffff", + true}, + + {77, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + "fffffffffffffffffffffffffffffffffffffffffffffffffffffff", + true}, + + {78, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "521b1ebf0700160673c1897b4798562b3b8942f84f8522862d7294e3619783e292aed8a7a" + "ab1e717a032d44b56bafcede9eb79a8bf1ce817675712c8bb30b80c", + true}, + + {79, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "3fb09c3f35e6f28ea371e662c8e543167296994741d0b34cee0e3b4c0cdcdb2367625c273" + "0913fcc6cccfefdec449b418cbb63ee03a0458a2fecb570ca484ad2", + true}, + + {80, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", + "d39a9f3e86819787f24008fac619d7aaba08c379ce04a307acf31562e0160263132f59262" + "b30669621b355cad73b7d6c686af8293e9d6996e6d693493ab1398d", + true}, + + {81, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "be311dbeb467730f22f067e34964c297f31718c6c05132cd6f8fbacd8d5d5aa2e6e3dda6b" + "110be4ded4d7f7c6dc51ac00d3ae26f8221c40bae6d34f14bc9cb53", + true}, + + {82, "empty message", + "eef6bcf16ef7ae17326a33f22d1406ec1bd3f866505f4b2e4fe8b45bd62ccbd85032a9899" + "facf2db0c93a2345cb8892afb74db549781211dd8881a8c8e25c171", + "", "75f6975e3500be4fbfee1bc95644745ce9f8d47b6f3818a48ff34e8c2b186ba6", + false}, + + {83, "short message", + "838696e6190c874c3717b8be0cf063ca6d60760987d1a33703e7e35eb173e5ae954e741a3" + "7935139d612149e76f6ab2a370604f5b4a68bee87e309240a9ba3d6", + "d8", "5bcf44539d8783bb708e7f5dafc4d683bcaa0d240c902675bdde059f944dacde", + false}, + + {84, "short message", + "fa999ed1cfbc5c43afb16f22d024e3ce645e00b06712c93b946167c9c2c037d192f0f3003" + "f87c43a71166fe1a3c5824c348673a2f0f3c475706985940f6b02a2", + "cad2", "9a93f4728aa5941da160ec707f14b7e9ee1e768c7f627269543430d2fc681e90", + false}, + + {85, "short message", + "b53fced8b7b4aa59d3b56d91e1386763c39e351c2f5ad6a4885e442ad894d5181c5bfe5c0" + "5280a84ad19d758e359bf8171fe652988fcf9d1458ea17364ca8fa9", + "d3393c", + "02c4968e86d1c62837a41650d3199ca6b3c59b8227f55e0ba40e5e3904ab512a", false}, + + {86, "short message", + "3f0cbeebe391c6491e77c57a05e85a16f0b5294d19f9a7f3390baf7a2051fbf980e041ee4" + "5c9104a9126a6a7ec182eaec27a99c1a7a3f5a1e8cd8ffde60641dc", + "bebb0392", + "8d68dd7d67763e8eafee0029d01e96e6a09c4ba09e57a2e5bde3bacca213c695", false}, + + {87, "short message", + "4a7f110b92241badc907ba3c61477bab0953a851bf327425e858fc724bd33ede2a4a5018f" + "e71aab434bda8eb2464a41577c8d570530c460f7c8bc0172f1ee0f1", + "40a333f4cf", + "5feda3366ce9f5ac3402c977a4062d33c09e2c9a3d0c2dcda0c8d67b4bbd1a37", false}, + + {88, "short message", + "c6c95bf9facab295cebfa4b907855874f57a5c1548576ad8bae694a364f5e58dbb8c8dd49" + "330b2fdd1b71657d211db2a6569a9f3a356c0c5b3c4efbd5b6777cb", + "4cf926af475a", + "0a748aa33762d374aa04b617b58d129ad1aaf252a40463fd62ce924e21e6d52c", false}, + + {89, "short message", + "0d3387fe59e8e7c43c928dac7913826dec4d63ac3c8ee346ba7caed9505b9e63ff8942cde" + "90997e8dbeaf6e17ee187c0a84a1853952d866c15f9a32fcee6a82a", + "2ba3bc3cd64bc6", + "cc7e97630884bd8ad56f6d96fd34690eab6c8ad5556b519db3bc3c6083c82d3c", false}, + + {90, "short message", + "3cb9ce565388a6f0454a80add86c7e107ea537d7f468a0648930fc37172cf7b4ca9058033" + "071c354a20a608e2d46e98afe46435a344362989cbaafac18859bba", + "33ce498e1f94f412", + "76335ee23ee1dc258812be373bb5f95918babed0b69e565e00ee3af776c5a5fc", false}, + + {91, "short message", + "c25f45ceb2a5597f361445fa41a9019f41a6e6d7f144203f29c0b9fcea362d60894c3cadc" + "1ce25d53da362e464c11fc6e169e3db2ea1cf40fe08fffb429b1a5b", + "81978af4795c50f89c", + "bf73218544d8458e6ad00727b236f833d281723d7dcae4d1019b70b9d6e8bc4d", false}, + + {92, "short message", + "b458764ee273f391cb718f64a1bca64c96a870d9426d6254ee37e5c93898d6a5ef68e9d3b" + "0e057a3c396faa834a29926a9680cfa903d2a605b85407bb24c8cee", + "d804dc2a1e146f62b621", + "5b25843416467b9e0a24cfab67d8fc27e0623ff9e01b2204b5afdf3e9cc05d1b", false}, + + {93, "short message", + "7cbc5778f70595fc211cee3a93e17ff7f25a1d9f3766f8eb70eb1e08c9420a62bd89e8b7d" + "834cc854d059afd413e4d9c062a532e015928528c7f5812dfebecac", + "4017e0ffcaac4c485ce7ec", + "66b4191b37a6f78809c434736ed6ac2273c04a11219636e92671ea05bf6dc299", false}, + + {94, "short message", + "937b9711d670daa2359920e47dd6d0fb75275105b3ef07bb4a31d3c4b99baa8ff79ee4b4a" + "1b4a5b250d0fd7b4721e04a7b06035b1d0c9d739597707839018bce", + "6991810e9788af7aabff8eb4", + "23522de80ff6a3a6d8fc1bf9b632e1600df53c59f38589a6f2ae9b95d940a340", false}, + + {95, "short message", + "ad37630a280b1a75ebed1984217150a400a55dca2362a8eaf3c907858d0b45db3e208c316" + "d033854eb4284f71117d33876e0e203ca922d26f9b76d94cab0d4f3", + "7c6f2fd83e5691827be38e49a0", + "b609c0b5d359061ac066bd3bccabc98493fd33bac8fe0e3f2e2b4758cb6578b0", false}, + + {96, "short message", + "526aa2645ab71229e2c60f68bd5bbcf0cea0978a0a9c60cf695e81fecaedecfa0362c2174" + "7eaa995975208ca35cfa6bc2b95d1c2afcee11275f43add6f026d6c", + "681bca550fe301f2dcc1e38b53c1", + "1f1f50dacb3dc35b90429c0f9b31edd239a6af4c09d51095cb39ff11c7c26598", false}, + + {97, "short message", + "6026a9047a07ccf197fde09c8b9f15f34bc52472b7d1ea4673b4914a0e1c3aa4cfe8d6ef1" + "2d4d4019f5ff3ac0adcad7358490874155daf41da2f74aca1cd894a", + "ce1d869c53041c5f6acdda7a05af15", + "bd2d678ceadd71680f9987c88d24c49335cb985af0bcf8e23fe810e83a920f13", false}, + + {98, "", + "a03d2c543c302949c51b662f43114c1305a8f6961ae48342803d3690dc18255fab9249655" + "36a79bc38564c7c97cb8cc0209786e9f76375bf181529cf7f93d954", + "697617ae31f19b8a6ad4b8489bfc3db1", + "577d62d7279b39a0d71e2f80833425ed43e4a16233eeb5d251f766db0bf7a58c", false}, + + {99, "", + "25843665d39c3ae9a7b3e4427e2bf7785281fd2594bdde67860ca9b8fa11646469d1645ae" + "8ca3825b8c551f9eac3da0660d8c2e2e3bd23d34395c6775dcdfd2e", + "74082cc5d14db1967442d66aac6092bd23", + "b373ac5fb1982b9d47d28844e969d51680dc81d21d556c2671c29c11dfa6e340", false}, + + {100, "", + "4831ab4962a2d2436091cbbf388d2ba042b472a262ed8373c85d047c702adf73a87eb097e" + "72d91d089b7d1504a7f7d8abb3bc2c44c1340d6c16c84ea9269e64b", + "2803c2f4e5b4bfccd2b407469a6cb5ef21fd14a682636397", + "641f29925c06aa01086c8bce89d99e1456dc2ad4b1d3364442187ce4392838ee", false}, + + {101, "", + "449bb57d046551e1819b3c994122c3605954317d0d76212284a3328c226732cbf4ecb442a" + "582c8423888aaed946e5eec2be66e127f1e2e29b66e68b9b4bec4d1", + "79004e644389a11b709bc0a23cb8592f9fc7960bfa46132cc1ffb9747df37dec", + "c054667d992cc1e84fa5b13f6402125b4bb6fd2900dbcdaf8b8644c82edadc2b", false}, + + {102, "long message", + "ff97b77020861a0ce00eff8de9e701aea8c6de0fffd9b4c1342a416d357fce35a7016c64c" + "cd38e2bdf674802281c2234153dd83aacb948966dc87ea4718fff75", + "d7e2d2437b7067a30f04529041960e041e281737d1e0daa8cd50cc0b264716e117aa2fe9a" + "7e39c2f178c607faa50c2", + "062e9c4609a3b1d5df277a33ac1c7501df81ec1ddf460b0850a2aa332d07bfcb", false}, + + {103, "long message", + "f4daf370c4f437d8a85391ec455e34540be8d32df8dfac05b166ae72ec1cc608f8c177b30" + "dde8bf07c9d434732c26a6e530b182c7ab21093eb79d0bb5be85e53", + "f60418f6c54a25fabf518273088619c0741c1c7187de93a0cf6a03f4565f1765de6567545" + "41b860137f3f8455de7c403", + "4d4a568dd26d27267d0772540ebb0b94d44fbbb15a1bb749a570ed6313ee695b", false}, + + {104, "long message", + "3be95e879421ed7856269eef39a2070fae406cec5e30b50d92792df5a37de98595684eaa9" + "205587ca607eeac8f96592f458f63434b7dc82596d3e4a1a16c3d59", + "c64f7c970a441c6c503838a491308c783099eac52bd35a217978a64dcec84d34186ab3b74" + "f20285d6fea2165eab4da3d2c", + "4ea9e2f08870c30cb68d419816deb681cfd6ba62906e6b4a8088efcd9fa4edf9", false}, + + {105, "long message", + "b5eb53586b948587db3dd46c43ad65498a5079157562e4074c9c20d097d0c97f19db4661f" + "b2dd11b87a5ccba2c345642618f561d00bf87dffc66762e45e0156f", + "9e8ebf96429955d60b925a4111745ec7028de24e694a6d2eee1dbd5e820ab9f00beafde09" + "f95095933a02f251297282b0cf67c518397655841f230e1d9ae5ba93150d4375dc7c0738b" + "99850b07d5a442994e68dc813d55edefa6cd063ccb202711d97ba674efa02ddbdc692341e" + "77cfa", + "6a5b6272df7fb6315293ce22483511d700a83c34db6b0ee4398b4a770241fcf2", false}, + + {106, "long message", + "fbc678235d596980268730a7aa8a3c25095f1dbcf7f830990716a510c44e62b1ae8ce095c" + "65e1852bd8a09f25ab93415ae736f22b2c68ecdf3c0f71e15a057dc", + "ef395738f2b3bd7a0649eea75e734e5c79baf21358c7ae96c63a58e260266c7bfa869664c" + "5d10e87c26d0f5edb3b5f73900c1d9a96a5a2c2912506c19dff04e900b8d5d63e1bb606fe" + "3d5a229b642b1ac59e08a4687a7aade3de16d183131ddd02da988ff826e88b74ba0c5c41c" + "fcd8570cca59fb3304d588f7f7e63dad47a", + "84df3338f502e65866cf2077f6776341a89dd2234961b474d5b7438d1836fd6b", false}, + + {107, "long message", + "d8437b093e170afc30fb68d873db6dd67ee0372b6c5feb124d548abbd93304a082235a170" + "a9d326268d0cfc34264d8ebcfcbcc0dc0ea7767b650dbcfc7848f91", + "0fb91bb043cf3d49341482eacbab92da92117bb6ec03b518a93c9d59e54702c6a21ade4f2" + "55870cb52da4a24b36856b0cbf8b122d2fd5b0219aeacb6e292c95863921789092d5d65d5" + "a9389231670e38be31d8b76630650c77edc23773d5ec9189915560ef6f45a4275f85957d8" + "762916d8147ef43ea6f438d066227354df26c", + "4b9b51f2c7d725269a5bd735d4251cbfda71ea5cf5c046379b439ddff766d21a", false}, + + {108, "long message", + "d29225e3042b43d4eb7a9399f224424b5b4dd99031c8abf609d3a6e3175897134cc7ba8a6" + "be25d436d41a757a2daa4e1b03f7c3053ee8cada19531d48dab93e0", + "1fdad8cd37e115ef8131d4619b5d61a9827a11b9c25c5b8220b002d5b7f6e2bc30a7e2f3d" + "103dbcaf849a255c20ec5d1b40a623e398d76c5b7f07fe305181cd5bee29de3360fed55f6" + "9063e6a8fd2ef31291e4d7c3908449466b4ff1166959ff1f2e86eb48a7ed11bdcec2fc2df" + "b6684b36b8d0b68e0f1b23ef11bf5907d4a2b162cec26f31b6d5d9892a27b3fad7a554985" + "8dad530bae193d9b60d42d7ad2a66476a3ba4bf7a27ff9d0f885a540bf181caad71a235eb" + "348a23d053ba2db7aed8d7d01d96dc9f780e2e426c72bb63fcb3fff44c14bb7b0f8af3552" + "d67ee6761092c757627d19c080499c247d13b431699397159b1b71c6274584959d5c30f0", + "f9ad00420ce909cd050fdb84dcc70f00df97928968d0aca51db2784f0394898d", false}, + + {109, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d39b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {110, "Flipped bit 0 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "be301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {111, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d09b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {112, "Flipped bit 1 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bd301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {113, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "529b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {114, "Flipped bit 7 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "3f301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {115, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29a9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {116, "Flipped bit 8 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf311cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {117, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9ebf87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {118, "Flipped bit 31 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301c3fb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {119, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f86809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {120, "Flipped bit 32 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb466720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {121, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f85809686f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {122, "Flipped bit 33 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb766720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {123, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {124, "Flipped bit 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {125, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {126, "Flipped bit 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {127, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686734109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {128, "Flipped bit 71 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720ea3f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {129, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f36109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {130, "Flipped bit 77 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23d166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {131, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f34108fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {132, "Flipped bit 80 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f167e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {133, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f34109fbc618d6abbb09c278cf05a206adf21463e1170362", + true}, + + {134, "Flipped bit 96 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24965c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {135, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f34109fbc518d6abbb09c278cf05a206adf21463e1170362", + true}, + + {136, "Flipped bit 97 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24a65c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {137, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f34109fb4718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {138, "Flipped bit 103 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e2c865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {139, "Flipped bit 248 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170363", + true}, + + {140, "Flipped bit 248 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba2", true}, + + {141, "Flipped bit 249 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170360", + true}, + + {142, "Flipped bit 249 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba1", true}, + + {143, "Flipped bit 254 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e1170322", + true}, + + {144, "Flipped bit 254 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5be3", true}, + + {145, "Flipped bit 255 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809686f34109fbc718d6abbb09c278cf05a206adf21463e11703e2", + true}, + + {146, "Flipped bit 255 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566720e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5b23", true}, + + {147, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d39b9e3f87809686f24109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {148, "Flipped bits 0 and 64 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "be301cbfb566720e22f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {149, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9ebf87809606f34109fbc718d6abbb09c278cf05a206adf21463e1170362", + true}, + + {150, "Flipped bits 31 and 63 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301c3fb566728e23f166e24865c396f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {151, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d29b9e3f87809606f34109fbc718d62bbb09c278cf05a206adf21463e1170362", + true}, + + {152, "Flipped bits 63 and 127 in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "bf301cbfb566728e23f166e24865c316f21619c7c15033cc6e8ebbcc8c5c5ba3", true}, + + {153, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "2d6461c0787f69790cbef60438e7295444f63d8730fa5df9520deb9c1ee8fc9d", + true}, + + {154, "all bits of tag flipped", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "40cfe3404a998df1dc0e991db79a3c690de9e6383eafcc339171443373a3a45c", true}, + + {155, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "0000000000000000000000000000000000000000000000000000000000000000", + true}, + + {156, "Tag changed to all zero", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "0000000000000000000000000000000000000000000000000000000000000000", true}, + + {157, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", + true}, + + {158, "tag changed to all 1", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", true}, + + {159, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "521b1ebf0700160673c1897b4798562b3b8942f84f8522862d7294e3619783e2", + true}, + + {160, "msbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "3fb09c3f35e6f28ea371e662c8e543167296994741d0b34cee0e3b4c0cdcdb23", true}, + + {161, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "", "d39a9f3e86819787f24008fac619d7aaba08c379ce04a307acf31562e0160263", + true}, + + {162, "lsbs changed in tag", + "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232" + "425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f", + "000102030405060708090a0b0c0d0e0f", + "be311dbeb467730f22f067e34964c297f31718c6c05132cd6f8fbacd8d5d5aa2", true}, + + {163, "short key", + "14d93759fc28f3319ab74b8167c974e800f032344dc2747ec0f4945061a47827", "", + "68934dbe948d9a77a5e0a92ed98254fa3b6c93c8bf5eeaa912b7dfdf762b37192c5d8523b" + "cab9ad71b09bf96d8454188d001c7f2077eb641199f5731b9f94669", + false}, + + {164, "short key", + "9fa371f36fb273d514fd628cb938067a4bae32a19a1e045a7d6d7f6de3751cbf", + "311bbf722d322cd7a0710f480fc66518", + "16345f6a6ca6e78d4ccac30b48d76691d6442420efa113c15ef127b538b5b024018b7d2db" + "4bc3ed3424251ab6b8b6c3cb108b0beda842dc3e68e63400287e5cd", + false}, + + {165, "short key", + "6313f1526bc220f20dde1e64ced8597279586d1e15aad05ad591d841b369284f", + "f744fa3933e16d8bf524afaeb34c715653a9cfb01fa45fe1fb68e701fe1487ca", + "b88d1ba03e2799200a447550d18e310697a57974f513df77eb07bbe315ba5fef397eeb81a" + "d9071680bcc6c70f6b252ade35b4a4040279ec01b86e40b98770e39", + false}, + + {166, "short key", + "1e225cafb90339bba1b24076d4206c3e79c355805d851682bc818baa4f5a7779", "", + "23d482a05c907eeb346ba98f83db0f63c2adfbd5b2940f33c7964c7f1799f180", false}, + + {167, "short key", + "6fa353868c82e5deeedac7f09471a61bf749ab5498239e947e012eee3c82d7c4", + "aeed3e4d4cb9bbb60d482e98c126c0f5", + "1cf9d2c9c1b55a45190b5beb590cd4cc95e3853df8aaf9f4fef9bbbbd72435ff", false}, + + {168, "short key", + "186e248ad824e1eb93329a7fdcd565b6cb4eaf3f85b90b910777128d8c538d27", + "92ef9ff52f46eccc7e38b9ee19fd2de3b37726c8e6ce9e1b96db5dda4c317902", + "d127b7385badf0c76f2b3d8aa9c722333592e01f462fedd35ec664a6f6d52d74", false}, + + {169, "long key", + "dd1e0bdbb6b60862176484f3669da531455f1cd714f999c29f08b851055fee8d72186d376" + "c236f4e16cba7a25cba879fb2753deca4459aaebc6f6de625d99af330", + "", + "7e4f7d844b3ba0e025b66de7cc6227bc50d4e174930251bfff3df36c3900b5b76b00095a8" + "96d0f96842e37b6134df40760307699534d6670f138974ee1c58d94", + false}, + + {170, "long key", + "432b311ebcfd46ecfcd3cc706ebd05c787dfbe1855fdcfce8d50c9a00f72b65a8d42acec3" + "35b4e07d544c92fd7b1d38543ac6e0fc04c26d88de8dd974af69e24d7", + "36b1fbe8f1335e7c0399c24730906420", + "2cfb688f30b10534da9377a4b3fbee1dec161cb288ac8b758793838b45ab953979dadf278" + "17f477c9ebf23cfdcbacb60b81038e08bc4fc3180bd2a1ee805976a", + false}, + + {171, "long key", + "17f720f09df5972af9b9c63e10043284608900d50b7955db3b4e2679cb4120be2c9b9e2aa" + "1a5743eb519792822c326b4d890b5554d1cb0eb71081b7569a2f04df7", + "57167c2524a55289687b83a40d3a69bc90adc53ad247020b88897f9b95d1516d", + "4f70267b98fceb4f662901bd18fb4c81ac164281dd0ece43028a3c2a65ca213aedf1bd207" + "f0939bd879bbe20fd09cdeb20246e6539766add08b3adc5143d2bd9", + false}, + + {172, "long key", + "8a0c46eb8a2959e39865330079763341e7439dab149694ee57e0d61ec73d947e1d5301cd9" + "74e18a5e0d1cf0d2c37e8aadd9fd589d57ef32e47024a99bc3f70c077", + "", "e1657f44bf84895e6db0810a2cca61a6e105e12ec006f0b5961020301b57744e", + false}, + + {173, "long key", + "2877ebb81f80334fd00516337446c5cf5ad4a3a2e197269e5b0ad1889dfe2b4b0aaa676fa" + "c55b36ce3affc7f1092ab89c53273a837bd5bc94d1a9d9e5b02e9856f", + "ba448db88f154f775028fdecf9e6752d", + "33d5a2d1998a586849eebf8134728485fcfc71248f4a98e622f83b967844c40e", false}, + + {174, "long key", + "21178e26bc28ffc27c06f762ba190a627075856d7ca6feab79ac63149b17126e34fd9e559" + "0e0e90aac801df09505d8af2dd0a2703b352c573ac9d2cb063927f2af", + "7d5f1d6b993452b1b53a4375760d10a20d46a0ab9ec3943fc4b07a2ce735e731", + "88d579c2801905b818070ccebd2c7192f97bb3e7acdcaf613cecc74d0e411232", + false}}; + +#endif // hmac_sha512_vectors_h__ diff --git a/gtests/common/testvectors_base/test-structs.h b/gtests/common/testvectors_base/test-structs.h index 29778c65c5..1f1a7ed3ac 100644 --- a/gtests/common/testvectors_base/test-structs.h +++ b/gtests/common/testvectors_base/test-structs.h @@ -32,6 +32,7 @@ typedef struct AesCmacTestVectorStr { std::string tag; bool invalid; } AesCmacTestVector; +typedef AesCmacTestVector HmacTestVector; typedef struct AesGcmKatValueStr { uint32_t id; diff --git a/gtests/pk11_gtest/manifest.mn b/gtests/pk11_gtest/manifest.mn index 3056891c01..f560d9eb1c 100644 --- a/gtests/pk11_gtest/manifest.mn +++ b/gtests/pk11_gtest/manifest.mn @@ -23,6 +23,7 @@ CPPSRCS = \ pk11_export_unittest.cc \ pk11_find_certs_unittest.cc \ pk11_hkdf_unittest.cc \ + pk11_hmac_unittest.cc \ pk11_hpke_unittest.cc \ pk11_import_unittest.cc \ pk11_kbkdf.cc \ diff --git a/gtests/pk11_gtest/pk11_gtest.gyp b/gtests/pk11_gtest/pk11_gtest.gyp index fbcf0878b1..1982fb484a 100644 --- a/gtests/pk11_gtest/pk11_gtest.gyp +++ b/gtests/pk11_gtest/pk11_gtest.gyp @@ -28,6 +28,7 @@ 'pk11_encrypt_derive_unittest.cc', 'pk11_find_certs_unittest.cc', 'pk11_hkdf_unittest.cc', + 'pk11_hmac_unittest.cc', 'pk11_hpke_unittest.cc', 'pk11_import_unittest.cc', 'pk11_kbkdf.cc', diff --git a/gtests/pk11_gtest/pk11_hmac_unittest.cc b/gtests/pk11_gtest/pk11_hmac_unittest.cc new file mode 100644 index 0000000000..00891d51c9 --- /dev/null +++ b/gtests/pk11_gtest/pk11_hmac_unittest.cc @@ -0,0 +1,74 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=2 et sw=2 tw=80: */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include +#include + +#include "nss.h" +#include "pk11pub.h" +#include "secerr.h" +#include "sechash.h" +#include "blapi.h" +#include "gtest/gtest.h" +#include "nss_scoped_ptrs.h" +#include "testvectors/hmac-sha256-vectors.h" +#include "testvectors/hmac-sha384-vectors.h" +#include "testvectors/hmac-sha512-vectors.h" +#include "util.h" + +namespace nss_test { + +class Pkcs11HmacTest : public ::testing::TestWithParam< + std::tuple> { + protected: + void RunTestVector(const HmacTestVector &vec, CK_MECHANISM_TYPE mech) { + std::string err = "Test #" + std::to_string(vec.id) + " failed"; + std::vector vec_key = hex_string_to_bytes(vec.key); + std::vector vec_mac = hex_string_to_bytes(vec.tag); + std::vector vec_msg = hex_string_to_bytes(vec.msg); + std::vector output(vec_mac.size()); + + // Don't provide a null pointer, even if the input is empty. + uint8_t tmp; + SECItem key = {siBuffer, vec_key.data() ? vec_key.data() : &tmp, + static_cast(vec_key.size())}; + SECItem mac = {siBuffer, vec_mac.data() ? vec_mac.data() : &tmp, + static_cast(vec_mac.size())}; + SECItem msg = {siBuffer, vec_msg.data() ? vec_msg.data() : &tmp, + static_cast(vec_msg.size())}; + SECItem out = {siBuffer, output.data() ? output.data() : &tmp, + static_cast(output.size())}; + + ScopedPK11SlotInfo slot(PK11_GetInternalSlot()); + ASSERT_NE(nullptr, slot) << err; + + ScopedPK11SymKey p11_key(PK11_ImportSymKey( + slot.get(), mech, PK11_OriginUnwrap, CKA_SIGN, &key, nullptr)); + ASSERT_NE(nullptr, p11_key.get()) << err; + + SECStatus rv = PK11_SignWithSymKey(p11_key.get(), mech, NULL, &out, &msg); + EXPECT_EQ(SECSuccess, rv) << err; + EXPECT_EQ(!vec.invalid, 0 == SECITEM_CompareItem(&out, &mac)) << err; + } +}; + +TEST_P(Pkcs11HmacTest, WycheproofVectors) { + RunTestVector(std::get<0>(GetParam()), std::get<1>(GetParam())); +} + +INSTANTIATE_TEST_CASE_P( + HmacSha256, Pkcs11HmacTest, + ::testing::Combine(::testing::ValuesIn(kHmacSha256WycheproofVectors), + ::testing::Values(CKM_SHA256_HMAC))); +INSTANTIATE_TEST_CASE_P( + HmacSha384, Pkcs11HmacTest, + ::testing::Combine(::testing::ValuesIn(kHmacSha384WycheproofVectors), + ::testing::Values(CKM_SHA384_HMAC))); +INSTANTIATE_TEST_CASE_P( + HmacSha512, Pkcs11HmacTest, + ::testing::Combine(::testing::ValuesIn(kHmacSha512WycheproofVectors), + ::testing::Values(CKM_SHA512_HMAC))); +} // namespace nss_test