diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 8cd461414..eed63fdd1 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -2,7 +2,11 @@ Thank you for your pull request. -If this fixes an existing github issue, make sure to have a line saying 'Fixes #XXXX' (without quotes) in the commit message. +If this fixes an existing github issue, make sure to have a line saying 'Fixes: ' (without quotes) in the commit message. +Please use the long format to refer to an issue 'libtom/libtomcrypt#'. + +If this fixes something (even if there exists no github issue), make sure to have a line saying 'Fixes: ("Description")' +This can be created via e.g. `git --no-pager log -1 --pretty=fixes --> @@ -11,3 +15,4 @@ If this fixes an existing github issue, make sure to have a line saying 'Fixes # * [ ] documentation is added or updated * [ ] tests are added or updated +* [ ] if this fixes something: added a `Fixes:` tag to the commit message diff --git a/appveyor.yml b/appveyor.yml index 29cbf812b..655f2be2e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -31,10 +31,12 @@ build_script: cp test.exe test-stock.exe cp timing.exe timing-stock.exe nmake -f makefile.msvc clean - nmake -f makefile.msvc all CFLAGS="/Ox /DUSE_LTM /DLTM_DESC /DLTC_NO_AES_NI /I../libtommath" + nmake -f makefile.msvc all CFLAGS="/Ox /DUSE_LTM /DLTM_DESC /DLTC_NO_ACCEL /I../libtommath" test_script: - cmd: >- test-stock.exe test.exe - timing-stock.exe cipher_ecb - timing.exe cipher_ecb + timing-stock.exe cipher_ecb aes + timing.exe cipher_ecb aes + timing-stock.exe hash sha + timing.exe hash sha diff --git a/demos/openssl-enc.c b/demos/openssl-enc.c index 8fc1b14fb..b2f228030 100644 --- a/demos/openssl-enc.c +++ b/demos/openssl-enc.c @@ -152,12 +152,12 @@ static size_t s_pkcs7_pad(union paddable *buf, size_t nb, int block_length, if(is_padding) { length = sizeof(buf->pad); - if (padding_pad(buf->pad, nb, &length, block_length) != CRYPT_OK) + if (padding_pad(buf->pad, nb, &length, LTC_PAD_PKCS7 | block_length) != CRYPT_OK) return 0; return length; } else { length = nb; - if (padding_depad(buf->pad, &length, 0) != CRYPT_OK) + if (padding_depad(buf->pad, &length, LTC_PAD_PKCS7) != CRYPT_OK) return 0; return length; } diff --git a/demos/timing.c b/demos/timing.c index 1d9bd5ca8..7c5aafd09 100644 --- a/demos/timing.c +++ b/demos/timing.c @@ -1054,130 +1054,206 @@ static void time_ecc(void) static void time_ecc(void) { fprintf(stderr, "NO ECC\n"); } #endif -static void time_macs_(unsigned long MAC_SIZE) +typedef struct mac_ctx { + unsigned char *buf, key[32], tag[16]; + unsigned long size; + int cipher_idx, hash_idx; +} mac_ctx; + +#ifdef LTC_OMAC +static void time_omac(mac_ctx *ctx) { -#if defined(LTC_OMAC) || defined(LTC_XCBC) || defined(LTC_F9_MODE) || defined(LTC_PMAC) || defined(LTC_PELICAN) || defined(LTC_HMAC) - unsigned char *buf, key[16], tag[16]; ulong64 t1, t2; unsigned long x, z; - int err, cipher_idx, hash_idx; - - fprintf(stderr, "\nMAC Timings (cycles/byte on %luKB blocks):\n", MAC_SIZE); - - buf = XMALLOC(MAC_SIZE*1024); - if (buf == NULL) { - fprintf(stderr, "\n\nout of heap yo\n\n"); - exit(EXIT_FAILURE); - } - - cipher_idx = find_cipher("aes"); - hash_idx = find_hash("sha1"); + int err; - if (cipher_idx == -1 || hash_idx == -1) { - fprintf(stderr, "Warning the MAC tests requires AES and SHA1 to operate... so sorry\n"); - exit(EXIT_FAILURE); - } - - yarrow_read(buf, MAC_SIZE*1024, &yarrow_prng); - yarrow_read(key, 16, &yarrow_prng); - -#ifdef LTC_OMAC t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = omac_memory(cipher_idx, key, 16, buf, MAC_SIZE*1024, tag, &z)) != CRYPT_OK) { - fprintf(stderr, "\n\nomac-%s error... %s\n", cipher_descriptor[cipher_idx].name, error_to_string(err)); + if ((err = omac_memory(ctx->cipher_idx, ctx->key, 16, ctx->buf, ctx->size, ctx->tag, &z)) != CRYPT_OK) { + fprintf(stderr, "\n\nomac-%s error... %s\n", cipher_descriptor[ctx->cipher_idx].name, error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "OMAC-%s\t\t%9"PRI64"u\n", cipher_descriptor[cipher_idx].name, t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "OMAC-%s\t\t%9"PRI64"u\n", cipher_descriptor[ctx->cipher_idx].name, t2/(ulong64)(ctx->size)); +} #endif #ifdef LTC_XCBC +static void time_xcbc(mac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x, z; + int err; + t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = xcbc_memory(cipher_idx, key, 16, buf, MAC_SIZE*1024, tag, &z)) != CRYPT_OK) { - fprintf(stderr, "\n\nxcbc-%s error... %s\n", cipher_descriptor[cipher_idx].name, error_to_string(err)); + if ((err = xcbc_memory(ctx->cipher_idx, ctx->key, 16, ctx->buf, ctx->size, ctx->tag, &z)) != CRYPT_OK) { + fprintf(stderr, "\n\nxcbc-%s error... %s\n", cipher_descriptor[ctx->cipher_idx].name, error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "XCBC-%s\t\t%9"PRI64"u\n", cipher_descriptor[cipher_idx].name, t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "XCBC-%s\t\t%9"PRI64"u\n", cipher_descriptor[ctx->cipher_idx].name, t2/(ulong64)(ctx->size)); +} #endif #ifdef LTC_F9_MODE +static void time_f9(mac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x, z; + int err; + t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = f9_memory(cipher_idx, key, 16, buf, MAC_SIZE*1024, tag, &z)) != CRYPT_OK) { - fprintf(stderr, "\n\nF9-%s error... %s\n", cipher_descriptor[cipher_idx].name, error_to_string(err)); + if ((err = f9_memory(ctx->cipher_idx, ctx->key, 16, ctx->buf, ctx->size, ctx->tag, &z)) != CRYPT_OK) { + fprintf(stderr, "\n\nF9-%s error... %s\n", cipher_descriptor[ctx->cipher_idx].name, error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "F9-%s\t\t\t%9"PRI64"u\n", cipher_descriptor[cipher_idx].name, t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "F9-%s\t\t\t%9"PRI64"u\n", cipher_descriptor[ctx->cipher_idx].name, t2/(ulong64)(ctx->size)); +} #endif #ifdef LTC_PMAC +static void time_pmac(mac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x, z; + int err; + t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = pmac_memory(cipher_idx, key, 16, buf, MAC_SIZE*1024, tag, &z)) != CRYPT_OK) { - fprintf(stderr, "\n\npmac-%s error... %s\n", cipher_descriptor[cipher_idx].name, error_to_string(err)); + if ((err = pmac_memory(ctx->cipher_idx, ctx->key, 16, ctx->buf, ctx->size, ctx->tag, &z)) != CRYPT_OK) { + fprintf(stderr, "\n\npmac-%s error... %s\n", cipher_descriptor[ctx->cipher_idx].name, error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "PMAC-%s\t\t%9"PRI64"u\n", cipher_descriptor[cipher_idx].name, t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "PMAC-%s\t\t%9"PRI64"u\n", cipher_descriptor[ctx->cipher_idx].name, t2/(ulong64)(ctx->size)); +} #endif #ifdef LTC_PELICAN +static void time_pelican(mac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x; + int err; + t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); - z = 16; - if ((err = pelican_memory(key, 16, buf, MAC_SIZE*1024, tag)) != CRYPT_OK) { + if ((err = pelican_memory(ctx->key, 16, ctx->buf, ctx->size, ctx->tag)) != CRYPT_OK) { fprintf(stderr, "\n\npelican error... %s\n", error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "PELICAN \t\t%9"PRI64"u\n", t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "PELICAN \t\t%9"PRI64"u\n", t2/(ulong64)(ctx->size)); +} #endif #ifdef LTC_HMAC +static void time_hmac(mac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x, z; + int err; + t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = hmac_memory(hash_idx, key, 16, buf, MAC_SIZE*1024, tag, &z)) != CRYPT_OK) { - fprintf(stderr, "\n\nhmac-%s error... %s\n", hash_descriptor[hash_idx].name, error_to_string(err)); + if ((err = hmac_memory(ctx->hash_idx, ctx->key, 16, ctx->buf, ctx->size, ctx->tag, &z)) != CRYPT_OK) { + fprintf(stderr, "\n\nhmac-%s error... %s\n", hash_descriptor[ctx->hash_idx].name, error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "HMAC-%s\t\t%9"PRI64"u\n", hash_descriptor[hash_idx].name, t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "HMAC-%s\t\t%9"PRI64"u\n", hash_descriptor[ctx->hash_idx].name, t2/(ulong64)(ctx->size)); +} +#endif + +static void time_macs_(unsigned long MAC_SIZE) +{ +#if defined(LTC_OMAC) || defined(LTC_XCBC) || defined(LTC_F9_MODE) || defined(LTC_PMAC) || defined(LTC_PELICAN) || defined(LTC_HMAC) + mac_ctx ctx; + struct { + const char *name; + void (*time_fun)(mac_ctx*); + } time_funs[] = { +#define TIME_FUN(n) { #n, time_ ## n } +#ifdef LTC_OMAC + TIME_FUN(omac), +#endif +#ifdef LTC_XCBC + TIME_FUN(xcbc), +#endif +#ifdef LTC_F9_MODE + TIME_FUN(f9), #endif +#ifdef LTC_PMAC + TIME_FUN(pmac), +#endif +#ifdef LTC_PELICAN + TIME_FUN(pelican), +#endif +#ifdef LTC_HMAC + TIME_FUN(hmac), +#endif +#undef TIME_FUN + }; + unsigned long n; + + fprintf(stderr, "\nMAC Timings (cycles/byte on %luKB blocks):\n", MAC_SIZE); + + ctx.size = MAC_SIZE*1024; + ctx.buf = XMALLOC(ctx.size); + if (ctx.buf == NULL) { + fprintf(stderr, "\n\nout of heap yo\n\n"); + exit(EXIT_FAILURE); + } + + ctx.cipher_idx = find_cipher("aes"); + ctx.hash_idx = find_hash("sha1"); + + if (ctx.cipher_idx == -1 || ctx.hash_idx == -1) { + fprintf(stderr, "Warning the MAC tests requires AES and SHA1 to operate... so sorry\n"); + exit(EXIT_FAILURE); + } + + yarrow_read(ctx.buf, ctx.size, &yarrow_prng); + yarrow_read(ctx.key, 16, &yarrow_prng); + + for (n = 0; n < LTC_ARRAY_SIZE(time_funs); ++n) { + if (!should_skip(time_funs[n].name)) + time_funs[n].time_fun(&ctx); + } - XFREE(buf); + XFREE(ctx.buf); #else LTC_UNUSED_PARAM(MAC_SIZE); fprintf(stderr, "NO MACs\n"); @@ -1191,137 +1267,147 @@ static void time_macs(void) time_macs_(32); } -static void time_encmacs_(unsigned long MAC_SIZE) -{ -#if defined(LTC_EAX_MODE) || defined(LTC_OCB_MODE) || defined(LTC_OCB3_MODE) || \ - defined(LTC_CCM_MODE) || defined(LTC_GCM_MODE) || defined(LTC_SIV_MODE) -#if defined(LTC_SIV_MODE) - unsigned char *aad[4]; - unsigned long buflen; -#endif +typedef struct eac_ctx { unsigned char *buf, IV[16], key[32], tag[16]; + unsigned long size; + int cipher_idx; +} eac_ctx; + +#ifdef LTC_EAX_MODE +static void time_eax(eac_ctx *ctx) +{ ulong64 t1, t2; unsigned long x, z; - int err, cipher_idx; - symmetric_ECB skey; - - fprintf(stderr, "\nENC+MAC Timings (zero byte AAD, 16 byte IV, cycles/byte on %luKB blocks):\n", MAC_SIZE); + int err; - buf = XMALLOC(MAC_SIZE*1024); - if (buf == NULL) { - fprintf(stderr, "\n\nout of heap yo\n\n"); - exit(EXIT_FAILURE); - } - - cipher_idx = find_cipher("aes"); - - yarrow_read(buf, MAC_SIZE*1024, &yarrow_prng); - yarrow_read(key, sizeof(key), &yarrow_prng); - yarrow_read(IV, sizeof(IV), &yarrow_prng); - -#ifdef LTC_EAX_MODE t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = eax_encrypt_authenticate_memory(cipher_idx, key, 16, IV, 16, NULL, 0, buf, MAC_SIZE*1024, buf, tag, &z)) != CRYPT_OK) { + if ((err = eax_encrypt_authenticate_memory(ctx->cipher_idx, ctx->key, 16, ctx->IV, 16, NULL, 0, ctx->buf, ctx->size, ctx->buf, ctx->tag, &z)) != CRYPT_OK) { fprintf(stderr, "\nEAX error... %s\n", error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "EAX \t\t\t%9"PRI64"u\n", t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "EAX \t\t\t%9"PRI64"u\n", t2/(ulong64)(ctx->size)); +} #endif -#ifdef LTC_OCB_MODE +#if defined(LTC_OCB_MODE) +static void time_ocb(eac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x, z; + int err; + t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = ocb_encrypt_authenticate_memory(cipher_idx, key, 16, IV, buf, MAC_SIZE*1024, buf, tag, &z)) != CRYPT_OK) { + if ((err = ocb_encrypt_authenticate_memory(ctx->cipher_idx, ctx->key, 16, ctx->IV, ctx->buf, ctx->size, ctx->buf, ctx->tag, &z)) != CRYPT_OK) { fprintf(stderr, "\nOCB error... %s\n", error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "OCB \t\t\t%9"PRI64"u\n", t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "OCB \t\t\t%9"PRI64"u\n", t2/(ulong64)(ctx->size)); +} #endif -#ifdef LTC_OCB3_MODE +#if defined(LTC_OCB3_MODE) +static void time_ocb3(eac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x, z; + int err; + t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = ocb3_encrypt_authenticate_memory(cipher_idx, key, 16, IV, 15, (unsigned char*)"", 0, buf, MAC_SIZE*1024, buf, tag, &z)) != CRYPT_OK) { + if ((err = ocb3_encrypt_authenticate_memory(ctx->cipher_idx, ctx->key, 16, ctx->IV, 15, (unsigned char*)"", 0, ctx->buf, ctx->size, ctx->buf, ctx->tag, &z)) != CRYPT_OK) { fprintf(stderr, "\nOCB3 error... %s\n", error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "OCB3 \t\t\t%9"PRI64"u\n", t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "OCB3 \t\t\t%9"PRI64"u\n", t2/(ulong64)(ctx->size)); +} #endif -#ifdef LTC_CCM_MODE +#if defined(LTC_CCM_MODE) +static void time_ccm(eac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x, z; + int err; + symmetric_ECB skey; + t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = ccm_memory(cipher_idx, key, 16, NULL, IV, 16, NULL, 0, buf, MAC_SIZE*1024, buf, tag, &z, CCM_ENCRYPT)) != CRYPT_OK) { + if ((err = ccm_memory(ctx->cipher_idx, ctx->key, 16, NULL, ctx->IV, 16, NULL, 0, ctx->buf, ctx->size, ctx->buf, ctx->tag, &z, CCM_ENCRYPT)) != CRYPT_OK) { fprintf(stderr, "\nCCM error... %s\n", error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "CCM (no-precomp) \t%9"PRI64"u\n", t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "CCM (no-precomp) \t%9"PRI64"u\n", t2/(ulong64)(ctx->size)); - ecb_start(cipher_idx, key, 16, 0, &skey); + ecb_start(ctx->cipher_idx, ctx->key, 16, 0, &skey); t2 = -1; for (x = 0; x < 10000; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = ccm_memory(cipher_idx, key, 16, &skey, IV, 16, NULL, 0, buf, MAC_SIZE*1024, buf, tag, &z, CCM_ENCRYPT)) != CRYPT_OK) { + if ((err = ccm_memory(ctx->cipher_idx, ctx->key, 16, &skey, ctx->IV, 16, NULL, 0, ctx->buf, ctx->size, ctx->buf, ctx->tag, &z, CCM_ENCRYPT)) != CRYPT_OK) { fprintf(stderr, "\nCCM error... %s\n", error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "CCM (precomp) \t\t%9"PRI64"u\n", t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "CCM (precomp) \t\t%9"PRI64"u\n", t2/(ulong64)(ctx->size)); ecb_done(&skey); +} #endif -#ifdef LTC_GCM_MODE +#if defined (LTC_GCM_MODE) +static void time_gcm(eac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x, z; + int err; + gcm_state gcm +#ifdef LTC_GCM_TABLES_SSE2 +__attribute__ ((aligned (16))) +#endif +; t2 = -1; for (x = 0; x < 100; x++) { t_start(); t1 = t_read(); z = 16; - if ((err = gcm_memory(cipher_idx, key, 16, IV, 16, NULL, 0, buf, MAC_SIZE*1024, buf, tag, &z, GCM_ENCRYPT)) != CRYPT_OK) { + if ((err = gcm_memory(ctx->cipher_idx, ctx->key, 16, ctx->IV, 16, NULL, 0, ctx->buf, ctx->size, ctx->buf, ctx->tag, &z, GCM_ENCRYPT)) != CRYPT_OK) { fprintf(stderr, "\nGCM error... %s\n", error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "GCM (no-precomp)\t%9"PRI64"u\n", t2/(ulong64)(MAC_SIZE*1024)); - - { - gcm_state gcm -#ifdef LTC_GCM_TABLES_SSE2 -__attribute__ ((aligned (16))) -#endif -; + fprintf(stderr, "GCM (no-precomp)\t%9"PRI64"u\n", t2/(ulong64)(ctx->size)); - if ((err = gcm_init(&gcm, cipher_idx, key, 16)) != CRYPT_OK) { fprintf(stderr, "gcm_init: %s\n", error_to_string(err)); exit(EXIT_FAILURE); } + if ((err = gcm_init(&gcm, ctx->cipher_idx, ctx->key, 16)) != CRYPT_OK) { fprintf(stderr, "gcm_init: %s\n", error_to_string(err)); exit(EXIT_FAILURE); } t2 = -1; for (x = 0; x < 10000; x++) { t_start(); @@ -1331,7 +1417,7 @@ __attribute__ ((aligned (16))) fprintf(stderr, "\nGCM error[%d]... %s\n", __LINE__, error_to_string(err)); exit(EXIT_FAILURE); } - if ((err = gcm_add_iv(&gcm, IV, 16)) != CRYPT_OK) { + if ((err = gcm_add_iv(&gcm, ctx->IV, 16)) != CRYPT_OK) { fprintf(stderr, "\nGCM error[%d]... %s\n", __LINE__, error_to_string(err)); exit(EXIT_FAILURE); } @@ -1339,36 +1425,45 @@ __attribute__ ((aligned (16))) fprintf(stderr, "\nGCM error[%d]... %s\n", __LINE__, error_to_string(err)); exit(EXIT_FAILURE); } - if ((err = gcm_process(&gcm, buf, MAC_SIZE*1024, buf, GCM_ENCRYPT)) != CRYPT_OK) { + if ((err = gcm_process(&gcm, ctx->buf, ctx->size, ctx->buf, GCM_ENCRYPT)) != CRYPT_OK) { fprintf(stderr, "\nGCM error[%d]... %s\n", __LINE__, error_to_string(err)); exit(EXIT_FAILURE); } - if ((err = gcm_done(&gcm, tag, &z)) != CRYPT_OK) { + if ((err = gcm_done(&gcm, ctx->tag, &z)) != CRYPT_OK) { fprintf(stderr, "\nGCM error[%d]... %s\n", __LINE__, error_to_string(err)); exit(EXIT_FAILURE); } t1 = t_read() - t1; if (t1 < t2) t2 = t1; } - fprintf(stderr, "GCM (precomp)\t\t%9"PRI64"u\n", t2/(ulong64)(MAC_SIZE*1024)); - } + fprintf(stderr, "GCM (precomp)\t\t%9"PRI64"u\n", t2/(ulong64)(ctx->size)); +} #endif -#ifdef LTC_SIV_MODE +#if defined(LTC_SIV_MODE) +static void time_siv(eac_ctx *ctx) +{ + ulong64 t1, t2; + unsigned long x, z; + int err; + unsigned char *aad[4]; + unsigned long buflen; + for(z = 0; z < 4; z++) { - aad[z] = IV + z * 4; + aad[z] = ctx->IV + z * 4; } for(z = 0; z < 4; z++) { t2 = -1; for (x = 0; x < 10000; x++) { - buflen = MAC_SIZE*1024; + buflen = ctx->size; t_start(); t1 = t_read(); - if ((err = siv_memory(cipher_idx, LTC_ENCRYPT, - key, 32, - buf, MAC_SIZE*1024 - 16, - buf, &buflen, + if ((err = siv_memory(ctx->cipher_idx, LTC_ENCRYPT, + ctx->key, 32, + ctx->buf, ctx->size - 16, + ctx->buf, &buflen, + 4 - z, aad[0], 16, aad[1], 12, aad[2], 8, @@ -1381,11 +1476,64 @@ __attribute__ ((aligned (16))) if (t1 < t2) t2 = t1; } aad[3-z] = NULL; - fprintf(stderr, "SIV (%lu x AAD)\t\t%9"PRI64"u\n", 4-z, t2/(ulong64)(MAC_SIZE*1024)); + fprintf(stderr, "SIV (%lu x AAD)\t\t%9"PRI64"u\n", 4-z, t2/(ulong64)(ctx->size)); } +} +#endif + +static void time_eacs_(unsigned long MAC_SIZE) +{ +#if defined(LTC_EAX_MODE) || defined(LTC_OCB_MODE) || defined(LTC_OCB3_MODE) || \ + defined(LTC_CCM_MODE) || defined(LTC_GCM_MODE) || defined(LTC_SIV_MODE) + eac_ctx ctx; + struct { + const char *name; + void (*time_fun)(eac_ctx*); + } time_funs[] = { +#define TIME_FUN(n) { #n, time_ ## n } +#ifdef LTC_EAX_MODE + TIME_FUN(eax), #endif +#ifdef LTC_OCB_MODE + TIME_FUN(ocb), +#endif +#ifdef LTC_OCB3_MODE + TIME_FUN(ocb3), +#endif +#ifdef LTC_CCM_MODE + TIME_FUN(ccm), +#endif +#ifdef LTC_GCM_MODE + TIME_FUN(gcm), +#endif +#ifdef LTC_SIV_MODE + TIME_FUN(siv), +#endif +#undef TIME_FUN + }; + unsigned long n; + + fprintf(stderr, "\nENC+MAC Timings (zero byte AAD, 16 byte IV, cycles/byte on %luKB blocks):\n", MAC_SIZE); + + ctx.size = MAC_SIZE*1024; + ctx.buf = XMALLOC(ctx.size); + if (ctx.buf == NULL) { + fprintf(stderr, "\n\nout of heap yo\n\n"); + exit(EXIT_FAILURE); + } + + ctx.cipher_idx = find_cipher("aes"); + + yarrow_read(ctx.buf, ctx.size, &yarrow_prng); + yarrow_read(ctx.key, sizeof(ctx.key), &yarrow_prng); + yarrow_read(ctx.IV, sizeof(ctx.IV), &yarrow_prng); + + for (n = 0; n < LTC_ARRAY_SIZE(time_funs); ++n) { + if (!should_skip(time_funs[n].name)) + time_funs[n].time_fun(&ctx); + } - XFREE(buf); + XFREE(ctx.buf); #else LTC_UNUSED_PARAM(MAC_SIZE); fprintf(stderr, "NO ENCMACs\n"); @@ -1393,11 +1541,11 @@ __attribute__ ((aligned (16))) } -static void time_encmacs(void) +static void time_eacs(void) { - time_encmacs_(1); - time_encmacs_(4); - time_encmacs_(32); + time_eacs_(1); + time_eacs_(4); + time_eacs_(32); } static void LTC_NORETURN die(int status) @@ -1434,7 +1582,7 @@ const struct LTC_TEST_FN(cipher_lrw), LTC_TEST_FN(hash), LTC_TEST_FN(macs), - LTC_TEST_FN(encmacs), + LTC_TEST_FN(eacs), LTC_TEST_FN(prng), LTC_TEST_FN(mult), LTC_TEST_FN(sqr), diff --git a/doc/crypt.tex b/doc/crypt.tex index fc879fa9a..0328543e5 100644 --- a/doc/crypt.tex +++ b/doc/crypt.tex @@ -3027,10 +3027,15 @@ \subsection{Hash Registration} applicable block ciphers (such as AES) can be turned into hash functions that other LTC functions can use. In particular this allows a cryptosystem to be designed using very few moving parts. +The \code{CHC} mode implements a Miyaguchi–Preneel Hash Construction +\footnote{\href{https://en.wikipedia.org/wiki/One-way_compression_function\#Miyaguchi–Preneel}{\nolinkurl{https://en.wikipedia.org/wiki/One-way_compression_function\#Miyaguchi-Preneel}}} +(MPHC), but provides an improved, \code{chc\_done()} implementation. + + In order to use the CHC system the developer will have to take a few extra steps. First the \textit{chc\_desc} hash -descriptor must be registered with register\_hash(). At this point the CHC hash cannot be used to hash +descriptor must be registered with \code{register\_hash()}. At this point the CHC hash cannot be used to hash data. While it is in the hash system you still have to tell the CHC code which cipher to use. This is accomplished -via the chc\_register() function. +via the \code{chc\_register()} function. \index{chc\_register()} \begin{verbatim} @@ -3038,7 +3043,7 @@ \subsection{Hash Registration} \end{verbatim} A cipher has to be registered with CHC (and also in the cipher descriptor tables with -register\_cipher()). The chc\_register() function will bind a cipher to the CHC system. Only one cipher can +\code{register\_cipher()}). The \code{chc\_register()} function will bind a cipher to the CHC system. Only one cipher can be bound to the CHC hash at a time. There are additional requirements for the system to work. \begin{enumerate} diff --git a/makefile.mingw b/makefile.mingw index 1d3135eec..ee6db68ec 100644 --- a/makefile.mingw +++ b/makefile.mingw @@ -245,7 +245,8 @@ tests/misc_test.o tests/modes_test.o tests/mpi_test.o tests/multi_test.o \ tests/no_null_termination_check_test.o tests/no_prng.o tests/padding_test.o tests/pem_test.o \ tests/pk_oid_test.o tests/pkcs_1_eme_test.o tests/pkcs_1_emsa_test.o tests/pkcs_1_oaep_test.o \ tests/pkcs_1_pss_test.o tests/pkcs_1_test.o tests/prng_test.o tests/rotate_test.o tests/rsa_test.o \ -tests/scrypt_test.o tests/ssh_test.o tests/store_test.o tests/test.o tests/x25519_test.o +tests/scrypt_test.o tests/siv_wycheproof_test.o tests/ssh_test.o tests/store_test.o tests/test.o \ +tests/x25519_test.o #The following headers will be installed by "make install" HEADERS_PUB=src/headers/tomcrypt.h src/headers/tomcrypt_argchk.h src/headers/tomcrypt_cfg.h \ diff --git a/makefile.msvc b/makefile.msvc index 5770c4682..1d8159d9f 100644 --- a/makefile.msvc +++ b/makefile.msvc @@ -238,7 +238,8 @@ tests/misc_test.obj tests/modes_test.obj tests/mpi_test.obj tests/multi_test.obj tests/no_null_termination_check_test.obj tests/no_prng.obj tests/padding_test.obj tests/pem_test.obj \ tests/pk_oid_test.obj tests/pkcs_1_eme_test.obj tests/pkcs_1_emsa_test.obj tests/pkcs_1_oaep_test.obj \ tests/pkcs_1_pss_test.obj tests/pkcs_1_test.obj tests/prng_test.obj tests/rotate_test.obj tests/rsa_test.obj \ -tests/scrypt_test.obj tests/ssh_test.obj tests/store_test.obj tests/test.obj tests/x25519_test.obj +tests/scrypt_test.obj tests/siv_wycheproof_test.obj tests/ssh_test.obj tests/store_test.obj tests/test.obj \ +tests/x25519_test.obj #The following headers will be installed by "make install" HEADERS_PUB=src/headers/tomcrypt.h src/headers/tomcrypt_argchk.h src/headers/tomcrypt_cfg.h \ diff --git a/makefile.unix b/makefile.unix index 5130bef3b..ae0bb40f6 100644 --- a/makefile.unix +++ b/makefile.unix @@ -259,7 +259,8 @@ tests/misc_test.o tests/modes_test.o tests/mpi_test.o tests/multi_test.o \ tests/no_null_termination_check_test.o tests/no_prng.o tests/padding_test.o tests/pem_test.o \ tests/pk_oid_test.o tests/pkcs_1_eme_test.o tests/pkcs_1_emsa_test.o tests/pkcs_1_oaep_test.o \ tests/pkcs_1_pss_test.o tests/pkcs_1_test.o tests/prng_test.o tests/rotate_test.o tests/rsa_test.o \ -tests/scrypt_test.o tests/ssh_test.o tests/store_test.o tests/test.o tests/x25519_test.o +tests/scrypt_test.o tests/siv_wycheproof_test.o tests/ssh_test.o tests/store_test.o tests/test.o \ +tests/x25519_test.o #The following headers will be installed by "make install" HEADERS_PUB=src/headers/tomcrypt.h src/headers/tomcrypt_argchk.h src/headers/tomcrypt_cfg.h \ diff --git a/makefile_include.mk b/makefile_include.mk index b849f810d..dedfd502a 100644 --- a/makefile_include.mk +++ b/makefile_include.mk @@ -435,7 +435,8 @@ tests/misc_test.o tests/modes_test.o tests/mpi_test.o tests/multi_test.o \ tests/no_null_termination_check_test.o tests/no_prng.o tests/padding_test.o tests/pem_test.o \ tests/pk_oid_test.o tests/pkcs_1_eme_test.o tests/pkcs_1_emsa_test.o tests/pkcs_1_oaep_test.o \ tests/pkcs_1_pss_test.o tests/pkcs_1_test.o tests/prng_test.o tests/rotate_test.o tests/rsa_test.o \ -tests/scrypt_test.o tests/ssh_test.o tests/store_test.o tests/test.o tests/x25519_test.o +tests/scrypt_test.o tests/siv_wycheproof_test.o tests/ssh_test.o tests/store_test.o tests/test.o \ +tests/x25519_test.o # The following headers will be installed by "make install" HEADERS_PUB=src/headers/tomcrypt.h src/headers/tomcrypt_argchk.h src/headers/tomcrypt_cfg.h \ diff --git a/src/ciphers/aes/aes_desc.c b/src/ciphers/aes/aes_desc.c index 2ff913e83..c03e1bb36 100644 --- a/src/ciphers/aes/aes_desc.c +++ b/src/ciphers/aes/aes_desc.c @@ -9,6 +9,60 @@ #include "tomcrypt_private.h" +#if defined(LTC_ARCH_X86) && (defined(LTC_AES_NI) || !defined(ENCRYPT_ONLY)) + +#if !defined (LTC_S_X86_CPUID) +#define LTC_S_X86_CPUID +static LTC_INLINE void s_x86_cpuid(int* regs, int leaf) +{ +#if defined _MSC_VER + __cpuid(regs, leaf); +#else + int a, b, c, d; + + a = leaf; + b = c = d = 0; + asm volatile ("cpuid" + :"=a"(a), "=b"(b), "=c"(c), "=d"(d) + :"a"(a), "c"(c) + ); + regs[0] = a; + regs[1] = b; + regs[2] = c; + regs[3] = d; +#endif +} +#endif /* LTC_S_X86_CPUID */ + +static LTC_INLINE int s_aesni_is_supported(void) +{ + static int initialized = 0, is_supported = 0; + + if (initialized == 0) { + /* Look for CPUID.1.0.ECX[19] (SSE4.1) and CPUID.1.0.ECX[25] (AES-NI) + * EAX = 1, ECX = 0 + */ + int regs[4]; + s_x86_cpuid(regs, 1); + is_supported = ((regs[2] >> 19) & 1) && ((regs[2] >> 25) & 1); + initialized = 1; + } + + return is_supported; +} +#endif /* LTC_ARCH_X86 */ + +#ifndef ENCRYPT_ONLY +int aesni_is_supported(void) +{ +#if defined(LTC_ARCH_X86) + return s_aesni_is_supported(); +#else + return 0; +#endif +} +#endif /* ENCRYPT_ONLY */ + #if defined(LTC_RIJNDAEL) #ifndef ENCRYPT_ONLY @@ -46,54 +100,6 @@ const struct ltc_cipher_descriptor aes_enc_desc = NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; -#endif - -/* Code partially borrowed from https://software.intel.com/content/www/us/en/develop/articles/intel-sha-extensions.html */ -#if defined(LTC_AES_NI) -static LTC_INLINE int s_aesni_is_supported(void) -{ - static int initialized = 0, is_supported = 0; - - if (initialized == 0) { - int a, b, c, d; - - /* Look for CPUID.1.0.ECX[19] (SSE4.1) and CPUID.1.0.ECX[25] (AES-NI) - * EAX = 1, ECX = 0 - */ - a = 1; - c = 0; - -#if defined(_MSC_VER) && !defined(__clang__) - int arr[4]; - __cpuidex(arr, a, c); - a = arr[0]; - b = arr[1]; - c = arr[2]; - d = arr[3]; -#else - __asm__ volatile ("cpuid" - :"=a"(a), "=b"(b), "=c"(c), "=d"(d) - :"a"(a), "c"(c) - ); -#endif - - is_supported = ((c >> 19) & 1) && ((c >> 25) & 1); - initialized = 1; - } - - return is_supported; -} -#endif - -#ifndef ENCRYPT_ONLY -int aesni_is_supported(void) -{ -#ifdef LTC_AES_NI - return s_aesni_is_supported(); -#else - return 0; -#endif -} #endif /** diff --git a/src/ciphers/aes/aesni.c b/src/ciphers/aes/aesni.c index d74722919..c4b981dda 100644 --- a/src/ciphers/aes/aesni.c +++ b/src/ciphers/aes/aesni.c @@ -20,9 +20,17 @@ const struct ltc_cipher_descriptor aesni_desc = NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }; +#if defined(__GNUC__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-align" +#pragma GCC diagnostic ignored "-Wdeclaration-after-statement" +#endif #include #include #include +#if defined(__GNUC__) +#pragma GCC diagnostic pop +#endif #define setup_mix(t, c) _mm_extract_epi32(_mm_aeskeygenassist_si128(t, 0), c) #define temp_load(k) _mm_loadu_si128((__m128i*)(k)) diff --git a/src/encauth/gcm/gcm_gf_mult.c b/src/encauth/gcm/gcm_gf_mult.c index 0b7a1c83c..c9f968ecb 100644 --- a/src/encauth/gcm/gcm_gf_mult.c +++ b/src/encauth/gcm/gcm_gf_mult.c @@ -9,6 +9,14 @@ #if defined(LTC_GCM_MODE) || defined(LTC_LRW_MODE) #if defined(LTC_GCM_PCLMUL) + +#define LTC_GCM_PCLMUL_TARGET LTC_ATTRIBUTE((__target__("pclmul,ssse3"))) + +#if defined(__GNUC__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-align" +#pragma GCC diagnostic ignored "-Wdeclaration-after-statement" +#endif #if defined(_MSC_VER) #include #else @@ -17,28 +25,42 @@ #include #include #include +#if defined(__GNUC__) +#pragma GCC diagnostic pop +#endif + +#if !defined (LTC_S_X86_CPUID) +#define LTC_S_X86_CPUID +static LTC_INLINE void s_x86_cpuid(int* regs, int leaf) +{ +#if defined _MSC_VER + __cpuid(regs, leaf); +#else + int a, b, c, d; + + a = leaf; + b = c = d = 0; + asm volatile ("cpuid" + :"=a"(a), "=b"(b), "=c"(c), "=d"(d) + :"a"(a), "c"(c) + ); + regs[0] = a; + regs[1] = b; + regs[2] = c; + regs[3] = d; +#endif +} +#endif /* LTC_S_X86_CPUID */ static LTC_INLINE int s_pclmul_is_supported(void) { static int initialized = 0, is_supported = 0; if (initialized == 0) { - /* Test CPUID.1.0.ECX[1] - * EAX = 1, ECX = 0 */ -#if defined(_MSC_VER) - int cpuInfo[4]; - __cpuid(cpuInfo, 1); - is_supported = ((cpuInfo[2] >> 1) & 1); -#else - int a = 1 , b, c = 0, d; - - asm volatile ("cpuid" - :"=a"(a), "=b"(b), "=c"(c), "=d"(d) - :"a"(a), "c"(c) - ); - - is_supported = ((c >> 1) & 1); -#endif + int regs[4]; + s_x86_cpuid(regs, 1); + /* Test CPUID.1.0.ECX[1] (PCLMUL) and CPUID.1.0.ECX[9] (SSSE3) */ + is_supported = ((regs[2] >> 1) & 1) && ((regs[2] >> 9) & 1); initialized = 1; } @@ -116,10 +138,11 @@ static void s_gcm_gf_mult_pclmul(const unsigned char *a, const unsigned char *b, #if defined(__GNUC__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wbad-function-cast" -#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wcast-align" #pragma GCC diagnostic ignored "-Wmissing-braces" -#pragma GCC diagnostic ignored "-Wsign-compare" #pragma GCC diagnostic ignored "-Wshadow" +#pragma GCC diagnostic ignored "-Wsign-compare" +#pragma GCC diagnostic ignored "-Wunused-parameter" #endif #include #if defined(__GNUC__) diff --git a/src/encauth/siv/siv.c b/src/encauth/siv/siv.c index c07a9eac1..bd6d5b45b 100644 --- a/src/encauth/siv/siv.c +++ b/src/encauth/siv/siv.c @@ -18,34 +18,35 @@ */ static const unsigned long s_siv_max_aad_components = 126; -static LTC_INLINE void s_siv_dbl(unsigned char *inout) +LTC_ALIGN_MSVC(16) +typedef struct siv_buf_t { + union { +#ifdef LTC_FAST + LTC_FAST_TYPE word[16/sizeof(LTC_FAST_TYPE)]; +#endif + unsigned char byte[16]; + } u; +} siv_buf_t LTC_ALIGN(16); + +LTC_STATIC_ASSERT(size_of_siv_buf_t_is_16_bytes, sizeof(siv_buf_t) == 16); + +static LTC_INLINE void s_siv_dbl(siv_buf_t *D_) { - int y, mask, msb, len; + unsigned char *D = D_->u.byte; + unsigned int y, mask, msb, len; /* setup the system */ mask = 0x87; len = 16; /* if msb(L * u^(x+1)) = 0 then just shift, otherwise shift and xor constant mask */ - msb = inout[0] >> 7; + msb = D[0] >> 7; /* shift left */ for (y = 0; y < (len - 1); y++) { - inout[y] = ((inout[y] << 1) | (inout[y + 1] >> 7)) & 255; + D[y] = ((D[y] << 1) | (D[y + 1] >> 7)) & 255; } - inout[len - 1] = ((inout[len - 1] << 1) ^ (msb ? mask : 0)) & 255; -} - -static LTC_INLINE int s_siv_S2V_one(int cipher, - const unsigned char *key, unsigned long keylen, - unsigned char *V, unsigned long *Vlen) -{ - /* if n = 0 then - * return V = AES-CMAC(K, ) - */ - unsigned char zero_or_one[16] = {0}; - zero_or_one[0] = 1; - return omac_memory(cipher, key, keylen, zero_or_one, sizeof(zero_or_one), V, Vlen); + D[len - 1] = ((D[len - 1] << 1) ^ (msb ? mask : 0)) & 255; } typedef struct siv_omac_ctx_t { @@ -53,6 +54,26 @@ typedef struct siv_omac_ctx_t { int cipher; } siv_omac_ctx_t; +static LTC_INLINE void s_siv_xor_buf(const siv_buf_t *a, siv_buf_t *b) +{ + unsigned int n; +#ifdef LTC_FAST +#ifdef ENDIAN_64BITWORD + LTC_UNUSED_PARAM(n); + b->u.word[0] ^= a->u.word[0]; + b->u.word[1] ^= a->u.word[1]; +#else + for (n = 0; n < LTC_ARRAY_SIZE(a->u.word); ++n) { + b->u.word[n] ^= a->u.word[n]; + } +#endif +#else + for (n = 0; n < LTC_ARRAY_SIZE(a->u.byte); ++n) { + b->u.byte[n] ^= a->u.byte[n]; + } +#endif +} + static LTC_INLINE int s_siv_ctx_init(int cipher, const unsigned char *key, unsigned long keylen, siv_omac_ctx_t *ctx) @@ -63,73 +84,69 @@ static LTC_INLINE int s_siv_ctx_init(int cipher, static LTC_INLINE int s_siv_omac_memory(siv_omac_ctx_t *ctx, const unsigned char *in, unsigned long inlen, - unsigned char *out, unsigned long *outlen) + siv_buf_t *out) { int err; + unsigned long len = sizeof(*out); omac_state omac = ctx->omac; if ((err = omac_process(&omac, in, inlen)) != CRYPT_OK) { return err; } - err = omac_done(&omac, out, outlen); + err = omac_done(&omac, out->u.byte, &len); zeromem(&omac, sizeof(omac)); return err; } -static LTC_INLINE int s_siv_S2V_zero(siv_omac_ctx_t *ctx, - unsigned char *D, unsigned long *Dlen) +static LTC_INLINE int s_siv_S2V_zero(siv_omac_ctx_t *ctx, siv_buf_t *D) { /* D = AES-CMAC(K, ) */ - const unsigned char zero_or_one[16] = {0}; - return s_siv_omac_memory(ctx, zero_or_one, sizeof(zero_or_one), D, Dlen); + const siv_buf_t zero = {0}; + return s_siv_omac_memory(ctx, zero.u.byte, sizeof(zero), D); } static LTC_INLINE int s_siv_S2V_dbl_xor_cmac(siv_omac_ctx_t *ctx, const unsigned char *aad, unsigned long aadlen, - unsigned char *D, unsigned long Dlen) + siv_buf_t *D) { /* for i = 1 to n-1 do * D = dbl(D) xor AES-CMAC(K, Si) * done */ int err; - unsigned char TMP[16]; - unsigned long i, TMPlen = sizeof(TMP); - s_siv_dbl(D); - if ((err = s_siv_omac_memory(ctx, aad, aadlen, TMP, &TMPlen)) != CRYPT_OK) { + siv_buf_t TMP; + if ((err = s_siv_omac_memory(ctx, aad, aadlen, &TMP)) != CRYPT_OK) { return err; } - for (i = 0; i < Dlen; ++i) { - D[i] ^= TMP[i]; - } + s_siv_dbl(D); + s_siv_xor_buf(&TMP, D); return err; } static LTC_INLINE int s_siv_omac_memory_multi(siv_omac_ctx_t *ctx, - unsigned char *out, unsigned long *outlen, + siv_buf_t *out, const unsigned char *in, unsigned long inlen, ...) { int err; va_list args; + unsigned long len = sizeof(*out); omac_state omac = ctx->omac; va_start(args, inlen); if ((err = omac_vprocess(&omac, in, inlen, args)) != CRYPT_OK) { return err; } - err = omac_done(&omac, out, outlen); + err = omac_done(&omac, out->u.byte, &len); zeromem(&omac, sizeof(omac)); return err; } static LTC_INLINE int s_siv_S2V_T(siv_omac_ctx_t *ctx, - const unsigned char *in, unsigned long inlen, - unsigned char *D, - unsigned char *V, unsigned long *Vlen) + const unsigned char *in, unsigned long inlen, + siv_buf_t *D, siv_buf_t *V) { + siv_buf_t T; int err; - unsigned long i; - unsigned char T[16]; /* if len(Sn) >= 128 then * T = Sn xorend D @@ -138,73 +155,60 @@ static LTC_INLINE int s_siv_S2V_T(siv_omac_ctx_t *ctx, * fi */ if (inlen >= 16) { - XMEMCPY(T, &in[inlen - 16], 16); - for(i = 0; i < 16; ++i) { - T[i] ^= D[i]; - } - err = s_siv_omac_memory_multi(ctx, V, Vlen, in, inlen - 16, T, 16uL, NULL); + XMEMCPY(&T, &in[inlen - 16], 16); + s_siv_xor_buf(D, &T); + err = s_siv_omac_memory_multi(ctx, V, in, inlen - 16, &T, sizeof(T), LTC_NULL); } else { s_siv_dbl(D); - XMEMCPY(T, in, inlen); - T[inlen] = 0x80; - for (i = inlen + 1; i < 16; ++i) { - T[i] = 0x0; - } - for(i = 0; i < 16; ++i) { - T[i] ^= D[i]; - } + XMEMSET(&T, 0, sizeof(T)); + XMEMCPY(&T, in, inlen); + T.u.byte[inlen] = 0x80; + s_siv_xor_buf(D, &T); - err = s_siv_omac_memory(ctx, T, 16, V, Vlen); + err = s_siv_omac_memory(ctx, T.u.byte, sizeof(T), V); } return err; } static int s_siv_S2V(int cipher, const unsigned char *key, unsigned long keylen, + unsigned long adnum, const unsigned char **ad, unsigned long *adlen, const unsigned char *in, unsigned long inlen, - unsigned char *V, unsigned long *Vlen) + siv_buf_t *V) { int err; - unsigned char D[16]; - unsigned long Dlen = sizeof(D), n = 0; + siv_buf_t D; + unsigned long n = 0; siv_omac_ctx_t ctx; - if(ad == NULL || adlen == NULL || ad[0] == NULL || adlen[0] == 0) { - err = s_siv_S2V_one(cipher, key, keylen, V, Vlen); - } else { - if ((err = s_siv_ctx_init(cipher, key, keylen, &ctx)) != CRYPT_OK) { - return err; + if ((err = s_siv_ctx_init(cipher, key, keylen, &ctx)) != CRYPT_OK) { + return err; + } + /* RFC 5297 sec 2.6: S2V(K1, AD1..ADm, P). With zero ADs this is n=1 + * (P only), not n=0 - the plaintext must still be folded into V. */ + if ((err = s_siv_S2V_zero(&ctx, &D)) != CRYPT_OK) { + return err; + } + + do { + if (n >= s_siv_max_aad_components) { + return CRYPT_INPUT_TOO_LONG; } - Dlen = sizeof(D); - if ((err = s_siv_S2V_zero(&ctx, D, &Dlen)) != CRYPT_OK) { + if ((err = s_siv_S2V_dbl_xor_cmac(&ctx, ad ? ad[n] : NULL, adlen ? adlen[n] : 0, &D)) != CRYPT_OK) { return err; } + n++; + } while(n < adnum); - while(ad[n] != NULL && adlen[n] != 0) { - if (n >= s_siv_max_aad_components) { - return CRYPT_INPUT_TOO_LONG; - } - if ((err = s_siv_S2V_dbl_xor_cmac(&ctx, ad[n], adlen[n], D, Dlen)) != CRYPT_OK) { - return err; - } - n++; - } - - err = s_siv_S2V_T(&ctx, in, inlen, D, V, Vlen); - } - - return err; + return s_siv_S2V_T(&ctx, in, inlen, &D, V); } -static LTC_INLINE void s_siv_bitand(const unsigned char* V, unsigned char* Q) +static LTC_INLINE void s_siv_bitand(const void* V, siv_buf_t* Q) { - int n; - XMEMSET(Q, 0xff, 16); - Q[8] = Q[12] = 0x7f; - for (n = 0; n < 16; ++n) { - Q[n] &= V[n]; - } + XMEMCPY(Q, V, sizeof(*Q)); + Q->u.byte[8] &= 0x7F; + Q->u.byte[12] &= 0x7F; } static LTC_INLINE int s_ctr_crypt_memory(int cipher, @@ -227,12 +231,14 @@ static LTC_INLINE int s_ctr_crypt_memory(int cipher, } out: +#ifdef LTC_CLEAN_STACK zeromem(&ctr, sizeof(ctr)); +#endif return err; } typedef struct { - unsigned char Q[16], V[16]; + siv_buf_t Q, V; } siv_state; /** @@ -251,19 +257,20 @@ typedef struct { */ int siv_encrypt_memory( int cipher, const unsigned char *key, unsigned long keylen, + unsigned long adnum, const unsigned char *ad[], unsigned long adlen[], const unsigned char *pt, unsigned long ptlen, unsigned char *ct, unsigned long *ctlen) { int err; const unsigned char *K1, *K2; - unsigned long Vlen; + void *work = NULL; siv_state siv; LTC_ARGCHK(key != NULL); - LTC_ARGCHK(ad != NULL); - LTC_ARGCHK(adlen != NULL); - LTC_ARGCHK(pt != NULL); + LTC_ARGCHK(ad != NULL || adnum == 0); + LTC_ARGCHK(adlen != NULL || adnum == 0); + LTC_ARGCHK(pt != NULL || ptlen == 0); LTC_ARGCHK(ct != NULL); LTC_ARGCHK(ctlen != NULL); @@ -278,33 +285,33 @@ int siv_encrypt_memory( int cipher, return err; } + work = XMALLOC(ptlen + 16); + if (work == NULL) { + return CRYPT_MEM; + } K1 = key; K2 = &key[keylen/2]; - Vlen = sizeof(siv.V); - err = s_siv_S2V(cipher, K1, keylen/2, ad, adlen, pt, ptlen, siv.V, &Vlen); -#ifdef LTC_CLEAN_STACK - burn_stack(3 * 16 + 7 * sizeof(unsigned long) + 1 * sizeof(void*)); -#endif - if (err != CRYPT_OK) { - return err; + if ((err = s_siv_S2V(cipher, K1, keylen/2, adnum, ad, adlen, pt, ptlen, &siv.V)) != CRYPT_OK) { + goto out; } - s_siv_bitand(siv.V, siv.Q); - XMEMCPY(ct, siv.V, 16); - ct += 16; + s_siv_bitand(&siv.V, &siv.Q); - if ((err = s_ctr_crypt_memory(cipher, siv.Q, K2, keylen/2, pt, ct, ptlen)) != CRYPT_OK) { - zeromem(ct, ptlen + 16); + if ((err = s_ctr_crypt_memory(cipher, siv.Q.u.byte, K2, keylen/2, pt, work, ptlen)) != CRYPT_OK) { goto out; } + XMEMCPY(ct, &siv.V, 16); + XMEMCPY(ct + 16, work, ptlen); *ctlen = ptlen + 16; out: #ifdef LTC_CLEAN_STACK zeromem(&siv, sizeof(siv)); #endif + zeromem(work, ptlen + 16); + XFREE(work); return err; } @@ -325,6 +332,7 @@ int siv_encrypt_memory( int cipher, */ int siv_decrypt_memory( int cipher, const unsigned char *key, unsigned long keylen, + unsigned long adnum, const unsigned char *ad[], unsigned long adlen[], const unsigned char *ct, unsigned long ctlen, unsigned char *pt, unsigned long *ptlen) @@ -332,12 +340,11 @@ int siv_decrypt_memory( int cipher, int err; unsigned char *pt_work; const unsigned char *K1, *K2, *ct_work; - unsigned long Vlen; siv_state siv; LTC_ARGCHK(key != NULL); - LTC_ARGCHK(ad != NULL); - LTC_ARGCHK(adlen != NULL); + LTC_ARGCHK(ad != NULL || adnum == 0); + LTC_ARGCHK(adlen != NULL || adnum == 0); LTC_ARGCHK(ct != NULL); LTC_ARGCHK(pt != NULL); LTC_ARGCHK(ptlen != NULL); @@ -363,18 +370,17 @@ int siv_decrypt_memory( int cipher, K2 = &key[keylen/2]; ct_work = ct; - s_siv_bitand(ct_work, siv.Q); + s_siv_bitand(ct_work, &siv.Q); ct_work += 16; - if ((err = s_ctr_crypt_memory(cipher, siv.Q, K2, keylen/2, ct_work, pt_work, *ptlen)) != CRYPT_OK) { + if ((err = s_ctr_crypt_memory(cipher, siv.Q.u.byte, K2, keylen/2, ct_work, pt_work, *ptlen)) != CRYPT_OK) { goto out; } - Vlen = sizeof(siv.V); - if ((err = s_siv_S2V(cipher, K1, keylen/2, ad, adlen, pt_work, *ptlen, siv.V, &Vlen)) != CRYPT_OK) { + if ((err = s_siv_S2V(cipher, K1, keylen/2, adnum, ad, adlen, pt_work, *ptlen, &siv.V)) != CRYPT_OK) { goto out; } - err = XMEM_NEQ(siv.V, ct, Vlen); + err = XMEM_NEQ(&siv.V, ct, sizeof(siv.V)); copy_or_zeromem(pt_work, pt, *ptlen, err); out: #ifdef LTC_CLEAN_STACK @@ -404,17 +410,20 @@ int siv_memory( int cipher, int direction, const unsigned char *key, unsigned long keylen, const unsigned char *in, unsigned long inlen, unsigned char *out, unsigned long *outlen, + unsigned long adnum, ...) { int err; va_list args; + siv_omac_ctx_t ctx; siv_state siv; - unsigned char D[16], *in_buf = NULL, *out_work; + siv_buf_t D; + unsigned char *buf = NULL; const unsigned char *aad, *K1, *K2, *in_work; - unsigned long n = 0, aadlen, Dlen = sizeof(D), Vlen = sizeof(siv.V), in_work_len; + unsigned long n = 0, aadlen, in_work_len, buf_len; LTC_ARGCHK(key != NULL); - LTC_ARGCHK(in != NULL); + LTC_ARGCHK(in != NULL || inlen == 0); LTC_ARGCHK(out != NULL); LTC_ARGCHK(outlen != NULL); @@ -433,83 +442,80 @@ int siv_memory( int cipher, int direction, K2 = &key[keylen/2]; in_work = in; in_work_len = inlen; - out_work = out; if (direction == LTC_DECRYPT) { in_work_len -= 16; - in_buf = XMALLOC(in_work_len); - if (in_buf == NULL) - return CRYPT_MEM; - s_siv_bitand(in_work, siv.Q); + buf_len = in_work_len; + } else { + buf_len = inlen; + } + buf = XMALLOC(buf_len); + if (buf == NULL) + return CRYPT_MEM; + + if (direction == LTC_DECRYPT) { + s_siv_bitand(in_work, &siv.Q); in_work += 16; - if ((err = s_ctr_crypt_memory(cipher, siv.Q, K2, keylen/2, in_work, in_buf, in_work_len)) != CRYPT_OK) { + if ((err = s_ctr_crypt_memory(cipher, siv.Q.u.byte, K2, keylen/2, in_work, buf, in_work_len)) != CRYPT_OK) { goto err_out; } - in_work = in_buf; + in_work = buf; } - va_start(args, outlen); - aad = va_arg(args, const unsigned char*); - aadlen = aad ? va_arg(args, unsigned long) : 0; - if (aad == NULL || aadlen == 0) { - if ((err = s_siv_S2V_one(cipher, K1, keylen/2, siv.V, &Vlen)) != CRYPT_OK) { - goto err_out; + if ((err = s_siv_ctx_init(cipher, K1, keylen/2, &ctx)) != CRYPT_OK) { + goto err_out; + } + if ((err = s_siv_S2V_zero(&ctx, &D)) != CRYPT_OK) { + goto err_out; + } + va_start(args, adnum); + do { + if (adnum) { + aad = va_arg(args, const unsigned char*); + aadlen = va_arg(args, unsigned long); + } else { + aad = NULL; + aadlen = 0; } - } else { - siv_omac_ctx_t ctx; - if ((err = s_siv_ctx_init(cipher, K1, keylen/2, &ctx)) != CRYPT_OK) { - goto err_out; + if (n >= s_siv_max_aad_components) { + err = CRYPT_INPUT_TOO_LONG; + goto err_out2; } - if ((err = s_siv_S2V_zero(&ctx, D, &Dlen)) != CRYPT_OK) { - goto err_out; + if ((err = s_siv_S2V_dbl_xor_cmac(&ctx, aad, aadlen, &D)) != CRYPT_OK) { + goto err_out2; } + n++; + } while (n < adnum); - do { - if (n >= s_siv_max_aad_components) { - err = CRYPT_INPUT_TOO_LONG; - goto err_out; - } - if ((err = s_siv_S2V_dbl_xor_cmac(&ctx, aad, aadlen, D, Dlen)) != CRYPT_OK) { - goto err_out; - } - aad = va_arg(args, const unsigned char*); - if (aad == NULL) - break; - aadlen = va_arg(args, unsigned long); - n++; - } while (aadlen); - - if ((err = s_siv_S2V_T(&ctx, in_work, in_work_len, D, siv.V, &Vlen)) != CRYPT_OK) { - goto err_out; - } + if ((err = s_siv_S2V_T(&ctx, in_work, in_work_len, &D, &siv.V)) != CRYPT_OK) { + goto err_out2; } if (direction == LTC_DECRYPT) { - err = XMEM_NEQ(siv.V, in, Vlen); + err = XMEM_NEQ(&siv.V, in, sizeof(siv.V)); copy_or_zeromem(in_work, out, in_work_len, err); *outlen = in_work_len; } else { - s_siv_bitand(siv.V, siv.Q); - XMEMCPY(out_work, siv.V, 16); - out_work += 16; + s_siv_bitand(&siv.V, &siv.Q); - if ((err = s_ctr_crypt_memory(cipher, siv.Q, K2, keylen/2, in, out_work, inlen)) != CRYPT_OK) { - zeromem(out, inlen + 16); - goto err_out; + if ((err = s_ctr_crypt_memory(cipher, siv.Q.u.byte, K2, keylen/2, in_work, buf, inlen)) != CRYPT_OK) { + goto err_out2; } + XMEMCPY(out, &siv.V, 16); + XMEMCPY(out + 16, buf, inlen); *outlen = inlen + 16; } -err_out: - if (in_buf) { - zeromem(in_buf, in_work_len); - XFREE(in_buf); - } +err_out2: va_end(args); +err_out: #ifdef LTC_CLEAN_STACK - zeromem(D, sizeof(D)); + zeromem(&ctx, sizeof(ctx)); zeromem(&siv, sizeof(siv)); + zeromem(&D, sizeof(D)); #endif + zeromem(buf, in_work_len); + XFREE(buf); return err; } @@ -580,6 +586,34 @@ int siv_test(void) { AD1_A2, AD2_A2, AD3_A2, NULL }; unsigned long adlen_A2[] = { sizeof(AD1_A2), sizeof(AD2_A2), sizeof(AD3_A2), 0 }; + const unsigned char *ad_ossl0[] = + { AD1_A2, NULL, AD3_A2, NULL }; + unsigned long adlen_ossl0[] = + { sizeof(AD1_A2), 0, sizeof(AD3_A2), 0 }; + const unsigned char output_ossl0[] = + { 0x83, 0xce, 0x65, 0x93, 0xa8, 0xfa, 0x67, 0xeb, + 0x6f, 0xcd, 0x28, 0x19, 0xce, 0xdf, 0xc0, 0x11, + 0x30, 0xd9, 0x37, 0xb4, 0x2f, 0x71, 0xf7, 0x1f, + 0x93, 0xfc, 0x2d, 0x8d, 0x70, 0x2d, 0x3e, 0xac, + 0x8d, 0xc7, 0x65, 0x1e, 0xef, 0xcd, 0x81, 0x12, + 0x00, 0x81, 0xff, 0x29, 0xd6, 0x26, 0xf9, 0x7f, + 0x3d, 0xe1, 0x7f, 0x29, 0x69, 0xb6, 0x91, 0xc9, + 0x1b, 0x69, 0xb6, 0x52, 0xbf, 0x3a, 0x6d }; + const unsigned char *ad_ossl1[] = + { NULL, AD1_A2, AD3_A2, NULL }; + unsigned long adlen_ossl1[] = + { 0, sizeof(AD1_A2), sizeof(AD3_A2), 0 }; + const unsigned char output_ossl1[] = + { 0x77, 0xdd, 0x4a, 0x44, 0xf5, 0xa6, 0xb4, 0x13, + 0x02, 0x12, 0x1e, 0xe7, 0xf3, 0x78, 0xde, 0x25, + 0x0f, 0xcd, 0x66, 0x4c, 0x92, 0x24, 0x64, 0xc8, + 0x89, 0x39, 0xd7, 0x1f, 0xad, 0x7a, 0xef, 0xb8, + 0x64, 0xe5, 0x01, 0xb0, 0x84, 0x8a, 0x07, 0xd3, + 0x92, 0x01, 0xc1, 0x06, 0x7a, 0x72, 0x88, 0xf3, + 0xda, 0xdf, 0x01, 0x31, 0xa8, 0x23, 0xa0, 0xbc, + 0x3d, 0x58, 0x8e, 0x85, 0x64, 0xa5, 0xfe }; + + #define PL_PAIR(n) n, sizeof(n) struct { @@ -587,14 +621,17 @@ int siv_test(void) unsigned long Keylen; const unsigned char* Plaintext; unsigned long Plaintextlen; + unsigned long ADnum; const void* ADs; void* ADlens; const unsigned char* output; unsigned long outputlen; const char* name; } siv_tests[] = { - { PL_PAIR(Key_A1), PL_PAIR(Plaintext_A1), &ad_A1, &adlen_A1, PL_PAIR(output_A1), "RFC5297 - A.1. Deterministic Authenticated Encryption Example" }, - { PL_PAIR(Key_A2), PL_PAIR(Plaintext_A2), &ad_A2, &adlen_A2, PL_PAIR(output_A2), "RFC5297 - A.2. Nonce-Based Authenticated Encryption Example" } + { PL_PAIR(Key_A1), PL_PAIR(Plaintext_A1), 1, &ad_A1, &adlen_A1, PL_PAIR(output_A1), "RFC5297 - A.1. Deterministic Authenticated Encryption Example" }, + { PL_PAIR(Key_A2), PL_PAIR(Plaintext_A2), 3, &ad_A2, &adlen_A2, PL_PAIR(output_A2), "RFC5297 - A.2. Nonce-Based Authenticated Encryption Example" }, + { PL_PAIR(Key_A2), PL_PAIR(Plaintext_A2), 3, &ad_ossl0, &adlen_ossl0, PL_PAIR(output_ossl0), "OpenSSL based example 0" }, + { PL_PAIR(Key_A2), PL_PAIR(Plaintext_A2), 3, &ad_ossl1, &adlen_ossl1, PL_PAIR(output_ossl1), "OpenSSL based example 1" }, }; #undef PL_PAIR @@ -603,7 +640,7 @@ int siv_test(void) unsigned long buflen, tmplen; unsigned char buf[MAX(sizeof(output_A1), sizeof(output_A2))]; const unsigned long niter = 1000; - unsigned char *tmpe, *tmpd; + unsigned char *tmp[3] = {0}; const unsigned long tmpmax = 16 + niter * 16; cipher = find_cipher("aes"); @@ -612,6 +649,7 @@ int siv_test(void) buflen = sizeof(buf); if ((err = siv_encrypt_memory(cipher, siv_tests[n].Key, siv_tests[n].Keylen, + siv_tests[n].ADnum, (const unsigned char **)siv_tests[n].ADs, siv_tests[n].ADlens, siv_tests[n].Plaintext, siv_tests[n].Plaintextlen, buf, &buflen)) != CRYPT_OK) { @@ -623,6 +661,7 @@ int siv_test(void) buflen = sizeof(buf); if ((err = siv_decrypt_memory(cipher, siv_tests[n].Key, siv_tests[n].Keylen, + siv_tests[n].ADnum, (const unsigned char **)siv_tests[n].ADs, siv_tests[n].ADlens, siv_tests[n].output, siv_tests[n].outputlen, buf, &buflen)) != CRYPT_OK) { @@ -639,6 +678,7 @@ int siv_test(void) siv_tests[0].Key, siv_tests[0].Keylen, siv_tests[0].Plaintext, siv_tests[0].Plaintextlen, buf, &buflen, + 1, AD_A1, sizeof(AD_A1), NULL)) != CRYPT_OK) { return err; @@ -652,6 +692,7 @@ int siv_test(void) siv_tests[0].Key, siv_tests[0].Keylen, siv_tests[0].output, siv_tests[0].outputlen, buf, &buflen, + 1, AD_A1, sizeof(AD_A1), NULL)) != CRYPT_OK) { return err; @@ -668,6 +709,7 @@ int siv_test(void) siv_tests[1].Key, siv_tests[1].Keylen, siv_tests[1].Plaintext, siv_tests[1].Plaintextlen, buf, &buflen, + 3, ad_A2[0], adlen_A2[0], ad_A2[1], adlen_A2[1], ad_A2[2], adlen_A2[2], @@ -683,6 +725,7 @@ int siv_test(void) siv_tests[1].Key, siv_tests[1].Keylen, siv_tests[1].output, siv_tests[1].outputlen, buf, &buflen, + 3, ad_A2[0], adlen_A2[0], ad_A2[1], adlen_A2[1], ad_A2[2], adlen_A2[2], @@ -693,51 +736,86 @@ int siv_test(void) return CRYPT_FAIL_TESTVECTOR; } - tmpe = XCALLOC(1, tmpmax); - if (tmpe == NULL) { - return CRYPT_MEM; + for (n = 0; n < LTC_ARRAY_SIZE(tmp); ++n) { + tmp[n] = XCALLOC(1, tmpmax); + if (tmp[n] == NULL) { + err = CRYPT_MEM; + goto out; + } + + } + tmplen = 16; + for (n = 0; n < niter; ++n) { + buflen = tmpmax; + if ((err = siv_encrypt_memory(cipher, + siv_tests[0].Key, siv_tests[0].Keylen, + 0, + NULL, NULL, + tmp[0], tmplen, + tmp[0], &buflen)) != CRYPT_OK) { + goto out; + } + tmplen = buflen; } - tmpd = XCALLOC(1, tmpmax); - if (tmpd == NULL) { - err = CRYPT_MEM; - goto out_tmpd; + if (ltc_compare_testvector(&buflen, sizeof(buflen), &tmpmax, sizeof(tmpmax), "Multiple encrypt length", -(int)niter)) { + err = CRYPT_FAIL_TESTVECTOR; + goto out; + } + XMEMCPY(tmp[1], tmp[0], buflen); + for (n = 0; n < niter; ++n) { + buflen = tmpmax; + if ((err = siv_decrypt_memory(cipher, + siv_tests[0].Key, siv_tests[0].Keylen, + 0, + NULL, NULL, + tmp[1], tmplen, + tmp[1], &buflen)) != CRYPT_OK) { + goto out; + } + tmplen = buflen; + } + if (ltc_compare_testvector(tmp[1], tmplen, tmp[2], tmplen, "Multi decrypt", niter + 0x2000)) { + err = CRYPT_FAIL_TESTVECTOR; } tmplen = 16; + XMEMSET(tmp[0], 0, tmplen); for (n = 0; n < niter; ++n) { buflen = tmpmax; if ((err = siv_memory(cipher, LTC_ENCRYPT, siv_tests[0].Key, siv_tests[0].Keylen, - tmpe, tmplen, - tmpe, &buflen, + tmp[0], tmplen, + tmp[0], &buflen, + 0, NULL)) != CRYPT_OK) { goto out; } tmplen = buflen; } - if (ltc_compare_testvector(&buflen, sizeof(buflen), &tmpmax, sizeof(tmpmax), "Multiple encrypt length", -(int)niter)) { + if (ltc_compare_testvector(&buflen, sizeof(buflen), &tmpmax, sizeof(tmpmax), "Multiple encrypt length", -(int)(niter + 0x4000))) { err = CRYPT_FAIL_TESTVECTOR; goto out; } - XMEMCPY(tmpd, tmpe, buflen); + XMEMCPY(tmp[1], tmp[0], buflen); for (n = 0; n < niter; ++n) { buflen = tmpmax; if ((err = siv_memory(cipher, LTC_DECRYPT, siv_tests[0].Key, siv_tests[0].Keylen, - tmpd, tmplen, - tmpd, &buflen, + tmp[1], tmplen, + tmp[1], &buflen, + 0, NULL)) != CRYPT_OK) { goto out; } tmplen = buflen; } - if (ltc_compare_testvector(tmpd, tmplen, tmpe, tmplen, "Multi decrypt", niter + 0x2000)) { + if (ltc_compare_testvector(tmp[1], tmplen, tmp[2], tmplen, "Multi decrypt", niter + 0x4000)) { err = CRYPT_FAIL_TESTVECTOR; } out: - XFREE(tmpd); -out_tmpd: - XFREE(tmpe); + for (n = LTC_ARRAY_SIZE(tmp); n --> 0;) { + XFREE(tmp[n]); + } return err; #endif diff --git a/src/hashes/sha1_x86.c b/src/hashes/sha1_x86.c index 8f65665da..c1c5408be 100644 --- a/src/hashes/sha1_x86.c +++ b/src/hashes/sha1_x86.c @@ -7,11 +7,11 @@ SHA1 code by Marek Knapek */ - -#ifdef LTC_SHA1_X86 +#if defined(LTC_SHA1) && defined(LTC_SHA1_X86) #if defined(__GNUC__) #pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-align" #pragma GCC diagnostic ignored "-Wdeclaration-after-statement" #pragma GCC diagnostic ignored "-Wuninitialized" #pragma GCC diagnostic ignored "-Wunused-function" diff --git a/src/hashes/sha2/sha224_desc.c b/src/hashes/sha2/sha224_desc.c index 37d542f86..6aa9dfd20 100644 --- a/src/hashes/sha2/sha224_desc.c +++ b/src/hashes/sha2/sha224_desc.c @@ -27,7 +27,7 @@ const struct ltc_hash_descriptor sha224_desc = NULL }; -#if defined LTC_SHA256_X86 +#if defined LTC_SHA224_X86 #if !defined (LTC_S_X86_CPUID) #define LTC_S_X86_CPUID diff --git a/src/hashes/sha2/sha224_x86.c b/src/hashes/sha2/sha224_x86.c index 8f9dd831b..f562b34a0 100644 --- a/src/hashes/sha2/sha224_x86.c +++ b/src/hashes/sha2/sha224_x86.c @@ -7,7 +7,7 @@ #include "tomcrypt_private.h" -#if defined(LTC_SHA224) && defined(LTC_SHA256) && defined(LTC_SHA224_X86) +#if defined(LTC_SHA224) && defined(LTC_SHA256) && defined(LTC_SHA224_X86) && defined(LTC_SHA256_X86) const struct ltc_hash_descriptor sha224_x86_desc = { @@ -66,7 +66,7 @@ int sha224_x86_done(hash_state * md, unsigned char *out) LTC_ARGCHK(md != NULL); LTC_ARGCHK(out != NULL); - err = sha256_done(md, buf); + err = sha256_x86_done(md, buf); XMEMCPY(out, buf, 28); #ifdef LTC_CLEAN_STACK zeromem(buf, sizeof(buf)); diff --git a/src/hashes/sha2/sha256_desc.c b/src/hashes/sha2/sha256_desc.c index 1f60aa887..993b0a168 100644 --- a/src/hashes/sha2/sha256_desc.c +++ b/src/hashes/sha2/sha256_desc.c @@ -2,27 +2,7 @@ /* SPDX-License-Identifier: Unlicense */ #include "tomcrypt_private.h" -#ifdef LTC_SHA256 - -const struct ltc_hash_descriptor sha256_desc = -{ - "sha256", - 0, - 32, - 64, - - /* OID */ - { 2, 16, 840, 1, 101, 3, 4, 2, 1, }, - 9, - - &sha256_init, - &sha256_process, - &sha256_done, - &sha256_test, - NULL -}; - -#if defined LTC_SHA256_X86 +#if defined LTC_ARCH_X86 #if !defined (LTC_S_X86_CPUID) #define LTC_S_X86_CPUID @@ -70,7 +50,36 @@ static LTC_INLINE int s_sha256_x86_is_supported(void) } return is_supported; } -#endif /* LTC_SHA256_X86 */ +#endif /* LTC_ARCH_X86 */ + +int shani_is_supported(void) +{ +#ifdef LTC_ARCH_X86 + return s_sha256_x86_is_supported(); +#else + return 0; +#endif +} + +#ifdef LTC_SHA256 + +const struct ltc_hash_descriptor sha256_desc = +{ + "sha256", + 0, + 32, + 64, + + /* OID */ + { 2, 16, 840, 1, 101, 3, 4, 2, 1, }, + 9, + + &sha256_init, + &sha256_process, + &sha256_done, + &sha256_test, + NULL +}; /** Initialize the hash state diff --git a/src/hashes/sha2/sha256_x86.c b/src/hashes/sha2/sha256_x86.c index de79b4167..43a23c913 100644 --- a/src/hashes/sha2/sha256_x86.c +++ b/src/hashes/sha2/sha256_x86.c @@ -11,6 +11,7 @@ #if defined(__GNUC__) #pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wcast-align" #pragma GCC diagnostic ignored "-Wdeclaration-after-statement" #pragma GCC diagnostic ignored "-Wuninitialized" #pragma GCC diagnostic ignored "-Wunused-function" diff --git a/src/headers/tomcrypt_cfg.h b/src/headers/tomcrypt_cfg.h index 6f82aa9a3..f0f5051e2 100644 --- a/src/headers/tomcrypt_cfg.h +++ b/src/headers/tomcrypt_cfg.h @@ -243,14 +243,22 @@ typedef unsigned long ltc_mp_digit; #undef ENDIAN_32BITWORD #undef ENDIAN_64BITWORD #undef LTC_FAST - #define LTC_NO_AES_NI + #define LTC_NO_ACCEL #define LTC_NO_BSWAP #define LTC_NO_CLZL #define LTC_NO_CTZL #define LTC_NO_ROLC #define LTC_NO_ROTATE +#endif + +/* Just portable C implementations */ +#ifdef LTC_NO_ACCEL + #define LTC_NO_AES_NI #define LTC_NO_GCM_PCLMUL #define LTC_NO_GCM_PMULL + #define LTC_NO_SHA1_X86 + #define LTC_NO_SHA224_X86 + #define LTC_NO_SHA256_X86 #endif /* No LTC_FAST if: explicitly disabled OR non-gcc/non-clang compiler OR old gcc OR using -ansi -std=c99 */ @@ -307,10 +315,15 @@ typedef unsigned long ltc_mp_digit; #define LTC_HAVE_CTZL_BUILTIN #endif -#if (defined(__x86_64__) || defined(_M_X64)) +#if (defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || defined(_M_IX86)) + #define LTC_ARCH_X86 #if !defined(LTC_NO_AES_NI) #define LTC_AES_NI #endif + #if !defined(LTC_NO_GCM_PCLMUL) + #define LTC_GCM_PCLMUL + #undef LTC_GCM_TABLES + #endif #if !defined(LTC_NO_SHA1_X86) #define LTC_SHA1_X86 #endif @@ -384,19 +397,6 @@ typedef unsigned long ltc_mp_digit; # define LTC_ATTRIBUTE(x) #endif -#if !defined(LTC_NO_GCM_PCLMUL) && (defined(__x86_64__) || defined(__i386__) || defined(_M_X64) || defined(_M_IX86)) -#define LTC_GCM_PCLMUL -#undef LTC_GCM_TABLES -#endif - -#if defined(__clang__) || defined(__GNUC__) -#define LTC_GCM_PCLMUL_TARGET __attribute__((target("pclmul,ssse3"))) -#define LTC_SHA_TARGET __attribute__((__target__("sse2,ssse3,sse4.1,sha"))) -#else -#define LTC_GCM_PCLMUL_TARGET -#define LTC_SHA_TARGET -#endif - #if !defined(LTC_NO_GCM_PMULL) && (defined(__aarch64__) || defined(_M_ARM64)) #define LTC_GCM_PMULL #undef LTC_GCM_TABLES diff --git a/src/headers/tomcrypt_cipher.h b/src/headers/tomcrypt_cipher.h index b370fedb0..0f07f2417 100644 --- a/src/headers/tomcrypt_cipher.h +++ b/src/headers/tomcrypt_cipher.h @@ -711,9 +711,9 @@ void rijndael_enc_done(symmetric_key *skey); int rijndael_enc_keysize(int *keysize); extern const struct ltc_cipher_descriptor rijndael_desc; extern const struct ltc_cipher_descriptor rijndael_enc_desc; +#endif int aesni_is_supported(void); -#endif #if defined(LTC_AES_NI) int aesni_setup(const unsigned char *key, int keylen, int num_rounds, symmetric_key *skey); diff --git a/src/headers/tomcrypt_custom.h b/src/headers/tomcrypt_custom.h index ed1440082..914d190aa 100644 --- a/src/headers/tomcrypt_custom.h +++ b/src/headers/tomcrypt_custom.h @@ -126,6 +126,7 @@ #define LTC_RIJNDAEL #define LTC_SHA256 #define LTC_YARROW + #define LTC_ECB_MODE #define LTC_CTR_MODE #define LTC_RNG_MAKE_PRNG diff --git a/src/headers/tomcrypt_hash.h b/src/headers/tomcrypt_hash.h index a6bd75028..c80ad9590 100644 --- a/src/headers/tomcrypt_hash.h +++ b/src/headers/tomcrypt_hash.h @@ -375,6 +375,8 @@ int sha512_224_test(void); extern const struct ltc_hash_descriptor sha512_224_desc; #endif /* LTC_SHA512_224 */ +int shani_is_supported(void); + #ifdef LTC_SHA256 int sha256_init(hash_state * md); int sha256_process(hash_state * md, const unsigned char *in, unsigned long inlen); diff --git a/src/headers/tomcrypt_mac.h b/src/headers/tomcrypt_mac.h index 2e067bc87..33dd04ff7 100644 --- a/src/headers/tomcrypt_mac.h +++ b/src/headers/tomcrypt_mac.h @@ -560,11 +560,13 @@ int chacha20poly1305_test(void); int siv_encrypt_memory( int cipher, const unsigned char *key, unsigned long keylen, + unsigned long adnum, const unsigned char *ad[], unsigned long adlen[], const unsigned char *pt, unsigned long ptlen, unsigned char *ct, unsigned long *ctlen); int siv_decrypt_memory( int cipher, const unsigned char *key, unsigned long keylen, + unsigned long adnum, const unsigned char *ad[], unsigned long adlen[], const unsigned char *ct, unsigned long ctlen, unsigned char *pt, unsigned long *ptlen); @@ -572,6 +574,7 @@ int siv_memory( int cipher, int direction, const unsigned char *key, unsigned long keylen, const unsigned char *in, unsigned long inlen, unsigned char *out, unsigned long *outlen, + unsigned long adnum, ...) LTC_NULL_TERMINATED; int siv_test(void); diff --git a/src/headers/tomcrypt_pk.h b/src/headers/tomcrypt_pk.h index 5fee1a2ba..25876f970 100644 --- a/src/headers/tomcrypt_pk.h +++ b/src/headers/tomcrypt_pk.h @@ -404,7 +404,8 @@ typedef struct ltc_ecc_sig_opts { * This must be set in case one requires the recovery ID of a * signature operation. */ - int *recid; + unsigned char enable_recovery_id; + int recovery_id; /** The hash algorithm to use when creating a signature. * Setting this will enable RFC6979 compatible signature generation. diff --git a/src/headers/tomcrypt_private.h b/src/headers/tomcrypt_private.h index 1658cca7a..39c56454d 100644 --- a/src/headers/tomcrypt_private.h +++ b/src/headers/tomcrypt_private.h @@ -182,6 +182,9 @@ int func_name (hash_state * md, const unsigned char *in, unsigned long inlen) return CRYPT_OK; \ } + +#define LTC_SHA_TARGET LTC_ATTRIBUTE((__target__("sse2,ssse3,sse4.1,sha"))) + #ifdef LTC_SHA1 int sha1_test_desc(const struct ltc_hash_descriptor *desc, const char *name); #endif diff --git a/src/mac/omac/omac_process.c b/src/mac/omac/omac_process.c index 35ee9d261..d2183d507 100644 --- a/src/mac/omac/omac_process.c +++ b/src/mac/omac/omac_process.c @@ -23,7 +23,7 @@ int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen) int err; LTC_ARGCHK(omac != NULL); - LTC_ARGCHK(in != NULL); + LTC_ARGCHK(in != NULL || inlen == 0); if ((omac->buflen > (int)sizeof(omac->block)) || (omac->buflen < 0) || (omac->blklen > (int)sizeof(omac->block)) || (omac->buflen > omac->blklen)) { diff --git a/src/math/rand_prime.c b/src/math/rand_prime.c index 0cd6c0dce..6f13806ce 100644 --- a/src/math/rand_prime.c +++ b/src/math/rand_prime.c @@ -9,21 +9,19 @@ Generate a random prime, Tom St Denis */ -#define USE_BBS 1 - int rand_prime(void *N, long len, prng_state *prng, int wprng) { - int err, res, type; - unsigned char *buf; + int err, res; + unsigned char *buf, bbs; LTC_ARGCHK(N != NULL); - /* get type */ if (len < 0) { - type = USE_BBS; + /* Create BBS (Blum Blum Shub) style prime */ + bbs = 0x02; len = -len; } else { - type = 0; + bbs = 0x00; } /* allow sizes between 2 and 512 bytes for a prime size */ @@ -51,7 +49,7 @@ int rand_prime(void *N, long len, prng_state *prng, int wprng) /* munge bits */ buf[0] |= 0x80 | 0x40; - buf[len-1] |= 0x01 | ((type & USE_BBS) ? 0x02 : 0x00); + buf[len-1] |= 0x01 | bbs; /* load value */ if ((err = ltc_mp_read_unsigned_bin(N, buf, len)) != CRYPT_OK) { diff --git a/src/misc/crypt/crypt.c b/src/misc/crypt/crypt.c index ccef4a0c7..26fe4fbb3 100644 --- a/src/misc/crypt/crypt.c +++ b/src/misc/crypt/crypt.c @@ -13,9 +13,12 @@ const char *crypt_build_settings = "LibTomCrypt " SCRYPT " (www.libtom.net)\n" "LibTomCrypt is public domain software.\n" #if defined(INCLUDE_BUILD_DATE) - "Built on " __DATE__ " at " __TIME__ "\n" + "Built on " __DATE__ " at " __TIME__ "\n\n" #endif - "\n\nEndianness: " +#if defined(LTC_ARCH_X86) + "LTC_ARCH_X86\n" +#endif + "\nEndianness: " #if defined(ENDIAN_NEUTRAL) "neutral/" #endif @@ -502,13 +505,13 @@ const char *crypt_build_settings = #if defined(LTC_PEM_SSH) " OpenSSH-PEM " #endif -#if defined(LTC_SHA1_X86) +#if defined(LTC_SHA1) && defined(LTC_SHA1_X86) " SHA1-NI " #endif -#if defined(LTC_SHA224_X86) +#if defined(LTC_SHA224) && defined(LTC_SHA224_X86) " SHA224-NI " #endif -#if defined(LTC_SHA256_X86) +#if defined(LTC_SHA256) && defined(LTC_SHA256_X86) " SHA256-NI " #endif #if defined(LTC_DEVRANDOM) diff --git a/src/misc/padding/padding_depad.c b/src/misc/padding/padding_depad.c index e3f715112..a784f1af7 100644 --- a/src/misc/padding/padding_depad.c +++ b/src/misc/padding/padding_depad.c @@ -17,7 +17,7 @@ int padding_depad(const unsigned char *data, unsigned long *length, unsigned long mode) { unsigned long padded_length, unpadded_length, n; - unsigned char pad; + unsigned char pad, data_xor_pad = 0; enum padding_type type; LTC_ARGCHK(data != NULL); @@ -30,9 +30,12 @@ int padding_depad(const unsigned char *data, unsigned long *length, unsigned lon if (type < LTC_PAD_ONE_AND_ZERO) { pad = data[padded_length - 1]; - if (pad > padded_length || pad == 0) return CRYPT_INVALID_ARG; - - unpadded_length = padded_length - pad; + if (pad > padded_length || pad == 0) { + unpadded_length = padded_length - (padded_length > 16 ? padded_length - 16 : padded_length); + data_xor_pad = 1; + } else { + unpadded_length = padded_length - pad; + } } else { /* init pad to calm old compilers */ pad = 0x0; @@ -45,7 +48,7 @@ int padding_depad(const unsigned char *data, unsigned long *length, unsigned lon /* FALLTHROUGH */ case LTC_PAD_PKCS7: for (n = unpadded_length; n < padded_length - 1; ++n) { - if (data[n] != pad) return CRYPT_INVALID_PACKET; + data_xor_pad |= data[n] ^ pad; } break; #ifdef LTC_RNG_GET_BYTES @@ -56,17 +59,17 @@ int padding_depad(const unsigned char *data, unsigned long *length, unsigned lon case LTC_PAD_SSH: pad = 0x1; for (n = unpadded_length; n < padded_length; ++n) { - if (data[n] != pad++) return CRYPT_INVALID_PACKET; + data_xor_pad |= data[n] ^ pad++; } break; case LTC_PAD_ONE_AND_ZERO: while (unpadded_length > 0 && data[unpadded_length - 1] != 0x80) { - if (data[unpadded_length - 1] != 0x0) return CRYPT_INVALID_PACKET; + data_xor_pad |= data[unpadded_length - 1]; unpadded_length--; } - if (unpadded_length == 0) return CRYPT_INVALID_PACKET; - unpadded_length--; - if (data[unpadded_length] != 0x80) return CRYPT_INVALID_PACKET; + if (unpadded_length == 0) data_xor_pad |= 1; + else unpadded_length--; + if (data[unpadded_length] != 0x80) data_xor_pad |= 1; break; case LTC_PAD_ZERO: case LTC_PAD_ZERO_ALWAYS: @@ -82,6 +85,9 @@ int padding_depad(const unsigned char *data, unsigned long *length, unsigned lon return CRYPT_INVALID_ARG; } + if (data_xor_pad != 0) + return CRYPT_INVALID_PACKET; + *length = unpadded_length; return CRYPT_OK; diff --git a/src/modes/ctr/ctr_decrypt.c b/src/modes/ctr/ctr_decrypt.c index a55a08fc2..ac421fa28 100644 --- a/src/modes/ctr/ctr_decrypt.c +++ b/src/modes/ctr/ctr_decrypt.c @@ -20,7 +20,7 @@ int ctr_decrypt(const unsigned char *ct, unsigned char *pt, unsigned long len, symmetric_CTR *ctr) { LTC_ARGCHK(pt != NULL); - LTC_ARGCHK(ct != NULL); + LTC_ARGCHK(ct != NULL || len == 0); LTC_ARGCHK(ctr != NULL); return ctr_encrypt(ct, pt, len, ctr); diff --git a/src/modes/ctr/ctr_encrypt.c b/src/modes/ctr/ctr_encrypt.c index 2859574bc..043b5ae48 100644 --- a/src/modes/ctr/ctr_encrypt.c +++ b/src/modes/ctr/ctr_encrypt.c @@ -81,7 +81,7 @@ int ctr_encrypt(const unsigned char *pt, unsigned char *ct, unsigned long len, s { int err, fr; - LTC_ARGCHK(pt != NULL); + LTC_ARGCHK(pt != NULL || len == 0); LTC_ARGCHK(ct != NULL); LTC_ARGCHK(ctr != NULL); diff --git a/src/pk/ecc/ecc_recover_key.c b/src/pk/ecc/ecc_recover_key.c index ebd1a410d..7d1e01e4c 100644 --- a/src/pk/ecc/ecc_recover_key.c +++ b/src/pk/ecc/ecc_recover_key.c @@ -65,7 +65,7 @@ int ecc_recover_key(const unsigned char *sig, unsigned long siglen, err = CRYPT_MEM; goto error; } - recid = (opts->recid != NULL) ? *(opts->recid) : -1; + recid = (opts->enable_recovery_id) ? opts->recovery_id : -1; if (opts->type == LTC_ECCSIG_RFC7518) { /* RFC7518 format - raw (r,s) */ diff --git a/src/pk/ecc/ecc_sign_hash_eth27.c b/src/pk/ecc/ecc_sign_hash_eth27.c index 4944d4527..d340070d5 100644 --- a/src/pk/ecc/ecc_sign_hash_eth27.c +++ b/src/pk/ecc/ecc_sign_hash_eth27.c @@ -19,7 +19,7 @@ int ecc_sign_hash_eth27(const unsigned char *in, unsigned long inlen, unsigned char *out, unsigned long *outlen, ltc_ecc_sig_opts *opts, const ecc_key *key) { - int err, recid; + int err; void *r, *s; unsigned long i; @@ -37,9 +37,9 @@ int ecc_sign_hash_eth27(const unsigned char *in, unsigned long inlen, return CRYPT_BUFFER_OVERFLOW; } + opts->enable_recovery_id = 1; + if ((err = ltc_mp_init_multi(&r, &s, LTC_NULL)) != CRYPT_OK) return err; - if (opts->recid == NULL) - opts->recid = &recid; if ((err = ecc_sign_hash_internal(in, inlen, r, s, opts, key)) != CRYPT_OK) goto error; zeromem(out, 65); @@ -48,12 +48,10 @@ int ecc_sign_hash_eth27(const unsigned char *in, unsigned long inlen, if ((err = ltc_mp_to_unsigned_bin(r, out + 32 - i)) != CRYPT_OK) goto error; i = ltc_mp_unsigned_bin_size(s); if ((err = ltc_mp_to_unsigned_bin(s, out + 64 - i)) != CRYPT_OK) goto error; - out[64] = (unsigned char)(*(opts->recid) + 27); /* Recovery ID is 27/28 for Ethereum */ + out[64] = (unsigned char)(opts->recovery_id + 27); /* Recovery ID is 27/28 for Ethereum */ err = CRYPT_OK; error: - if (opts->recid == &recid) - opts->recid = NULL; ltc_mp_deinit_multi(r, s, LTC_NULL); return err; } diff --git a/src/pk/ecc/ecc_sign_hash_internal.c b/src/pk/ecc/ecc_sign_hash_internal.c index 9e2db46bc..670fbe66f 100644 --- a/src/pk/ecc/ecc_sign_hash_internal.c +++ b/src/pk/ecc/ecc_sign_hash_internal.c @@ -67,7 +67,7 @@ int ecc_sign_hash_internal(const unsigned char *in, unsigned long inlen, /* find r = x1 mod n */ if ((err = ltc_mp_mod(pubkey.pubkey.x, p, r)) != CRYPT_OK) { goto error; } - if (opts->recid) { + if (opts->enable_recovery_id) { /* find recovery ID (if needed) */ v = 0; if (ltc_mp_copy(pubkey.pubkey.x, s) != CRYPT_OK) { goto error; } @@ -102,7 +102,7 @@ int ecc_sign_hash_internal(const unsigned char *in, unsigned long inlen, goto errnokey; } - if (opts->recid) *opts->recid = v; + if (opts->enable_recovery_id) opts->recovery_id = v; goto errnokey; error: diff --git a/tests/cipher_hash_test.c b/tests/cipher_hash_test.c index 92e082307..699b7d365 100644 --- a/tests/cipher_hash_test.c +++ b/tests/cipher_hash_test.c @@ -56,6 +56,27 @@ int cipher_hash_test(void) DOX(hash_descriptor[x].test(), hash_descriptor[x].name); } + /* explicit SHA-NI + portable implementations tests */ + if (shani_is_supported()) { +#if defined(LTC_SHA256) && defined(LTC_SHA256_X86) + DO(sha256_x86_test()); +#endif +#if defined(LTC_SHA224) && defined(LTC_SHA224_X86) + DO(sha224_x86_test()); +#endif +#if defined(LTC_SHA1) && defined(LTC_SHA1_X86) + DO(sha1_x86_test()); +#endif + } +#if defined(LTC_SHA256) + DO(sha256_c_test()); +#endif +#if defined(LTC_SHA224) + DO(sha224_c_test()); +#endif +#if defined(LTC_SHA1) + DO(sha1_c_test()); +#endif #ifdef LTC_SHA3 /* SHAKE128 + SHAKE256 tests are a bit special */ DOX(sha3_shake_test(), "sha3_shake"); diff --git a/tests/ecc_test.c b/tests/ecc_test.c index f2c5ee1bf..90293ed35 100644 --- a/tests/ecc_test.c +++ b/tests/ecc_test.c @@ -643,21 +643,21 @@ static int s_ecc_new_api(void) #ifdef LTC_ECC_SHAMIR if (strcmp(ltc_mp.name, "TomsFastMath") != 0) { /* XXX-FIXME: TFM does not support sqrtmod_prime */ - int found = 0, recid; + int found = 0; ecc_key reckey; /* test recovery */ - sig_opts.recid = &recid; + sig_opts.enable_recovery_id = 1; len = sizeof(buf); DO(ecc_sign_hash_v2(data16, privkey.dp.size, buf, &len, &sig_opts, &privkey)); DO(ecc_set_curve(dp, &reckey)); for (k = 0; k < 2*(1+privkey.dp.cofactor); k++) { - recid = k; + sig_opts.recovery_id = k; stat = ecc_recover_key(buf, len, data16, privkey.dp.size, &sig_opts, &reckey); if (stat != CRYPT_OK) continue; /* last two will almost always fail, only possible if x<(prime mod order) */ stat = ecc_key_cmp(PK_PUBLIC, &pubkey, &reckey); if (stat == CRYPT_OK) found++; } - sig_opts.recid = NULL; + sig_opts.enable_recovery_id = 0; if (found != 1) return CRYPT_FAIL_TESTVECTOR; /* unique match */ ecc_free(&reckey); } @@ -995,7 +995,7 @@ static int s_ecc_rfc6979(void) } }, { - NULL + 0 } }; @@ -1971,7 +1971,7 @@ static int s_ecc_test_ethereum(void) static int s_ecc_test_recovery(void) { - int i, recid, stat; + int i, stat; const ltc_ecc_curve* dp; ecc_key key, privkey, pubkey, reckey; unsigned char buf[1000]; @@ -1998,7 +1998,7 @@ static int s_ecc_test_recovery(void) ltc_ecc_sig_opts sig_opts = { .prng = &yarrow_prng, .wprng = find_prng ("yarrow"), - .recid = &recid + .enable_recovery_id = 1, }; /* XXX-FIXME: TFM does not support sqrtmod_prime */ @@ -2011,14 +2011,14 @@ static int s_ecc_test_recovery(void) DO(ecc_set_key(eth_pubkey, sizeof(eth_pubkey), PK_PUBLIC, &pubkey)); DO(ecc_set_curve(dp, &reckey)); - recid = 0; + sig_opts.recovery_id = 0; sig_opts.type = LTC_ECCSIG_RFC7518; DO(ecc_recover_key(eth_sig, sizeof(eth_sig)-1, eth_hash, sizeof(eth_hash), &sig_opts, &reckey)); DO(ecc_key_cmp(PK_PUBLIC, &pubkey, &reckey)); ecc_free(&reckey); DO(ecc_set_curve(dp, &reckey)); - recid = -1; + sig_opts.recovery_id = -1; sig_opts.type = LTC_ECCSIG_ETH27; DO(ecc_recover_key(eth_sig, sizeof(eth_sig), eth_hash, sizeof(eth_hash), &sig_opts, &reckey)); DO(ecc_key_cmp(PK_PUBLIC, &pubkey, &reckey)); @@ -2055,7 +2055,7 @@ static int s_ecc_test_recovery(void) /* test signature */ len = sizeof(buf); - recid = 0; + sig_opts.recovery_id = 0; DO(ecc_sign_hash_v2(data16, 16, buf, &len, &sig_opts, &privkey)); /* test verification */ @@ -2098,5 +2098,9 @@ int ecc_test(void) #endif return CRYPT_OK; } - +#else +int ecc_test(void) +{ + return CRYPT_NOP; +} #endif diff --git a/tests/file_test.c b/tests/file_test.c index c410d8963..294e95500 100644 --- a/tests/file_test.c +++ b/tests/file_test.c @@ -28,6 +28,10 @@ int file_test(void) isha256 = find_hash("sha256"); iaes = find_cipher("aes"); + /* Suppress warnings when building with -DLTC_MINIMAL */ + LTC_UNUSED_PARAM(iaes); + LTC_UNUSED_PARAM(key); + len = sizeof(buf); if ((in = fopen(fname, "rb")) == NULL) return CRYPT_FILE_NOTFOUND; err = hash_filehandle(isha256, in, buf, &len); diff --git a/tests/mac_test.c b/tests/mac_test.c index da1d95372..7a904b760 100644 --- a/tests/mac_test.c +++ b/tests/mac_test.c @@ -52,6 +52,7 @@ int mac_test(void) #endif #ifdef LTC_SIV_MODE DO(siv_test()); + DO(siv_wycheproof_test()); #endif return 0; } diff --git a/tests/multi_test.c b/tests/multi_test.c index e02940554..94236c1b1 100644 --- a/tests/multi_test.c +++ b/tests/multi_test.c @@ -9,10 +9,16 @@ int multi_test(void) unsigned char buf[2][MAXBLOCKSIZE]; unsigned long len, len2; + /* Suppress warnings when building with -DLTC_MINIMAL */ + LTC_UNUSED_PARAM(key); + LTC_UNUSED_PARAM(buf); + LTC_UNUSED_PARAM(len); + LTC_UNUSED_PARAM(len2); /* register algos */ register_hash(&sha256_desc); register_cipher(&aes_desc); +#ifdef LTC_HASH_HELPERS /* HASH testing */ len = sizeof(buf[0]); #if defined(ENDIAN_32BITWORD) || defined(_WIN32) || defined(ENDIAN_64BITWORD_ILP32) @@ -43,6 +49,7 @@ int multi_test(void) printf("Failed: %d %lu %lu\n", __LINE__, len, len2); return CRYPT_FAIL_TESTVECTOR; } +#endif #ifdef LTC_HMAC len = sizeof(buf[0]); diff --git a/tests/padding_test.c b/tests/padding_test.c index 9cc9add4a..434db007b 100644 --- a/tests/padding_test.c +++ b/tests/padding_test.c @@ -5,11 +5,11 @@ #ifdef LTC_PADDING -typedef struct padding_testcase_ padding_testcase; +typedef struct padding_testcase padding_testcase; typedef int (*cmp_padding_testcase)(const padding_testcase*, const unsigned char*, unsigned long); -struct padding_testcase_ { +struct padding_testcase { unsigned long is, should, max, mode; const char* name; cmp_padding_testcase cmp; diff --git a/tests/siv_wycheproof.h b/tests/siv_wycheproof.h new file mode 100644 index 000000000..e194ca026 --- /dev/null +++ b/tests/siv_wycheproof.h @@ -0,0 +1,1345 @@ +/* LibTomCrypt, modular cryptographic library -- Tom St Denis */ +/* SPDX-License-Identifier: Unlicense */ +#include + +#if defined(LTC_TEST) && defined(LTC_SIV_MODE) +#include +typedef enum ltc_aes_siv_test_case_result +{ + LTC_TEST_CASE_SHOULD_SUCCEED, + LTC_TEST_CASE_SHOULD_FAIL, +} ltc_aes_siv_test_case_result; + +typedef struct { int tcId; const char* comment; uint8_t key[64]; unsigned long keyLen; const uint8_t* aad; unsigned long aadLen; const uint8_t* msg; unsigned long msgLen; const uint8_t* ct; unsigned long ctLen; ltc_aes_siv_test_case_result result; } aes_siv_test_case; + +static const uint8_t aad_1[] = {0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27}; +static const uint8_t msg_1[] = {0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xaa,0xbb,0xcc,0xdd,0xee}; +static const uint8_t ct_1[] = {0x85,0x63,0x2d,0x07,0xc6,0xe8,0xf3,0x7f,0x95,0x0a,0xcd,0x32,0x0a,0x2e,0xcc,0x93,0x40,0xc0,0x2b,0x96,0x90,0xc4,0xdc,0x04,0xda,0xef,0x7f,0x6a,0xfe,0x5c}; +static const uint8_t ct_2[] = {0xb2,0xb2,0x35,0x4e,0x37,0x24,0xdc,0xda,0xa8,0x5e,0xcf,0x02,0x9b,0x49,0xa9,0x0c}; +static const uint8_t aad_3[] = {0x82,0x68,0xc5,0x19,0x4a,0x71,0xae,0xd0,0xfc,0x1d,0xaf,0xe3}; +static const uint8_t ct_3[] = {0x92,0xbc,0x07,0xee,0x20,0x0f,0xbd,0x48,0x8b,0x7f,0x70,0xa1,0x0d,0xa2,0x6a,0x21}; +static const uint8_t aad_4[] = {0x24,0xab,0x40,0xe7,0x96,0x6c,0x5b,0xfe,0x8a,0x5d,0x2b,0x0a,0x6a,0x97,0x65}; +static const uint8_t ct_4[] = {0xf4,0x49,0x34,0xd6,0xf5,0xba,0x77,0x12,0x2f,0x19,0x85,0x99,0xcd,0x0e,0x5e,0x52}; +static const uint8_t aad_5[] = {0x9f,0xff,0xf1,0x96,0xbe,0xfb,0x5f,0xfb,0xa0,0x1a,0xfa,0x92,0x35,0x41,0x8d,0x57}; +static const uint8_t ct_5[] = {0xc1,0x1a,0xb0,0xae,0x19,0x30,0x18,0xd2,0xc9,0xc7,0x98,0x5a,0xec,0x3f,0x8a,0x5b}; +static const uint8_t aad_6[] = {0xa9,0xef,0xd1,0x55,0x15,0x9b,0x53,0x3f,0x2b,0x64,0x9b,0x2e,0x5f,0xbf,0x87,0xe6,0xa2,0xc1,0x1e,0xe8}; +static const uint8_t ct_6[] = {0xcf,0x52,0xa3,0xc9,0xe2,0xd3,0xd9,0x9a,0x66,0xf7,0x41,0x35,0xf3,0x9e,0x28,0xbb}; +static const uint8_t aad_7[] = {0x89,0x6d,0xcd,0xb3,0x67,0xf3,0xc7,0x6d,0x60,0x09,0x3d,0xc5,0xae,0x09,0xbc,0x4f,0x30,0xe5,0xcb,0x88,0xe3,0x43,0x4e,0x6e,0xb0,0xf0,0x70,0x0a,0xc7,0x52,0xcd,0x97}; +static const uint8_t ct_7[] = {0x8f,0x60,0x3b,0x65,0xe7,0x67,0xef,0x17,0x8b,0x4d,0xd1,0x1d,0xb6,0xc1,0x14,0xc1}; +static const uint8_t aad_8[] = {0x86,0x5d,0x39,0xae,0x9b,0x5e,0x9f,0xf8,0xd6,0x30,0x8e,0x00,0x20,0x87,0x45,0xbc}; +static const uint8_t msg_8[] = {0xcc,0x37,0xfa,0xe1,0x5f,0x74,0x5a,0x2f,0x40,0xe2,0xc8,0xb1,0x92,0xf2,0xb3,0x8d}; +static const uint8_t ct_8[] = {0xc7,0x9c,0x86,0xcd,0x75,0x09,0xe6,0x0a,0x16,0xca,0x8c,0xec,0x6b,0xca,0xa1,0xc5,0x8f,0xbd,0x60,0x99,0x71,0x89,0x91,0xfe,0x77,0x5b,0xf5,0xa6,0x59,0xd3,0x0a,0x24}; +static const uint8_t aad_9[] = {0x8e,0xe2,0x1f,0x1a,0x5e,0x2b,0x3f,0x8b,0x8f,0x20,0x64,0xe5,0xce,0xca,0xc8,0x1d}; +static const uint8_t msg_9[] = {0x91,0xa1,0x7e,0x4d,0xfc,0xc3,0x16,0x6a,0x1a,0xdd,0x26,0xff,0x0e,0x7c,0x12,0x05,0x6e,0x8a,0x65,0x4f,0x28,0xa6,0xde,0x24,0xf4,0xba,0x73,0x9c,0xeb,0x5b,0x5b,0x18}; +static const uint8_t ct_9[] = {0x84,0x91,0x95,0x03,0x1e,0x89,0x27,0xa1,0xaf,0x4f,0x64,0xcb,0xdd,0x80,0x48,0x46,0x1c,0x03,0x59,0x8b,0xfb,0xa4,0x41,0x31,0x27,0x76,0xa4,0xe8,0xac,0x95,0x9b,0xee,0x44,0xc5,0x21,0x80,0x12,0x87,0xa2,0xfd,0x95,0xe2,0x32,0x9b,0x1c,0x69,0x44,0x41}; +static const uint8_t aad_10[] = {0x3a,0x83,0x63,0xf5,0x1b,0xce,0x89,0x1e,0xba,0x7b,0xcc,0x0a,0xa4,0x31,0x1e,0x10}; +static const uint8_t msg_10[] = {0x39,0xb4,0x47,0xbd,0x3a,0x01,0x98,0x3c,0x1c,0xb7,0x61,0xb4,0x56,0xd6,0x90,0x00,0x94,0x8c,0xeb,0x87,0x05,0x62,0xa5,0x36,0x12,0x6a,0x0d,0x18,0xa8,0xe7,0xe4,0x9b,0x16,0xde,0x8f,0xe6,0x72,0xf1,0x3d,0x08,0x08,0xd8,0xb7,0xd9,0x57,0x89,0x99,0x17}; +static const uint8_t ct_10[] = {0x9f,0x66,0x76,0x5a,0x01,0x92,0x77,0xa7,0xa7,0xac,0xb9,0x2e,0x80,0xf8,0x30,0x0b,0xaa,0x72,0x4c,0x92,0x56,0x09,0x51,0xeb,0x09,0xd8,0x55,0xf4,0x71,0xfe,0x1b,0x58,0x99,0x28,0xe5,0x1f,0x7a,0x8a,0x4b,0xbc,0x6c,0xc9,0xf5,0x5f,0xab,0xb2,0xec,0xa2,0xeb,0xb4,0xfa,0xca,0x14,0xd1,0xae,0x20,0xcf,0xdc,0x31,0xb9,0x60,0x2e,0x98,0x91}; +static const uint8_t aad_11[] = {0x4c,0x37,0x5f,0xd3,0xc4,0xd4,0x5c,0x5c,0xff,0xf1,0x6d,0x55}; +static const uint8_t msg_11[] = {0x49}; +static const uint8_t ct_11[] = {0xf5,0xc8,0x15,0x5c,0x7d,0xd7,0xf4,0x7c,0x61,0xd9,0x80,0xcc,0xd2,0x17,0x5b,0xeb,0x9b}; +static const uint8_t aad_12[] = {0x59,0x9f,0x61,0xc6,0x49,0xe7,0xcc,0x5c,0xbb,0xd7,0xa7,0x8f}; +static const uint8_t msg_12[] = {0x7c,0x0c}; +static const uint8_t ct_12[] = {0x13,0x0e,0x8d,0xe1,0x10,0x80,0xa3,0xb2,0x7c,0xc1,0xef,0x12,0x72,0x58,0x6c,0x24,0x71,0x7c}; +static const uint8_t aad_13[] = {0x9a,0x58,0x22,0x45,0xb4,0x6c,0x61,0x70,0xe3,0xf5,0xca,0x53}; +static const uint8_t msg_13[] = {0x2f,0x5c,0x53}; +static const uint8_t ct_13[] = {0xb9,0x89,0x02,0xdc,0x89,0xe6,0x81,0x1d,0xfb,0xa5,0xea,0xfb,0x15,0x61,0x18,0x6d,0xc1,0x84,0x9e}; +static const uint8_t aad_14[] = {0xea,0xb4,0x1f,0x34,0x17,0xc7,0x9b,0xc7,0x26,0x2c,0x7b,0x64}; +static const uint8_t msg_14[] = {0x41,0xec,0x71,0x78}; +static const uint8_t ct_14[] = {0xcd,0x82,0x47,0x17,0x88,0x6f,0x33,0x63,0x62,0x29,0x37,0xbc,0xd1,0x18,0x96,0x0a,0x0e,0x26,0x05,0xfe}; +static const uint8_t aad_15[] = {0xe9,0xa4,0xb0,0x8a,0x8e,0x2e,0xbb,0xb1,0x3f,0x82,0xf8,0x70}; +static const uint8_t msg_15[] = {0xeb,0xe6,0x56,0xa9,0x7b}; +static const uint8_t ct_15[] = {0x85,0x28,0x88,0x34,0xb2,0x5f,0x27,0xe9,0x60,0x83,0xe2,0xf3,0x60,0xd3,0xc7,0xe7,0x48,0x65,0x19,0xb4,0xf5}; +static const uint8_t aad_16[] = {0xfc,0xa5,0x37,0xf5,0x0d,0x5f,0xce,0x3c,0xdc,0x99,0x4b,0x70}; +static const uint8_t msg_16[] = {0x82,0xf0,0xd4,0x9b,0x77,0xa5}; +static const uint8_t ct_16[] = {0x9a,0xcd,0x6e,0xe8,0xa8,0x27,0xc2,0xc5,0xd0,0xda,0x7b,0xf7,0x81,0x5d,0xbd,0x85,0x11,0xbd,0x8c,0x5a,0x79,0xc1}; +static const uint8_t aad_17[] = {0x95,0xdc,0xea,0xfc,0xd4,0x26,0xa9,0xbc,0xbe,0x99,0xb8,0x42}; +static const uint8_t msg_17[] = {0x1d,0x63,0x52,0x48,0x01,0x4c,0x3b}; +static const uint8_t ct_17[] = {0xf7,0xc7,0x39,0xf6,0xa0,0xe2,0x0e,0x94,0x26,0x5e,0xcb,0xbd,0xae,0xc3,0x6c,0xd5,0x97,0x08,0x89,0x67,0x91,0x7d,0x47}; +static const uint8_t aad_18[] = {0x0c,0x78,0x41,0x25,0x71,0x5b,0x7f,0x9b,0x10,0x67,0xb0,0x77}; +static const uint8_t msg_18[] = {0xb9,0x78,0x58,0x7b,0xf0,0x28,0x55,0x8d}; +static const uint8_t ct_18[] = {0x16,0x38,0x33,0xac,0x90,0x4d,0x30,0x58,0x9c,0xad,0x9a,0x00,0x2b,0xd7,0x02,0xf5,0xc7,0x80,0x9b,0x04,0x69,0x3f,0xd8,0xfb}; +static const uint8_t aad_19[] = {0x53,0x35,0x39,0x76,0xf1,0x8a,0xe8,0xc8,0xcb,0xc7,0xe0,0x66}; +static const uint8_t msg_19[] = {0x07,0x8a,0x6a,0x3d,0x7d,0x1d,0x31,0x20,0x04}; +static const uint8_t ct_19[] = {0x87,0xa3,0x7e,0x3d,0xe3,0x69,0x0b,0x11,0xfb,0xa0,0x89,0xc0,0x68,0xe1,0xc1,0xea,0x17,0xa4,0xd0,0x5e,0xcf,0xb0,0xa9,0x76,0x31}; +static const uint8_t aad_20[] = {0x0b,0xae,0xd8,0xc0,0x67,0x18,0x69,0x7b,0x4e,0x84,0x5a,0xcb}; +static const uint8_t msg_20[] = {0x43,0x5e,0x10,0x1a,0x1a,0x44,0x16,0xab,0xe5,0xce}; +static const uint8_t ct_20[] = {0x1e,0xe7,0x89,0x1a,0xfb,0xc9,0x2d,0x52,0x28,0x2e,0xb3,0xfd,0xad,0xa6,0xf8,0x86,0xae,0x61,0x3f,0x6d,0x60,0xe5,0xd8,0xc1,0xa3,0xa6}; +static const uint8_t aad_21[] = {0x30,0x69,0x9d,0xc6,0xf4,0x97,0x21,0x5a,0xcd,0xa1,0x54,0x41}; +static const uint8_t msg_21[] = {0xcc,0xb3,0xe3,0xe1,0xbb,0xf6,0xc3,0xb0,0x3c,0x25,0x7b}; +static const uint8_t ct_21[] = {0xa7,0x8a,0x01,0x33,0x1b,0xb6,0xda,0x90,0x96,0x73,0x19,0x85,0x94,0x34,0xdb,0xfd,0xd2,0xf9,0xb9,0xc6,0x82,0x65,0xc1,0x90,0xe2,0x8b,0xa3}; +static const uint8_t aad_22[] = {0x16,0x44,0x00,0x93,0x60,0x32,0xde,0x67,0xa4,0x66,0x0b,0x87}; +static const uint8_t msg_22[] = {0x6c,0x9a,0x00,0x29,0xbf,0xc9,0x89,0x73,0x67,0x6d,0x42,0x08}; +static const uint8_t ct_22[] = {0x1a,0x10,0x4a,0x2d,0xe4,0x59,0xa3,0xaa,0x9f,0x7b,0x50,0x14,0x38,0xb1,0x20,0x60,0x2d,0xe2,0x7a,0x8d,0x25,0x9a,0xe4,0xf5,0x8e,0xf5,0x02,0x94}; +static const uint8_t aad_23[] = {0x00,0x90,0x02,0xfc,0xf1,0x32,0x82,0x0a,0xd3,0x83,0x89,0x38}; +static const uint8_t msg_23[] = {0x9e,0x98,0x13,0xcd,0x49,0x81,0x66,0x22,0x0b,0xd0,0xd4,0x9d,0xa9}; +static const uint8_t ct_23[] = {0x3d,0x81,0x75,0xb8,0x43,0x30,0x16,0x90,0x08,0x9b,0x8a,0xa5,0x41,0x36,0xd6,0x98,0xcc,0xd3,0xd8,0x8a,0x5d,0x02,0xa3,0xa6,0x5f,0x2b,0x11,0x5b,0x00}; +static const uint8_t aad_24[] = {0x52,0xdf,0xc3,0x2b,0xab,0x8b,0xc1,0x50,0x2d,0x18,0xa3,0x34}; +static const uint8_t msg_24[] = {0x2e,0x7a,0x1b,0x4c,0x80,0x8c,0x1c,0xf4,0xe6,0x4e,0x8c,0x5c,0xe5,0x4f}; +static const uint8_t ct_24[] = {0x9f,0xc0,0x42,0xa0,0x89,0x18,0x74,0x1e,0x2b,0x7b,0xea,0xb9,0xcd,0x79,0xd7,0x62,0x62,0x14,0xd8,0x96,0x00,0x91,0xcf,0x30,0x52,0x56,0xe5,0x49,0xee,0x36}; +static const uint8_t aad_25[] = {0x4d,0xbf,0x5c,0x20,0xce,0x4c,0xae,0xed,0xfe,0xfc,0xae,0x1d}; +static const uint8_t msg_25[] = {0xc9,0x65,0x96,0xeb,0xba,0x6f,0x89,0x76,0x1b,0x9d,0x14,0xdf,0xcc,0x8f,0xb4}; +static const uint8_t ct_25[] = {0x91,0xa7,0xf5,0xc4,0x58,0x53,0x51,0xb8,0xb7,0x6d,0x4a,0x48,0x36,0xa3,0x19,0x9a,0xa7,0x61,0xe5,0xf9,0xee,0x1c,0xdd,0x84,0x25,0x8a,0x6a,0x36,0x96,0xf7,0xe9}; +static const uint8_t aad_26[] = {0xa5,0xc2,0xf6,0xcf,0x30,0x9f,0x29,0xc2,0x5f,0x5c,0xe3,0x5d}; +static const uint8_t msg_26[] = {0xdb,0xcf,0x98,0x25,0x41,0x57,0x72,0x7c,0x35,0xf3,0x67,0xfe,0x6e,0x15,0xa2,0xd0,0x89}; +static const uint8_t ct_26[] = {0x96,0xbf,0x5d,0xd0,0xc2,0x8d,0xbd,0x60,0x72,0xb7,0x0e,0x2b,0x5b,0x72,0xd3,0xeb,0x9f,0x41,0xad,0xc6,0xd5,0xd8,0x77,0xe8,0x08,0xfb,0xf1,0x5e,0xd4,0x11,0x7b,0x50,0x07}; +static const uint8_t aad_27[] = {0xe4,0x0e,0x09,0xfe,0xa8,0x64,0x42,0xdc,0xf2,0xcd,0x17,0x6d}; +static const uint8_t msg_27[] = {0x3d,0xe2,0x18,0x65,0x21,0x7c,0x94,0xc4,0xf8,0x22,0x08,0xcc,0xd6,0x2a,0xd5,0x7f,0x13,0xba,0x1f,0x5e}; +static const uint8_t ct_27[] = {0xbe,0x36,0x6c,0xa7,0x6d,0x9a,0xfe,0x36,0xc7,0xd0,0x17,0xc1,0x22,0x1e,0x1b,0xe4,0x1a,0x59,0x4e,0x1d,0x85,0x35,0x74,0xc0,0x6d,0x23,0x57,0x75,0xb7,0x1c,0xc0,0xb5,0x6a,0x7d,0xa6,0x31}; +static const uint8_t aad_28[] = {0x34,0xea,0xfb,0x78,0x18,0x63,0xd8,0x56,0x49,0xf8,0xc9,0xb0}; +static const uint8_t msg_28[] = {0x8a,0x69,0xfb,0x2a,0xb5,0x3b,0x99,0x5d,0xaf,0x2c,0xd4,0x3f,0xc3,0x16,0x69,0x0f,0x71,0xe1,0x71,0xff,0xc5,0xab,0x84,0xf6,0x8b,0xae,0x3c,0x03,0x8a,0x9f,0xd7}; +static const uint8_t ct_28[] = {0x73,0xfb,0x50,0x1f,0x90,0x3d,0x90,0xc3,0x50,0x39,0xc0,0x65,0x56,0x3a,0x0b,0x8f,0x27,0x46,0x10,0xf0,0x5b,0x8d,0x98,0x8a,0x19,0x34,0x60,0x65,0x8d,0x32,0x5a,0x25,0x5e,0x80,0x88,0x47,0xf3,0xfa,0xf9,0x37,0xe0,0x35,0x4a,0x93,0x20,0x1a,0xb0}; +static const uint8_t aad_29[] = {0x46,0xa6,0x56,0x72,0xd2,0x69,0x92,0x67,0xab,0x27,0xda,0x82}; +static const uint8_t msg_29[] = {0x22,0x7e,0x71,0x4e,0x3e,0xfa,0x84,0xe4,0x80,0x49,0x14,0x2e,0xda,0xa3,0x11,0xda,0xb2,0x85,0x40,0x7f,0x9b,0x62,0x8b,0x14,0x6f,0x1d,0x61,0x32,0xc2,0x50,0x0c,0xa2,0x84,0x97,0xfb,0xd6,0xe3,0x86,0x67,0x9c}; +static const uint8_t ct_29[] = {0xb3,0x0e,0xc3,0xb9,0xc8,0x54,0x02,0xc3,0x56,0x72,0x83,0x91,0xac,0xf0,0x4f,0xcc,0x0d,0x02,0xba,0x85,0xb6,0xa9,0xe9,0x0c,0xf8,0x46,0x15,0x5d,0x4a,0xb3,0x15,0x89,0x52,0xbd,0x17,0x91,0x88,0x53,0x70,0xbf,0x23,0xba,0x26,0xd8,0xd2,0x33,0x59,0x63,0x7b,0x6e,0x24,0xe8,0x76,0x3e,0xd1,0x07}; +static const uint8_t aad_30[] = {0xed,0x9e,0xc5,0x61,0xec,0xf5,0xe2,0x89,0xa1,0x51,0x6c,0x9f}; +static const uint8_t msg_30[] = {0xf7,0x0e,0xf1,0x59,0x8f,0x40,0x39,0x02,0xdc,0xab,0x4c,0xc2,0x3b,0xb1,0x26,0x5f,0x34,0xe8,0x25,0xb9,0x9a,0xbc,0x61,0xb2,0x6a,0x22,0xb9,0xbb,0xf4,0x78,0xc3,0xc1,0xe6,0x1e,0x67,0xe9,0x82,0x01,0xbc,0x56,0x4d,0x02,0x2b,0x87,0xb4,0x10,0x6a,0xad,0x0c,0x4c,0xa2,0xd3,0x0e,0x89,0x27,0xfb,0xa5,0xb5,0x2a,0x76,0x97,0x1e,0xf7,0x9a,0x92,0xa1,0xeb,0x6c,0xf4,0xef,0x87,0xae,0xa6,0xb5,0x51,0x56,0x7a,0x2c,0x4c,0x41}; +static const uint8_t ct_30[] = {0xfa,0xfe,0xa5,0x5b,0xba,0x06,0x80,0xa5,0x10,0xce,0x09,0x5d,0x5c,0x8a,0x40,0xa8,0x4a,0x76,0x07,0x1b,0x89,0x38,0xdc,0xfe,0x99,0xc8,0xc7,0x3b,0x04,0x92,0x30,0xac,0x52,0xdf,0x7e,0x09,0x76,0x98,0x52,0xa6,0x05,0x73,0x53,0xa7,0xdf,0x7b,0x8d,0x18,0x88,0x2c,0xe5,0x36,0x9c,0x6b,0xb8,0x55,0xf2,0x71,0xd8,0x81,0x08,0x71,0x9a,0x1b,0x5e,0xa5,0x76,0x5f,0x54,0x9c,0x28,0x26,0x39,0xc8,0xbf,0xac,0xc3,0x4b,0x5b,0x10,0x99,0x1b,0x8f,0xbd,0xae,0x2e,0x42,0x42,0x9f,0xb7,0xf0,0x55,0x4e,0x0e,0x56,0x11}; +static const uint8_t msg_31[] = {0x1d,0x7f,0x9c,0xc8,0x1b,0x31,0x6c,0x51,0x8e,0xfc,0xd7,0x92,0x7e,0x8f,0x7b,0x88}; +static const uint8_t ct_31[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xdc,0xac,0x31,0x15,0xdd,0xbd,0x3d,0x8e,0xc2,0x88,0x22,0xe5,0x40,0x88,0xd0}; +static const uint8_t aad_32[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_32[] = {0xf1,0x6d,0x49,0x58,0xe9,0x33,0x77,0x8c,0x54,0xaa,0xbc,0xd6,0xfd,0xa1,0xca,0xbc}; +static const uint8_t ct_32[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0xce,0x79,0xa1,0xe7,0xdf,0xa6,0xe0,0x54,0x94,0xe3,0x66,0x66,0x6e,0x39,0xe4}; +static const uint8_t msg_33[] = {0x11,0x0d,0x3a,0xa6,0xf5,0x58,0xc3,0x09,0x77,0x87,0x06,0x72,0x80,0x40,0x64,0xe0}; +static const uint8_t ct_33[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x01,0xf7,0x4b,0x8e,0x43,0xa2,0x62,0x00,0x1d,0x83,0x57,0xf9,0x54,0x89,0x43,0x2e}; +static const uint8_t aad_34[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_34[] = {0xfd,0x1f,0xef,0x36,0x07,0x5a,0xd8,0xd4,0xad,0xd1,0x6d,0x36,0x03,0x6e,0xd5,0xd4}; +static const uint8_t ct_34[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xed,0xe5,0x9e,0x1e,0xb1,0xa0,0x79,0xdd,0xc7,0xd5,0x3c,0xbd,0xd7,0xa7,0xf2,0x1a}; +static const uint8_t msg_35[] = {0xc8,0x3e,0x25,0x6b,0xa8,0xba,0xec,0x09,0x38,0xe5,0x1a,0x60,0xbd,0x81,0x9c,0xc1}; +static const uint8_t ct_35[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xd8,0xc4,0x54,0x43,0x1e,0x40,0x4d,0x00,0x52,0xe1,0x4b,0xeb,0x69,0x48,0xbb,0x0f}; +static const uint8_t aad_36[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_36[] = {0x24,0x2c,0xf0,0xfb,0x5a,0xb8,0xf7,0xd4,0xe2,0xb3,0x71,0x24,0x3e,0xaf,0x2d,0xf5}; +static const uint8_t ct_36[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0x34,0xd6,0x81,0xd3,0xec,0x42,0x56,0xdd,0x88,0xb7,0x20,0xaf,0xea,0x66,0x0a,0x3b}; +static const uint8_t msg_37[] = {0xd8,0xc8,0x9e,0x8e,0xce,0x83,0xde,0x43,0x7e,0xac,0x13,0xca,0x7b,0x1e,0xbb,0x2c}; +static const uint8_t ct_37[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xc8,0x32,0xef,0xa6,0x78,0x79,0x7f,0x4a,0x14,0xa8,0x42,0x41,0xaf,0xd7,0x9c,0xe2}; +static const uint8_t aad_38[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_38[] = {0x34,0xda,0x4b,0x1e,0x3c,0x81,0xc5,0x9e,0xa4,0xfa,0x78,0x8e,0xf8,0x30,0x0a,0x18}; +static const uint8_t ct_38[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x24,0x20,0x3a,0x36,0x8a,0x7b,0x64,0x97,0xce,0xfe,0x29,0x05,0x2c,0xf9,0x2d,0xd6}; +static const uint8_t msg_39[] = {0xb0,0x76,0x68,0x7f,0x33,0x46,0x0a,0xf3,0x2b,0x7f,0x0e,0xdc,0x33,0x04,0xbf,0xff}; +static const uint8_t ct_39[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xe2,0x14,0x95,0x31,0x22,0x3f,0x57,0x03,0xd3,0xcc,0xe8,0x87,0xd0,0xdf,0xe5,0x44}; +static const uint8_t aad_40[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_40[] = {0x5c,0x64,0xbd,0xef,0xc1,0x44,0x11,0x2e,0xf1,0x29,0x65,0x98,0xb0,0x2a,0x0e,0xcb}; +static const uint8_t ct_40[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x0e,0x06,0x40,0xa1,0xd0,0x3d,0x4c,0xde,0x09,0x9a,0x83,0xc3,0x53,0xf1,0x54,0x70}; +static const uint8_t ct_41[] = {0x65,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_42[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_42[] = {0x45,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_43[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_43[] = {0x61,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_44[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_44[] = {0x10,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_45[] = {0x66,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_46[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_46[] = {0x46,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_47[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_47[] = {0x62,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_48[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_48[] = {0x13,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_49[] = {0xe4,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_50[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_50[] = {0xc4,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_51[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_51[] = {0xe0,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_52[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_52[] = {0x91,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_53[] = {0x64,0x6b,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_54[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_54[] = {0x44,0xc1,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_55[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_55[] = {0x60,0xe9,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_56[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_56[] = {0x11,0xed,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_57[] = {0x64,0x6a,0x1c,0xbe,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_58[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_58[] = {0x44,0xc0,0xcc,0x89,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_59[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_59[] = {0x60,0xe8,0x02,0x17,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_60[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_60[] = {0x11,0xec,0xf9,0xf2,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_61[] = {0x64,0x6a,0x1c,0x3e,0xff,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_62[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_62[] = {0x44,0xc0,0xcc,0x09,0xb9,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_63[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_63[] = {0x60,0xe8,0x02,0x97,0xb1,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_64[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_64[] = {0x11,0xec,0xf9,0x72,0xc1,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_65[] = {0x64,0x6a,0x1c,0x3e,0xfc,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_66[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_66[] = {0x44,0xc0,0xcc,0x09,0xba,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_67[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_67[] = {0x60,0xe8,0x02,0x97,0xb2,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_68[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_68[] = {0x11,0xec,0xf9,0x72,0xc2,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_69[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0xd8,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_70[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_70[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0xb7,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_71[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_71[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0x45,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_72[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_72[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0xe5,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_73[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9a,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_74[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_74[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf9,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_75[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_75[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4f,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_76[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_76[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2f,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_77[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x1b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_78[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_78[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0x78,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_79[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_79[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0xce,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_80[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_80[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0xae,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_81[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xdd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_82[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_82[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x42,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_83[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_83[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xfa,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_84[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_84[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0x86,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_85[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd1,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_86[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_86[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6a,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_87[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_87[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x59,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_88[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_88[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xee,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_89[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2d,0xc8,0x69,0x23}; +static const uint8_t msg_90[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_90[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xdb,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_91[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_91[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x69,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_92[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_92[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3a,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_93[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2e,0xc8,0x69,0x23}; +static const uint8_t msg_94[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_94[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xd8,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_95[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_95[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x6a,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_96[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_96[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x39,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_97[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0xac,0xc8,0x69,0x23}; +static const uint8_t msg_98[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_98[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0x5a,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_99[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_99[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0xe8,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_100[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_100[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0xbb,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_101[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x22}; +static const uint8_t msg_102[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_102[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf2,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_103[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_103[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x33,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_104[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_104[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x22,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_105[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x21}; +static const uint8_t msg_106[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_106[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf1,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_107[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_107[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x30,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_108[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_108[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x21,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_109[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x63}; +static const uint8_t msg_110[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_110[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xb3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_111[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_111[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x72,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_112[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_112[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x63,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_113[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0xa3}; +static const uint8_t msg_114[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_114[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0x73,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_115[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_115[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0xb2,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_116[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_116[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0xa3,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_117[] = {0x65,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0x58,0x9a,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_118[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_118[] = {0x45,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0x37,0xf9,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_119[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_119[] = {0x61,0xe8,0x02,0x97,0xb0,0xba,0x41,0xc5,0x4f,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_120[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_120[] = {0x10,0xec,0xf9,0x72,0xc0,0x02,0x09,0x65,0x2f,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_121[] = {0x64,0x6a,0x1c,0xbe,0xfe,0xb7,0xd2,0xd8,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0x23}; +static const uint8_t msg_122[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_122[] = {0x44,0xc0,0xcc,0x89,0xb8,0xcc,0x0c,0xb7,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0xf3,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_123[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_123[] = {0x60,0xe8,0x02,0x17,0xb0,0xba,0x41,0x45,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0x32,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_124[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_124[] = {0x11,0xec,0xf9,0xf2,0xc0,0x02,0x09,0xe5,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0x23,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_125[] = {0x64,0x6a,0x1c,0x3e,0xfe,0xb7,0xd2,0xd8,0x9b,0xfd,0xd0,0x89,0x2c,0xc8,0x69,0xa3}; +static const uint8_t msg_126[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_126[] = {0x44,0xc0,0xcc,0x09,0xb8,0xcc,0x0c,0xb7,0xf8,0x62,0x6b,0x36,0xda,0xb9,0x5d,0x73,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_127[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_127[] = {0x60,0xe8,0x02,0x97,0xb0,0xba,0x41,0x45,0x4e,0xda,0x58,0xc4,0x68,0x50,0x2b,0xb2,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_128[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_128[] = {0x11,0xec,0xf9,0x72,0xc0,0x02,0x09,0xe5,0x2e,0xa6,0xef,0x4a,0x3b,0x46,0xea,0xa3,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_129[] = {0x9b,0x95,0xe3,0xc1,0x01,0x48,0x2d,0xa7,0x64,0x02,0x2f,0x76,0xd3,0x37,0x96,0xdc}; +static const uint8_t msg_130[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_130[] = {0xbb,0x3f,0x33,0xf6,0x47,0x33,0xf3,0xc8,0x07,0x9d,0x94,0xc9,0x25,0x46,0xa2,0x0c,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_131[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_131[] = {0x9f,0x17,0xfd,0x68,0x4f,0x45,0xbe,0x3a,0xb1,0x25,0xa7,0x3b,0x97,0xaf,0xd4,0xcd,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_132[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_132[] = {0xee,0x13,0x06,0x8d,0x3f,0xfd,0xf6,0x9a,0xd1,0x59,0x10,0xb5,0xc4,0xb9,0x15,0xdc,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_133[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; +static const uint8_t msg_134[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_134[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_135[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_135[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_136[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_136[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_137[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; +static const uint8_t msg_138[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_138[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_139[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_139[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_140[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_140[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_141[] = {0xe4,0xea,0x9c,0xbe,0x7e,0x37,0x52,0xd8,0x1b,0x7d,0x50,0x09,0xac,0x48,0xe9,0xa3}; +static const uint8_t msg_142[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_142[] = {0xc4,0x40,0x4c,0x89,0x38,0x4c,0x8c,0xb7,0x78,0xe2,0xeb,0xb6,0x5a,0x39,0xdd,0x73,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_143[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_143[] = {0xe0,0x68,0x82,0x17,0x30,0x3a,0xc1,0x45,0xce,0x5a,0xd8,0x44,0xe8,0xd0,0xab,0xb2,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_144[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_144[] = {0x91,0x6c,0x79,0xf2,0x40,0x82,0x89,0xe5,0xae,0x26,0x6f,0xca,0xbb,0xc6,0x6a,0xa3,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_145[] = {0x65,0x6b,0x1d,0x3f,0xff,0xb6,0xd3,0x59,0x9a,0xfc,0xd1,0x88,0x2d,0xc9,0x68,0x22}; +static const uint8_t msg_146[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_146[] = {0x45,0xc1,0xcd,0x08,0xb9,0xcd,0x0d,0x36,0xf9,0x63,0x6a,0x37,0xdb,0xb8,0x5c,0xf2,0x2a,0xa0,0x3c,0xea,0xfa,0x0e,0x45,0xe6}; +static const uint8_t msg_147[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_147[] = {0x61,0xe9,0x03,0x96,0xb1,0xbb,0x40,0xc4,0x4f,0xdb,0x59,0xc5,0x69,0x51,0x2a,0x33,0xda,0x4e,0x0e,0xfa,0x57,0x35,0x2f,0x1a,0x11,0x4e,0x4b,0x3f,0x0c,0xb2,0x34,0xc6}; +static const uint8_t msg_148[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_148[] = {0x10,0xed,0xf8,0x73,0xc1,0x03,0x08,0x64,0x2f,0xa7,0xee,0x4b,0x3a,0x47,0xeb,0x22,0x59,0xe6,0xfa,0xeb,0xd6,0xaf,0x70,0x63,0xc8,0x66,0x03,0x62,0x86,0x6f,0x1b,0x2a,0xf5,0x3a,0x98,0x9e}; +static const uint8_t ct_149[] = {0x59,0xe0,0xa9,0xa0,0x4c,0xdb,0x1d,0x9d,0x7b,0xee,0x6b,0xe8,0xbb,0x06,0xfd,0x61}; +static const uint8_t aad_150[] = {0xb4,0x02,0xae,0x88,0x04,0x87,0xcf,0xaa,0x93,0x14,0x54,0x9b}; +static const uint8_t ct_150[] = {0xb5,0x0b,0xe5,0xe4,0x6a,0x39,0x12,0xdc,0xac,0xff,0x27,0x11,0x5e,0x20,0x9e,0x24}; +static const uint8_t aad_151[] = {0x3f,0x33,0xc7,0x81,0xea,0x57,0xec,0x1c,0x29,0x8f,0x40,0x2c,0xbb,0xd2,0x7e}; +static const uint8_t ct_151[] = {0x2a,0xec,0x07,0xdb,0x61,0xe8,0xe4,0x03,0xfa,0x04,0x65,0x99,0x21,0xcc,0xaf,0x65}; +static const uint8_t aad_152[] = {0xbd,0x2a,0xa0,0x7a,0x70,0xac,0xa6,0x9c,0x46,0x21,0xd9,0x1a,0x66,0x86,0xf4,0x2a}; +static const uint8_t ct_152[] = {0x86,0x31,0x61,0xc6,0x7e,0x86,0x64,0x83,0x40,0xfc,0x5e,0xab,0x9f,0xb7,0x28,0xa7}; +static const uint8_t aad_153[] = {0x9c,0xe5,0x88,0xda,0xa7,0x9d,0x68,0x25,0x30,0x5a,0x97,0x57,0x2d,0x27,0x67,0x4a,0x96,0x02,0xbf,0xeb}; +static const uint8_t ct_153[] = {0x4c,0x9c,0xb5,0x2e,0x91,0xee,0x8f,0xd7,0x84,0xe9,0x90,0x1b,0x2b,0xbf,0xd0,0x7e}; +static const uint8_t aad_154[] = {0x96,0x0d,0xba,0xaf,0xf3,0x75,0x10,0x15,0x29,0xf1,0x93,0xa5,0xb7,0xad,0xc2,0xcd,0x95,0xa3,0x6b,0x72,0x22,0xdf,0x7e,0x9f,0x6f,0xbf,0x31,0x10,0xe1,0x64,0x62,0xa1}; +static const uint8_t ct_154[] = {0xff,0xfc,0x48,0x6f,0x02,0x99,0x70,0x39,0x02,0x92,0x61,0x86,0xe4,0x39,0x32,0xd0}; +static const uint8_t aad_155[] = {0xd4,0xdb,0xfd,0xce,0x11,0xf1,0x14,0x7e,0x29,0xdd,0x06,0x2e,0xa3,0xbb,0xbd,0x17}; +static const uint8_t msg_155[] = {0xde,0xd5,0xa1,0x3d,0x75,0x99,0x03,0xec,0xd3,0x6c,0xb2,0x38,0x52,0x77,0x76,0xc6}; +static const uint8_t ct_155[] = {0xa4,0xe0,0x8b,0xdd,0x8a,0xb8,0xcb,0xef,0x46,0xe0,0xfd,0xb8,0xa7,0xca,0x10,0x97,0xa8,0xf9,0x63,0xe4,0x5e,0x55,0x4a,0x58,0x82,0x49,0x62,0x70,0xf9,0xfd,0x6d,0xe8}; +static const uint8_t aad_156[] = {0x2e,0x4b,0x50,0x22,0x12,0x84,0xbc,0x07,0xd7,0xe3,0x0b,0x1a,0x66,0x21,0x67,0x6d}; +static const uint8_t msg_156[] = {0xd0,0x53,0x54,0x03,0xfe,0xd2,0xc1,0xde,0xc9,0xf8,0x58,0xee,0xbd,0x68,0x8a,0xfe,0x4d,0x00,0x10,0xb2,0x82,0x32,0x75,0xd1,0xba,0xcf,0xd5,0x64,0xc0,0x74,0x41,0x5f}; +static const uint8_t ct_156[] = {0x01,0x31,0x70,0x5a,0x9a,0x6c,0x64,0x5f,0x13,0xfe,0x46,0x79,0xbd,0x03,0xda,0xac,0x23,0x4b,0xc1,0x1d,0xb1,0xf0,0x94,0x1b,0xe0,0x78,0x8c,0x1c,0x14,0xbb,0xf9,0x5e,0xf1,0xdb,0xfb,0xdf,0x5a,0xf7,0x86,0xa5,0xa5,0xa3,0xa7,0xd4,0xf3,0x5f,0xd1,0x69}; +static const uint8_t aad_157[] = {0x99,0x9a,0x35,0x70,0x55,0x30,0xc2,0xf6,0xa7,0xf2,0x42,0x7d,0x6b,0x25,0x88,0x36}; +static const uint8_t msg_157[] = {0xcd,0x9b,0xfe,0x98,0x21,0xb1,0xa5,0x89,0x57,0x37,0xa8,0x27,0xb4,0x1e,0x0e,0xe2,0x71,0xab,0x26,0x87,0x12,0x8b,0xb8,0x7f,0x17,0x37,0x09,0xb7,0x3b,0xf1,0x8c,0x7c,0x25,0x82,0x2f,0x32,0x28,0x28,0x95,0xca,0x89,0x35,0xdb,0x00,0xa1,0xd1,0x71,0xdb}; +static const uint8_t ct_157[] = {0xd2,0x37,0xa9,0xdd,0x9e,0xa0,0xf7,0x0e,0xbc,0x55,0x26,0xfd,0x5e,0x41,0x4f,0x31,0x8c,0x8a,0x01,0x6b,0xc6,0xec,0xbc,0xb3,0xde,0x5f,0x0a,0xff,0x93,0x30,0x25,0x9e,0x67,0xb4,0x98,0x4f,0x13,0xfb,0x7e,0x90,0x4a,0xe8,0xac,0x91,0xd8,0xe3,0x5f,0xaf,0x41,0xad,0x86,0x0b,0xc9,0x42,0x3d,0x2e,0xf5,0x96,0xc1,0x3e,0x15,0x02,0x5c,0xdf}; +static const uint8_t aad_158[] = {0x06,0xb2,0xcd,0x26,0x1a,0x35,0x08,0xa7,0xbf,0xd1,0xc0,0x49}; +static const uint8_t msg_158[] = {0x7e}; +static const uint8_t ct_158[] = {0x00,0x2a,0xbe,0xac,0x97,0x8f,0x66,0xd9,0x34,0xb9,0xed,0x06,0xf2,0x15,0xc4,0x95,0x1d}; +static const uint8_t aad_159[] = {0x90,0xf6,0x05,0xa2,0xcf,0x3f,0xf6,0xe7,0x9d,0x6a,0xd4,0xb9}; +static const uint8_t msg_159[] = {0x5b,0xff}; +static const uint8_t ct_159[] = {0xae,0x43,0xeb,0x59,0x49,0x4a,0x5f,0xe7,0xa7,0xca,0xc8,0xd5,0xd2,0x0f,0x7d,0x40,0x17,0x7f}; +static const uint8_t aad_160[] = {0x80,0x23,0x5b,0x12,0xc8,0x40,0xe3,0xfd,0x50,0xdc,0x62,0xfd}; +static const uint8_t msg_160[] = {0x8b,0x2a,0x68}; +static const uint8_t ct_160[] = {0x6b,0x8c,0x54,0xcd,0x6d,0x99,0xf5,0x47,0x0a,0x24,0x61,0xae,0xf6,0x14,0x01,0x2c,0xee,0x73,0x41}; +static const uint8_t aad_161[] = {0x43,0x63,0x4a,0x36,0x68,0xf7,0x8c,0x0b,0x00,0x59,0x71,0x66}; +static const uint8_t msg_161[] = {0x41,0xa1,0x24,0x1d}; +static const uint8_t ct_161[] = {0xad,0x0d,0x30,0x2a,0x32,0x2c,0xa7,0x3b,0x55,0x14,0xd8,0xcf,0xd6,0xd4,0x04,0x78,0xfc,0x60,0xae,0xe6}; +static const uint8_t aad_162[] = {0x26,0x30,0x6f,0x1d,0x6a,0x43,0x16,0x52,0x2a,0x92,0x87,0x15}; +static const uint8_t msg_162[] = {0x22,0xfa,0xba,0x30,0x76}; +static const uint8_t ct_162[] = {0x71,0x7e,0x9e,0x25,0x28,0x6a,0xc7,0xeb,0x4d,0x5a,0xa5,0x0e,0x61,0x30,0x46,0xc4,0x29,0x6f,0x69,0x3b,0xf4}; +static const uint8_t aad_163[] = {0x8f,0xf6,0x66,0x16,0x3c,0x2a,0xf9,0x9f,0x3e,0x65,0x3b,0x38}; +static const uint8_t msg_163[] = {0x2e,0xf9,0x0d,0x77,0xc7,0x25}; +static const uint8_t ct_163[] = {0xc1,0x11,0x78,0xfb,0x46,0xa4,0x33,0x4d,0xf8,0x04,0x4c,0xa1,0x74,0x6d,0xdd,0x12,0x9c,0xa6,0x18,0x5d,0x21,0xe1}; +static const uint8_t aad_164[] = {0xe5,0xcb,0x90,0x7e,0x8d,0xf4,0x2f,0x0e,0x56,0x8e,0x58,0x8a}; +static const uint8_t msg_164[] = {0x8f,0x1d,0xbf,0xb8,0xc9,0xdd,0x6a}; +static const uint8_t ct_164[] = {0x53,0x3f,0xa1,0x78,0x1a,0xf3,0xa3,0x67,0x9e,0x57,0x79,0xc9,0xc7,0xc7,0x27,0xfa,0x5a,0x1d,0x20,0xd7,0xa8,0x9f,0x6c}; +static const uint8_t aad_165[] = {0x82,0x5d,0x77,0x13,0x73,0xd6,0xe0,0x19,0x04,0x3d,0xd2,0xa0}; +static const uint8_t msg_165[] = {0x3d,0xa0,0x9c,0x27,0x59,0x06,0x83,0x5f}; +static const uint8_t ct_165[] = {0x05,0x28,0xc0,0x21,0x15,0x86,0x09,0xe0,0x7d,0x3c,0x71,0xfd,0x36,0x33,0x65,0xa6,0x44,0xca,0x61,0xb9,0x32,0xc1,0x61,0xba}; +static const uint8_t aad_166[] = {0x98,0x76,0x04,0xce,0xe2,0x9b,0x9e,0xe3,0x2f,0x26,0xf3,0x32}; +static const uint8_t msg_166[] = {0xcf,0x1e,0x93,0xa0,0x67,0xed,0x6b,0x4f,0x26}; +static const uint8_t ct_166[] = {0x4f,0x4d,0x35,0x33,0xc0,0xa6,0xd2,0x30,0x2c,0xc3,0xce,0x54,0x7c,0xa7,0x8f,0x1d,0x6d,0xce,0x6f,0x33,0x3c,0xca,0x0f,0xe8,0x89}; +static const uint8_t aad_167[] = {0x80,0xb9,0x53,0x4f,0x1e,0x83,0x59,0x82,0x35,0xc8,0x56,0x90}; +static const uint8_t msg_167[] = {0xb8,0x1c,0xc3,0xa3,0x82,0xa1,0xad,0x29,0xc1,0xdd}; +static const uint8_t ct_167[] = {0xc4,0xc9,0x7f,0x0c,0x35,0x30,0x98,0x1b,0xca,0xde,0x42,0xa1,0x74,0xa6,0x50,0x38,0xd8,0x92,0x5e,0xd8,0xa5,0xde,0xce,0xe8,0xa7,0xc6}; +static const uint8_t aad_168[] = {0x1b,0x7a,0x5c,0xe2,0xff,0x40,0x5b,0x01,0x91,0x25,0x91,0x0b}; +static const uint8_t msg_168[] = {0x96,0x2c,0x7c,0x7c,0xa5,0xbd,0xfc,0xbc,0xb3,0xeb,0xa4}; +static const uint8_t ct_168[] = {0x2d,0x60,0xae,0x19,0xa3,0x8f,0x40,0x0e,0x0e,0xd7,0x8b,0x65,0xdb,0x3d,0xf8,0x52,0xf4,0x1f,0x0d,0x1e,0x22,0xc9,0x17,0xb4,0x2e,0x7c,0x5a}; +static const uint8_t aad_169[] = {0xb5,0x5d,0x19,0x77,0x2f,0x27,0x76,0x77,0x2c,0x04,0x07,0x8a}; +static const uint8_t msg_169[] = {0x3c,0x32,0xca,0xfe,0xed,0xcc,0xe5,0x41,0x08,0xe3,0x95,0x88}; +static const uint8_t ct_169[] = {0xb9,0x72,0x90,0xf5,0xf2,0x25,0xd0,0x5b,0x40,0x70,0x4c,0x53,0xee,0x8f,0xdf,0xcf,0xfd,0x97,0x21,0x85,0xaa,0x96,0xd4,0xdb,0x4b,0x8d,0xdb,0x16}; +static const uint8_t aad_170[] = {0xb6,0x0c,0x69,0xa4,0xbe,0xfe,0xd3,0x9e,0xac,0x27,0x79,0x0b}; +static const uint8_t msg_170[] = {0x55,0x0d,0x0e,0x8b,0x83,0x73,0xa2,0x7e,0x40,0x72,0xa5,0xb7,0x6c}; +static const uint8_t ct_170[] = {0x0a,0xfe,0x67,0x5b,0x5b,0x92,0xfe,0xbd,0xdc,0x6b,0xd6,0xd4,0x50,0x71,0x5a,0xd4,0xda,0x97,0x71,0x1b,0xfb,0xf3,0x46,0x5d,0xa4,0x08,0x51,0x74,0x01}; +static const uint8_t aad_171[] = {0x29,0xd8,0x34,0xbc,0x7b,0xdd,0x2a,0x3e,0x95,0xae,0x83,0x08}; +static const uint8_t msg_171[] = {0xc9,0x69,0xbd,0x4b,0x5a,0xcf,0x1f,0x7b,0x50,0x0f,0x8f,0x21,0xf3,0xc9}; +static const uint8_t ct_171[] = {0x92,0xe1,0x43,0xe4,0x57,0xbe,0x47,0xa1,0x8c,0xa6,0x82,0x78,0x11,0x32,0x0c,0xe9,0xc7,0x0a,0x1b,0x4e,0x0e,0xf6,0x4c,0xf3,0x65,0x8b,0x25,0xcd,0x8f,0x51}; +static const uint8_t aad_172[] = {0xc3,0xf0,0xf5,0xc4,0x38,0xde,0x5f,0xd8,0x5b,0x7a,0x21,0xaf}; +static const uint8_t msg_172[] = {0xe8,0xd7,0xac,0x78,0xd2,0x80,0x5b,0xfd,0x65,0x66,0x34,0xd1,0x9b,0x58,0x34}; +static const uint8_t ct_172[] = {0x2e,0xea,0x01,0x15,0xc3,0x4a,0x46,0x1d,0x4d,0xe5,0xde,0x4a,0x41,0xb9,0x65,0x4b,0x8a,0xa8,0x7b,0x4c,0xc9,0x44,0xc0,0x50,0x57,0xf5,0xb3,0x06,0x94,0x2a,0x0f}; +static const uint8_t aad_173[] = {0xb4,0x9b,0x12,0xba,0x14,0x0f,0xa8,0xd7,0x94,0xa3,0x17,0x38}; +static const uint8_t msg_173[] = {0x34,0x06,0x12,0xda,0x2d,0x2d,0xbb,0xd2,0x5d,0x7f,0xa0,0x5c,0x77,0x5a,0x6e,0xcf,0xa8}; +static const uint8_t ct_173[] = {0xad,0xc7,0x24,0xb7,0xfa,0xbb,0xad,0x10,0x36,0xde,0xd1,0x52,0xb9,0x68,0xe5,0x57,0xa4,0xa1,0xb3,0xf5,0x01,0x4f,0x42,0xf8,0x4a,0x21,0xca,0x45,0x72,0x7f,0x4b,0x43,0x39}; +static const uint8_t aad_174[] = {0xb9,0x6c,0x86,0x82,0xcd,0x3c,0xe6,0x76,0xb0,0xd7,0x98,0x65}; +static const uint8_t msg_174[] = {0x14,0x85,0x12,0x6d,0x04,0x76,0xbb,0x4b,0x86,0xd0,0x87,0xd1,0x89,0x26,0x32,0xb5,0x3c,0xb4,0xf8,0xa2}; +static const uint8_t ct_174[] = {0x8f,0xd1,0x21,0x4e,0x80,0x78,0x2d,0x7c,0x14,0x00,0x7d,0x03,0x7f,0xeb,0x1a,0xb1,0x81,0xfd,0xcb,0x20,0x98,0x58,0x87,0xb5,0xee,0x8d,0x4a,0xcf,0x55,0x89,0x92,0x4b,0xe6,0x44,0x94,0x7d}; +static const uint8_t aad_175[] = {0x0f,0x1e,0xb4,0xee,0xe4,0x61,0x61,0x5b,0xc0,0xbe,0x84,0x74}; +static const uint8_t msg_175[] = {0x80,0xd9,0x77,0x96,0x5a,0x88,0x0b,0xc6,0xbb,0x5e,0x1c,0xc9,0x2f,0x23,0x47,0x71,0xad,0xb6,0x1e,0x7a,0xe7,0x19,0x88,0x44,0x62,0x3c,0x6b,0x1d,0x1b,0x54,0xec}; +static const uint8_t ct_175[] = {0x0d,0xa4,0xc7,0x88,0x5f,0xfc,0x41,0x25,0x87,0x8e,0xfe,0x1d,0x14,0xeb,0x5f,0x64,0x74,0x0b,0xca,0xed,0x91,0x50,0x88,0x80,0x6c,0x89,0xfb,0x2e,0xfd,0xde,0x2a,0x5b,0x0d,0x89,0xae,0xef,0x6a,0x23,0x24,0xba,0x26,0x26,0xb4,0x21,0x13,0xee,0x27}; +static const uint8_t aad_176[] = {0x7f,0xe4,0x97,0xba,0xcf,0x30,0xaf,0x3a,0x85,0x66,0x2a,0xa1}; +static const uint8_t msg_176[] = {0xb1,0xb1,0x97,0xcd,0x7f,0xf6,0x8b,0x62,0xe2,0x74,0xf5,0xd1,0x04,0x6f,0x42,0xf9,0x81,0x71,0x63,0xf0,0xa1,0x05,0xa0,0xfb,0x77,0x36,0xfa,0x9e,0x5e,0x8f,0x76,0x94,0x4a,0x22,0x28,0x2a,0xf4,0x80,0xee,0x79}; +static const uint8_t ct_176[] = {0xb4,0x40,0x39,0xf1,0xe5,0xba,0x80,0x8c,0xa0,0x55,0xae,0xa6,0xbc,0x2d,0x81,0x9d,0x38,0x8e,0x3c,0x27,0x1c,0xd9,0x7c,0x04,0x60,0x61,0xe5,0x72,0x23,0xbb,0xc2,0xa1,0x7a,0xa9,0xb3,0x68,0xd5,0xcf,0x28,0x1d,0xe4,0x6f,0x48,0xb3,0x4d,0x17,0x9c,0x16,0xcc,0x9e,0x9d,0x46,0x00,0xa8,0x7a,0xf4}; +static const uint8_t aad_177[] = {0x01,0x68,0x5c,0x58,0xb1,0x48,0x05,0xd6,0x36,0x54,0x11,0x79}; +static const uint8_t msg_177[] = {0x81,0xc8,0xa1,0x0f,0xcd,0x66,0x81,0x00,0xdc,0x76,0x21,0x25,0xe0,0x36,0x27,0xac,0x4e,0x68,0xd3,0x4c,0x72,0x56,0x8b,0xe4,0x38,0xa7,0xa0,0x68,0xc2,0x7e,0x2f,0x12,0xe2,0xf1,0x78,0x23,0xe4,0x1f,0xdd,0x13,0xe5,0x36,0x16,0xc6,0x22,0xd4,0xf3,0x20,0xa3,0x8f,0x97,0xc2,0xed,0xea,0xd9,0x80,0x0e,0xd1,0x09,0x1c,0x30,0x3f,0x10,0xd1,0x72,0xa2,0x84,0x28,0x4d,0x86,0x70,0x8e,0x53,0xde,0xdc,0x82,0xf6,0xa7,0x36,0x6b}; +static const uint8_t ct_177[] = {0xaa,0x3d,0x2c,0xd7,0x32,0x97,0x4b,0x73,0x35,0x97,0xa3,0x69,0xd4,0x7a,0x68,0x01,0x32,0xdd,0x5a,0x94,0x44,0x31,0x23,0x1e,0x6f,0x77,0x12,0x2d,0x40,0xae,0x70,0xc5,0xd0,0x32,0xcc,0x7d,0x62,0x20,0x8f,0x42,0x8e,0x6a,0x93,0x1c,0x7d,0xa6,0xe8,0x83,0x64,0xd5,0xce,0x1a,0x4d,0x94,0x03,0x43,0x67,0x40,0xb9,0xe7,0x14,0xa2,0xc3,0xb2,0x39,0xfe,0xbe,0x6a,0x6a,0x7b,0x42,0xf7,0x88,0x94,0x44,0x2c,0x91,0x2e,0x6a,0x9c,0x22,0xea,0x95,0x48,0xef,0x85,0x54,0x0c,0xa7,0x6d,0x7c,0x6d,0xf4,0x2b,0x65,0x34}; +static const uint8_t msg_178[] = {0x05,0xae,0x1d,0xed,0x78,0xb9,0x27,0xe7,0xbf,0x55,0x60,0x57,0x1e,0x17,0x77,0x60}; +static const uint8_t ct_178[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x81,0x46,0x0a,0xba,0x44,0xa6,0x80,0xfc,0x6c,0x77,0x6c,0x00,0xa1,0xe9,0x4b,0x6b}; +static const uint8_t aad_179[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_179[] = {0x11,0xa7,0xfa,0xe3,0xb1,0xb8,0x29,0x7b,0x31,0xbd,0xea,0x77,0xa8,0xd6,0xd6,0x7c}; +static const uint8_t ct_179[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x95,0x4f,0xed,0xb4,0x8d,0xa7,0x8e,0x60,0xe2,0x9f,0xe6,0x20,0x17,0x28,0xea,0x77}; +static const uint8_t msg_180[] = {0x3d,0xe1,0xfd,0x2f,0xf8,0xd5,0x26,0x00,0x05,0xed,0xbf,0x9b,0x59,0xb6,0xcf,0x06}; +static const uint8_t ct_180[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe8,0xa5,0x6d,0xba,0xe8,0x84,0xe9,0x90,0xcc,0x0d,0xf1,0x80,0xd5,0xe4,0x56,0xba}; +static const uint8_t aad_181[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_181[] = {0x29,0xe8,0x1a,0x21,0x31,0xd4,0x28,0x9c,0x8b,0x05,0x35,0xbb,0xef,0x77,0x6e,0x1a}; +static const uint8_t ct_181[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfc,0xac,0x8a,0xb4,0x21,0x85,0xe7,0x0c,0x42,0xe5,0x7b,0xa0,0x63,0x25,0xf7,0xa6}; +static const uint8_t msg_182[] = {0xb3,0xc7,0x5b,0x1d,0x29,0xb3,0xd5,0xd0,0x95,0x01,0xc4,0x29,0xc3,0xb8,0xfa,0xf2}; +static const uint8_t ct_182[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0x66,0x83,0xcb,0x88,0x39,0xe2,0x1a,0x40,0x5c,0xe1,0x8a,0x32,0x4f,0xea,0x63,0x4e}; +static const uint8_t aad_183[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_183[] = {0xa7,0xce,0xbc,0x13,0xe0,0xb2,0xdb,0x4c,0x1b,0xe9,0x4e,0x09,0x75,0x79,0x5b,0xee}; +static const uint8_t ct_183[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0x72,0x8a,0x2c,0x86,0xf0,0xe3,0x14,0xdc,0xd2,0x09,0x00,0x12,0xf9,0x2b,0xc2,0x52}; +static const uint8_t msg_184[] = {0x6a,0x14,0x2a,0x89,0x09,0xed,0x51,0xe7,0xb2,0xd7,0x7f,0xd0,0x71,0xf2,0x30,0xdf}; +static const uint8_t ct_184[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xbf,0x50,0xba,0x1c,0x19,0xbc,0x9e,0x77,0x7b,0x37,0x31,0xcb,0xfd,0xa0,0xa9,0x63}; +static const uint8_t aad_185[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_185[] = {0x7e,0x1d,0xcd,0x87,0xc0,0xec,0x5f,0x7b,0x3c,0x3f,0xf5,0xf0,0xc7,0x33,0x91,0xc3}; +static const uint8_t ct_185[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xab,0x59,0x5d,0x12,0xd0,0xbd,0x90,0xeb,0xf5,0xdf,0xbb,0xeb,0x4b,0x61,0x08,0x7f}; +static const uint8_t msg_186[] = {0xe7,0x20,0x2a,0xbb,0xfe,0x6f,0xcf,0xfa,0x78,0x87,0xa7,0xef,0x06,0x84,0x00,0x40}; +static const uint8_t ct_186[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xa0,0xd0,0x32,0xef,0xc9,0x53,0x3b,0xf7,0xbb,0x8a,0xc7,0xaf,0x5c,0x9c,0x7c,0xdc}; +static const uint8_t aad_187[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_187[] = {0xf3,0x29,0xcd,0xb5,0x37,0x6e,0xc1,0x66,0xf6,0x6f,0x2d,0xcf,0xb0,0x45,0xa1,0x5c}; +static const uint8_t ct_187[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xb4,0xd9,0xd5,0xe1,0x00,0x52,0x35,0x6b,0x35,0x62,0x4d,0x8f,0xea,0x5d,0xdd,0xc0}; +static const uint8_t ct_188[] = {0xe9,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_189[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_189[] = {0xa3,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_190[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_190[] = {0xe9,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_191[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_191[] = {0xc2,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_192[] = {0xea,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_193[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_193[] = {0xa0,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_194[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_194[] = {0xea,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_195[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_195[] = {0xc1,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_196[] = {0x68,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_197[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_197[] = {0x22,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_198[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_198[] = {0x68,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_199[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_199[] = {0x43,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_200[] = {0xe8,0x4c,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_201[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_201[] = {0xa2,0x58,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_202[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_202[] = {0xe8,0x8f,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_203[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_203[] = {0xc3,0x58,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_204[] = {0xe8,0x4d,0xda,0x98,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_205[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_205[] = {0xa2,0x59,0x30,0xc8,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_206[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_206[] = {0xe8,0x8e,0xcb,0x80,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_207[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_207[] = {0xc3,0x59,0x76,0x80,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_208[] = {0xe8,0x4d,0xda,0x18,0xe8,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_209[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_209[] = {0xa2,0x59,0x30,0x48,0x78,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_210[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_210[] = {0xe8,0x8e,0xcb,0x00,0xad,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_211[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_211[] = {0xc3,0x59,0x76,0x00,0x02,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_212[] = {0xe8,0x4d,0xda,0x18,0xeb,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_213[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_213[] = {0xa2,0x59,0x30,0x48,0x7b,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_214[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_214[] = {0xe8,0x8e,0xcb,0x00,0xae,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_215[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_215[] = {0xc3,0x59,0x76,0x00,0x01,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_216[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x93,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_217[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_217[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x94,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_218[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_218[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0xac,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_219[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_219[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x99,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_220[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9d,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_221[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_221[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfc,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_222[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_222[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdd,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_223[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_223[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xad,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_224[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x1c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_225[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_225[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0x7d,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_226[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_226[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0x5c,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_227[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_227[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0x2c,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_228[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0x9d,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_229[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_229[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xd5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_230[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_230[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xc6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_231[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_231[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xf9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_232[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfc,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_233[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_233[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x21,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_234[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_234[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x25,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_235[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_235[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd3,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_236[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x70,0xd8,0xba,0xe0}; +static const uint8_t msg_237[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_237[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8c,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_238[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_238[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1a,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_239[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_239[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfb,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_240[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x73,0xd8,0xba,0xe0}; +static const uint8_t msg_241[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_241[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8f,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_242[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_242[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x19,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_243[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_243[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xf8,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_244[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0xf1,0xd8,0xba,0xe0}; +static const uint8_t msg_245[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_245[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x0d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_246[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_246[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x9b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_247[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_247[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0x7a,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_248[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe1}; +static const uint8_t msg_249[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_249[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf1,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_250[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_250[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe5,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_251[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_251[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x45,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_252[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe2}; +static const uint8_t msg_253[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_253[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf2,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_254[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_254[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe6,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_255[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_255[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x46,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_256[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xa0}; +static const uint8_t msg_257[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_257[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xb0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_258[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_258[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xa4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_259[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_259[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x04,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_260[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0x60}; +static const uint8_t msg_261[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_261[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0x70,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_262[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_262[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0x64,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_263[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_263[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0xc4,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_264[] = {0xe9,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x13,0x9d,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_265[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_265[] = {0xa3,0x59,0x30,0x48,0x79,0xd7,0x4e,0x14,0xfc,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_266[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_266[] = {0xe9,0x8e,0xcb,0x00,0xac,0x9a,0x46,0x2c,0xdd,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_267[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_267[] = {0xc2,0x59,0x76,0x00,0x03,0x21,0x13,0x19,0xad,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_268[] = {0xe8,0x4d,0xda,0x98,0xe9,0x8c,0xc8,0x93,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0xe0}; +static const uint8_t msg_269[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_269[] = {0xa2,0x59,0x30,0xc8,0x79,0xd7,0x4e,0x94,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0xf0,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_270[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_270[] = {0xe8,0x8e,0xcb,0x80,0xac,0x9a,0x46,0xac,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0xe4,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_271[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_271[] = {0xc3,0x59,0x76,0x80,0x03,0x21,0x13,0x99,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0x44,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_272[] = {0xe8,0x4d,0xda,0x18,0xe9,0x8c,0xc8,0x93,0x9c,0xbd,0xfd,0x22,0x71,0xd8,0xba,0x60}; +static const uint8_t msg_273[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_273[] = {0xa2,0x59,0x30,0x48,0x79,0xd7,0x4e,0x94,0xfd,0xf5,0x20,0x58,0x8d,0x38,0x88,0x70,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_274[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_274[] = {0xe8,0x8e,0xcb,0x00,0xac,0x9a,0x46,0xac,0xdc,0xe6,0x24,0x2b,0x1b,0x49,0x51,0x64,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_275[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_275[] = {0xc3,0x59,0x76,0x00,0x03,0x21,0x13,0x99,0xac,0xd9,0xd2,0xd8,0xfa,0x26,0x08,0xc4,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_276[] = {0x17,0xb2,0x25,0xe7,0x16,0x73,0x37,0xec,0x63,0x42,0x02,0xdd,0x8e,0x27,0x45,0x1f}; +static const uint8_t msg_277[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_277[] = {0x5d,0xa6,0xcf,0xb7,0x86,0x28,0xb1,0xeb,0x02,0x0a,0xdf,0xa7,0x72,0xc7,0x77,0x0f,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_278[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_278[] = {0x17,0x71,0x34,0xff,0x53,0x65,0xb9,0xd3,0x23,0x19,0xdb,0xd4,0xe4,0xb6,0xae,0x1b,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_279[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_279[] = {0x3c,0xa6,0x89,0xff,0xfc,0xde,0xec,0xe6,0x53,0x26,0x2d,0x27,0x05,0xd9,0xf7,0xbb,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_280[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; +static const uint8_t msg_281[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_281[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_282[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_282[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_283[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_283[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_284[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; +static const uint8_t msg_285[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_285[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_286[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_286[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_287[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_287[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_288[] = {0x68,0xcd,0x5a,0x98,0x69,0x0c,0x48,0x93,0x1c,0x3d,0x7d,0xa2,0xf1,0x58,0x3a,0x60}; +static const uint8_t msg_289[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_289[] = {0x22,0xd9,0xb0,0xc8,0xf9,0x57,0xce,0x94,0x7d,0x75,0xa0,0xd8,0x0d,0xb8,0x08,0x70,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_290[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_290[] = {0x68,0x0e,0x4b,0x80,0x2c,0x1a,0xc6,0xac,0x5c,0x66,0xa4,0xab,0x9b,0xc9,0xd1,0x64,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_291[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_291[] = {0x43,0xd9,0xf6,0x80,0x83,0xa1,0x93,0x99,0x2c,0x59,0x52,0x58,0x7a,0xa6,0x88,0xc4,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_292[] = {0xe9,0x4c,0xdb,0x19,0xe8,0x8d,0xc9,0x12,0x9d,0xbc,0xfc,0x23,0x70,0xd9,0xbb,0xe1}; +static const uint8_t msg_293[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_293[] = {0xa3,0x58,0x31,0x49,0x78,0xd6,0x4f,0x15,0xfc,0xf4,0x21,0x59,0x8c,0x39,0x89,0xf1,0x7a,0xb3,0xdd,0x3c,0x6c,0x31,0xa3,0x86}; +static const uint8_t msg_294[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_294[] = {0xe9,0x8f,0xca,0x01,0xad,0x9b,0x47,0x2d,0xdd,0xe7,0x25,0x2a,0x1a,0x48,0x50,0xe5,0x73,0x8b,0x59,0x5a,0xeb,0xf6,0xee,0x3e,0x7b,0xe4,0x24,0xbf,0xb5,0x1b,0xfd,0xee}; +static const uint8_t msg_295[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_295[] = {0xc2,0x58,0x77,0x01,0x02,0x20,0x12,0x18,0xad,0xd8,0xd3,0xd9,0xfb,0x27,0x09,0x45,0x8b,0x0b,0x5d,0xf8,0x33,0x21,0x50,0xff,0x08,0x77,0xd8,0x54,0x71,0xd5,0x40,0xc4,0xcf,0xf1,0xe1,0x83}; +static const uint8_t ct_296[] = {0x44,0xb1,0xc6,0xfe,0x8a,0x8c,0x07,0xde,0xe5,0x37,0x7b,0x16,0x1f,0x28,0x3c,0x31}; +static const uint8_t aad_297[] = {0xd0,0xbb,0x29,0x49,0xa4,0x11,0xe2,0x2d,0x32,0x96,0x45,0x26}; +static const uint8_t ct_297[] = {0xe2,0x88,0xd8,0x02,0xa0,0xe5,0x6e,0xd7,0x54,0x4a,0x2e,0x57,0x75,0x45,0x93,0x89}; +static const uint8_t aad_298[] = {0x1d,0x5c,0xe9,0x28,0x86,0x27,0xa1,0x2f,0x8f,0x5d,0x80,0x91,0x67,0xa3,0xb2}; +static const uint8_t ct_298[] = {0xf8,0x08,0x3e,0x55,0x30,0x79,0x32,0xd9,0x71,0xbf,0xc2,0xa8,0x91,0x3c,0x19,0x51}; +static const uint8_t aad_299[] = {0x76,0xaa,0xde,0x95,0x96,0x4f,0x07,0x4c,0x69,0x38,0x86,0xf2,0x45,0xfa,0x57,0xf9}; +static const uint8_t ct_299[] = {0xf1,0xad,0x6e,0xa9,0x98,0xa2,0xa4,0x38,0xac,0xaf,0x90,0xba,0xd0,0xcb,0x9f,0x9f}; +static const uint8_t aad_300[] = {0x41,0x25,0x7d,0xa6,0x10,0x8b,0xed,0xbb,0x15,0x0d,0x4e,0x29,0x0b,0x6b,0x9a,0x76,0xd1,0x10,0x92,0xc6}; +static const uint8_t ct_300[] = {0xa8,0xd2,0x79,0x44,0xa8,0x43,0x17,0x09,0x8e,0xed,0x17,0x06,0x31,0xf4,0xc8,0x67}; +static const uint8_t aad_301[] = {0xe9,0x41,0xd1,0x5f,0xad,0xeb,0xaf,0x46,0x71,0xe0,0xe3,0xd6,0xd8,0x35,0xf8,0x7b,0xfb,0x1c,0xc7,0x02,0x8f,0x14,0x99,0x30,0xda,0xa6,0x9c,0x3d,0xe4,0x46,0xc4,0x23}; +static const uint8_t ct_301[] = {0xb7,0x54,0xec,0xb5,0x5c,0x1e,0x12,0x4d,0xe0,0xc8,0xa9,0x73,0xd0,0x33,0xbd,0x7f}; +static const uint8_t aad_302[] = {0xde,0xeb,0x0c,0xcf,0x3a,0xef,0x47,0xa2,0x96,0xed,0x1c,0xa8,0xf4,0xae,0x59,0x07}; +static const uint8_t msg_302[] = {0xbe,0xec,0x61,0x03,0x0f,0xa3,0xd6,0x70,0x33,0x71,0x96,0xbe,0xad,0xe6,0xae,0xaa}; +static const uint8_t ct_302[] = {0x58,0x65,0x20,0x8e,0xab,0x91,0x63,0xdb,0x85,0xca,0xb9,0xf9,0x6d,0x84,0x62,0x34,0xa2,0x62,0x6a,0xae,0x22,0xf5,0xc1,0x7c,0x9a,0xad,0x4b,0x50,0x1f,0x44,0x16,0xe4}; +static const uint8_t aad_303[] = {0xcc,0x94,0xf6,0x4e,0x14,0xdf,0x90,0x26,0x5f,0x7f,0x12,0xa8,0xa0,0x38,0x6d,0x0a}; +static const uint8_t msg_303[] = {0x6b,0x1d,0xb0,0xf5,0xa4,0x33,0x76,0x88,0x50,0x02,0xdc,0x98,0xbd,0x55,0x6f,0x1d,0xac,0x9b,0x66,0xb6,0x62,0x13,0xa9,0xfa,0x60,0x69,0xdf,0x99,0x5a,0x12,0x33,0x84}; +static const uint8_t ct_303[] = {0xd0,0x01,0x6d,0x67,0x5b,0x49,0xf1,0x1e,0xa8,0x73,0x70,0x74,0x12,0xd4,0x57,0x09,0xb7,0x70,0x3a,0x02,0x8a,0x0c,0xfc,0x31,0x2c,0xf6,0x1c,0xbe,0x22,0xb9,0x1e,0x3c,0xf2,0x0b,0x7d,0x4c,0x93,0x08,0xee,0x15,0xf1,0x8b,0x4e,0xba,0x00,0x88,0x92,0x84}; +static const uint8_t aad_304[] = {0x1c,0xda,0x34,0x2c,0x16,0x6e,0xa2,0x08,0xdf,0x5c,0x56,0xbc,0xf9,0x95,0xa5,0x9b}; +static const uint8_t msg_304[] = {0x48,0xef,0x10,0xcc,0xb1,0x97,0x8b,0x53,0xae,0x73,0x16,0x7a,0xbe,0x1c,0xc5,0x38,0xfa,0x80,0xda,0x3f,0x5d,0xf9,0x3e,0x3d,0x5c,0x4e,0x9a,0x9a,0xd1,0xf2,0x13,0x50,0x4f,0x22,0xa6,0x94,0xb9,0x8a,0x35,0xad,0x67,0x62,0x0a,0xf9,0xd8,0xa2,0x9f,0xc7}; +static const uint8_t ct_304[] = {0xd5,0x5c,0x5d,0x0a,0xf0,0x26,0x0d,0xc1,0x12,0x3a,0xdb,0x5d,0x78,0x69,0x20,0x1f,0x8c,0xce,0xe4,0x6d,0xeb,0x66,0xdd,0x69,0x5c,0x59,0x3c,0xde,0x1d,0x76,0x45,0xc7,0x27,0x96,0xe4,0x2a,0x17,0x33,0xb6,0x70,0x57,0x53,0x63,0x1b,0x9b,0x62,0x69,0x91,0xdd,0xbd,0x28,0x47,0x3c,0xe7,0x5c,0xfd,0xc4,0xc1,0x4d,0x20,0xe6,0x6f,0x21,0x2d}; +static const uint8_t aad_305[] = {0xfa,0xb9,0x12,0xde,0xc2,0x9a,0x34,0xaa,0xbf,0xae,0xf1,0x76}; +static const uint8_t msg_305[] = {0x0d}; +static const uint8_t ct_305[] = {0x1c,0x69,0x69,0xec,0xb1,0x57,0x41,0xa9,0x95,0x9b,0x7a,0x84,0x92,0x25,0x0e,0x39,0x1a}; +static const uint8_t aad_306[] = {0xe8,0x60,0x5f,0x13,0xdb,0x8c,0x48,0x2d,0x48,0xbd,0xba,0x2d}; +static const uint8_t msg_306[] = {0x5c,0x6f}; +static const uint8_t ct_306[] = {0xfd,0xde,0xa9,0xac,0x77,0x8b,0x97,0x8a,0x96,0x80,0x33,0xce,0x52,0xec,0x61,0x16,0x25,0x88}; +static const uint8_t aad_307[] = {0x7f,0x89,0xa3,0xf6,0x48,0xc1,0xc7,0xc2,0x3e,0xdb,0xd5,0xca}; +static const uint8_t msg_307[] = {0x35,0xac,0x33}; +static const uint8_t ct_307[] = {0x38,0x34,0xfb,0xed,0xc3,0x50,0x22,0x27,0xe3,0xc9,0x1a,0x86,0x1f,0x2e,0x31,0x95,0xfb,0xb3,0x44}; +static const uint8_t aad_308[] = {0xc2,0xb7,0x5c,0x99,0x8f,0x4c,0xac,0x28,0xb4,0xb6,0x9d,0xfb}; +static const uint8_t msg_308[] = {0x1d,0x25,0xf8,0x33}; +static const uint8_t ct_308[] = {0x0d,0x1e,0x19,0x81,0xda,0x44,0xa7,0xd9,0xed,0xa6,0x0e,0x48,0xe7,0xae,0x4f,0x85,0x05,0xd8,0xba,0x98}; +static const uint8_t aad_309[] = {0xf5,0x04,0x2d,0x5a,0x5b,0x68,0xb2,0x62,0x27,0x49,0x74,0xa8}; +static const uint8_t msg_309[] = {0x9e,0x99,0x91,0x2c,0x7b}; +static const uint8_t ct_309[] = {0x65,0x5e,0xf7,0xf0,0x9f,0x4c,0xff,0x47,0xb4,0x27,0xe9,0xdf,0x7f,0xcc,0x64,0x26,0x64,0x71,0x5a,0xd1,0x4c}; +static const uint8_t aad_310[] = {0x75,0x5f,0x50,0xcf,0xdf,0xc8,0x49,0x65,0x4a,0xd9,0x8c,0xc7}; +static const uint8_t msg_310[] = {0xac,0x59,0x87,0x20,0xb9,0x6e}; +static const uint8_t ct_310[] = {0xad,0xee,0x2a,0x37,0x3a,0x7f,0x6b,0xba,0xf4,0xf0,0x0e,0x5f,0x3f,0x93,0x43,0x5a,0x09,0x09,0x1b,0x52,0x21,0xae}; +static const uint8_t aad_311[] = {0xf8,0x79,0x9b,0xc7,0x32,0xcb,0xf6,0xa3,0x9a,0xe2,0x26,0x8e}; +static const uint8_t msg_311[] = {0x8f,0x6b,0x2b,0x21,0xa6,0xdc,0x73}; +static const uint8_t ct_311[] = {0xff,0x61,0x73,0xa7,0x0d,0xee,0x05,0xdd,0xbd,0xe7,0x5a,0x96,0x0f,0x84,0x52,0x3e,0x01,0xb3,0x0a,0xdc,0xac,0x52,0x75}; +static const uint8_t aad_312[] = {0x7a,0x5d,0xbd,0xbf,0x80,0x3b,0x25,0x93,0xd3,0xe1,0x70,0x97}; +static const uint8_t msg_312[] = {0xde,0xb2,0xc7,0xc6,0x20,0x44,0x96,0xe5}; +static const uint8_t ct_312[] = {0x2f,0x8b,0x75,0x83,0x77,0x3a,0xe0,0x3b,0xa7,0xb3,0x95,0x24,0x53,0xc8,0x14,0x31,0x78,0x0b,0xfc,0xc9,0xd7,0xdf,0x9a,0x43}; +static const uint8_t aad_313[] = {0xe4,0x82,0xe9,0x42,0xce,0x26,0xd2,0x44,0xd4,0x96,0x2a,0xcf}; +static const uint8_t msg_313[] = {0x12,0x2d,0x1b,0xa3,0x94,0xaf,0xad,0x1f,0xe3}; +static const uint8_t ct_313[] = {0x81,0x85,0xd1,0x4e,0xe8,0x7c,0xc8,0x91,0xbb,0x9b,0xcf,0x3f,0xaf,0xde,0x4e,0xd2,0x46,0x59,0x96,0x26,0x21,0x1f,0xe0,0x4d,0x23}; +static const uint8_t aad_314[] = {0x89,0xf9,0x52,0x50,0xfb,0x66,0xb2,0xcd,0xa7,0x0b,0x88,0x54}; +static const uint8_t msg_314[] = {0x9c,0xab,0x7b,0xde,0x92,0x63,0x07,0x38,0x65,0x05}; +static const uint8_t ct_314[] = {0xc4,0xde,0xca,0x5c,0x53,0xbc,0xfa,0x62,0x08,0xb3,0x37,0x47,0x42,0x12,0x41,0x85,0x41,0xe4,0x4d,0x0f,0xbf,0x2d,0xe7,0xb4,0x8c,0x6f}; +static const uint8_t aad_315[] = {0x5c,0x36,0x61,0xf4,0x04,0x74,0x54,0xba,0xc4,0x45,0xf1,0xac}; +static const uint8_t msg_315[] = {0x08,0xeb,0x0a,0x19,0x6e,0x8f,0x3c,0xb6,0x42,0x8b,0x0a}; +static const uint8_t ct_315[] = {0x67,0x67,0x30,0x64,0xfc,0x54,0x0a,0xe1,0x28,0x23,0x2b,0xa8,0x7b,0xa2,0xe9,0xbb,0xe7,0xd3,0x56,0x9d,0xd4,0x19,0xbc,0xc5,0x27,0x96,0xec}; +static const uint8_t aad_316[] = {0x7b,0x3f,0x95,0x91,0x07,0x6e,0x32,0xa2,0x17,0x66,0xe2,0xbb}; +static const uint8_t msg_316[] = {0x06,0x28,0xd1,0x9c,0xc9,0x4c,0x4b,0x4f,0x3d,0x70,0x3e,0x1f}; +static const uint8_t ct_316[] = {0x56,0xe6,0xfd,0x5a,0x7f,0x44,0x9a,0x8e,0x6b,0xaf,0xa3,0x8f,0x94,0x5c,0x70,0xcf,0x8a,0x53,0x41,0x79,0xb3,0xb1,0xf2,0x62,0x66,0xfb,0x6b,0x56}; +static const uint8_t aad_317[] = {0xa3,0xc4,0xe3,0x87,0xbf,0xc0,0x05,0x40,0x2a,0xcd,0x20,0xbb}; +static const uint8_t msg_317[] = {0xa1,0x71,0x37,0x6f,0x2a,0x66,0xdb,0xdf,0x17,0xf3,0x29,0x61,0xe8}; +static const uint8_t ct_317[] = {0x4e,0x7b,0x64,0x2d,0xcc,0x3c,0xbd,0x93,0x5d,0x4c,0xda,0x81,0x93,0x98,0x2e,0xf7,0x24,0x0f,0xa4,0x7f,0x95,0x1e,0xc8,0xb3,0xfd,0x37,0x20,0x4a,0x73}; +static const uint8_t aad_318[] = {0x89,0x0d,0xce,0xa8,0x71,0xda,0x1c,0xaf,0xf4,0x76,0x6d,0x32}; +static const uint8_t msg_318[] = {0x6a,0xd3,0x48,0x47,0x08,0x91,0xd1,0xba,0xbb,0x13,0xf3,0xbf,0x0e,0x8c}; +static const uint8_t ct_318[] = {0xfb,0xb6,0x83,0x24,0xb8,0xc5,0xb3,0xe5,0x5e,0xbc,0x1f,0xeb,0x4b,0x98,0x76,0x15,0x21,0xf4,0xaa,0xc7,0xeb,0x7b,0x6c,0x0f,0xb0,0x50,0x5a,0x08,0x45,0x7b}; +static const uint8_t aad_319[] = {0x6a,0xe5,0x4f,0x41,0xac,0x52,0xba,0xf2,0xf8,0x9a,0xbe,0x8e}; +static const uint8_t msg_319[] = {0x3f,0xc3,0xbf,0x53,0xbb,0x48,0x5c,0x9e,0xdc,0xb1,0xd2,0x5a,0xdb,0x4c,0xa0}; +static const uint8_t ct_319[] = {0x2d,0x34,0x4a,0x54,0x03,0x8a,0x85,0x7f,0x47,0xe0,0xc7,0x7e,0xb0,0x83,0x45,0x38,0xaa,0xf0,0x1e,0x61,0xa8,0xac,0x82,0xc0,0x01,0x2f,0x9d,0xac,0x6f,0x15,0xef}; +static const uint8_t aad_320[] = {0xd3,0x9d,0xa7,0x3f,0xfc,0x03,0xad,0x0a,0x92,0x13,0xff,0xc7}; +static const uint8_t msg_320[] = {0x48,0x60,0x49,0x44,0xa8,0x0f,0xad,0xf5,0x0d,0x55,0xb8,0x77,0x27,0x93,0x44,0x58,0xc8}; +static const uint8_t ct_320[] = {0xa9,0xcf,0x73,0x95,0x1c,0xb3,0x98,0x23,0x77,0x7f,0x35,0xc9,0x6c,0x84,0x51,0x69,0x47,0x6e,0x2e,0xc2,0x31,0x7c,0xb6,0xb8,0xdd,0x8b,0x61,0x72,0xfd,0xce,0xab,0xff,0x9d}; +static const uint8_t aad_321[] = {0x29,0xd6,0x14,0xf9,0x08,0x59,0x3f,0x6a,0x5a,0xb0,0x3c,0xea}; +static const uint8_t msg_321[] = {0x0c,0x22,0xe4,0x87,0x5d,0xcd,0x23,0xde,0x89,0xa6,0xd3,0x2f,0x20,0x82,0xdd,0x40,0xe1,0x84,0x8f,0xc2}; +static const uint8_t ct_321[] = {0xbc,0xe8,0x86,0x62,0x3d,0x11,0x32,0x0d,0x22,0xdf,0xdc,0x1d,0xef,0xb0,0x4d,0x17,0xbd,0x00,0x1d,0x93,0x70,0xa3,0xd8,0xc8,0x3a,0xab,0xe4,0x49,0x4d,0x16,0xca,0x75,0xce,0x53,0x4f,0x7c}; +static const uint8_t aad_322[] = {0xb4,0x11,0xe4,0xd2,0xfa,0xcc,0xa6,0x7e,0xa4,0xa9,0xf2,0xa1}; +static const uint8_t msg_322[] = {0x2f,0x35,0x8d,0x45,0x34,0x55,0x9a,0xc9,0x9d,0xd7,0x17,0x98,0xb7,0x92,0x57,0x05,0xd6,0xf0,0x13,0xf6,0xb8,0x48,0xff,0xe0,0x1c,0xc8,0x6c,0xef,0x09,0xd8,0x8f}; +static const uint8_t ct_322[] = {0xd2,0x7a,0xe2,0x6d,0xfe,0x02,0xe3,0xee,0xdf,0x54,0x4e,0x1b,0x45,0x2c,0xb0,0xf0,0xc9,0x30,0x3a,0x4e,0x48,0x19,0x31,0x83,0x15,0xae,0x08,0x83,0x9b,0xcc,0xe5,0x58,0xe4,0x74,0x18,0x17,0xec,0x08,0xda,0xe4,0x06,0xbb,0xfc,0x09,0xf5,0x9a,0xa9}; +static const uint8_t aad_323[] = {0xb3,0xed,0xff,0xbb,0x89,0xb3,0x73,0xfe,0x04,0xda,0x24,0x4b}; +static const uint8_t msg_323[] = {0xeb,0xcf,0xb2,0xff,0xb6,0x81,0xcc,0x5d,0xfa,0x0c,0x5c,0x52,0x4c,0x1b,0x1c,0xc8,0x7c,0xc6,0xb2,0xbf,0xa3,0x5d,0xc3,0x6d,0x15,0xe8,0x05,0x05,0x11,0x8b,0x84,0xa0,0x72,0xa7,0x8a,0x15,0x7b,0x4d,0x18,0x37}; +static const uint8_t ct_323[] = {0x1a,0xc7,0x8a,0xae,0x2e,0xde,0x04,0xeb,0x47,0x92,0x4d,0x8f,0x9f,0x99,0xfe,0x75,0xde,0xb6,0x1b,0xf6,0x93,0xda,0x7f,0x3a,0x21,0x47,0xc0,0x5f,0x6d,0x29,0xd1,0x73,0x92,0x35,0x6f,0xe0,0x0f,0x82,0xb2,0x4c,0xdb,0xce,0x77,0x4f,0xd8,0x64,0x56,0x15,0x48,0xf3,0x3d,0xd3,0x19,0x2d,0x80,0x6f}; +static const uint8_t aad_324[] = {0x6a,0x8a,0xaf,0x2c,0x84,0x00,0x3e,0x0e,0x6f,0x40,0x96,0x58}; +static const uint8_t msg_324[] = {0x92,0xd8,0xf4,0xdc,0x7d,0x41,0xe8,0xb1,0x80,0xd6,0x6e,0x89,0x94,0x02,0x2d,0xb7,0x92,0x49,0xcd,0xc7,0x6f,0xd7,0xf3,0xea,0x12,0xd9,0x92,0x5b,0x51,0x92,0x52,0x50,0xcd,0x75,0xa1,0x5f,0xcf,0xd7,0x8e,0xa8,0x5c,0x57,0xfe,0x61,0x96,0xf8,0xd7,0x54,0x50,0x86,0xf9,0x9e,0xa7,0x96,0xa0,0xea,0x69,0x17,0x0d,0xb9,0x94,0x42,0x00,0x43,0x5d,0x9d,0x3d,0x55,0x19,0x43,0x89,0x24,0x00,0xce,0x78,0x7f,0x70,0x3c,0x11,0x05}; +static const uint8_t ct_324[] = {0x69,0xf7,0x20,0xf3,0x6b,0x0d,0xa8,0x6e,0xc8,0xcc,0x0f,0x46,0xd6,0x28,0x35,0xdc,0xb3,0x5a,0xc2,0x3f,0x5b,0x89,0x11,0x52,0xd8,0x61,0xc4,0xe0,0xf0,0x01,0x8f,0x19,0xd2,0x72,0xee,0x8b,0x12,0xd8,0x33,0x00,0xbf,0xd4,0x6a,0xee,0xc0,0x12,0x4d,0x5d,0x23,0xb3,0xcb,0x84,0x9c,0x1c,0xab,0x1f,0xdf,0x64,0xb7,0x09,0x47,0xeb,0xf7,0x9f,0x54,0x42,0xe2,0x09,0x07,0x6d,0xfa,0x9a,0x3f,0x36,0xab,0x0a,0x6d,0x3c,0xf4,0xa7,0x5d,0xdf,0xcd,0xc2,0x18,0x37,0x74,0x3b,0x20,0x88,0x5d,0xb4,0xc8,0x03,0xac,0x27}; +static const uint8_t msg_325[] = {0x8d,0xbf,0xee,0x95,0x80,0xe7,0xe2,0xbc,0x66,0x10,0x0a,0x67,0x44,0x97,0xf4,0xe1}; +static const uint8_t ct_325[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0xf8,0xaa,0x7e,0x4d,0xd4,0x9d,0x9c,0xfa,0x09,0xe9,0xcb,0x57,0x4f,0xd9,0x0d}; +static const uint8_t aad_326[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_326[] = {0xbf,0xa1,0x73,0x3d,0x07,0xaf,0xa0,0x3c,0xb3,0xf2,0xee,0xb8,0x1b,0xbd,0xe0,0x37}; +static const uint8_t ct_326[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x4c,0xe6,0x37,0xd6,0xca,0x9c,0xdf,0x1c,0x2f,0xeb,0x0d,0x14,0x08,0x65,0xcd,0xdb}; +static const uint8_t msg_327[] = {0x72,0x54,0x3a,0x9a,0x07,0xa3,0xc1,0x8a,0x28,0x00,0x60,0x65,0x34,0x32,0xc0,0x5c}; +static const uint8_t ct_327[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x3d,0xb0,0x9c,0xc4,0x8f,0x27,0x80,0x85,0x93,0x51,0x90,0x1d,0x10,0x14,0xae,0x06}; +static const uint8_t aad_328[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_328[] = {0x40,0x4a,0xa7,0x32,0x80,0xeb,0x83,0x0a,0xfd,0xe2,0x84,0xba,0x6b,0x18,0xd4,0x8a}; +static const uint8_t ct_328[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x0f,0xae,0x01,0x6c,0x08,0x6f,0xc2,0x05,0x46,0xb3,0x74,0xc2,0x4f,0x3e,0xba,0xd0}; +static const uint8_t msg_329[] = {0xff,0x4d,0x7c,0xde,0xb8,0xf3,0xc4,0xe3,0x7a,0x05,0xa9,0x1e,0xe2,0x6e,0x2a,0x84}; +static const uint8_t ct_329[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xb0,0xa9,0xda,0x80,0x30,0x77,0x85,0xec,0xc1,0x54,0x59,0x66,0xc6,0x48,0x44,0xde}; +static const uint8_t aad_330[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_330[] = {0xcd,0x53,0xe1,0x76,0x3f,0xbb,0x86,0x63,0xaf,0xe7,0x4d,0xc1,0xbd,0x44,0x3e,0x52}; +static const uint8_t ct_330[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0x82,0xb7,0x47,0x28,0xb7,0x3f,0xc7,0x6c,0x14,0xb6,0xbd,0xb9,0x99,0x62,0x50,0x08}; +static const uint8_t msg_331[] = {0x6e,0xb5,0x2f,0xc9,0x5a,0x51,0x85,0xa3,0xbd,0x2a,0x30,0xd3,0x05,0x84,0x14,0xab}; +static const uint8_t ct_331[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x21,0x51,0x89,0x97,0xd2,0xd5,0xc4,0xac,0x06,0x7b,0xc0,0xab,0x21,0xa2,0x7a,0xf1}; +static const uint8_t aad_332[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_332[] = {0x5c,0xab,0xb2,0x61,0xdd,0x19,0xc7,0x23,0x68,0xc8,0xd4,0x0c,0x5a,0xae,0x00,0x7d}; +static const uint8_t ct_332[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x13,0x4f,0x14,0x3f,0x55,0x9d,0x86,0x2c,0xd3,0x99,0x24,0x74,0x7e,0x88,0x6e,0x27}; +static const uint8_t msg_333[] = {0x11,0x4c,0xc3,0x6e,0x58,0xfa,0xce,0xb2,0xe6,0xa2,0x34,0x4a,0x67,0x9e,0xa4,0xc3}; +static const uint8_t ct_333[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x2f,0x84,0x96,0x50,0xd6,0xe8,0x9e,0x26,0x68,0xe9,0x90,0x21,0x91,0x95,0x71,0x9c}; +static const uint8_t aad_334[] = {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f}; +static const uint8_t msg_334[] = {0x23,0x52,0x5e,0xc6,0xdf,0xb2,0x8c,0x32,0x33,0x40,0xd0,0x95,0x38,0xb4,0xb0,0x15}; +static const uint8_t ct_334[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0x1d,0x9a,0x0b,0xf8,0x51,0xa0,0xdc,0xa6,0xbd,0x0b,0x74,0xfe,0xce,0xbf,0x65,0x4a}; +static const uint8_t ct_335[] = {0x6e,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_336[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_336[] = {0x20,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_337[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_337[] = {0x05,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_338[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_338[] = {0x31,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_339[] = {0x6d,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_340[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_340[] = {0x23,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_341[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_341[] = {0x06,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_342[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_342[] = {0x32,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_343[] = {0xef,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_344[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_344[] = {0xa1,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_345[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_345[] = {0x84,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_346[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_346[] = {0xb0,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_347[] = {0x6f,0xf4,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_348[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_348[] = {0x21,0x2f,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_349[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_349[] = {0x04,0xb5,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_350[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_350[] = {0x30,0x5c,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_351[] = {0x6f,0xf5,0xb8,0x6f,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_352[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_352[] = {0x21,0x2e,0x4a,0x0f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_353[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_353[] = {0x04,0xb4,0xe8,0x96,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_354[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_354[] = {0x30,0x5d,0x6c,0x78,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_355[] = {0x6f,0xf5,0xb8,0xef,0x52,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_356[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_356[] = {0x21,0x2e,0x4a,0x8f,0x8a,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_357[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_357[] = {0x04,0xb4,0xe8,0x16,0x6e,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_358[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_358[] = {0x30,0x5d,0x6c,0xf8,0xef,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_359[] = {0x6f,0xf5,0xb8,0xef,0x51,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_360[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_360[] = {0x21,0x2e,0x4a,0x8f,0x89,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_361[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_361[] = {0x04,0xb4,0xe8,0x16,0x6d,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_362[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_362[] = {0x30,0x5d,0x6c,0xf8,0xec,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_363[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0xd6,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_364[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_364[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0xf8,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_365[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_365[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0xa9,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_366[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_366[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0xb7,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_367[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x07,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_368[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_368[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8e,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_369[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_369[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x86,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_370[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_370[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x85,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_371[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x86,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_372[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_372[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x0f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_373[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_373[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x07,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_374[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_374[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x04,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_375[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xed,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_376[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_376[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x1a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_377[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_377[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0x83,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_378[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_378[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0xb7,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_379[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3f,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_380[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_380[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf3,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_381[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_381[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2d,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_382[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_382[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x11,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_383[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x46,0x37,0x48,0x85}; +static const uint8_t msg_384[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_384[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfa,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_385[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_385[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf4,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_386[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_386[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd0,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_387[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x45,0x37,0x48,0x85}; +static const uint8_t msg_388[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_388[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xf9,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_389[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_389[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf7,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_390[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_390[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd3,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_391[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0xc7,0x37,0x48,0x85}; +static const uint8_t msg_392[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_392[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0x7b,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_393[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_393[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0x75,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_394[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_394[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0x51,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_395[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x84}; +static const uint8_t msg_396[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_396[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xdb,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_397[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_397[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x60,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_398[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_398[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x41,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_399[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x87}; +static const uint8_t msg_400[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_400[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xd8,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_401[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_401[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x63,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_402[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_402[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x42,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_403[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0xc5}; +static const uint8_t msg_404[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_404[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0x9a,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_405[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_405[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x21,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_406[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_406[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x00,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_407[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x05}; +static const uint8_t msg_408[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_408[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0x5a,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_409[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_409[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0xe1,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_410[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_410[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0xc0,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_411[] = {0x6e,0xf5,0xb8,0xef,0x53,0xfc,0x36,0x56,0x07,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_412[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_412[] = {0x20,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0x78,0x8e,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_413[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_413[] = {0x05,0xb4,0xe8,0x16,0x6f,0x28,0x08,0x29,0x86,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_414[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_414[] = {0x31,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0x37,0x85,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_415[] = {0x6f,0xf5,0xb8,0x6f,0x53,0xfc,0x36,0xd6,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x85}; +static const uint8_t msg_416[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_416[] = {0x21,0x2e,0x4a,0x0f,0x8b,0x4c,0x66,0xf8,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0xda,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_417[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_417[] = {0x04,0xb4,0xe8,0x96,0x6f,0x28,0x08,0xa9,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0x61,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_418[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_418[] = {0x30,0x5d,0x6c,0x78,0xee,0xb3,0x6a,0xb7,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0x40,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_419[] = {0x6f,0xf5,0xb8,0xef,0x53,0xfc,0x36,0xd6,0x06,0xcd,0x3e,0xa0,0x47,0x37,0x48,0x05}; +static const uint8_t msg_420[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_420[] = {0x21,0x2e,0x4a,0x8f,0x8b,0x4c,0x66,0xf8,0x8f,0x3a,0xf2,0x30,0xfb,0x1c,0x3a,0x5a,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_421[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_421[] = {0x04,0xb4,0xe8,0x16,0x6f,0x28,0x08,0xa9,0x87,0xa3,0x2c,0xda,0xf5,0x3d,0xeb,0xe1,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_422[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_422[] = {0x30,0x5d,0x6c,0xf8,0xee,0xb3,0x6a,0xb7,0x84,0x97,0x10,0xe7,0xd1,0xf7,0x29,0xc0,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_423[] = {0x90,0x0a,0x47,0x10,0xac,0x03,0xc9,0xa9,0xf9,0x32,0xc1,0x5f,0xb8,0xc8,0xb7,0x7a}; +static const uint8_t msg_424[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_424[] = {0xde,0xd1,0xb5,0x70,0x74,0xb3,0x99,0x87,0x70,0xc5,0x0d,0xcf,0x04,0xe3,0xc5,0x25,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_425[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_425[] = {0xfb,0x4b,0x17,0xe9,0x90,0xd7,0xf7,0xd6,0x78,0x5c,0xd3,0x25,0x0a,0xc2,0x14,0x9e,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_426[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_426[] = {0xcf,0xa2,0x93,0x07,0x11,0x4c,0x95,0xc8,0x7b,0x68,0xef,0x18,0x2e,0x08,0xd6,0xbf,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_427[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; +static const uint8_t msg_428[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_428[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_429[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_429[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_430[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_430[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_431[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}; +static const uint8_t msg_432[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_432[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_433[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_433[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_434[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_434[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_435[] = {0xef,0x75,0x38,0x6f,0xd3,0x7c,0xb6,0xd6,0x86,0x4d,0xbe,0x20,0xc7,0xb7,0xc8,0x05}; +static const uint8_t msg_436[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_436[] = {0xa1,0xae,0xca,0x0f,0x0b,0xcc,0xe6,0xf8,0x0f,0xba,0x72,0xb0,0x7b,0x9c,0xba,0x5a,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_437[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_437[] = {0x84,0x34,0x68,0x96,0xef,0xa8,0x88,0xa9,0x07,0x23,0xac,0x5a,0x75,0xbd,0x6b,0xe1,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_438[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_438[] = {0xb0,0xdd,0xec,0x78,0x6e,0x33,0xea,0xb7,0x04,0x17,0x90,0x67,0x51,0x77,0xa9,0xc0,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; +static const uint8_t ct_439[] = {0x6e,0xf4,0xb9,0xee,0x52,0xfd,0x37,0x57,0x07,0xcc,0x3f,0xa1,0x46,0x36,0x49,0x84}; +static const uint8_t msg_440[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37}; +static const uint8_t ct_440[] = {0x20,0x2f,0x4b,0x8e,0x8a,0x4d,0x67,0x79,0x8e,0x3b,0xf3,0x31,0xfa,0x1d,0x3b,0xdb,0x5e,0xad,0x70,0xc7,0xf0,0x66,0xd4,0xdf}; +static const uint8_t msg_441[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}; +static const uint8_t ct_441[] = {0x05,0xb5,0xe9,0x17,0x6e,0x29,0x09,0x28,0x86,0xa2,0x2d,0xdb,0xf4,0x3c,0xea,0x60,0x21,0x1d,0xff,0xad,0x75,0x62,0xc4,0xb9,0x24,0xbb,0x79,0xfe,0xd7,0x3d,0x9c,0xe2}; +static const uint8_t msg_442[] = {0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f,0x40,0x41,0x42,0x43}; +static const uint8_t ct_442[] = {0x31,0x5c,0x6d,0xf9,0xef,0xb2,0x6b,0x36,0x85,0x96,0x11,0xe6,0xd0,0xf6,0x28,0x41,0xad,0xfd,0x10,0xa7,0x61,0x5d,0x65,0x15,0xb9,0x99,0xdb,0xfc,0x5a,0x10,0xf3,0xae,0x9d,0xf5,0xf1,0x9a}; + +static const aes_siv_test_case aes_siv_tests[] = { + { 1, "RFC 5297", {0xff,0xfe,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf3,0xf2,0xf1,0xf0,0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff}, 32, aad_1, 24, msg_1, 14, ct_1, 30, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 2, "empty message", {0x2b,0x27,0xe4,0x29,0xfb,0x6c,0x02,0x67,0x8e,0x58,0x9c,0xcc,0x44,0x37,0xc5,0xad,0xfb,0x44,0xb3,0x31,0xab,0x6d,0x21,0xea,0x32,0x17,0x27,0xe6,0xec,0x03,0xd3,0x54}, 32, NULL, 0, NULL, 0, ct_2, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 3, "empty message", {0xe4,0x09,0x92,0xeb,0x4f,0x64,0x9e,0x5d,0x49,0x13,0x46,0x52,0xae,0xcc,0x24,0xba,0xfa,0x6b,0x45,0xce,0x8d,0xd9,0xe9,0xd3,0x71,0xed,0xe7,0xd5,0xde,0x84,0xfa,0x72}, 32, aad_3, 12, NULL, 0, ct_3, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 4, "empty message", {0x99,0x03,0x79,0x35,0xe6,0x20,0xda,0x1d,0x67,0xfa,0xf1,0xe2,0x6d,0x5a,0x0e,0x2c,0x5a,0xc2,0xea,0xe5,0xee,0xc7,0xcb,0xb7,0xb7,0xa6,0x13,0x05,0x6f,0x67,0x19,0xe3}, 32, aad_4, 15, NULL, 0, ct_4, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 5, "empty message", {0x7b,0xf9,0xe5,0x36,0xb6,0x6a,0x21,0x5c,0x22,0x23,0x3f,0xe2,0xda,0xaa,0x74,0x3a,0x89,0x8b,0x9a,0xcb,0x9f,0x78,0x02,0xde,0x70,0xb4,0x0e,0x3d,0x6e,0x43,0xef,0x97}, 32, aad_5, 16, NULL, 0, ct_5, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 6, "empty message", {0xea,0x70,0x81,0xdb,0x53,0xce,0x49,0x55,0x9f,0x9f,0xd2,0xb5,0x3e,0x00,0xf9,0x1b,0x68,0xc2,0xbd,0xba,0x94,0x69,0x61,0xda,0x1a,0x5b,0xc7,0x09,0x18,0x29,0x7a,0x43}, 32, aad_6, 20, NULL, 0, ct_6, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 7, "empty message", {0x1e,0x22,0x5c,0xaf,0xb9,0x03,0x39,0xbb,0xa1,0xb2,0x40,0x76,0xd4,0x20,0x6c,0x3e,0x79,0xc3,0x55,0x80,0x5d,0x85,0x16,0x82,0xbc,0x81,0x8b,0xaa,0x4f,0x5a,0x77,0x79}, 32, aad_7, 32, NULL, 0, ct_7, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 8, "message size divisible by block size", {0x61,0x2e,0x83,0x78,0x43,0xce,0xae,0x7f,0x61,0xd4,0x96,0x25,0xfa,0xa7,0xe7,0x49,0x4f,0x92,0x53,0xe2,0x0c,0xb3,0xad,0xce,0xa6,0x86,0x51,0x2b,0x04,0x39,0x36,0xcd}, 32, aad_8, 16, msg_8, 16, ct_8, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 9, "message size divisible by block size", {0x96,0xe1,0xe4,0x89,0x6f,0xb2,0xcd,0x05,0xf1,0x33,0xa6,0xa1,0x00,0xbc,0x56,0x09,0xa7,0xac,0x3c,0xa6,0xd8,0x17,0x21,0xe9,0x22,0xda,0xdd,0x69,0xad,0x07,0xa8,0x92}, 32, aad_9, 16, msg_9, 32, ct_9, 48, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 10, "message size divisible by block size", {0x64,0x9e,0x37,0x3e,0x68,0x1e,0xf5,0x2e,0x3c,0x10,0xac,0x26,0x54,0x84,0x75,0x09,0x32,0xa9,0x91,0x8f,0x28,0xfb,0x82,0x4f,0x7c,0xb5,0x0a,0xda,0xb3,0x97,0x81,0xfe}, 32, aad_10, 16, msg_10, 48, ct_10, 64, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 11, "small plaintext size", {0x29,0x89,0x62,0x33,0x5a,0x07,0x5e,0x9e,0xac,0xb7,0xa7,0x62,0x7b,0xea,0xfa,0x4e,0xe5,0xa0,0x22,0x42,0x42,0x3c,0xdf,0xb0,0xb4,0xf1,0x06,0xeb,0x61,0xcf,0x56,0x63}, 32, aad_11, 12, msg_11, 1, ct_11, 17, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 12, "small plaintext size", {0xea,0x1a,0x78,0x31,0xe6,0xfd,0x08,0x04,0x56,0x50,0x7a,0x99,0x6b,0x6d,0x71,0x66,0x8c,0x2c,0xec,0x43,0xc7,0x57,0x53,0x9c,0x3b,0x53,0x42,0xfa,0xdb,0xe6,0x4d,0xc4}, 32, aad_12, 12, msg_12, 2, ct_12, 18, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 13, "small plaintext size", {0x00,0x9e,0x82,0x88,0xda,0x0a,0x3d,0x22,0xae,0xaa,0x23,0x1f,0xbb,0xfd,0xe9,0xed,0x90,0x1d,0x22,0xdf,0x9f,0x3a,0xb7,0x07,0xe1,0x5a,0xa2,0xfc,0x39,0x0d,0x06,0x79}, 32, aad_13, 12, msg_13, 3, ct_13, 19, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 14, "small plaintext size", {0xb6,0x20,0x2e,0xf3,0xda,0xd5,0xa4,0x26,0x67,0xf0,0x20,0xf0,0xe4,0xbd,0x89,0xd8,0x45,0x71,0x1d,0xa7,0x7f,0x98,0xc7,0x47,0xeb,0x91,0x4d,0xe8,0x69,0x63,0x8b,0xcf}, 32, aad_14, 12, msg_14, 4, ct_14, 20, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 15, "small plaintext size", {0xfa,0x82,0xae,0xf8,0xc8,0xd6,0xe3,0xcd,0x8f,0x8d,0x05,0x3e,0xa6,0xb1,0xb0,0x7c,0xa3,0xbc,0x01,0x52,0x50,0x6d,0x46,0x49,0x26,0x63,0x0d,0x6f,0xd8,0x3e,0x8a,0x72}, 32, aad_15, 12, msg_15, 5, ct_15, 21, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 16, "small plaintext size", {0x4e,0xd2,0x37,0xae,0x3d,0x06,0x6d,0xf7,0x66,0xbe,0xa9,0x23,0x11,0x6b,0xf9,0xd2,0xce,0x6f,0x63,0xd3,0x4a,0x4f,0x56,0xed,0x86,0x31,0xba,0xcc,0xab,0xd7,0x06,0x47}, 32, aad_16, 12, msg_16, 6, ct_16, 22, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 17, "small plaintext size", {0x56,0xdf,0x5d,0x41,0xa1,0x10,0xa6,0x3a,0xcc,0x7b,0x7c,0x04,0x5b,0xe9,0xf3,0x5a,0x8f,0x2f,0xaf,0x16,0xd8,0x3f,0xb5,0x59,0x26,0x8e,0xb8,0x96,0x34,0x84,0xf5,0x52}, 32, aad_17, 12, msg_17, 7, ct_17, 23, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 18, "small plaintext size", {0x2e,0x94,0xa8,0x4c,0x78,0xbe,0x80,0xcd,0x59,0x83,0x66,0x05,0x8d,0x4f,0x6c,0xdf,0x80,0x95,0x66,0x6d,0xca,0xc7,0xa0,0x0a,0xd8,0x32,0xd9,0xf3,0x3e,0x20,0xd1,0x3c}, 32, aad_18, 12, msg_18, 8, ct_18, 24, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 19, "small plaintext size", {0x60,0xbf,0x71,0x1a,0x16,0x2c,0xf6,0xa1,0xb1,0x08,0xd1,0x35,0x1f,0x9f,0xd2,0xee,0x50,0x22,0xa9,0xdf,0x3c,0x5e,0x49,0x42,0x68,0x22,0x6b,0x17,0x51,0x8a,0x93,0xb7}, 32, aad_19, 12, msg_19, 9, ct_19, 25, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 20, "small plaintext size", {0x5a,0xad,0xf8,0xdd,0x38,0x0e,0x42,0x87,0x58,0x21,0x55,0xf1,0x11,0x65,0xb3,0x1d,0xc8,0xed,0x76,0x94,0x68,0x89,0xa2,0xbb,0x86,0x33,0x99,0x0f,0xb6,0x2f,0xc4,0x6f}, 32, aad_20, 12, msg_20, 10, ct_20, 26, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 21, "small plaintext size", {0xb0,0x99,0xc4,0xa6,0x13,0xf5,0xef,0xda,0x82,0xb0,0x69,0xd9,0xa7,0x6c,0x02,0xa4,0x04,0x9c,0x12,0x31,0x0e,0x25,0xf2,0x72,0xdb,0xd9,0xd1,0x55,0xae,0xdd,0x8d,0x52}, 32, aad_21, 12, msg_21, 11, ct_21, 27, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 22, "small plaintext size", {0xdd,0x06,0x55,0xb5,0x09,0x9c,0x4a,0xcb,0x60,0xc8,0xaf,0xac,0xed,0xe1,0xb6,0xac,0x04,0x28,0x3c,0x4f,0xcd,0xd1,0xfe,0xe2,0xf5,0xaa,0xa6,0xd8,0x6b,0xf6,0xc0,0x25}, 32, aad_22, 12, msg_22, 12, ct_22, 28, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 23, "small plaintext size", {0xaa,0x62,0x85,0x69,0x3f,0xc4,0x0a,0x59,0xeb,0xc2,0xbd,0xab,0x16,0xf1,0xe9,0x11,0x1e,0xc7,0x94,0xce,0x5e,0xc6,0x3b,0x8f,0x89,0xfa,0xfe,0x1b,0x7f,0xed,0xfa,0xcf}, 32, aad_23, 12, msg_23, 13, ct_23, 29, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 24, "small plaintext size", {0x18,0xa4,0x68,0x8d,0xa2,0xad,0x1e,0x11,0x2e,0xa5,0x6e,0xf6,0xda,0x91,0x07,0xe0,0xf1,0x09,0x4e,0xee,0xd3,0xf6,0xb8,0x68,0x20,0x29,0x52,0xd5,0x6e,0x0f,0x82,0x39}, 32, aad_24, 12, msg_24, 14, ct_24, 30, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 25, "small plaintext size", {0x95,0xb3,0x30,0xaa,0x5f,0xff,0xa6,0xc0,0xe2,0x9f,0xd6,0xfa,0x0d,0xeb,0xdc,0xb9,0xcf,0x6b,0x44,0x88,0x20,0xbe,0xa2,0x48,0x75,0x08,0x9e,0xc8,0xca,0x5a,0x23,0x87}, 32, aad_25, 12, msg_25, 15, ct_25, 31, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 26, "plaintext size > 16", {0xb3,0xb7,0xc2,0xc6,0xd3,0xd8,0x09,0x18,0x21,0x8a,0xfc,0xd8,0xbf,0x2a,0x71,0xcf,0x02,0x20,0xe2,0xe8,0x08,0x4e,0xad,0x8b,0xa1,0xab,0xfb,0x89,0x3a,0xe3,0x6d,0x40}, 32, aad_26, 12, msg_26, 17, ct_26, 33, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 27, "plaintext size > 16", {0x27,0x00,0xa2,0x0e,0xf5,0xc3,0xeb,0x4d,0xf1,0x23,0x56,0x8d,0x0d,0xf0,0x42,0xc3,0x5d,0x32,0xb4,0x24,0x37,0xef,0xb1,0x03,0x2a,0x6a,0x1f,0xe5,0x35,0x97,0x67,0xcc}, 32, aad_27, 12, msg_27, 20, ct_27, 36, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 28, "plaintext size > 16", {0xcc,0x5d,0x59,0x9a,0xec,0xbe,0xd3,0x5b,0xb4,0xe1,0x3a,0x2f,0x79,0x58,0x6d,0xfe,0x42,0xe6,0x38,0x2e,0x8f,0xa8,0x32,0x6b,0x67,0x4f,0x34,0x71,0x6d,0x63,0x76,0xf2}, 32, aad_28, 12, msg_28, 31, ct_28, 47, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 29, "plaintext size > 16", {0x71,0xa7,0xad,0xc7,0x22,0x2f,0x47,0x1c,0x28,0xf6,0x82,0xc1,0x2d,0x45,0xfe,0xed,0x45,0x55,0x60,0x00,0xa9,0x86,0x03,0x59,0x22,0x92,0x4a,0xd1,0x54,0xba,0x5f,0xa5}, 32, aad_29, 12, msg_29, 40, ct_29, 56, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 30, "plaintext size > 16", {0x83,0xbc,0x39,0xbf,0x7b,0x5f,0xaa,0xf0,0xf9,0x22,0x3e,0xd2,0xaa,0x76,0x1a,0xb3,0x2c,0x04,0x99,0x3e,0x3f,0xbc,0xcd,0x34,0xee,0x61,0x6f,0xfd,0x28,0xce,0x57,0x66}, 32, aad_30, 12, msg_30, 80, ct_30, 96, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 31, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_31, 16, ct_31, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 32, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, aad_32, 16, msg_32, 16, ct_32, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 33, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_33, 16, ct_33, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 34, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, aad_34, 16, msg_34, 16, ct_34, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 35, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_35, 16, ct_35, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 36, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, aad_36, 16, msg_36, 16, ct_36, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 37, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_37, 16, ct_37, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 38, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, aad_38, 16, msg_38, 16, ct_38, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 39, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_39, 16, ct_39, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 40, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, aad_40, 16, msg_40, 16, ct_40, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 41, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_41, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 42, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_42, 8, ct_42, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 43, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_43, 16, ct_43, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 44, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_44, 20, ct_44, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 45, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_45, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 46, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_46, 8, ct_46, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 47, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_47, 16, ct_47, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 48, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_48, 20, ct_48, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 49, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_49, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 50, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_50, 8, ct_50, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 51, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_51, 16, ct_51, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 52, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_52, 20, ct_52, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 53, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_53, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 54, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_54, 8, ct_54, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 55, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_55, 16, ct_55, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 56, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_56, 20, ct_56, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 57, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_57, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 58, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_58, 8, ct_58, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 59, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_59, 16, ct_59, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 60, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_60, 20, ct_60, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 61, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_61, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 62, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_62, 8, ct_62, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 63, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_63, 16, ct_63, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 64, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_64, 20, ct_64, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 65, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_65, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 66, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_66, 8, ct_66, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 67, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_67, 16, ct_67, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 68, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_68, 20, ct_68, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 69, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_69, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 70, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_70, 8, ct_70, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 71, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_71, 16, ct_71, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 72, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_72, 20, ct_72, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 73, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_73, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 74, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_74, 8, ct_74, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 75, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_75, 16, ct_75, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 76, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_76, 20, ct_76, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 77, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_77, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 78, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_78, 8, ct_78, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 79, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_79, 16, ct_79, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 80, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_80, 20, ct_80, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 81, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_81, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 82, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_82, 8, ct_82, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 83, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_83, 16, ct_83, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 84, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_84, 20, ct_84, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 85, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_85, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 86, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_86, 8, ct_86, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 87, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_87, 16, ct_87, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 88, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_88, 20, ct_88, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 89, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_89, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 90, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_90, 8, ct_90, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 91, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_91, 16, ct_91, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 92, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_92, 20, ct_92, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 93, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_93, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 94, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_94, 8, ct_94, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 95, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_95, 16, ct_95, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 96, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_96, 20, ct_96, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 97, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_97, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 98, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_98, 8, ct_98, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 99, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_99, 16, ct_99, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 100, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_100, 20, ct_100, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 101, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_101, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 102, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_102, 8, ct_102, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 103, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_103, 16, ct_103, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 104, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_104, 20, ct_104, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 105, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_105, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 106, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_106, 8, ct_106, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 107, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_107, 16, ct_107, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 108, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_108, 20, ct_108, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 109, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_109, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 110, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_110, 8, ct_110, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 111, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_111, 16, ct_111, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 112, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_112, 20, ct_112, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 113, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_113, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 114, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_114, 8, ct_114, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 115, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_115, 16, ct_115, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 116, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_116, 20, ct_116, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 117, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_117, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 118, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_118, 8, ct_118, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 119, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_119, 16, ct_119, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 120, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_120, 20, ct_120, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 121, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_121, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 122, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_122, 8, ct_122, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 123, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_123, 16, ct_123, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 124, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_124, 20, ct_124, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 125, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_125, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 126, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_126, 8, ct_126, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 127, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_127, 16, ct_127, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 128, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_128, 20, ct_128, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 129, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_129, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 130, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_130, 8, ct_130, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 131, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_131, 16, ct_131, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 132, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_132, 20, ct_132, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 133, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_133, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 134, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_134, 8, ct_134, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 135, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_135, 16, ct_135, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 136, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_136, 20, ct_136, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 137, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_137, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 138, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_138, 8, ct_138, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 139, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_139, 16, ct_139, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 140, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_140, 20, ct_140, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 141, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_141, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 142, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_142, 8, ct_142, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 143, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_143, 16, ct_143, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 144, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_144, 20, ct_144, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 145, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, NULL, 0, ct_145, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 146, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_146, 8, ct_146, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 147, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_147, 16, ct_147, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 148, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f}, 32, NULL, 0, msg_148, 20, ct_148, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 149, "empty message", {0xd3,0xd5,0x8a,0x2f,0x21,0xe6,0x2f,0x50,0x95,0x54,0x2e,0x61,0x81,0x68,0xef,0x04,0x09,0x22,0xab,0x7d,0x80,0xb3,0x84,0x00,0x55,0xeb,0x9c,0xaf,0x57,0x26,0xa8,0xd4,0xa7,0xf0,0x71,0xdc,0x40,0xdd,0xb3,0x20,0xef,0xfc,0x09,0x42,0x11,0x73,0x50,0x90}, 48, NULL, 0, NULL, 0, ct_149, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 150, "empty message", {0xad,0x0f,0x78,0x62,0x38,0x6c,0x35,0xfe,0xe1,0x28,0xae,0x7f,0xf1,0x8d,0xb0,0x84,0xa0,0xf4,0x57,0xfc,0xfc,0x7f,0xe1,0xc5,0x37,0x0b,0x14,0x5f,0x7f,0xa6,0x45,0xa9,0x7b,0xa3,0xeb,0x4f,0x90,0xe1,0x89,0x41,0xb1,0x8e,0x8d,0x89,0x49,0x4e,0xc7,0x96}, 48, aad_150, 12, NULL, 0, ct_150, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 151, "empty message", {0x27,0x8e,0x77,0x0c,0xa6,0x00,0xbb,0x23,0xf5,0xd8,0x72,0x5b,0xfd,0x0c,0xfc,0x05,0xb9,0x10,0x57,0xe7,0x9c,0x89,0x0a,0x69,0x7d,0x41,0xe9,0xff,0x68,0x7c,0x6a,0x14,0xea,0x48,0xfb,0x22,0x8d,0x7f,0x95,0xab,0x4a,0x93,0xc5,0xba,0x9d,0x96,0x62,0x62}, 48, aad_151, 15, NULL, 0, ct_151, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 152, "empty message", {0x5a,0xd9,0x85,0xb9,0xbc,0xb4,0x61,0xf9,0x11,0x59,0x37,0xb6,0xbd,0xe7,0x07,0x3f,0xbe,0xd9,0xe8,0xbf,0x32,0x24,0x5a,0xfe,0x58,0x36,0xe8,0xc2,0xf6,0x7b,0x39,0x99,0x26,0x6b,0xa0,0xd8,0xd9,0xeb,0xa6,0xfa,0x97,0x8c,0x47,0xea,0x9e,0xf4,0x69,0x0a}, 48, aad_152, 16, NULL, 0, ct_152, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 153, "empty message", {0xb6,0x5c,0x2a,0x4f,0x88,0xf7,0x33,0x14,0x2c,0xc6,0x6e,0xd9,0xaf,0xf4,0x7e,0x77,0xf3,0xa6,0x33,0x9d,0x30,0xe0,0x30,0x29,0x0d,0x34,0xbe,0x40,0xdf,0xa7,0xb3,0x3e,0x37,0xbc,0x2f,0x48,0xea,0x86,0x17,0xf4,0xe7,0xd6,0x0c,0x28,0xc0,0xc0,0x1a,0x0d}, 48, aad_153, 20, NULL, 0, ct_153, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 154, "empty message", {0x4c,0xd9,0xd4,0xd7,0x29,0x79,0x2e,0x6a,0x59,0x9b,0xd5,0x9c,0x33,0x0a,0xe8,0xa4,0xdf,0x40,0x77,0x22,0x5c,0x9c,0x63,0x3c,0xb5,0x91,0x90,0xf3,0xa5,0xd1,0x15,0x0f,0xdc,0x38,0xa7,0xfb,0xc6,0x87,0x51,0x6f,0x82,0xd6,0x35,0x4e,0x57,0x28,0x1c,0x1a}, 48, aad_154, 32, NULL, 0, ct_154, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 155, "message size divisible by block size", {0xca,0x9d,0xb6,0x22,0x14,0xc3,0xaf,0xab,0x38,0x5b,0x90,0x86,0xf1,0xcb,0x90,0xd1,0x71,0x95,0xd4,0x95,0xef,0x47,0x64,0x2d,0xba,0xd0,0x6f,0x4e,0x7d,0x0b,0xab,0x13,0x6c,0x77,0x88,0x50,0x29,0xad,0x44,0x2b,0x30,0xc3,0x4c,0x8b,0x52,0x90,0xe7,0xd0}, 48, aad_155, 16, msg_155, 16, ct_155, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 156, "message size divisible by block size", {0xc4,0xbb,0x58,0xd7,0x3a,0x61,0xee,0xef,0x0e,0xc2,0x34,0x90,0xdc,0x3c,0x3a,0x3e,0x14,0x02,0x44,0xc9,0xbe,0x88,0x20,0x96,0x58,0xcc,0x56,0x54,0xa9,0x96,0xdb,0x23,0x72,0xc2,0x21,0x2f,0xfd,0xc2,0x60,0xbb,0xdb,0x92,0xa5,0x20,0xc8,0x6f,0x96,0xd8}, 48, aad_156, 16, msg_156, 32, ct_156, 48, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 157, "message size divisible by block size", {0x9e,0xae,0x72,0xa3,0x96,0x4b,0xdf,0x14,0xad,0xef,0x86,0x16,0xaa,0x54,0x41,0x57,0x7b,0x7b,0xbc,0x32,0x46,0x52,0x51,0x6b,0x4c,0x29,0xa7,0xb0,0xf3,0xbf,0xa7,0x19,0xbe,0x49,0xe3,0xd2,0xae,0x62,0x97,0x58,0x8a,0xda,0x65,0x2e,0xb4,0x5b,0x0a,0x00}, 48, aad_157, 16, msg_157, 48, ct_157, 64, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 158, "small plaintext size", {0xba,0x78,0x3a,0x71,0x5f,0xf6,0xee,0x6d,0x71,0xe3,0xa4,0xa7,0xad,0xb6,0x35,0x66,0x87,0xdb,0x12,0xcc,0x29,0x54,0x80,0x70,0x99,0xf9,0x74,0x71,0xc9,0x51,0xc7,0xf0,0xc3,0x35,0x71,0xd3,0x33,0x4d,0x11,0x1c,0x4e,0xa3,0x3a,0x12,0x36,0x5c,0x00,0x61}, 48, aad_158, 12, msg_158, 1, ct_158, 17, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 159, "small plaintext size", {0xb5,0xba,0x35,0xa5,0x97,0xbe,0x37,0xf8,0xf8,0x16,0x8a,0x40,0xe9,0xf4,0x7b,0x96,0x07,0x7c,0xec,0xed,0x6a,0xc0,0x96,0x8a,0x4e,0x5f,0xfa,0xbc,0x40,0x21,0x99,0x26,0x7b,0xcd,0x4f,0x74,0x06,0x40,0xc6,0x87,0x74,0x41,0xc6,0x3e,0x80,0x15,0xd8,0x6c}, 48, aad_159, 12, msg_159, 2, ct_159, 18, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 160, "small plaintext size", {0x17,0xa4,0x49,0x37,0xa1,0xf8,0xb8,0x02,0x9a,0x7f,0x64,0x13,0x7e,0xaa,0x2d,0x7d,0xe9,0x50,0xb4,0x9b,0x0e,0xf2,0xd8,0x39,0x94,0x15,0x1c,0x7b,0x9d,0xde,0x2e,0x87,0xc5,0xaa,0x3d,0xeb,0xfa,0x0a,0xd9,0xf0,0x28,0x26,0x0c,0x6d,0xc2,0xfc,0x7e,0x01}, 48, aad_160, 12, msg_160, 3, ct_160, 19, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 161, "small plaintext size", {0xbf,0xf6,0x84,0xf0,0x86,0xef,0x33,0x14,0x21,0x1b,0xa7,0x82,0xa2,0xe7,0xe7,0x5a,0x60,0xa9,0xa3,0xdf,0x9f,0xc5,0x05,0x05,0x7f,0x54,0xe2,0xb2,0x64,0xfb,0xe2,0xe5,0xea,0xe2,0x99,0x87,0x9f,0xcc,0xd2,0x6c,0xa3,0x9d,0x1e,0x33,0xb8,0x83,0x96,0x6e}, 48, aad_161, 12, msg_161, 4, ct_161, 20, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 162, "small plaintext size", {0x37,0x9c,0x42,0x55,0x81,0xca,0x80,0x94,0xe4,0x7d,0x1e,0xe4,0x9f,0xe9,0xa5,0xdd,0x3d,0xd8,0xd6,0x8c,0x6c,0x85,0xf8,0xb4,0xcb,0x56,0x84,0x9e,0x99,0x69,0x8e,0xe7,0x33,0x32,0xc8,0xb0,0xcc,0x6d,0xa0,0x62,0x7c,0x95,0xf2,0xde,0x9d,0xdd,0x08,0x71}, 48, aad_162, 12, msg_162, 5, ct_162, 21, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 163, "small plaintext size", {0x0f,0x11,0xa5,0x4e,0x9f,0x03,0x07,0x18,0x28,0x94,0x4e,0x39,0xa3,0xf5,0xa5,0x53,0x8c,0x4c,0x94,0x12,0x2e,0x75,0x7a,0xa7,0x06,0x2a,0xfd,0xb9,0x0d,0x5e,0x8b,0x4a,0xeb,0x41,0xe6,0x81,0x81,0x8a,0x14,0x98,0x31,0xab,0x7b,0x25,0xe2,0xca,0x3b,0x96}, 48, aad_163, 12, msg_163, 6, ct_163, 22, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 164, "small plaintext size", {0xe9,0x59,0xe0,0xc1,0x4f,0x3e,0x0d,0x8d,0xd4,0x41,0x62,0xd2,0x7f,0x4c,0x33,0x3a,0x33,0x73,0x32,0x55,0x01,0x67,0x73,0x19,0x49,0xc6,0x73,0x2b,0x23,0xa5,0xdb,0xd9,0xaa,0x3d,0xd8,0x01,0xb6,0x65,0x43,0x75,0x54,0x74,0xf4,0x47,0x74,0xe5,0xd8,0x23}, 48, aad_164, 12, msg_164, 7, ct_164, 23, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 165, "small plaintext size", {0xfe,0x64,0x12,0xc4,0x34,0x63,0xc2,0x2b,0x98,0x99,0x2f,0x8c,0x31,0x9b,0x66,0x27,0x18,0x25,0x5d,0x12,0x27,0x7c,0xe6,0x2e,0x56,0xba,0x25,0x8c,0xcc,0x7a,0x46,0x94,0x12,0x1e,0x69,0x12,0xed,0x74,0x5b,0x4a,0x6e,0x12,0xff,0x9d,0x38,0xc8,0x6e,0xf2}, 48, aad_165, 12, msg_165, 8, ct_165, 24, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 166, "small plaintext size", {0x71,0x00,0x2b,0x32,0x1b,0x1e,0x92,0x4a,0x45,0xd9,0x73,0x02,0xa0,0x8f,0x23,0x61,0xaf,0x1d,0x20,0x93,0xfa,0xf6,0x61,0xf0,0x4a,0xb4,0x7e,0xcc,0xa9,0xf5,0xec,0x9a,0x35,0xbe,0x3c,0xcf,0xf8,0xa4,0xae,0xd1,0xff,0x65,0x8d,0x19,0x5c,0x05,0xae,0xd7}, 48, aad_166, 12, msg_166, 9, ct_166, 25, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 167, "small plaintext size", {0xdf,0xf1,0xd0,0x25,0xa8,0xb6,0x2d,0xfb,0xe8,0xfd,0x7d,0x04,0x80,0xe5,0x72,0xf1,0xc5,0xe1,0x25,0xc1,0xab,0x4c,0x14,0x8e,0x37,0xff,0x9a,0x8e,0xc5,0xd8,0xa4,0xcf,0x35,0xbc,0x30,0x44,0x45,0xbe,0x3b,0xc4,0x5e,0xd3,0x7f,0x92,0xe0,0x32,0xaf,0x14}, 48, aad_167, 12, msg_167, 10, ct_167, 26, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 168, "small plaintext size", {0xda,0xe6,0x92,0x07,0x03,0xb8,0x05,0x00,0xb4,0x19,0x72,0x69,0xfa,0xf5,0xd7,0x4d,0xe8,0xe6,0x10,0x41,0x5e,0x19,0x4b,0x42,0x30,0x80,0xeb,0xaf,0x6d,0x99,0x87,0x3d,0xc3,0x07,0xdc,0x4f,0x6d,0x9f,0x32,0xad,0x0e,0xba,0xd8,0xad,0x78,0x52,0x69,0x0c}, 48, aad_168, 12, msg_168, 11, ct_168, 27, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 169, "small plaintext size", {0xe6,0x9e,0xa3,0x66,0xfd,0x38,0x5e,0x0e,0xd8,0xb9,0xcb,0xb0,0x17,0x00,0x65,0x4f,0xa2,0x8a,0xdd,0x8e,0x56,0xb7,0xea,0x68,0x3e,0x1f,0xd7,0x18,0x51,0x1a,0xb0,0xfb,0x22,0xdc,0xd7,0x10,0xc5,0x30,0xe0,0x0f,0xb6,0x6f,0x45,0x84,0xfa,0x21,0xe9,0xe6}, 48, aad_169, 12, msg_169, 12, ct_169, 28, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 170, "small plaintext size", {0xb6,0x0b,0x83,0x85,0x6f,0x56,0xcd,0xf8,0x90,0x27,0x46,0x0a,0x76,0x99,0x3f,0xdb,0xde,0x0f,0x2a,0xb0,0x1e,0x9d,0xde,0x2f,0xa7,0xc2,0x7e,0xf4,0x71,0x55,0xec,0x7c,0xab,0xa8,0x92,0xb2,0x7f,0xd9,0xa3,0x1e,0x89,0x23,0xbf,0xc4,0x47,0x94,0xcd,0x71}, 48, aad_170, 12, msg_170, 13, ct_170, 29, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 171, "small plaintext size", {0x85,0x96,0x98,0xa8,0x52,0xa1,0x31,0xa3,0x80,0x48,0x38,0xf3,0xd0,0x12,0xd6,0x08,0x8e,0x13,0x5b,0x6d,0xb1,0x60,0xb2,0xac,0x68,0xe6,0xdf,0xa6,0xec,0x33,0x0d,0xc0,0xd6,0x82,0xe4,0x06,0xc8,0x7c,0x15,0xb9,0xa7,0x4a,0xff,0xe4,0x41,0x74,0x94,0x95}, 48, aad_171, 12, msg_171, 14, ct_171, 30, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 172, "small plaintext size", {0xeb,0xe1,0xc2,0x73,0xba,0x54,0xb8,0x77,0xb9,0x37,0xe9,0x90,0x6c,0x40,0x63,0xe1,0x88,0xef,0xd5,0x7b,0xd3,0xa3,0x2b,0xe8,0x25,0x36,0x93,0x80,0xf1,0xb9,0xf6,0xb8,0xb6,0xa0,0xc2,0xab,0x13,0x90,0xe5,0x89,0xf6,0x10,0x1c,0x5f,0xfb,0x74,0x60,0xc7}, 48, aad_172, 12, msg_172, 15, ct_172, 31, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 173, "plaintext size > 16", {0x80,0xd5,0x0f,0xaf,0xb3,0xed,0xe5,0xdd,0xbb,0x50,0x58,0x82,0x73,0x03,0xa0,0x98,0xbf,0x21,0x3e,0x47,0xdc,0xff,0x12,0xea,0x53,0x38,0xa2,0xa0,0xf9,0x14,0xd8,0x4b,0xff,0x58,0xc8,0xc6,0x9c,0x3b,0x15,0x1d,0x6d,0xc3,0x80,0xfd,0x8f,0x3e,0x41,0x78}, 48, aad_173, 12, msg_173, 17, ct_173, 33, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 174, "plaintext size > 16", {0x5f,0x6b,0xfe,0x19,0x98,0x7d,0x5b,0xf6,0x47,0x1d,0xd9,0xe4,0x36,0x09,0x4f,0x7f,0xe3,0x3f,0x8a,0xcc,0xa3,0xb8,0xa4,0x1e,0x27,0x78,0x61,0xe2,0x02,0xbd,0x72,0x62,0xfc,0x2b,0x0b,0xd3,0xdf,0x9b,0x35,0xfa,0x2f,0xc3,0xc5,0x79,0x62,0x0f,0x00,0xeb}, 48, aad_174, 12, msg_174, 20, ct_174, 36, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 175, "plaintext size > 16", {0x9e,0xa3,0x73,0x52,0xe4,0x1b,0x57,0xd6,0x1e,0xd8,0x37,0xb2,0xac,0xe4,0x81,0x87,0x0d,0x24,0x13,0xd9,0x2b,0xf0,0x0f,0x30,0xdb,0xb8,0xfe,0x8d,0x25,0x0b,0x3c,0xeb,0xd0,0xf6,0x4d,0x71,0x4c,0xf6,0x1a,0x05,0x33,0xd0,0x2d,0x37,0x22,0x84,0xc6,0xc3}, 48, aad_175, 12, msg_175, 31, ct_175, 47, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 176, "plaintext size > 16", {0x25,0xb0,0xb4,0x04,0xbb,0x1f,0x78,0x44,0x6d,0x0e,0x5c,0xde,0x01,0x2e,0xe5,0x83,0x2c,0xb4,0x03,0x39,0x8a,0x3e,0x66,0xe9,0xb5,0xa2,0x44,0xb5,0x9d,0x89,0x94,0xee,0x10,0x18,0x4a,0x57,0x76,0xf3,0x57,0x8f,0xaa,0xb8,0x30,0xe8,0x65,0xf8,0x13,0x3c}, 48, aad_176, 12, msg_176, 40, ct_176, 56, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 177, "plaintext size > 16", {0x7e,0x22,0x5c,0xf2,0x00,0x4a,0x28,0xa0,0x91,0x98,0x6f,0x13,0x1f,0xd4,0x3e,0xd1,0x11,0xc0,0x69,0x3e,0x63,0x43,0x3f,0xfc,0x9d,0xad,0x90,0x29,0xc5,0x35,0x09,0x63,0x97,0x63,0x6e,0x13,0x29,0x6e,0xb6,0x21,0x43,0x16,0x26,0x43,0xb1,0x3c,0x75,0x46}, 48, aad_177, 12, msg_177, 80, ct_177, 96, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 178, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_178, 16, ct_178, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 179, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, aad_179, 16, msg_179, 16, ct_179, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 180, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_180, 16, ct_180, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 181, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, aad_181, 16, msg_181, 16, ct_181, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 182, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_182, 16, ct_182, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 183, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, aad_183, 16, msg_183, 16, ct_183, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 184, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_184, 16, ct_184, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 185, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, aad_185, 16, msg_185, 16, ct_185, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 186, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_186, 16, ct_186, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 187, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, aad_187, 16, msg_187, 16, ct_187, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 188, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_188, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 189, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_189, 8, ct_189, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 190, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_190, 16, ct_190, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 191, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_191, 20, ct_191, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 192, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_192, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 193, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_193, 8, ct_193, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 194, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_194, 16, ct_194, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 195, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_195, 20, ct_195, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 196, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_196, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 197, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_197, 8, ct_197, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 198, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_198, 16, ct_198, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 199, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_199, 20, ct_199, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 200, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_200, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 201, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_201, 8, ct_201, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 202, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_202, 16, ct_202, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 203, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_203, 20, ct_203, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 204, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_204, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 205, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_205, 8, ct_205, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 206, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_206, 16, ct_206, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 207, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_207, 20, ct_207, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 208, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_208, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 209, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_209, 8, ct_209, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 210, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_210, 16, ct_210, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 211, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_211, 20, ct_211, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 212, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_212, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 213, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_213, 8, ct_213, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 214, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_214, 16, ct_214, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 215, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_215, 20, ct_215, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 216, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_216, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 217, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_217, 8, ct_217, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 218, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_218, 16, ct_218, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 219, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_219, 20, ct_219, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 220, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_220, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 221, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_221, 8, ct_221, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 222, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_222, 16, ct_222, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 223, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_223, 20, ct_223, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 224, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_224, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 225, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_225, 8, ct_225, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 226, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_226, 16, ct_226, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 227, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_227, 20, ct_227, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 228, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_228, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 229, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_229, 8, ct_229, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 230, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_230, 16, ct_230, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 231, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_231, 20, ct_231, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 232, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_232, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 233, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_233, 8, ct_233, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 234, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_234, 16, ct_234, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 235, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_235, 20, ct_235, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 236, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_236, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 237, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_237, 8, ct_237, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 238, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_238, 16, ct_238, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 239, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_239, 20, ct_239, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 240, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_240, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 241, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_241, 8, ct_241, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 242, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_242, 16, ct_242, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 243, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_243, 20, ct_243, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 244, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_244, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 245, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_245, 8, ct_245, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 246, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_246, 16, ct_246, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 247, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_247, 20, ct_247, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 248, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_248, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 249, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_249, 8, ct_249, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 250, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_250, 16, ct_250, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 251, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_251, 20, ct_251, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 252, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_252, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 253, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_253, 8, ct_253, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 254, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_254, 16, ct_254, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 255, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_255, 20, ct_255, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 256, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_256, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 257, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_257, 8, ct_257, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 258, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_258, 16, ct_258, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 259, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_259, 20, ct_259, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 260, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_260, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 261, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_261, 8, ct_261, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 262, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_262, 16, ct_262, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 263, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_263, 20, ct_263, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 264, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_264, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 265, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_265, 8, ct_265, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 266, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_266, 16, ct_266, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 267, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_267, 20, ct_267, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 268, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_268, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 269, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_269, 8, ct_269, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 270, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_270, 16, ct_270, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 271, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_271, 20, ct_271, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 272, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_272, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 273, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_273, 8, ct_273, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 274, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_274, 16, ct_274, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 275, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_275, 20, ct_275, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 276, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_276, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 277, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_277, 8, ct_277, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 278, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_278, 16, ct_278, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 279, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_279, 20, ct_279, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 280, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_280, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 281, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_281, 8, ct_281, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 282, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_282, 16, ct_282, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 283, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_283, 20, ct_283, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 284, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_284, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 285, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_285, 8, ct_285, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 286, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_286, 16, ct_286, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 287, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_287, 20, ct_287, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 288, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_288, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 289, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_289, 8, ct_289, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 290, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_290, 16, ct_290, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 291, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_291, 20, ct_291, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 292, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, NULL, 0, ct_292, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 293, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_293, 8, ct_293, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 294, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_294, 16, ct_294, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 295, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f}, 48, NULL, 0, msg_295, 20, ct_295, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 296, "empty message", {0xbc,0x76,0x35,0xc1,0xfd,0x56,0x6a,0xa8,0x35,0x7f,0xd1,0x03,0x71,0x4b,0xfa,0xee,0x1c,0x9e,0x5b,0x3c,0x57,0x8b,0x39,0x80,0x40,0x1a,0x98,0x10,0x30,0x25,0x4a,0x54,0xb1,0x75,0x6a,0x8c,0x96,0xe6,0x00,0xb7,0x25,0x2f,0xd0,0xaa,0xb1,0x2f,0x39,0xd1,0x15,0xd2,0x56,0xb3,0xf3,0xe7,0xc2,0xc4,0x1a,0x7f,0xec,0xe7,0x2b,0xa7,0xc3,0xc4}, 64, NULL, 0, NULL, 0, ct_296, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 297, "empty message", {0xaf,0xf6,0x38,0x8f,0xdd,0x29,0x08,0xe0,0xc3,0xb6,0x10,0xe3,0xdc,0xd4,0x10,0xc8,0x14,0x6a,0x26,0x8d,0x6b,0xef,0xd5,0xc4,0x5f,0xfd,0xd2,0x35,0x08,0xb5,0xb3,0x11,0xcc,0x3a,0x9d,0x8f,0x83,0x8f,0x45,0x64,0x36,0xb2,0x89,0x01,0x86,0x82,0x15,0x1d,0xd5,0x7d,0x8d,0x65,0xd1,0xa8,0x23,0xc0,0x6e,0xca,0x8a,0xb8,0xee,0x01,0xda,0x01}, 64, aad_297, 12, NULL, 0, ct_297, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 298, "empty message", {0x48,0x42,0x61,0xeb,0xf7,0xe1,0xfb,0x66,0xe0,0xbc,0xaf,0xe8,0xf4,0xcc,0xf9,0xc5,0xac,0xcc,0x90,0x8f,0xdb,0x23,0xeb,0x7c,0x52,0x54,0xd6,0x14,0x07,0x2f,0x26,0xe1,0x06,0xb3,0x45,0x01,0xd1,0x3c,0x1d,0xad,0x1f,0x14,0x64,0x8c,0x6a,0x14,0x21,0x32,0xdd,0x7f,0x2f,0x12,0x68,0xdd,0x6b,0x70,0xfb,0xcd,0xe2,0xfe,0x98,0xf0,0x32,0x45}, 64, aad_298, 15, NULL, 0, ct_298, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 299, "empty message", {0x0b,0x6a,0xaf,0x05,0xf9,0xb5,0x22,0x1e,0x53,0x99,0x40,0xcd,0x83,0xcb,0x29,0xd2,0xbc,0xc7,0xa0,0xaa,0x47,0x2d,0x8f,0xc6,0x7b,0xed,0xd0,0x10,0x88,0x69,0x39,0x4e,0x33,0xc9,0xf2,0x33,0xd4,0xb2,0xcc,0x9c,0x6a,0x59,0xe8,0xce,0x9c,0xd2,0x68,0xa0,0xf3,0xf2,0x85,0x7e,0x08,0xfe,0x1e,0xb3,0x29,0xef,0x34,0x7d,0xac,0xe1,0x55,0x7d}, 64, aad_299, 16, NULL, 0, ct_299, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 300, "empty message", {0xd4,0x7a,0xb6,0xd5,0x1f,0x99,0xf4,0x24,0x9d,0xa5,0x6c,0x93,0xd1,0xf0,0x9e,0x85,0x62,0x31,0xf3,0xfe,0xd7,0x77,0xb3,0x03,0x11,0x1a,0xd3,0x10,0x79,0x27,0x08,0x39,0xe4,0xbc,0x4b,0x5d,0x86,0x23,0x16,0x2d,0x47,0x38,0xd7,0x08,0x03,0x93,0x4a,0x75,0xf4,0x57,0xfd,0xbf,0x4a,0x27,0x7b,0x82,0x8c,0xb6,0xe2,0x75,0x3e,0x88,0x70,0x2a}, 64, aad_300, 20, NULL, 0, ct_300, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 301, "empty message", {0xee,0xf6,0xbc,0xf1,0x6e,0xf7,0xae,0x17,0x32,0x6a,0x33,0xf2,0x2d,0x14,0x06,0xec,0x1b,0xd3,0xf8,0x66,0x50,0x5f,0x4b,0x2e,0x4f,0xe8,0xb4,0x5b,0xd6,0x2c,0xcb,0xd8,0x50,0x32,0xa9,0x89,0x9f,0xac,0xf2,0xdb,0x0c,0x93,0xa2,0x34,0x5c,0xb8,0x89,0x2a,0xfb,0x74,0xdb,0x54,0x97,0x81,0x21,0x1d,0xd8,0x88,0x1a,0x8c,0x8e,0x25,0xc1,0x71}, 64, aad_301, 32, NULL, 0, ct_301, 16, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 302, "message size divisible by block size", {0xc2,0x5c,0xaf,0xc6,0x01,0x8b,0x98,0xdf,0xbb,0x79,0xa4,0x0e,0xc8,0x9c,0x57,0x5a,0x4f,0x88,0xc4,0x11,0x64,0x89,0xbb,0xa2,0x77,0x07,0x47,0x98,0x00,0xc0,0x13,0x02,0x35,0x33,0x4a,0x45,0xdb,0xe8,0xd8,0xda,0xe3,0xda,0x8d,0xcb,0x45,0xbb,0xe5,0xdc,0xe0,0x31,0xb0,0xf6,0x8d,0xed,0x54,0x4f,0xda,0x7e,0xca,0x30,0xd6,0x74,0x94,0x42}, 64, aad_302, 16, msg_302, 16, ct_302, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 303, "message size divisible by block size", {0x27,0xfa,0xf9,0x7f,0xb3,0x03,0xaa,0x4f,0x2f,0x36,0x4e,0xdd,0x23,0x99,0x7f,0x4c,0x77,0xb8,0xe5,0x1e,0xbb,0x82,0x93,0xc5,0x9d,0xfb,0x1d,0x24,0xf0,0xfb,0x62,0x9f,0x6c,0x82,0x0f,0xc2,0xd9,0x1b,0xf4,0x8f,0x00,0x35,0xee,0xec,0x34,0x7e,0x37,0xec,0x4f,0xb0,0xcb,0x36,0x10,0x2b,0xcd,0xc5,0xa2,0x48,0xc4,0x7a,0x2f,0x97,0xea,0xb9}, 64, aad_303, 16, msg_303, 32, ct_303, 48, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 304, "message size divisible by block size", {0x97,0xbf,0xd0,0xf3,0xe9,0xbb,0x81,0x67,0xbb,0xb5,0x5f,0x4c,0xdc,0x14,0x52,0x9d,0x83,0x07,0xc0,0xec,0x2c,0x3f,0xe8,0xbc,0x88,0x52,0x2d,0x05,0xc1,0x26,0x1b,0xa4,0x60,0xc9,0xcb,0x41,0x16,0xf6,0x30,0xed,0xd7,0x4d,0x41,0x3e,0xc4,0x17,0x32,0x4c,0x6e,0x29,0xb5,0x66,0xfb,0x2d,0xd3,0xdf,0x18,0xe0,0x7b,0x53,0xb1,0xf9,0xf8,0x3b}, 64, aad_304, 16, msg_304, 48, ct_304, 64, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 305, "small plaintext size", {0xe2,0xc5,0x66,0x2b,0xb1,0x8f,0xbb,0x41,0x1d,0x03,0x04,0xe4,0x24,0x1d,0xb0,0x73,0xfe,0x60,0xa4,0x70,0x4f,0xee,0x29,0x00,0x73,0x51,0x30,0x38,0xa2,0x2b,0x4c,0xd5,0x42,0x58,0x0b,0x2b,0x4e,0xdb,0xc3,0x7e,0x3d,0xe0,0x1c,0x0c,0xb6,0x1a,0xbc,0xad,0x46,0x98,0x6c,0xdc,0x49,0x1c,0xe9,0xe5,0xae,0x5a,0xf2,0x23,0xff,0x58,0xb9,0x53}, 64, aad_305, 12, msg_305, 1, ct_305, 17, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 306, "small plaintext size", {0x3a,0xb0,0x62,0xdb,0xdd,0x38,0xb9,0x51,0xa9,0xfb,0x0d,0x8b,0xb1,0x85,0x95,0x9a,0x93,0xda,0xb3,0x49,0x6b,0x85,0x0a,0x30,0x62,0xb9,0x30,0x03,0x03,0x6c,0x8b,0xd2,0xaa,0xbb,0xf3,0x7d,0x5d,0x3f,0x6a,0x39,0x9d,0x4c,0xed,0xef,0xb7,0x0c,0x1b,0x8a,0x7b,0x45,0x63,0x9f,0xe1,0x18,0xc1,0x0e,0x39,0xf3,0x6f,0xa5,0x86,0x18,0xa8,0x4d}, 64, aad_306, 12, msg_306, 2, ct_306, 18, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 307, "small plaintext size", {0x9e,0x57,0x5c,0xd8,0x99,0x1b,0x32,0xf0,0x6f,0xba,0xf5,0x5a,0xd7,0x9e,0xb7,0x48,0x22,0x34,0x9e,0x07,0xfa,0x77,0xc4,0x09,0x84,0x8c,0x86,0x82,0x00,0x11,0x56,0x9f,0x26,0xdc,0xb4,0x9a,0xfa,0xea,0x19,0xa5,0x2a,0x96,0xb2,0x7e,0x67,0xf7,0x80,0xac,0x7a,0x00,0xda,0x9a,0x30,0x54,0xd1,0x67,0x8d,0x60,0x41,0x7c,0xf3,0x49,0x96,0xb1}, 64, aad_307, 12, msg_307, 3, ct_307, 19, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 308, "small plaintext size", {0x6d,0x43,0xcf,0xc9,0x30,0xa1,0xe0,0x05,0x1f,0x60,0x7d,0x0c,0x4a,0x76,0xad,0x5b,0xec,0x77,0xd9,0xf9,0x8b,0xbd,0x9a,0xe5,0xe5,0x6a,0x1d,0x65,0xfc,0xf1,0xbf,0x68,0xc7,0x78,0x0f,0x72,0x7b,0xfe,0x69,0x04,0x97,0xba,0xe4,0x78,0xaf,0xbc,0x4e,0xbf,0x7a,0x89,0x94,0x3e,0xe1,0x46,0xf7,0x2d,0x35,0x29,0x40,0x79,0x4f,0xf2,0x02,0xf4}, 64, aad_308, 12, msg_308, 4, ct_308, 20, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 309, "small plaintext size", {0x67,0x3c,0xea,0x58,0x2b,0xf3,0x98,0x2c,0xe3,0xfb,0xa5,0x30,0x4d,0xe8,0xfe,0x46,0xe3,0x16,0xd6,0x80,0x47,0x49,0xd6,0xdb,0x58,0xb7,0xab,0x7d,0x64,0xbd,0x4e,0x0a,0xf6,0x41,0x99,0x79,0x75,0x23,0x4f,0x8b,0x91,0x8c,0xca,0x32,0x47,0xd6,0x7c,0xfe,0xac,0x92,0x30,0xd1,0x5e,0xd2,0x8f,0x80,0x71,0xa8,0x5e,0x84,0xfa,0x9e,0xf2,0x11}, 64, aad_309, 12, msg_309, 5, ct_309, 21, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 310, "small plaintext size", {0x8f,0x13,0xf2,0xbf,0x02,0xd7,0x23,0x60,0xd9,0x95,0x8e,0xb8,0xaa,0x90,0x63,0x4a,0xe4,0x83,0x31,0xe7,0xdf,0xdb,0xf1,0x6f,0xc5,0x1c,0x72,0x38,0xae,0x9f,0x9d,0x50,0xd4,0x49,0x5d,0x19,0x66,0x76,0xef,0x52,0x59,0xb6,0x4a,0x61,0x63,0x05,0xff,0xaa,0xe5,0x17,0xc5,0x87,0xd4,0xe7,0xaf,0xba,0x40,0xe4,0xa2,0xc5,0xb0,0x98,0x91,0x82}, 64, aad_310, 12, msg_310, 6, ct_310, 22, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 311, "small plaintext size", {0x67,0xb3,0xab,0x00,0x07,0x5a,0x0e,0x3d,0x07,0xf3,0xfe,0x73,0xfa,0xbe,0xa5,0xd0,0x37,0x32,0x06,0xa0,0xaa,0xfa,0x93,0x97,0x98,0x19,0x24,0xdd,0xaf,0x2c,0xb2,0x83,0xc6,0x6a,0xf6,0x11,0x66,0x81,0x5d,0xff,0xbe,0x8f,0xaf,0xa6,0x88,0xb7,0x93,0xfd,0x25,0x9f,0xad,0x4a,0x1f,0x75,0xa2,0x59,0x34,0x2e,0x58,0x81,0x44,0x48,0xa4,0xb4}, 64, aad_311, 12, msg_311, 7, ct_311, 23, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 312, "small plaintext size", {0xa6,0x61,0xc6,0xa9,0x0f,0xd4,0x0d,0x8a,0x73,0x48,0x73,0xd6,0x6a,0xfd,0x44,0x77,0xc5,0x04,0x1c,0xdc,0x2b,0x31,0xa3,0xcd,0x0a,0xc3,0x60,0x4c,0xac,0x4f,0x74,0x41,0x12,0x19,0xe5,0x44,0x61,0x5b,0x56,0xe1,0x7f,0x57,0x74,0xb5,0x08,0x51,0x29,0xf6,0xdd,0x69,0x89,0x3b,0xb7,0x21,0x6b,0x53,0x9c,0xf4,0x2b,0x79,0xf0,0x06,0x82,0x78}, 64, aad_312, 12, msg_312, 8, ct_312, 24, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 313, "small plaintext size", {0xa4,0x0b,0x1c,0xc1,0x10,0xe1,0xaa,0x28,0xab,0x86,0xf7,0x14,0xab,0xd6,0xd3,0x13,0x01,0x69,0x89,0xa1,0xc8,0xcf,0xcb,0x62,0x06,0x3e,0x2c,0x39,0x6c,0xa1,0x2a,0x24,0x6d,0xe3,0xb9,0xbd,0x82,0x99,0x4e,0x5f,0x1c,0xb1,0x32,0x3f,0x78,0xa9,0xa0,0xed,0x02,0xfe,0x84,0x19,0x76,0xa6,0x59,0x42,0x36,0x03,0xd9,0x1c,0xcf,0x71,0xd5,0x8e}, 64, aad_313, 12, msg_313, 9, ct_313, 25, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 314, "small plaintext size", {0x8a,0xf0,0xe5,0x79,0x98,0xdd,0x68,0xb0,0xf4,0x5b,0x58,0xe7,0x08,0x40,0x5d,0x0a,0xd8,0x26,0x93,0x97,0x24,0x92,0x95,0xfd,0x33,0x60,0x96,0xe0,0x65,0xdb,0x2b,0xb1,0xe4,0x11,0x0d,0x55,0x07,0xc0,0x4d,0x73,0xc1,0x50,0xf6,0xe7,0xd8,0x7c,0xed,0x02,0x9a,0xb3,0x86,0x61,0xf2,0x01,0xec,0x77,0x87,0x4e,0x43,0x95,0x33,0x73,0xb3,0x8a}, 64, aad_314, 12, msg_314, 10, ct_314, 26, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 315, "small plaintext size", {0x6e,0x06,0x32,0x40,0xd8,0x3d,0x4a,0x90,0xe4,0x4e,0x56,0xe6,0x31,0xfe,0xfe,0x9f,0x6c,0x7c,0x7d,0x56,0x51,0x8e,0xff,0x3a,0x90,0x2d,0xdd,0x5c,0xa9,0xb8,0x37,0xa2,0x04,0x4b,0x37,0x27,0x57,0x1d,0x1c,0xa5,0x6a,0x68,0xab,0xfd,0x99,0x7d,0xa9,0x45,0xe4,0xd1,0x4f,0x71,0xdc,0x86,0xb0,0x14,0x9a,0x19,0xa9,0x3d,0x1e,0x5f,0xec,0x85}, 64, aad_315, 12, msg_315, 11, ct_315, 27, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 316, "small plaintext size", {0x95,0x93,0xf0,0xd6,0x67,0x9e,0x8e,0x18,0xb4,0x3c,0xb4,0xd2,0x6a,0x7e,0xa9,0xda,0x9d,0x60,0x37,0xfd,0x5a,0x82,0xdb,0x0b,0x09,0x1a,0x68,0x2b,0x65,0x47,0xa7,0x72,0x98,0xe4,0xfd,0x1d,0x14,0x81,0xf3,0x60,0x3d,0x0b,0x1e,0x7e,0x6d,0xcf,0x27,0x20,0x01,0x05,0xaf,0x0f,0x84,0x4f,0x2a,0xaa,0xcd,0x98,0x54,0x0a,0xb2,0xb6,0xc8,0xa8}, 64, aad_316, 12, msg_316, 12, ct_316, 28, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 317, "small plaintext size", {0x77,0xf7,0xdd,0x66,0x2a,0x8f,0x0a,0xaf,0x7f,0x19,0xc6,0x61,0x45,0x84,0xe4,0xac,0xf5,0xc7,0x74,0xd1,0x9e,0x10,0xd2,0x07,0x0e,0xaa,0x97,0x7e,0x9c,0x6b,0xa2,0x1b,0xa8,0x2f,0x0b,0xc8,0x49,0x39,0xcf,0x70,0x28,0x3d,0xca,0xc9,0xc6,0x45,0xb7,0x42,0x3c,0xa0,0xcc,0x94,0xba,0xc8,0x27,0xea,0x37,0x8f,0x1c,0xa0,0xc9,0xda,0x0e,0xee}, 64, aad_317, 12, msg_317, 13, ct_317, 29, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 318, "small plaintext size", {0x89,0x16,0xd0,0x34,0x20,0x01,0x56,0x19,0x22,0xe6,0x74,0xb0,0xcc,0x51,0xc0,0x5a,0x93,0x5e,0x5d,0xc4,0x5a,0x6d,0x62,0x84,0xf3,0x4a,0x4c,0x5c,0x79,0xe9,0x20,0x62,0xdc,0x30,0x91,0x21,0x75,0x84,0x60,0x7e,0x9c,0xf9,0x05,0x6a,0xa4,0x95,0xca,0x4c,0xd5,0x3f,0xd3,0xd4,0xc6,0xa9,0x4c,0x4b,0x38,0x40,0x07,0xe6,0x21,0x74,0x50,0x6b}, 64, aad_318, 12, msg_318, 14, ct_318, 30, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 319, "small plaintext size", {0x2a,0x93,0xa0,0xc3,0x77,0x97,0xbe,0xe0,0xc3,0x44,0xb9,0xce,0xed,0x1a,0x60,0x98,0x13,0xd8,0xc5,0xee,0x68,0x6d,0x26,0x0f,0x3a,0xa6,0xfc,0x2f,0x66,0xdc,0x59,0xf4,0x00,0x47,0x9d,0x1d,0xfe,0x04,0xe8,0x9e,0x6d,0xf6,0x08,0xa3,0xf6,0x99,0xff,0x1c,0xb4,0xe9,0xbf,0x24,0xa7,0x8f,0xb2,0xdf,0xdd,0xaa,0x00,0x11,0xa2,0xe4,0x02,0x08}, 64, aad_319, 12, msg_319, 15, ct_319, 31, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 320, "plaintext size > 16", {0x13,0x93,0x83,0xf3,0xf8,0x2d,0xc7,0x8e,0x0b,0x38,0x00,0x27,0xf9,0xe5,0xfc,0xd2,0xed,0x23,0x71,0x64,0x04,0xbe,0x5c,0x55,0x44,0x52,0xe4,0xdc,0x73,0xd2,0x37,0x02,0x65,0x94,0x49,0x18,0x20,0xc6,0xb8,0x29,0x71,0x85,0xcc,0x1f,0xa8,0x4f,0x49,0xa5,0xc7,0xd7,0xcd,0x05,0xc5,0xde,0x09,0x0f,0xf1,0xc3,0x39,0x7b,0xc2,0x74,0x04,0x37}, 64, aad_320, 12, msg_320, 17, ct_320, 33, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 321, "plaintext size > 16", {0xea,0xc9,0x6a,0x89,0xb8,0xe0,0xc9,0x28,0xa8,0x5c,0x91,0x39,0x63,0x46,0xef,0xe8,0x28,0x77,0x30,0x59,0x50,0x64,0x55,0x4c,0xd1,0x35,0x74,0xf8,0xb3,0x40,0xf5,0x41,0xc5,0xf0,0xbb,0x55,0xe6,0x54,0xe5,0x1b,0x05,0xe2,0x1b,0xa0,0x07,0x94,0x2c,0xab,0xab,0x5e,0xe1,0x02,0x09,0x22,0xf0,0xdd,0x00,0x21,0x96,0xa3,0x9d,0x7f,0xda,0x1d}, 64, aad_321, 12, msg_321, 20, ct_321, 36, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 322, "plaintext size > 16", {0xc0,0xf4,0xbe,0xde,0x68,0xc6,0xed,0x5a,0xd1,0x49,0x18,0xe2,0xdd,0xec,0xed,0x69,0x2d,0xfd,0x54,0x19,0xc0,0x42,0x04,0xd5,0xb9,0x6f,0x4c,0xa4,0x70,0x78,0xb0,0x70,0x28,0xc6,0xfb,0x87,0xb1,0xb4,0x90,0xd8,0x75,0xf0,0x70,0xbb,0xe4,0xd7,0x90,0xf6,0x5e,0x5d,0xf1,0x99,0x47,0xf0,0x2c,0x9d,0x3a,0x4e,0x49,0x3b,0x54,0x2d,0x02,0x91}, 64, aad_322, 12, msg_322, 31, ct_322, 47, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 323, "plaintext size > 16", {0xcd,0x86,0x89,0xf8,0x21,0x81,0x7f,0x59,0xbf,0xaa,0x75,0x51,0x31,0xf2,0x56,0x51,0x61,0xc7,0xf4,0x48,0x9f,0x89,0xb6,0x57,0xac,0x9f,0xa1,0x27,0xa9,0x76,0x85,0x35,0xa7,0x02,0xd0,0x01,0xb9,0xb9,0x9c,0xc1,0x1c,0x39,0x76,0x46,0x7b,0x1b,0x45,0x86,0x5f,0xf4,0x17,0xdc,0x25,0x6e,0xbb,0x50,0x79,0xb7,0xf1,0xb3,0xe0,0x83,0x07,0xb5}, 64, aad_323, 12, msg_323, 40, ct_323, 56, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 324, "plaintext size > 16", {0x72,0xa7,0x67,0x14,0xe0,0x17,0x1e,0x82,0x13,0xde,0x62,0x4f,0x00,0xe2,0x73,0xbc,0x90,0x00,0x50,0xe6,0x9d,0x25,0xc4,0x54,0xcc,0x42,0xb6,0x1e,0x8b,0x3f,0xbc,0x92,0xd4,0x94,0x2e,0x1a,0xe1,0x44,0x21,0xe1,0x64,0x04,0x6c,0x14,0x79,0xa7,0xb9,0xc9,0xf4,0xb5,0x0b,0x38,0x2c,0xb6,0x2d,0xfe,0xaa,0x21,0x0b,0x98,0xde,0xc7,0xd9,0x37}, 64, aad_324, 12, msg_324, 80, ct_324, 96, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 325, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_325, 16, ct_325, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 326, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, aad_326, 16, msg_326, 16, ct_326, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 327, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_327, 16, ct_327, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 328, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, aad_328, 16, msg_328, 16, ct_328, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 329, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_329, 16, ct_329, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 330, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, aad_330, 16, msg_330, 16, ct_330, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 331, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_331, 16, ct_331, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 332, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, aad_332, 16, msg_332, 16, ct_332, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 333, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_333, 16, ct_333, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 334, "edge case SIV", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, aad_334, 16, msg_334, 16, ct_334, 32, LTC_TEST_CASE_SHOULD_SUCCEED }, + { 335, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_335, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 336, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_336, 8, ct_336, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 337, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_337, 16, ct_337, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 338, "Flipped bit 0 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_338, 20, ct_338, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 339, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_339, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 340, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_340, 8, ct_340, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 341, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_341, 16, ct_341, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 342, "Flipped bit 1 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_342, 20, ct_342, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 343, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_343, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 344, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_344, 8, ct_344, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 345, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_345, 16, ct_345, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 346, "Flipped bit 7 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_346, 20, ct_346, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 347, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_347, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 348, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_348, 8, ct_348, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 349, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_349, 16, ct_349, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 350, "Flipped bit 8 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_350, 20, ct_350, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 351, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_351, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 352, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_352, 8, ct_352, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 353, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_353, 16, ct_353, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 354, "Flipped bit 31 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_354, 20, ct_354, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 355, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_355, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 356, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_356, 8, ct_356, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 357, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_357, 16, ct_357, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 358, "Flipped bit 32 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_358, 20, ct_358, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 359, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_359, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 360, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_360, 8, ct_360, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 361, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_361, 16, ct_361, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 362, "Flipped bit 33 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_362, 20, ct_362, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 363, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_363, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 364, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_364, 8, ct_364, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 365, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_365, 16, ct_365, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 366, "Flipped bit 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_366, 20, ct_366, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 367, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_367, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 368, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_368, 8, ct_368, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 369, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_369, 16, ct_369, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 370, "Flipped bit 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_370, 20, ct_370, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 371, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_371, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 372, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_372, 8, ct_372, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 373, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_373, 16, ct_373, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 374, "Flipped bit 71 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_374, 20, ct_374, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 375, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_375, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 376, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_376, 8, ct_376, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 377, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_377, 16, ct_377, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 378, "Flipped bit 77 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_378, 20, ct_378, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 379, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_379, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 380, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_380, 8, ct_380, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 381, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_381, 16, ct_381, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 382, "Flipped bit 80 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_382, 20, ct_382, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 383, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_383, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 384, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_384, 8, ct_384, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 385, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_385, 16, ct_385, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 386, "Flipped bit 96 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_386, 20, ct_386, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 387, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_387, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 388, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_388, 8, ct_388, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 389, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_389, 16, ct_389, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 390, "Flipped bit 97 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_390, 20, ct_390, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 391, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_391, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 392, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_392, 8, ct_392, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 393, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_393, 16, ct_393, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 394, "Flipped bit 103 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_394, 20, ct_394, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 395, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_395, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 396, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_396, 8, ct_396, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 397, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_397, 16, ct_397, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 398, "Flipped bit 120 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_398, 20, ct_398, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 399, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_399, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 400, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_400, 8, ct_400, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 401, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_401, 16, ct_401, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 402, "Flipped bit 121 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_402, 20, ct_402, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 403, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_403, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 404, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_404, 8, ct_404, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 405, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_405, 16, ct_405, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 406, "Flipped bit 126 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_406, 20, ct_406, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 407, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_407, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 408, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_408, 8, ct_408, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 409, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_409, 16, ct_409, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 410, "Flipped bit 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_410, 20, ct_410, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 411, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_411, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 412, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_412, 8, ct_412, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 413, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_413, 16, ct_413, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 414, "Flipped bits 0 and 64 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_414, 20, ct_414, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 415, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_415, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 416, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_416, 8, ct_416, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 417, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_417, 16, ct_417, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 418, "Flipped bits 31 and 63 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_418, 20, ct_418, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 419, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_419, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 420, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_420, 8, ct_420, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 421, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_421, 16, ct_421, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 422, "Flipped bits 63 and 127 in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_422, 20, ct_422, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 423, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_423, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 424, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_424, 8, ct_424, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 425, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_425, 16, ct_425, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 426, "all bits of tag flipped", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_426, 20, ct_426, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 427, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_427, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 428, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_428, 8, ct_428, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 429, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_429, 16, ct_429, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 430, "Tag changed to all zero", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_430, 20, ct_430, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 431, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_431, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 432, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_432, 8, ct_432, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 433, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_433, 16, ct_433, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 434, "tag changed to all 1", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_434, 20, ct_434, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 435, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_435, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 436, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_436, 8, ct_436, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 437, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_437, 16, ct_437, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 438, "msbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_438, 20, ct_438, 36, LTC_TEST_CASE_SHOULD_FAIL }, + { 439, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, NULL, 0, ct_439, 16, LTC_TEST_CASE_SHOULD_FAIL }, + { 440, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_440, 8, ct_440, 24, LTC_TEST_CASE_SHOULD_FAIL }, + { 441, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_441, 16, ct_441, 32, LTC_TEST_CASE_SHOULD_FAIL }, + { 442, "lsbs changed in tag", {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f,0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19,0x1a,0x1b,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x2a,0x2b,0x2c,0x2d,0x2e,0x2f,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x3b,0x3c,0x3d,0x3e,0x3f}, 64, NULL, 0, msg_442, 20, ct_442, 36, LTC_TEST_CASE_SHOULD_FAIL }, +}; +#endif /* defined(LTC_TEST) && defined(LTC_SIV_MODE) */ diff --git a/tests/siv_wycheproof_test.c b/tests/siv_wycheproof_test.c new file mode 100644 index 000000000..e5ea4832d --- /dev/null +++ b/tests/siv_wycheproof_test.c @@ -0,0 +1,99 @@ +/* LibTomCrypt, modular cryptographic library -- Tom St Denis */ +/* SPDX-License-Identifier: Unlicense */ +/* test SIV */ +#include + +#if defined(LTC_TEST) && defined(LTC_SIV_MODE) +#include "siv_wycheproof.h" + +/* typedef struct + * { + * int tcId; + * const char *comment; + * uint8_t key[64]; + * size_t keyLen; + * const uint8_t *aad; + * size_t aadLen; + * const uint8_t *msg; + * size_t msgLen; + * const uint8_t *ct; + * size_t ctLen; + * ltc_aes_siv_test_case_result result; + * } aes_siv_test_case; + */ +int siv_wycheproof_test(void) +{ + unsigned long n, buflen; + unsigned char buf[MAXBLOCKSIZE]; + const unsigned char *aad[2] = {0}; + unsigned long aadlen[2] = {0}; + int cipher; + cipher = find_cipher("aes"); + for (n = 0; n < LTC_ARRAY_SIZE(aes_siv_tests); ++n) { + XMEMSET(buf, 0, sizeof(buf)); + buflen = sizeof(buf); + if (aes_siv_tests[n].result == LTC_TEST_CASE_SHOULD_FAIL) { + SHOULD_FAIL(siv_memory(cipher, LTC_DECRYPT, + aes_siv_tests[n].key, aes_siv_tests[n].keyLen, + aes_siv_tests[n].ct, aes_siv_tests[n].ctLen, + buf, &buflen, + 1, + aes_siv_tests[n].aad, aes_siv_tests[n].aadLen, + LTC_NULL)); + XMEMSET(buf, 0, sizeof(buf)); + buflen = sizeof(buf); + aad[0] = aes_siv_tests[n].aad; + aadlen[0] = aes_siv_tests[n].aadLen; + SHOULD_FAIL(siv_decrypt_memory(cipher, + aes_siv_tests[n].key, aes_siv_tests[n].keyLen, + 1, + (const unsigned char **)aad, aadlen, + aes_siv_tests[n].ct, aes_siv_tests[n].ctLen, + buf, &buflen)); + } else { + DO(siv_memory(cipher, LTC_ENCRYPT, + aes_siv_tests[n].key, aes_siv_tests[n].keyLen, + aes_siv_tests[n].msg, aes_siv_tests[n].msgLen, + buf, &buflen, + 1, + aes_siv_tests[n].aad, aes_siv_tests[n].aadLen, + LTC_NULL)); + COMPARE_TESTVECTOR(buf, buflen, aes_siv_tests[n].ct, aes_siv_tests[n].ctLen, aes_siv_tests[n].comment, aes_siv_tests[n].tcId); + XMEMSET(buf, 0, sizeof(buf)); + buflen = sizeof(buf); + DO(siv_memory(cipher, LTC_DECRYPT, + aes_siv_tests[n].key, aes_siv_tests[n].keyLen, + aes_siv_tests[n].ct, aes_siv_tests[n].ctLen, + buf, &buflen, + 1, + aes_siv_tests[n].aad, aes_siv_tests[n].aadLen, + LTC_NULL)); + COMPARE_TESTVECTOR(buf, buflen, aes_siv_tests[n].msg, aes_siv_tests[n].msgLen, aes_siv_tests[n].comment, -aes_siv_tests[n].tcId); + + XMEMSET(buf, 0, sizeof(buf)); + buflen = sizeof(buf); + aad[0] = aes_siv_tests[n].aad; + aadlen[0] = aes_siv_tests[n].aadLen; + DO(siv_encrypt_memory(cipher, + aes_siv_tests[n].key, aes_siv_tests[n].keyLen, + 1, + (const unsigned char **)aad, aadlen, + aes_siv_tests[n].msg, aes_siv_tests[n].msgLen, + buf, &buflen)); + COMPARE_TESTVECTOR(buf, buflen, aes_siv_tests[n].ct, aes_siv_tests[n].ctLen, aes_siv_tests[n].comment, aes_siv_tests[n].tcId); + buflen = sizeof(buf); + DO(siv_decrypt_memory(cipher, + aes_siv_tests[n].key, aes_siv_tests[n].keyLen, + 1, + (const unsigned char **)aad, aadlen, + aes_siv_tests[n].ct, aes_siv_tests[n].ctLen, + buf, &buflen)); + COMPARE_TESTVECTOR(buf, buflen, aes_siv_tests[n].msg, aes_siv_tests[n].msgLen, aes_siv_tests[n].comment, -aes_siv_tests[n].tcId); + } + } + return CRYPT_OK; +} + +#else +int siv_wycheproof_test(void) { return CRYPT_NOP; } +#endif diff --git a/tests/sources.cmake b/tests/sources.cmake index ae348a644..f29ac060b 100644 --- a/tests/sources.cmake +++ b/tests/sources.cmake @@ -32,6 +32,7 @@ prng_test.c rotate_test.c rsa_test.c scrypt_test.c +siv_wycheproof_test.c ssh_test.c store_test.c test.c diff --git a/tests/test.c b/tests/test.c index 8eb7d7d0b..f2f5ed0c5 100644 --- a/tests/test.c +++ b/tests/test.c @@ -344,6 +344,9 @@ int main(int argc, char **argv) printf("LTC_VERSION = %s\n%s\n\n", GIT_VERSION, crypt_build_settings); + printf("AES-NI CPU support = %d\n", aesni_is_supported()); + printf("SHA-NI CPU support = %d\n\n", shani_is_supported()); + #ifdef USE_LTM mpi_provider = "ltm"; #elif defined(USE_TFM) diff --git a/tests/tomcrypt_test.h b/tests/tomcrypt_test.h index 747ede567..749a661cb 100644 --- a/tests/tomcrypt_test.h +++ b/tests/tomcrypt_test.h @@ -17,6 +17,7 @@ typedef struct { int cipher_hash_test(void); int modes_test(void); int mac_test(void); +int siv_wycheproof_test(void); int pkcs_1_test(void); int pkcs_1_pss_test(void); int pkcs_1_oaep_test(void);