From 7e73badcbd72c47480ef3d4f6f4fcb6828b44ad0 Mon Sep 17 00:00:00 2001 From: Kgothatso Ngako Date: Mon, 31 Aug 2026 00:57:43 +0200 Subject: [PATCH] frost: fix constant-time violations and C90 conformance The module's BIP 445 logic itself is unchanged and was independently validated against the pinned spec commit bb5396f (BIP v0.10.0), both via the checked-in test vectors and via differential testing against the Python reference over 360 randomised configurations (n up to 128, shuffled non-contiguous signer ids, mixed xonly/plain tweak chains, variable-length messages, pubshares present and absent). Every change below is structural: the differential harness produces byte-identical pubnonces, aggnonces, partial signatures and final signatures before and after. Two classes of problem prevented the module from passing CI. 1. Constant-time violations (ctime_tests) ----------------------------------------- The CI matrix enables FROST in rows that also run "valgrind --error-exitcode=42 ./ctime_tests" -- WITH_VALGRIND and CTIMETESTS both default to 'yes'. With the module enabled that job reported 639 "conditional jump depends on uninitialised value" errors, all originating from two sites: - secp256k1_frost_derive_coefficient returned !overflow && !secp256k1_scalar_is_zero(out) where the short-circuiting && branches on `overflow`, which is derived from the threshold secret key. The caller declassifies the return value, but the branch has already happened inside the callee. Replaced with a bitwise &, matching the existing idiom in secp256k1_scalar_set_b32_seckey (src/scalar_impl.h). - secp256k1_frost_sign_internal performs the self-verification recommended by BIP 445, which runs the *variable-time* secp256k1_ecmult over the partial signature s. nonce_pts and pk were already declassified ahead of that call; s was not. Since s is the public output of the function, declassifying it before the self-verification is both correct and sufficient. secp256k1_frost_deterministic_sign carried three more instances of the same class, invisible until now because ctime_tests did not exercise that path at all: - the `if (!valid)` check on secp256k1_scalar_set_b32_seckey lacked the declassify that the identical checks in secp256k1_frost_nonce_gen and secp256k1_frost_sign_internal already have; - secp256k1_frost_det_nonce_function used the same short-circuiting &&, here over the secret nonces; - the branch on that function's result was not declassified. The && in det_nonce_function is rewritten via two int locals rather than a bare bitwise &: clang's -Wbitwise-instead-of-logical fires when both operands are `!f(...)` expressions, which would break the -Werror clang builds. ctime_tests now also covers secp256k1_frost_deterministic_sign, so that path stays checked from here on. None of these leak anything of value in practice -- they reveal only negligible-probability events (a hash overflowing the curve order, a zero nonce) or whether a secret share is a valid secret key -- but they violate the project's declassification discipline and fail the ctime test. 2. C90 conformance (-Werror -pedantic-errors) --------------------------------------------- The project targets C90 (CMAKE_C_STANDARD 90, -std=c89 -pedantic) and CI passes WERROR_CFLAGS='-Werror -pedantic-errors'. Compiling src/tests.c with those flags produced 62 errors in three groups: - 40x "ISO C forbids empty initializer braces before C2X" in the generated vectors.h; empty {} initializers are C23-only. Fixed in tools/test_vectors_frost_generate.py so it survives regeneration: hexstr_to_intarray now emits "0" for an empty byte string (all six of its call sites wrap the result in braces), and init_group's `counted` helper emits "{ 0 }" for an empty group. In every affected slot the paired count/length field is 0, so the padding element is never read. - 1x "comma at end of enumerator list" (C99+), also in the generator. - 21x "initializer element is not computable at load time" across 11 lines of tests_impl.h. C90 requires constant expressions in initializers for automatic aggregates, so const secp256k1_frost_pubnonce *ptrs[2] = { &a, &b }; is invalid. Rewritten as a declaration plus assignments, the style the musig tests already use, which is why the pre-existing tree was green. vectors.h is regenerated from the spec's JSON vectors. Its hex payload is byte-identical (verified by hashing every 0xNN token) and the file still reproduces exactly from tools/test_vectors_frost_generate.py. Verification ------------ - gcc and clang, -std=c89 -pedantic-errors -Werror, with and without -DVERIFY: clean (was 62 errors) - ctime_tests under MemorySanitizer: 0 reports (was 639); exits 0 with halt_on_error=1 - tests, noverify_tests and frost_example: pass - vectors.h regenerates identically from the pinned spec vectors - 240 signing + 120 deterministic-signing differential cases against the BIP 445 Python reference: byte-identical to the pre-fix build Co-Authored-By: Claude Opus 5 --- src/ctime_tests.c | 14 +++++++ src/modules/frost/keygen_impl.h | 4 +- src/modules/frost/session_impl.h | 30 ++++++++++++--- src/modules/frost/tests_impl.h | 55 ++++++++++++++++++++++------ src/modules/frost/vectors.h | 48 ++++++++++++------------ tools/test_vectors_frost_generate.py | 11 ++++-- 6 files changed, 117 insertions(+), 45 deletions(-) diff --git a/src/ctime_tests.c b/src/ctime_tests.c index 4bc11ec5..e5e0308e 100644 --- a/src/ctime_tests.c +++ b/src/ctime_tests.c @@ -439,6 +439,20 @@ static void run_tests(secp256k1_context *ctx, unsigned char *key) { SECP256K1_CHECKMEM_DEFINE(&partial_sig[i], sizeof(partial_sig[i])); } CHECK(secp256k1_frost_partial_sig_agg(ctx, sig, NULL, &session, partial_sig_ptrs, 2) == 1); + + /* Test frost_deterministic_sign. The secret share is secret; the + * pubnonce and the partial signature are public. */ + for (i = 0; i < 2; i++) { + secp256k1_frost_pubnonce det_pubnonce; + secp256k1_frost_partial_sig det_partial_sig; + + SECP256K1_CHECKMEM_UNDEFINE(&secshares[32 * i], 32); + ret = secp256k1_frost_deterministic_sign(ctx, &det_partial_sig, &det_pubnonce, &secshares[32 * i], frost_ids[i], &aggnonce, frost_ids, pubshares, 2, 2, 2, &cache, msg, 32, NULL); + SECP256K1_CHECKMEM_DEFINE(&ret, sizeof(ret)); + CHECK(ret == 1); + SECP256K1_CHECKMEM_DEFINE(&det_pubnonce, sizeof(det_pubnonce)); + SECP256K1_CHECKMEM_DEFINE(&det_partial_sig, sizeof(det_partial_sig)); + } } #endif } diff --git a/src/modules/frost/keygen_impl.h b/src/modules/frost/keygen_impl.h index 9fa9c7ac..fb410be9 100644 --- a/src/modules/frost/keygen_impl.h +++ b/src/modules/frost/keygen_impl.h @@ -39,7 +39,9 @@ static int secp256k1_frost_derive_coefficient(const secp256k1_hash_ctx *hash_ctx secp256k1_memclear_explicit(buf, sizeof(buf)); secp256k1_scalar_set_b32(out, hash32, &overflow); secp256k1_memclear_explicit(hash32, sizeof(hash32)); - return !overflow && !secp256k1_scalar_is_zero(out); + /* Bitwise (not short-circuiting) so that this does not branch on the + * secret-derived overflow; the caller declassifies the return value. */ + return (!overflow) & (!secp256k1_scalar_is_zero(out)); } static const unsigned char secp256k1_frost_tweak_cache_magic[4] = { 0x8d, 0x86, 0xb5, 0x01 }; diff --git a/src/modules/frost/session_impl.h b/src/modules/frost/session_impl.h index 4d01dc0a..c274590f 100644 --- a/src/modules/frost/session_impl.h +++ b/src/modules/frost/session_impl.h @@ -797,9 +797,14 @@ static int secp256k1_frost_sign_internal(const secp256k1_context *ctx, secp256k1 /* Self-verify the partial signature, as recommended by BIP 445. This can * only fail in case of an implementation bug or catastrophic hardware - * failure, so the result of the verification is not secret. */ + * failure, so the result of the verification is not secret. The partial + * signature itself is declassified first: it is the public output of this + * function, and the verification below multiplies with it in variable + * time. */ { - int verified = secp256k1_frost_verify_partial_sig(&s, nonce_pts, &pk, &lambda, session_i); + int verified; + secp256k1_declassify(ctx, &s, sizeof(s)); + verified = secp256k1_frost_verify_partial_sig(&s, nonce_pts, &pk, &lambda, session_i); secp256k1_declassify(ctx, &verified, sizeof(verified)); if (!verified) { goto cleanup; @@ -951,6 +956,7 @@ static int secp256k1_frost_det_nonce_function(const secp256k1_hash_ctx *hash_ctx secp256k1_sha256 sha; unsigned char buf[4]; size_t i; + int k0_nonzero, k1_nonzero; secp256k1_frost_sha256_tagged_deterministic_nonce(hash_ctx, &sha); secp256k1_sha256_write(hash_ctx, &sha, secshare32, 32); @@ -981,7 +987,11 @@ static int secp256k1_frost_det_nonce_function(const secp256k1_hash_ctx *hash_ctx secp256k1_sha256_clear(&sha_tmp); } secp256k1_sha256_clear(&sha); - return !secp256k1_scalar_is_zero(&k[0]) && !secp256k1_scalar_is_zero(&k[1]); + /* Bitwise (not short-circuiting) so that this does not branch on the + * secret nonces; the caller declassifies the return value. */ + k0_nonzero = !secp256k1_scalar_is_zero(&k[0]); + k1_nonzero = !secp256k1_scalar_is_zero(&k[1]); + return k0_nonzero & k1_nonzero; } int secp256k1_frost_deterministic_sign(const secp256k1_context *ctx, secp256k1_frost_partial_sig *partial_sig, secp256k1_frost_pubnonce *pubnonce, const unsigned char *secshare32, uint32_t my_id, const secp256k1_frost_aggnonce *aggothernonce, const uint32_t *ids, const secp256k1_pubkey *pubshares, size_t n_signers, size_t n_participants, uint32_t threshold, const secp256k1_frost_tweak_cache *tweak_cache, const unsigned char *msg, size_t msglen, const unsigned char *aux_rand32) { @@ -1024,6 +1034,9 @@ int secp256k1_frost_deterministic_sign(const secp256k1_context *ctx, secp256k1_f secp256k1_scalar secshare; int valid = secp256k1_scalar_set_b32_seckey(&secshare, secshare32); secp256k1_scalar_clear(&secshare); + /* We can declassify because branching on valid only leaks whether the + * provided secret share is a valid secret key, which is not secret. */ + secp256k1_declassify(ctx, &valid, sizeof(valid)); if (!valid) { return 0; } @@ -1063,9 +1076,14 @@ int secp256k1_frost_deterministic_sign(const secp256k1_context *ctx, secp256k1_f secp256k1_fe_get_b32(pk32, &cache_i.pk.x); secp256k1_frost_sort_ids(sorted_ids, ids, n_signers); - if (!secp256k1_frost_det_nonce_function(hash_ctx, k, secshare_, my_id, sorted_ids, n_signers, aggother66_ptr, pk32, msg, msglen)) { - /* k_i == 0 can only occur with negligible probability */ - goto cleanup; + { + int k_ok = secp256k1_frost_det_nonce_function(hash_ctx, k, secshare_, my_id, sorted_ids, n_signers, aggother66_ptr, pk32, msg, msglen); + /* k_i == 0 can only occur with negligible probability, so its + * occurrence is not secret. */ + secp256k1_declassify(ctx, &k_ok, sizeof(k_ok)); + if (!k_ok) { + goto cleanup; + } } /* The signer's pubnonce. k != 0, so the points are not infinity. */ diff --git a/src/modules/frost/tests_impl.h b/src/modules/frost/tests_impl.h index feacd361..409ef6fb 100644 --- a/src/modules/frost/tests_impl.h +++ b/src/modules/frost/tests_impl.h @@ -467,7 +467,11 @@ static void frost_nonce_vector_test(void) { /* Aggregating the two pubnonces. */ { - const secp256k1_frost_pubnonce *pubnonce_ptrs[2] = { &pubnonce, &pubnonce2 }; + const secp256k1_frost_pubnonce *pubnonce_ptrs[2]; + + pubnonce_ptrs[0] = &pubnonce; + pubnonce_ptrs[1] = &pubnonce2; + CHECK(secp256k1_frost_nonce_agg(CTX, &aggnonce, NULL, pubnonce_ptrs, 2) == 1); CHECK(secp256k1_frost_aggnonce_serialize(CTX, buf, &aggnonce) == 1); CHECK(secp256k1_memcmp_var(buf, expected_aggnonce, 66) == 0); @@ -477,7 +481,10 @@ static void frost_nonce_vector_test(void) { * and serializes as 33 zero bytes. */ { secp256k1_frost_pubnonce pubnonce_neg; - const secp256k1_frost_pubnonce *pubnonce_ptrs[2] = { &pubnonce, &pubnonce_neg }; + const secp256k1_frost_pubnonce *pubnonce_ptrs[2]; + + pubnonce_ptrs[0] = &pubnonce; + pubnonce_ptrs[1] = &pubnonce_neg; CHECK(secp256k1_frost_pubnonce_load(CTX, ges, &pubnonce) == 1); secp256k1_ge_neg(&ges[0], &ges[0]); @@ -564,9 +571,11 @@ static void frost_nonce_test_internal(void) { /* Aggregating a single pubnonce (u = 1) yields the same points. */ { - const secp256k1_frost_pubnonce *pubnonce_ptrs[1] = { &pubnonce[0] }; + const secp256k1_frost_pubnonce *pubnonce_ptrs[1]; secp256k1_ge ges[2], ges_agg[2]; + pubnonce_ptrs[0] = &pubnonce[0]; + CHECK(secp256k1_frost_nonce_agg(CTX, &aggnonce, NULL, pubnonce_ptrs, 1) == 1); CHECK(secp256k1_frost_pubnonce_load(CTX, ges, &pubnonce[0]) == 1); CHECK(secp256k1_frost_aggnonce_load(CTX, ges_agg, &aggnonce) == 1); @@ -577,10 +586,14 @@ static void frost_nonce_test_internal(void) { /* Aggregating u nonces matches the manual column sums. */ { - const secp256k1_frost_pubnonce *pubnonce_ptrs[3] = { &pubnonce[0], &pubnonce[1], &pubnonce[2] }; + const secp256k1_frost_pubnonce *pubnonce_ptrs[3]; secp256k1_gej sumj[2]; secp256k1_ge sums[2], ges_agg[2]; + pubnonce_ptrs[0] = &pubnonce[0]; + pubnonce_ptrs[1] = &pubnonce[1]; + pubnonce_ptrs[2] = &pubnonce[2]; + CHECK(secp256k1_frost_nonce_agg(CTX, &aggnonce, NULL, pubnonce_ptrs, 3) == 1); secp256k1_gej_set_infinity(&sumj[0]); secp256k1_gej_set_infinity(&sumj[1]); @@ -601,10 +614,13 @@ static void frost_nonce_test_internal(void) { /* A NULL array element is a missing contribution: nonce_agg fails and * reports its index. */ { - const secp256k1_frost_pubnonce *pubnonce_ptrs[3] = { &pubnonce[0], &pubnonce[1], &pubnonce[2] }; + const secp256k1_frost_pubnonce *pubnonce_ptrs[3]; size_t null_index = testrand_int(3); size_t error_index = 0xFF; + pubnonce_ptrs[0] = &pubnonce[0]; + pubnonce_ptrs[1] = &pubnonce[1]; + pubnonce_ptrs[2] = &pubnonce[2]; pubnonce_ptrs[null_index] = NULL; CHECK(secp256k1_frost_nonce_agg(CTX, &aggnonce, &error_index, pubnonce_ptrs, 3) == 0); CHECK(error_index == null_index); @@ -675,7 +691,12 @@ static void frost_nonce_test_internal(void) { /* nonce_agg argument validation. */ { - const secp256k1_frost_pubnonce *pubnonce_ptrs[3] = { &pubnonce[0], &pubnonce[1], &pubnonce[2] }; + const secp256k1_frost_pubnonce *pubnonce_ptrs[3]; + + pubnonce_ptrs[0] = &pubnonce[0]; + pubnonce_ptrs[1] = &pubnonce[1]; + pubnonce_ptrs[2] = &pubnonce[2]; + CHECK_ILLEGAL(CTX, secp256k1_frost_nonce_agg(CTX, NULL, NULL, pubnonce_ptrs, 3)); CHECK_ILLEGAL(CTX, secp256k1_frost_nonce_agg(CTX, &aggnonce, NULL, NULL, 3)); CHECK_ILLEGAL(CTX, secp256k1_frost_nonce_agg(CTX, &aggnonce, NULL, pubnonce_ptrs, 0)); @@ -918,11 +939,15 @@ static void frost_det_sign_vector_test(void) { { static const uint32_t ids[1] = { 2 }; secp256k1_frost_partial_sig psig; - const secp256k1_frost_partial_sig *psig_ptrs[1] = { &psig }; + const secp256k1_frost_partial_sig *psig_ptrs[1]; secp256k1_frost_pubnonce pubnonce; - const secp256k1_frost_pubnonce *pubnonce_ptrs[1] = { &pubnonce }; + const secp256k1_frost_pubnonce *pubnonce_ptrs[1]; unsigned char aux_rand[32]; + pubnonce_ptrs[0] = &pubnonce; + + psig_ptrs[0] = &psig; + memset(aux_rand, 0x77, 32); CHECK(secp256k1_frost_deterministic_sign(CTX, &psig, &pubnonce, &secshares[2 * 32], 2, NULL, ids, &pubshares[2], 1, 3, 1, &cache, msg, sizeof(msg) - 1, aux_rand) == 1); CHECK(secp256k1_frost_pubnonce_serialize(CTX, buf, &pubnonce) == 1); @@ -947,12 +972,18 @@ static void frost_det_sign_vector_test(void) { secp256k1_pubkey signer_pubshares[2]; secp256k1_frost_secnonce secnonce; secp256k1_frost_pubnonce pubnonce[2]; - const secp256k1_frost_pubnonce *pubnonce_ptrs[2] = { &pubnonce[0], &pubnonce[1] }; + const secp256k1_frost_pubnonce *pubnonce_ptrs[2]; secp256k1_frost_partial_sig psig[2]; - const secp256k1_frost_partial_sig *psig_ptrs[2] = { &psig[0], &psig[1] }; + const secp256k1_frost_partial_sig *psig_ptrs[2]; secp256k1_frost_aggnonce aggothernonce; unsigned char rand[32]; + psig_ptrs[0] = &psig[0]; + psig_ptrs[1] = &psig[1]; + + pubnonce_ptrs[0] = &pubnonce[0]; + pubnonce_ptrs[1] = &pubnonce[1]; + signer_pubshares[0] = pubshares[0]; signer_pubshares[1] = pubshares[1]; @@ -1177,13 +1208,15 @@ static void frost_sign_test_internal(void) { * are consistent with a session built from them. */ { secp256k1_frost_partial_sig det_psig; - const secp256k1_frost_partial_sig *det_psig_ptrs[1] = { &det_psig }; + const secp256k1_frost_partial_sig *det_psig_ptrs[1]; secp256k1_frost_pubnonce det_pubnonce; const secp256k1_frost_pubnonce *det_pubnonce_ptrs[FROST_SIGN_TEST_MAX_N]; secp256k1_frost_aggnonce det_aggnonce; secp256k1_frost_session det_session; unsigned char aux_rand[32]; + det_psig_ptrs[0] = &det_psig; + det_pubnonce_ptrs[0] = &det_pubnonce; for (i = 1; i < u; i++) { det_pubnonce_ptrs[i] = &pubnonce[i]; diff --git a/src/modules/frost/vectors.h b/src/modules/frost/vectors.h index 73d1681a..a524efa5 100644 --- a/src/modules/frost/vectors.h +++ b/src/modules/frost/vectors.h @@ -32,7 +32,7 @@ enum frost_vec_error { FROST_VEC_ERR_DET_SIGN, /* The aggothernonce is rejected: frost_aggnonce_parse or * frost_deterministic_sign returns 0. */ - FROST_VEC_ERR_AGGOTHERNONCE, + FROST_VEC_ERR_AGGOTHERNONCE }; enum { @@ -86,10 +86,10 @@ struct frost_vec_nonce_gen_case { }; static const struct frost_vec_nonce_gen_case frost_vec_nonce_gen_cases[5] = { { { 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F }, 1, { 0x53, 0x44, 0x2F, 0xA9, 0xBD, 0x72, 0xEE, 0xA0, 0xA4, 0x2D, 0xF6, 0xF2, 0xD2, 0xD7, 0x6A, 0x2C, 0x0D, 0x3A, 0x3D, 0xFA, 0x2B, 0xE2, 0xF8, 0x20, 0xF4, 0x1A, 0xDE, 0x97, 0x6B, 0x82, 0x59, 0xFB }, 1, { 0x03, 0x9E, 0xE3, 0x33, 0x5A, 0xF4, 0x8D, 0xFE, 0x23, 0x70, 0x2A, 0xB3, 0x53, 0xF4, 0xAF, 0x20, 0xD4, 0x01, 0xF6, 0x7A, 0x13, 0x0D, 0xF7, 0x83, 0xCC, 0x84, 0x57, 0x32, 0x3A, 0x86, 0x0A, 0x2F, 0xB4 }, 1, { 0xD7, 0x72, 0xA0, 0x9F, 0x5F, 0x67, 0x57, 0x83, 0xD2, 0x75, 0xED, 0x9F, 0x6A, 0xAE, 0xDB, 0x2E, 0xCC, 0xBC, 0x74, 0x17, 0x1B, 0x37, 0xAC, 0x23, 0xAE, 0x3B, 0xBD, 0x9D, 0x7A, 0xE2, 0xCD, 0xAA }, 1, 32, { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 }, 1, 32, { 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 }, { 0x60, 0xF7, 0x3D, 0xF0, 0xC6, 0x6B, 0x5B, 0xCA, 0xDF, 0x68, 0xB4, 0xCB, 0x34, 0x87, 0xEC, 0xF3, 0xF3, 0x06, 0x5C, 0xC9, 0xD9, 0xC1, 0xDC, 0xF5, 0x56, 0x45, 0x3A, 0x42, 0xE2, 0x1A, 0xBF, 0x5C, 0x9C, 0xA3, 0x7B, 0xF6, 0xCF, 0xE0, 0xE9, 0x0C, 0x16, 0xD8, 0x3E, 0xFB, 0x57, 0x20, 0x95, 0xD8, 0x28, 0x63, 0xF2, 0x99, 0xCA, 0x86, 0xBE, 0x3C, 0x53, 0xF1, 0x67, 0xFF, 0xD1, 0xF3, 0x60, 0x6A }, { 0x03, 0x8E, 0xBC, 0x31, 0xEF, 0x5C, 0x88, 0xC3, 0xE4, 0x47, 0x0B, 0xDA, 0x87, 0x65, 0xA8, 0x37, 0x76, 0x97, 0xE1, 0xCB, 0x20, 0xA1, 0xD0, 0x7D, 0x6B, 0x09, 0xC0, 0x14, 0x68, 0x14, 0xEC, 0x5B, 0xDF, 0x03, 0x86, 0xD6, 0x1A, 0x1C, 0xCF, 0xBE, 0xC0, 0xA8, 0xAE, 0xF0, 0x1F, 0xFD, 0x83, 0xA6, 0xF9, 0xE0, 0xE9, 0x0F, 0xDC, 0x20, 0xD0, 0x93, 0x86, 0x1A, 0x27, 0xAC, 0x4A, 0x10, 0xC9, 0x31, 0xB0, 0xD3 } }, - { { 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F }, 1, { 0x53, 0x44, 0x2F, 0xA9, 0xBD, 0x72, 0xEE, 0xA0, 0xA4, 0x2D, 0xF6, 0xF2, 0xD2, 0xD7, 0x6A, 0x2C, 0x0D, 0x3A, 0x3D, 0xFA, 0x2B, 0xE2, 0xF8, 0x20, 0xF4, 0x1A, 0xDE, 0x97, 0x6B, 0x82, 0x59, 0xFB }, 1, { 0x03, 0x9E, 0xE3, 0x33, 0x5A, 0xF4, 0x8D, 0xFE, 0x23, 0x70, 0x2A, 0xB3, 0x53, 0xF4, 0xAF, 0x20, 0xD4, 0x01, 0xF6, 0x7A, 0x13, 0x0D, 0xF7, 0x83, 0xCC, 0x84, 0x57, 0x32, 0x3A, 0x86, 0x0A, 0x2F, 0xB4 }, 1, { 0xD7, 0x72, 0xA0, 0x9F, 0x5F, 0x67, 0x57, 0x83, 0xD2, 0x75, 0xED, 0x9F, 0x6A, 0xAE, 0xDB, 0x2E, 0xCC, 0xBC, 0x74, 0x17, 0x1B, 0x37, 0xAC, 0x23, 0xAE, 0x3B, 0xBD, 0x9D, 0x7A, 0xE2, 0xCD, 0xAA }, 1, 0, { }, 1, 32, { 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 }, { 0x23, 0x35, 0x36, 0x90, 0x33, 0x40, 0xC2, 0xF5, 0x10, 0x47, 0x93, 0x34, 0x10, 0xAD, 0xD7, 0x5C, 0xC6, 0x2A, 0x90, 0x99, 0xAF, 0xAC, 0x1F, 0xAD, 0x41, 0x09, 0xCA, 0x23, 0x4E, 0xC9, 0x40, 0x99, 0xA3, 0x01, 0x06, 0xB1, 0x87, 0xA6, 0x57, 0x2B, 0x2E, 0xE1, 0x57, 0x0D, 0xE0, 0x58, 0x32, 0xB1, 0x68, 0x3D, 0xF2, 0x72, 0x76, 0x9D, 0xD0, 0xD3, 0x4E, 0x46, 0x0C, 0xB2, 0x78, 0x08, 0x61, 0x73 }, { 0x03, 0x4C, 0xCF, 0xCF, 0x7B, 0x15, 0xD5, 0xE5, 0xA0, 0xBA, 0xED, 0x01, 0xF7, 0x44, 0xB8, 0x4D, 0x3A, 0x40, 0x5C, 0x18, 0x00, 0xB6, 0xE1, 0x7B, 0xF1, 0xF2, 0xBC, 0xE8, 0x81, 0x7D, 0x4A, 0x96, 0x59, 0x03, 0xC1, 0x10, 0xE6, 0x4C, 0x61, 0xF7, 0x52, 0x7C, 0x0D, 0x2C, 0xF8, 0xE9, 0x9F, 0x9A, 0x62, 0xB8, 0xA4, 0x34, 0x0F, 0x08, 0x30, 0x3E, 0x27, 0x28, 0x45, 0x35, 0x1C, 0x9A, 0x60, 0x7F, 0xDF, 0x8F } }, + { { 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F }, 1, { 0x53, 0x44, 0x2F, 0xA9, 0xBD, 0x72, 0xEE, 0xA0, 0xA4, 0x2D, 0xF6, 0xF2, 0xD2, 0xD7, 0x6A, 0x2C, 0x0D, 0x3A, 0x3D, 0xFA, 0x2B, 0xE2, 0xF8, 0x20, 0xF4, 0x1A, 0xDE, 0x97, 0x6B, 0x82, 0x59, 0xFB }, 1, { 0x03, 0x9E, 0xE3, 0x33, 0x5A, 0xF4, 0x8D, 0xFE, 0x23, 0x70, 0x2A, 0xB3, 0x53, 0xF4, 0xAF, 0x20, 0xD4, 0x01, 0xF6, 0x7A, 0x13, 0x0D, 0xF7, 0x83, 0xCC, 0x84, 0x57, 0x32, 0x3A, 0x86, 0x0A, 0x2F, 0xB4 }, 1, { 0xD7, 0x72, 0xA0, 0x9F, 0x5F, 0x67, 0x57, 0x83, 0xD2, 0x75, 0xED, 0x9F, 0x6A, 0xAE, 0xDB, 0x2E, 0xCC, 0xBC, 0x74, 0x17, 0x1B, 0x37, 0xAC, 0x23, 0xAE, 0x3B, 0xBD, 0x9D, 0x7A, 0xE2, 0xCD, 0xAA }, 1, 0, { 0 }, 1, 32, { 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 }, { 0x23, 0x35, 0x36, 0x90, 0x33, 0x40, 0xC2, 0xF5, 0x10, 0x47, 0x93, 0x34, 0x10, 0xAD, 0xD7, 0x5C, 0xC6, 0x2A, 0x90, 0x99, 0xAF, 0xAC, 0x1F, 0xAD, 0x41, 0x09, 0xCA, 0x23, 0x4E, 0xC9, 0x40, 0x99, 0xA3, 0x01, 0x06, 0xB1, 0x87, 0xA6, 0x57, 0x2B, 0x2E, 0xE1, 0x57, 0x0D, 0xE0, 0x58, 0x32, 0xB1, 0x68, 0x3D, 0xF2, 0x72, 0x76, 0x9D, 0xD0, 0xD3, 0x4E, 0x46, 0x0C, 0xB2, 0x78, 0x08, 0x61, 0x73 }, { 0x03, 0x4C, 0xCF, 0xCF, 0x7B, 0x15, 0xD5, 0xE5, 0xA0, 0xBA, 0xED, 0x01, 0xF7, 0x44, 0xB8, 0x4D, 0x3A, 0x40, 0x5C, 0x18, 0x00, 0xB6, 0xE1, 0x7B, 0xF1, 0xF2, 0xBC, 0xE8, 0x81, 0x7D, 0x4A, 0x96, 0x59, 0x03, 0xC1, 0x10, 0xE6, 0x4C, 0x61, 0xF7, 0x52, 0x7C, 0x0D, 0x2C, 0xF8, 0xE9, 0x9F, 0x9A, 0x62, 0xB8, 0xA4, 0x34, 0x0F, 0x08, 0x30, 0x3E, 0x27, 0x28, 0x45, 0x35, 0x1C, 0x9A, 0x60, 0x7F, 0xDF, 0x8F } }, { { 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F }, 1, { 0x53, 0x44, 0x2F, 0xA9, 0xBD, 0x72, 0xEE, 0xA0, 0xA4, 0x2D, 0xF6, 0xF2, 0xD2, 0xD7, 0x6A, 0x2C, 0x0D, 0x3A, 0x3D, 0xFA, 0x2B, 0xE2, 0xF8, 0x20, 0xF4, 0x1A, 0xDE, 0x97, 0x6B, 0x82, 0x59, 0xFB }, 1, { 0x03, 0x9E, 0xE3, 0x33, 0x5A, 0xF4, 0x8D, 0xFE, 0x23, 0x70, 0x2A, 0xB3, 0x53, 0xF4, 0xAF, 0x20, 0xD4, 0x01, 0xF6, 0x7A, 0x13, 0x0D, 0xF7, 0x83, 0xCC, 0x84, 0x57, 0x32, 0x3A, 0x86, 0x0A, 0x2F, 0xB4 }, 1, { 0xD7, 0x72, 0xA0, 0x9F, 0x5F, 0x67, 0x57, 0x83, 0xD2, 0x75, 0xED, 0x9F, 0x6A, 0xAE, 0xDB, 0x2E, 0xCC, 0xBC, 0x74, 0x17, 0x1B, 0x37, 0xAC, 0x23, 0xAE, 0x3B, 0xBD, 0x9D, 0x7A, 0xE2, 0xCD, 0xAA }, 1, 38, { 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26 }, 1, 32, { 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 }, { 0xE3, 0x7A, 0x19, 0x2E, 0x7B, 0xB9, 0x11, 0x94, 0x7C, 0x75, 0x8F, 0x8A, 0x8B, 0x81, 0x96, 0x5C, 0xBE, 0x0F, 0xB3, 0x39, 0xA7, 0xFD, 0x36, 0x82, 0xCC, 0x64, 0x9E, 0x29, 0x0C, 0x81, 0x11, 0xA2, 0x62, 0x68, 0x95, 0x94, 0x03, 0x57, 0xA4, 0xBF, 0x92, 0xDF, 0x25, 0x02, 0xBE, 0x55, 0x66, 0xBB, 0xE6, 0x64, 0xD8, 0xCA, 0xC0, 0xA7, 0xAF, 0x39, 0xE5, 0x7A, 0xD5, 0xF5, 0x15, 0xF7, 0xDF, 0x0D }, { 0x02, 0xDC, 0xF5, 0xFA, 0x50, 0x4E, 0x62, 0xA3, 0xC8, 0xBD, 0x73, 0x49, 0xC0, 0x2B, 0x13, 0xA6, 0xBB, 0x9E, 0xD5, 0xA3, 0x4F, 0x75, 0x5D, 0x25, 0x33, 0xCC, 0x01, 0x4D, 0xD1, 0x6C, 0x5D, 0xAE, 0x1E, 0x02, 0x65, 0x37, 0xB3, 0x47, 0x68, 0x3C, 0x17, 0x95, 0xAB, 0x20, 0xC3, 0x4E, 0xF6, 0x4C, 0x7C, 0x08, 0x6C, 0x87, 0xD2, 0x6B, 0x14, 0x9F, 0xF4, 0xB2, 0x44, 0x8C, 0xD5, 0x8F, 0x21, 0x7A, 0xA0, 0x26 } }, - { { 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F }, 0, { 0 }, 0, { 0 }, 0, { 0 }, 0, 0, { }, 0, 0, { }, { 0x42, 0xB3, 0x9C, 0xA5, 0x63, 0x90, 0x44, 0x9A, 0x85, 0xBC, 0xEC, 0x2E, 0xF9, 0xB1, 0x02, 0xCE, 0x94, 0x5E, 0x69, 0x35, 0x70, 0xA0, 0x07, 0x7E, 0x98, 0xF8, 0xE7, 0x74, 0x76, 0xAC, 0x30, 0x63, 0xEC, 0x9C, 0xFC, 0x5C, 0xE2, 0x49, 0xD1, 0x9C, 0x7B, 0xE5, 0xC3, 0x10, 0xA4, 0x25, 0xFB, 0x5E, 0x1E, 0x9B, 0x3B, 0x45, 0x77, 0xF6, 0x28, 0xD9, 0x85, 0x4A, 0x4A, 0x3C, 0x6C, 0x64, 0xC6, 0x53 }, { 0x03, 0x75, 0xB2, 0x8F, 0x15, 0x25, 0x61, 0x4D, 0x3A, 0x57, 0xAE, 0x7B, 0x5D, 0x91, 0x09, 0xC2, 0x4B, 0xDC, 0xB8, 0x23, 0x06, 0x5C, 0x4A, 0xD8, 0x5D, 0x01, 0xA5, 0x3E, 0xDC, 0xEB, 0xD2, 0x2F, 0xEA, 0x03, 0xEB, 0xAC, 0x79, 0x8B, 0xC7, 0xD8, 0xF6, 0x58, 0x0F, 0x21, 0x79, 0x29, 0x38, 0xCD, 0x7A, 0x8B, 0x44, 0x62, 0xBB, 0xBD, 0xB5, 0xAB, 0x17, 0x13, 0x70, 0xF1, 0x79, 0x51, 0xE5, 0x5C, 0xE9, 0x90 } }, - { { 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F }, 1, { 0x53, 0x44, 0x2F, 0xA9, 0xBD, 0x72, 0xEE, 0xA0, 0xA4, 0x2D, 0xF6, 0xF2, 0xD2, 0xD7, 0x6A, 0x2C, 0x0D, 0x3A, 0x3D, 0xFA, 0x2B, 0xE2, 0xF8, 0x20, 0xF4, 0x1A, 0xDE, 0x97, 0x6B, 0x82, 0x59, 0xFB }, 1, { 0x03, 0x9E, 0xE3, 0x33, 0x5A, 0xF4, 0x8D, 0xFE, 0x23, 0x70, 0x2A, 0xB3, 0x53, 0xF4, 0xAF, 0x20, 0xD4, 0x01, 0xF6, 0x7A, 0x13, 0x0D, 0xF7, 0x83, 0xCC, 0x84, 0x57, 0x32, 0x3A, 0x86, 0x0A, 0x2F, 0xB4 }, 1, { 0xD7, 0x72, 0xA0, 0x9F, 0x5F, 0x67, 0x57, 0x83, 0xD2, 0x75, 0xED, 0x9F, 0x6A, 0xAE, 0xDB, 0x2E, 0xCC, 0xBC, 0x74, 0x17, 0x1B, 0x37, 0xAC, 0x23, 0xAE, 0x3B, 0xBD, 0x9D, 0x7A, 0xE2, 0xCD, 0xAA }, 0, 0, { }, 1, 32, { 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 }, { 0x00, 0xC1, 0x42, 0x32, 0x89, 0xD2, 0xFA, 0x1F, 0x44, 0xCC, 0x15, 0x38, 0xCD, 0x75, 0x68, 0xF8, 0xF9, 0x44, 0xA6, 0x81, 0x22, 0xBC, 0x3D, 0xF3, 0x85, 0xC1, 0x57, 0xED, 0x5F, 0x81, 0x91, 0x09, 0x8A, 0x53, 0xAF, 0xAF, 0x92, 0xEE, 0x42, 0xF6, 0x70, 0x5F, 0x0D, 0xE2, 0xE0, 0x1D, 0x26, 0x21, 0xA1, 0xFA, 0x76, 0x2D, 0x80, 0xF4, 0x50, 0xE0, 0x87, 0xB5, 0x21, 0xAA, 0x7C, 0xCA, 0x16, 0x67 }, { 0x02, 0xB5, 0x1A, 0xE0, 0x74, 0xE1, 0x5B, 0x3C, 0x34, 0xEE, 0x1E, 0x53, 0x28, 0xBA, 0x91, 0xFB, 0x9B, 0xA8, 0x8A, 0x97, 0x3B, 0x67, 0x6D, 0x77, 0x00, 0x63, 0xB5, 0x43, 0x06, 0xF8, 0x73, 0xE0, 0xD7, 0x02, 0xA8, 0x9D, 0xAE, 0xBF, 0x9F, 0x9E, 0x39, 0x3E, 0x9F, 0x5E, 0x39, 0x88, 0x03, 0xD6, 0xCA, 0x54, 0x4C, 0x26, 0xF9, 0xA8, 0xDD, 0x8F, 0xCC, 0x81, 0x44, 0x32, 0xF9, 0xC1, 0xCA, 0xC1, 0xF6, 0xC3 } }, + { { 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F }, 0, { 0 }, 0, { 0 }, 0, { 0 }, 0, 0, { 0 }, 0, 0, { 0 }, { 0x42, 0xB3, 0x9C, 0xA5, 0x63, 0x90, 0x44, 0x9A, 0x85, 0xBC, 0xEC, 0x2E, 0xF9, 0xB1, 0x02, 0xCE, 0x94, 0x5E, 0x69, 0x35, 0x70, 0xA0, 0x07, 0x7E, 0x98, 0xF8, 0xE7, 0x74, 0x76, 0xAC, 0x30, 0x63, 0xEC, 0x9C, 0xFC, 0x5C, 0xE2, 0x49, 0xD1, 0x9C, 0x7B, 0xE5, 0xC3, 0x10, 0xA4, 0x25, 0xFB, 0x5E, 0x1E, 0x9B, 0x3B, 0x45, 0x77, 0xF6, 0x28, 0xD9, 0x85, 0x4A, 0x4A, 0x3C, 0x6C, 0x64, 0xC6, 0x53 }, { 0x03, 0x75, 0xB2, 0x8F, 0x15, 0x25, 0x61, 0x4D, 0x3A, 0x57, 0xAE, 0x7B, 0x5D, 0x91, 0x09, 0xC2, 0x4B, 0xDC, 0xB8, 0x23, 0x06, 0x5C, 0x4A, 0xD8, 0x5D, 0x01, 0xA5, 0x3E, 0xDC, 0xEB, 0xD2, 0x2F, 0xEA, 0x03, 0xEB, 0xAC, 0x79, 0x8B, 0xC7, 0xD8, 0xF6, 0x58, 0x0F, 0x21, 0x79, 0x29, 0x38, 0xCD, 0x7A, 0x8B, 0x44, 0x62, 0xBB, 0xBD, 0xB5, 0xAB, 0x17, 0x13, 0x70, 0xF1, 0x79, 0x51, 0xE5, 0x5C, 0xE9, 0x90 } }, + { { 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 0x0F }, 1, { 0x53, 0x44, 0x2F, 0xA9, 0xBD, 0x72, 0xEE, 0xA0, 0xA4, 0x2D, 0xF6, 0xF2, 0xD2, 0xD7, 0x6A, 0x2C, 0x0D, 0x3A, 0x3D, 0xFA, 0x2B, 0xE2, 0xF8, 0x20, 0xF4, 0x1A, 0xDE, 0x97, 0x6B, 0x82, 0x59, 0xFB }, 1, { 0x03, 0x9E, 0xE3, 0x33, 0x5A, 0xF4, 0x8D, 0xFE, 0x23, 0x70, 0x2A, 0xB3, 0x53, 0xF4, 0xAF, 0x20, 0xD4, 0x01, 0xF6, 0x7A, 0x13, 0x0D, 0xF7, 0x83, 0xCC, 0x84, 0x57, 0x32, 0x3A, 0x86, 0x0A, 0x2F, 0xB4 }, 1, { 0xD7, 0x72, 0xA0, 0x9F, 0x5F, 0x67, 0x57, 0x83, 0xD2, 0x75, 0xED, 0x9F, 0x6A, 0xAE, 0xDB, 0x2E, 0xCC, 0xBC, 0x74, 0x17, 0x1B, 0x37, 0xAC, 0x23, 0xAE, 0x3B, 0xBD, 0x9D, 0x7A, 0xE2, 0xCD, 0xAA }, 0, 0, { 0 }, 1, 32, { 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08 }, { 0x00, 0xC1, 0x42, 0x32, 0x89, 0xD2, 0xFA, 0x1F, 0x44, 0xCC, 0x15, 0x38, 0xCD, 0x75, 0x68, 0xF8, 0xF9, 0x44, 0xA6, 0x81, 0x22, 0xBC, 0x3D, 0xF3, 0x85, 0xC1, 0x57, 0xED, 0x5F, 0x81, 0x91, 0x09, 0x8A, 0x53, 0xAF, 0xAF, 0x92, 0xEE, 0x42, 0xF6, 0x70, 0x5F, 0x0D, 0xE2, 0xE0, 0x1D, 0x26, 0x21, 0xA1, 0xFA, 0x76, 0x2D, 0x80, 0xF4, 0x50, 0xE0, 0x87, 0xB5, 0x21, 0xAA, 0x7C, 0xCA, 0x16, 0x67 }, { 0x02, 0xB5, 0x1A, 0xE0, 0x74, 0xE1, 0x5B, 0x3C, 0x34, 0xEE, 0x1E, 0x53, 0x28, 0xBA, 0x91, 0xFB, 0x9B, 0xA8, 0x8A, 0x97, 0x3B, 0x67, 0x6D, 0x77, 0x00, 0x63, 0xB5, 0x43, 0x06, 0xF8, 0x73, 0xE0, 0xD7, 0x02, 0xA8, 0x9D, 0xAE, 0xBF, 0x9F, 0x9E, 0x39, 0x3E, 0x9F, 0x5E, 0x39, 0x88, 0x03, 0xD6, 0xCA, 0x54, 0x4C, 0x26, 0xF9, 0xA8, 0xDD, 0x8F, 0xCC, 0x81, 0x44, 0x32, 0xF9, 0xC1, 0xCA, 0xC1, 0xF6, 0xC3 } }, }; struct frost_vec_nonce_agg_case { @@ -164,7 +164,7 @@ static const struct frost_vec_group frost_vec_sign_groups[4] = { { 0x76, 0x2F, 0x46, 0x01, 0xAC, 0x20, 0x6E, 0x1F, 0x14, 0x97, 0xEB, 0x54, 0x12, 0x02, 0xB7, 0x27, 0xCC, 0x19, 0xFA, 0x04, 0x50, 0x28, 0x9C, 0x77, 0x8B, 0x5D, 0x5F, 0x4F, 0x1A, 0x4B, 0x53, 0xF4, 0xD6, 0x3D, 0x31, 0x2C, 0xC2, 0xC9, 0x19, 0x6D, 0x08, 0xFD, 0x62, 0xF3, 0x95, 0x8F, 0xE8, 0xBB, 0xC6, 0x6B, 0x85, 0x17, 0xD1, 0x0D, 0xE5, 0x34, 0xF6, 0xA6, 0x41, 0xD0, 0xE6, 0xE5, 0xEB, 0xCB }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, { 0x67, 0xAF, 0xBE, 0x2B, 0x50, 0xF5, 0x21, 0x56, 0x9B, 0x9C, 0x1D, 0x94, 0x3F, 0x8F, 0xE2, 0x06, 0x20, 0xB8, 0xC2, 0x5F, 0xA8, 0x1E, 0x97, 0x88, 0x71, 0x8A, 0xF6, 0xEE, 0x87, 0xD5, 0x27, 0x5C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } - }, 0, {} }, + }, 0, { { 0 } } }, { 1, 3, { 0x03, 0xD1, 0x93, 0x9B, 0xE8, 0x7D, 0x18, 0xEA, 0x5A, 0xB3, 0x02, 0xE2, 0x70, 0x77, 0xD1, 0x6B, 0x2C, 0x2F, 0xD9, 0x35, 0x16, 0xF9, 0x15, 0x14, 0xBA, 0x04, 0x99, 0x33, 0xD3, 0x48, 0xDA, 0x44, 0x1F }, 5, { { 0x03, 0xD1, 0x93, 0x9B, 0xE8, 0x7D, 0x18, 0xEA, 0x5A, 0xB3, 0x02, 0xE2, 0x70, 0x77, 0xD1, 0x6B, 0x2C, 0x2F, 0xD9, 0x35, 0x16, 0xF9, 0x15, 0x14, 0xBA, 0x04, 0x99, 0x33, 0xD3, 0x48, 0xDA, 0x44, 0x1F }, { 0x03, 0xD1, 0x93, 0x9B, 0xE8, 0x7D, 0x18, 0xEA, 0x5A, 0xB3, 0x02, 0xE2, 0x70, 0x77, 0xD1, 0x6B, 0x2C, 0x2F, 0xD9, 0x35, 0x16, 0xF9, 0x15, 0x14, 0xBA, 0x04, 0x99, 0x33, 0xD3, 0x48, 0xDA, 0x44, 0x1F }, @@ -188,7 +188,7 @@ static const struct frost_vec_group frost_vec_sign_groups[4] = { { 0x85, 0x98, 0x8D, 0x37, 0xE7, 0xF2, 0xEE, 0x21, 0xFC, 0x47, 0x29, 0x5E, 0x90, 0xD0, 0xFD, 0x85, 0x02, 0x7C, 0xE0, 0xE7, 0x1D, 0xA3, 0x7B, 0x36, 0xCF, 0xB5, 0x5B, 0xD4, 0x71, 0xD3, 0xBA, 0x82, 0xAC, 0xE9, 0xF7, 0x3C, 0x19, 0xDC, 0xD3, 0x87, 0xAE, 0xF3, 0x0F, 0x9E, 0x89, 0x45, 0x64, 0xA4, 0x7F, 0x8B, 0xE8, 0x5F, 0xAA, 0xAE, 0x71, 0x0D, 0xD0, 0xF4, 0x42, 0xDF, 0x2A, 0x38, 0x01, 0x90 }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, { 0x85, 0x98, 0x8D, 0x37, 0xE7, 0xF2, 0xEE, 0x21, 0xFC, 0x47, 0x29, 0x5E, 0x90, 0xD0, 0xFD, 0x85, 0x02, 0x7C, 0xE0, 0xE7, 0x1D, 0xA3, 0x7B, 0x36, 0xCF, 0xB5, 0x5B, 0xD4, 0x71, 0xD3, 0xBA, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } - }, 0, {} }, + }, 0, { { 0 } } }, { 3, 3, { 0x02, 0x3E, 0x94, 0xD6, 0xA6, 0x86, 0x20, 0xD3, 0xF6, 0x02, 0x21, 0xA4, 0x18, 0x67, 0x86, 0x27, 0x4A, 0x71, 0x12, 0x21, 0xA8, 0xBB, 0xB3, 0x1A, 0x53, 0x88, 0xDF, 0xA6, 0x71, 0x8E, 0x8E, 0xF7, 0xBB }, 5, { { 0x03, 0xA3, 0xE9, 0x32, 0xBA, 0x9D, 0xD0, 0x06, 0x3D, 0x72, 0x15, 0x90, 0xB6, 0xEF, 0x21, 0xDD, 0x45, 0x66, 0xA9, 0x7B, 0x20, 0x33, 0x43, 0xFD, 0xE9, 0xDA, 0x58, 0x15, 0xDB, 0x9B, 0xE0, 0x49, 0xCA }, { 0x02, 0x01, 0xE5, 0xFE, 0xAC, 0x0D, 0xB5, 0x05, 0x9C, 0x32, 0xB0, 0x45, 0xF3, 0x77, 0x99, 0x10, 0x1A, 0x96, 0x26, 0x2B, 0x3C, 0x88, 0xCE, 0x85, 0xD6, 0x10, 0x45, 0x1F, 0xC2, 0x1A, 0x04, 0x57, 0xFF }, @@ -212,7 +212,7 @@ static const struct frost_vec_group frost_vec_sign_groups[4] = { { 0xC3, 0x09, 0xD4, 0xBC, 0x04, 0x57, 0xA9, 0xD6, 0x03, 0x1C, 0xDA, 0xC3, 0x3B, 0xAF, 0xA4, 0x7B, 0xAB, 0x23, 0x34, 0x44, 0x5B, 0xF2, 0x2D, 0x09, 0xE1, 0x93, 0x6F, 0x91, 0x97, 0x56, 0xD2, 0x75, 0xBC, 0x09, 0x41, 0x0F, 0x5D, 0x39, 0xE5, 0xD7, 0x01, 0xC8, 0x1B, 0xBA, 0x99, 0xE4, 0xE9, 0x5F, 0x9E, 0x07, 0xFF, 0xC3, 0x2C, 0x32, 0x2F, 0x25, 0x60, 0x45, 0x82, 0xCB, 0x24, 0x2D, 0xD4, 0x6A }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, { 0x7B, 0x22, 0x47, 0xA3, 0x98, 0x0C, 0x88, 0x71, 0x4A, 0x08, 0x21, 0xF2, 0x30, 0xF6, 0x89, 0xF4, 0x36, 0xFB, 0xF8, 0x0B, 0x0B, 0x6D, 0xED, 0x33, 0x54, 0x0B, 0x92, 0xCB, 0x65, 0xBA, 0x6E, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } - }, 0, {} }, + }, 0, { { 0 } } }, { 3, 5, { 0x03, 0xE1, 0xAE, 0xA0, 0x0A, 0x7B, 0x8D, 0x0E, 0x03, 0x93, 0x66, 0x4F, 0xEB, 0xBD, 0x31, 0x56, 0x9A, 0x02, 0xCA, 0xF2, 0x23, 0xD9, 0xAD, 0x83, 0xE9, 0x03, 0x31, 0xDC, 0x18, 0xB1, 0x98, 0x73, 0x58 }, 7, { { 0x02, 0xF3, 0x33, 0xED, 0xD2, 0xB6, 0xF5, 0x32, 0xC2, 0xEF, 0x6C, 0x42, 0xE8, 0x03, 0xB6, 0x33, 0xA4, 0x22, 0x89, 0xD0, 0x56, 0x7A, 0x75, 0xC5, 0x0E, 0xB1, 0xC8, 0xCF, 0x85, 0xEC, 0x48, 0x0E, 0x8F }, { 0x02, 0x53, 0x22, 0xF6, 0x36, 0x02, 0xEC, 0xCF, 0x14, 0x65, 0x41, 0xB7, 0xC9, 0xEE, 0x4D, 0x1F, 0xCB, 0x84, 0xEC, 0x13, 0x94, 0x71, 0x42, 0x04, 0x72, 0x18, 0x2A, 0xE9, 0x68, 0x67, 0x6A, 0x38, 0x7F }, @@ -244,7 +244,7 @@ static const struct frost_vec_group frost_vec_sign_groups[4] = { { 0xCE, 0x5F, 0x5A, 0x72, 0x25, 0x36, 0xE5, 0x65, 0x61, 0xC5, 0xC1, 0x25, 0x8A, 0x8E, 0x6A, 0x38, 0x48, 0x0A, 0x7D, 0x00, 0xF7, 0x96, 0x45, 0x46, 0x0C, 0xCA, 0x3D, 0xE7, 0xF1, 0x0E, 0x48, 0x03, 0x08, 0xEF, 0x46, 0xC6, 0x44, 0xD0, 0x1F, 0x0F, 0xCB, 0x05, 0x95, 0x0F, 0x38, 0x4C, 0x65, 0x51, 0x98, 0x10, 0x1B, 0xDD, 0x83, 0xC6, 0x04, 0xA8, 0x48, 0x4F, 0xCC, 0xB4, 0x99, 0x14, 0xCC, 0x39 }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, { 0x8A, 0x11, 0x60, 0x47, 0x9C, 0x41, 0x88, 0xDA, 0x23, 0x7C, 0x53, 0x63, 0x9E, 0xDE, 0xFC, 0x60, 0xC2, 0x4E, 0x87, 0xF9, 0x1A, 0xC8, 0x97, 0x2D, 0x96, 0x60, 0x00, 0x68, 0x0A, 0x7D, 0x07, 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } - }, 0, {} }, + }, 0, { { 0 } } }, }; static const struct frost_vec_sign_case frost_vec_sign_valid_cases[29] = { { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 0, { 0x03, 0x0F, 0x26, 0x1B, 0xFE, 0x5D, 0xF0, 0xAE, 0x3E, 0xC0, 0x6B, 0xB7, 0xA1, 0xD6, 0x39, 0x4A, 0x3A, 0xF2, 0x06, 0x96, 0x82, 0x81, 0xF0, 0x3B, 0x70, 0xD2, 0x5F, 0xB8, 0x4D, 0x49, 0x03, 0x6C, 0xE2, 0x03, 0xBE, 0x48, 0x27, 0x76, 0x30, 0x57, 0x9C, 0x72, 0x16, 0x04, 0x30, 0xC8, 0x19, 0xAA, 0xBB, 0x1D, 0xFA, 0x20, 0xFF, 0x70, 0x74, 0x96, 0x66, 0x08, 0x0B, 0xB8, 0x86, 0xB7, 0x28, 0x47, 0x62, 0x61 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x93, 0xDD, 0xE8, 0xC9, 0xCE, 0xE7, 0x14, 0xEB, 0x5B, 0xDF, 0x2B, 0xE0, 0x0F, 0xEC, 0x33, 0x27, 0xF9, 0xCF, 0x38, 0x6D, 0x3A, 0xC6, 0x72, 0xF0, 0xDA, 0x73, 0x4F, 0xFC, 0x08, 0xE7, 0xA0, 0x41 } }, @@ -253,20 +253,20 @@ static const struct frost_vec_sign_case frost_vec_sign_valid_cases[29] = { { 0, 0, 2, { 0, 2 }, 1, { 0, 2 }, 0, 0, { 0x03, 0xE0, 0xD6, 0xD4, 0x49, 0xA7, 0xCD, 0xEC, 0x17, 0x78, 0x5A, 0x2C, 0xF1, 0x4A, 0x4F, 0xC5, 0x23, 0x68, 0xFC, 0x6C, 0x8E, 0xB0, 0x0F, 0x02, 0xF3, 0xB2, 0x18, 0xA7, 0x3F, 0xF6, 0x87, 0x38, 0x8B, 0x03, 0x29, 0x47, 0xBC, 0xD7, 0x43, 0x09, 0x62, 0x69, 0x0D, 0xBA, 0x05, 0x94, 0x71, 0x5D, 0x16, 0xF5, 0xC2, 0x13, 0x6F, 0x75, 0x16, 0xAB, 0x75, 0xA1, 0x0A, 0x0E, 0xDB, 0x3D, 0x5B, 0xBA, 0xD4, 0x6E }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x25, 0x51, 0xE5, 0xEB, 0x41, 0x69, 0x00, 0x87, 0x7F, 0x81, 0x7C, 0xAC, 0xA4, 0x17, 0xF5, 0x17, 0x98, 0x0E, 0x62, 0x01, 0x5A, 0x24, 0x99, 0x5D, 0x4B, 0x43, 0xF4, 0xFC, 0xCD, 0x08, 0x78, 0x5A } }, { 0, 1, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 1, 1, { 0x02, 0xCB, 0xC2, 0xE4, 0x1A, 0xF8, 0x72, 0x90, 0xA1, 0x40, 0x1D, 0x49, 0x92, 0x7F, 0xC3, 0x0D, 0x7F, 0x40, 0xA4, 0x04, 0xC4, 0xDF, 0x3E, 0x5F, 0xC7, 0x34, 0x01, 0x41, 0x88, 0xDB, 0xC4, 0x4E, 0x15, 0x03, 0xC1, 0x53, 0x12, 0xED, 0xC6, 0x91, 0xEB, 0x21, 0x3F, 0x3B, 0x8A, 0xAC, 0x19, 0x5D, 0x25, 0x1A, 0x39, 0x05, 0x63, 0xCD, 0x5E, 0x31, 0x3D, 0x73, 0x8A, 0x89, 0xDA, 0xEB, 0x4D, 0xA8, 0x07, 0x46 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x09, 0x95, 0x5F, 0x6B, 0x6C, 0xF0, 0x9E, 0xD3, 0x83, 0xF3, 0x3C, 0x1B, 0xFC, 0xFE, 0x05, 0x9E, 0x79, 0xE9, 0xD2, 0x6F, 0xEC, 0xC0, 0x09, 0x5F, 0x4A, 0x31, 0xF2, 0x2E, 0x7E, 0xD2, 0x42, 0xAE } }, { 0, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x70, 0xE4, 0x50, 0xAF, 0x54, 0x34, 0x13, 0xAD, 0x3F, 0x1C, 0x35, 0x95, 0xB8, 0x43, 0xEC, 0x8D, 0x7A, 0x9E, 0xD4, 0x69, 0x3C, 0x86, 0x75, 0x6D, 0xEE, 0xF7, 0xEB, 0x1D, 0x04, 0x61, 0xF7, 0xC1 } }, - { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 0, { 0x03, 0x0F, 0x26, 0x1B, 0xFE, 0x5D, 0xF0, 0xAE, 0x3E, 0xC0, 0x6B, 0xB7, 0xA1, 0xD6, 0x39, 0x4A, 0x3A, 0xF2, 0x06, 0x96, 0x82, 0x81, 0xF0, 0x3B, 0x70, 0xD2, 0x5F, 0xB8, 0x4D, 0x49, 0x03, 0x6C, 0xE2, 0x03, 0xBE, 0x48, 0x27, 0x76, 0x30, 0x57, 0x9C, 0x72, 0x16, 0x04, 0x30, 0xC8, 0x19, 0xAA, 0xBB, 0x1D, 0xFA, 0x20, 0xFF, 0x70, 0x74, 0x96, 0x66, 0x08, 0x0B, 0xB8, 0x86, 0xB7, 0x28, 0x47, 0x62, 0x61 }, 0, { }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x90, 0x19, 0xCF, 0xAC, 0x70, 0xEF, 0xAD, 0xC7, 0x89, 0x1B, 0x15, 0x8B, 0x77, 0xC0, 0xC8, 0x0E, 0xBB, 0xF4, 0xF8, 0x84, 0x68, 0xF1, 0x67, 0x0B, 0xB1, 0xB7, 0x46, 0x27, 0xBE, 0x68, 0xE9, 0xB5 } }, + { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 0, { 0x03, 0x0F, 0x26, 0x1B, 0xFE, 0x5D, 0xF0, 0xAE, 0x3E, 0xC0, 0x6B, 0xB7, 0xA1, 0xD6, 0x39, 0x4A, 0x3A, 0xF2, 0x06, 0x96, 0x82, 0x81, 0xF0, 0x3B, 0x70, 0xD2, 0x5F, 0xB8, 0x4D, 0x49, 0x03, 0x6C, 0xE2, 0x03, 0xBE, 0x48, 0x27, 0x76, 0x30, 0x57, 0x9C, 0x72, 0x16, 0x04, 0x30, 0xC8, 0x19, 0xAA, 0xBB, 0x1D, 0xFA, 0x20, 0xFF, 0x70, 0x74, 0x96, 0x66, 0x08, 0x0B, 0xB8, 0x86, 0xB7, 0x28, 0x47, 0x62, 0x61 }, 0, { 0 }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x90, 0x19, 0xCF, 0xAC, 0x70, 0xEF, 0xAD, 0xC7, 0x89, 0x1B, 0x15, 0x8B, 0x77, 0xC0, 0xC8, 0x0E, 0xBB, 0xF4, 0xF8, 0x84, 0x68, 0xF1, 0x67, 0x0B, 0xB1, 0xB7, 0x46, 0x27, 0xBE, 0x68, 0xE9, 0xB5 } }, { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 0, { 0x03, 0x0F, 0x26, 0x1B, 0xFE, 0x5D, 0xF0, 0xAE, 0x3E, 0xC0, 0x6B, 0xB7, 0xA1, 0xD6, 0x39, 0x4A, 0x3A, 0xF2, 0x06, 0x96, 0x82, 0x81, 0xF0, 0x3B, 0x70, 0xD2, 0x5F, 0xB8, 0x4D, 0x49, 0x03, 0x6C, 0xE2, 0x03, 0xBE, 0x48, 0x27, 0x76, 0x30, 0x57, 0x9C, 0x72, 0x16, 0x04, 0x30, 0xC8, 0x19, 0xAA, 0xBB, 0x1D, 0xFA, 0x20, 0xFF, 0x70, 0x74, 0x96, 0x66, 0x08, 0x0B, 0xB8, 0x86, 0xB7, 0x28, 0x47, 0x62, 0x61 }, 38, { 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26 }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x30, 0x1C, 0x26, 0xEC, 0x36, 0x35, 0xBC, 0xD8, 0x35, 0x9B, 0xFF, 0x82, 0x31, 0x2E, 0x37, 0x85, 0x83, 0xD6, 0xA4, 0x70, 0xBD, 0x09, 0x1E, 0xC3, 0xE9, 0xCC, 0x4A, 0x56, 0xCB, 0x50, 0xBB, 0x81 } }, { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0x02, 0x68, 0x05, 0xDC, 0x7B, 0x31, 0x8F, 0x79, 0x6C, 0x36, 0x0B, 0xB8, 0x2F, 0x85, 0xFA, 0x0C, 0x10, 0x6A, 0xB8, 0x77, 0x5F, 0xEC, 0xF8, 0x92, 0xA0, 0xA7, 0xF8, 0x5F, 0xB6, 0x67, 0x20, 0xCB, 0xAB, 0x03, 0x95, 0x09, 0xCF, 0x07, 0xC0, 0xA7, 0x87, 0xAB, 0x86, 0x28, 0xC8, 0x4E, 0x1F, 0x6F, 0x5E, 0x9C, 0xA4, 0x24, 0x49, 0x6D, 0x6E, 0xD4, 0xAC, 0x36, 0x72, 0x2E, 0x56, 0x02, 0xE0, 0xC3, 0x2C, 0x57 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0xB7, 0xC3, 0xFA, 0x9A, 0xEA, 0x2B, 0x09, 0x89, 0xD1, 0x50, 0xB5, 0x74, 0x33, 0x23, 0x30, 0x15, 0xA2, 0x69, 0xCB, 0x56, 0x23, 0x2B, 0x1D, 0xE2, 0xAF, 0xE5, 0x73, 0x49, 0x1D, 0x96, 0x0B, 0x2C } }, { 1, 0, 1, { 0 }, 0, { 0 }, 0, 0, { 0x02, 0x68, 0x05, 0xDC, 0x7B, 0x31, 0x8F, 0x79, 0x6C, 0x36, 0x0B, 0xB8, 0x2F, 0x85, 0xFA, 0x0C, 0x10, 0x6A, 0xB8, 0x77, 0x5F, 0xEC, 0xF8, 0x92, 0xA0, 0xA7, 0xF8, 0x5F, 0xB6, 0x67, 0x20, 0xCB, 0xAB, 0x03, 0x95, 0x09, 0xCF, 0x07, 0xC0, 0xA7, 0x87, 0xAB, 0x86, 0x28, 0xC8, 0x4E, 0x1F, 0x6F, 0x5E, 0x9C, 0xA4, 0x24, 0x49, 0x6D, 0x6E, 0xD4, 0xAC, 0x36, 0x72, 0x2E, 0x56, 0x02, 0xE0, 0xC3, 0x2C, 0x57 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0xB7, 0xC3, 0xFA, 0x9A, 0xEA, 0x2B, 0x09, 0x89, 0xD1, 0x50, 0xB5, 0x74, 0x33, 0x23, 0x30, 0x15, 0xA2, 0x69, 0xCB, 0x56, 0x23, 0x2B, 0x1D, 0xE2, 0xAF, 0xE5, 0x73, 0x49, 0x1D, 0x96, 0x0B, 0x2C } }, { 1, 1, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 1, 1, { 0x02, 0x77, 0xE7, 0x16, 0x75, 0x6B, 0xAE, 0xFD, 0x92, 0x2D, 0xCD, 0x33, 0x9D, 0x08, 0x3F, 0xEB, 0x1C, 0x02, 0x63, 0xB0, 0x69, 0x99, 0x32, 0x84, 0x92, 0x33, 0x1F, 0xB8, 0x76, 0xA2, 0x25, 0xEE, 0xA3, 0x03, 0x39, 0x10, 0xC4, 0xFC, 0x15, 0x1C, 0x7A, 0xA9, 0x14, 0xB4, 0xD2, 0xAC, 0x97, 0xB3, 0xF0, 0x9C, 0x56, 0xA3, 0x6A, 0x5F, 0x95, 0xF1, 0x40, 0x43, 0xD9, 0x02, 0x10, 0xCC, 0x1F, 0xCD, 0x42, 0x45 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x97, 0xF8, 0xFC, 0x6A, 0x3E, 0xB6, 0x5E, 0x25, 0xF3, 0x85, 0x03, 0x41, 0xB8, 0xD5, 0x88, 0x51, 0x56, 0x4F, 0x12, 0xEF, 0x88, 0xD9, 0x96, 0xC5, 0x39, 0x16, 0xC7, 0x55, 0x78, 0x59, 0x5C, 0xFD } }, { 1, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0xC5, 0x02, 0xC0, 0xA6, 0xCE, 0xF6, 0xDA, 0xEC, 0x24, 0x4D, 0xDF, 0x52, 0x2E, 0x42, 0x23, 0xC8, 0x3F, 0x97, 0x0C, 0x41, 0xBB, 0x99, 0xDE, 0x48, 0x28, 0x58, 0xA4, 0x09, 0x85, 0xC7, 0x58, 0xCB } }, - { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0x02, 0x68, 0x05, 0xDC, 0x7B, 0x31, 0x8F, 0x79, 0x6C, 0x36, 0x0B, 0xB8, 0x2F, 0x85, 0xFA, 0x0C, 0x10, 0x6A, 0xB8, 0x77, 0x5F, 0xEC, 0xF8, 0x92, 0xA0, 0xA7, 0xF8, 0x5F, 0xB6, 0x67, 0x20, 0xCB, 0xAB, 0x03, 0x95, 0x09, 0xCF, 0x07, 0xC0, 0xA7, 0x87, 0xAB, 0x86, 0x28, 0xC8, 0x4E, 0x1F, 0x6F, 0x5E, 0x9C, 0xA4, 0x24, 0x49, 0x6D, 0x6E, 0xD4, 0xAC, 0x36, 0x72, 0x2E, 0x56, 0x02, 0xE0, 0xC3, 0x2C, 0x57 }, 0, { }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0xAD, 0x2B, 0x79, 0x2E, 0x93, 0x66, 0x21, 0x07, 0x81, 0x40, 0x68, 0x05, 0x1C, 0x45, 0xB6, 0xC9, 0xF5, 0x90, 0x57, 0x0F, 0x19, 0x77, 0x05, 0x37, 0xE4, 0xF5, 0x0E, 0x13, 0x44, 0xF1, 0x00, 0xF3 } }, + { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0x02, 0x68, 0x05, 0xDC, 0x7B, 0x31, 0x8F, 0x79, 0x6C, 0x36, 0x0B, 0xB8, 0x2F, 0x85, 0xFA, 0x0C, 0x10, 0x6A, 0xB8, 0x77, 0x5F, 0xEC, 0xF8, 0x92, 0xA0, 0xA7, 0xF8, 0x5F, 0xB6, 0x67, 0x20, 0xCB, 0xAB, 0x03, 0x95, 0x09, 0xCF, 0x07, 0xC0, 0xA7, 0x87, 0xAB, 0x86, 0x28, 0xC8, 0x4E, 0x1F, 0x6F, 0x5E, 0x9C, 0xA4, 0x24, 0x49, 0x6D, 0x6E, 0xD4, 0xAC, 0x36, 0x72, 0x2E, 0x56, 0x02, 0xE0, 0xC3, 0x2C, 0x57 }, 0, { 0 }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0xAD, 0x2B, 0x79, 0x2E, 0x93, 0x66, 0x21, 0x07, 0x81, 0x40, 0x68, 0x05, 0x1C, 0x45, 0xB6, 0xC9, 0xF5, 0x90, 0x57, 0x0F, 0x19, 0x77, 0x05, 0x37, 0xE4, 0xF5, 0x0E, 0x13, 0x44, 0xF1, 0x00, 0xF3 } }, { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0x02, 0x68, 0x05, 0xDC, 0x7B, 0x31, 0x8F, 0x79, 0x6C, 0x36, 0x0B, 0xB8, 0x2F, 0x85, 0xFA, 0x0C, 0x10, 0x6A, 0xB8, 0x77, 0x5F, 0xEC, 0xF8, 0x92, 0xA0, 0xA7, 0xF8, 0x5F, 0xB6, 0x67, 0x20, 0xCB, 0xAB, 0x03, 0x95, 0x09, 0xCF, 0x07, 0xC0, 0xA7, 0x87, 0xAB, 0x86, 0x28, 0xC8, 0x4E, 0x1F, 0x6F, 0x5E, 0x9C, 0xA4, 0x24, 0x49, 0x6D, 0x6E, 0xD4, 0xAC, 0x36, 0x72, 0x2E, 0x56, 0x02, 0xE0, 0xC3, 0x2C, 0x57 }, 38, { 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26 }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0xDC, 0xFB, 0x82, 0x5B, 0x67, 0x52, 0x05, 0xE0, 0x87, 0xDE, 0x88, 0xAA, 0x4D, 0xD5, 0x50, 0xC3, 0x1B, 0x0E, 0xF7, 0x7E, 0x4A, 0x23, 0xD7, 0xA0, 0x46, 0x32, 0x58, 0xCE, 0x58, 0x22, 0x6B, 0x6A } }, { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x03, 0x0C, 0xC8, 0xDD, 0x78, 0x11, 0x03, 0x34, 0x74, 0xFA, 0xD5, 0x7D, 0x2D, 0xD0, 0x38, 0x01, 0x58, 0x4E, 0xD6, 0xA6, 0x8C, 0xD1, 0xA7, 0x3B, 0x33, 0x01, 0xC3, 0xDD, 0x1F, 0x68, 0x5B, 0xBF, 0x78, 0x02, 0xDE, 0x92, 0x50, 0xBD, 0xBE, 0xF7, 0x4C, 0x5E, 0xC1, 0x85, 0x4A, 0x17, 0x1E, 0xC8, 0xF5, 0xBD, 0x06, 0xCB, 0xDD, 0xCF, 0xB7, 0x83, 0x84, 0x43, 0x5A, 0xC6, 0x2E, 0x5B, 0x35, 0x9A, 0xCF, 0x2C }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x30, 0x5F, 0xE5, 0x09, 0xF0, 0x0F, 0x66, 0x5A, 0xAC, 0x83, 0x6D, 0x1E, 0x49, 0xFF, 0x25, 0x39, 0xD3, 0xA1, 0x1A, 0x9B, 0x20, 0x46, 0x24, 0x57, 0xA4, 0x9E, 0xBE, 0x28, 0xBE, 0xD0, 0x67, 0x28 } }, { 2, 0, 3, { 0, 1, 2 }, 0, { 0 }, 0, 0, { 0x03, 0x0C, 0xC8, 0xDD, 0x78, 0x11, 0x03, 0x34, 0x74, 0xFA, 0xD5, 0x7D, 0x2D, 0xD0, 0x38, 0x01, 0x58, 0x4E, 0xD6, 0xA6, 0x8C, 0xD1, 0xA7, 0x3B, 0x33, 0x01, 0xC3, 0xDD, 0x1F, 0x68, 0x5B, 0xBF, 0x78, 0x02, 0xDE, 0x92, 0x50, 0xBD, 0xBE, 0xF7, 0x4C, 0x5E, 0xC1, 0x85, 0x4A, 0x17, 0x1E, 0xC8, 0xF5, 0xBD, 0x06, 0xCB, 0xDD, 0xCF, 0xB7, 0x83, 0x84, 0x43, 0x5A, 0xC6, 0x2E, 0x5B, 0x35, 0x9A, 0xCF, 0x2C }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x30, 0x5F, 0xE5, 0x09, 0xF0, 0x0F, 0x66, 0x5A, 0xAC, 0x83, 0x6D, 0x1E, 0x49, 0xFF, 0x25, 0x39, 0xD3, 0xA1, 0x1A, 0x9B, 0x20, 0x46, 0x24, 0x57, 0xA4, 0x9E, 0xBE, 0x28, 0xBE, 0xD0, 0x67, 0x28 } }, { 2, 0, 3, { 2, 1, 0 }, 1, { 2, 1, 0 }, 0, 0, { 0x03, 0x0C, 0xC8, 0xDD, 0x78, 0x11, 0x03, 0x34, 0x74, 0xFA, 0xD5, 0x7D, 0x2D, 0xD0, 0x38, 0x01, 0x58, 0x4E, 0xD6, 0xA6, 0x8C, 0xD1, 0xA7, 0x3B, 0x33, 0x01, 0xC3, 0xDD, 0x1F, 0x68, 0x5B, 0xBF, 0x78, 0x02, 0xDE, 0x92, 0x50, 0xBD, 0xBE, 0xF7, 0x4C, 0x5E, 0xC1, 0x85, 0x4A, 0x17, 0x1E, 0xC8, 0xF5, 0xBD, 0x06, 0xCB, 0xDD, 0xCF, 0xB7, 0x83, 0x84, 0x43, 0x5A, 0xC6, 0x2E, 0x5B, 0x35, 0x9A, 0xCF, 0x2C }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x30, 0x5F, 0xE5, 0x09, 0xF0, 0x0F, 0x66, 0x5A, 0xAC, 0x83, 0x6D, 0x1E, 0x49, 0xFF, 0x25, 0x39, 0xD3, 0xA1, 0x1A, 0x9B, 0x20, 0x46, 0x24, 0x57, 0xA4, 0x9E, 0xBE, 0x28, 0xBE, 0xD0, 0x67, 0x28 } }, { 2, 1, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 1, 1, { 0x03, 0x0C, 0xC8, 0xDD, 0x78, 0x11, 0x03, 0x34, 0x74, 0xFA, 0xD5, 0x7D, 0x2D, 0xD0, 0x38, 0x01, 0x58, 0x4E, 0xD6, 0xA6, 0x8C, 0xD1, 0xA7, 0x3B, 0x33, 0x01, 0xC3, 0xDD, 0x1F, 0x68, 0x5B, 0xBF, 0x78, 0x02, 0xDE, 0x92, 0x50, 0xBD, 0xBE, 0xF7, 0x4C, 0x5E, 0xC1, 0x85, 0x4A, 0x17, 0x1E, 0xC8, 0xF5, 0xBD, 0x06, 0xCB, 0xDD, 0xCF, 0xB7, 0x83, 0x84, 0x43, 0x5A, 0xC6, 0x2E, 0x5B, 0x35, 0x9A, 0xCF, 0x2C }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x2C, 0x2D, 0xF9, 0x99, 0x12, 0xA2, 0xEE, 0x3E, 0x69, 0x4F, 0x38, 0x08, 0xAF, 0xA1, 0x4B, 0x15, 0xC9, 0x90, 0xAF, 0x29, 0x62, 0x1B, 0x33, 0x85, 0x0A, 0xC1, 0xE2, 0x3D, 0x08, 0xB8, 0x4C, 0x18 } }, { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x32, 0xB9, 0xFE, 0xB0, 0x74, 0x68, 0xF1, 0x36, 0x4A, 0x96, 0x04, 0xE7, 0xD9, 0x2B, 0x5F, 0xD2, 0xF3, 0xE3, 0x2E, 0xB0, 0x8B, 0xED, 0x61, 0xCE, 0x4B, 0x43, 0xA8, 0x04, 0xC8, 0x8D, 0x01, 0xF6 } }, - { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x03, 0x0C, 0xC8, 0xDD, 0x78, 0x11, 0x03, 0x34, 0x74, 0xFA, 0xD5, 0x7D, 0x2D, 0xD0, 0x38, 0x01, 0x58, 0x4E, 0xD6, 0xA6, 0x8C, 0xD1, 0xA7, 0x3B, 0x33, 0x01, 0xC3, 0xDD, 0x1F, 0x68, 0x5B, 0xBF, 0x78, 0x02, 0xDE, 0x92, 0x50, 0xBD, 0xBE, 0xF7, 0x4C, 0x5E, 0xC1, 0x85, 0x4A, 0x17, 0x1E, 0xC8, 0xF5, 0xBD, 0x06, 0xCB, 0xDD, 0xCF, 0xB7, 0x83, 0x84, 0x43, 0x5A, 0xC6, 0x2E, 0x5B, 0x35, 0x9A, 0xCF, 0x2C }, 0, { }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x73, 0xED, 0x44, 0xA6, 0x7A, 0x03, 0xA7, 0x6A, 0xF5, 0x0A, 0x87, 0x9F, 0x37, 0x88, 0x7A, 0xE2, 0xDC, 0x63, 0x02, 0x7D, 0x7F, 0x84, 0xEA, 0xD9, 0xAA, 0xC4, 0x7A, 0x5C, 0x79, 0xD2, 0x24, 0xA1 } }, + { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x03, 0x0C, 0xC8, 0xDD, 0x78, 0x11, 0x03, 0x34, 0x74, 0xFA, 0xD5, 0x7D, 0x2D, 0xD0, 0x38, 0x01, 0x58, 0x4E, 0xD6, 0xA6, 0x8C, 0xD1, 0xA7, 0x3B, 0x33, 0x01, 0xC3, 0xDD, 0x1F, 0x68, 0x5B, 0xBF, 0x78, 0x02, 0xDE, 0x92, 0x50, 0xBD, 0xBE, 0xF7, 0x4C, 0x5E, 0xC1, 0x85, 0x4A, 0x17, 0x1E, 0xC8, 0xF5, 0xBD, 0x06, 0xCB, 0xDD, 0xCF, 0xB7, 0x83, 0x84, 0x43, 0x5A, 0xC6, 0x2E, 0x5B, 0x35, 0x9A, 0xCF, 0x2C }, 0, { 0 }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x73, 0xED, 0x44, 0xA6, 0x7A, 0x03, 0xA7, 0x6A, 0xF5, 0x0A, 0x87, 0x9F, 0x37, 0x88, 0x7A, 0xE2, 0xDC, 0x63, 0x02, 0x7D, 0x7F, 0x84, 0xEA, 0xD9, 0xAA, 0xC4, 0x7A, 0x5C, 0x79, 0xD2, 0x24, 0xA1 } }, { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x03, 0x0C, 0xC8, 0xDD, 0x78, 0x11, 0x03, 0x34, 0x74, 0xFA, 0xD5, 0x7D, 0x2D, 0xD0, 0x38, 0x01, 0x58, 0x4E, 0xD6, 0xA6, 0x8C, 0xD1, 0xA7, 0x3B, 0x33, 0x01, 0xC3, 0xDD, 0x1F, 0x68, 0x5B, 0xBF, 0x78, 0x02, 0xDE, 0x92, 0x50, 0xBD, 0xBE, 0xF7, 0x4C, 0x5E, 0xC1, 0x85, 0x4A, 0x17, 0x1E, 0xC8, 0xF5, 0xBD, 0x06, 0xCB, 0xDD, 0xCF, 0xB7, 0x83, 0x84, 0x43, 0x5A, 0xC6, 0x2E, 0x5B, 0x35, 0x9A, 0xCF, 0x2C }, 38, { 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26 }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x92, 0x18, 0xAF, 0xB2, 0xA4, 0x86, 0xB5, 0x2A, 0x8E, 0xC0, 0xEC, 0xB6, 0xC8, 0xEE, 0xF1, 0xD0, 0x22, 0xF8, 0xDC, 0x8C, 0x20, 0x32, 0x37, 0xD2, 0xE4, 0x26, 0x7B, 0x02, 0xF4, 0x1F, 0xF7, 0xF3 } }, { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x03, 0x91, 0xD5, 0x2F, 0x65, 0x6B, 0x3C, 0xA3, 0xE6, 0x6A, 0xC5, 0xDA, 0xEF, 0x5B, 0x0D, 0x34, 0x7F, 0x7E, 0x85, 0xB7, 0xDD, 0x7A, 0x9E, 0xBA, 0x10, 0xE9, 0x82, 0x7A, 0xE2, 0x3F, 0xB7, 0x6E, 0x93, 0x03, 0x16, 0x10, 0xE1, 0x84, 0xE5, 0x40, 0x47, 0x01, 0x39, 0xF7, 0x62, 0x62, 0x53, 0xF2, 0x7E, 0x88, 0x71, 0xD6, 0x35, 0x49, 0x41, 0xCC, 0x9F, 0xF9, 0x4A, 0x07, 0xD8, 0x3F, 0x61, 0xBB, 0x4C, 0xD5 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x60, 0x3E, 0xC1, 0xEA, 0x86, 0xB2, 0x84, 0xE2, 0x8C, 0xEF, 0xD5, 0x9C, 0x85, 0xF8, 0xDD, 0xC6, 0xDF, 0xE8, 0x1C, 0x07, 0x44, 0xF5, 0x9D, 0x8F, 0xB5, 0xBE, 0xB2, 0x9F, 0x1C, 0x27, 0xF3, 0x8B } }, { 3, 0, 3, { 0, 1, 2 }, 0, { 0 }, 0, 0, { 0x03, 0x91, 0xD5, 0x2F, 0x65, 0x6B, 0x3C, 0xA3, 0xE6, 0x6A, 0xC5, 0xDA, 0xEF, 0x5B, 0x0D, 0x34, 0x7F, 0x7E, 0x85, 0xB7, 0xDD, 0x7A, 0x9E, 0xBA, 0x10, 0xE9, 0x82, 0x7A, 0xE2, 0x3F, 0xB7, 0x6E, 0x93, 0x03, 0x16, 0x10, 0xE1, 0x84, 0xE5, 0x40, 0x47, 0x01, 0x39, 0xF7, 0x62, 0x62, 0x53, 0xF2, 0x7E, 0x88, 0x71, 0xD6, 0x35, 0x49, 0x41, 0xCC, 0x9F, 0xF9, 0x4A, 0x07, 0xD8, 0x3F, 0x61, 0xBB, 0x4C, 0xD5 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x60, 0x3E, 0xC1, 0xEA, 0x86, 0xB2, 0x84, 0xE2, 0x8C, 0xEF, 0xD5, 0x9C, 0x85, 0xF8, 0xDD, 0xC6, 0xDF, 0xE8, 0x1C, 0x07, 0x44, 0xF5, 0x9D, 0x8F, 0xB5, 0xBE, 0xB2, 0x9F, 0x1C, 0x27, 0xF3, 0x8B } }, @@ -274,7 +274,7 @@ static const struct frost_vec_sign_case frost_vec_sign_valid_cases[29] = { { 3, 0, 3, { 0, 3, 4 }, 1, { 0, 3, 4 }, 0, 0, { 0x03, 0xCE, 0x3C, 0x1C, 0x18, 0x28, 0x29, 0xF3, 0x1D, 0xE2, 0xE6, 0xFD, 0x05, 0x7A, 0x06, 0xCF, 0xA5, 0x23, 0x76, 0xFE, 0xE4, 0x2C, 0x3F, 0xBD, 0x48, 0x7C, 0x19, 0xCF, 0xF3, 0xB5, 0xC7, 0x0D, 0xC5, 0x02, 0x0D, 0x9D, 0xD4, 0x1C, 0x4A, 0x2B, 0x9B, 0x43, 0xDB, 0x7C, 0x4E, 0x93, 0xB7, 0xC5, 0x04, 0x94, 0x64, 0x46, 0x63, 0x6F, 0x25, 0xC5, 0xD8, 0x93, 0xE9, 0x0C, 0x62, 0x62, 0x86, 0xD9, 0x07, 0x65 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x79, 0x45, 0xD5, 0xDE, 0xFF, 0x00, 0xBF, 0x4B, 0xF7, 0x15, 0x77, 0x41, 0x44, 0xC1, 0x0F, 0xF5, 0xE8, 0xC2, 0x5F, 0x7A, 0xC8, 0xC8, 0x86, 0xC3, 0x99, 0x98, 0x25, 0xD3, 0x0C, 0x7C, 0x60, 0x79 } }, { 3, 1, 5, { 0, 1, 2, 3, 4 }, 1, { 0, 1, 2, 3, 4 }, 1, 1, { 0x03, 0x53, 0x60, 0x24, 0xF2, 0x1D, 0x3C, 0x18, 0xE0, 0xF0, 0x94, 0xD1, 0x5E, 0x9D, 0xDA, 0x07, 0x74, 0x07, 0x54, 0x90, 0x55, 0x70, 0xA1, 0xB6, 0x8C, 0xAF, 0xAC, 0x74, 0x3A, 0x6C, 0x21, 0x37, 0x45, 0x03, 0x7C, 0x9E, 0xA6, 0x73, 0x0C, 0xD2, 0x19, 0x04, 0xC1, 0x31, 0xFF, 0x4A, 0x6C, 0x62, 0x48, 0x0A, 0x7B, 0xAB, 0xAA, 0x75, 0xF0, 0xA4, 0xF6, 0x3F, 0x1A, 0xFD, 0x8D, 0xEE, 0x9F, 0xDD, 0x69, 0x9D }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x5D, 0x70, 0xB8, 0xD3, 0x7B, 0xF0, 0xDB, 0x38, 0x1C, 0xE1, 0x5E, 0x3A, 0xAB, 0x9F, 0x59, 0xBE, 0xCD, 0x54, 0xAD, 0x32, 0xAC, 0x19, 0xA2, 0x16, 0x09, 0x38, 0x81, 0xB8, 0xF6, 0x45, 0x8B, 0xB6 } }, { 3, 0, 5, { 0, 1, 2, 3, 4 }, 1, { 0, 1, 2, 3, 4 }, 0, 0, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x96, 0x2E, 0x28, 0x44, 0xF8, 0x9E, 0xA8, 0x88, 0x51, 0x3C, 0xBD, 0xD6, 0xD5, 0x88, 0x81, 0x7C, 0xA3, 0xEC, 0xC2, 0xBB, 0xD3, 0x13, 0xF6, 0xAA, 0x07, 0xB2, 0xE6, 0xCB, 0xB9, 0x8B, 0xB3, 0xD6 } }, - { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x03, 0x91, 0xD5, 0x2F, 0x65, 0x6B, 0x3C, 0xA3, 0xE6, 0x6A, 0xC5, 0xDA, 0xEF, 0x5B, 0x0D, 0x34, 0x7F, 0x7E, 0x85, 0xB7, 0xDD, 0x7A, 0x9E, 0xBA, 0x10, 0xE9, 0x82, 0x7A, 0xE2, 0x3F, 0xB7, 0x6E, 0x93, 0x03, 0x16, 0x10, 0xE1, 0x84, 0xE5, 0x40, 0x47, 0x01, 0x39, 0xF7, 0x62, 0x62, 0x53, 0xF2, 0x7E, 0x88, 0x71, 0xD6, 0x35, 0x49, 0x41, 0xCC, 0x9F, 0xF9, 0x4A, 0x07, 0xD8, 0x3F, 0x61, 0xBB, 0x4C, 0xD5 }, 0, { }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x6C, 0xD2, 0x57, 0x59, 0x24, 0x39, 0xD8, 0xA0, 0xA0, 0xFA, 0xF9, 0x03, 0x7F, 0x68, 0x45, 0x34, 0xB9, 0xA6, 0x85, 0xD5, 0x04, 0x60, 0x42, 0xC3, 0xE3, 0xA3, 0xF7, 0x6F, 0x59, 0x57, 0xCB, 0xD6 } }, + { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x03, 0x91, 0xD5, 0x2F, 0x65, 0x6B, 0x3C, 0xA3, 0xE6, 0x6A, 0xC5, 0xDA, 0xEF, 0x5B, 0x0D, 0x34, 0x7F, 0x7E, 0x85, 0xB7, 0xDD, 0x7A, 0x9E, 0xBA, 0x10, 0xE9, 0x82, 0x7A, 0xE2, 0x3F, 0xB7, 0x6E, 0x93, 0x03, 0x16, 0x10, 0xE1, 0x84, 0xE5, 0x40, 0x47, 0x01, 0x39, 0xF7, 0x62, 0x62, 0x53, 0xF2, 0x7E, 0x88, 0x71, 0xD6, 0x35, 0x49, 0x41, 0xCC, 0x9F, 0xF9, 0x4A, 0x07, 0xD8, 0x3F, 0x61, 0xBB, 0x4C, 0xD5 }, 0, { 0 }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x6C, 0xD2, 0x57, 0x59, 0x24, 0x39, 0xD8, 0xA0, 0xA0, 0xFA, 0xF9, 0x03, 0x7F, 0x68, 0x45, 0x34, 0xB9, 0xA6, 0x85, 0xD5, 0x04, 0x60, 0x42, 0xC3, 0xE3, 0xA3, 0xF7, 0x6F, 0x59, 0x57, 0xCB, 0xD6 } }, { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 0, { 0x03, 0x91, 0xD5, 0x2F, 0x65, 0x6B, 0x3C, 0xA3, 0xE6, 0x6A, 0xC5, 0xDA, 0xEF, 0x5B, 0x0D, 0x34, 0x7F, 0x7E, 0x85, 0xB7, 0xDD, 0x7A, 0x9E, 0xBA, 0x10, 0xE9, 0x82, 0x7A, 0xE2, 0x3F, 0xB7, 0x6E, 0x93, 0x03, 0x16, 0x10, 0xE1, 0x84, 0xE5, 0x40, 0x47, 0x01, 0x39, 0xF7, 0x62, 0x62, 0x53, 0xF2, 0x7E, 0x88, 0x71, 0xD6, 0x35, 0x49, 0x41, 0xCC, 0x9F, 0xF9, 0x4A, 0x07, 0xD8, 0x3F, 0x61, 0xBB, 0x4C, 0xD5 }, 38, { 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26 }, 0, { 0 }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x1F, 0xFA, 0xA6, 0x34, 0xBD, 0xB2, 0x51, 0xBF, 0x1E, 0x9E, 0x7C, 0x7E, 0xBD, 0x77, 0x6C, 0x9D, 0xA9, 0xD3, 0x5A, 0xA6, 0xF4, 0x7C, 0x65, 0xE3, 0xE4, 0xA6, 0xE8, 0xFF, 0x1F, 0x15, 0xFF, 0x3F } }, }; static const struct frost_vec_sign_case frost_vec_sign_error_cases[52] = { @@ -528,7 +528,7 @@ static const struct frost_vec_group frost_vec_sig_agg_groups[4] = { { 0x03, 0x9E, 0xE3, 0x33, 0x5A, 0xF4, 0x8D, 0xFE, 0x23, 0x70, 0x2A, 0xB3, 0x53, 0xF4, 0xAF, 0x20, 0xD4, 0x01, 0xF6, 0x7A, 0x13, 0x0D, 0xF7, 0x83, 0xCC, 0x84, 0x57, 0x32, 0x3A, 0x86, 0x0A, 0x2F, 0xB4 }, { 0x02, 0x84, 0xDC, 0x4A, 0xB2, 0xCB, 0x78, 0xA6, 0x21, 0xEB, 0x87, 0xFA, 0x1F, 0x14, 0xBC, 0xE2, 0xB7, 0x25, 0xAF, 0xEA, 0xAC, 0x98, 0x1A, 0xDC, 0xBA, 0xFF, 0x5C, 0xC2, 0xD4, 0x17, 0xD2, 0xA6, 0x3A }, { 0x03, 0x64, 0x41, 0xEC, 0x2D, 0x4C, 0x12, 0x66, 0x20, 0x1C, 0xD8, 0x9B, 0x69, 0x54, 0x9A, 0x2F, 0x5B, 0x21, 0x88, 0x61, 0x2A, 0x0D, 0x43, 0x41, 0x53, 0xE6, 0x25, 0xFB, 0x38, 0x17, 0x3D, 0xD5, 0x09 } - }, 0, {}, 0, {}, 0, {}, 4, { + }, 0, { { 0 } }, 0, { { 0 } }, 0, { { 0 } }, 4, { { 0xE8, 0xF7, 0x91, 0xFF, 0x92, 0x25, 0xA2, 0xAF, 0x01, 0x02, 0xAF, 0xFF, 0x4A, 0x9A, 0x72, 0x3D, 0x96, 0x12, 0xA6, 0x82, 0xA2, 0x5E, 0xBE, 0x79, 0x80, 0x2B, 0x26, 0x3C, 0xDF, 0xCD, 0x83, 0xBB }, { 0xAE, 0x2E, 0xA7, 0x97, 0xCC, 0x0F, 0xE7, 0x2A, 0xC5, 0xB9, 0x7B, 0x97, 0xF3, 0xC6, 0x95, 0x7D, 0x7E, 0x41, 0x99, 0xA1, 0x67, 0xA5, 0x8E, 0xB0, 0x8B, 0xCA, 0xFF, 0xDA, 0x70, 0xAC, 0x04, 0x55 }, { 0xF5, 0x2E, 0xCB, 0xC5, 0x65, 0xB3, 0xD8, 0xBE, 0xA2, 0xDF, 0xD5, 0xB7, 0x5A, 0x4F, 0x45, 0x7E, 0x54, 0x36, 0x98, 0x09, 0x32, 0x2E, 0x41, 0x20, 0x83, 0x16, 0x26, 0xF2, 0x90, 0xFA, 0x87, 0xE0 }, @@ -538,7 +538,7 @@ static const struct frost_vec_group frost_vec_sig_agg_groups[4] = { { 0x03, 0xD1, 0x93, 0x9B, 0xE8, 0x7D, 0x18, 0xEA, 0x5A, 0xB3, 0x02, 0xE2, 0x70, 0x77, 0xD1, 0x6B, 0x2C, 0x2F, 0xD9, 0x35, 0x16, 0xF9, 0x15, 0x14, 0xBA, 0x04, 0x99, 0x33, 0xD3, 0x48, 0xDA, 0x44, 0x1F }, { 0x03, 0xD1, 0x93, 0x9B, 0xE8, 0x7D, 0x18, 0xEA, 0x5A, 0xB3, 0x02, 0xE2, 0x70, 0x77, 0xD1, 0x6B, 0x2C, 0x2F, 0xD9, 0x35, 0x16, 0xF9, 0x15, 0x14, 0xBA, 0x04, 0x99, 0x33, 0xD3, 0x48, 0xDA, 0x44, 0x1F }, { 0x03, 0xD1, 0x93, 0x9B, 0xE8, 0x7D, 0x18, 0xEA, 0x5A, 0xB3, 0x02, 0xE2, 0x70, 0x77, 0xD1, 0x6B, 0x2C, 0x2F, 0xD9, 0x35, 0x16, 0xF9, 0x15, 0x14, 0xBA, 0x04, 0x99, 0x33, 0xD3, 0x48, 0xDA, 0x44, 0x1F } - }, 0, {}, 0, {}, 0, {}, 4, { + }, 0, { { 0 } }, 0, { { 0 } }, 0, { { 0 } }, 4, { { 0xE8, 0xF7, 0x91, 0xFF, 0x92, 0x25, 0xA2, 0xAF, 0x01, 0x02, 0xAF, 0xFF, 0x4A, 0x9A, 0x72, 0x3D, 0x96, 0x12, 0xA6, 0x82, 0xA2, 0x5E, 0xBE, 0x79, 0x80, 0x2B, 0x26, 0x3C, 0xDF, 0xCD, 0x83, 0xBB }, { 0xAE, 0x2E, 0xA7, 0x97, 0xCC, 0x0F, 0xE7, 0x2A, 0xC5, 0xB9, 0x7B, 0x97, 0xF3, 0xC6, 0x95, 0x7D, 0x7E, 0x41, 0x99, 0xA1, 0x67, 0xA5, 0x8E, 0xB0, 0x8B, 0xCA, 0xFF, 0xDA, 0x70, 0xAC, 0x04, 0x55 }, { 0xF5, 0x2E, 0xCB, 0xC5, 0x65, 0xB3, 0xD8, 0xBE, 0xA2, 0xDF, 0xD5, 0xB7, 0x5A, 0x4F, 0x45, 0x7E, 0x54, 0x36, 0x98, 0x09, 0x32, 0x2E, 0x41, 0x20, 0x83, 0x16, 0x26, 0xF2, 0x90, 0xFA, 0x87, 0xE0 }, @@ -548,7 +548,7 @@ static const struct frost_vec_group frost_vec_sig_agg_groups[4] = { { 0x03, 0xA3, 0xE9, 0x32, 0xBA, 0x9D, 0xD0, 0x06, 0x3D, 0x72, 0x15, 0x90, 0xB6, 0xEF, 0x21, 0xDD, 0x45, 0x66, 0xA9, 0x7B, 0x20, 0x33, 0x43, 0xFD, 0xE9, 0xDA, 0x58, 0x15, 0xDB, 0x9B, 0xE0, 0x49, 0xCA }, { 0x02, 0x01, 0xE5, 0xFE, 0xAC, 0x0D, 0xB5, 0x05, 0x9C, 0x32, 0xB0, 0x45, 0xF3, 0x77, 0x99, 0x10, 0x1A, 0x96, 0x26, 0x2B, 0x3C, 0x88, 0xCE, 0x85, 0xD6, 0x10, 0x45, 0x1F, 0xC2, 0x1A, 0x04, 0x57, 0xFF }, { 0x03, 0xEF, 0x72, 0xD1, 0x0D, 0x1D, 0xFE, 0x4E, 0x78, 0x66, 0x19, 0x53, 0x6A, 0x45, 0x85, 0x07, 0xCA, 0xF1, 0x05, 0xFC, 0xCD, 0xB8, 0x17, 0x3D, 0xAF, 0x2E, 0x35, 0x80, 0x54, 0xAF, 0x2F, 0xA4, 0xA2 } - }, 0, {}, 0, {}, 0, {}, 4, { + }, 0, { { 0 } }, 0, { { 0 } }, 0, { { 0 } }, 4, { { 0xE8, 0xF7, 0x91, 0xFF, 0x92, 0x25, 0xA2, 0xAF, 0x01, 0x02, 0xAF, 0xFF, 0x4A, 0x9A, 0x72, 0x3D, 0x96, 0x12, 0xA6, 0x82, 0xA2, 0x5E, 0xBE, 0x79, 0x80, 0x2B, 0x26, 0x3C, 0xDF, 0xCD, 0x83, 0xBB }, { 0xAE, 0x2E, 0xA7, 0x97, 0xCC, 0x0F, 0xE7, 0x2A, 0xC5, 0xB9, 0x7B, 0x97, 0xF3, 0xC6, 0x95, 0x7D, 0x7E, 0x41, 0x99, 0xA1, 0x67, 0xA5, 0x8E, 0xB0, 0x8B, 0xCA, 0xFF, 0xDA, 0x70, 0xAC, 0x04, 0x55 }, { 0xF5, 0x2E, 0xCB, 0xC5, 0x65, 0xB3, 0xD8, 0xBE, 0xA2, 0xDF, 0xD5, 0xB7, 0x5A, 0x4F, 0x45, 0x7E, 0x54, 0x36, 0x98, 0x09, 0x32, 0x2E, 0x41, 0x20, 0x83, 0x16, 0x26, 0xF2, 0x90, 0xFA, 0x87, 0xE0 }, @@ -560,7 +560,7 @@ static const struct frost_vec_group frost_vec_sig_agg_groups[4] = { { 0x02, 0x30, 0x63, 0x9C, 0xEC, 0x0A, 0x83, 0x98, 0x2E, 0x17, 0x6D, 0x69, 0x05, 0xCE, 0x06, 0x20, 0xFD, 0xC5, 0x7E, 0x15, 0x15, 0x65, 0xA3, 0x9D, 0x0E, 0x08, 0x21, 0xB8, 0xE7, 0x53, 0xAE, 0x85, 0xB0 }, { 0x02, 0x6E, 0x1A, 0x50, 0xE6, 0x72, 0xFE, 0xDD, 0x3F, 0x3C, 0x37, 0x8D, 0x61, 0x21, 0xE5, 0x70, 0x2B, 0x05, 0x06, 0x69, 0xDB, 0xC2, 0x41, 0xD2, 0xC2, 0x29, 0x98, 0x80, 0x15, 0x2C, 0xD2, 0x07, 0xBD }, { 0x02, 0xDC, 0x06, 0xC4, 0xCA, 0x91, 0x9D, 0xE7, 0x0B, 0x4B, 0x82, 0x81, 0x90, 0x1C, 0xCF, 0x94, 0x71, 0xAB, 0x91, 0xFB, 0xFB, 0xEE, 0x1A, 0x8C, 0x57, 0x0D, 0x83, 0x91, 0x1C, 0xAA, 0xF9, 0xE2, 0xFA } - }, 0, {}, 0, {}, 0, {}, 4, { + }, 0, { { 0 } }, 0, { { 0 } }, 0, { { 0 } }, 4, { { 0xE8, 0xF7, 0x91, 0xFF, 0x92, 0x25, 0xA2, 0xAF, 0x01, 0x02, 0xAF, 0xFF, 0x4A, 0x9A, 0x72, 0x3D, 0x96, 0x12, 0xA6, 0x82, 0xA2, 0x5E, 0xBE, 0x79, 0x80, 0x2B, 0x26, 0x3C, 0xDF, 0xCD, 0x83, 0xBB }, { 0xAE, 0x2E, 0xA7, 0x97, 0xCC, 0x0F, 0xE7, 0x2A, 0xC5, 0xB9, 0x7B, 0x97, 0xF3, 0xC6, 0x95, 0x7D, 0x7E, 0x41, 0x99, 0xA1, 0x67, 0xA5, 0x8E, 0xB0, 0x8B, 0xCA, 0xFF, 0xDA, 0x70, 0xAC, 0x04, 0x55 }, { 0xF5, 0x2E, 0xCB, 0xC5, 0x65, 0xB3, 0xD8, 0xBE, 0xA2, 0xDF, 0xD5, 0xB7, 0x5A, 0x4F, 0x45, 0x7E, 0x54, 0x36, 0x98, 0x09, 0x32, 0x2E, 0x41, 0x20, 0x83, 0x16, 0x26, 0xF2, 0x90, 0xFA, 0x87, 0xE0 }, @@ -630,7 +630,7 @@ static const struct frost_vec_group frost_vec_det_sign_groups[4] = { { 0x5A, 0x7F, 0x9B, 0xD4, 0x1F, 0x4B, 0x54, 0x46, 0x64, 0xC5, 0x4D, 0x77, 0x7D, 0x43, 0x30, 0x3C, 0xB5, 0x30, 0x24, 0x34, 0xF9, 0x90, 0x3B, 0x9B, 0x55, 0x2C, 0x4E, 0x55, 0x2B, 0xF0, 0x22, 0x01 }, { 0x61, 0xBB, 0x07, 0xFE, 0x81, 0x23, 0xB9, 0xEC, 0x25, 0x5C, 0xA3, 0xFC, 0x27, 0xAE, 0xF6, 0x4D, 0x5D, 0x26, 0x0A, 0x6F, 0xC7, 0x3D, 0x7F, 0x15, 0xB6, 0x3D, 0xBE, 0x12, 0xEC, 0x5D, 0xEA, 0x07 }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } - }, 0, {}, 0, {}, 0, {} }, + }, 0, { { 0 } }, 0, { { 0 } }, 0, { { 0 } } }, { 1, 3, { 0x03, 0xD1, 0x93, 0x9B, 0xE8, 0x7D, 0x18, 0xEA, 0x5A, 0xB3, 0x02, 0xE2, 0x70, 0x77, 0xD1, 0x6B, 0x2C, 0x2F, 0xD9, 0x35, 0x16, 0xF9, 0x15, 0x14, 0xBA, 0x04, 0x99, 0x33, 0xD3, 0x48, 0xDA, 0x44, 0x1F }, 5, { { 0x03, 0xD1, 0x93, 0x9B, 0xE8, 0x7D, 0x18, 0xEA, 0x5A, 0xB3, 0x02, 0xE2, 0x70, 0x77, 0xD1, 0x6B, 0x2C, 0x2F, 0xD9, 0x35, 0x16, 0xF9, 0x15, 0x14, 0xBA, 0x04, 0x99, 0x33, 0xD3, 0x48, 0xDA, 0x44, 0x1F }, { 0x03, 0xD1, 0x93, 0x9B, 0xE8, 0x7D, 0x18, 0xEA, 0x5A, 0xB3, 0x02, 0xE2, 0x70, 0x77, 0xD1, 0x6B, 0x2C, 0x2F, 0xD9, 0x35, 0x16, 0xF9, 0x15, 0x14, 0xBA, 0x04, 0x99, 0x33, 0xD3, 0x48, 0xDA, 0x44, 0x1F }, @@ -642,7 +642,7 @@ static const struct frost_vec_group frost_vec_det_sign_groups[4] = { { 0x06, 0xD4, 0x7E, 0x05, 0xE9, 0x74, 0x81, 0x42, 0x86, 0x54, 0x56, 0x3E, 0x5A, 0xE6, 0x9C, 0x20, 0xC4, 0x96, 0x42, 0x77, 0x3B, 0x73, 0x34, 0x22, 0x0E, 0x63, 0x11, 0x02, 0x59, 0xA3, 0x0C, 0x32 }, { 0x06, 0xD4, 0x7E, 0x05, 0xE9, 0x74, 0x81, 0x42, 0x86, 0x54, 0x56, 0x3E, 0x5A, 0xE6, 0x9C, 0x20, 0xC4, 0x96, 0x42, 0x77, 0x3B, 0x73, 0x34, 0x22, 0x0E, 0x63, 0x11, 0x02, 0x59, 0xA3, 0x0C, 0x32 }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } - }, 0, {}, 0, {}, 0, {} }, + }, 0, { { 0 } }, 0, { { 0 } }, 0, { { 0 } } }, { 3, 3, { 0x02, 0x3E, 0x94, 0xD6, 0xA6, 0x86, 0x20, 0xD3, 0xF6, 0x02, 0x21, 0xA4, 0x18, 0x67, 0x86, 0x27, 0x4A, 0x71, 0x12, 0x21, 0xA8, 0xBB, 0xB3, 0x1A, 0x53, 0x88, 0xDF, 0xA6, 0x71, 0x8E, 0x8E, 0xF7, 0xBB }, 5, { { 0x03, 0xA3, 0xE9, 0x32, 0xBA, 0x9D, 0xD0, 0x06, 0x3D, 0x72, 0x15, 0x90, 0xB6, 0xEF, 0x21, 0xDD, 0x45, 0x66, 0xA9, 0x7B, 0x20, 0x33, 0x43, 0xFD, 0xE9, 0xDA, 0x58, 0x15, 0xDB, 0x9B, 0xE0, 0x49, 0xCA }, { 0x02, 0x01, 0xE5, 0xFE, 0xAC, 0x0D, 0xB5, 0x05, 0x9C, 0x32, 0xB0, 0x45, 0xF3, 0x77, 0x99, 0x10, 0x1A, 0x96, 0x26, 0x2B, 0x3C, 0x88, 0xCE, 0x85, 0xD6, 0x10, 0x45, 0x1F, 0xC2, 0x1A, 0x04, 0x57, 0xFF }, @@ -654,7 +654,7 @@ static const struct frost_vec_group frost_vec_det_sign_groups[4] = { { 0x0E, 0xAA, 0xC0, 0x17, 0xAB, 0xA2, 0x03, 0x02, 0x72, 0xB7, 0xF8, 0xEA, 0xAD, 0x68, 0xE2, 0x2B, 0xF0, 0x7F, 0x08, 0x95, 0x0D, 0x7B, 0x57, 0x0B, 0x69, 0xB2, 0xCC, 0xEF, 0x27, 0x8D, 0x52, 0xC1 }, { 0x1E, 0x4E, 0x43, 0x44, 0xB9, 0xB5, 0x94, 0x10, 0x58, 0x8C, 0xCF, 0x32, 0x7B, 0x76, 0x6E, 0x4D, 0x29, 0x88, 0x82, 0xD9, 0x04, 0xF0, 0xFB, 0xF2, 0x88, 0xC8, 0x6B, 0x73, 0xAC, 0x59, 0x62, 0xA3 }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } - }, 0, {}, 0, {}, 0, {} }, + }, 0, { { 0 } }, 0, { { 0 } }, 0, { { 0 } } }, { 3, 5, { 0x03, 0xE1, 0xAE, 0xA0, 0x0A, 0x7B, 0x8D, 0x0E, 0x03, 0x93, 0x66, 0x4F, 0xEB, 0xBD, 0x31, 0x56, 0x9A, 0x02, 0xCA, 0xF2, 0x23, 0xD9, 0xAD, 0x83, 0xE9, 0x03, 0x31, 0xDC, 0x18, 0xB1, 0x98, 0x73, 0x58 }, 7, { { 0x02, 0xF3, 0x33, 0xED, 0xD2, 0xB6, 0xF5, 0x32, 0xC2, 0xEF, 0x6C, 0x42, 0xE8, 0x03, 0xB6, 0x33, 0xA4, 0x22, 0x89, 0xD0, 0x56, 0x7A, 0x75, 0xC5, 0x0E, 0xB1, 0xC8, 0xCF, 0x85, 0xEC, 0x48, 0x0E, 0x8F }, { 0x02, 0x53, 0x22, 0xF6, 0x36, 0x02, 0xEC, 0xCF, 0x14, 0x65, 0x41, 0xB7, 0xC9, 0xEE, 0x4D, 0x1F, 0xCB, 0x84, 0xEC, 0x13, 0x94, 0x71, 0x42, 0x04, 0x72, 0x18, 0x2A, 0xE9, 0x68, 0x67, 0x6A, 0x38, 0x7F }, @@ -670,7 +670,7 @@ static const struct frost_vec_group frost_vec_det_sign_groups[4] = { { 0x56, 0xC4, 0x04, 0x19, 0xCE, 0x7F, 0x84, 0x49, 0x49, 0xB5, 0x03, 0x7C, 0x91, 0xC4, 0x5E, 0x5F, 0xDA, 0xF9, 0xE1, 0x19, 0x17, 0xB3, 0x1B, 0xAE, 0xFB, 0xD3, 0x31, 0x33, 0xFB, 0xF2, 0x58, 0xAD }, { 0x3D, 0x21, 0x31, 0x5C, 0xB2, 0x6D, 0xE2, 0x73, 0xBC, 0x79, 0x02, 0x3A, 0x44, 0xA7, 0x80, 0x00, 0x6C, 0xBD, 0x97, 0x1F, 0xA9, 0x6F, 0x34, 0x90, 0x4E, 0x0A, 0x95, 0x79, 0x2C, 0x74, 0xAE, 0x9A }, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } - }, 0, {}, 0, {}, 0, {} }, + }, 0, { { 0 } }, 0, { { 0 } }, 0, { { 0 } } }, }; struct frost_vec_det_sign_case { @@ -705,7 +705,7 @@ static const struct frost_vec_det_sign_case frost_vec_det_sign_valid_cases[37] = { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 1, { 0x02, 0x00, 0x5B, 0xA7, 0x1E, 0x0F, 0x89, 0x15, 0x67, 0x46, 0x49, 0x9B, 0x39, 0x2A, 0x8F, 0x61, 0x96, 0x9E, 0x2C, 0x51, 0xFB, 0xCB, 0x02, 0x31, 0xD1, 0x04, 0xD4, 0x21, 0x92, 0xAF, 0xDB, 0xCC, 0x74, 0x02, 0x49, 0x78, 0x9D, 0xED, 0x73, 0x17, 0xA4, 0x15, 0xCD, 0x0E, 0x5C, 0xA7, 0xA5, 0x1B, 0x29, 0x2F, 0xE6, 0x70, 0xF5, 0x27, 0xE0, 0x1D, 0xFB, 0xDD, 0xC7, 0x89, 0x8D, 0xD1, 0x97, 0x72, 0x24, 0xF3 }, 0, { 0 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0xE5, 0x39, 0x25, 0x67, 0x72, 0x53, 0x32, 0x41, 0x8C, 0xC6, 0x78, 0x8C, 0x5B, 0xAE, 0x50, 0x8B, 0x5F, 0x60, 0x7F, 0xD7, 0xDC, 0xA0, 0x5B, 0x95, 0x75, 0x0F, 0xC2, 0x12, 0x2D, 0xA2, 0x0F, 0x9D, 0x03, 0x22, 0xD2, 0x97, 0xFA, 0x57, 0x9B, 0xFE, 0x64, 0xEE, 0x8C, 0xD9, 0x4F, 0xA8, 0x2A, 0xE8, 0xE6, 0x2A, 0x5B, 0xBA, 0xFC, 0x81, 0x5C, 0xA2, 0x8A, 0xD0, 0x6C, 0x60, 0x65, 0xEE, 0x57, 0x01, 0x02 }, { 0xEA, 0x75, 0xE3, 0x88, 0x54, 0xF3, 0xE8, 0xF6, 0x9C, 0x40, 0xFD, 0x0C, 0xDC, 0xDE, 0x24, 0xAC, 0xCE, 0xF1, 0x1C, 0x5E, 0x27, 0xA2, 0xA6, 0x69, 0x08, 0xC6, 0x6F, 0xBE, 0xF5, 0xD1, 0xDC, 0x52 } }, { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 1, { 0x02, 0xDB, 0x94, 0x7F, 0x29, 0x6B, 0xBE, 0x29, 0x4C, 0xCE, 0x31, 0x17, 0xCD, 0x3D, 0xBB, 0xFB, 0x8D, 0xB2, 0xD3, 0xB3, 0x07, 0x1F, 0x75, 0x98, 0xB4, 0x2D, 0x12, 0xC0, 0x4D, 0xF8, 0xD2, 0x82, 0xF8, 0x03, 0xBA, 0x1E, 0x9D, 0x78, 0xBE, 0x28, 0x5B, 0x94, 0x45, 0x9C, 0x18, 0x2D, 0x30, 0x10, 0xE9, 0x49, 0xC8, 0xFE, 0xDB, 0xB1, 0x20, 0x9E, 0x3D, 0xA9, 0x66, 0xD6, 0x2C, 0xE5, 0x04, 0xFF, 0x79, 0xCC }, 1, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x9F, 0xBB, 0xFD, 0x38, 0x1C, 0x1E, 0xE8, 0xAC, 0x22, 0x92, 0x45, 0xBB, 0x92, 0x64, 0x19, 0x75, 0x24, 0x71, 0xEF, 0xE3, 0xD8, 0xD0, 0x30, 0x22, 0x81, 0x03, 0x10, 0x8A, 0xA4, 0x78, 0xA8, 0x09, 0x02, 0x65, 0xB9, 0x31, 0xD2, 0xE5, 0x6D, 0x12, 0xAA, 0x07, 0xAC, 0x7C, 0x93, 0x10, 0x11, 0xE8, 0xF4, 0x3E, 0x7E, 0x6B, 0xCE, 0x7F, 0xE3, 0x2F, 0x3F, 0x85, 0x06, 0x44, 0x49, 0x5E, 0x3D, 0x6E, 0x9A }, { 0xDF, 0x26, 0xC9, 0x6F, 0x3C, 0xC7, 0x8E, 0x69, 0x27, 0x4C, 0x96, 0x52, 0xFB, 0xC4, 0x8D, 0x58, 0x28, 0x4E, 0xAF, 0x01, 0xD4, 0x8C, 0xA0, 0xB2, 0xCF, 0xE7, 0x26, 0xDB, 0x60, 0xF3, 0x51, 0x73 } }, { 0, 1, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 1, 1, { 0x03, 0x1A, 0x74, 0xBE, 0x08, 0x95, 0xA2, 0x95, 0x13, 0xF4, 0x0F, 0x10, 0x95, 0x9B, 0x5D, 0x65, 0x25, 0x47, 0xFD, 0xB7, 0xC3, 0xC0, 0xC4, 0xB7, 0xD2, 0x75, 0x84, 0x34, 0x6A, 0x87, 0xF2, 0x5A, 0x9A, 0x03, 0xB8, 0xC2, 0x37, 0xA0, 0x9B, 0x79, 0x4F, 0x0F, 0x3C, 0xDA, 0x70, 0x19, 0xE4, 0x94, 0xC4, 0xC8, 0x17, 0xF6, 0x6D, 0x8A, 0xAE, 0x97, 0xD8, 0x9F, 0x42, 0x2E, 0x8E, 0xE9, 0xAD, 0xD5, 0x0D, 0xE1 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0xAC, 0x4B, 0x71, 0xD8, 0x20, 0x97, 0x71, 0x8E, 0xB6, 0xDD, 0xED, 0x85, 0x5A, 0x83, 0x1C, 0xB5, 0x2B, 0x41, 0x90, 0x67, 0xAF, 0xD0, 0xE8, 0x29, 0xBD, 0x54, 0x6A, 0x16, 0xD1, 0x4F, 0x59, 0xED, 0x02, 0x8C, 0xEE, 0xBB, 0x22, 0x89, 0x65, 0xF6, 0xE2, 0x6B, 0xFF, 0x8A, 0xE9, 0xC9, 0x06, 0xDC, 0x0B, 0x96, 0xAE, 0x85, 0xDA, 0x86, 0xFD, 0x55, 0x9A, 0x04, 0x06, 0xA3, 0xBD, 0xD1, 0x9E, 0xB7, 0xC0 }, { 0x2C, 0xD6, 0xD3, 0x39, 0xFB, 0x15, 0xDA, 0x4C, 0xA9, 0xEA, 0x89, 0x82, 0x1A, 0x5C, 0xB8, 0x30, 0x46, 0x21, 0xCE, 0x1F, 0x73, 0xD5, 0x50, 0x2C, 0x87, 0xC1, 0x33, 0xF7, 0xC3, 0x75, 0xB7, 0x69 } }, - { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 1, { 0x03, 0x59, 0x6B, 0xB9, 0x81, 0x4A, 0xB3, 0x63, 0xF9, 0x93, 0x8C, 0x47, 0x69, 0x0A, 0xDA, 0x94, 0x89, 0xC0, 0xA0, 0xF9, 0xB9, 0x72, 0x29, 0xD6, 0x08, 0xB1, 0x19, 0xA1, 0x47, 0xB5, 0x60, 0x73, 0xE8, 0x03, 0x55, 0xCF, 0xC4, 0xE5, 0x42, 0x91, 0x44, 0x0B, 0x07, 0xC0, 0x1E, 0x54, 0x27, 0x36, 0x11, 0x66, 0x2D, 0xC9, 0xE1, 0x93, 0x24, 0x63, 0x9D, 0x1C, 0x88, 0x78, 0xF5, 0xAA, 0x9C, 0x5D, 0x59, 0xE6 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0, { }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x5B, 0xF0, 0xFB, 0x16, 0x5A, 0x25, 0x2B, 0x77, 0x6B, 0x84, 0x16, 0x3C, 0xD3, 0x68, 0x28, 0x97, 0x0D, 0x8E, 0xB4, 0xF4, 0x62, 0x41, 0xFE, 0x5B, 0x3E, 0x92, 0x93, 0x04, 0xEF, 0x4F, 0xA4, 0x68, 0x03, 0x07, 0x69, 0x33, 0xC1, 0x71, 0xBC, 0xEA, 0xD2, 0x92, 0xB3, 0x00, 0xF7, 0x57, 0x9F, 0x1E, 0x5A, 0xED, 0xA4, 0x94, 0x25, 0x84, 0xA3, 0x13, 0x69, 0x4F, 0x3C, 0x39, 0x72, 0x82, 0xA5, 0xB5, 0x65 }, { 0x41, 0xC1, 0x9A, 0x9F, 0xA4, 0x4D, 0x67, 0xB1, 0x88, 0xBF, 0xA4, 0x04, 0xD0, 0x4C, 0xF6, 0x5D, 0x1B, 0x80, 0xDB, 0x93, 0x67, 0x6C, 0x8C, 0x00, 0x7F, 0xBE, 0x81, 0x8A, 0x7A, 0x5E, 0x9A, 0x4C } }, + { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 1, { 0x03, 0x59, 0x6B, 0xB9, 0x81, 0x4A, 0xB3, 0x63, 0xF9, 0x93, 0x8C, 0x47, 0x69, 0x0A, 0xDA, 0x94, 0x89, 0xC0, 0xA0, 0xF9, 0xB9, 0x72, 0x29, 0xD6, 0x08, 0xB1, 0x19, 0xA1, 0x47, 0xB5, 0x60, 0x73, 0xE8, 0x03, 0x55, 0xCF, 0xC4, 0xE5, 0x42, 0x91, 0x44, 0x0B, 0x07, 0xC0, 0x1E, 0x54, 0x27, 0x36, 0x11, 0x66, 0x2D, 0xC9, 0xE1, 0x93, 0x24, 0x63, 0x9D, 0x1C, 0x88, 0x78, 0xF5, 0xAA, 0x9C, 0x5D, 0x59, 0xE6 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0, { 0 }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x5B, 0xF0, 0xFB, 0x16, 0x5A, 0x25, 0x2B, 0x77, 0x6B, 0x84, 0x16, 0x3C, 0xD3, 0x68, 0x28, 0x97, 0x0D, 0x8E, 0xB4, 0xF4, 0x62, 0x41, 0xFE, 0x5B, 0x3E, 0x92, 0x93, 0x04, 0xEF, 0x4F, 0xA4, 0x68, 0x03, 0x07, 0x69, 0x33, 0xC1, 0x71, 0xBC, 0xEA, 0xD2, 0x92, 0xB3, 0x00, 0xF7, 0x57, 0x9F, 0x1E, 0x5A, 0xED, 0xA4, 0x94, 0x25, 0x84, 0xA3, 0x13, 0x69, 0x4F, 0x3C, 0x39, 0x72, 0x82, 0xA5, 0xB5, 0x65 }, { 0x41, 0xC1, 0x9A, 0x9F, 0xA4, 0x4D, 0x67, 0xB1, 0x88, 0xBF, 0xA4, 0x04, 0xD0, 0x4C, 0xF6, 0x5D, 0x1B, 0x80, 0xDB, 0x93, 0x67, 0x6C, 0x8C, 0x00, 0x7F, 0xBE, 0x81, 0x8A, 0x7A, 0x5E, 0x9A, 0x4C } }, { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 1, { 0x03, 0x4A, 0x8C, 0xB7, 0x5F, 0xAF, 0xF9, 0xB2, 0x59, 0xAC, 0xEB, 0xCE, 0x97, 0xB9, 0x1A, 0xA9, 0xDF, 0x39, 0x18, 0xF8, 0x2D, 0xCF, 0x3A, 0xC7, 0xBB, 0x42, 0x73, 0x79, 0x06, 0xB8, 0x85, 0xCF, 0x7F, 0x02, 0xAA, 0x4F, 0x2A, 0xFA, 0xDF, 0xD0, 0x54, 0x39, 0xAA, 0x9B, 0x15, 0x83, 0x42, 0x22, 0x8C, 0xC6, 0x71, 0x1C, 0x39, 0xE4, 0x05, 0x0B, 0x1F, 0x50, 0xA0, 0x0F, 0x94, 0xAA, 0x6E, 0x7C, 0xC8, 0x20 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 38, { 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26 }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x4A, 0xF4, 0x73, 0x3B, 0xC8, 0xB3, 0x2C, 0xC4, 0x48, 0x43, 0x87, 0xD6, 0x36, 0xB2, 0x7E, 0x7A, 0x0D, 0xDB, 0xE4, 0x11, 0x14, 0x10, 0x10, 0x38, 0x74, 0x2B, 0xF6, 0x6B, 0x17, 0x53, 0x7E, 0x90, 0x03, 0xE7, 0x0F, 0xA2, 0x88, 0x4F, 0xCD, 0xA8, 0x12, 0x2E, 0xCD, 0xC1, 0x78, 0x0D, 0x77, 0x6C, 0x49, 0x91, 0x4A, 0xA0, 0x71, 0x15, 0x8F, 0x70, 0x03, 0xC0, 0xF0, 0x61, 0xBD, 0x14, 0x6F, 0xD8, 0xAB }, { 0xBD, 0x75, 0x14, 0x9F, 0xEC, 0xFC, 0xAC, 0x40, 0xB8, 0xC8, 0x56, 0x33, 0x98, 0x30, 0x4F, 0xEE, 0x8F, 0x6D, 0x95, 0x9C, 0x17, 0x3F, 0x0E, 0xAF, 0xE5, 0xD2, 0x62, 0xA5, 0xAF, 0x4B, 0xD1, 0x78 } }, { 0, 0, 2, { 0, 1 }, 1, { 0, 1 }, 0, 1, { 0x03, 0xB5, 0x62, 0x3D, 0xAC, 0x86, 0xC6, 0x14, 0x52, 0x56, 0x8A, 0x33, 0x51, 0xC9, 0xBF, 0x29, 0xE4, 0xB9, 0x68, 0x93, 0x38, 0xD2, 0xA9, 0x6E, 0x09, 0x90, 0x30, 0x6C, 0x9F, 0xFE, 0x6A, 0x64, 0x0A, 0x03, 0x46, 0x72, 0xC9, 0x29, 0xA9, 0x54, 0xE0, 0x4F, 0x10, 0x9C, 0x90, 0xEC, 0x41, 0x57, 0x90, 0xD8, 0x46, 0x3C, 0x8A, 0x43, 0xA8, 0x4A, 0xBE, 0x39, 0xCC, 0x30, 0x2E, 0x07, 0x29, 0x9D, 0x95, 0xE0 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 1, { { 0xE8, 0xF7, 0x91, 0xFF, 0x92, 0x25, 0xA2, 0xAF, 0x01, 0x02, 0xAF, 0xFF, 0x4A, 0x9A, 0x72, 0x3D, 0x96, 0x12, 0xA6, 0x82, 0xA2, 0x5E, 0xBE, 0x79, 0x80, 0x2B, 0x26, 0x3C, 0xDF, 0xCD, 0x83, 0xBB } }, { 1 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x8B, 0x82, 0x90, 0x77, 0x22, 0x95, 0x8F, 0x93, 0x84, 0xB8, 0xD5, 0xFA, 0x3C, 0x29, 0xB3, 0x39, 0x59, 0xC3, 0x0A, 0x77, 0x2A, 0x59, 0x36, 0xF0, 0xF3, 0x6F, 0xB0, 0xE5, 0x22, 0xB7, 0x4E, 0x0C, 0x03, 0x66, 0xBB, 0x9C, 0x37, 0x21, 0xC3, 0xDA, 0xB7, 0xA6, 0x53, 0xC7, 0x71, 0x88, 0x42, 0x5E, 0x23, 0xF7, 0xEF, 0x29, 0xAD, 0xC1, 0x28, 0xFC, 0x23, 0x55, 0xEF, 0xA6, 0xCC, 0x59, 0x1E, 0x91, 0xCF }, { 0x0E, 0x7A, 0xF7, 0xCE, 0x38, 0xCE, 0x61, 0xC9, 0x86, 0x7D, 0xCA, 0xE4, 0x87, 0xDD, 0xAC, 0x3F, 0x7F, 0x51, 0x1B, 0x2B, 0x73, 0x5B, 0xA6, 0x0E, 0x73, 0xD2, 0xFC, 0x08, 0x03, 0x70, 0xEB, 0x19 } }, { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0x95, 0xE6, 0x2D, 0x67, 0xF9, 0x8E, 0xE3, 0xF9, 0x34, 0x9D, 0xDA, 0x8D, 0x39, 0xB6, 0x66, 0x8B, 0xAF, 0x6F, 0x25, 0xE1, 0x95, 0x13, 0x55, 0x70, 0xFE, 0xC4, 0xE1, 0x67, 0x25, 0xFE, 0x0D, 0xCD, 0x02, 0x66, 0x7A, 0x76, 0x3E, 0x41, 0x6A, 0xF3, 0x18, 0xB9, 0x8A, 0x5D, 0x02, 0xED, 0x80, 0xE8, 0x94, 0x48, 0x04, 0x9E, 0xFA, 0x66, 0xFA, 0xE7, 0x3F, 0x6D, 0xAC, 0x30, 0xA9, 0x98, 0xCF, 0x43, 0x99 }, { 0x35, 0xD7, 0xD6, 0xD4, 0x61, 0xBF, 0xE5, 0x9B, 0x10, 0xF5, 0x7C, 0x6F, 0x10, 0x6F, 0x7A, 0xDF, 0xB9, 0xCE, 0x97, 0xC3, 0x7F, 0x02, 0xC0, 0x16, 0x55, 0xA5, 0x53, 0x15, 0x53, 0x8C, 0xD0, 0xCC } }, @@ -713,7 +713,7 @@ static const struct frost_vec_det_sign_case frost_vec_det_sign_valid_cases[37] = { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0 }, 0, { 0 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0x26, 0x8A, 0x19, 0x9C, 0xEA, 0x08, 0xBA, 0x33, 0x53, 0xC0, 0x3D, 0x92, 0xA9, 0xD5, 0x88, 0x96, 0x34, 0xBD, 0x2F, 0xC7, 0x61, 0x40, 0x66, 0xB4, 0x21, 0x93, 0x95, 0x46, 0xD5, 0x11, 0xC8, 0xBA, 0x03, 0xFC, 0x81, 0x89, 0x75, 0x2F, 0xDB, 0x33, 0x4A, 0xAC, 0x10, 0x3C, 0xAC, 0x32, 0x3A, 0x81, 0x10, 0xF9, 0x00, 0xC1, 0x60, 0xA9, 0xDE, 0x58, 0x09, 0xBC, 0xA2, 0x90, 0x01, 0x94, 0x96, 0xBB, 0x55 }, { 0xDE, 0x5A, 0x09, 0xDF, 0x87, 0xC4, 0x7D, 0xB2, 0x05, 0xB5, 0xEF, 0xE1, 0x83, 0xEE, 0xDC, 0x7D, 0x8E, 0x7E, 0x24, 0x06, 0xB3, 0xA6, 0xEE, 0x3E, 0xE8, 0x08, 0x7A, 0x74, 0x28, 0xF8, 0x11, 0xDD } }, { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0 }, 1, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x4C, 0x92, 0x9B, 0x5F, 0xF1, 0xA3, 0x23, 0x12, 0x34, 0x4D, 0xBD, 0xB4, 0xCE, 0x73, 0x1C, 0xB5, 0xF4, 0xBB, 0x59, 0x04, 0xBC, 0x6C, 0x4D, 0xAB, 0x06, 0xEE, 0x62, 0x81, 0x61, 0x86, 0x9F, 0x29, 0x03, 0x85, 0x33, 0x22, 0xC0, 0xE0, 0x4E, 0x74, 0x71, 0xC1, 0x3B, 0xDD, 0x04, 0x3A, 0xD3, 0x79, 0xD0, 0xEF, 0x58, 0x68, 0xF6, 0xD1, 0x59, 0x16, 0xAA, 0x9D, 0x93, 0xAC, 0x84, 0x11, 0xDE, 0xF1, 0x38 }, { 0x92, 0xF0, 0x2A, 0xBF, 0xE9, 0xB0, 0x8A, 0x86, 0xA8, 0x2D, 0x6A, 0xFC, 0x0E, 0x6F, 0x58, 0xE4, 0x12, 0x84, 0xA1, 0xC8, 0x6F, 0x3D, 0x0F, 0x31, 0xCD, 0x05, 0x28, 0x6B, 0x69, 0xEE, 0xD0, 0x04 } }, { 1, 1, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 1, 1, { 0x02, 0xBC, 0x6B, 0x50, 0xC4, 0x47, 0x3E, 0xDA, 0x59, 0x93, 0x39, 0xE7, 0x6D, 0x9F, 0x1E, 0x4A, 0x97, 0x0B, 0xB1, 0x9B, 0x25, 0x1E, 0xAD, 0xE8, 0x38, 0xC6, 0xAD, 0xF9, 0x03, 0x47, 0xC7, 0xA1, 0x45, 0x03, 0x29, 0x43, 0x35, 0x96, 0x23, 0x73, 0xC7, 0x2A, 0x43, 0x3F, 0x05, 0xB4, 0x92, 0x1A, 0x74, 0x31, 0x6D, 0xF9, 0xFE, 0x84, 0x99, 0x9B, 0xEA, 0x55, 0xB2, 0x8E, 0xF4, 0xCD, 0x83, 0x63, 0x8F, 0xC6 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x6E, 0xAB, 0x06, 0x9C, 0x1F, 0x2C, 0x26, 0x4E, 0xF7, 0xF1, 0x5B, 0xD1, 0x42, 0xF8, 0x22, 0xEC, 0x77, 0x6E, 0x86, 0x10, 0x88, 0xD6, 0x47, 0x13, 0x00, 0x7C, 0x03, 0x66, 0xAB, 0xB1, 0xA7, 0x39, 0x03, 0x53, 0x89, 0x66, 0xA3, 0x0A, 0x0A, 0x1A, 0x1C, 0x0E, 0x6E, 0x71, 0x92, 0x98, 0xA4, 0xC2, 0xD5, 0x5F, 0x6E, 0x82, 0xE7, 0x59, 0xAB, 0xC9, 0xDA, 0xFD, 0x65, 0x77, 0x70, 0x6B, 0xFE, 0xA0, 0xF9 }, { 0xDD, 0xC7, 0x85, 0xC9, 0x84, 0x52, 0x3C, 0xB6, 0x07, 0xA8, 0x13, 0x30, 0xCA, 0x0A, 0x67, 0x64, 0xF1, 0xD3, 0x07, 0x55, 0x63, 0xC2, 0xA3, 0x7E, 0xDC, 0xD4, 0x32, 0xAA, 0xBC, 0xBE, 0xBF, 0x51 } }, - { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0, { }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x8E, 0x64, 0x31, 0x2D, 0x0D, 0xD4, 0x73, 0x22, 0xD2, 0x6C, 0x9B, 0x25, 0x4E, 0x76, 0xFB, 0x49, 0x67, 0x20, 0xD5, 0x7C, 0x07, 0x49, 0x3C, 0x5B, 0x43, 0x29, 0xB7, 0x2A, 0x2E, 0x12, 0x8A, 0x7B, 0x02, 0xE6, 0x2E, 0x84, 0x4D, 0x74, 0x2B, 0x01, 0xF4, 0x32, 0xB2, 0x05, 0x54, 0x5C, 0x44, 0x1E, 0xD5, 0x26, 0xF4, 0x33, 0xF2, 0x45, 0xF6, 0x04, 0xBB, 0xC2, 0x91, 0xA9, 0xB8, 0x1F, 0x18, 0x3F, 0x1E }, { 0x3A, 0xDD, 0x02, 0x4F, 0xF6, 0x7D, 0xCB, 0x9B, 0x97, 0x5E, 0x40, 0x5B, 0x39, 0xA6, 0x2E, 0x37, 0xAC, 0x46, 0xEB, 0xB1, 0x86, 0xF3, 0xDE, 0x13, 0x2D, 0xF8, 0xA9, 0x28, 0x7A, 0x25, 0x2C, 0x2B } }, + { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0, { 0 }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x8E, 0x64, 0x31, 0x2D, 0x0D, 0xD4, 0x73, 0x22, 0xD2, 0x6C, 0x9B, 0x25, 0x4E, 0x76, 0xFB, 0x49, 0x67, 0x20, 0xD5, 0x7C, 0x07, 0x49, 0x3C, 0x5B, 0x43, 0x29, 0xB7, 0x2A, 0x2E, 0x12, 0x8A, 0x7B, 0x02, 0xE6, 0x2E, 0x84, 0x4D, 0x74, 0x2B, 0x01, 0xF4, 0x32, 0xB2, 0x05, 0x54, 0x5C, 0x44, 0x1E, 0xD5, 0x26, 0xF4, 0x33, 0xF2, 0x45, 0xF6, 0x04, 0xBB, 0xC2, 0x91, 0xA9, 0xB8, 0x1F, 0x18, 0x3F, 0x1E }, { 0x3A, 0xDD, 0x02, 0x4F, 0xF6, 0x7D, 0xCB, 0x9B, 0x97, 0x5E, 0x40, 0x5B, 0x39, 0xA6, 0x2E, 0x37, 0xAC, 0x46, 0xEB, 0xB1, 0x86, 0xF3, 0xDE, 0x13, 0x2D, 0xF8, 0xA9, 0x28, 0x7A, 0x25, 0x2C, 0x2B } }, { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 38, { 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26 }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0xCC, 0xE5, 0x78, 0xEA, 0xBE, 0xBA, 0x27, 0xAC, 0xF6, 0x08, 0x73, 0xB6, 0xCF, 0x56, 0x6F, 0x45, 0x61, 0x61, 0x43, 0x36, 0xE7, 0x3C, 0x80, 0xCB, 0x83, 0x13, 0xD4, 0x7D, 0xAC, 0x01, 0x22, 0x9F, 0x02, 0x2F, 0x48, 0xD9, 0xE1, 0xA4, 0xF9, 0x27, 0x84, 0x9C, 0x33, 0x61, 0xBD, 0xD2, 0x59, 0x47, 0x50, 0x76, 0xD7, 0xF4, 0xD7, 0x58, 0x29, 0xD9, 0x14, 0x62, 0x5E, 0x05, 0x15, 0xFE, 0xC4, 0xAD, 0xE9 }, { 0x06, 0x71, 0x21, 0xBA, 0x13, 0xB7, 0xBF, 0xA6, 0xC8, 0x92, 0x08, 0x0F, 0x0E, 0xF4, 0x98, 0xDA, 0x12, 0xE9, 0x26, 0x80, 0x62, 0x2E, 0x39, 0xE0, 0xED, 0x15, 0x31, 0xD0, 0x23, 0x96, 0xC6, 0x91 } }, { 1, 0, 1, { 0 }, 1, { 0 }, 0, 0, { 0 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 1, { { 0xE8, 0xF7, 0x91, 0xFF, 0x92, 0x25, 0xA2, 0xAF, 0x01, 0x02, 0xAF, 0xFF, 0x4A, 0x9A, 0x72, 0x3D, 0x96, 0x12, 0xA6, 0x82, 0xA2, 0x5E, 0xBE, 0x79, 0x80, 0x2B, 0x26, 0x3C, 0xDF, 0xCD, 0x83, 0xBB } }, { 1 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0x67, 0x8C, 0xE1, 0x6A, 0xAC, 0x46, 0x53, 0x3D, 0x37, 0x5E, 0xA5, 0xD3, 0xE9, 0xA1, 0x22, 0x0F, 0x76, 0x14, 0x07, 0x4D, 0x34, 0x1E, 0x2D, 0x6D, 0xA3, 0xA5, 0x96, 0x95, 0xD8, 0x7D, 0x85, 0xC9, 0x03, 0x15, 0xE6, 0x22, 0x9E, 0xDA, 0x78, 0x16, 0xAF, 0x02, 0x16, 0x39, 0x57, 0x24, 0x7D, 0x1C, 0xF9, 0x16, 0x1E, 0x2A, 0x97, 0x5E, 0xE0, 0x4E, 0x76, 0xB5, 0x94, 0xC6, 0xEA, 0x45, 0xF3, 0x58, 0xB8 }, { 0x2A, 0xE6, 0x26, 0x80, 0xC6, 0x94, 0xAB, 0x35, 0x07, 0x09, 0x82, 0x68, 0xB7, 0xCB, 0x16, 0xE2, 0x90, 0xFB, 0xB3, 0x51, 0x61, 0x82, 0x6D, 0x99, 0xAB, 0x7A, 0x48, 0x28, 0xAF, 0xFD, 0x3E, 0xC6 } }, { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x03, 0x32, 0xB7, 0xFB, 0xB7, 0xF9, 0xA1, 0x6A, 0xD4, 0x07, 0x3F, 0xF4, 0x82, 0xBF, 0x6F, 0x77, 0xA2, 0x94, 0x30, 0x99, 0xFA, 0x5C, 0x2B, 0x69, 0x1C, 0xA9, 0x00, 0x2C, 0x39, 0xEC, 0x72, 0x49, 0xF3, 0x03, 0x0F, 0xB4, 0xD9, 0xD5, 0xD7, 0x4D, 0x2D, 0xEE, 0xDB, 0xA7, 0x7E, 0xD1, 0xF1, 0x6E, 0xF2, 0x77, 0x76, 0x9A, 0x12, 0xF5, 0x71, 0x17, 0xEA, 0x0A, 0x0B, 0x99, 0x99, 0x05, 0xFB, 0x0A, 0x04, 0x2C }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0xB8, 0x0E, 0xAF, 0xA0, 0x62, 0xC4, 0xF9, 0xC4, 0x7F, 0x36, 0x1E, 0x81, 0x5D, 0x56, 0x95, 0x69, 0xF1, 0x38, 0x0C, 0x87, 0x00, 0x02, 0x13, 0x9C, 0xDE, 0xE0, 0x79, 0x08, 0x06, 0x81, 0xEE, 0x6C, 0x03, 0xED, 0x14, 0xFF, 0x4C, 0x01, 0x48, 0x94, 0xD3, 0x92, 0x52, 0x9D, 0x35, 0xFA, 0xCA, 0x59, 0x94, 0xFB, 0x7D, 0x14, 0x7F, 0xB2, 0x32, 0xF0, 0x5D, 0x67, 0x18, 0x44, 0x98, 0x05, 0x3A, 0xF9, 0xAA }, { 0x89, 0x60, 0x97, 0x3E, 0x7A, 0xB5, 0xF4, 0x57, 0x6A, 0xFF, 0xEB, 0x9C, 0xA9, 0xBE, 0xBA, 0xC2, 0x7D, 0xBC, 0xA4, 0xD3, 0x6D, 0xF0, 0x2F, 0xED, 0x58, 0xA8, 0x77, 0x1B, 0xE5, 0xE0, 0x3A, 0x8A } }, @@ -722,7 +722,7 @@ static const struct frost_vec_det_sign_case frost_vec_det_sign_valid_cases[37] = { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x02, 0x19, 0x86, 0x22, 0x49, 0x1E, 0x3A, 0x09, 0x71, 0xDD, 0xD3, 0xE3, 0x94, 0x2F, 0xF4, 0xCB, 0x87, 0xDD, 0x93, 0xC8, 0x9F, 0x44, 0xE6, 0x4F, 0x2F, 0x8E, 0xC6, 0x7F, 0xEA, 0x87, 0xF7, 0x78, 0x41, 0x03, 0xC7, 0x68, 0x26, 0xC4, 0x34, 0xE8, 0xFD, 0x7F, 0xC9, 0x70, 0x35, 0xA0, 0x2A, 0x48, 0xB6, 0x92, 0x16, 0xE4, 0xC9, 0xB7, 0xB7, 0xD1, 0x2E, 0x5F, 0x61, 0x09, 0x32, 0xD6, 0x84, 0xB9, 0x79, 0x18 }, 0, { 0 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0xCA, 0x9B, 0xF0, 0xAC, 0x6D, 0x0D, 0x53, 0xED, 0x04, 0x62, 0xC4, 0x60, 0xC0, 0x03, 0x9A, 0xD2, 0xD9, 0x11, 0x0E, 0x98, 0x99, 0x36, 0xB0, 0x44, 0x9F, 0xFD, 0x1D, 0x5C, 0xC9, 0x95, 0x1B, 0x34, 0x02, 0x77, 0xD0, 0x2C, 0x43, 0x10, 0x27, 0x0F, 0x0E, 0x8A, 0x88, 0xC1, 0xD4, 0xEC, 0x6A, 0xBF, 0x1B, 0xC3, 0xEC, 0x11, 0x15, 0xA3, 0x18, 0xDE, 0xCD, 0x42, 0xB9, 0xDB, 0x63, 0x38, 0x3A, 0x8D, 0xC0 }, { 0x28, 0xD5, 0xBE, 0x19, 0xCA, 0x1B, 0x86, 0x7F, 0x82, 0xC9, 0xBD, 0x5A, 0x8C, 0x9D, 0x45, 0x31, 0x8A, 0x2D, 0xA9, 0xD8, 0x38, 0x3D, 0xB7, 0x41, 0x0A, 0x00, 0x01, 0x4C, 0x0D, 0x8F, 0x23, 0xB5 } }, { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x03, 0x0E, 0xD1, 0xC8, 0x76, 0xE4, 0xF0, 0x15, 0x33, 0xA8, 0xD4, 0xBA, 0xB5, 0x7F, 0x06, 0x6F, 0x1F, 0x52, 0x46, 0x83, 0xB9, 0x78, 0x0D, 0x41, 0x0D, 0x95, 0x15, 0x6A, 0xA2, 0xFF, 0x33, 0x8C, 0x17, 0x03, 0xD1, 0x22, 0x0C, 0x19, 0x34, 0x3C, 0xD2, 0x6D, 0xAF, 0xC5, 0x3F, 0xA7, 0x0A, 0xD7, 0xF2, 0xD2, 0xFB, 0x9D, 0x09, 0x16, 0xDE, 0x8C, 0xDA, 0xD7, 0x1A, 0x65, 0x38, 0xE6, 0x2E, 0x2D, 0xA7, 0x3C }, 1, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0xF2, 0x40, 0x3F, 0x95, 0xC7, 0xEE, 0x84, 0x2E, 0xFB, 0xF0, 0xF9, 0x7F, 0x9C, 0x10, 0x47, 0x5A, 0xCF, 0x04, 0x05, 0x24, 0xBF, 0xD3, 0x30, 0xA8, 0x14, 0x69, 0x8F, 0xB0, 0x2D, 0xF9, 0x79, 0x9E, 0x03, 0x34, 0x17, 0x0A, 0xB7, 0xD1, 0x47, 0x32, 0xFA, 0x27, 0x15, 0xD8, 0x0F, 0x98, 0x37, 0xC0, 0x65, 0xC9, 0x4C, 0x7D, 0x01, 0xB3, 0xAF, 0x1D, 0x88, 0xAD, 0xBD, 0xF9, 0x77, 0xB8, 0x57, 0xC9, 0x8C }, { 0x29, 0xF1, 0x7E, 0x73, 0x28, 0xBE, 0xF4, 0xF7, 0xF3, 0x84, 0xF8, 0xDC, 0x91, 0x2E, 0x69, 0xB8, 0xD4, 0xC5, 0xED, 0xF8, 0x8B, 0x2F, 0x08, 0x1D, 0x4E, 0x75, 0xA2, 0x73, 0x5E, 0xA1, 0xAA, 0x6A } }, { 2, 1, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 1, 1, { 0x03, 0xD1, 0x44, 0x59, 0xA3, 0x41, 0x1B, 0xAD, 0xB6, 0xC1, 0x4B, 0x48, 0x2B, 0xC1, 0x73, 0xA8, 0xBB, 0xF6, 0x44, 0xAC, 0x62, 0x74, 0xF7, 0x27, 0x04, 0x19, 0xDC, 0x7C, 0x79, 0x67, 0xDD, 0x66, 0xBC, 0x02, 0x54, 0xE1, 0x35, 0x81, 0xA0, 0xCC, 0xB6, 0x52, 0x93, 0xAE, 0x69, 0xB3, 0xC0, 0x70, 0xCC, 0x68, 0xAF, 0x13, 0x37, 0x98, 0x05, 0xCB, 0xDE, 0x72, 0x80, 0x9B, 0xA9, 0xA3, 0x54, 0x68, 0x3C, 0xAE }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0xA1, 0xD0, 0xB9, 0xE8, 0x56, 0x35, 0xBD, 0x87, 0x69, 0x7E, 0xAF, 0x55, 0xDD, 0x31, 0x9F, 0xAC, 0xAE, 0x2E, 0x99, 0x1C, 0x42, 0x33, 0x6E, 0x6B, 0x65, 0x35, 0xFD, 0xC0, 0x93, 0x21, 0x62, 0xB8, 0x02, 0xA9, 0xB3, 0x51, 0x55, 0xA8, 0xE7, 0x7D, 0x0B, 0xCC, 0x8D, 0x5C, 0x47, 0xEC, 0xBC, 0xE3, 0x7A, 0x6D, 0x0C, 0x7B, 0xB5, 0xCF, 0x0B, 0x2D, 0xD7, 0xB1, 0x16, 0x51, 0x21, 0x48, 0xCE, 0xC4, 0x36 }, { 0x6D, 0x86, 0x50, 0xB3, 0x86, 0xC5, 0x53, 0x8B, 0x69, 0x59, 0xD6, 0xB7, 0x4E, 0xAE, 0x4C, 0xDE, 0x2E, 0xDF, 0xA0, 0x77, 0x77, 0x1D, 0x16, 0xD3, 0x7F, 0x20, 0xBE, 0xA6, 0x30, 0x3E, 0xD5, 0xC0 } }, - { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x03, 0xDB, 0xEC, 0x1D, 0xF7, 0x18, 0x05, 0xA7, 0x41, 0xA0, 0x71, 0x00, 0xBE, 0xE7, 0x88, 0x34, 0x4F, 0x00, 0x6E, 0xCB, 0xFD, 0xF4, 0xD6, 0x5E, 0x14, 0xCB, 0x18, 0xA7, 0x36, 0x38, 0xD5, 0x47, 0xF4, 0x03, 0xF1, 0x37, 0x98, 0x06, 0xF1, 0x9A, 0x84, 0xBD, 0x49, 0xBE, 0x1F, 0xB0, 0x2D, 0xB1, 0xEE, 0x7B, 0x14, 0x9F, 0xE2, 0x36, 0x2D, 0x99, 0x0F, 0xAD, 0xCE, 0xA3, 0x14, 0x3A, 0xFB, 0x89, 0xB0, 0xB3 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0, { }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x93, 0x6E, 0xB4, 0x57, 0x47, 0xFE, 0x90, 0x68, 0xDB, 0xC6, 0xD2, 0xD8, 0x6F, 0xBB, 0x97, 0x9D, 0x62, 0x5D, 0x61, 0x7F, 0x20, 0x51, 0x9A, 0x6D, 0xDD, 0x1F, 0xE2, 0x55, 0x91, 0xA4, 0x91, 0xB3, 0x03, 0xDC, 0xE0, 0x86, 0x73, 0x9A, 0x87, 0xDD, 0x04, 0xD9, 0x7B, 0x70, 0x42, 0xDD, 0xDF, 0x21, 0x7F, 0xFE, 0xD3, 0x66, 0x5C, 0x1D, 0x15, 0x17, 0x35, 0xEA, 0x17, 0xB6, 0xA7, 0x80, 0x68, 0xFD, 0x33 }, { 0x60, 0x27, 0x38, 0x82, 0x4E, 0x8F, 0x8F, 0xAF, 0xF9, 0x59, 0xDA, 0xED, 0xF5, 0xC9, 0xF0, 0xD2, 0xC7, 0xD3, 0x0A, 0x0B, 0xB0, 0x0B, 0x48, 0x73, 0x3A, 0xCF, 0xAE, 0x73, 0x9B, 0x5A, 0x35, 0x69 } }, + { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x03, 0xDB, 0xEC, 0x1D, 0xF7, 0x18, 0x05, 0xA7, 0x41, 0xA0, 0x71, 0x00, 0xBE, 0xE7, 0x88, 0x34, 0x4F, 0x00, 0x6E, 0xCB, 0xFD, 0xF4, 0xD6, 0x5E, 0x14, 0xCB, 0x18, 0xA7, 0x36, 0x38, 0xD5, 0x47, 0xF4, 0x03, 0xF1, 0x37, 0x98, 0x06, 0xF1, 0x9A, 0x84, 0xBD, 0x49, 0xBE, 0x1F, 0xB0, 0x2D, 0xB1, 0xEE, 0x7B, 0x14, 0x9F, 0xE2, 0x36, 0x2D, 0x99, 0x0F, 0xAD, 0xCE, 0xA3, 0x14, 0x3A, 0xFB, 0x89, 0xB0, 0xB3 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0, { 0 }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x93, 0x6E, 0xB4, 0x57, 0x47, 0xFE, 0x90, 0x68, 0xDB, 0xC6, 0xD2, 0xD8, 0x6F, 0xBB, 0x97, 0x9D, 0x62, 0x5D, 0x61, 0x7F, 0x20, 0x51, 0x9A, 0x6D, 0xDD, 0x1F, 0xE2, 0x55, 0x91, 0xA4, 0x91, 0xB3, 0x03, 0xDC, 0xE0, 0x86, 0x73, 0x9A, 0x87, 0xDD, 0x04, 0xD9, 0x7B, 0x70, 0x42, 0xDD, 0xDF, 0x21, 0x7F, 0xFE, 0xD3, 0x66, 0x5C, 0x1D, 0x15, 0x17, 0x35, 0xEA, 0x17, 0xB6, 0xA7, 0x80, 0x68, 0xFD, 0x33 }, { 0x60, 0x27, 0x38, 0x82, 0x4E, 0x8F, 0x8F, 0xAF, 0xF9, 0x59, 0xDA, 0xED, 0xF5, 0xC9, 0xF0, 0xD2, 0xC7, 0xD3, 0x0A, 0x0B, 0xB0, 0x0B, 0x48, 0x73, 0x3A, 0xCF, 0xAE, 0x73, 0x9B, 0x5A, 0x35, 0x69 } }, { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x02, 0x3E, 0x91, 0xD8, 0x50, 0x64, 0x87, 0x9A, 0xCA, 0x2E, 0xB0, 0xA1, 0xB1, 0xAC, 0xEE, 0xDA, 0xF5, 0xFF, 0x75, 0xB0, 0x0B, 0xCE, 0x77, 0x55, 0x52, 0xA0, 0x12, 0xDD, 0x3D, 0x53, 0x3A, 0x83, 0x5E, 0x03, 0xA5, 0x66, 0xDD, 0xF1, 0xC7, 0xC6, 0xC9, 0x05, 0x9F, 0x6E, 0xD0, 0x7E, 0x81, 0xC6, 0xF9, 0xE0, 0x74, 0xDB, 0xC5, 0x4E, 0x87, 0x3E, 0x9E, 0xFE, 0x78, 0xDE, 0x15, 0x00, 0xCA, 0xF2, 0xD4, 0x82 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 38, { 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26 }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0x0B, 0xBE, 0x69, 0x91, 0xAF, 0x73, 0x8E, 0x91, 0x11, 0x9B, 0x52, 0x41, 0xB1, 0xBD, 0x00, 0x91, 0x0C, 0xEC, 0x72, 0x3A, 0x05, 0xC9, 0x5F, 0x77, 0x5B, 0x7F, 0x88, 0x7D, 0x67, 0xD2, 0x5F, 0xBD, 0x02, 0xF2, 0x0C, 0x39, 0xB9, 0x3C, 0x39, 0xD2, 0xCC, 0x60, 0x35, 0xC1, 0x6D, 0x9D, 0x1F, 0xA3, 0x8B, 0xCB, 0xC7, 0xB1, 0xB5, 0x28, 0x35, 0x5C, 0x6E, 0x4C, 0xF9, 0x10, 0x94, 0x4E, 0xBD, 0x09, 0xA6 }, { 0x8A, 0x1A, 0xEA, 0x83, 0x1E, 0xF5, 0x28, 0x4D, 0xAA, 0x8A, 0xCF, 0xE5, 0x76, 0xA2, 0xCA, 0x9C, 0x42, 0xC8, 0xD6, 0x60, 0xB4, 0x2F, 0x00, 0x15, 0x17, 0xB9, 0xF2, 0x69, 0x79, 0xAC, 0x46, 0x3C } }, { 2, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x03, 0x32, 0xB7, 0xFB, 0xB7, 0xF9, 0xA1, 0x6A, 0xD4, 0x07, 0x3F, 0xF4, 0x82, 0xBF, 0x6F, 0x77, 0xA2, 0x94, 0x30, 0x99, 0xFA, 0x5C, 0x2B, 0x69, 0x1C, 0xA9, 0x00, 0x2C, 0x39, 0xEC, 0x72, 0x49, 0xF3, 0x03, 0x0F, 0xB4, 0xD9, 0xD5, 0xD7, 0x4D, 0x2D, 0xEE, 0xDB, 0xA7, 0x7E, 0xD1, 0xF1, 0x6E, 0xF2, 0x77, 0x76, 0x9A, 0x12, 0xF5, 0x71, 0x17, 0xEA, 0x0A, 0x0B, 0x99, 0x99, 0x05, 0xFB, 0x0A, 0x04, 0x2C }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 1, { { 0xE8, 0xF7, 0x91, 0xFF, 0x92, 0x25, 0xA2, 0xAF, 0x01, 0x02, 0xAF, 0xFF, 0x4A, 0x9A, 0x72, 0x3D, 0x96, 0x12, 0xA6, 0x82, 0xA2, 0x5E, 0xBE, 0x79, 0x80, 0x2B, 0x26, 0x3C, 0xDF, 0xCD, 0x83, 0xBB } }, { 1 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0xE2, 0xDC, 0x20, 0xE1, 0xBF, 0x88, 0x2B, 0x1B, 0x2E, 0x6A, 0xDC, 0x64, 0x05, 0x71, 0x4F, 0x92, 0x37, 0x81, 0x51, 0xE6, 0x63, 0xF0, 0x19, 0xD8, 0xAE, 0xC4, 0x0B, 0x9E, 0x5E, 0xF4, 0x22, 0xCE, 0x02, 0x60, 0xD4, 0xCE, 0x00, 0xC2, 0xE0, 0xBC, 0x5A, 0xA5, 0x28, 0x2F, 0xC9, 0x74, 0xE8, 0x46, 0x0E, 0x08, 0x15, 0x4A, 0xD7, 0xE9, 0x31, 0x6C, 0xED, 0x83, 0x29, 0x81, 0x56, 0x1F, 0x02, 0x67, 0xC7 }, { 0xE8, 0x94, 0x4B, 0x17, 0xAF, 0x41, 0xFE, 0x22, 0x9D, 0x50, 0x3A, 0x83, 0x29, 0x73, 0x74, 0xA4, 0x30, 0x96, 0xB7, 0x28, 0xE3, 0x7B, 0x64, 0xD2, 0xBA, 0xA1, 0xB8, 0xCE, 0xCA, 0xC4, 0x41, 0xBE } }, { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x02, 0x19, 0xF1, 0x79, 0x47, 0xF4, 0x6D, 0xF4, 0x7F, 0xF6, 0x49, 0x82, 0x66, 0x84, 0x0A, 0x3E, 0xB4, 0xEB, 0x3C, 0x00, 0x08, 0x42, 0xA7, 0x7A, 0xFF, 0x62, 0x91, 0x33, 0x25, 0x56, 0x74, 0xC9, 0x2E, 0x03, 0x44, 0xA4, 0x83, 0xE6, 0x3F, 0x20, 0xFF, 0xD0, 0x37, 0xA3, 0xBC, 0xA5, 0x3A, 0xDF, 0x55, 0x25, 0x49, 0xDF, 0x79, 0xD6, 0x4F, 0x3D, 0xCF, 0x89, 0x59, 0x6B, 0x70, 0x37, 0xB8, 0x56, 0xC1, 0xE4 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0xA1, 0x06, 0x47, 0xD6, 0xB6, 0x1E, 0xF5, 0xCA, 0xF2, 0x7F, 0x4E, 0xC0, 0x71, 0xB1, 0xE7, 0xAC, 0xF4, 0x5E, 0xC2, 0xA5, 0x5F, 0xE6, 0x86, 0xF3, 0x8B, 0x24, 0xFD, 0x7C, 0x36, 0xD5, 0xA2, 0xBF, 0x03, 0x3A, 0xB8, 0x14, 0x15, 0x79, 0x13, 0x49, 0x90, 0x01, 0x87, 0x39, 0x09, 0xDA, 0x78, 0x43, 0xDD, 0xCE, 0xC1, 0x5E, 0x64, 0xDF, 0xE9, 0xC3, 0xAC, 0x90, 0x80, 0xC3, 0x32, 0x21, 0x83, 0x62, 0x4A }, { 0x77, 0xF9, 0x41, 0xBD, 0x5C, 0x99, 0xBC, 0x4D, 0xAA, 0x94, 0x6A, 0x5E, 0x6D, 0x15, 0xA3, 0x9E, 0x99, 0xD2, 0xE1, 0xF1, 0xCF, 0x2F, 0xD4, 0x27, 0xC5, 0x2E, 0xC3, 0x16, 0xD8, 0x7E, 0xB0, 0xC0 } }, @@ -732,7 +732,7 @@ static const struct frost_vec_det_sign_case frost_vec_det_sign_valid_cases[37] = { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x03, 0x70, 0xED, 0xEF, 0xE5, 0xA1, 0x51, 0xF0, 0x30, 0x0A, 0x2D, 0x5B, 0x0D, 0x4D, 0xEB, 0x85, 0x2F, 0xCF, 0xA6, 0xFF, 0x5A, 0x51, 0xC4, 0x9F, 0x2C, 0x16, 0x5C, 0xDC, 0x89, 0x03, 0x9B, 0xAE, 0xA3, 0x02, 0x7E, 0xBD, 0x4C, 0xF5, 0x87, 0x85, 0x4D, 0xFF, 0x6E, 0x7E, 0x54, 0x3A, 0x0F, 0x29, 0x46, 0x10, 0x0E, 0xAF, 0xA0, 0x6B, 0xA7, 0x72, 0x5A, 0x52, 0x74, 0xFB, 0x3F, 0xFF, 0x51, 0xB4, 0x4E, 0x12 }, 0, { 0 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0xD1, 0xD6, 0x4C, 0xCA, 0x49, 0xF6, 0x17, 0x6E, 0x40, 0x04, 0xA6, 0x13, 0xD7, 0x7B, 0xF1, 0x3C, 0xCC, 0x26, 0x9A, 0xCA, 0x13, 0x1C, 0x30, 0x73, 0x1D, 0x6B, 0x57, 0xEC, 0xD1, 0x6C, 0xDC, 0x35, 0x02, 0x59, 0xC6, 0xBB, 0x03, 0xEE, 0x92, 0xFC, 0x0A, 0xC2, 0x96, 0x6F, 0x7C, 0x07, 0x10, 0xA9, 0xF0, 0x80, 0x96, 0x3F, 0x5C, 0x2D, 0x9D, 0x56, 0x56, 0x79, 0x6D, 0x14, 0x25, 0x5E, 0x33, 0xBB, 0xA4 }, { 0x35, 0x01, 0xAC, 0x7C, 0x95, 0xC3, 0x34, 0xA8, 0xAE, 0xE0, 0x7B, 0x27, 0x9E, 0x89, 0x35, 0x79, 0xD1, 0x38, 0xF7, 0x46, 0x19, 0x79, 0x2C, 0xFA, 0x30, 0xAD, 0x8B, 0x3C, 0x88, 0x74, 0x33, 0x5B } }, { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x02, 0xC5, 0x78, 0xDB, 0x2B, 0xCA, 0x42, 0x88, 0xBA, 0xE8, 0xC8, 0x20, 0xEF, 0xCA, 0xB4, 0x4F, 0x1F, 0x71, 0x00, 0x70, 0x60, 0xAE, 0x30, 0xAB, 0x53, 0x62, 0x6B, 0x85, 0x1E, 0x93, 0xEC, 0x4D, 0x3A, 0x03, 0x7C, 0x5F, 0xB4, 0xE1, 0xAE, 0x08, 0xFC, 0xC4, 0x8C, 0xF4, 0xFE, 0x5A, 0x6A, 0x07, 0xD9, 0xBA, 0xFA, 0x45, 0x0A, 0x83, 0x24, 0x27, 0xC4, 0x9E, 0x4A, 0xC0, 0x7F, 0xBA, 0xFE, 0x03, 0x91, 0xCF }, 1, { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x29, 0x0D, 0x3A, 0xBE, 0xE3, 0x82, 0x51, 0x28, 0x60, 0x25, 0xA8, 0x48, 0x1C, 0x0E, 0x10, 0x75, 0xB2, 0xFA, 0x0B, 0x0C, 0xA1, 0xDF, 0xFB, 0x5C, 0xA7, 0xBF, 0x29, 0xB6, 0xE4, 0x97, 0x24, 0x1C, 0x02, 0x0A, 0x86, 0x45, 0x2A, 0xDC, 0x52, 0x03, 0x6A, 0xD0, 0x6D, 0x2E, 0x0C, 0xFB, 0x87, 0x04, 0x99, 0x8C, 0x65, 0xAA, 0x7A, 0xE1, 0x30, 0xEF, 0x79, 0xC9, 0xD2, 0x80, 0x5C, 0x56, 0x6B, 0xC5, 0xFA }, { 0x43, 0x51, 0x57, 0x63, 0x42, 0x82, 0xEB, 0x6B, 0x0B, 0x47, 0x28, 0x5C, 0x53, 0x87, 0xAE, 0x7B, 0x7B, 0xE2, 0x4A, 0xE9, 0xB1, 0x66, 0x20, 0xF8, 0x92, 0x94, 0x6A, 0x4E, 0x57, 0x61, 0xF1, 0x8F } }, { 3, 1, 5, { 0, 1, 2, 3, 4 }, 1, { 0, 1, 2, 3, 4 }, 1, 1, { 0x03, 0x1B, 0x21, 0x16, 0x86, 0x2A, 0x49, 0x07, 0x40, 0xD7, 0x08, 0x2F, 0x47, 0x7A, 0x81, 0xEC, 0x24, 0x10, 0xA6, 0x8C, 0x39, 0xBF, 0xBD, 0x38, 0xB5, 0x09, 0x78, 0xC8, 0x0E, 0x4A, 0x2B, 0xFD, 0x28, 0x02, 0xA7, 0x69, 0xA1, 0xEF, 0x6E, 0xC7, 0x29, 0x5F, 0x19, 0x04, 0x0B, 0xF0, 0x19, 0x3B, 0xD2, 0x16, 0x92, 0x97, 0x72, 0x15, 0xC9, 0xB9, 0x33, 0x2D, 0x18, 0xAD, 0x81, 0x52, 0x05, 0xEE, 0x48, 0x3D }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0x35, 0x1B, 0xDA, 0x5B, 0xEE, 0xC2, 0x31, 0xE0, 0x94, 0x83, 0x23, 0x7F, 0x67, 0xD7, 0xEA, 0xBC, 0x00, 0x6E, 0x3C, 0x38, 0x6B, 0x6B, 0xF8, 0x30, 0x39, 0x51, 0xEA, 0x14, 0x04, 0x5E, 0x2A, 0xDF, 0x03, 0x0E, 0x49, 0xF3, 0x6C, 0x12, 0xA2, 0x46, 0x7E, 0xE7, 0x77, 0xBF, 0x76, 0xD3, 0xEE, 0xFB, 0xE5, 0x3F, 0xAB, 0x39, 0x9F, 0x0F, 0x5E, 0xB0, 0x8B, 0x9B, 0x89, 0xBD, 0x20, 0xB3, 0x58, 0x62, 0x48 }, { 0xB1, 0x17, 0x2B, 0x0B, 0x6A, 0x77, 0x65, 0x14, 0xBF, 0x08, 0xCA, 0x26, 0xBA, 0x5A, 0xB5, 0xBD, 0x77, 0x7D, 0x75, 0xEC, 0xED, 0x0F, 0x71, 0x11, 0xB4, 0x3B, 0x37, 0x49, 0x97, 0x5E, 0xD2, 0x30 } }, - { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x02, 0x4C, 0x00, 0xC3, 0x26, 0xA1, 0x9D, 0x4F, 0xD3, 0x50, 0xBD, 0xA2, 0x21, 0x5C, 0x61, 0x06, 0xEA, 0x7F, 0x6E, 0xDB, 0xED, 0x39, 0xFA, 0xCA, 0x84, 0x3D, 0x63, 0xBA, 0x08, 0x18, 0xC2, 0x9B, 0xC1, 0x02, 0xF6, 0x08, 0x01, 0xC2, 0xF5, 0x3C, 0xAA, 0x17, 0xA3, 0x17, 0x88, 0x27, 0xBF, 0xE5, 0x42, 0x27, 0x91, 0x05, 0x48, 0xC5, 0x76, 0x3F, 0x41, 0x28, 0xAC, 0xE9, 0x8B, 0x35, 0xF5, 0xDB, 0x92, 0x0E }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0, { }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0xC5, 0x3E, 0xF9, 0x4A, 0x81, 0xC7, 0x40, 0x95, 0x99, 0x54, 0xBA, 0x92, 0x11, 0x26, 0x38, 0xEA, 0x9F, 0x2F, 0xAA, 0x82, 0xA5, 0x21, 0x41, 0x24, 0x62, 0x75, 0xEF, 0x91, 0xEC, 0x6C, 0x6B, 0xFB, 0x02, 0x07, 0xB2, 0x51, 0xCE, 0xB4, 0x04, 0x5F, 0xBB, 0xBF, 0x6D, 0x64, 0xA8, 0x5A, 0x06, 0xFD, 0xB9, 0xDE, 0x2B, 0x79, 0xF9, 0x59, 0x9E, 0x4E, 0x1C, 0xA9, 0x61, 0x73, 0x79, 0x71, 0x3A, 0x5E, 0xBA }, { 0x87, 0x38, 0xB6, 0x1B, 0x41, 0xAB, 0x6D, 0x99, 0xDF, 0x70, 0x44, 0x9E, 0x77, 0x34, 0x87, 0xF4, 0x99, 0x29, 0x41, 0x9C, 0xAC, 0x6D, 0x98, 0x24, 0x19, 0x8E, 0x6D, 0xBB, 0xE9, 0x10, 0x5A, 0x6D } }, + { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x02, 0x4C, 0x00, 0xC3, 0x26, 0xA1, 0x9D, 0x4F, 0xD3, 0x50, 0xBD, 0xA2, 0x21, 0x5C, 0x61, 0x06, 0xEA, 0x7F, 0x6E, 0xDB, 0xED, 0x39, 0xFA, 0xCA, 0x84, 0x3D, 0x63, 0xBA, 0x08, 0x18, 0xC2, 0x9B, 0xC1, 0x02, 0xF6, 0x08, 0x01, 0xC2, 0xF5, 0x3C, 0xAA, 0x17, 0xA3, 0x17, 0x88, 0x27, 0xBF, 0xE5, 0x42, 0x27, 0x91, 0x05, 0x48, 0xC5, 0x76, 0x3F, 0x41, 0x28, 0xAC, 0xE9, 0x8B, 0x35, 0xF5, 0xDB, 0x92, 0x0E }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0, { 0 }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0xC5, 0x3E, 0xF9, 0x4A, 0x81, 0xC7, 0x40, 0x95, 0x99, 0x54, 0xBA, 0x92, 0x11, 0x26, 0x38, 0xEA, 0x9F, 0x2F, 0xAA, 0x82, 0xA5, 0x21, 0x41, 0x24, 0x62, 0x75, 0xEF, 0x91, 0xEC, 0x6C, 0x6B, 0xFB, 0x02, 0x07, 0xB2, 0x51, 0xCE, 0xB4, 0x04, 0x5F, 0xBB, 0xBF, 0x6D, 0x64, 0xA8, 0x5A, 0x06, 0xFD, 0xB9, 0xDE, 0x2B, 0x79, 0xF9, 0x59, 0x9E, 0x4E, 0x1C, 0xA9, 0x61, 0x73, 0x79, 0x71, 0x3A, 0x5E, 0xBA }, { 0x87, 0x38, 0xB6, 0x1B, 0x41, 0xAB, 0x6D, 0x99, 0xDF, 0x70, 0x44, 0x9E, 0x77, 0x34, 0x87, 0xF4, 0x99, 0x29, 0x41, 0x9C, 0xAC, 0x6D, 0x98, 0x24, 0x19, 0x8E, 0x6D, 0xBB, 0xE9, 0x10, 0x5A, 0x6D } }, { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x03, 0x95, 0x09, 0xDF, 0xFF, 0x34, 0xC4, 0x53, 0x69, 0x58, 0x55, 0x73, 0x01, 0xE5, 0x0B, 0xA8, 0xF4, 0x6E, 0xEA, 0x1C, 0xC9, 0xC3, 0xAF, 0x05, 0x43, 0xF7, 0x48, 0xF2, 0x28, 0x76, 0x66, 0xF0, 0xF4, 0x03, 0x86, 0x59, 0xDC, 0x10, 0x74, 0x36, 0xBD, 0x5C, 0xAC, 0xC6, 0x01, 0x9D, 0xE0, 0xDD, 0xB6, 0xFA, 0xA1, 0x76, 0x2D, 0x9A, 0xC0, 0x1A, 0x0A, 0x8C, 0xE7, 0x92, 0xED, 0xB5, 0xA1, 0x7C, 0x4C, 0xE0 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 38, { 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x26 }, 0, { { 0 } }, { 0 }, FROST_VEC_ERR_NONE, -1, { 0x02, 0x98, 0xA8, 0x25, 0x47, 0x93, 0x99, 0x6B, 0x39, 0x88, 0x03, 0x89, 0xEA, 0xC2, 0x1A, 0x24, 0xE6, 0x98, 0xBD, 0x5F, 0x72, 0x3E, 0x83, 0x85, 0x7E, 0xB8, 0x92, 0x6D, 0xFF, 0xF2, 0x2B, 0x10, 0xA9, 0x02, 0x4B, 0x32, 0xBC, 0x14, 0xA4, 0x8B, 0x2E, 0x7B, 0x2C, 0xDE, 0xBA, 0x20, 0x7C, 0x77, 0xE3, 0x4E, 0xC8, 0xEB, 0x39, 0x4C, 0x34, 0xD1, 0xF9, 0x64, 0x08, 0x13, 0x59, 0x6F, 0xB5, 0xF9, 0x96, 0x1A }, { 0x46, 0x97, 0x66, 0x42, 0x16, 0x1A, 0xD5, 0x52, 0x23, 0xAB, 0x36, 0xBF, 0x70, 0x60, 0xE2, 0x14, 0xCA, 0x3F, 0x75, 0x9A, 0xC1, 0xC4, 0xAE, 0x63, 0xA0, 0x25, 0xC9, 0x50, 0xD0, 0x48, 0xD4, 0x09 } }, { 3, 0, 3, { 0, 1, 2 }, 1, { 0, 1, 2 }, 0, 1, { 0x02, 0x19, 0xF1, 0x79, 0x47, 0xF4, 0x6D, 0xF4, 0x7F, 0xF6, 0x49, 0x82, 0x66, 0x84, 0x0A, 0x3E, 0xB4, 0xEB, 0x3C, 0x00, 0x08, 0x42, 0xA7, 0x7A, 0xFF, 0x62, 0x91, 0x33, 0x25, 0x56, 0x74, 0xC9, 0x2E, 0x03, 0x44, 0xA4, 0x83, 0xE6, 0x3F, 0x20, 0xFF, 0xD0, 0x37, 0xA3, 0xBC, 0xA5, 0x3A, 0xDF, 0x55, 0x25, 0x49, 0xDF, 0x79, 0xD6, 0x4F, 0x3D, 0xCF, 0x89, 0x59, 0x6B, 0x70, 0x37, 0xB8, 0x56, 0xC1, 0xE4 }, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 32, { 0xF9, 0x54, 0x66, 0xD0, 0x86, 0x77, 0x0E, 0x68, 0x99, 0x64, 0x66, 0x42, 0x19, 0x26, 0x6F, 0xE5, 0xED, 0x21, 0x5C, 0x92, 0xAE, 0x20, 0xBA, 0xB5, 0xC9, 0xD7, 0x9A, 0xDD, 0xDD, 0xF3, 0xC0, 0xCF }, 1, { { 0xE8, 0xF7, 0x91, 0xFF, 0x92, 0x25, 0xA2, 0xAF, 0x01, 0x02, 0xAF, 0xFF, 0x4A, 0x9A, 0x72, 0x3D, 0x96, 0x12, 0xA6, 0x82, 0xA2, 0x5E, 0xBE, 0x79, 0x80, 0x2B, 0x26, 0x3C, 0xDF, 0xCD, 0x83, 0xBB } }, { 1 }, FROST_VEC_ERR_NONE, -1, { 0x03, 0x10, 0xB1, 0x4C, 0xBD, 0xD8, 0xE9, 0x31, 0x94, 0x42, 0xC2, 0x39, 0x35, 0x3A, 0xC2, 0x4A, 0xD6, 0x98, 0xC6, 0x02, 0x88, 0x87, 0x9A, 0xDA, 0xD3, 0x57, 0xBF, 0x4A, 0xCD, 0x4A, 0x7C, 0x8D, 0xB7, 0x02, 0x90, 0xD0, 0x19, 0x9D, 0x6C, 0x7B, 0xA8, 0xA3, 0xD7, 0x24, 0x62, 0xD9, 0xAA, 0xB7, 0x01, 0x50, 0xBE, 0x92, 0xE5, 0x4F, 0xD0, 0x31, 0xED, 0xE2, 0x11, 0x67, 0x25, 0x94, 0x4C, 0x1C, 0x07, 0xB7 }, { 0xA3, 0x5B, 0x8A, 0x18, 0x3F, 0xA7, 0x09, 0xA8, 0x74, 0xD5, 0xC0, 0x90, 0x60, 0x0A, 0xF1, 0xE8, 0x6F, 0xF6, 0x92, 0x5C, 0x13, 0x94, 0x1B, 0xF0, 0xC0, 0x71, 0x01, 0x3E, 0xAA, 0x52, 0x77, 0xF9 } }, }; diff --git a/tools/test_vectors_frost_generate.py b/tools/test_vectors_frost_generate.py index 10bbd499..bc00743a 100644 --- a/tools/test_vectors_frost_generate.py +++ b/tools/test_vectors_frost_generate.py @@ -19,7 +19,10 @@ skipped_cases = [] def hexstr_to_intarray(str): - return ", ".join([f"0x{b:02X}" for b in bytes.fromhex(str)]) + # Always emitted inside brace initializers. C90 forbids empty initializer + # braces, so an empty byte string becomes "{ 0 }". The associated length + # field is 0, so the padding byte is never read. + return ", ".join([f"0x{b:02X}" for b in bytes.fromhex(str)]) or "0" def indent(s, level=1): @@ -173,7 +176,7 @@ enum frost_vec_error { FROST_VEC_ERR_DET_SIGN, /* The aggothernonce is rejected: frost_aggnonce_parse or * frost_deterministic_sign returns 0. */ - FROST_VEC_ERR_AGGOTHERNONCE, + FROST_VEC_ERR_AGGOTHERNONCE }; """ @@ -313,7 +316,9 @@ struct frost_vec_group { def init_group(group): def counted(key): values = group.get(key, []) - inner = "" + # C90 forbids empty initializer braces; an empty group emits "{ { 0 } }" + # and its count field is 0, so the padding entry is never read. + inner = " { 0 } " if values: inner = "\n" + indent(",\n".join(byte_array(x) for x in values), 1) + "\n" return "%d, {%s}" % (len(values), inner)