Home | History | Annotate | Line # | Download | only in fips
      1      1.1  christos /*
      2      1.1  christos  * Copyright 2019-2025 The OpenSSL Project Authors. All Rights Reserved.
      3      1.1  christos  *
      4      1.1  christos  * Licensed under the Apache License 2.0 (the "License").  You may not use
      5      1.1  christos  * this file except in compliance with the License.  You can obtain a copy
      6      1.1  christos  * in the file LICENSE in the source distribution or at
      7      1.1  christos  * https://www.openssl.org/source/license.html
      8      1.1  christos  */
      9      1.1  christos 
     10      1.1  christos /*
     11      1.1  christos  * This file contains self test data required by FIPS 140-3 IG
     12      1.1  christos  * 10.3.A Cryptographic Algorithm Self test Requirements
     13      1.1  christos  *
     14      1.1  christos  * Note that in the 'General CAST requirements': Note33 Allows individual
     15      1.1  christos  * self tests for low level algorithms (such as digests) to be omitted, if
     16      1.1  christos  * they are tested as part of a higher level algorithm (such as HMAC).
     17      1.1  christos  */
     18      1.1  christos 
     19      1.1  christos /* Macros to build Self test data */
     20      1.1  christos #define ITM(x) ((void *)&x), sizeof(x)
     21      1.1  christos #define ITM_STR(x) ((void *)&x), (sizeof(x) - 1)
     22      1.1  christos 
     23      1.1  christos #define ST_KAT_PARAM_END() { "", 0, NULL, 0 }
     24      1.1  christos #define ST_KAT_PARAM_BIGNUM(name, data)                                        \
     25      1.1  christos     { name, OSSL_PARAM_UNSIGNED_INTEGER, ITM(data) }
     26      1.1  christos #define ST_KAT_PARAM_OCTET(name, data)                                         \
     27      1.1  christos     { name, OSSL_PARAM_OCTET_STRING, ITM(data) }
     28      1.1  christos #define ST_KAT_PARAM_UTF8STRING(name, data)                                    \
     29      1.1  christos     { name, OSSL_PARAM_UTF8_STRING, ITM_STR(data) }
     30      1.1  christos #define ST_KAT_PARAM_UTF8CHAR(name, data)                                      \
     31      1.1  christos     { name, OSSL_PARAM_UTF8_STRING, ITM(data) }
     32      1.1  christos #define ST_KAT_PARAM_INT(name, i)                                              \
     33      1.1  christos     { name, OSSL_PARAM_INTEGER, ITM(i) }
     34      1.1  christos 
     35      1.1  christos /* used to store raw parameters for keys and algorithms */
     36      1.1  christos typedef struct st_kat_param_st {
     37      1.1  christos     const char *name;  /* an OSSL_PARAM name */
     38      1.1  christos     size_t type;       /* the type associated with the data */
     39      1.1  christos     const void *data;  /* unsigned char [], or char [] depending on the type */
     40      1.1  christos     size_t data_len;   /* the length of the data */
     41      1.1  christos } ST_KAT_PARAM;
     42      1.1  christos 
     43      1.1  christos typedef struct st_kat_st {
     44      1.1  christos     const char *desc;
     45      1.1  christos     const char *algorithm;
     46      1.1  christos     const unsigned char *pt;
     47      1.1  christos     size_t pt_len;
     48      1.1  christos     const unsigned char *expected;
     49      1.1  christos     size_t expected_len;
     50      1.1  christos } ST_KAT;
     51      1.1  christos 
     52      1.1  christos #define CIPHER_MODE_ENCRYPT 1
     53      1.1  christos #define CIPHER_MODE_DECRYPT 2
     54      1.1  christos #define CIPHER_MODE_ALL     (CIPHER_MODE_ENCRYPT | CIPHER_MODE_DECRYPT)
     55      1.1  christos 
     56      1.1  christos /* FIPS 140-3 only allows DSA verification for legacy purposes */
     57      1.1  christos #define SIGNATURE_MODE_VERIFY_ONLY  1
     58      1.1  christos #define SIGNATURE_MODE_SIGN_ONLY    2
     59      1.1  christos #define SIGNATURE_MODE_DIGESTED     4
     60      1.1  christos #define SIGNATURE_MODE_SIG_DIGESTED 8
     61      1.1  christos 
     62      1.1  christos typedef ST_KAT ST_KAT_DIGEST;
     63      1.1  christos typedef struct st_kat_cipher_st {
     64      1.1  christos     ST_KAT base;
     65      1.1  christos     int mode;
     66      1.1  christos     const unsigned char *key;
     67      1.1  christos     size_t key_len;
     68      1.1  christos     const unsigned char *iv;
     69      1.1  christos     size_t iv_len;
     70      1.1  christos     const unsigned char *aad;
     71      1.1  christos     size_t aad_len;
     72      1.1  christos     const unsigned char *tag;
     73      1.1  christos     size_t tag_len;
     74      1.1  christos } ST_KAT_CIPHER;
     75      1.1  christos 
     76      1.1  christos typedef struct st_kat_kdf_st {
     77      1.1  christos     const char *desc;
     78      1.1  christos     const char *algorithm;
     79      1.1  christos     const ST_KAT_PARAM *params;
     80      1.1  christos     const unsigned char *expected;
     81      1.1  christos     size_t expected_len;
     82      1.1  christos } ST_KAT_KDF;
     83      1.1  christos 
     84      1.1  christos typedef struct st_kat_drbg_st {
     85      1.1  christos     const char *desc;
     86      1.1  christos     const char *algorithm;
     87      1.1  christos     const char *param_name;
     88      1.1  christos     char *param_value;
     89      1.1  christos     const unsigned char *entropyin;
     90      1.1  christos     size_t entropyinlen;
     91      1.1  christos     const unsigned char *nonce;
     92      1.1  christos     size_t noncelen;
     93      1.1  christos     const unsigned char *persstr;
     94      1.1  christos     size_t persstrlen;
     95      1.1  christos     const unsigned char *entropyinpr1;
     96      1.1  christos     size_t entropyinpr1len;
     97      1.1  christos     const unsigned char *entropyinpr2;
     98      1.1  christos     size_t entropyinpr2len;
     99      1.1  christos     const unsigned char *entropyaddin1;
    100      1.1  christos     size_t entropyaddin1len;
    101      1.1  christos     const unsigned char *entropyaddin2;
    102      1.1  christos     size_t entropyaddin2len;
    103      1.1  christos     const unsigned char *expected;
    104      1.1  christos     size_t expectedlen;
    105      1.1  christos } ST_KAT_DRBG;
    106      1.1  christos 
    107      1.1  christos typedef struct st_kat_kas_st {
    108      1.1  christos     const char *desc;
    109      1.1  christos     const char *algorithm;
    110      1.1  christos 
    111      1.1  christos     const ST_KAT_PARAM *key_group;
    112      1.1  christos     const ST_KAT_PARAM *key_host_data;
    113      1.1  christos     const ST_KAT_PARAM *key_peer_data;
    114      1.1  christos 
    115      1.1  christos     const unsigned char *expected;
    116      1.1  christos     size_t expected_len;
    117      1.1  christos } ST_KAT_KAS;
    118      1.1  christos 
    119      1.1  christos typedef struct st_kat_sign_st {
    120      1.1  christos     const char *desc;
    121      1.1  christos     const char *keytype;
    122      1.1  christos     const char *sigalgorithm;
    123      1.1  christos     int mode;
    124      1.1  christos     const ST_KAT_PARAM *key;
    125      1.1  christos     const unsigned char *msg;
    126      1.1  christos     size_t msg_len;
    127      1.1  christos     const unsigned char *entropy;
    128      1.1  christos     size_t entropy_len;
    129      1.1  christos     const unsigned char *nonce;
    130      1.1  christos     size_t nonce_len;
    131      1.1  christos     const unsigned char *persstr;
    132      1.1  christos     size_t persstr_len;
    133      1.1  christos     const unsigned char *sig_expected; /* Set to NULL if this value changes */
    134      1.1  christos     size_t sig_expected_len;
    135      1.1  christos     const ST_KAT_PARAM *init;
    136      1.1  christos     const ST_KAT_PARAM *verify;
    137      1.1  christos } ST_KAT_SIGN;
    138      1.1  christos 
    139      1.1  christos typedef struct st_kat_asym_cipher_st {
    140      1.1  christos     const char *desc;
    141      1.1  christos     const char *algorithm;
    142      1.1  christos     int encrypt;
    143      1.1  christos     const ST_KAT_PARAM *key;
    144      1.1  christos     const ST_KAT_PARAM *postinit;
    145      1.1  christos     const unsigned char *in;
    146      1.1  christos     size_t in_len;
    147      1.1  christos     const unsigned char *expected;
    148      1.1  christos     size_t expected_len;
    149      1.1  christos } ST_KAT_ASYM_CIPHER;
    150      1.1  christos 
    151      1.1  christos typedef struct st_kat_keygen_st {
    152      1.1  christos     const char *desc;
    153      1.1  christos     const char *algorithm;
    154      1.1  christos     const ST_KAT_PARAM *keygen_params;
    155      1.1  christos     const ST_KAT_PARAM *expected_params;
    156      1.1  christos } ST_KAT_ASYM_KEYGEN;
    157      1.1  christos 
    158      1.1  christos typedef struct st_kat_kem_st {
    159      1.1  christos     const char *desc;
    160      1.1  christos     const char *algorithm;
    161      1.1  christos     const ST_KAT_PARAM *key;
    162      1.1  christos     const unsigned char *cipher_text;
    163      1.1  christos     size_t cipher_text_len;
    164      1.1  christos     const unsigned char *entropy;
    165      1.1  christos     size_t entropy_len;
    166      1.1  christos     const unsigned char *secret;
    167      1.1  christos     size_t secret_len;
    168      1.1  christos     const unsigned char *reject_secret;
    169      1.1  christos } ST_KAT_KEM;
    170      1.1  christos 
    171      1.1  christos /*- DIGEST SELF TEST DATA */
    172  1.1.1.2  christos static const unsigned char sha1_pt[] = "abc";
    173  1.1.1.2  christos static const unsigned char sha1_digest[] = {
    174  1.1.1.2  christos     0xA9, 0x99, 0x3E, 0x36, 0x47, 0x06, 0x81, 0x6A,
    175  1.1.1.2  christos     0xBA, 0x3E, 0x25, 0x71, 0x78, 0x50, 0xC2, 0x6C,
    176  1.1.1.2  christos     0x9C, 0xD0, 0xD8, 0x9D
    177  1.1.1.2  christos };
    178      1.1  christos static const unsigned char sha512_pt[] = "abc";
    179      1.1  christos static const unsigned char sha512_digest[] = {
    180      1.1  christos     0xDD, 0xAF, 0x35, 0xA1, 0x93, 0x61, 0x7A, 0xBA, 0xCC, 0x41, 0x73, 0x49,
    181      1.1  christos     0xAE, 0x20, 0x41, 0x31, 0x12, 0xE6, 0xFA, 0x4E, 0x89, 0xA9, 0x7E, 0xA2,
    182      1.1  christos     0x0A, 0x9E, 0xEE, 0xE6, 0x4B, 0x55, 0xD3, 0x9A, 0x21, 0x92, 0x99, 0x2A,
    183      1.1  christos     0x27, 0x4F, 0xC1, 0xA8, 0x36, 0xBA, 0x3C, 0x23, 0xA3, 0xFE, 0xEB, 0xBD,
    184      1.1  christos     0x45, 0x4D, 0x44, 0x23, 0x64, 0x3C, 0xE8, 0x0E, 0x2A, 0x9A, 0xC9, 0x4F,
    185      1.1  christos     0xA5, 0x4C, 0xA4, 0x9F
    186      1.1  christos };
    187      1.1  christos static const unsigned char sha3_256_pt[] = { 0xe7, 0x37, 0x21, 0x05 };
    188      1.1  christos static const unsigned char sha3_256_digest[] = {
    189      1.1  christos     0x3a, 0x42, 0xb6, 0x8a, 0xb0, 0x79, 0xf2, 0x8c, 0x4c, 0xa3, 0xc7, 0x52,
    190      1.1  christos     0x29, 0x6f, 0x27, 0x90, 0x06, 0xc4, 0xfe, 0x78, 0xb1, 0xeb, 0x79, 0xd9,
    191      1.1  christos     0x89, 0x77, 0x7f, 0x05, 0x1e, 0x40, 0x46, 0xae
    192      1.1  christos };
    193      1.1  christos 
    194      1.1  christos /*
    195      1.1  christos  * Note:
    196  1.1.1.2  christos  *  SHA256 is tested by higher level algorithms so a
    197      1.1  christos  *  CAST is not needed.
    198      1.1  christos  */
    199      1.1  christos static const ST_KAT_DIGEST st_kat_digest_tests[] =
    200      1.1  christos {
    201      1.1  christos     {
    202  1.1.1.2  christos          OSSL_SELF_TEST_DESC_MD_SHA1,
    203  1.1.1.2  christos          "SHA1",
    204  1.1.1.2  christos          ITM_STR(sha1_pt),
    205  1.1.1.2  christos          ITM(sha1_digest),
    206  1.1.1.2  christos     },
    207  1.1.1.2  christos     {
    208      1.1  christos          OSSL_SELF_TEST_DESC_MD_SHA2,
    209      1.1  christos          "SHA512",
    210      1.1  christos          ITM_STR(sha512_pt),
    211      1.1  christos          ITM(sha512_digest),
    212      1.1  christos     },
    213      1.1  christos     {
    214      1.1  christos          OSSL_SELF_TEST_DESC_MD_SHA3,
    215      1.1  christos          "SHA3-256",
    216      1.1  christos          ITM(sha3_256_pt),
    217      1.1  christos          ITM(sha3_256_digest),
    218      1.1  christos     },
    219      1.1  christos };
    220      1.1  christos 
    221      1.1  christos /*- CIPHER TEST DATA */
    222      1.1  christos 
    223      1.1  christos /* AES-256 GCM test data */
    224      1.1  christos static const unsigned char aes_256_gcm_key[] = {
    225      1.1  christos     0x92, 0xe1, 0x1d, 0xcd, 0xaa, 0x86, 0x6f, 0x5c,
    226      1.1  christos     0xe7, 0x90, 0xfd, 0x24, 0x50, 0x1f, 0x92, 0x50,
    227      1.1  christos     0x9a, 0xac, 0xf4, 0xcb, 0x8b, 0x13, 0x39, 0xd5,
    228      1.1  christos     0x0c, 0x9c, 0x12, 0x40, 0x93, 0x5d, 0xd0, 0x8b
    229      1.1  christos };
    230      1.1  christos static const unsigned char aes_256_gcm_iv[] = {
    231      1.1  christos     0xac, 0x93, 0xa1, 0xa6, 0x14, 0x52, 0x99, 0xbd,
    232      1.1  christos     0xe9, 0x02, 0xf2, 0x1a
    233      1.1  christos };
    234      1.1  christos static const unsigned char aes_256_gcm_pt[] = {
    235      1.1  christos     0x2d, 0x71, 0xbc, 0xfa, 0x91, 0x4e, 0x4a, 0xc0,
    236      1.1  christos     0x45, 0xb2, 0xaa, 0x60, 0x95, 0x5f, 0xad, 0x24
    237      1.1  christos };
    238      1.1  christos static const unsigned char aes_256_gcm_aad[] = {
    239      1.1  christos     0x1e, 0x08, 0x89, 0x01, 0x6f, 0x67, 0x60, 0x1c,
    240      1.1  christos     0x8e, 0xbe, 0xa4, 0x94, 0x3b, 0xc2, 0x3a, 0xd6
    241      1.1  christos };
    242      1.1  christos static const unsigned char aes_256_gcm_ct[] = {
    243      1.1  christos     0x89, 0x95, 0xae, 0x2e, 0x6d, 0xf3, 0xdb, 0xf9,
    244      1.1  christos     0x6f, 0xac, 0x7b, 0x71, 0x37, 0xba, 0xe6, 0x7f
    245      1.1  christos };
    246      1.1  christos static const unsigned char aes_256_gcm_tag[] = {
    247      1.1  christos     0xec, 0xa5, 0xaa, 0x77, 0xd5, 0x1d, 0x4a, 0x0a,
    248      1.1  christos     0x14, 0xd9, 0xc5, 0x1e, 0x1d, 0xa4, 0x74, 0xab
    249      1.1  christos };
    250      1.1  christos 
    251      1.1  christos /* AES-ECB test data */
    252      1.1  christos static const unsigned char aes_128_ecb_key[] = {
    253      1.1  christos     0x10, 0xa5, 0x88, 0x69, 0xd7, 0x4b, 0xe5, 0xa3,
    254      1.1  christos     0x74, 0xcf, 0x86, 0x7c, 0xfb, 0x47, 0x38, 0x59
    255      1.1  christos };
    256      1.1  christos static const unsigned char aes_128_ecb_pt[] = {
    257      1.1  christos     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    258      1.1  christos     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    259      1.1  christos };
    260      1.1  christos static const unsigned char aes_128_ecb_ct[] = {
    261      1.1  christos     0x6d, 0x25, 0x1e, 0x69, 0x44, 0xb0, 0x51, 0xe0,
    262      1.1  christos     0x4e, 0xaa, 0x6f, 0xb4, 0xdb, 0xf7, 0x84, 0x65
    263      1.1  christos };
    264      1.1  christos 
    265      1.1  christos #ifndef OPENSSL_NO_DES
    266      1.1  christos /*
    267      1.1  christos  * TDES-ECB test data from
    268      1.1  christos  * https://github.com/usnistgov/ACVP-Server/blob/master/gen-val/json-files/ACVP-TDES-ECB-1.0
    269      1.1  christos  * Decrypt
    270      1.1  christos  */
    271      1.1  christos static const unsigned char tdes_key[] = {
    272      1.1  christos     0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
    273      1.1  christos     0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07,
    274      1.1  christos     0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE
    275      1.1  christos };
    276      1.1  christos static const unsigned char tdes_ct[] = {
    277      1.1  christos     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01
    278      1.1  christos };
    279      1.1  christos static const unsigned char tdes_pt[] = {
    280      1.1  christos     0x4B, 0xAB, 0x3B, 0xE1, 0x50, 0x2E, 0x3B, 0x36
    281      1.1  christos };
    282      1.1  christos #endif
    283      1.1  christos 
    284      1.1  christos static const ST_KAT_CIPHER st_kat_cipher_tests[] = {
    285      1.1  christos     {
    286      1.1  christos         {
    287      1.1  christos             OSSL_SELF_TEST_DESC_CIPHER_AES_GCM,
    288      1.1  christos             "AES-256-GCM",
    289      1.1  christos             ITM(aes_256_gcm_pt),
    290      1.1  christos             ITM(aes_256_gcm_ct)
    291      1.1  christos         },
    292      1.1  christos         CIPHER_MODE_ENCRYPT | CIPHER_MODE_DECRYPT,
    293      1.1  christos         ITM(aes_256_gcm_key),
    294      1.1  christos         ITM(aes_256_gcm_iv),
    295      1.1  christos         ITM(aes_256_gcm_aad),
    296      1.1  christos         ITM(aes_256_gcm_tag)
    297      1.1  christos     },
    298      1.1  christos     {
    299      1.1  christos         {
    300      1.1  christos             OSSL_SELF_TEST_DESC_CIPHER_AES_ECB,
    301      1.1  christos             "AES-128-ECB",
    302      1.1  christos             ITM(aes_128_ecb_pt),
    303      1.1  christos             ITM(aes_128_ecb_ct)
    304      1.1  christos         },
    305      1.1  christos         CIPHER_MODE_DECRYPT,
    306      1.1  christos         ITM(aes_128_ecb_key)
    307      1.1  christos     },
    308      1.1  christos #ifndef OPENSSL_NO_DES
    309      1.1  christos     {
    310      1.1  christos         {
    311      1.1  christos             OSSL_SELF_TEST_DESC_CIPHER_TDES,
    312      1.1  christos             "DES-EDE3-ECB",
    313      1.1  christos             ITM(tdes_pt),
    314      1.1  christos             ITM(tdes_ct)
    315      1.1  christos         },
    316      1.1  christos         CIPHER_MODE_DECRYPT,
    317      1.1  christos         ITM(tdes_key)
    318      1.1  christos     }
    319      1.1  christos #endif
    320      1.1  christos };
    321      1.1  christos 
    322      1.1  christos static const char hkdf_digest[] = "SHA256";
    323      1.1  christos /*
    324      1.1  christos  * Input parameters and expected result are from RFC 5869 test case 1, which is
    325      1.1  christos  * with a key-derivation key >= 112 bits required by NIST SP 800-131Ar2
    326      1.1  christos  * section 8.
    327      1.1  christos  */
    328      1.1  christos static const unsigned char hkdf_secret[] = {
    329      1.1  christos     0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
    330      1.1  christos     0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b,
    331      1.1  christos     0x0b, 0x0b, 0x0b, 0x0b, 0x0b, 0x0b
    332      1.1  christos };
    333      1.1  christos static const unsigned char hkdf_salt[] = {
    334      1.1  christos     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    335      1.1  christos     0x08, 0x09, 0x0a, 0x0b, 0x0c
    336      1.1  christos };
    337      1.1  christos static const unsigned char hkdf_info[] = {
    338      1.1  christos     0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
    339      1.1  christos     0xf8, 0xf9
    340      1.1  christos };
    341      1.1  christos static const unsigned char hkdf_expected[] = {
    342      1.1  christos     0x3c, 0xb2, 0x5f, 0x25, 0xfa, 0xac, 0xd5, 0x7a,
    343      1.1  christos     0x90, 0x43, 0x4f, 0x64, 0xd0, 0x36, 0x2f, 0x2a,
    344      1.1  christos     0x2d, 0x2d, 0x0a, 0x90, 0xcf, 0x1a, 0x5a, 0x4c,
    345      1.1  christos     0x5d, 0xb0, 0x2d, 0x56, 0xec, 0xc4, 0xc5, 0xbf,
    346      1.1  christos     0x34, 0x00, 0x72, 0x08, 0xd5, 0xb8, 0x87, 0x18,
    347      1.1  christos     0x58, 0x65
    348      1.1  christos };
    349      1.1  christos static const ST_KAT_PARAM hkdf_params[] = {
    350      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_DIGEST, hkdf_digest),
    351      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_KEY, hkdf_secret),
    352      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_SALT, hkdf_salt),
    353      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_INFO, hkdf_info),
    354      1.1  christos     ST_KAT_PARAM_END()
    355      1.1  christos };
    356      1.1  christos 
    357  1.1.1.2  christos static const char sskdf_digest[] = "SHA256";
    358      1.1  christos static const unsigned char sskdf_secret[] = {
    359      1.1  christos     0x6d, 0xbd, 0xc2, 0x3f, 0x04, 0x54, 0x88, 0xe4,
    360      1.1  christos     0x06, 0x27, 0x57, 0xb0, 0x6b, 0x9e, 0xba, 0xe1,
    361      1.1  christos     0x83, 0xfc, 0x5a, 0x59, 0x46, 0xd8, 0x0d, 0xb9,
    362      1.1  christos     0x3f, 0xec, 0x6f, 0x62, 0xec, 0x07, 0xe3, 0x72,
    363      1.1  christos     0x7f, 0x01, 0x26, 0xae, 0xd1, 0x2c, 0xe4, 0xb2,
    364      1.1  christos     0x62, 0xf4, 0x7d, 0x48, 0xd5, 0x42, 0x87, 0xf8,
    365      1.1  christos     0x1d, 0x47, 0x4c, 0x7c, 0x3b, 0x18, 0x50, 0xe9
    366      1.1  christos };
    367      1.1  christos static const unsigned char sskdf_otherinfo[] = {
    368      1.1  christos     0xa1, 0xb2, 0xc3, 0xd4, 0xe5, 0x43, 0x41, 0x56,
    369      1.1  christos     0x53, 0x69, 0x64, 0x3c, 0x83, 0x2e, 0x98, 0x49,
    370      1.1  christos     0xdc, 0xdb, 0xa7, 0x1e, 0x9a, 0x31, 0x39, 0xe6,
    371      1.1  christos     0x06, 0xe0, 0x95, 0xde, 0x3c, 0x26, 0x4a, 0x66,
    372      1.1  christos     0xe9, 0x8a, 0x16, 0x58, 0x54, 0xcd, 0x07, 0x98,
    373      1.1  christos     0x9b, 0x1e, 0xe0, 0xec, 0x3f, 0x8d, 0xbe
    374      1.1  christos };
    375      1.1  christos static const unsigned char sskdf_expected[] = {
    376  1.1.1.2  christos     0x27, 0xce, 0x57, 0xed, 0xb1, 0x7e, 0x1f, 0xf2,
    377  1.1.1.2  christos     0xe4, 0x79, 0x2e, 0x84, 0x8b, 0x04, 0xf1, 0xae
    378      1.1  christos };
    379      1.1  christos static const ST_KAT_PARAM sskdf_params[] = {
    380      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_DIGEST, sskdf_digest),
    381      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_KEY, sskdf_secret),
    382      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_INFO, sskdf_otherinfo),
    383      1.1  christos     ST_KAT_PARAM_END()
    384      1.1  christos };
    385      1.1  christos 
    386  1.1.1.2  christos static const char x942kdf_digest[] = "SHA256";
    387      1.1  christos static const char x942kdf_cekalg[] = "AES-128-WRAP";
    388      1.1  christos static const unsigned char x942kdf_secret[] = {
    389      1.1  christos     0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
    390      1.1  christos     0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
    391      1.1  christos     0x10, 0x11, 0x12, 0x13
    392      1.1  christos };
    393      1.1  christos static const unsigned char x942kdf_expected[] = {
    394  1.1.1.2  christos     0x79, 0x66, 0xa0, 0x38, 0x22, 0x28, 0x1e, 0xa3,
    395  1.1.1.2  christos     0xeb, 0x08, 0xd9, 0xbc, 0x69, 0x5b, 0xd8, 0xff
    396      1.1  christos };
    397      1.1  christos static const ST_KAT_PARAM x942kdf_params[] = {
    398      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_DIGEST, x942kdf_digest),
    399      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_CEK_ALG, x942kdf_cekalg),
    400      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_KEY, x942kdf_secret),
    401      1.1  christos     ST_KAT_PARAM_END()
    402      1.1  christos };
    403      1.1  christos 
    404      1.1  christos static const char x963kdf_digest[] = "SHA256";
    405      1.1  christos static const unsigned char x963kdf_otherinfo[] = {
    406      1.1  christos     0x75, 0xee, 0xf8, 0x1a, 0xa3, 0x04, 0x1e, 0x33,
    407      1.1  christos     0xb8, 0x09, 0x71, 0x20, 0x3d, 0x2c, 0x0c, 0x52
    408      1.1  christos };
    409      1.1  christos static const unsigned char x963kdf_secret[] = {
    410      1.1  christos     0x22, 0x51, 0x8b, 0x10, 0xe7, 0x0f, 0x2a, 0x3f,
    411      1.1  christos     0x24, 0x38, 0x10, 0xae, 0x32, 0x54, 0x13, 0x9e,
    412      1.1  christos     0xfb, 0xee, 0x04, 0xaa, 0x57, 0xc7, 0xaf, 0x7d
    413      1.1  christos };
    414      1.1  christos static const unsigned char x963kdf_expected[] = {
    415      1.1  christos     0xc4, 0x98, 0xaf, 0x77, 0x16, 0x1c, 0xc5, 0x9f,
    416      1.1  christos     0x29, 0x62, 0xb9, 0xa7, 0x13, 0xe2, 0xb2, 0x15,
    417      1.1  christos     0x15, 0x2d, 0x13, 0x97, 0x66, 0xce, 0x34, 0xa7,
    418      1.1  christos     0x76, 0xdf, 0x11, 0x86, 0x6a, 0x69, 0xbf, 0x2e
    419      1.1  christos };
    420      1.1  christos static const ST_KAT_PARAM x963kdf_params[] = {
    421      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_DIGEST, x963kdf_digest),
    422      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_KEY, x963kdf_secret),
    423      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_INFO, x963kdf_otherinfo),
    424      1.1  christos     ST_KAT_PARAM_END()
    425      1.1  christos };
    426      1.1  christos 
    427      1.1  christos static const char pbkdf2_digest[] = "SHA256";
    428      1.1  christos /*
    429      1.1  christos  * Input parameters from RFC 6070, vector 5 (because it is the only one with
    430      1.1  christos  * a salt >= 16 bytes, which NIST SP 800-132 section 5.1 requires). The
    431      1.1  christos  * expected output is taken from
    432      1.1  christos  *   https://github.com/brycx/Test-Vector-Generation/blob/master/PBKDF2/pbkdf2-hmac-sha2-test-vectors.md,
    433      1.1  christos  * which ran these test vectors with SHA-256.
    434      1.1  christos  * Note that the output only uses 2 iterations.
    435      1.1  christos  */
    436      1.1  christos static const unsigned char pbkdf2_password[] = {
    437      1.1  christos     0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x50, 0x41, 0x53, 0x53,
    438      1.1  christos     0x57, 0x4f, 0x52, 0x44, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64
    439      1.1  christos };
    440      1.1  christos static const unsigned char pbkdf2_salt[] = {
    441      1.1  christos     0x73, 0x61, 0x6c, 0x74, 0x53, 0x41, 0x4c, 0x54, 0x73, 0x61, 0x6c, 0x74,
    442      1.1  christos     0x53, 0x41, 0x4c, 0x54, 0x73, 0x61, 0x6c, 0x74, 0x53, 0x41, 0x4c, 0x54,
    443      1.1  christos     0x73, 0x61, 0x6c, 0x74, 0x53, 0x41, 0x4c, 0x54, 0x73, 0x61, 0x6c, 0x74
    444      1.1  christos };
    445      1.1  christos static const unsigned char pbkdf2_expected[] = {
    446      1.1  christos     0x13, 0xdc, 0x8a, 0x7c, 0x13, 0xd3, 0x72, 0xc9,
    447      1.1  christos     0x03, 0x82, 0x82, 0x2d, 0x2d, 0xc4, 0x92, 0xf2,
    448      1.1  christos     0xed, 0x52, 0x46, 0x7f, 0xb7, 0x82, 0x8e, 0xa8,
    449      1.1  christos     0x64
    450      1.1  christos };
    451      1.1  christos /*
    452      1.1  christos  * FIPS 140-3 IG 10.3.A.8 allows the iteration count to be smaller
    453      1.1  christos  * so we use the minimum of 2 here.
    454      1.1  christos  */
    455      1.1  christos static int pbkdf2_iterations = 2;
    456      1.1  christos static int pbkdf2_pkcs5 = 1; /* Disable compliance checks so a smaller iteration count can be used */
    457      1.1  christos static const ST_KAT_PARAM pbkdf2_params[] = {
    458      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_DIGEST, pbkdf2_digest),
    459      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_PASSWORD, pbkdf2_password),
    460      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_SALT, pbkdf2_salt),
    461      1.1  christos     ST_KAT_PARAM_INT(OSSL_KDF_PARAM_ITER, pbkdf2_iterations),
    462      1.1  christos     ST_KAT_PARAM_INT(OSSL_KDF_PARAM_PKCS5, pbkdf2_pkcs5),
    463      1.1  christos     ST_KAT_PARAM_END()
    464      1.1  christos };
    465      1.1  christos 
    466      1.1  christos static const char tls12prf_digest[] = "SHA256";
    467      1.1  christos static const unsigned char tls12prf_secret[] = {
    468      1.1  christos     0x20, 0x2c, 0x88, 0xc0, 0x0f, 0x84, 0xa1, 0x7a,
    469      1.1  christos     0x20, 0x02, 0x70, 0x79, 0x60, 0x47, 0x87, 0x46,
    470      1.1  christos     0x11, 0x76, 0x45, 0x55, 0x39, 0xe7, 0x05, 0xbe,
    471      1.1  christos     0x73, 0x08, 0x90, 0x60, 0x2c, 0x28, 0x9a, 0x50,
    472      1.1  christos     0x01, 0xe3, 0x4e, 0xeb, 0x3a, 0x04, 0x3e, 0x5d,
    473      1.1  christos     0x52, 0xa6, 0x5e, 0x66, 0x12, 0x51, 0x88, 0xbf,
    474      1.1  christos };
    475      1.1  christos static const unsigned char tls12prf_seed[] = {
    476      1.1  christos     'k', 'e', 'y', ' ', 'e', 'x', 'p', 'a', 'n', 's', 'i', 'o', 'n',
    477      1.1  christos     0xae, 0x6c, 0x80, 0x6f, 0x8a, 0xd4, 0xd8, 0x07,
    478      1.1  christos     0x84, 0x54, 0x9d, 0xff, 0x28, 0xa4, 0xb5, 0x8f,
    479      1.1  christos     0xd8, 0x37, 0x68, 0x1a, 0x51, 0xd9, 0x28, 0xc3,
    480      1.1  christos     0xe3, 0x0e, 0xe5, 0xff, 0x14, 0xf3, 0x98, 0x68,
    481      1.1  christos     0x62, 0xe1, 0xfd, 0x91, 0xf2, 0x3f, 0x55, 0x8a,
    482      1.1  christos     0x60, 0x5f, 0x28, 0x47, 0x8c, 0x58, 0xcf, 0x72,
    483      1.1  christos     0x63, 0x7b, 0x89, 0x78, 0x4d, 0x95, 0x9d, 0xf7,
    484      1.1  christos     0xe9, 0x46, 0xd3, 0xf0, 0x7b, 0xd1, 0xb6, 0x16,
    485      1.1  christos  };
    486      1.1  christos static const unsigned char tls12prf_expected[] = {
    487      1.1  christos     0xd0, 0x61, 0x39, 0x88, 0x9f, 0xff, 0xac, 0x1e,
    488      1.1  christos     0x3a, 0x71, 0x86, 0x5f, 0x50, 0x4a, 0xa5, 0xd0,
    489      1.1  christos     0xd2, 0xa2, 0xe8, 0x95, 0x06, 0xc6, 0xf2, 0x27,
    490      1.1  christos     0x9b, 0x67, 0x0c, 0x3e, 0x1b, 0x74, 0xf5, 0x31,
    491      1.1  christos     0x01, 0x6a, 0x25, 0x30, 0xc5, 0x1a, 0x3a, 0x0f,
    492      1.1  christos     0x7e, 0x1d, 0x65, 0x90, 0xd0, 0xf0, 0x56, 0x6b,
    493      1.1  christos     0x2f, 0x38, 0x7f, 0x8d, 0x11, 0xfd, 0x4f, 0x73,
    494      1.1  christos     0x1c, 0xdd, 0x57, 0x2d, 0x2e, 0xae, 0x92, 0x7f,
    495      1.1  christos     0x6f, 0x2f, 0x81, 0x41, 0x0b, 0x25, 0xe6, 0x96,
    496      1.1  christos     0x0b, 0xe6, 0x89, 0x85, 0xad, 0xd6, 0xc3, 0x84,
    497      1.1  christos     0x45, 0xad, 0x9f, 0x8c, 0x64, 0xbf, 0x80, 0x68,
    498      1.1  christos     0xbf, 0x9a, 0x66, 0x79, 0x48, 0x5d, 0x96, 0x6f,
    499      1.1  christos     0x1a, 0xd6, 0xf6, 0x8b, 0x43, 0x49, 0x5b, 0x10,
    500      1.1  christos     0xa6, 0x83, 0x75, 0x5e, 0xa2, 0xb8, 0x58, 0xd7,
    501      1.1  christos     0x0c, 0xca, 0xc7, 0xec, 0x8b, 0x05, 0x3c, 0x6b,
    502      1.1  christos     0xd4, 0x1c, 0xa2, 0x99, 0xd4, 0xe5, 0x19, 0x28,
    503      1.1  christos };
    504      1.1  christos static const ST_KAT_PARAM tls12prf_params[] = {
    505      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_DIGEST, tls12prf_digest),
    506      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_SECRET, tls12prf_secret),
    507      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_SEED, tls12prf_seed),
    508      1.1  christos     ST_KAT_PARAM_END()
    509      1.1  christos };
    510      1.1  christos 
    511      1.1  christos static const char kbkdf_digest[] = "SHA256";
    512      1.1  christos static const char kbkdf_mac[] = "HMAC";
    513      1.1  christos static const unsigned char kbkdf_salt[] = { 'p', 'r', 'f' };
    514      1.1  christos static const unsigned char kbkdf_prfinput[] = { 't', 'e', 's', 't' };
    515      1.1  christos static unsigned char kbkdf_key[] = {
    516      1.1  christos     0x37, 0x05, 0xD9, 0x60, 0x80, 0xC1, 0x77, 0x28,
    517      1.1  christos     0xA0, 0xE8, 0x00, 0xEA, 0xB6, 0xE0, 0xD2, 0x3C,
    518      1.1  christos };
    519      1.1  christos static unsigned char kbkdf_expected[] = {
    520      1.1  christos     0x9D, 0x18, 0x86, 0x16, 0xF6, 0x38, 0x52, 0xFE,
    521      1.1  christos     0x86, 0x91, 0x5B, 0xB8, 0x40, 0xB4, 0xA8, 0x86,
    522      1.1  christos     0xFF, 0x3E, 0x6B, 0xB0, 0xF8, 0x19, 0xB4, 0x9B,
    523      1.1  christos     0x89, 0x33, 0x93, 0xD3, 0x93, 0x85, 0x42, 0x95,
    524      1.1  christos };
    525      1.1  christos static const ST_KAT_PARAM kbkdf_params[] = {
    526      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_DIGEST, kbkdf_digest),
    527      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_MAC, kbkdf_mac),
    528      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_KEY, kbkdf_key),
    529      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_SALT, kbkdf_salt),
    530      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_INFO, kbkdf_prfinput),
    531      1.1  christos     ST_KAT_PARAM_END()
    532      1.1  christos };
    533      1.1  christos 
    534      1.1  christos static const char kbkdf_kmac_mac[] = "KMAC128";
    535      1.1  christos static unsigned char kbkdf_kmac_label[] = {
    536      1.1  christos     0xB5, 0xB5, 0xF3, 0x71, 0x9F, 0xBE, 0x5B, 0x3D,
    537      1.1  christos     0x7B, 0x8D, 0x05, 0xA1, 0xD3, 0x25, 0x19, 0x50,
    538      1.1  christos };
    539      1.1  christos static unsigned char kbkdf_kmac_context[] = {
    540      1.1  christos     0x36, 0x60, 0x0E, 0xF3, 0xC3, 0x70, 0xB5, 0xEF,
    541      1.1  christos     0x58, 0xBE, 0xF1, 0xBA, 0x1C, 0xF2, 0x74, 0xCB,
    542      1.1  christos };
    543      1.1  christos static unsigned char kbkdf_kmac_key[] = {
    544      1.1  christos     0xB2, 0x51, 0x4C, 0xC1, 0xD5, 0xCD, 0x7B, 0x6B,
    545      1.1  christos     0xA3, 0x3C, 0x90, 0x05, 0xBD, 0xAC, 0x32, 0x2A,
    546      1.1  christos };
    547      1.1  christos static unsigned char kbkdf_kmac_expected[] = {
    548      1.1  christos     0xB1, 0x58, 0xEE, 0xB1, 0x34, 0xA4, 0xDD, 0x9D,
    549      1.1  christos     0xAC, 0x52, 0xBD, 0x9E, 0x30, 0xE8, 0x0D, 0x76,
    550      1.1  christos     0x42, 0x57, 0x01, 0x89, 0x5F, 0x82, 0x74, 0xB9,
    551      1.1  christos     0xEB, 0x3E, 0x84, 0xD8, 0xA5, 0xDE, 0x6E, 0x54,
    552      1.1  christos };
    553      1.1  christos static const ST_KAT_PARAM kbkdf_kmac_params[] = {
    554      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_MAC, kbkdf_kmac_mac),
    555      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_KEY, kbkdf_kmac_key),
    556      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_SALT, kbkdf_kmac_label),
    557      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_INFO, kbkdf_kmac_context),
    558      1.1  christos     ST_KAT_PARAM_END()
    559      1.1  christos };
    560      1.1  christos 
    561      1.1  christos static const char tls13_kdf_digest[] = "SHA256";
    562      1.1  christos static int tls13_kdf_extract_mode = EVP_KDF_HKDF_MODE_EXTRACT_ONLY;
    563      1.1  christos static int tls13_kdf_expand_mode = EVP_KDF_HKDF_MODE_EXPAND_ONLY;
    564      1.1  christos static const unsigned char tls13_kdf_prefix[] = {
    565      1.1  christos     0x74, 0x6C, 0x73, 0x31, 0x33, 0x20          /* "tls13 " */
    566      1.1  christos };
    567      1.1  christos static const unsigned char tls13_kdf_client_early_secret_label[] = {
    568      1.1  christos     0x63, 0x20, 0x65, 0x20, 0x74, 0x72, 0x61, 0x66,
    569      1.1  christos     0x66, 0x69, 0x63                            /* "c e traffic"*/
    570      1.1  christos };
    571      1.1  christos static const unsigned char tls13_kdf_psk[] = {
    572      1.1  christos     0xF8, 0xAF, 0x6A, 0xEA, 0x2D, 0x39, 0x7B, 0xAF,
    573      1.1  christos     0x29, 0x48, 0xA2, 0x5B, 0x28, 0x34, 0x20, 0x06,
    574      1.1  christos     0x92, 0xCF, 0xF1, 0x7E, 0xEE, 0x91, 0x65, 0xE4,
    575      1.1  christos     0xE2, 0x7B, 0xAB, 0xEE, 0x9E, 0xDE, 0xFD, 0x05
    576      1.1  christos };
    577      1.1  christos static const unsigned char tls13_kdf_client_hello_hash[] = {
    578      1.1  christos     0x7c, 0x92, 0xf6, 0x8b, 0xd5, 0xbf, 0x36, 0x38,
    579      1.1  christos     0xea, 0x33, 0x8a, 0x64, 0x94, 0x72, 0x2e, 0x1b,
    580      1.1  christos     0x44, 0x12, 0x7e, 0x1b, 0x7e, 0x8a, 0xad, 0x53,
    581      1.1  christos     0x5f, 0x23, 0x22, 0xa6, 0x44, 0xff, 0x22, 0xb3
    582      1.1  christos };
    583      1.1  christos 
    584      1.1  christos static const unsigned char tls13_kdf_early_secret[] = {
    585      1.1  christos     0x15, 0x3B, 0x63, 0x94, 0xA9, 0xC0, 0x3C, 0xF3,
    586      1.1  christos     0xF5, 0xAC, 0xCC, 0x6E, 0x45, 0x5A, 0x76, 0x93,
    587      1.1  christos     0x28, 0x11, 0x38, 0xA1, 0xBC, 0xFA, 0x38, 0x03,
    588      1.1  christos     0xC2, 0x67, 0x35, 0xDD, 0x11, 0x94, 0xD2, 0x16
    589      1.1  christos };
    590      1.1  christos static const unsigned char tls13_kdf_client_early_traffic_secret[] = {
    591      1.1  christos     0xC8, 0x05, 0x83, 0xA9, 0x0E, 0x99, 0x5C, 0x48,
    592      1.1  christos     0x96, 0x00, 0x49, 0x2A, 0x5D, 0xA6, 0x42, 0xE6,
    593      1.1  christos     0xB1, 0xF6, 0x79, 0xBA, 0x67, 0x48, 0x28, 0x79,
    594      1.1  christos     0x2D, 0xF0, 0x87, 0xB9, 0x39, 0x63, 0x61, 0x71
    595      1.1  christos };
    596      1.1  christos static const ST_KAT_PARAM tls13_kdf_early_secret_params[] = {
    597      1.1  christos     ST_KAT_PARAM_INT(OSSL_KDF_PARAM_MODE, tls13_kdf_extract_mode),
    598      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_DIGEST, tls13_kdf_digest),
    599      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_KEY, tls13_kdf_psk),
    600      1.1  christos     ST_KAT_PARAM_END()
    601      1.1  christos };
    602      1.1  christos static const ST_KAT_PARAM tls13_kdf_client_early_secret_params[] = {
    603      1.1  christos     ST_KAT_PARAM_INT(OSSL_KDF_PARAM_MODE, tls13_kdf_expand_mode),
    604      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_KDF_PARAM_DIGEST, tls13_kdf_digest),
    605      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_KEY, tls13_kdf_early_secret),
    606      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_DATA, tls13_kdf_client_hello_hash),
    607      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_PREFIX, tls13_kdf_prefix),
    608      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_KDF_PARAM_LABEL,
    609      1.1  christos                        tls13_kdf_client_early_secret_label),
    610      1.1  christos     ST_KAT_PARAM_END()
    611      1.1  christos };
    612      1.1  christos 
    613      1.1  christos /*
    614      1.1  christos  * NOTES:
    615      1.1  christos  * According to FIPS 140-3 10.3.A Note18: SSH KDF is not required, since it is
    616      1.1  christos  * sufficient to self-test the underlying SHA hash functions.
    617      1.1  christos  */
    618      1.1  christos static const ST_KAT_KDF st_kat_kdf_tests[] =
    619      1.1  christos {
    620      1.1  christos     {
    621      1.1  christos         OSSL_SELF_TEST_DESC_KDF_TLS13_EXTRACT,
    622      1.1  christos         OSSL_KDF_NAME_TLS1_3_KDF,
    623      1.1  christos         tls13_kdf_early_secret_params,
    624      1.1  christos         ITM(tls13_kdf_early_secret)
    625      1.1  christos     },
    626      1.1  christos     {
    627      1.1  christos         OSSL_SELF_TEST_DESC_KDF_TLS13_EXPAND,
    628      1.1  christos         OSSL_KDF_NAME_TLS1_3_KDF,
    629      1.1  christos         tls13_kdf_client_early_secret_params,
    630      1.1  christos         ITM(tls13_kdf_client_early_traffic_secret)
    631      1.1  christos     },
    632      1.1  christos     {
    633      1.1  christos         OSSL_SELF_TEST_DESC_KDF_TLS12_PRF,
    634      1.1  christos         OSSL_KDF_NAME_TLS1_PRF,
    635      1.1  christos         tls12prf_params,
    636      1.1  christos         ITM(tls12prf_expected)
    637      1.1  christos     },
    638      1.1  christos     {
    639      1.1  christos         OSSL_SELF_TEST_DESC_KDF_PBKDF2,
    640      1.1  christos         OSSL_KDF_NAME_PBKDF2,
    641      1.1  christos         pbkdf2_params,
    642      1.1  christos         ITM(pbkdf2_expected)
    643      1.1  christos     },
    644      1.1  christos     {
    645      1.1  christos         OSSL_SELF_TEST_DESC_KDF_KBKDF,
    646      1.1  christos         OSSL_KDF_NAME_KBKDF,
    647      1.1  christos         kbkdf_params,
    648      1.1  christos         ITM(kbkdf_expected)
    649      1.1  christos     },
    650      1.1  christos     {
    651      1.1  christos         OSSL_SELF_TEST_DESC_KDF_KBKDF_KMAC,
    652      1.1  christos         OSSL_KDF_NAME_KBKDF,
    653      1.1  christos         kbkdf_kmac_params,
    654      1.1  christos         ITM(kbkdf_kmac_expected)
    655      1.1  christos     },
    656      1.1  christos     {
    657      1.1  christos         OSSL_SELF_TEST_DESC_KDF_HKDF,
    658      1.1  christos         OSSL_KDF_NAME_HKDF,
    659      1.1  christos         hkdf_params,
    660      1.1  christos         ITM(hkdf_expected)
    661      1.1  christos     },
    662      1.1  christos     {
    663      1.1  christos         OSSL_SELF_TEST_DESC_KDF_SSKDF,
    664      1.1  christos         OSSL_KDF_NAME_SSKDF,
    665      1.1  christos         sskdf_params,
    666      1.1  christos         ITM(sskdf_expected)
    667      1.1  christos     },
    668      1.1  christos     {
    669      1.1  christos         OSSL_SELF_TEST_DESC_KDF_X963KDF,
    670      1.1  christos         OSSL_KDF_NAME_X963KDF,
    671      1.1  christos         x963kdf_params,
    672      1.1  christos         ITM(x963kdf_expected)
    673      1.1  christos     },
    674      1.1  christos     {
    675      1.1  christos         OSSL_SELF_TEST_DESC_KDF_X942KDF,
    676      1.1  christos         OSSL_KDF_NAME_X942KDF_ASN1,
    677      1.1  christos         x942kdf_params,
    678      1.1  christos         ITM(x942kdf_expected)
    679      1.1  christos     },
    680      1.1  christos };
    681      1.1  christos 
    682      1.1  christos /*-
    683      1.1  christos * DRBG test vectors are a small subset of
    684      1.1  christos * https://csrc.nist.rip/groups/STM/cavp/documents/drbg/drbgtestvectors.zip
    685      1.1  christos * Using the folder drbgvectors_pr_true
    686      1.1  christos * Generated for CAVS 14.3.
    687      1.1  christos */
    688      1.1  christos 
    689      1.1  christos /*
    690      1.1  christos  * Hash_DRBG.rsp
    691      1.1  christos  *
    692      1.1  christos  * [SHA-256]
    693      1.1  christos  * [PredictionResistance = True]
    694      1.1  christos  * [EntropyInputLen = 256]
    695      1.1  christos  * [NonceLen = 128]
    696      1.1  christos  * [PersonalizationStringLen = 256]
    697      1.1  christos  * [AdditionalInputLen = 256]
    698      1.1  christos  * [ReturnedBitsLen = 1024]
    699      1.1  christos  *
    700      1.1  christos  * COUNT = 14
    701      1.1  christos  */
    702      1.1  christos static const unsigned char drbg_hash_sha256_pr_entropyin[] = {
    703      1.1  christos     0x06, 0x6d, 0xc8, 0xce, 0x75, 0xb2, 0x89, 0x66, 0xa6, 0x85, 0x16, 0x3f,
    704      1.1  christos     0xe2, 0xa4, 0xd4, 0x27, 0xfb, 0xdb, 0x61, 0x66, 0x50, 0x61, 0x6b, 0xa2,
    705      1.1  christos     0x82, 0xfc, 0x33, 0x2b, 0x4e, 0x6f, 0x12, 0x20
    706      1.1  christos };
    707      1.1  christos static const unsigned char drbg_hash_sha256_pr_nonce[] = {
    708      1.1  christos     0x55, 0x9f, 0x7c, 0x64, 0x89, 0x70, 0x83, 0xec, 0x2d, 0x73, 0x70, 0xd9,
    709      1.1  christos     0xf0, 0xe5, 0x07, 0x1f
    710      1.1  christos };
    711      1.1  christos static const unsigned char drbg_hash_sha256_pr_persstr[] = {
    712      1.1  christos     0x88, 0x6f, 0x54, 0x9a, 0xad, 0x1a, 0xc6, 0x3d, 0x18, 0xcb, 0xcc, 0x66,
    713      1.1  christos     0x85, 0xda, 0xa2, 0xc2, 0xf7, 0x9e, 0xb0, 0x89, 0x4c, 0xb4, 0xae, 0xf1,
    714      1.1  christos     0xac, 0x54, 0x4f, 0xce, 0x57, 0xf1, 0x5e, 0x11
    715      1.1  christos };
    716      1.1  christos static const unsigned char drbg_hash_sha256_pr_entropyinpr0[] = {
    717      1.1  christos     0xff, 0x80, 0xb7, 0xd2, 0x6a, 0x05, 0xbc, 0x8a, 0x7a, 0xbe, 0x53, 0x28,
    718      1.1  christos     0x6b, 0x0e, 0xeb, 0x73, 0x3b, 0x71, 0x5a, 0x20, 0x5b, 0xfa, 0x4f, 0xf6,
    719      1.1  christos     0x37, 0x03, 0xde, 0xad, 0xb6, 0xea, 0x0e, 0xf4
    720      1.1  christos };
    721      1.1  christos static const unsigned char drbg_hash_sha256_pr_entropyinpr1[] = {
    722      1.1  christos     0xc7, 0x38, 0x32, 0x53, 0x46, 0x81, 0xed, 0xe3, 0x7e, 0x03, 0x84, 0x6d,
    723      1.1  christos     0x3c, 0x84, 0x17, 0x67, 0x29, 0x7d, 0x24, 0x6c, 0x68, 0x92, 0x41, 0xd2,
    724      1.1  christos     0xe7, 0x75, 0xbe, 0x7e, 0xc9, 0x96, 0x29, 0x3d
    725      1.1  christos };
    726      1.1  christos static const unsigned char drbg_hash_sha256_pr_addin0[] = {
    727      1.1  christos     0xb7, 0x21, 0x5f, 0x14, 0xac, 0x7b, 0xaf, 0xd0, 0xa9, 0x17, 0x72, 0xba,
    728      1.1  christos     0x22, 0xf7, 0x19, 0xaf, 0xbd, 0x20, 0xb3, 0x11, 0x63, 0x6c, 0x2b, 0x1e,
    729      1.1  christos     0x83, 0xe4, 0xa8, 0x23, 0x35, 0x3f, 0xc6, 0xea
    730      1.1  christos };
    731      1.1  christos static const unsigned char drbg_hash_sha256_pr_addin1[] = {
    732      1.1  christos     0xce, 0xd3, 0x1f, 0x7e, 0x0d, 0xae, 0x5b, 0xb5, 0xc0, 0x43, 0xe2, 0x46,
    733      1.1  christos     0xb2, 0x94, 0x73, 0xe2, 0xfd, 0x39, 0x51, 0x2e, 0xad, 0x45, 0x69, 0xee,
    734      1.1  christos     0xe3, 0xe3, 0x80, 0x33, 0x14, 0xab, 0xa7, 0xa3
    735      1.1  christos };
    736      1.1  christos static const unsigned char drbg_hash_sha256_pr_expected[] = {
    737      1.1  christos     0x60, 0xc2, 0x34, 0xcf, 0xaf, 0xb4, 0x68, 0x03, 0x3b, 0xf1, 0x95, 0xe5,
    738      1.1  christos     0x78, 0xce, 0x26, 0x6e, 0x14, 0x65, 0x32, 0x6a, 0x96, 0xa9, 0xe0, 0x3f,
    739      1.1  christos     0x8b, 0x89, 0x36, 0x70, 0xef, 0x62, 0x75, 0x4d, 0x5e, 0x80, 0xd5, 0x53,
    740      1.1  christos     0xa1, 0xf8, 0x49, 0x50, 0x20, 0x8b, 0x93, 0x43, 0x07, 0x9f, 0x2e, 0xf8,
    741      1.1  christos     0x56, 0xe9, 0xc5, 0x70, 0x61, 0x85, 0x97, 0xb5, 0xdc, 0x82, 0xa2, 0xda,
    742      1.1  christos     0xea, 0xa3, 0xfd, 0x9b, 0x2f, 0xd2, 0xa0, 0xd7, 0x1b, 0xc6, 0x29, 0x35,
    743      1.1  christos     0xcc, 0xb8, 0x3d, 0xa0, 0x67, 0x98, 0x05, 0xa0, 0xe3, 0x1e, 0xfe, 0xe4,
    744      1.1  christos     0xf0, 0xe5, 0x13, 0xb0, 0x83, 0x17, 0xfa, 0xca, 0x93, 0x5e, 0x38, 0x29,
    745      1.1  christos     0x48, 0xd2, 0x72, 0xdb, 0x76, 0x3e, 0x6d, 0xf3, 0x25, 0x10, 0xff, 0x1b,
    746      1.1  christos     0x99, 0xff, 0xf8, 0xc6, 0x0e, 0xb0, 0xdd, 0x29, 0x2e, 0xbc, 0xbb, 0xc8,
    747      1.1  christos     0x0a, 0x01, 0x6e, 0xd3, 0xb0, 0x0e, 0x4e, 0xab
    748      1.1  christos };
    749      1.1  christos 
    750      1.1  christos /*
    751      1.1  christos  * CTR_DRBG.rsp
    752      1.1  christos  *
    753      1.1  christos  * [AES-128 use df]
    754      1.1  christos  * [PredictionResistance = True]
    755      1.1  christos  * [EntropyInputLen = 128]
    756      1.1  christos  * [NonceLen = 64]
    757      1.1  christos  * [PersonalizationStringLen = 128]
    758      1.1  christos  * [AdditionalInputLen = 128]
    759      1.1  christos  * [ReturnedBitsLen = 512]
    760      1.1  christos  *
    761      1.1  christos  * COUNT = 0
    762      1.1  christos  */
    763      1.1  christos static const unsigned char drbg_ctr_aes128_pr_df_entropyin[] = {
    764      1.1  christos     0x92, 0x89, 0x8f, 0x31, 0xfa, 0x1c, 0xff, 0x6d, 0x18, 0x2f, 0x26, 0x06,
    765      1.1  christos     0x43, 0xdf, 0xf8, 0x18
    766      1.1  christos };
    767      1.1  christos static const unsigned char drbg_ctr_aes128_pr_df_nonce[] = {
    768      1.1  christos     0xc2, 0xa4, 0xd9, 0x72, 0xc3, 0xb9, 0xb6, 0x97
    769      1.1  christos };
    770      1.1  christos static const unsigned char drbg_ctr_aes128_pr_df_persstr[] = {
    771      1.1  christos     0xea, 0x65, 0xee, 0x60, 0x26, 0x4e, 0x7e, 0xb6, 0x0e, 0x82, 0x68, 0xc4,
    772      1.1  christos     0x37, 0x3c, 0x5c, 0x0b
    773      1.1  christos };
    774      1.1  christos static const unsigned char drbg_ctr_aes128_pr_df_entropyinpr0[] = {
    775      1.1  christos     0x20, 0x72, 0x8a, 0x06, 0xf8, 0x6f, 0x8d, 0xd4, 0x41, 0xe2, 0x72, 0xb7,
    776      1.1  christos     0xc4, 0x2c, 0xe8, 0x10
    777      1.1  christos };
    778      1.1  christos static const unsigned char drbg_ctr_aes128_pr_df_entropyinpr1[] = {
    779      1.1  christos     0x3d, 0xb0, 0xf0, 0x94, 0xf3, 0x05, 0x50, 0x33, 0x17, 0x86, 0x3e, 0x22,
    780      1.1  christos     0x08, 0xf7, 0xa5, 0x01
    781      1.1  christos };
    782      1.1  christos static const unsigned char drbg_ctr_aes128_pr_df_addin0[] = {
    783      1.1  christos     0x1a, 0x40, 0xfa, 0xe3, 0xcc, 0x6c, 0x7c, 0xa0, 0xf8, 0xda, 0xba, 0x59,
    784      1.1  christos     0x23, 0x6d, 0xad, 0x1d
    785      1.1  christos };
    786      1.1  christos static const unsigned char drbg_ctr_aes128_pr_df_addin1[] = {
    787      1.1  christos     0x9f, 0x72, 0x76, 0x6c, 0xc7, 0x46, 0xe5, 0xed, 0x2e, 0x53, 0x20, 0x12,
    788      1.1  christos     0xbc, 0x59, 0x31, 0x8c
    789      1.1  christos };
    790      1.1  christos static const unsigned char drbg_ctr_aes128_pr_df_expected[] = {
    791      1.1  christos     0x5a, 0x35, 0x39, 0x87, 0x0f, 0x4d, 0x22, 0xa4, 0x09, 0x24, 0xee, 0x71,
    792      1.1  christos     0xc9, 0x6f, 0xac, 0x72, 0x0a, 0xd6, 0xf0, 0x88, 0x82, 0xd0, 0x83, 0x28,
    793      1.1  christos     0x73, 0xec, 0x3f, 0x93, 0xd8, 0xab, 0x45, 0x23, 0xf0, 0x7e, 0xac, 0x45,
    794      1.1  christos     0x14, 0x5e, 0x93, 0x9f, 0xb1, 0xd6, 0x76, 0x43, 0x3d, 0xb6, 0xe8, 0x08,
    795      1.1  christos     0x88, 0xf6, 0xda, 0x89, 0x08, 0x77, 0x42, 0xfe, 0x1a, 0xf4, 0x3f, 0xc4,
    796      1.1  christos     0x23, 0xc5, 0x1f, 0x68
    797      1.1  christos };
    798      1.1  christos 
    799      1.1  christos /*
    800      1.1  christos  * HMAC_DRBG.rsp
    801      1.1  christos  *
    802  1.1.1.2  christos  * [SHA-256]
    803      1.1  christos  * [PredictionResistance = True]
    804  1.1.1.2  christos  * [EntropyInputLen = 256]
    805  1.1.1.2  christos  * [NonceLen = 128]
    806  1.1.1.2  christos  * [PersonalizationStringLen = 256]
    807  1.1.1.2  christos  * [AdditionalInputLen = 256]
    808  1.1.1.2  christos  * [ReturnedBitsLen = 1024]
    809      1.1  christos  *
    810      1.1  christos  * COUNT = 0
    811      1.1  christos  */
    812  1.1.1.2  christos static const unsigned char drbg_hmac_sha2_pr_entropyin[] = {
    813  1.1.1.2  christos     0xca, 0x85, 0x19, 0x11, 0x34, 0x93, 0x84, 0xbf,
    814  1.1.1.2  christos     0xfe, 0x89, 0xde, 0x1c, 0xbd, 0xc4, 0x6e, 0x68,
    815  1.1.1.2  christos     0x31, 0xe4, 0x4d, 0x34, 0xa4, 0xfb, 0x93, 0x5e,
    816  1.1.1.2  christos     0xe2, 0x85, 0xdd, 0x14, 0xb7, 0x1a, 0x74, 0x88
    817  1.1.1.2  christos };
    818  1.1.1.2  christos static const unsigned char drbg_hmac_sha2_pr_nonce[] = {
    819  1.1.1.2  christos     0x65, 0x9b, 0xa9, 0x6c, 0x60, 0x1d, 0xc6, 0x9f,
    820  1.1.1.2  christos     0xc9, 0x02, 0x94, 0x08, 0x05, 0xec, 0x0c, 0xa8
    821  1.1.1.2  christos };
    822  1.1.1.2  christos static const unsigned char drbg_hmac_sha2_pr_persstr[] = {
    823  1.1.1.2  christos     0xe7, 0x2d, 0xd8, 0x59, 0x0d, 0x4e, 0xd5, 0x29,
    824  1.1.1.2  christos     0x55, 0x15, 0xc3, 0x5e, 0xd6, 0x19, 0x9e, 0x9d,
    825  1.1.1.2  christos     0x21, 0x1b, 0x8f, 0x06, 0x9b, 0x30, 0x58, 0xca,
    826  1.1.1.2  christos     0xa6, 0x67, 0x0b, 0x96, 0xef, 0x12, 0x08, 0xd0
    827  1.1.1.2  christos };
    828  1.1.1.2  christos static const unsigned char drbg_hmac_sha2_pr_entropyinpr0[] = {
    829  1.1.1.2  christos     0x5c, 0xac, 0xc6, 0x81, 0x65, 0xa2, 0xe2, 0xee,
    830  1.1.1.2  christos     0x20, 0x81, 0x2f, 0x35, 0xec, 0x73, 0xa7, 0x9d,
    831  1.1.1.2  christos     0xbf, 0x30, 0xfd, 0x47, 0x54, 0x76, 0xac, 0x0c,
    832  1.1.1.2  christos     0x44, 0xfc, 0x61, 0x74, 0xcd, 0xac, 0x2b, 0x55
    833  1.1.1.2  christos };
    834  1.1.1.2  christos static const unsigned char drbg_hmac_sha2_pr_entropyinpr1[] = {
    835  1.1.1.2  christos     0x8d, 0xf0, 0x13, 0xb4, 0xd1, 0x03, 0x52, 0x30,
    836  1.1.1.2  christos     0x73, 0x91, 0x7d, 0xdf, 0x6a, 0x86, 0x97, 0x93,
    837  1.1.1.2  christos     0x05, 0x9e, 0x99, 0x43, 0xfc, 0x86, 0x54, 0x54,
    838  1.1.1.2  christos     0x9e, 0x7a, 0xb2, 0x2f, 0x7c, 0x29, 0xf1, 0x22
    839  1.1.1.2  christos };
    840  1.1.1.2  christos static const unsigned char drbg_hmac_sha2_pr_addin0[] = {
    841  1.1.1.2  christos     0x79, 0x3a, 0x7e, 0xf8, 0xf6, 0xf0, 0x48, 0x2b,
    842  1.1.1.2  christos     0xea, 0xc5, 0x42, 0xbb, 0x78, 0x5c, 0x10, 0xf8,
    843  1.1.1.2  christos     0xb7, 0xb4, 0x06, 0xa4, 0xde, 0x92, 0x66, 0x7a,
    844  1.1.1.2  christos     0xb1, 0x68, 0xec, 0xc2, 0xcf, 0x75, 0x73, 0xc6
    845  1.1.1.2  christos };
    846  1.1.1.2  christos static const unsigned char drbg_hmac_sha2_pr_addin1[] = {
    847  1.1.1.2  christos     0x22, 0x38, 0xcd, 0xb4, 0xe2, 0x3d, 0x62, 0x9f,
    848  1.1.1.2  christos     0xe0, 0xc2, 0xa8, 0x3d, 0xd8, 0xd5, 0x14, 0x4c,
    849  1.1.1.2  christos     0xe1, 0xa6, 0x22, 0x9e, 0xf4, 0x1d, 0xab, 0xe2,
    850  1.1.1.2  christos     0xa9, 0x9f, 0xf7, 0x22, 0xe5, 0x10, 0xb5, 0x30
    851  1.1.1.2  christos };
    852  1.1.1.2  christos static const unsigned char drbg_hmac_sha2_pr_expected[] = {
    853  1.1.1.2  christos     0xb1, 0xd1, 0x7c, 0x00, 0x2a, 0x7f, 0xeb, 0xd2,
    854  1.1.1.2  christos     0x84, 0x12, 0xd8, 0xe5, 0x8a, 0x7f, 0x32, 0x31,
    855  1.1.1.2  christos     0x8e, 0x4e, 0xe3, 0x60, 0x5a, 0x99, 0xb0, 0x5b,
    856  1.1.1.2  christos     0x05, 0xd5, 0x93, 0x56, 0xd5, 0xf0, 0xc6, 0xb4,
    857  1.1.1.2  christos     0x96, 0x0a, 0x4b, 0x8f, 0x96, 0x3b, 0x7e, 0xfa,
    858  1.1.1.2  christos     0x55, 0xbb, 0x68, 0x72, 0xfb, 0xea, 0xc7, 0xb9,
    859  1.1.1.2  christos     0x9b, 0x78, 0xde, 0xa8, 0xf3, 0x53, 0x19, 0x73,
    860  1.1.1.2  christos     0x63, 0x7c, 0x94, 0x6a, 0x9c, 0xab, 0x33, 0x49,
    861  1.1.1.2  christos     0x74, 0x4b, 0x24, 0xa0, 0x85, 0x1d, 0xd4, 0x7f,
    862  1.1.1.2  christos     0x2b, 0x3b, 0x46, 0x0c, 0x2c, 0x61, 0x84, 0x6e,
    863  1.1.1.2  christos     0x91, 0x18, 0x1d, 0x62, 0xd4, 0x2c, 0x60, 0xa4,
    864  1.1.1.2  christos     0xef, 0xda, 0x5e, 0xd5, 0x79, 0x02, 0xbf, 0xd7,
    865  1.1.1.2  christos     0x02, 0xb3, 0x49, 0xc5, 0x49, 0x52, 0xc7, 0xf6,
    866  1.1.1.2  christos     0x44, 0x76, 0x9d, 0x8e, 0xf4, 0x01, 0x5e, 0xcc,
    867  1.1.1.2  christos     0x5f, 0x5b, 0xbd, 0x4a, 0xf0, 0x61, 0x34, 0x68,
    868  1.1.1.2  christos     0x8e, 0x30, 0x05, 0x0e, 0x04, 0x97, 0xfb, 0x0a
    869      1.1  christos };
    870      1.1  christos 
    871      1.1  christos static const ST_KAT_DRBG st_kat_drbg_tests[] =
    872      1.1  christos {
    873      1.1  christos     {
    874      1.1  christos         OSSL_SELF_TEST_DESC_DRBG_HASH,
    875      1.1  christos         "HASH-DRBG", "digest", "SHA256",
    876      1.1  christos         ITM(drbg_hash_sha256_pr_entropyin),
    877      1.1  christos         ITM(drbg_hash_sha256_pr_nonce),
    878      1.1  christos         ITM(drbg_hash_sha256_pr_persstr),
    879      1.1  christos         ITM(drbg_hash_sha256_pr_entropyinpr0),
    880      1.1  christos         ITM(drbg_hash_sha256_pr_entropyinpr1),
    881      1.1  christos         ITM(drbg_hash_sha256_pr_addin0),
    882      1.1  christos         ITM(drbg_hash_sha256_pr_addin1),
    883      1.1  christos         ITM(drbg_hash_sha256_pr_expected)
    884      1.1  christos     },
    885      1.1  christos     {
    886      1.1  christos         OSSL_SELF_TEST_DESC_DRBG_CTR,
    887      1.1  christos         "CTR-DRBG", "cipher", "AES-128-CTR",
    888      1.1  christos         ITM(drbg_ctr_aes128_pr_df_entropyin),
    889      1.1  christos         ITM(drbg_ctr_aes128_pr_df_nonce),
    890      1.1  christos         ITM(drbg_ctr_aes128_pr_df_persstr),
    891      1.1  christos         ITM(drbg_ctr_aes128_pr_df_entropyinpr0),
    892      1.1  christos         ITM(drbg_ctr_aes128_pr_df_entropyinpr1),
    893      1.1  christos         ITM(drbg_ctr_aes128_pr_df_addin0),
    894      1.1  christos         ITM(drbg_ctr_aes128_pr_df_addin1),
    895      1.1  christos         ITM(drbg_ctr_aes128_pr_df_expected)
    896      1.1  christos     },
    897      1.1  christos     {
    898      1.1  christos         OSSL_SELF_TEST_DESC_DRBG_HMAC,
    899  1.1.1.2  christos         "HMAC-DRBG", "digest", "SHA256",
    900  1.1.1.2  christos         ITM(drbg_hmac_sha2_pr_entropyin),
    901  1.1.1.2  christos         ITM(drbg_hmac_sha2_pr_nonce),
    902  1.1.1.2  christos         ITM(drbg_hmac_sha2_pr_persstr),
    903  1.1.1.2  christos         ITM(drbg_hmac_sha2_pr_entropyinpr0),
    904  1.1.1.2  christos         ITM(drbg_hmac_sha2_pr_entropyinpr1),
    905  1.1.1.2  christos         ITM(drbg_hmac_sha2_pr_addin0),
    906  1.1.1.2  christos         ITM(drbg_hmac_sha2_pr_addin1),
    907  1.1.1.2  christos         ITM(drbg_hmac_sha2_pr_expected)
    908      1.1  christos     }
    909      1.1  christos };
    910      1.1  christos 
    911      1.1  christos /* KEY EXCHANGE TEST DATA */
    912      1.1  christos 
    913      1.1  christos #ifndef OPENSSL_NO_DH
    914      1.1  christos /* DH KAT */
    915      1.1  christos static const unsigned char dh_priv[] = {
    916      1.1  christos     0x14, 0x33, 0xe0, 0xb5, 0xa9, 0x17, 0xb6, 0x0a,
    917      1.1  christos     0x30, 0x23, 0xf2, 0xf8, 0xaa, 0x2c, 0x2d, 0x70,
    918      1.1  christos     0xd2, 0x96, 0x8a, 0xba, 0x9a, 0xea, 0xc8, 0x15,
    919      1.1  christos     0x40, 0xb8, 0xfc, 0xe6
    920      1.1  christos };
    921      1.1  christos static const unsigned char dh_pub[] = {
    922  1.1.1.2  christos     0x00, 0x8f, 0x81, 0x67, 0x68, 0xce, 0x97, 0x99,
    923  1.1.1.2  christos     0x7e, 0x11, 0x5c, 0xad, 0x5b, 0xe1, 0x0c, 0xd4,
    924  1.1.1.2  christos     0x15, 0x44, 0xdf, 0xc2, 0x47, 0xe7, 0x06, 0x27,
    925  1.1.1.2  christos     0x5e, 0xf3, 0x9d, 0x5c, 0x4b, 0x2e, 0x35, 0x05,
    926  1.1.1.2  christos     0xfd, 0x3c, 0x8f, 0x35, 0x85, 0x1b, 0x82, 0xdd,
    927  1.1.1.2  christos     0x49, 0xc9, 0xa8, 0x7e, 0x3a, 0x5f, 0x33, 0xdc,
    928  1.1.1.2  christos     0x8f, 0x5e, 0x32, 0x76, 0xe1, 0x52, 0x1b, 0x88,
    929  1.1.1.2  christos     0x85, 0xda, 0xa9, 0x1d, 0x5f, 0x1c, 0x05, 0x3a,
    930  1.1.1.2  christos     0xd4, 0x8d, 0xbb, 0xe7, 0x46, 0x46, 0x1e, 0x29,
    931  1.1.1.2  christos     0x4b, 0x5a, 0x02, 0x88, 0x46, 0x94, 0xd0, 0x68,
    932  1.1.1.2  christos     0x7d, 0xb2, 0x9f, 0x3a, 0x3d, 0x82, 0x05, 0xe5,
    933  1.1.1.2  christos     0xa7, 0xbe, 0x6c, 0x7e, 0x24, 0x35, 0x25, 0x14,
    934  1.1.1.2  christos     0xf3, 0x45, 0x08, 0x90, 0xfc, 0x55, 0x2e, 0xa8,
    935  1.1.1.2  christos     0xb8, 0xb1, 0x89, 0x15, 0x94, 0x51, 0x44, 0xa9,
    936  1.1.1.2  christos     0x9f, 0x68, 0xcb, 0x90, 0xbc, 0xd3, 0xae, 0x02,
    937  1.1.1.2  christos     0x37, 0x26, 0xe4, 0xe9, 0x1a, 0x90, 0x95, 0x7e,
    938  1.1.1.2  christos     0x1d, 0xac, 0x0c, 0x91, 0x97, 0x83, 0x24, 0x83,
    939  1.1.1.2  christos     0xb9, 0xa1, 0x40, 0x72, 0xac, 0xf0, 0x55, 0x32,
    940  1.1.1.2  christos     0x18, 0xab, 0xb8, 0x90, 0xda, 0x13, 0x4a, 0xc8,
    941  1.1.1.2  christos     0x4b, 0x7c, 0x18, 0xbc, 0x33, 0xbf, 0x99, 0x85,
    942  1.1.1.2  christos     0x39, 0x3e, 0xc6, 0x95, 0x9b, 0x48, 0x8e, 0xbe,
    943  1.1.1.2  christos     0x46, 0x59, 0x48, 0x41, 0x0d, 0x37, 0x25, 0x94,
    944  1.1.1.2  christos     0xbe, 0x8d, 0xf5, 0x81, 0x52, 0xf6, 0xdc, 0xeb,
    945  1.1.1.2  christos     0x98, 0xd7, 0x3b, 0x44, 0x61, 0x6f, 0xa3, 0xef,
    946  1.1.1.2  christos     0x7b, 0xfe, 0xbb, 0xc2, 0x8e, 0x46, 0x63, 0xbc,
    947  1.1.1.2  christos     0x52, 0x65, 0xf9, 0xf8, 0x85, 0x41, 0xdf, 0x82,
    948  1.1.1.2  christos     0x4a, 0x10, 0x2a, 0xe3, 0x0c, 0xb7, 0xad, 0x84,
    949  1.1.1.2  christos     0xa6, 0x6f, 0x4e, 0x8e, 0x96, 0x1e, 0x04, 0xf7,
    950  1.1.1.2  christos     0x57, 0x39, 0xca, 0x58, 0xd4, 0xef, 0x5a, 0xf1,
    951  1.1.1.2  christos     0xf5, 0x69, 0xc2, 0xb1, 0x5c, 0x0a, 0xce, 0xbe,
    952  1.1.1.2  christos     0x38, 0x01, 0xb5, 0x3f, 0x07, 0x8a, 0x72, 0x90,
    953  1.1.1.2  christos     0x10, 0xac, 0x51, 0x3a, 0x96, 0x43, 0xdf, 0x6f,
    954  1.1.1.2  christos     0xea
    955      1.1  christos };
    956      1.1  christos static const unsigned char dh_peer_pub[] = {
    957      1.1  christos     0x1f, 0xc1, 0xda, 0x34, 0x1d, 0x1a, 0x84, 0x6a,
    958      1.1  christos     0x96, 0xb7, 0xbe, 0x24, 0x34, 0x0f, 0x87, 0x7d,
    959      1.1  christos     0xd0, 0x10, 0xaa, 0x03, 0x56, 0xd5, 0xad, 0x58,
    960      1.1  christos     0xaa, 0xe9, 0xc7, 0xb0, 0x8f, 0x74, 0x9a, 0x32,
    961      1.1  christos     0x23, 0x51, 0x10, 0xb5, 0xd8, 0x8e, 0xb5, 0xdb,
    962      1.1  christos     0xfa, 0x97, 0x8d, 0x27, 0xec, 0xc5, 0x30, 0xf0,
    963      1.1  christos     0x2d, 0x31, 0x14, 0x00, 0x5b, 0x64, 0xb1, 0xc0,
    964      1.1  christos     0xe0, 0x24, 0xcb, 0x8a, 0xe2, 0x16, 0x98, 0xbc,
    965      1.1  christos     0xa9, 0xe6, 0x0d, 0x42, 0x80, 0x86, 0x22, 0xf1,
    966      1.1  christos     0x81, 0xc5, 0x6e, 0x1d, 0xe7, 0xa9, 0x6e, 0x6e,
    967      1.1  christos     0xfe, 0xe9, 0xd6, 0x65, 0x67, 0xe9, 0x1b, 0x97,
    968      1.1  christos     0x70, 0x42, 0xc7, 0xe3, 0xd0, 0x44, 0x8f, 0x05,
    969      1.1  christos     0xfb, 0x77, 0xf5, 0x22, 0xb9, 0xbf, 0xc8, 0xd3,
    970      1.1  christos     0x3c, 0xc3, 0xc3, 0x1e, 0xd3, 0xb3, 0x1f, 0x0f,
    971      1.1  christos     0xec, 0xb6, 0xdb, 0x4f, 0x6e, 0xa3, 0x11, 0xe7,
    972      1.1  christos     0x7a, 0xfd, 0xbc, 0xd4, 0x7a, 0xee, 0x1b, 0xb1,
    973      1.1  christos     0x50, 0xf2, 0x16, 0x87, 0x35, 0x78, 0xfb, 0x96,
    974      1.1  christos     0x46, 0x8e, 0x8f, 0x9f, 0x3d, 0xe8, 0xef, 0xbf,
    975      1.1  christos     0xce, 0x75, 0x62, 0x4b, 0x1d, 0xf0, 0x53, 0x22,
    976      1.1  christos     0xa3, 0x4f, 0x14, 0x63, 0xe8, 0x39, 0xe8, 0x98,
    977      1.1  christos     0x4c, 0x4a, 0xd0, 0xa9, 0x6e, 0x1a, 0xc8, 0x42,
    978      1.1  christos     0xe5, 0x31, 0x8c, 0xc2, 0x3c, 0x06, 0x2a, 0x8c,
    979      1.1  christos     0xa1, 0x71, 0xb8, 0xd5, 0x75, 0x98, 0x0d, 0xde,
    980      1.1  christos     0x7f, 0xc5, 0x6f, 0x15, 0x36, 0x52, 0x38, 0x20,
    981      1.1  christos     0xd4, 0x31, 0x92, 0xbf, 0xd5, 0x1e, 0x8e, 0x22,
    982      1.1  christos     0x89, 0x78, 0xac, 0xa5, 0xb9, 0x44, 0x72, 0xf3,
    983      1.1  christos     0x39, 0xca, 0xeb, 0x99, 0x31, 0xb4, 0x2b, 0xe3,
    984      1.1  christos     0x01, 0x26, 0x8b, 0xc9, 0x97, 0x89, 0xc9, 0xb2,
    985      1.1  christos     0x55, 0x71, 0xc3, 0xc0, 0xe4, 0xcb, 0x3f, 0x00,
    986      1.1  christos     0x7f, 0x1a, 0x51, 0x1c, 0xbb, 0x53, 0xc8, 0x51,
    987      1.1  christos     0x9c, 0xdd, 0x13, 0x02, 0xab, 0xca, 0x6c, 0x0f,
    988      1.1  christos     0x34, 0xf9, 0x67, 0x39, 0xf1, 0x7f, 0xf4, 0x8b
    989      1.1  christos };
    990      1.1  christos 
    991      1.1  christos static const unsigned char dh_secret_expected[256] = {
    992      1.1  christos     0xa0, 0x38, 0x64, 0x37, 0xdf, 0x2d, 0x2c, 0x78,
    993      1.1  christos     0x49, 0xb9, 0xa7, 0x77, 0xfb, 0xc1, 0x69, 0x94,
    994      1.1  christos     0x85, 0xc5, 0x5a, 0xbc, 0x8d, 0x43, 0x32, 0x23,
    995      1.1  christos     0x94, 0xf5, 0xba, 0xb4, 0x5f, 0x22, 0x4b, 0x4e,
    996      1.1  christos     0xc4, 0xfd, 0x89, 0x41, 0x56, 0x41, 0xe8, 0x9f,
    997      1.1  christos     0x2d, 0x0d, 0x26, 0x33, 0x60, 0x13, 0x8a, 0x20,
    998      1.1  christos     0xf1, 0x7e, 0xb3, 0x76, 0x38, 0x03, 0x0e, 0x48,
    999      1.1  christos     0x4f, 0x27, 0x8c, 0x32, 0xdb, 0x66, 0x5c, 0xbf,
   1000      1.1  christos     0x7f, 0xc7, 0xeb, 0xc6, 0x2d, 0xfd, 0x00, 0x08,
   1001      1.1  christos     0xb0, 0x98, 0x4e, 0xad, 0x68, 0x65, 0xca, 0x9e,
   1002      1.1  christos     0x78, 0xe1, 0xaa, 0xb7, 0x8e, 0x08, 0x4d, 0x67,
   1003      1.1  christos     0xa6, 0x15, 0x16, 0xbb, 0x41, 0xac, 0x15, 0xb5,
   1004      1.1  christos     0x08, 0x92, 0x5d, 0x25, 0x1d, 0x7f, 0xf3, 0x1b,
   1005      1.1  christos     0x5c, 0xea, 0x21, 0x6b, 0xe5, 0x00, 0x4d, 0xb6,
   1006      1.1  christos     0x8e, 0xae, 0x84, 0xb4, 0xee, 0xf7, 0xcc, 0xdd,
   1007      1.1  christos     0x64, 0x19, 0x4e, 0x25, 0xce, 0x37, 0x4f, 0xde,
   1008      1.1  christos     0xb6, 0x21, 0xba, 0xd9, 0xc0, 0x7a, 0x87, 0xc7,
   1009      1.1  christos     0x90, 0x0a, 0x78, 0x8b, 0xdd, 0xbc, 0x68, 0x77,
   1010      1.1  christos     0x2d, 0xa6, 0xdf, 0x4d, 0x2e, 0xca, 0xdc, 0x86,
   1011      1.1  christos     0xb6, 0x1e, 0x54, 0x2b, 0x3a, 0xa9, 0x52, 0x67,
   1012      1.1  christos     0xf3, 0x1a, 0x35, 0xb7, 0x5a, 0xcd, 0x99, 0x59,
   1013      1.1  christos     0xe9, 0x07, 0x6f, 0xd7, 0xd7, 0x96, 0x8a, 0x47,
   1014      1.1  christos     0xdf, 0x9f, 0x51, 0x1b, 0x04, 0xa9, 0x45, 0x30,
   1015      1.1  christos     0x89, 0x8a, 0x3f, 0x7e, 0xca, 0xfc, 0x05, 0x2d,
   1016      1.1  christos     0x18, 0x77, 0x8f, 0x45, 0x25, 0x39, 0xdb, 0xf2,
   1017      1.1  christos     0x13, 0x36, 0x31, 0xdb, 0x50, 0x65, 0x63, 0x4a,
   1018      1.1  christos     0xae, 0x3e, 0xd1, 0x3e, 0xde, 0xc1, 0x32, 0x4b,
   1019      1.1  christos     0x78, 0x19, 0x03, 0x70, 0x0a, 0xc2, 0xa2, 0x6f,
   1020      1.1  christos     0x9b, 0xd4, 0xa6, 0x1d, 0x47, 0xf2, 0xa6, 0x91,
   1021      1.1  christos     0x61, 0x4a, 0x74, 0xf8, 0x70, 0x39, 0x42, 0x72,
   1022      1.1  christos     0xd5, 0x58, 0x7f, 0xcd, 0x16, 0xeb, 0x82, 0x0c,
   1023      1.1  christos     0x2c, 0xf4, 0xd0, 0x95, 0x22, 0xf9, 0xbe, 0x99,
   1024      1.1  christos };
   1025      1.1  christos 
   1026      1.1  christos static const char dh_ffdhe2048[] = "ffdhe2048";
   1027      1.1  christos static const ST_KAT_PARAM dh_group[] = {
   1028      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_PKEY_PARAM_GROUP_NAME, dh_ffdhe2048),
   1029      1.1  christos     ST_KAT_PARAM_END()
   1030      1.1  christos };
   1031      1.1  christos 
   1032      1.1  christos /* The host's private key */
   1033      1.1  christos static const ST_KAT_PARAM dh_host_key[] = {
   1034      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_PUB_KEY, dh_pub),
   1035      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_PRIV_KEY, dh_priv),
   1036      1.1  christos     ST_KAT_PARAM_END()
   1037      1.1  christos };
   1038      1.1  christos 
   1039      1.1  christos /* The peer's public key */
   1040      1.1  christos static const ST_KAT_PARAM dh_peer_key[] = {
   1041      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_PUB_KEY, dh_peer_pub),
   1042      1.1  christos     ST_KAT_PARAM_END()
   1043      1.1  christos };
   1044      1.1  christos #endif /* OPENSSL_NO_DH */
   1045      1.1  christos 
   1046      1.1  christos 
   1047      1.1  christos #ifndef OPENSSL_NO_EC
   1048      1.1  christos static const char ecdh_curve_name[] = "prime256v1";
   1049      1.1  christos static const unsigned char ecdh_privd[] = {
   1050      1.1  christos     0x33, 0xd0, 0x43, 0x83, 0xa9, 0x89, 0x56, 0x03,
   1051      1.1  christos     0xd2, 0xd7, 0xfe, 0x6b, 0x01, 0x6f, 0xe4, 0x59,
   1052      1.1  christos     0xcc, 0x0d, 0x9a, 0x24, 0x6c, 0x86, 0x1b, 0x2e,
   1053      1.1  christos     0xdc, 0x4b, 0x4d, 0x35, 0x43, 0xe1, 0x1b, 0xad
   1054      1.1  christos };
   1055      1.1  christos static const unsigned char ecdh_pub[] = {
   1056      1.1  christos     0x04,
   1057      1.1  christos     0x1b, 0x93, 0x67, 0x55, 0x1c, 0x55, 0x9f, 0x63,
   1058      1.1  christos     0xd1, 0x22, 0xa4, 0xd8, 0xd1, 0x0a, 0x60, 0x6d,
   1059      1.1  christos     0x02, 0xa5, 0x77, 0x57, 0xc8, 0xa3, 0x47, 0x73,
   1060      1.1  christos     0x3a, 0x6a, 0x08, 0x28, 0x39, 0xbd, 0xc9, 0xd2,
   1061      1.1  christos     0x80, 0xec, 0xe9, 0xa7, 0x08, 0x29, 0x71, 0x2f,
   1062      1.1  christos     0xc9, 0x56, 0x82, 0xee, 0x9a, 0x85, 0x0f, 0x6d,
   1063      1.1  christos     0x7f, 0x59, 0x5f, 0x8c, 0xd1, 0x96, 0x0b, 0xdf,
   1064      1.1  christos     0x29, 0x3e, 0x49, 0x07, 0x88, 0x3f, 0x9a, 0x29
   1065      1.1  christos };
   1066      1.1  christos static const unsigned char ecdh_peer_pub[] = {
   1067      1.1  christos     0x04,
   1068      1.1  christos     0x1f, 0x72, 0xbd, 0x2a, 0x3e, 0xeb, 0x6c, 0x76,
   1069      1.1  christos     0xe5, 0x5d, 0x69, 0x75, 0x24, 0xbf, 0x2f, 0x5b,
   1070      1.1  christos     0x96, 0xb2, 0x91, 0x62, 0x06, 0x35, 0xcc, 0xb2,
   1071      1.1  christos     0x4b, 0x31, 0x1b, 0x0c, 0x6f, 0x06, 0x9f, 0x86,
   1072      1.1  christos     0xcf, 0xc8, 0xac, 0xd5, 0x4f, 0x4d, 0x77, 0xf3,
   1073      1.1  christos     0x70, 0x4a, 0x8f, 0x04, 0x9a, 0xb1, 0x03, 0xc7,
   1074      1.1  christos     0xeb, 0xd5, 0x94, 0x78, 0x61, 0xab, 0x78, 0x0c,
   1075      1.1  christos     0x4a, 0x2d, 0x6b, 0xf3, 0x2f, 0x2e, 0x4a, 0xbc
   1076      1.1  christos };
   1077      1.1  christos 
   1078      1.1  christos static const ST_KAT_PARAM ecdh_group[] = {
   1079      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_PKEY_PARAM_GROUP_NAME, ecdh_curve_name),
   1080      1.1  christos     ST_KAT_PARAM_END()
   1081      1.1  christos };
   1082      1.1  christos static const ST_KAT_PARAM ecdh_host_key[] = {
   1083      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PUB_KEY, ecdh_pub),
   1084      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_PRIV_KEY, ecdh_privd),
   1085      1.1  christos     ST_KAT_PARAM_END()
   1086      1.1  christos };
   1087      1.1  christos static const ST_KAT_PARAM ecdh_peer_key[] = {
   1088      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PUB_KEY, ecdh_peer_pub),
   1089      1.1  christos     ST_KAT_PARAM_END()
   1090      1.1  christos };
   1091      1.1  christos static const unsigned char ecdh_secret_expected[] = {
   1092      1.1  christos     0x45, 0x2a, 0x2f, 0x0d, 0x24, 0xe6, 0x8d, 0xd0,
   1093      1.1  christos     0xda, 0x59, 0x7b, 0x0c, 0xec, 0x9b, 0x4c, 0x38,
   1094      1.1  christos     0x41, 0xdd, 0xce, 0xb3, 0xcc, 0xf1, 0x90, 0x8e,
   1095      1.1  christos     0x30, 0xdb, 0x5b, 0x5f, 0x97, 0xea, 0xe0, 0xc2
   1096      1.1  christos };
   1097      1.1  christos #endif /* OPENSSL_NO_EC */
   1098      1.1  christos 
   1099      1.1  christos #if !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC)
   1100      1.1  christos static const ST_KAT_KAS st_kat_kas_tests[] =
   1101      1.1  christos {
   1102      1.1  christos # ifndef OPENSSL_NO_DH
   1103      1.1  christos     {
   1104      1.1  christos         OSSL_SELF_TEST_DESC_KA_DH,
   1105      1.1  christos         "DH",
   1106      1.1  christos         dh_group,
   1107      1.1  christos         dh_host_key,
   1108      1.1  christos         dh_peer_key,
   1109      1.1  christos         ITM(dh_secret_expected)
   1110      1.1  christos     },
   1111      1.1  christos # endif /* OPENSSL_NO_DH */
   1112      1.1  christos # ifndef OPENSSL_NO_EC
   1113      1.1  christos     {
   1114      1.1  christos         OSSL_SELF_TEST_DESC_KA_ECDH,
   1115      1.1  christos         "EC",
   1116      1.1  christos         ecdh_group,
   1117      1.1  christos         ecdh_host_key,
   1118      1.1  christos         ecdh_peer_key,
   1119      1.1  christos         ITM(ecdh_secret_expected)
   1120      1.1  christos     },
   1121      1.1  christos # endif /* OPENSSL_NO_EC */
   1122      1.1  christos };
   1123      1.1  christos #endif /* !defined(OPENSSL_NO_DH) || !defined(OPENSSL_NO_EC) */
   1124      1.1  christos 
   1125      1.1  christos /* RSA key data */
   1126      1.1  christos static const unsigned char rsa_n[] = {
   1127      1.1  christos     0xDB, 0x10, 0x1A, 0xC2, 0xA3, 0xF1, 0xDC, 0xFF,
   1128      1.1  christos     0x13, 0x6B, 0xED, 0x44, 0xDF, 0xF0, 0x02, 0x6D,
   1129      1.1  christos     0x13, 0xC7, 0x88, 0xDA, 0x70, 0x6B, 0x54, 0xF1,
   1130      1.1  christos     0xE8, 0x27, 0xDC, 0xC3, 0x0F, 0x99, 0x6A, 0xFA,
   1131      1.1  christos     0xC6, 0x67, 0xFF, 0x1D, 0x1E, 0x3C, 0x1D, 0xC1,
   1132      1.1  christos     0xB5, 0x5F, 0x6C, 0xC0, 0xB2, 0x07, 0x3A, 0x6D,
   1133      1.1  christos     0x41, 0xE4, 0x25, 0x99, 0xAC, 0xFC, 0xD2, 0x0F,
   1134      1.1  christos     0x02, 0xD3, 0xD1, 0x54, 0x06, 0x1A, 0x51, 0x77,
   1135      1.1  christos     0xBD, 0xB6, 0xBF, 0xEA, 0xA7, 0x5C, 0x06, 0xA9,
   1136      1.1  christos     0x5D, 0x69, 0x84, 0x45, 0xD7, 0xF5, 0x05, 0xBA,
   1137      1.1  christos     0x47, 0xF0, 0x1B, 0xD7, 0x2B, 0x24, 0xEC, 0xCB,
   1138      1.1  christos     0x9B, 0x1B, 0x10, 0x8D, 0x81, 0xA0, 0xBE, 0xB1,
   1139      1.1  christos     0x8C, 0x33, 0xE4, 0x36, 0xB8, 0x43, 0xEB, 0x19,
   1140      1.1  christos     0x2A, 0x81, 0x8D, 0xDE, 0x81, 0x0A, 0x99, 0x48,
   1141      1.1  christos     0xB6, 0xF6, 0xBC, 0xCD, 0x49, 0x34, 0x3A, 0x8F,
   1142      1.1  christos     0x26, 0x94, 0xE3, 0x28, 0x82, 0x1A, 0x7C, 0x8F,
   1143      1.1  christos     0x59, 0x9F, 0x45, 0xE8, 0x5D, 0x1A, 0x45, 0x76,
   1144      1.1  christos     0x04, 0x56, 0x05, 0xA1, 0xD0, 0x1B, 0x8C, 0x77,
   1145      1.1  christos     0x6D, 0xAF, 0x53, 0xFA, 0x71, 0xE2, 0x67, 0xE0,
   1146      1.1  christos     0x9A, 0xFE, 0x03, 0xA9, 0x85, 0xD2, 0xC9, 0xAA,
   1147      1.1  christos     0xBA, 0x2A, 0xBC, 0xF4, 0xA0, 0x08, 0xF5, 0x13,
   1148      1.1  christos     0x98, 0x13, 0x5D, 0xF0, 0xD9, 0x33, 0x34, 0x2A,
   1149      1.1  christos     0x61, 0xC3, 0x89, 0x55, 0xF0, 0xAE, 0x1A, 0x9C,
   1150      1.1  christos     0x22, 0xEE, 0x19, 0x05, 0x8D, 0x32, 0xFE, 0xEC,
   1151      1.1  christos     0x9C, 0x84, 0xBA, 0xB7, 0xF9, 0x6C, 0x3A, 0x4F,
   1152      1.1  christos     0x07, 0xFC, 0x45, 0xEB, 0x12, 0xE5, 0x7B, 0xFD,
   1153      1.1  christos     0x55, 0xE6, 0x29, 0x69, 0xD1, 0xC2, 0xE8, 0xB9,
   1154      1.1  christos     0x78, 0x59, 0xF6, 0x79, 0x10, 0xC6, 0x4E, 0xEB,
   1155      1.1  christos     0x6A, 0x5E, 0xB9, 0x9A, 0xC7, 0xC4, 0x5B, 0x63,
   1156      1.1  christos     0xDA, 0xA3, 0x3F, 0x5E, 0x92, 0x7A, 0x81, 0x5E,
   1157      1.1  christos     0xD6, 0xB0, 0xE2, 0x62, 0x8F, 0x74, 0x26, 0xC2,
   1158      1.1  christos     0x0C, 0xD3, 0x9A, 0x17, 0x47, 0xE6, 0x8E, 0xAB
   1159      1.1  christos };
   1160      1.1  christos static const unsigned char rsa_e[] = { 0x01, 0x00, 0x01 };
   1161      1.1  christos static const unsigned char rsa_d[] = {
   1162      1.1  christos     0x52, 0x41, 0xF4, 0xDA, 0x7B, 0xB7, 0x59, 0x55,
   1163      1.1  christos     0xCA, 0xD4, 0x2F, 0x0F, 0x3A, 0xCB, 0xA4, 0x0D,
   1164      1.1  christos     0x93, 0x6C, 0xCC, 0x9D, 0xC1, 0xB2, 0xFB, 0xFD,
   1165      1.1  christos     0xAE, 0x40, 0x31, 0xAC, 0x69, 0x52, 0x21, 0x92,
   1166      1.1  christos     0xB3, 0x27, 0xDF, 0xEA, 0xEE, 0x2C, 0x82, 0xBB,
   1167      1.1  christos     0xF7, 0x40, 0x32, 0xD5, 0x14, 0xC4, 0x94, 0x12,
   1168      1.1  christos     0xEC, 0xB8, 0x1F, 0xCA, 0x59, 0xE3, 0xC1, 0x78,
   1169      1.1  christos     0xF3, 0x85, 0xD8, 0x47, 0xA5, 0xD7, 0x02, 0x1A,
   1170      1.1  christos     0x65, 0x79, 0x97, 0x0D, 0x24, 0xF4, 0xF0, 0x67,
   1171      1.1  christos     0x6E, 0x75, 0x2D, 0xBF, 0x10, 0x3D, 0xA8, 0x7D,
   1172      1.1  christos     0xEF, 0x7F, 0x60, 0xE4, 0xE6, 0x05, 0x82, 0x89,
   1173      1.1  christos     0x5D, 0xDF, 0xC6, 0xD2, 0x6C, 0x07, 0x91, 0x33,
   1174      1.1  christos     0x98, 0x42, 0xF0, 0x02, 0x00, 0x25, 0x38, 0xC5,
   1175      1.1  christos     0x85, 0x69, 0x8A, 0x7D, 0x2F, 0x95, 0x6C, 0x43,
   1176      1.1  christos     0x9A, 0xB8, 0x81, 0xE2, 0xD0, 0x07, 0x35, 0xAA,
   1177      1.1  christos     0x05, 0x41, 0xC9, 0x1E, 0xAF, 0xE4, 0x04, 0x3B,
   1178      1.1  christos     0x19, 0xB8, 0x73, 0xA2, 0xAC, 0x4B, 0x1E, 0x66,
   1179      1.1  christos     0x48, 0xD8, 0x72, 0x1F, 0xAC, 0xF6, 0xCB, 0xBC,
   1180      1.1  christos     0x90, 0x09, 0xCA, 0xEC, 0x0C, 0xDC, 0xF9, 0x2C,
   1181      1.1  christos     0xD7, 0xEB, 0xAE, 0xA3, 0xA4, 0x47, 0xD7, 0x33,
   1182      1.1  christos     0x2F, 0x8A, 0xCA, 0xBC, 0x5E, 0xF0, 0x77, 0xE4,
   1183      1.1  christos     0x97, 0x98, 0x97, 0xC7, 0x10, 0x91, 0x7D, 0x2A,
   1184      1.1  christos     0xA6, 0xFF, 0x46, 0x83, 0x97, 0xDE, 0xE9, 0xE2,
   1185      1.1  christos     0x17, 0x03, 0x06, 0x14, 0xE2, 0xD7, 0xB1, 0x1D,
   1186      1.1  christos     0x77, 0xAF, 0x51, 0x27, 0x5B, 0x5E, 0x69, 0xB8,
   1187      1.1  christos     0x81, 0xE6, 0x11, 0xC5, 0x43, 0x23, 0x81, 0x04,
   1188      1.1  christos     0x62, 0xFF, 0xE9, 0x46, 0xB8, 0xD8, 0x44, 0xDB,
   1189      1.1  christos     0xA5, 0xCC, 0x31, 0x54, 0x34, 0xCE, 0x3E, 0x82,
   1190      1.1  christos     0xD6, 0xBF, 0x7A, 0x0B, 0x64, 0x21, 0x6D, 0x88,
   1191      1.1  christos     0x7E, 0x5B, 0x45, 0x12, 0x1E, 0x63, 0x8D, 0x49,
   1192      1.1  christos     0xA7, 0x1D, 0xD9, 0x1E, 0x06, 0xCD, 0xE8, 0xBA,
   1193      1.1  christos     0x2C, 0x8C, 0x69, 0x32, 0xEA, 0xBE, 0x60, 0x71
   1194      1.1  christos };
   1195      1.1  christos static const unsigned char rsa_p[] = {
   1196      1.1  christos     0xFA, 0xAC, 0xE1, 0x37, 0x5E, 0x32, 0x11, 0x34,
   1197      1.1  christos     0xC6, 0x72, 0x58, 0x2D, 0x91, 0x06, 0x3E, 0x77,
   1198      1.1  christos     0xE7, 0x11, 0x21, 0xCD, 0x4A, 0xF8, 0xA4, 0x3F,
   1199      1.1  christos     0x0F, 0xEF, 0x31, 0xE3, 0xF3, 0x55, 0xA0, 0xB9,
   1200      1.1  christos     0xAC, 0xB6, 0xCB, 0xBB, 0x41, 0xD0, 0x32, 0x81,
   1201      1.1  christos     0x9A, 0x8F, 0x7A, 0x99, 0x30, 0x77, 0x6C, 0x68,
   1202      1.1  christos     0x27, 0xE2, 0x96, 0xB5, 0x72, 0xC9, 0xC3, 0xD4,
   1203      1.1  christos     0x42, 0xAA, 0xAA, 0xCA, 0x95, 0x8F, 0xFF, 0xC9,
   1204      1.1  christos     0x9B, 0x52, 0x34, 0x30, 0x1D, 0xCF, 0xFE, 0xCF,
   1205      1.1  christos     0x3C, 0x56, 0x68, 0x6E, 0xEF, 0xE7, 0x6C, 0xD7,
   1206      1.1  christos     0xFB, 0x99, 0xF5, 0x4A, 0xA5, 0x21, 0x1F, 0x2B,
   1207      1.1  christos     0xEA, 0x93, 0xE8, 0x98, 0x26, 0xC4, 0x6E, 0x42,
   1208      1.1  christos     0x21, 0x5E, 0xA0, 0xA1, 0x2A, 0x58, 0x35, 0xBB,
   1209      1.1  christos     0x10, 0xE7, 0xBA, 0x27, 0x0A, 0x3B, 0xB3, 0xAF,
   1210      1.1  christos     0xE2, 0x75, 0x36, 0x04, 0xAC, 0x56, 0xA0, 0xAB,
   1211      1.1  christos     0x52, 0xDE, 0xCE, 0xDD, 0x2C, 0x28, 0x77, 0x03
   1212      1.1  christos };
   1213      1.1  christos static const unsigned char rsa_q[] = {
   1214      1.1  christos     0xDF, 0xB7, 0x52, 0xB6, 0xD7, 0xC0, 0xE2, 0x96,
   1215      1.1  christos     0xE7, 0xC9, 0xFE, 0x5D, 0x71, 0x5A, 0xC4, 0x40,
   1216      1.1  christos     0x96, 0x2F, 0xE5, 0x87, 0xEA, 0xF3, 0xA5, 0x77,
   1217      1.1  christos     0x11, 0x67, 0x3C, 0x8D, 0x56, 0x08, 0xA7, 0xB5,
   1218      1.1  christos     0x67, 0xFA, 0x37, 0xA8, 0xB8, 0xCF, 0x61, 0xE8,
   1219      1.1  christos     0x63, 0xD8, 0x38, 0x06, 0x21, 0x2B, 0x92, 0x09,
   1220      1.1  christos     0xA6, 0x39, 0x3A, 0xEA, 0xA8, 0xB4, 0x45, 0x4B,
   1221      1.1  christos     0x36, 0x10, 0x4C, 0xE4, 0x00, 0x66, 0x71, 0x65,
   1222      1.1  christos     0xF8, 0x0B, 0x94, 0x59, 0x4F, 0x8C, 0xFD, 0xD5,
   1223      1.1  christos     0x34, 0xA2, 0xE7, 0x62, 0x84, 0x0A, 0xA7, 0xBB,
   1224      1.1  christos     0xDB, 0xD9, 0x8A, 0xCD, 0x05, 0xE1, 0xCC, 0x57,
   1225      1.1  christos     0x7B, 0xF1, 0xF1, 0x1F, 0x11, 0x9D, 0xBA, 0x3E,
   1226      1.1  christos     0x45, 0x18, 0x99, 0x1B, 0x41, 0x64, 0x43, 0xEE,
   1227      1.1  christos     0x97, 0x5D, 0x77, 0x13, 0x5B, 0x74, 0x69, 0x73,
   1228      1.1  christos     0x87, 0x95, 0x05, 0x07, 0xBE, 0x45, 0x07, 0x17,
   1229      1.1  christos     0x7E, 0x4A, 0x69, 0x22, 0xF3, 0xDB, 0x05, 0x39
   1230      1.1  christos };
   1231      1.1  christos static const unsigned char rsa_dp[] = {
   1232      1.1  christos     0x5E, 0xD8, 0xDC, 0xDA, 0x53, 0x44, 0xC4, 0x67,
   1233      1.1  christos     0xE0, 0x92, 0x51, 0x34, 0xE4, 0x83, 0xA5, 0x4D,
   1234      1.1  christos     0x3E, 0xDB, 0xA7, 0x9B, 0x82, 0xBB, 0x73, 0x81,
   1235      1.1  christos     0xFC, 0xE8, 0x77, 0x4B, 0x15, 0xBE, 0x17, 0x73,
   1236      1.1  christos     0x49, 0x9B, 0x5C, 0x98, 0xBC, 0xBD, 0x26, 0xEF,
   1237      1.1  christos     0x0C, 0xE9, 0x2E, 0xED, 0x19, 0x7E, 0x86, 0x41,
   1238      1.1  christos     0x1E, 0x9E, 0x48, 0x81, 0xDD, 0x2D, 0xE4, 0x6F,
   1239      1.1  christos     0xC2, 0xCD, 0xCA, 0x93, 0x9E, 0x65, 0x7E, 0xD5,
   1240      1.1  christos     0xEC, 0x73, 0xFD, 0x15, 0x1B, 0xA2, 0xA0, 0x7A,
   1241      1.1  christos     0x0F, 0x0D, 0x6E, 0xB4, 0x53, 0x07, 0x90, 0x92,
   1242      1.1  christos     0x64, 0x3B, 0x8B, 0xA9, 0x33, 0xB3, 0xC5, 0x94,
   1243      1.1  christos     0x9B, 0x4C, 0x5D, 0x9C, 0x7C, 0x46, 0xA4, 0xA5,
   1244      1.1  christos     0x56, 0xF4, 0xF3, 0xF8, 0x27, 0x0A, 0x7B, 0x42,
   1245      1.1  christos     0x0D, 0x92, 0x70, 0x47, 0xE7, 0x42, 0x51, 0xA9,
   1246      1.1  christos     0xC2, 0x18, 0xB1, 0x58, 0xB1, 0x50, 0x91, 0xB8,
   1247      1.1  christos     0x61, 0x41, 0xB6, 0xA9, 0xCE, 0xD4, 0x7C, 0xBB
   1248      1.1  christos };
   1249      1.1  christos static const unsigned char rsa_dq[] = {
   1250      1.1  christos     0x54, 0x09, 0x1F, 0x0F, 0x03, 0xD8, 0xB6, 0xC5,
   1251      1.1  christos     0x0C, 0xE8, 0xB9, 0x9E, 0x0C, 0x38, 0x96, 0x43,
   1252      1.1  christos     0xD4, 0xA6, 0xC5, 0x47, 0xDB, 0x20, 0x0E, 0xE5,
   1253      1.1  christos     0xBD, 0x29, 0xD4, 0x7B, 0x1A, 0xF8, 0x41, 0x57,
   1254      1.1  christos     0x49, 0x69, 0x9A, 0x82, 0xCC, 0x79, 0x4A, 0x43,
   1255      1.1  christos     0xEB, 0x4D, 0x8B, 0x2D, 0xF2, 0x43, 0xD5, 0xA5,
   1256      1.1  christos     0xBE, 0x44, 0xFD, 0x36, 0xAC, 0x8C, 0x9B, 0x02,
   1257      1.1  christos     0xF7, 0x9A, 0x03, 0xE8, 0x19, 0xA6, 0x61, 0xAE,
   1258      1.1  christos     0x76, 0x10, 0x93, 0x77, 0x41, 0x04, 0xAB, 0x4C,
   1259      1.1  christos     0xED, 0x6A, 0xCC, 0x14, 0x1B, 0x99, 0x8D, 0x0C,
   1260      1.1  christos     0x6A, 0x37, 0x3B, 0x86, 0x6C, 0x51, 0x37, 0x5B,
   1261      1.1  christos     0x1D, 0x79, 0xF2, 0xA3, 0x43, 0x10, 0xC6, 0xA7,
   1262      1.1  christos     0x21, 0x79, 0x6D, 0xF9, 0xE9, 0x04, 0x6A, 0xE8,
   1263      1.1  christos     0x32, 0xFF, 0xAE, 0xFD, 0x1C, 0x7B, 0x8C, 0x29,
   1264      1.1  christos     0x13, 0xA3, 0x0C, 0xB2, 0xAD, 0xEC, 0x6C, 0x0F,
   1265      1.1  christos     0x8D, 0x27, 0x12, 0x7B, 0x48, 0xB2, 0xDB, 0x31
   1266      1.1  christos };
   1267      1.1  christos static const unsigned char rsa_qInv[] = {
   1268      1.1  christos     0x8D, 0x1B, 0x05, 0xCA, 0x24, 0x1F, 0x0C, 0x53,
   1269      1.1  christos     0x19, 0x52, 0x74, 0x63, 0x21, 0xFA, 0x78, 0x46,
   1270      1.1  christos     0x79, 0xAF, 0x5C, 0xDE, 0x30, 0xA4, 0x6C, 0x20,
   1271      1.1  christos     0x38, 0xE6, 0x97, 0x39, 0xB8, 0x7A, 0x70, 0x0D,
   1272      1.1  christos     0x8B, 0x6C, 0x6D, 0x13, 0x74, 0xD5, 0x1C, 0xDE,
   1273      1.1  christos     0xA9, 0xF4, 0x60, 0x37, 0xFE, 0x68, 0x77, 0x5E,
   1274      1.1  christos     0x0B, 0x4E, 0x5E, 0x03, 0x31, 0x30, 0xDF, 0xD6,
   1275      1.1  christos     0xAE, 0x85, 0xD0, 0x81, 0xBB, 0x61, 0xC7, 0xB1,
   1276      1.1  christos     0x04, 0x5A, 0xC4, 0x6D, 0x56, 0x1C, 0xD9, 0x64,
   1277      1.1  christos     0xE7, 0x85, 0x7F, 0x88, 0x91, 0xC9, 0x60, 0x28,
   1278      1.1  christos     0x05, 0xE2, 0xC6, 0x24, 0x8F, 0xDD, 0x61, 0x64,
   1279      1.1  christos     0xD8, 0x09, 0xDE, 0x7E, 0xD3, 0x4A, 0x61, 0x1A,
   1280      1.1  christos     0xD3, 0x73, 0x58, 0x4B, 0xD8, 0xA0, 0x54, 0x25,
   1281      1.1  christos     0x48, 0x83, 0x6F, 0x82, 0x6C, 0xAF, 0x36, 0x51,
   1282      1.1  christos     0x2A, 0x5D, 0x14, 0x2F, 0x41, 0x25, 0x00, 0xDD,
   1283      1.1  christos     0xF8, 0xF3, 0x95, 0xFE, 0x31, 0x25, 0x50, 0x12
   1284      1.1  christos };
   1285      1.1  christos 
   1286      1.1  christos static const ST_KAT_PARAM rsa_crt_key[] = {
   1287      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_N, rsa_n),
   1288      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_E, rsa_e),
   1289      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_D, rsa_d),
   1290      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_FACTOR1, rsa_p),
   1291      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_FACTOR2, rsa_q),
   1292      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_EXPONENT1, rsa_dp),
   1293      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_EXPONENT2, rsa_dq),
   1294      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_COEFFICIENT1, rsa_qInv),
   1295      1.1  christos     ST_KAT_PARAM_END()
   1296      1.1  christos };
   1297      1.1  christos 
   1298      1.1  christos static const ST_KAT_PARAM rsa_pub_key[] = {
   1299      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_N, rsa_n),
   1300      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_E, rsa_e),
   1301      1.1  christos     ST_KAT_PARAM_END()
   1302      1.1  christos };
   1303      1.1  christos 
   1304      1.1  christos static const ST_KAT_PARAM rsa_priv_key[] = {
   1305      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_N, rsa_n),
   1306      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_E, rsa_e),
   1307      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_RSA_D, rsa_d),
   1308      1.1  christos     ST_KAT_PARAM_END()
   1309      1.1  christos };
   1310      1.1  christos 
   1311  1.1.1.2  christos /*-
   1312  1.1.1.2  christos  * Using OSSL_PKEY_RSA_PAD_MODE_NONE directly in the expansion of the
   1313  1.1.1.2  christos  * ST_KAT_PARAM_UTF8STRING macro below causes a failure on ancient
   1314  1.1.1.2  christos  * HP/UX PA-RISC compilers.
   1315  1.1.1.2  christos  */
   1316  1.1.1.2  christos static const char pad_mode_none[] = OSSL_PKEY_RSA_PAD_MODE_NONE;
   1317  1.1.1.2  christos 
   1318  1.1.1.2  christos static const ST_KAT_PARAM rsa_enc_params[] = {
   1319  1.1.1.2  christos     ST_KAT_PARAM_UTF8STRING(OSSL_ASYM_CIPHER_PARAM_PAD_MODE, pad_mode_none),
   1320  1.1.1.2  christos     ST_KAT_PARAM_END()
   1321  1.1.1.2  christos };
   1322  1.1.1.2  christos 
   1323      1.1  christos static const unsigned char rsa_sig_msg[] = "Hello World!";
   1324      1.1  christos 
   1325      1.1  christos static const unsigned char rsa_expected_sig[256] = {
   1326      1.1  christos     0xad, 0xbe, 0x2a, 0xaf, 0x16, 0x85, 0xc5, 0x00,
   1327      1.1  christos     0x91, 0x3e, 0xd0, 0x49, 0xfb, 0x3a, 0x81, 0xb9,
   1328      1.1  christos     0x6c, 0x28, 0xbc, 0xbf, 0xea, 0x96, 0x5f, 0xe4,
   1329      1.1  christos     0x9f, 0x99, 0xf7, 0x18, 0x8c, 0xec, 0x60, 0x28,
   1330      1.1  christos     0xeb, 0x29, 0x02, 0x49, 0xfc, 0xda, 0xd7, 0x78,
   1331      1.1  christos     0x68, 0xf8, 0xe1, 0xe9, 0x4d, 0x20, 0x6d, 0x32,
   1332      1.1  christos     0xa6, 0xde, 0xfc, 0xe4, 0xda, 0xcc, 0x6c, 0x75,
   1333      1.1  christos     0x36, 0x6b, 0xff, 0x5a, 0xac, 0x01, 0xa8, 0xc2,
   1334      1.1  christos     0xa9, 0xe6, 0x8b, 0x18, 0x3e, 0xec, 0xea, 0x4c,
   1335      1.1  christos     0x4a, 0x9e, 0x00, 0x09, 0xd1, 0x8a, 0x69, 0x1b,
   1336      1.1  christos     0x8b, 0xd9, 0xad, 0x37, 0xe5, 0x7c, 0xff, 0x7d,
   1337      1.1  christos     0x59, 0x56, 0x3e, 0xa0, 0xc6, 0x32, 0xd8, 0x35,
   1338      1.1  christos     0x2f, 0xff, 0xfb, 0x05, 0x02, 0xcd, 0xd7, 0x19,
   1339      1.1  christos     0xb9, 0x00, 0x86, 0x2a, 0xcf, 0xaa, 0x78, 0x16,
   1340      1.1  christos     0x4b, 0xf1, 0xa7, 0x59, 0xef, 0x7d, 0xe8, 0x74,
   1341      1.1  christos     0x23, 0x5c, 0xb2, 0xd4, 0x8a, 0x99, 0xa5, 0xbc,
   1342      1.1  christos     0xfa, 0x63, 0xd8, 0xf7, 0xbd, 0xc6, 0x00, 0x13,
   1343      1.1  christos     0x06, 0x02, 0x9a, 0xd4, 0xa7, 0xb4, 0x3d, 0x61,
   1344      1.1  christos     0xab, 0xf1, 0xc2, 0x95, 0x59, 0x9b, 0x3d, 0x67,
   1345      1.1  christos     0x1f, 0xde, 0x57, 0xb6, 0xb6, 0x9f, 0xb0, 0x87,
   1346      1.1  christos     0xd6, 0x51, 0xd5, 0x3e, 0x00, 0xe2, 0xc9, 0xa0,
   1347      1.1  christos     0x03, 0x66, 0xbc, 0x01, 0xb3, 0x8e, 0xfa, 0xf1,
   1348      1.1  christos     0x15, 0xeb, 0x26, 0xf1, 0x5d, 0x81, 0x90, 0xb4,
   1349      1.1  christos     0x1c, 0x00, 0x7c, 0x83, 0x4a, 0xa5, 0xde, 0x64,
   1350      1.1  christos     0xae, 0xea, 0x6c, 0x43, 0xc3, 0x20, 0x77, 0x77,
   1351      1.1  christos     0x42, 0x12, 0x24, 0xf5, 0xe3, 0x70, 0xdd, 0x59,
   1352      1.1  christos     0x48, 0x9c, 0xef, 0xd4, 0x8a, 0x3c, 0x29, 0x6a,
   1353      1.1  christos     0x0c, 0x9c, 0xf2, 0x13, 0xa4, 0x1c, 0x2f, 0x49,
   1354      1.1  christos     0xcd, 0xb4, 0xaa, 0x28, 0x40, 0x34, 0xc6, 0x75,
   1355      1.1  christos     0xba, 0x30, 0xe6, 0xd8, 0x5b, 0x2f, 0x08, 0xd0,
   1356      1.1  christos     0x29, 0xa5, 0x39, 0xfb, 0x6e, 0x3b, 0x0f, 0x52,
   1357      1.1  christos     0x2c, 0x68, 0xf0, 0x37, 0xa9, 0xd2, 0x56, 0xd6
   1358      1.1  christos };
   1359      1.1  christos 
   1360      1.1  christos static const unsigned char rsa_asym_plaintext_encrypt[256] = {
   1361      1.1  christos    0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
   1362      1.1  christos    0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
   1363      1.1  christos };
   1364      1.1  christos static const unsigned char rsa_asym_expected_encrypt[256] = {
   1365      1.1  christos     0x54, 0xac, 0x23, 0x96, 0x1d, 0x82, 0x5d, 0x8b,
   1366      1.1  christos     0x8f, 0x36, 0x33, 0xd0, 0xf4, 0x02, 0xa2, 0x61,
   1367      1.1  christos     0xb1, 0x13, 0xd4, 0x4a, 0x46, 0x06, 0x37, 0x3c,
   1368      1.1  christos     0xbf, 0x40, 0x05, 0x3c, 0xc6, 0x3b, 0x64, 0xdc,
   1369      1.1  christos     0x22, 0x22, 0xaf, 0x36, 0x79, 0x62, 0x45, 0xf0,
   1370      1.1  christos     0x97, 0x82, 0x22, 0x44, 0x86, 0x4a, 0x7c, 0xfa,
   1371      1.1  christos     0xac, 0x03, 0x21, 0x84, 0x3f, 0x31, 0xad, 0x2a,
   1372      1.1  christos     0xa4, 0x6e, 0x7a, 0xc5, 0x93, 0xf3, 0x0f, 0xfc,
   1373      1.1  christos     0xf1, 0x62, 0xce, 0x82, 0x12, 0x45, 0xc9, 0x35,
   1374      1.1  christos     0xb0, 0x7a, 0xcd, 0x99, 0x8c, 0x91, 0x6b, 0x5a,
   1375      1.1  christos     0xd3, 0x46, 0xdb, 0xf9, 0x9e, 0x52, 0x49, 0xbd,
   1376      1.1  christos     0x1e, 0xe8, 0xda, 0xac, 0x61, 0x47, 0xc2, 0xda,
   1377      1.1  christos     0xfc, 0x1e, 0xfb, 0x74, 0xd7, 0xd6, 0xc1, 0x18,
   1378      1.1  christos     0x86, 0x3e, 0x20, 0x9c, 0x7a, 0xe1, 0x04, 0xb7,
   1379      1.1  christos     0x38, 0x43, 0xb1, 0x4e, 0xa0, 0xd8, 0xc1, 0x39,
   1380      1.1  christos     0x4d, 0xe1, 0xd3, 0xb0, 0xb3, 0xf1, 0x82, 0x87,
   1381      1.1  christos     0x1f, 0x74, 0xb5, 0x69, 0xfd, 0x33, 0xd6, 0x21,
   1382      1.1  christos     0x7c, 0x61, 0x60, 0x28, 0xca, 0x70, 0xdb, 0xa0,
   1383      1.1  christos     0xbb, 0xc8, 0x73, 0xa9, 0x82, 0xf8, 0x6b, 0xd8,
   1384      1.1  christos     0xf0, 0xc9, 0x7b, 0x20, 0xdf, 0x9d, 0xfb, 0x8c,
   1385      1.1  christos     0xd4, 0xa2, 0x89, 0xe1, 0x9b, 0x04, 0xad, 0xaa,
   1386      1.1  christos     0x11, 0x6c, 0x8f, 0xce, 0x83, 0x29, 0x56, 0x69,
   1387      1.1  christos     0xbb, 0x00, 0x3b, 0xef, 0xca, 0x2d, 0xcd, 0x52,
   1388      1.1  christos     0xc8, 0xf1, 0xb3, 0x9b, 0xb4, 0x4f, 0x6d, 0x9c,
   1389      1.1  christos     0x3d, 0x69, 0xcc, 0x6d, 0x1f, 0x38, 0x4d, 0xe6,
   1390      1.1  christos     0xbb, 0x0c, 0x87, 0xdc, 0x5f, 0xa9, 0x24, 0x93,
   1391      1.1  christos     0x03, 0x46, 0xa2, 0x33, 0x6c, 0xf4, 0xd8, 0x5d,
   1392      1.1  christos     0x68, 0xf3, 0xd3, 0xe0, 0xf2, 0x30, 0xdb, 0xf5,
   1393      1.1  christos     0x4f, 0x0f, 0xad, 0xc7, 0xd0, 0xaa, 0x47, 0xd9,
   1394      1.1  christos     0x9f, 0x85, 0x1b, 0x2e, 0x6c, 0x3c, 0x57, 0x04,
   1395      1.1  christos     0x29, 0xf4, 0xf5, 0x66, 0x7d, 0x93, 0x4a, 0xaa,
   1396      1.1  christos     0x05, 0x52, 0x55, 0xc1, 0xc6, 0x06, 0x90, 0xab,
   1397      1.1  christos };
   1398      1.1  christos 
   1399      1.1  christos #ifndef OPENSSL_NO_EC
   1400      1.1  christos /* ECDSA key data */
   1401      1.1  christos static const char ecd_prime_curve_name[] = "secp224r1";
   1402      1.1  christos static const unsigned char ecd_prime_priv[] = {
   1403      1.1  christos     0x98, 0x1f, 0xb5, 0xf1, 0xfc, 0x87, 0x1d, 0x7d,
   1404      1.1  christos     0xde, 0x1e, 0x01, 0x64, 0x09, 0x9b, 0xe7, 0x1b,
   1405      1.1  christos     0x9f, 0xad, 0x63, 0xdd, 0x33, 0x01, 0xd1, 0x50,
   1406      1.1  christos     0x80, 0x93, 0x50, 0x30
   1407      1.1  christos };
   1408      1.1  christos static const unsigned char ecd_prime_pub[] = {
   1409      1.1  christos     0x04, 0x95, 0x47, 0x99, 0x44, 0x29, 0x8f, 0x51,
   1410      1.1  christos     0x39, 0xe2, 0x53, 0xec, 0x79, 0xb0, 0x4d, 0xde,
   1411      1.1  christos     0x87, 0x1a, 0x76, 0x54, 0xd5, 0x96, 0xb8, 0x7a,
   1412      1.1  christos     0x6d, 0xf4, 0x1c, 0x2c, 0x87, 0x91, 0x5f, 0xd5,
   1413      1.1  christos     0x31, 0xdd, 0x24, 0xe5, 0x78, 0xd9, 0x08, 0x24,
   1414      1.1  christos     0x8a, 0x49, 0x99, 0xec, 0x55, 0xf2, 0x82, 0xb3,
   1415      1.1  christos     0xc4, 0xb7, 0x33, 0x68, 0xe4, 0x24, 0xa9, 0x12,
   1416      1.1  christos     0x82
   1417      1.1  christos };
   1418      1.1  christos static const unsigned char ecdsa_prime_expected_sig[] = {
   1419      1.1  christos     0x30, 0x3d, 0x02, 0x1c, 0x48, 0x4f, 0x3c, 0x97,
   1420      1.1  christos     0x5b, 0xfa, 0x40, 0x6c, 0xdb, 0xd6, 0x70, 0xb5,
   1421      1.1  christos     0xbd, 0x2d, 0xd0, 0xc6, 0x22, 0x93, 0x5a, 0x88,
   1422      1.1  christos     0x56, 0xd0, 0xaf, 0x0a, 0x94, 0x92, 0x20, 0x01,
   1423      1.1  christos     0x02, 0x1d, 0x00, 0xa4, 0x80, 0xe0, 0x47, 0x88,
   1424      1.1  christos     0x8a, 0xef, 0x2a, 0x47, 0x9d, 0x81, 0x9a, 0xbf,
   1425      1.1  christos     0x45, 0xc3, 0x6f, 0x9e, 0x2e, 0xc1, 0x44, 0x9f,
   1426      1.1  christos     0xfd, 0x79, 0xdb, 0x90, 0x3e, 0xb9, 0xb2
   1427      1.1  christos };
   1428      1.1  christos static const ST_KAT_PARAM ecdsa_prime_key[] = {
   1429      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_PKEY_PARAM_GROUP_NAME, ecd_prime_curve_name),
   1430      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PUB_KEY, ecd_prime_pub),
   1431      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_PRIV_KEY, ecd_prime_priv),
   1432      1.1  christos     ST_KAT_PARAM_END()
   1433      1.1  christos };
   1434      1.1  christos 
   1435      1.1  christos # ifndef OPENSSL_NO_EC2M
   1436      1.1  christos static const char ecd_bin_curve_name[] = "sect233r1";
   1437      1.1  christos static const unsigned char ecd_bin_priv[] = {
   1438      1.1  christos     0x00, 0x6d, 0xd6, 0x39, 0x9d, 0x2a, 0xa2, 0xc8,
   1439      1.1  christos     0x8c, 0xfc, 0x7b, 0x80, 0x66, 0xaa, 0xe1, 0xaa,
   1440      1.1  christos     0xba, 0xee, 0xcb, 0xfd, 0xc9, 0xe5, 0x36, 0x38,
   1441      1.1  christos     0x2e, 0xf7, 0x37, 0x6d, 0xd3, 0x20
   1442      1.1  christos };
   1443      1.1  christos static const unsigned char ecd_bin_pub[] = {
   1444      1.1  christos     0x04, 0x00, 0x06, 0xe2, 0x56, 0xf7, 0x37, 0xf9,
   1445      1.1  christos     0xea, 0xb6, 0xd1, 0x0f, 0x59, 0xfa, 0x23, 0xc3,
   1446      1.1  christos     0x93, 0xa8, 0xb2, 0x26, 0xe2, 0x5c, 0x08, 0xbe,
   1447      1.1  christos     0x63, 0x49, 0x26, 0xdc, 0xc7, 0x1e, 0x6f, 0x01,
   1448      1.1  christos     0x32, 0x3b, 0xe6, 0x54, 0x8d, 0xc1, 0x13, 0x3e,
   1449      1.1  christos     0x54, 0xb2, 0x66, 0x89, 0xb2, 0x82, 0x0a, 0x72,
   1450      1.1  christos     0x02, 0xa8, 0xe9, 0x6f, 0x54, 0xfd, 0x3a, 0x6b,
   1451      1.1  christos     0x99, 0xb6, 0x8f, 0x80, 0x46
   1452      1.1  christos };
   1453      1.1  christos static const unsigned char ecdsa_bin_expected_sig[] = {
   1454      1.1  christos     0x30, 0x3f, 0x02, 0x1d, 0x58, 0xe9, 0xd0, 0x84,
   1455      1.1  christos     0x5c, 0xad, 0x29, 0x03, 0xf6, 0xa6, 0xbc, 0xe0,
   1456      1.1  christos     0x24, 0x6d, 0x9e, 0x79, 0x5d, 0x1e, 0xe8, 0x5a,
   1457      1.1  christos     0xc3, 0x31, 0x0a, 0xa9, 0xfb, 0xe3, 0x99, 0x54,
   1458      1.1  christos     0x11, 0x02, 0x1e, 0x00, 0xa3, 0x44, 0x28, 0xa3,
   1459      1.1  christos     0x70, 0x97, 0x98, 0x17, 0xd7, 0xa6, 0xad, 0x91,
   1460      1.1  christos     0xaf, 0x41, 0x69, 0xb6, 0x06, 0x99, 0x39, 0xc7,
   1461      1.1  christos     0x63, 0xa4, 0x6a, 0x81, 0xe4, 0x9a, 0x9d, 0x15,
   1462      1.1  christos     0x8b
   1463      1.1  christos };
   1464      1.1  christos static const ST_KAT_PARAM ecdsa_bin_key[] = {
   1465      1.1  christos     ST_KAT_PARAM_UTF8STRING(OSSL_PKEY_PARAM_GROUP_NAME, ecd_bin_curve_name),
   1466      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PUB_KEY, ecd_bin_pub),
   1467      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_PRIV_KEY, ecd_bin_priv),
   1468      1.1  christos     ST_KAT_PARAM_END()
   1469      1.1  christos };
   1470      1.1  christos # endif /* OPENSSL_NO_EC2M */
   1471      1.1  christos 
   1472      1.1  christos # ifndef OPENSSL_NO_ECX
   1473      1.1  christos static const unsigned char ecx_sig_msg[] = {
   1474      1.1  christos     0x64, 0xa6, 0x5f, 0x3c, 0xde, 0xdc, 0xdd, 0x66,
   1475      1.1  christos     0x81, 0x1e, 0x29, 0x15
   1476      1.1  christos };
   1477      1.1  christos static const unsigned char ed25519_pub[] = {
   1478      1.1  christos     0xfc, 0x51, 0xcd, 0x8e, 0x62, 0x18, 0xa1, 0xa3,
   1479      1.1  christos     0x8d, 0xa4, 0x7e, 0xd0, 0x02, 0x30, 0xf0, 0x58,
   1480      1.1  christos     0x08, 0x16, 0xed, 0x13, 0xba, 0x33, 0x03, 0xac,
   1481      1.1  christos     0x5d, 0xeb, 0x91, 0x15, 0x48, 0x90, 0x80, 0x25
   1482      1.1  christos };
   1483      1.1  christos static const unsigned char ed25519_priv[] = {
   1484      1.1  christos     0xc5, 0xaa, 0x8d, 0xf4, 0x3f, 0x9f, 0x83, 0x7b,
   1485      1.1  christos     0xed, 0xb7, 0x44, 0x2f, 0x31, 0xdc, 0xb7, 0xb1,
   1486      1.1  christos     0x66, 0xd3, 0x85, 0x35, 0x07, 0x6f, 0x09, 0x4b,
   1487      1.1  christos     0x85, 0xce, 0x3a, 0x2e, 0x0b, 0x44, 0x58, 0xf7
   1488      1.1  christos };
   1489      1.1  christos static const ST_KAT_PARAM ed25519_key[] = {
   1490      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PUB_KEY, ed25519_pub),
   1491      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PRIV_KEY, ed25519_priv),
   1492      1.1  christos     ST_KAT_PARAM_END()
   1493      1.1  christos };
   1494      1.1  christos static const unsigned char ed25519_expected_sig[] = {
   1495      1.1  christos     0x1e, 0xf4, 0xc5, 0x61, 0xdc, 0x97, 0x9f, 0xaf,
   1496      1.1  christos     0x55, 0x6b, 0x46, 0xa1, 0xae, 0xb0, 0x64, 0x13,
   1497      1.1  christos     0x1c, 0x98, 0x09, 0x96, 0x88, 0xe0, 0x9d, 0x0e,
   1498      1.1  christos     0x4e, 0x7d, 0xc4, 0xa5, 0xa1, 0x91, 0x09, 0xca,
   1499      1.1  christos     0xd9, 0x5b, 0x4f, 0x1c, 0x80, 0x82, 0x9f, 0x65,
   1500      1.1  christos     0xc1, 0x41, 0xa4, 0xe8, 0x02, 0x05, 0x0c, 0xa6,
   1501      1.1  christos     0x7e, 0xa0, 0xfa, 0x01, 0xee, 0xeb, 0xaa, 0x91,
   1502      1.1  christos     0x62, 0xfd, 0x0f, 0x25, 0xa0, 0x2d, 0x37, 0x09
   1503      1.1  christos };
   1504      1.1  christos 
   1505      1.1  christos static const unsigned char ed448_pub[] = {
   1506      1.1  christos     0x3b, 0xa1, 0x6d, 0xa0, 0xc6, 0xf2, 0xcc, 0x1f,
   1507      1.1  christos     0x30, 0x18, 0x77, 0x40, 0x75, 0x6f, 0x5e, 0x79,
   1508      1.1  christos     0x8d, 0x6b, 0xc5, 0xfc, 0x01, 0x5d, 0x7c, 0x63,
   1509      1.1  christos     0xcc, 0x95, 0x10, 0xee, 0x3f, 0xd4, 0x4a, 0xdc,
   1510      1.1  christos     0x24, 0xd8, 0xe9, 0x68, 0xb6, 0xe4, 0x6e, 0x6f,
   1511      1.1  christos     0x94, 0xd1, 0x9b, 0x94, 0x53, 0x61, 0x72, 0x6b,
   1512      1.1  christos     0xd7, 0x5e, 0x14, 0x9e, 0xf0, 0x98, 0x17, 0xf5,
   1513      1.1  christos     0x80
   1514      1.1  christos };
   1515      1.1  christos static const unsigned char ed448_priv[] = {
   1516      1.1  christos    0x25, 0x8c, 0xdd, 0x4a, 0xda, 0x32, 0xed, 0x9c,
   1517      1.1  christos    0x9f, 0xf5, 0x4e, 0x63, 0x75, 0x6a, 0xe5, 0x82,
   1518      1.1  christos    0xfb, 0x8f, 0xab, 0x2a, 0xc7, 0x21, 0xf2, 0xc8,
   1519      1.1  christos    0xe6, 0x76, 0xa7, 0x27, 0x68, 0x51, 0x3d, 0x93,
   1520      1.1  christos    0x9f, 0x63, 0xdd, 0xdb, 0x55, 0x60, 0x91, 0x33,
   1521      1.1  christos    0xf2, 0x9a, 0xdf, 0x86, 0xec, 0x99, 0x29, 0xdc,
   1522      1.1  christos    0xcb, 0x52, 0xc1, 0xc5, 0xfd, 0x2f, 0xf7, 0xe2,
   1523      1.1  christos    0x1b
   1524      1.1  christos };
   1525      1.1  christos static const ST_KAT_PARAM ed448_key[] = {
   1526      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PUB_KEY, ed448_pub),
   1527      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PRIV_KEY, ed448_priv),
   1528      1.1  christos     ST_KAT_PARAM_END()
   1529      1.1  christos };
   1530      1.1  christos static const unsigned char ed448_expected_sig[] = {
   1531      1.1  christos    0x7e, 0xee, 0xab, 0x7c, 0x4e, 0x50, 0xfb, 0x79,
   1532      1.1  christos    0x9b, 0x41, 0x8e, 0xe5, 0xe3, 0x19, 0x7f, 0xf6,
   1533      1.1  christos    0xbf, 0x15, 0xd4, 0x3a, 0x14, 0xc3, 0x43, 0x89,
   1534      1.1  christos    0xb5, 0x9d, 0xd1, 0xa7, 0xb1, 0xb8, 0x5b, 0x4a,
   1535      1.1  christos    0xe9, 0x04, 0x38, 0xac, 0xa6, 0x34, 0xbe, 0xa4,
   1536      1.1  christos    0x5e, 0x3a, 0x26, 0x95, 0xf1, 0x27, 0x0f, 0x07,
   1537      1.1  christos    0xfd, 0xcd, 0xf7, 0xc6, 0x2b, 0x8e, 0xfe, 0xaf,
   1538      1.1  christos    0x00, 0xb4, 0x5c, 0x2c, 0x96, 0xba, 0x45, 0x7e,
   1539      1.1  christos    0xb1, 0xa8, 0xbf, 0x07, 0x5a, 0x3d, 0xb2, 0x8e,
   1540      1.1  christos    0x5c, 0x24, 0xf6, 0xb9, 0x23, 0xed, 0x4a, 0xd7,
   1541      1.1  christos    0x47, 0xc3, 0xc9, 0xe0, 0x3c, 0x70, 0x79, 0xef,
   1542      1.1  christos    0xb8, 0x7c, 0xb1, 0x10, 0xd3, 0xa9, 0x98, 0x61,
   1543      1.1  christos    0xe7, 0x20, 0x03, 0xcb, 0xae, 0x6d, 0x6b, 0x8b,
   1544      1.1  christos    0x82, 0x7e, 0x4e, 0x6c, 0x14, 0x30, 0x64, 0xff,
   1545      1.1  christos    0x3c, 0x00
   1546      1.1  christos };
   1547      1.1  christos # endif /* OPENSSL_NO_ECX */
   1548      1.1  christos #endif /* OPENSSL_NO_EC */
   1549      1.1  christos 
   1550      1.1  christos #ifndef OPENSSL_NO_DSA
   1551      1.1  christos /* dsa 2048 */
   1552      1.1  christos static const unsigned char dsa_p[] = {
   1553      1.1  christos     0xa2, 0x9b, 0x88, 0x72, 0xce, 0x8b, 0x84, 0x23,
   1554      1.1  christos     0xb7, 0xd5, 0xd2, 0x1d, 0x4b, 0x02, 0xf5, 0x7e,
   1555      1.1  christos     0x03, 0xe9, 0xe6, 0xb8, 0xa2, 0x58, 0xdc, 0x16,
   1556      1.1  christos     0x61, 0x1b, 0xa0, 0x98, 0xab, 0x54, 0x34, 0x15,
   1557      1.1  christos     0xe4, 0x15, 0xf1, 0x56, 0x99, 0x7a, 0x3e, 0xe2,
   1558      1.1  christos     0x36, 0x65, 0x8f, 0xa0, 0x93, 0x26, 0x0d, 0xe3,
   1559      1.1  christos     0xad, 0x42, 0x2e, 0x05, 0xe0, 0x46, 0xf9, 0xec,
   1560      1.1  christos     0x29, 0x16, 0x1a, 0x37, 0x5f, 0x0e, 0xb4, 0xef,
   1561      1.1  christos     0xfc, 0xef, 0x58, 0x28, 0x5c, 0x5d, 0x39, 0xed,
   1562      1.1  christos     0x42, 0x5d, 0x7a, 0x62, 0xca, 0x12, 0x89, 0x6c,
   1563      1.1  christos     0x4a, 0x92, 0xcb, 0x19, 0x46, 0xf2, 0x95, 0x2a,
   1564      1.1  christos     0x48, 0x13, 0x3f, 0x07, 0xda, 0x36, 0x4d, 0x1b,
   1565      1.1  christos     0xdf, 0x6b, 0x0f, 0x71, 0x39, 0x98, 0x3e, 0x69,
   1566      1.1  christos     0x3c, 0x80, 0x05, 0x9b, 0x0e, 0xac, 0xd1, 0x47,
   1567      1.1  christos     0x9b, 0xa9, 0xf2, 0x85, 0x77, 0x54, 0xed, 0xe7,
   1568      1.1  christos     0x5f, 0x11, 0x2b, 0x07, 0xeb, 0xbf, 0x35, 0x34,
   1569      1.1  christos     0x8b, 0xbf, 0x3e, 0x01, 0xe0, 0x2f, 0x2d, 0x47,
   1570      1.1  christos     0x3d, 0xe3, 0x94, 0x53, 0xf9, 0x9d, 0xd2, 0x36,
   1571      1.1  christos     0x75, 0x41, 0xca, 0xca, 0x3b, 0xa0, 0x11, 0x66,
   1572      1.1  christos     0x34, 0x3d, 0x7b, 0x5b, 0x58, 0xa3, 0x7b, 0xd1,
   1573      1.1  christos     0xb7, 0x52, 0x1d, 0xb2, 0xf1, 0x3b, 0x86, 0x70,
   1574      1.1  christos     0x71, 0x32, 0xfe, 0x09, 0xf4, 0xcd, 0x09, 0xdc,
   1575      1.1  christos     0x16, 0x18, 0xfa, 0x34, 0x01, 0xeb, 0xf9, 0xcc,
   1576      1.1  christos     0x7b, 0x19, 0xfa, 0x94, 0xaa, 0x47, 0x20, 0x88,
   1577      1.1  christos     0x13, 0x3d, 0x6c, 0xb2, 0xd3, 0x5c, 0x11, 0x79,
   1578      1.1  christos     0xc8, 0xc8, 0xff, 0x36, 0x87, 0x58, 0xd5, 0x07,
   1579      1.1  christos     0xd9, 0xf9, 0xa1, 0x7d, 0x46, 0xc1, 0x10, 0xfe,
   1580      1.1  christos     0x31, 0x44, 0xce, 0x9b, 0x02, 0x2b, 0x42, 0xe4,
   1581      1.1  christos     0x19, 0xeb, 0x4f, 0x53, 0x88, 0x61, 0x3b, 0xfc,
   1582      1.1  christos     0x3e, 0x26, 0x24, 0x1a, 0x43, 0x2e, 0x87, 0x06,
   1583      1.1  christos     0xbc, 0x58, 0xef, 0x76, 0x11, 0x72, 0x78, 0xde,
   1584      1.1  christos     0xab, 0x6c, 0xf6, 0x92, 0x61, 0x82, 0x91, 0xb7
   1585      1.1  christos };
   1586      1.1  christos static const unsigned char dsa_q[] = {
   1587      1.1  christos     0xa3, 0xbf, 0xd9, 0xab, 0x78, 0x84, 0x79, 0x4e,
   1588      1.1  christos     0x38, 0x34, 0x50, 0xd5, 0x89, 0x1d, 0xc1, 0x8b,
   1589      1.1  christos     0x65, 0x15, 0x7b, 0xdc, 0xfc, 0xda, 0xc5, 0x15,
   1590      1.1  christos     0x18, 0x90, 0x28, 0x67
   1591      1.1  christos };
   1592      1.1  christos static const unsigned char dsa_g[] = {
   1593      1.1  christos     0x68, 0x19, 0x27, 0x88, 0x69, 0xc7, 0xfd, 0x3d,
   1594      1.1  christos     0x2d, 0x7b, 0x77, 0xf7, 0x7e, 0x81, 0x50, 0xd9,
   1595      1.1  christos     0xad, 0x43, 0x3b, 0xea, 0x3b, 0xa8, 0x5e, 0xfc,
   1596      1.1  christos     0x80, 0x41, 0x5a, 0xa3, 0x54, 0x5f, 0x78, 0xf7,
   1597      1.1  christos     0x22, 0x96, 0xf0, 0x6c, 0xb1, 0x9c, 0xed, 0xa0,
   1598      1.1  christos     0x6c, 0x94, 0xb0, 0x55, 0x1c, 0xfe, 0x6e, 0x6f,
   1599      1.1  christos     0x86, 0x3e, 0x31, 0xd1, 0xde, 0x6e, 0xed, 0x7d,
   1600      1.1  christos     0xab, 0x8b, 0x0c, 0x9d, 0xf2, 0x31, 0xe0, 0x84,
   1601      1.1  christos     0x34, 0xd1, 0x18, 0x4f, 0x91, 0xd0, 0x33, 0x69,
   1602      1.1  christos     0x6b, 0xb3, 0x82, 0xf8, 0x45, 0x5e, 0x98, 0x88,
   1603      1.1  christos     0xf5, 0xd3, 0x1d, 0x47, 0x84, 0xec, 0x40, 0x12,
   1604      1.1  christos     0x02, 0x46, 0xf4, 0xbe, 0xa6, 0x17, 0x94, 0xbb,
   1605      1.1  christos     0xa5, 0x86, 0x6f, 0x09, 0x74, 0x64, 0x63, 0xbd,
   1606      1.1  christos     0xf8, 0xe9, 0xe1, 0x08, 0xcd, 0x95, 0x29, 0xc3,
   1607      1.1  christos     0xd0, 0xf6, 0xdf, 0x80, 0x31, 0x6e, 0x2e, 0x70,
   1608      1.1  christos     0xaa, 0xeb, 0x1b, 0x26, 0xcd, 0xb8, 0xad, 0x97,
   1609      1.1  christos     0xbc, 0x3d, 0x28, 0x7e, 0x0b, 0x8d, 0x61, 0x6c,
   1610      1.1  christos     0x42, 0xe6, 0x5b, 0x87, 0xdb, 0x20, 0xde, 0xb7,
   1611      1.1  christos     0x00, 0x5b, 0xc4, 0x16, 0x74, 0x7a, 0x64, 0x70,
   1612      1.1  christos     0x14, 0x7a, 0x68, 0xa7, 0x82, 0x03, 0x88, 0xeb,
   1613      1.1  christos     0xf4, 0x4d, 0x52, 0xe0, 0x62, 0x8a, 0xf9, 0xcf,
   1614      1.1  christos     0x1b, 0x71, 0x66, 0xd0, 0x34, 0x65, 0xf3, 0x5a,
   1615      1.1  christos     0xcc, 0x31, 0xb6, 0x11, 0x0c, 0x43, 0xda, 0xbc,
   1616      1.1  christos     0x7c, 0x5d, 0x59, 0x1e, 0x67, 0x1e, 0xaf, 0x7c,
   1617      1.1  christos     0x25, 0x2c, 0x1c, 0x14, 0x53, 0x36, 0xa1, 0xa4,
   1618      1.1  christos     0xdd, 0xf1, 0x32, 0x44, 0xd5, 0x5e, 0x83, 0x56,
   1619      1.1  christos     0x80, 0xca, 0xb2, 0x53, 0x3b, 0x82, 0xdf, 0x2e,
   1620      1.1  christos     0xfe, 0x55, 0xec, 0x18, 0xc1, 0xe6, 0xcd, 0x00,
   1621      1.1  christos     0x7b, 0xb0, 0x89, 0x75, 0x8b, 0xb1, 0x7c, 0x2c,
   1622      1.1  christos     0xbe, 0x14, 0x44, 0x1b, 0xd0, 0x93, 0xae, 0x66,
   1623      1.1  christos     0xe5, 0x97, 0x6d, 0x53, 0x73, 0x3f, 0x4f, 0xa3,
   1624      1.1  christos     0x26, 0x97, 0x01, 0xd3, 0x1d, 0x23, 0xd4, 0x67
   1625      1.1  christos };
   1626      1.1  christos static const unsigned char dsa_pub[] = {
   1627      1.1  christos     0xa0, 0x12, 0xb3, 0xb1, 0x70, 0xb3, 0x07, 0x22,
   1628      1.1  christos     0x79, 0x57, 0xb7, 0xca, 0x20, 0x61, 0xa8, 0x16,
   1629      1.1  christos     0xac, 0x7a, 0x2b, 0x3d, 0x9a, 0xe9, 0x95, 0xa5,
   1630      1.1  christos     0x11, 0x9c, 0x38, 0x5b, 0x60, 0x3b, 0xf6, 0xf6,
   1631      1.1  christos     0xc5, 0xde, 0x4d, 0xc5, 0xec, 0xb5, 0xdf, 0xa4,
   1632      1.1  christos     0xa4, 0x1c, 0x68, 0x66, 0x2e, 0xb2, 0x5b, 0x63,
   1633      1.1  christos     0x8b, 0x7e, 0x26, 0x20, 0xba, 0x89, 0x8d, 0x07,
   1634      1.1  christos     0xda, 0x6c, 0x49, 0x91, 0xe7, 0x6c, 0xc0, 0xec,
   1635      1.1  christos     0xd1, 0xad, 0x34, 0x21, 0x07, 0x70, 0x67, 0xe4,
   1636      1.1  christos     0x7c, 0x18, 0xf5, 0x8a, 0x92, 0xa7, 0x2a, 0xd4,
   1637      1.1  christos     0x31, 0x99, 0xec, 0xb7, 0xbd, 0x84, 0xe7, 0xd3,
   1638      1.1  christos     0xaf, 0xb9, 0x01, 0x9f, 0x0e, 0x9d, 0xd0, 0xfb,
   1639      1.1  christos     0xaa, 0x48, 0x73, 0x00, 0xb1, 0x30, 0x81, 0xe3,
   1640      1.1  christos     0x3c, 0x90, 0x28, 0x76, 0x43, 0x6f, 0x7b, 0x03,
   1641      1.1  christos     0xc3, 0x45, 0x52, 0x84, 0x81, 0xd3, 0x62, 0x81,
   1642      1.1  christos     0x5e, 0x24, 0xfe, 0x59, 0xda, 0xc5, 0xac, 0x34,
   1643      1.1  christos     0x66, 0x0d, 0x4c, 0x8a, 0x76, 0xcb, 0x99, 0xa7,
   1644      1.1  christos     0xc7, 0xde, 0x93, 0xeb, 0x95, 0x6c, 0xd6, 0xbc,
   1645      1.1  christos     0x88, 0xe5, 0x8d, 0x90, 0x10, 0x34, 0x94, 0x4a,
   1646      1.1  christos     0x09, 0x4b, 0x01, 0x80, 0x3a, 0x43, 0xc6, 0x72,
   1647      1.1  christos     0xb9, 0x68, 0x8c, 0x0e, 0x01, 0xd8, 0xf4, 0xfc,
   1648      1.1  christos     0x91, 0xc6, 0x2a, 0x3f, 0x88, 0x02, 0x1f, 0x7b,
   1649      1.1  christos     0xd6, 0xa6, 0x51, 0xb1, 0xa8, 0x8f, 0x43, 0xaa,
   1650      1.1  christos     0x4e, 0xf2, 0x76, 0x53, 0xd1, 0x2b, 0xf8, 0xb7,
   1651      1.1  christos     0x09, 0x9f, 0xdf, 0x6b, 0x46, 0x10, 0x82, 0xf8,
   1652      1.1  christos     0xe9, 0x39, 0x10, 0x7b, 0xfd, 0x2f, 0x72, 0x10,
   1653      1.1  christos     0x08, 0x7d, 0x32, 0x6c, 0x37, 0x52, 0x00, 0xf1,
   1654      1.1  christos     0xf5, 0x1e, 0x7e, 0x74, 0xa3, 0x41, 0x31, 0x90,
   1655      1.1  christos     0x1b, 0xcd, 0x08, 0x63, 0x52, 0x1f, 0xf8, 0xd6,
   1656      1.1  christos     0x76, 0xc4, 0x85, 0x81, 0x86, 0x87, 0x36, 0xc5,
   1657      1.1  christos     0xe5, 0x1b, 0x16, 0xa4, 0xe3, 0x92, 0x15, 0xea,
   1658      1.1  christos     0x0b, 0x17, 0xc4, 0x73, 0x59, 0x74, 0xc5, 0x16
   1659      1.1  christos };
   1660      1.1  christos static const unsigned char dsa_expected_sig[] = {
   1661      1.1  christos     0x30, 0x3c, 0x02, 0x1c, 0x69, 0xc6, 0xd6, 0x9e,
   1662      1.1  christos     0x2b, 0x91, 0xea, 0x72, 0xb3, 0x8b, 0x7c, 0x57,
   1663      1.1  christos     0x48, 0x75, 0xb7, 0x65, 0xc0, 0xb4, 0xf7, 0xbb,
   1664      1.1  christos     0x08, 0xa4, 0x95, 0x77, 0xfc, 0xa7, 0xed, 0x31,
   1665      1.1  christos     0x02, 0x1c, 0x4c, 0x2c, 0xff, 0xc6, 0x55, 0xeb,
   1666      1.1  christos     0x8f, 0xa7, 0x4f, 0x27, 0xd8, 0xec, 0xfd, 0x62,
   1667      1.1  christos     0x73, 0xf2, 0xd1, 0x55, 0xa5, 0xf0, 0x41, 0x68,
   1668      1.1  christos     0x34, 0x8d, 0x9e, 0x88, 0x08, 0x06
   1669      1.1  christos };
   1670      1.1  christos 
   1671      1.1  christos static const ST_KAT_PARAM dsa_key[] = {
   1672      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_FFC_P, dsa_p),
   1673      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_FFC_Q, dsa_q),
   1674      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_FFC_G, dsa_g),
   1675      1.1  christos     ST_KAT_PARAM_BIGNUM(OSSL_PKEY_PARAM_PUB_KEY, dsa_pub),
   1676      1.1  christos     ST_KAT_PARAM_END()
   1677      1.1  christos };
   1678      1.1  christos #endif /* OPENSSL_NO_DSA */
   1679      1.1  christos 
   1680      1.1  christos #ifndef OPENSSL_NO_ML_DSA
   1681      1.1  christos static const unsigned char ml_dsa_65_pub_key[] = {
   1682      1.1  christos     0x3b, 0x5c, 0xb0, 0x79, 0xd2, 0xce, 0x76, 0x2b,
   1683      1.1  christos     0x3b, 0x95, 0x7c, 0x26, 0x69, 0x8f, 0xe7, 0x01,
   1684      1.1  christos     0xb9, 0x6b, 0x50, 0xa3, 0x2c, 0x73, 0x67, 0xcf,
   1685      1.1  christos     0x9e, 0xf4, 0xb8, 0x7d, 0xe3, 0xaf, 0x27, 0x77,
   1686      1.1  christos     0xc6, 0x7c, 0x34, 0xb7, 0x30, 0x4d, 0x01, 0xa4,
   1687      1.1  christos     0xaa, 0xce, 0x16, 0x7c, 0x13, 0x2b, 0x30, 0x6c,
   1688      1.1  christos     0x88, 0x31, 0xe4, 0x90, 0xf5, 0xc2, 0x80, 0xf5,
   1689      1.1  christos     0xe8, 0xb9, 0x2d, 0x7a, 0x83, 0x17, 0xfc, 0xbb,
   1690      1.1  christos     0x13, 0x6f, 0x18, 0x75, 0x5b, 0x40, 0x39, 0x2d,
   1691      1.1  christos     0x47, 0x56, 0x15, 0xc7, 0x1c, 0x6e, 0x9a, 0x95,
   1692      1.1  christos     0x7b, 0x6b, 0x77, 0x9f, 0x86, 0x38, 0x0e, 0xee,
   1693      1.1  christos     0xc0, 0x82, 0x6c, 0x3c, 0xae, 0xc0, 0xcf, 0x5a,
   1694      1.1  christos     0x85, 0x49, 0xb1, 0x0c, 0x2d, 0x0e, 0x51, 0x73,
   1695      1.1  christos     0xf0, 0xe7, 0xad, 0x3b, 0xa7, 0x3f, 0xf5, 0x75,
   1696      1.1  christos     0xb9, 0xb4, 0x63, 0xb9, 0xf0, 0x0a, 0xf4, 0x29,
   1697      1.1  christos     0x90, 0x20, 0x72, 0x46, 0x8c, 0x7a, 0xaa, 0x86,
   1698      1.1  christos     0xb7, 0x4e, 0xa7, 0x65, 0x23, 0xef, 0xec, 0x46,
   1699      1.1  christos     0x67, 0x02, 0xf1, 0xbb, 0x88, 0xc7, 0xa4, 0xfc,
   1700      1.1  christos     0x66, 0x52, 0x07, 0x67, 0x68, 0xa2, 0x72, 0xe8,
   1701      1.1  christos     0x8a, 0x53, 0x97, 0xe6, 0x89, 0x96, 0x95, 0x9e,
   1702      1.1  christos     0x6a, 0xe9, 0xa4, 0x7d, 0x19, 0x19, 0x5f, 0xb4,
   1703      1.1  christos     0x77, 0x52, 0x17, 0xd6, 0xf2, 0xea, 0x7f, 0xfc,
   1704      1.1  christos     0x5c, 0xd5, 0x18, 0x16, 0x8c, 0xc2, 0x2e, 0x31,
   1705      1.1  christos     0xf8, 0x98, 0x4b, 0x72, 0xa1, 0x80, 0xb6, 0x5c,
   1706      1.1  christos     0x32, 0x19, 0x2f, 0xe0, 0xae, 0x74, 0xf4, 0xc4,
   1707      1.1  christos     0x0a, 0xe0, 0x54, 0x52, 0x46, 0x9e, 0xf3, 0xb9,
   1708      1.1  christos     0x6c, 0x56, 0xd1, 0xe8, 0x99, 0x29, 0x39, 0x95,
   1709      1.1  christos     0x30, 0xa2, 0x6a, 0xc6, 0x32, 0x8a, 0xa6, 0x02,
   1710      1.1  christos     0x6a, 0x39, 0x2e, 0x13, 0x20, 0xbc, 0xf8, 0x7a,
   1711      1.1  christos     0x09, 0xb6, 0xa7, 0xd1, 0x39, 0xa5, 0x12, 0x02,
   1712      1.1  christos     0x81, 0x47, 0x8c, 0xc0, 0x1e, 0xfd, 0xf3, 0x28,
   1713      1.1  christos     0xe5, 0x34, 0xec, 0xf0, 0xfc, 0x3f, 0x22, 0x16,
   1714      1.1  christos     0xd2, 0xfe, 0xf0, 0xca, 0xaa, 0x6f, 0x82, 0xdd,
   1715      1.1  christos     0xd6, 0x83, 0xaf, 0xf9, 0xeb, 0x1d, 0xa8, 0x45,
   1716      1.1  christos     0x39, 0x63, 0xa5, 0xde, 0xee, 0x7d, 0x91, 0xe3,
   1717      1.1  christos     0xaa, 0xcc, 0x07, 0x92, 0xce, 0x50, 0xfd, 0xe4,
   1718      1.1  christos     0xa8, 0x50, 0x91, 0xd5, 0xec, 0xc1, 0x1b, 0x57,
   1719      1.1  christos     0x92, 0x37, 0x68, 0xf8, 0xd6, 0x32, 0x55, 0xba,
   1720      1.1  christos     0x65, 0xae, 0xb6, 0xc3, 0x9f, 0x6c, 0x18, 0xc5,
   1721      1.1  christos     0x12, 0x17, 0x9a, 0x04, 0x29, 0xab, 0x14, 0x94,
   1722      1.1  christos     0xbb, 0x13, 0x79, 0x5e, 0xb9, 0xf0, 0x62, 0x03,
   1723      1.1  christos     0xe0, 0xa4, 0x91, 0xba, 0x81, 0x4b, 0xaa, 0xf1,
   1724      1.1  christos     0x82, 0x47, 0x83, 0x43, 0x5f, 0x1e, 0x2d, 0x48,
   1725      1.1  christos     0x40, 0x56, 0xe4, 0x29, 0x79, 0x01, 0xd5, 0x89,
   1726      1.1  christos     0xaf, 0xa4, 0x56, 0x9e, 0x38, 0x62, 0x03, 0xa0,
   1727      1.1  christos     0xe7, 0x9f, 0x08, 0x1f, 0xca, 0xd4, 0x31, 0x48,
   1728      1.1  christos     0xf6, 0x68, 0xe0, 0xcc, 0x28, 0xff, 0x06, 0x97,
   1729      1.1  christos     0x67, 0x4b, 0x70, 0x78, 0xa0, 0x2a, 0xf9, 0x46,
   1730      1.1  christos     0x80, 0x6d, 0x37, 0xfb, 0xb3, 0x17, 0x12, 0xf0,
   1731      1.1  christos     0x95, 0xc7, 0xee, 0x31, 0x54, 0x75, 0xdf, 0x2a,
   1732      1.1  christos     0xa8, 0x7d, 0xff, 0x97, 0xbb, 0x45, 0x49, 0x55,
   1733      1.1  christos     0xd5, 0xac, 0x9c, 0x6f, 0x0e, 0xc3, 0x94, 0x96,
   1734      1.1  christos     0xc4, 0x9e, 0x9c, 0x45, 0x31, 0xcb, 0x23, 0xed,
   1735      1.1  christos     0x21, 0xf1, 0xfe, 0xe9, 0xf9, 0x8c, 0xb6, 0x8e,
   1736      1.1  christos     0x72, 0x6e, 0xdd, 0x37, 0x1c, 0xc7, 0xd6, 0x6b,
   1737      1.1  christos     0x36, 0x35, 0xa0, 0x67, 0x54, 0x00, 0x65, 0x2c,
   1738      1.1  christos     0xc8, 0xa4, 0xa0, 0x9e, 0x72, 0xd7, 0xc9, 0x3c,
   1739      1.1  christos     0x8c, 0x78, 0x1a, 0xf8, 0x80, 0xad, 0xc4, 0x99,
   1740      1.1  christos     0xc7, 0x35, 0x4e, 0x89, 0x3b, 0x4f, 0xa6, 0x9d,
   1741      1.1  christos     0x5d, 0xce, 0x66, 0x4d, 0x82, 0xef, 0x47, 0x73,
   1742      1.1  christos     0xa8, 0xc5, 0x14, 0x20, 0xdd, 0x57, 0x92, 0x10,
   1743      1.1  christos     0x95, 0x8a, 0xe1, 0xac, 0x82, 0xec, 0x39, 0xe7,
   1744      1.1  christos     0x2c, 0xa6, 0xfd, 0x50, 0x68, 0x0c, 0x3e, 0xcf,
   1745      1.1  christos     0xbc, 0xc5, 0x12, 0xfe, 0x30, 0xc8, 0xb7, 0xb4,
   1746      1.1  christos     0x84, 0xd8, 0x1d, 0x67, 0x54, 0x9d, 0x20, 0x49,
   1747      1.1  christos     0xa5, 0xfd, 0xf9, 0x18, 0xef, 0xc2, 0xd2, 0xcd,
   1748      1.1  christos     0xb7, 0x54, 0x2b, 0x31, 0x12, 0xf9, 0xaa, 0x8e,
   1749      1.1  christos     0x0a, 0x29, 0x0c, 0x37, 0xd2, 0x7c, 0xcd, 0xc5,
   1750      1.1  christos     0x0b, 0x98, 0x25, 0x97, 0x0b, 0x5a, 0xf7, 0x07,
   1751      1.1  christos     0x91, 0x98, 0xd1, 0x42, 0xdf, 0xc4, 0xf9, 0x42,
   1752      1.1  christos     0x97, 0xda, 0x20, 0xf4, 0x88, 0xe1, 0x6b, 0xd4,
   1753      1.1  christos     0x85, 0xf5, 0x1d, 0xca, 0x2a, 0xba, 0x30, 0xc5,
   1754      1.1  christos     0xdf, 0x9d, 0x4d, 0xb8, 0xb0, 0x30, 0x54, 0x61,
   1755      1.1  christos     0xcf, 0x91, 0x6f, 0x90, 0xa5, 0x25, 0x05, 0x9b,
   1756      1.1  christos     0x2b, 0x3e, 0x13, 0xcd, 0xcd, 0x40, 0x59, 0x7c,
   1757      1.1  christos     0x92, 0x9b, 0x51, 0x81, 0x0d, 0x58, 0x32, 0x0a,
   1758      1.1  christos     0x43, 0xbd, 0x01, 0xb4, 0xb8, 0x0b, 0xd5, 0xee,
   1759      1.1  christos     0x0d, 0x67, 0x70, 0x59, 0xd7, 0x47, 0x4f, 0xe5,
   1760      1.1  christos     0x84, 0x07, 0x75, 0x3e, 0x54, 0xfb, 0x5d, 0xd1,
   1761      1.1  christos     0x3f, 0x72, 0x6e, 0xae, 0xf9, 0x4b, 0x7b, 0x57,
   1762      1.1  christos     0xe0, 0xde, 0x8b, 0x8b, 0x12, 0x1b, 0x10, 0x3b,
   1763      1.1  christos     0x5e, 0x17, 0xd1, 0x72, 0x18, 0x3d, 0xff, 0xc6,
   1764      1.1  christos     0x83, 0xa5, 0xaf, 0xf9, 0x30, 0xae, 0xb7, 0x47,
   1765      1.1  christos     0x46, 0x5d, 0xac, 0xba, 0x35, 0x04, 0x35, 0x0b,
   1766      1.1  christos     0x42, 0x48, 0x7c, 0xa1, 0x00, 0x1a, 0xea, 0xea,
   1767      1.1  christos     0x5f, 0x93, 0x2b, 0xb7, 0xe5, 0x8f, 0x91, 0x3c,
   1768      1.1  christos     0x00, 0x98, 0x51, 0x40, 0xee, 0x11, 0x50, 0x70,
   1769      1.1  christos     0x40, 0xe4, 0x28, 0xd4, 0x79, 0x2d, 0xcd, 0x82,
   1770      1.1  christos     0xaf, 0x3f, 0xb2, 0xfc, 0x96, 0x8d, 0xbe, 0x79,
   1771      1.1  christos     0xa3, 0xcd, 0xac, 0x35, 0x4b, 0x5e, 0xb4, 0x81,
   1772      1.1  christos     0x0e, 0x6a, 0xde, 0x1f, 0x7e, 0xb0, 0x37, 0x3e,
   1773      1.1  christos     0xdc, 0xe0, 0x21, 0xcc, 0x9f, 0x90, 0x26, 0xb6,
   1774      1.1  christos     0x8a, 0x1d, 0xb3, 0x1e, 0xec, 0x7a, 0x88, 0x28,
   1775      1.1  christos     0x95, 0xe2, 0xc2, 0x1d, 0x07, 0xb1, 0xfa, 0xc6,
   1776      1.1  christos     0x21, 0x1b, 0x5e, 0x54, 0x7b, 0x37, 0x0e, 0x63,
   1777      1.1  christos     0xff, 0xdd, 0x70, 0xf9, 0xea, 0x2f, 0x2d, 0x98,
   1778      1.1  christos     0xe1, 0xbe, 0x37, 0xd0, 0x1f, 0x45, 0x5a, 0x63,
   1779      1.1  christos     0xad, 0x44, 0xbc, 0x5f, 0xc6, 0x23, 0x8a, 0xac,
   1780      1.1  christos     0x12, 0x71, 0xd5, 0xa2, 0x8b, 0xfc, 0x97, 0xbb,
   1781      1.1  christos     0x00, 0x4b, 0xd7, 0x09, 0xa6, 0xaf, 0x40, 0x08,
   1782      1.1  christos     0x6c, 0x8d, 0x10, 0x4a, 0x01, 0x34, 0xc1, 0x2c,
   1783      1.1  christos     0x92, 0x30, 0x0a, 0x85, 0x8f, 0x3f, 0x08, 0xdd,
   1784      1.1  christos     0xff, 0x9c, 0x10, 0xd1, 0x03, 0x03, 0x84, 0x1f,
   1785      1.1  christos     0xf8, 0x4e, 0xf2, 0xe3, 0xd1, 0xd3, 0xb9, 0xdf,
   1786      1.1  christos     0xfc, 0x97, 0x1c, 0xcf, 0x8a, 0x29, 0xe6, 0x59,
   1787      1.1  christos     0x04, 0xe2, 0x87, 0x27, 0xbb, 0xb9, 0x96, 0xd0,
   1788      1.1  christos     0x20, 0x2e, 0x91, 0x48, 0xaa, 0xbf, 0x53, 0x4a,
   1789      1.1  christos     0x34, 0xb5, 0x0e, 0x11, 0xce, 0xf8, 0x65, 0xa6,
   1790      1.1  christos     0x0d, 0x45, 0xda, 0xbf, 0x6a, 0xfb, 0x81, 0xe4,
   1791      1.1  christos     0x7c, 0x8c, 0xa0, 0x4b, 0x00, 0x1b, 0xd7, 0x73,
   1792      1.1  christos     0x61, 0x80, 0xc0, 0x6b, 0x60, 0xde, 0xf3, 0x32,
   1793      1.1  christos     0xae, 0x62, 0x35, 0x66, 0xdd, 0xde, 0x53, 0x61,
   1794      1.1  christos     0x86, 0xe9, 0x44, 0xf3, 0x01, 0x7b, 0xaa, 0xe7,
   1795      1.1  christos     0x31, 0xd4, 0x5b, 0x06, 0x52, 0x0f, 0xf4, 0x90,
   1796      1.1  christos     0x5c, 0x82, 0x3e, 0x12, 0x28, 0x88, 0x7f, 0xfc,
   1797      1.1  christos     0xb8, 0xee, 0x17, 0x34, 0x4e, 0xc3, 0x2a, 0xfb,
   1798      1.1  christos     0x84, 0x1b, 0x0f, 0xba, 0x51, 0x64, 0x96, 0x22,
   1799      1.1  christos     0x0d, 0x88, 0x9b, 0xf2, 0x72, 0x04, 0x55, 0x44,
   1800      1.1  christos     0x6a, 0x14, 0x2b, 0xa0, 0xc2, 0xbe, 0x9e, 0x7b,
   1801      1.1  christos     0x48, 0x32, 0xa7, 0xf6, 0x11, 0xae, 0x60, 0xfb,
   1802      1.1  christos     0xf8, 0x38, 0x67, 0x16, 0xdf, 0xdf, 0x46, 0x96,
   1803      1.1  christos     0xd7, 0x6c, 0x39, 0xa2, 0xad, 0xf7, 0xb7, 0x78,
   1804      1.1  christos     0x32, 0x2c, 0xba, 0xae, 0x33, 0x5a, 0x88, 0x4b,
   1805      1.1  christos     0x40, 0x1f, 0x88, 0xcd, 0xe7, 0x8f, 0x50, 0x5e,
   1806      1.1  christos     0xd8, 0x80, 0x82, 0x7b, 0x46, 0xc7, 0x07, 0x71,
   1807      1.1  christos     0x4f, 0x3b, 0xca, 0x9d, 0x73, 0x7c, 0xdb, 0xeb,
   1808      1.1  christos     0x4c, 0x37, 0xdd, 0xb4, 0xb8, 0x61, 0xf3, 0xdf,
   1809      1.1  christos     0xb2, 0xb5, 0x34, 0x27, 0xec, 0xeb, 0xba, 0xcc,
   1810      1.1  christos     0xdc, 0xe9, 0xde, 0x47, 0x2e, 0xe9, 0x3b, 0xa1,
   1811      1.1  christos     0x36, 0xf1, 0x66, 0xdf, 0xc8, 0x70, 0x7f, 0x39,
   1812      1.1  christos     0x82, 0xb3, 0x8c, 0x47, 0x9a, 0x45, 0x59, 0x2e,
   1813      1.1  christos     0x30, 0x9b, 0xaf, 0x7c, 0xad, 0x43, 0x38, 0x6e,
   1814      1.1  christos     0x05, 0x7d, 0x8b, 0xac, 0x5f, 0x70, 0x63, 0xeb,
   1815      1.1  christos     0x85, 0xee, 0xab, 0xa4, 0x57, 0x1d, 0x63, 0xac,
   1816      1.1  christos     0x48, 0x45, 0x74, 0xca, 0x0c, 0xa8, 0x65, 0x05,
   1817      1.1  christos     0x1a, 0x47, 0xa1, 0x2f, 0x4b, 0x96, 0x26, 0x9e,
   1818      1.1  christos     0xee, 0xec, 0x37, 0x57, 0xbf, 0xa0, 0x2b, 0x75,
   1819      1.1  christos     0xf5, 0x9b, 0xb5, 0x1d, 0x12, 0x8a, 0x61, 0x9c,
   1820      1.1  christos     0x8d, 0x2a, 0x7e, 0xee, 0x05, 0x2b, 0x85, 0x7c,
   1821      1.1  christos     0x6f, 0x34, 0xc4, 0xcd, 0xd5, 0xd0, 0xac, 0xf9,
   1822      1.1  christos     0x79, 0x24, 0xe7, 0x0f, 0x41, 0x95, 0xe2, 0x9a,
   1823      1.1  christos     0x22, 0x32, 0xa5, 0x98, 0x2e, 0x82, 0xc0, 0x07,
   1824      1.1  christos     0xf4, 0x74, 0x68, 0x00, 0xf9, 0x35, 0x5e, 0x12,
   1825      1.1  christos     0xfe, 0xa2, 0x0e, 0x15, 0x96, 0x83, 0x84, 0x31,
   1826      1.1  christos     0xc4, 0x25, 0xda, 0x7a, 0xec, 0x07, 0x15, 0xe4,
   1827      1.1  christos     0x7d, 0xc5, 0xf5, 0xe1, 0xc5, 0xba, 0x9a, 0x59,
   1828      1.1  christos     0x76, 0xae, 0x4e, 0x54, 0x27, 0x5e, 0xa9, 0x0d,
   1829      1.1  christos     0xa0, 0xd3, 0xcd, 0x99, 0x39, 0x76, 0x6d, 0x58,
   1830      1.1  christos     0xdf, 0x8a, 0xa9, 0x9e, 0x21, 0x22, 0x48, 0x7c,
   1831      1.1  christos     0x0c, 0x13, 0xfa, 0x86, 0x63, 0x74, 0x92, 0xf4,
   1832      1.1  christos     0xe5, 0x5d, 0xbf, 0xe4, 0x2d, 0xd7, 0xa1, 0xe3,
   1833      1.1  christos     0x0f, 0xc6, 0x3e, 0x82, 0xa0, 0xcc, 0xfa, 0x38,
   1834      1.1  christos     0x55, 0x36, 0x9b, 0x22, 0xd0, 0xb8, 0x7f, 0x3f,
   1835      1.1  christos     0x0f, 0x35, 0x01, 0xf9, 0x6f, 0xa6, 0x51, 0x77,
   1836      1.1  christos     0x21, 0xb7, 0x7a, 0x81, 0xca, 0x83, 0x6b, 0xec,
   1837      1.1  christos     0xa7, 0x71, 0x12, 0x6d, 0x22, 0x78, 0xb1, 0xc8,
   1838      1.1  christos     0x37, 0xda, 0x1d, 0xd1, 0x9c, 0xa5, 0x6c, 0xfa,
   1839      1.1  christos     0xd3, 0x4b, 0x87, 0x39, 0x6f, 0x59, 0xe1, 0xec,
   1840      1.1  christos     0x4a, 0xe5, 0x0e, 0x72, 0x2b, 0x31, 0x18, 0xd9,
   1841      1.1  christos     0x54, 0x6a, 0x4c, 0xc3, 0xe0, 0x58, 0x3b, 0xd8,
   1842      1.1  christos     0xe8, 0x65, 0xc1, 0x98, 0xed, 0x64, 0x7b, 0xb1,
   1843      1.1  christos     0xee, 0xa9, 0x54, 0x95, 0x37, 0x98, 0x68, 0xca,
   1844      1.1  christos     0x83, 0xef, 0xc5, 0x1b, 0x23, 0x71, 0x5c, 0x1a,
   1845      1.1  christos     0xe6, 0xc0, 0xce, 0x2e, 0x16, 0x59, 0x79, 0xf4,
   1846      1.1  christos     0x94, 0x43, 0xd8, 0xb1, 0x2e, 0xe3, 0xb9, 0xa0,
   1847      1.1  christos     0x95, 0x80, 0x66, 0xdd, 0x1d, 0xdd, 0x0d, 0x78,
   1848      1.1  christos     0x9d, 0xc3, 0x91, 0x60, 0x16, 0x8b, 0xc5, 0x39,
   1849      1.1  christos     0xad, 0xdb, 0xa3, 0xc1, 0xd2, 0x8d, 0xa0, 0x78,
   1850      1.1  christos     0x75, 0x68, 0xa6, 0xb9, 0x15, 0x57, 0x0b, 0x06,
   1851      1.1  christos     0x64, 0x55, 0xd7, 0x07, 0x53, 0xf9, 0x8b, 0xd9,
   1852      1.1  christos     0x97, 0x46, 0xca, 0x04, 0x95, 0xd4, 0x3c, 0xd3,
   1853      1.1  christos     0x8f, 0x0a, 0x53, 0x27, 0xe6, 0xd4, 0xb4, 0x7b,
   1854      1.1  christos     0x70, 0x12, 0x12, 0xc5, 0x14, 0xa0, 0x53, 0xe5,
   1855      1.1  christos     0xd4, 0x30, 0xaa, 0xcc, 0xec, 0x03, 0x0a, 0x36,
   1856      1.1  christos     0x21, 0x9f, 0x81, 0x16, 0x6d, 0x1d, 0x53, 0x6e,
   1857      1.1  christos     0x08, 0xae, 0xf7, 0x05, 0xd9, 0x73, 0x5a, 0x45,
   1858      1.1  christos     0x3a, 0x52, 0x3e, 0xeb, 0x67, 0x49, 0xe1, 0x1a,
   1859      1.1  christos     0x8a, 0x4c, 0xd9, 0x83, 0x64, 0xd8, 0x16, 0x37,
   1860      1.1  christos     0x1c, 0x6b, 0x1c, 0x0d, 0x8f, 0x6a, 0xbf, 0x21,
   1861      1.1  christos     0xf1, 0x4f, 0x4c, 0x55, 0x6f, 0xe0, 0x5c, 0xa7,
   1862      1.1  christos     0xb1, 0x7b, 0x57, 0xa9, 0xa2, 0xb4, 0x9d, 0x53,
   1863      1.1  christos     0x7f, 0x0f, 0xb0, 0x21, 0x95, 0x70, 0x3a, 0x0d,
   1864      1.1  christos     0xa2, 0xc1, 0x52, 0x26, 0xad, 0xa7, 0x48, 0x66,
   1865      1.1  christos     0x2a, 0xfc, 0xaa, 0xaf, 0x25, 0x02, 0x58, 0x80,
   1866      1.1  christos     0xbe, 0xe7, 0xe4, 0x2a, 0x50, 0xe5, 0x46, 0x13,
   1867      1.1  christos     0xaa, 0x57, 0x0e, 0x6e, 0xee, 0xa9, 0x9e, 0x19,
   1868      1.1  christos     0xa3, 0x92, 0x8e, 0xc6, 0x3d, 0x76, 0xbb, 0x12,
   1869      1.1  christos     0xe2, 0x78, 0x77, 0x99, 0x6a, 0x06, 0xc4, 0x45,
   1870      1.1  christos     0x1f, 0x45, 0xe1, 0xf6, 0x65, 0x1f, 0xba, 0xe4,
   1871      1.1  christos     0xf6, 0xca, 0xa9, 0x62, 0xa9, 0x2c, 0x3a, 0x2d,
   1872      1.1  christos     0x8d, 0x34, 0xe2, 0x32, 0x6e, 0x4a, 0x52, 0x9f,
   1873      1.1  christos     0x3d, 0xcf, 0xab, 0xe8, 0x63, 0x66, 0x3f, 0x06,
   1874      1.1  christos     0xa3, 0xaa, 0xd5, 0xcb, 0x5d, 0x41, 0xb8, 0xe7,
   1875      1.1  christos     0x0a, 0x6b, 0x45, 0x90, 0x3a, 0xf0, 0xe5, 0x7f,
   1876      1.1  christos     0x7e, 0xde, 0x68, 0x20, 0x5e, 0x5a, 0x31, 0x3a,
   1877      1.1  christos     0x5c, 0x25, 0xb3, 0x82, 0xc7, 0x1e, 0x7d, 0x4d,
   1878      1.1  christos     0xd0, 0x23, 0x9f, 0x22, 0x1a, 0x54, 0x0b, 0xe4,
   1879      1.1  christos     0x3c, 0x1c, 0xc5, 0x24, 0x39, 0x4d, 0x96, 0x90,
   1880      1.1  christos     0xce, 0xc9, 0x3a, 0x07, 0x45, 0x01, 0x9e, 0xb6,
   1881      1.1  christos     0x55, 0x1b, 0xdc, 0xe0, 0x3b, 0xe8, 0x92, 0x57,
   1882      1.1  christos     0x43, 0x12, 0x9b, 0x11, 0x3f, 0x81, 0x5a, 0xca,
   1883      1.1  christos     0xc5, 0x85, 0x39, 0x25, 0x6d, 0xe4, 0x30, 0xef,
   1884      1.1  christos     0x83, 0x21, 0xed, 0x9c, 0xb3, 0xcf, 0x10, 0xe6,
   1885      1.1  christos     0xa1, 0x46, 0x10, 0x9a, 0x7b, 0xaf, 0x5f, 0x75,
   1886      1.1  christos     0x99, 0x62, 0xc1, 0xf4, 0x2c, 0x28, 0x0a, 0x8a,
   1887      1.1  christos     0xc7, 0xd2, 0xb4, 0x75, 0xb9, 0x66, 0x70, 0x9a,
   1888      1.1  christos     0xaf, 0xe3, 0xf1, 0x2f, 0xf2, 0xb0, 0x59, 0x9c,
   1889      1.1  christos     0x1e, 0x1a, 0xbd, 0xa9, 0x15, 0x55, 0x95, 0x4c,
   1890      1.1  christos     0x5b, 0x78, 0x0b, 0x2c, 0x00, 0xbb, 0xf9, 0x8b,
   1891      1.1  christos     0xeb, 0x72, 0x4f, 0xfb, 0xa4, 0x3a, 0xa0, 0x04,
   1892      1.1  christos     0x45, 0x32, 0x02, 0x6c, 0x16, 0x52, 0x3f, 0x4a,
   1893      1.1  christos     0x0a, 0x77, 0x64, 0xf4, 0x74, 0xed, 0x60, 0x6b,
   1894      1.1  christos     0x5e, 0x43, 0xa7, 0xe3, 0x84, 0x7e, 0xda, 0xf0,
   1895      1.1  christos     0xb1, 0x9e, 0x6d, 0x90, 0x9c, 0x32, 0xae, 0xba,
   1896      1.1  christos     0x7c, 0xfb, 0x72, 0x22, 0x27, 0x9c, 0xe1, 0x85,
   1897      1.1  christos     0xe1, 0xf6, 0x22, 0x4c, 0x3c, 0x4a, 0xd6, 0xed,
   1898      1.1  christos     0x4c, 0xa7, 0x79, 0x59, 0xb5, 0x5b, 0x91, 0x65,
   1899      1.1  christos     0x3f, 0x93, 0x97, 0x8d, 0xd7, 0xd0, 0xab, 0x17,
   1900      1.1  christos     0x2f, 0x13, 0x74, 0x53, 0x69, 0x74, 0xf8, 0x6b,
   1901      1.1  christos     0x39, 0x5c, 0x64, 0x5b, 0x3d, 0x75, 0xca, 0x85,
   1902      1.1  christos     0x0e, 0xda, 0x0f, 0x01, 0x34, 0xa3, 0x67, 0x8e,
   1903      1.1  christos     0x26, 0x6f, 0x26, 0x3c, 0xd0, 0xd9, 0xae, 0xe8,
   1904      1.1  christos     0x52, 0x13, 0x7f, 0xf8, 0x69, 0x62, 0xfc, 0x9a,
   1905      1.1  christos     0xc0, 0x0c, 0x66, 0x2e, 0x57, 0x21, 0x75, 0xb0,
   1906      1.1  christos     0xb3, 0x8c, 0xf6, 0x97, 0x44, 0x46, 0x65, 0x15,
   1907      1.1  christos     0x79, 0xd5, 0x6b, 0x68, 0x96, 0x47, 0xc1, 0xba,
   1908      1.1  christos     0x75, 0x46, 0x87, 0x76, 0x7d, 0x2d, 0xac, 0xf3,
   1909      1.1  christos     0x16, 0xae, 0xfb, 0x7e, 0x41, 0xe4, 0xae, 0x15,
   1910      1.1  christos     0xc2, 0x51, 0x69, 0x71, 0x0b, 0x63, 0x20, 0x6a,
   1911      1.1  christos     0xbd, 0xad, 0xce, 0x2a, 0x94, 0xac, 0xcf, 0x15,
   1912      1.1  christos     0x4e, 0xdc, 0x8e, 0x2a, 0x48, 0xed, 0xb3, 0x48,
   1913      1.1  christos     0x95, 0xf4, 0x41, 0xf3, 0x52, 0xef, 0x62, 0x90,
   1914      1.1  christos     0x10, 0x30, 0x42, 0xec, 0xf9, 0x30, 0x25, 0xc3,
   1915      1.1  christos     0xc5, 0x47, 0x76, 0xb5, 0x37, 0xeb, 0x9e, 0x87,
   1916      1.1  christos     0xbe, 0x5c, 0x24, 0xa5, 0x34, 0xdd, 0x92, 0xa1,
   1917      1.1  christos     0x20, 0x7d, 0xa7, 0x94, 0xa2, 0x67, 0x26, 0x70,
   1918      1.1  christos     0xfe, 0xc9, 0x3f, 0x21, 0xd1, 0xc2, 0x5a, 0xb1,
   1919      1.1  christos     0xaa, 0xac, 0x14, 0x1a, 0xe4, 0xdb, 0x71, 0x7e,
   1920      1.1  christos     0x9c, 0xc2, 0x52, 0x59, 0xc9, 0x58, 0xca, 0x88,
   1921      1.1  christos     0x71, 0x4f, 0x90, 0xb1, 0xbb, 0xac, 0x80, 0x53,
   1922      1.1  christos     0x21, 0xfb, 0xff, 0xfd, 0x1e, 0x9f, 0xc0, 0x59,
   1923      1.1  christos     0x8d, 0x80, 0x8e, 0x85, 0xa9, 0x3b, 0xd3, 0x20,
   1924      1.1  christos     0x3b, 0x91, 0x16, 0x49, 0xb2, 0x2a, 0xa4, 0xe2,
   1925      1.1  christos     0x30, 0xb2, 0x76, 0xf6, 0x92, 0x71, 0x37, 0x1b
   1926      1.1  christos };
   1927      1.1  christos 
   1928      1.1  christos static const unsigned char ml_dsa_65_priv_key[] = {
   1929      1.1  christos     0x3b, 0x5c, 0xb0, 0x79, 0xd2, 0xce, 0x76, 0x2b,
   1930      1.1  christos     0x3b, 0x95, 0x7c, 0x26, 0x69, 0x8f, 0xe7, 0x01,
   1931      1.1  christos     0xb9, 0x6b, 0x50, 0xa3, 0x2c, 0x73, 0x67, 0xcf,
   1932      1.1  christos     0x9e, 0xf4, 0xb8, 0x7d, 0xe3, 0xaf, 0x27, 0x77,
   1933      1.1  christos     0x39, 0x3e, 0xac, 0x91, 0xa1, 0xfb, 0xed, 0xf7,
   1934      1.1  christos     0x52, 0x0a, 0x4f, 0x77, 0xb2, 0x57, 0x7c, 0x65,
   1935      1.1  christos     0x05, 0x6e, 0x76, 0x3d, 0x28, 0xf4, 0x3a, 0x88,
   1936      1.1  christos     0x49, 0x33, 0x7d, 0x30, 0x17, 0x21, 0x5a, 0xc0,
   1937      1.1  christos     0x4b, 0x03, 0x74, 0x65, 0x6d, 0xbb, 0xfe, 0x8e,
   1938      1.1  christos     0x0b, 0x8b, 0xb4, 0x42, 0xce, 0xc1, 0xdd, 0x11,
   1939      1.1  christos     0xb1, 0x8f, 0x31, 0x06, 0x0b, 0xeb, 0xdf, 0xb3,
   1940      1.1  christos     0x11, 0x12, 0x19, 0x22, 0x34, 0xd7, 0xaa, 0xf2,
   1941      1.1  christos     0x17, 0xf0, 0x2e, 0x22, 0xef, 0x68, 0x0c, 0x8f,
   1942      1.1  christos     0xc7, 0x42, 0x0b, 0xd6, 0x88, 0xd8, 0x3b, 0xa7,
   1943      1.1  christos     0x22, 0xc5, 0x4e, 0x1a, 0xf2, 0x60, 0x85, 0x24,
   1944      1.1  christos     0x75, 0x85, 0x49, 0x17, 0x1b, 0xd4, 0x69, 0xd8,
   1945      1.1  christos     0x50, 0x68, 0x36, 0x83, 0x51, 0x12, 0x40, 0x24,
   1946      1.1  christos     0x06, 0x04, 0x07, 0x47, 0x28, 0x62, 0x86, 0x26,
   1947      1.1  christos     0x12, 0x24, 0x40, 0x83, 0x65, 0x44, 0x10, 0x62,
   1948      1.1  christos     0x78, 0x58, 0x14, 0x67, 0x20, 0x20, 0x60, 0x53,
   1949      1.1  christos     0x28, 0x73, 0x53, 0x34, 0x82, 0x18, 0x42, 0x43,
   1950      1.1  christos     0x78, 0x67, 0x65, 0x28, 0x12, 0x65, 0x71, 0x17,
   1951      1.1  christos     0x33, 0x06, 0x10, 0x51, 0x38, 0x07, 0x61, 0x42,
   1952      1.1  christos     0x72, 0x60, 0x18, 0x52, 0x08, 0x74, 0x58, 0x72,
   1953      1.1  christos     0x73, 0x06, 0x65, 0x20, 0x73, 0x20, 0x72, 0x42,
   1954      1.1  christos     0x03, 0x86, 0x03, 0x03, 0x50, 0x85, 0x13, 0x43,
   1955      1.1  christos     0x24, 0x53, 0x33, 0x82, 0x03, 0x36, 0x82, 0x73,
   1956      1.1  christos     0x12, 0x15, 0x78, 0x54, 0x60, 0x64, 0x32, 0x60,
   1957      1.1  christos     0x42, 0x47, 0x84, 0x73, 0x51, 0x60, 0x26, 0x03,
   1958      1.1  christos     0x35, 0x58, 0x25, 0x28, 0x83, 0x55, 0x64, 0x06,
   1959      1.1  christos     0x70, 0x82, 0x75, 0x54, 0x15, 0x70, 0x37, 0x61,
   1960      1.1  christos     0x71, 0x38, 0x75, 0x36, 0x15, 0x70, 0x78, 0x17,
   1961      1.1  christos     0x62, 0x01, 0x02, 0x13, 0x12, 0x46, 0x12, 0x56,
   1962      1.1  christos     0x82, 0x51, 0x32, 0x16, 0x27, 0x00, 0x52, 0x41,
   1963      1.1  christos     0x43, 0x86, 0x46, 0x00, 0x61, 0x24, 0x78, 0x33,
   1964      1.1  christos     0x40, 0x13, 0x34, 0x47, 0x60, 0x18, 0x52, 0x18,
   1965      1.1  christos     0x80, 0x01, 0x46, 0x53, 0x32, 0x74, 0x51, 0x72,
   1966      1.1  christos     0x81, 0x21, 0x30, 0x50, 0x28, 0x28, 0x55, 0x53,
   1967      1.1  christos     0x71, 0x03, 0x84, 0x87, 0x61, 0x88, 0x45, 0x35,
   1968      1.1  christos     0x63, 0x72, 0x05, 0x37, 0x06, 0x37, 0x35, 0x36,
   1969      1.1  christos     0x56, 0x71, 0x74, 0x53, 0x07, 0x61, 0x72, 0x65,
   1970      1.1  christos     0x78, 0x57, 0x42, 0x41, 0x02, 0x06, 0x61, 0x06,
   1971      1.1  christos     0x07, 0x66, 0x64, 0x50, 0x31, 0x24, 0x82, 0x43,
   1972      1.1  christos     0x86, 0x31, 0x26, 0x76, 0x47, 0x45, 0x03, 0x66,
   1973      1.1  christos     0x44, 0x00, 0x46, 0x04, 0x83, 0x03, 0x83, 0x81,
   1974      1.1  christos     0x33, 0x08, 0x77, 0x57, 0x08, 0x40, 0x04, 0x22,
   1975      1.1  christos     0x35, 0x17, 0x43, 0x63, 0x78, 0x44, 0x86, 0x24,
   1976      1.1  christos     0x40, 0x17, 0x28, 0x67, 0x34, 0x18, 0x75, 0x72,
   1977      1.1  christos     0x26, 0x83, 0x68, 0x63, 0x57, 0x47, 0x48, 0x84,
   1978      1.1  christos     0x50, 0x16, 0x43, 0x17, 0x86, 0x16, 0x44, 0x17,
   1979      1.1  christos     0x18, 0x70, 0x08, 0x51, 0x78, 0x70, 0x15, 0x58,
   1980      1.1  christos     0x04, 0x10, 0x16, 0x03, 0x11, 0x04, 0x43, 0x70,
   1981      1.1  christos     0x32, 0x77, 0x03, 0x23, 0x12, 0x74, 0x38, 0x26,
   1982      1.1  christos     0x65, 0x66, 0x62, 0x04, 0x65, 0x75, 0x54, 0x00,
   1983      1.1  christos     0x04, 0x01, 0x43, 0x15, 0x07, 0x47, 0x71, 0x12,
   1984      1.1  christos     0x70, 0x41, 0x72, 0x34, 0x05, 0x26, 0x08, 0x11,
   1985      1.1  christos     0x55, 0x22, 0x72, 0x83, 0x04, 0x66, 0x88, 0x80,
   1986      1.1  christos     0x25, 0x17, 0x68, 0x60, 0x15, 0x37, 0x64, 0x14,
   1987      1.1  christos     0x26, 0x64, 0x01, 0x45, 0x54, 0x51, 0x71, 0x38,
   1988      1.1  christos     0x62, 0x65, 0x78, 0x43, 0x36, 0x21, 0x02, 0x27,
   1989      1.1  christos     0x43, 0x47, 0x83, 0x86, 0x07, 0x05, 0x48, 0x56,
   1990      1.1  christos     0x86, 0x31, 0x27, 0x66, 0x34, 0x35, 0x48, 0x81,
   1991      1.1  christos     0x08, 0x38, 0x05, 0x10, 0x63, 0x32, 0x61, 0x73,
   1992      1.1  christos     0x47, 0x30, 0x00, 0x82, 0x66, 0x54, 0x86, 0x81,
   1993      1.1  christos     0x36, 0x06, 0x45, 0x01, 0x45, 0x87, 0x23, 0x36,
   1994      1.1  christos     0x83, 0x00, 0x32, 0x81, 0x10, 0x06, 0x57, 0x76,
   1995      1.1  christos     0x62, 0x40, 0x61, 0x77, 0x04, 0x17, 0x28, 0x70,
   1996      1.1  christos     0x15, 0x07, 0x42, 0x18, 0x61, 0x70, 0x32, 0x42,
   1997      1.1  christos     0x68, 0x12, 0x00, 0x18, 0x12, 0x72, 0x60, 0x50,
   1998      1.1  christos     0x63, 0x28, 0x51, 0x87, 0x82, 0x03, 0x36, 0x63,
   1999      1.1  christos     0x63, 0x25, 0x68, 0x54, 0x56, 0x16, 0x07, 0x58,
   2000      1.1  christos     0x77, 0x83, 0x31, 0x85, 0x44, 0x43, 0x60, 0x22,
   2001      1.1  christos     0x16, 0x01, 0x41, 0x23, 0x27, 0x11, 0x46, 0x60,
   2002      1.1  christos     0x50, 0x84, 0x77, 0x18, 0x81, 0x31, 0x88, 0x47,
   2003      1.1  christos     0x36, 0x51, 0x71, 0x56, 0x04, 0x25, 0x17, 0x44,
   2004      1.1  christos     0x33, 0x78, 0x28, 0x72, 0x27, 0x87, 0x62, 0x78,
   2005      1.1  christos     0x13, 0x83, 0x58, 0x12, 0x36, 0x22, 0x10, 0x25,
   2006      1.1  christos     0x13, 0x50, 0x88, 0x10, 0x24, 0x78, 0x15, 0x12,
   2007      1.1  christos     0x26, 0x43, 0x58, 0x02, 0x24, 0x17, 0x34, 0x75,
   2008      1.1  christos     0x46, 0x15, 0x46, 0x42, 0x84, 0x52, 0x41, 0x75,
   2009      1.1  christos     0x48, 0x77, 0x88, 0x33, 0x18, 0x18, 0x84, 0x31,
   2010      1.1  christos     0x47, 0x22, 0x35, 0x64, 0x72, 0x35, 0x65, 0x73,
   2011      1.1  christos     0x66, 0x88, 0x73, 0x12, 0x25, 0x51, 0x66, 0x57,
   2012      1.1  christos     0x05, 0x23, 0x54, 0x74, 0x51, 0x76, 0x52, 0x24,
   2013      1.1  christos     0x40, 0x64, 0x68, 0x28, 0x25, 0x65, 0x77, 0x12,
   2014      1.1  christos     0x53, 0x35, 0x41, 0x85, 0x18, 0x25, 0x02, 0x25,
   2015      1.1  christos     0x47, 0x22, 0x40, 0x37, 0x54, 0x03, 0x53, 0x26,
   2016      1.1  christos     0x86, 0x50, 0x70, 0x25, 0x56, 0x27, 0x21, 0x11,
   2017      1.1  christos     0x11, 0x72, 0x71, 0x54, 0x47, 0x63, 0x67, 0x22,
   2018      1.1  christos     0x75, 0x61, 0x70, 0x05, 0x10, 0x03, 0x41, 0x48,
   2019      1.1  christos     0x01, 0x47, 0x14, 0x70, 0x06, 0x64, 0x84, 0x02,
   2020      1.1  christos     0x28, 0x06, 0x12, 0x45, 0x13, 0x56, 0x48, 0x65,
   2021      1.1  christos     0x00, 0x74, 0x02, 0x10, 0x78, 0x42, 0x80, 0x02,
   2022      1.1  christos     0x00, 0x16, 0x37, 0x43, 0x23, 0x56, 0x67, 0x20,
   2023      1.1  christos     0x31, 0x86, 0x22, 0x20, 0x35, 0x51, 0x34, 0x58,
   2024      1.1  christos     0x10, 0x87, 0x83, 0x43, 0x32, 0x85, 0x47, 0x72,
   2025      1.1  christos     0x32, 0x28, 0x38, 0x47, 0x08, 0x73, 0x38, 0x20,
   2026      1.1  christos     0x25, 0x14, 0x51, 0x66, 0x88, 0x85, 0x15, 0x88,
   2027      1.1  christos     0x86, 0x86, 0x73, 0x46, 0x52, 0x81, 0x32, 0x70,
   2028      1.1  christos     0x85, 0x31, 0x20, 0x80, 0x32, 0x42, 0x02, 0x33,
   2029      1.1  christos     0x37, 0x68, 0x66, 0x70, 0x11, 0x27, 0x53, 0x75,
   2030      1.1  christos     0x48, 0x65, 0x01, 0x25, 0x24, 0x53, 0x68, 0x15,
   2031      1.1  christos     0x47, 0x25, 0x42, 0x01, 0x04, 0x47, 0x01, 0x58,
   2032      1.1  christos     0x36, 0x17, 0x71, 0x44, 0x21, 0x63, 0x52, 0x61,
   2033      1.1  christos     0x56, 0x16, 0x73, 0x17, 0x28, 0x08, 0x07, 0x76,
   2034      1.1  christos     0x08, 0x42, 0x58, 0x11, 0x42, 0x18, 0x17, 0x18,
   2035      1.1  christos     0x65, 0x63, 0x82, 0x45, 0x74, 0x35, 0x21, 0x01,
   2036      1.1  christos     0x35, 0x26, 0x43, 0x56, 0x58, 0x56, 0x64, 0x81,
   2037      1.1  christos     0x05, 0x52, 0x77, 0x31, 0x47, 0x27, 0x21, 0x82,
   2038      1.1  christos     0x60, 0x05, 0x51, 0x04, 0x15, 0x34, 0x58, 0x00,
   2039      1.1  christos     0x40, 0x83, 0x48, 0x21, 0x52, 0x04, 0x62, 0x23,
   2040      1.1  christos     0x34, 0x64, 0x85, 0x77, 0x35, 0x81, 0x52, 0x35,
   2041      1.1  christos     0x80, 0x24, 0x00, 0x03, 0x84, 0x32, 0x67, 0x76,
   2042      1.1  christos     0x78, 0x32, 0x87, 0x50, 0x48, 0x00, 0x64, 0x45,
   2043      1.1  christos     0x17, 0x05, 0x56, 0x84, 0x13, 0x02, 0x68, 0x42,
   2044      1.1  christos     0x76, 0x81, 0x01, 0x41, 0x18, 0x56, 0x30, 0x58,
   2045      1.1  christos     0x43, 0x72, 0x28, 0x71, 0x21, 0x87, 0x14, 0x64,
   2046      1.1  christos     0x03, 0x31, 0x58, 0x04, 0x72, 0x11, 0x43, 0x50,
   2047      1.1  christos     0x82, 0x57, 0x14, 0x38, 0x53, 0x36, 0x53, 0x44,
   2048      1.1  christos     0x37, 0x36, 0x83, 0x47, 0x58, 0x58, 0x52, 0x08,
   2049      1.1  christos     0x13, 0x33, 0x43, 0x40, 0x54, 0x26, 0x35, 0x28,
   2050      1.1  christos     0x67, 0x02, 0x08, 0x18, 0x34, 0x67, 0x16, 0x17,
   2051      1.1  christos     0x73, 0x13, 0x18, 0x02, 0x88, 0x32, 0x61, 0x60,
   2052      1.1  christos     0x56, 0x38, 0x05, 0x87, 0x78, 0x52, 0x07, 0x53,
   2053      1.1  christos     0x81, 0x06, 0x52, 0x88, 0x07, 0x35, 0x72, 0x72,
   2054      1.1  christos     0x44, 0x28, 0x80, 0x86, 0x11, 0x70, 0x40, 0x41,
   2055      1.1  christos     0x63, 0x80, 0x46, 0x15, 0x27, 0x62, 0x03, 0x45,
   2056      1.1  christos     0x14, 0x33, 0x56, 0x07, 0x78, 0x43, 0x77, 0x62,
   2057      1.1  christos     0x06, 0x54, 0x74, 0x43, 0x28, 0x72, 0x16, 0x40,
   2058      1.1  christos     0x78, 0x62, 0x44, 0x34, 0x00, 0x25, 0x75, 0x74,
   2059      1.1  christos     0x77, 0x37, 0x02, 0x48, 0x67, 0x18, 0x51, 0x67,
   2060      1.1  christos     0x77, 0x68, 0x38, 0x72, 0x85, 0x34, 0x42, 0x54,
   2061      1.1  christos     0x71, 0x61, 0x47, 0x42, 0x68, 0x55, 0x27, 0x26,
   2062      1.1  christos     0x38, 0x85, 0x15, 0x15, 0x43, 0x14, 0x31, 0x24,
   2063      1.1  christos     0x81, 0x26, 0x21, 0x17, 0x04, 0x00, 0x27, 0x21,
   2064      1.1  christos     0x20, 0x72, 0x85, 0x77, 0x30, 0x17, 0x26, 0x48,
   2065      1.1  christos     0x05, 0x48, 0x71, 0x41, 0x48, 0x27, 0x12, 0x43,
   2066      1.1  christos     0x35, 0x26, 0x13, 0x00, 0x26, 0x67, 0x28, 0x25,
   2067      1.1  christos     0x10, 0x05, 0x74, 0x06, 0x65, 0x16, 0x87, 0x17,
   2068      1.1  christos     0x73, 0x37, 0x42, 0x20, 0x16, 0x44, 0x40, 0x68,
   2069      1.1  christos     0x27, 0x23, 0x38, 0x28, 0x60, 0x52, 0x64, 0x40,
   2070      1.1  christos     0x28, 0x46, 0x00, 0x00, 0x01, 0x43, 0x75, 0x15,
   2071      1.1  christos     0x38, 0x12, 0x37, 0x11, 0x11, 0x87, 0x34, 0x43,
   2072      1.1  christos     0x35, 0x76, 0x76, 0x50, 0x43, 0x05, 0x00, 0x27,
   2073      1.1  christos     0x18, 0x70, 0x68, 0x14, 0x60, 0x26, 0x12, 0x75,
   2074      1.1  christos     0x42, 0x06, 0x23, 0x56, 0x74, 0x74, 0x37, 0x17,
   2075      1.1  christos     0x46, 0x20, 0x34, 0x72, 0x21, 0x33, 0x82, 0x73,
   2076      1.1  christos     0x51, 0x64, 0x72, 0x02, 0x48, 0x82, 0x57, 0x53,
   2077      1.1  christos     0x64, 0x74, 0x75, 0x28, 0x64, 0x02, 0x30, 0x22,
   2078      1.1  christos     0x06, 0x73, 0x66, 0x72, 0x46, 0x56, 0x30, 0x11,
   2079      1.1  christos     0x78, 0x32, 0x47, 0x52, 0x31, 0x02, 0x74, 0x13,
   2080      1.1  christos     0x13, 0x41, 0x07, 0x27, 0x72, 0x07, 0x66, 0x63,
   2081      1.1  christos     0x34, 0x84, 0x30, 0x66, 0x28, 0x72, 0x50, 0x62,
   2082      1.1  christos     0x30, 0x52, 0x82, 0x37, 0x40, 0x78, 0x31, 0x35,
   2083      1.1  christos     0x76, 0x83, 0x05, 0x02, 0x37, 0x25, 0x28, 0x85,
   2084      1.1  christos     0x62, 0x10, 0x05, 0x38, 0x64, 0x87, 0x21, 0x76,
   2085      1.1  christos     0x04, 0x51, 0x12, 0x45, 0x08, 0x50, 0x50, 0x75,
   2086      1.1  christos     0x20, 0x86, 0x32, 0x43, 0x13, 0x47, 0x31, 0x24,
   2087      1.1  christos     0x26, 0x57, 0x68, 0x64, 0x88, 0x17, 0x02, 0x70,
   2088      1.1  christos     0x42, 0x72, 0x37, 0x32, 0x85, 0x87, 0x83, 0x86,
   2089      1.1  christos     0x47, 0x70, 0x56, 0x22, 0x24, 0x53, 0x48, 0x85,
   2090      1.1  christos     0x02, 0x48, 0x16, 0x01, 0x07, 0x57, 0x73, 0x76,
   2091      1.1  christos     0x27, 0x43, 0x00, 0x88, 0x27, 0x38, 0x30, 0x86,
   2092      1.1  christos     0x27, 0x18, 0x62, 0x05, 0x30, 0x37, 0x16, 0x80,
   2093      1.1  christos     0x31, 0x72, 0x28, 0x37, 0x47, 0x57, 0x62, 0x55,
   2094      1.1  christos     0x74, 0x07, 0x41, 0x72, 0x26, 0x58, 0x52, 0x68,
   2095      1.1  christos     0x04, 0x80, 0x72, 0x77, 0x35, 0x43, 0x36, 0x47,
   2096      1.1  christos     0x38, 0x76, 0x86, 0x60, 0x14, 0x22, 0x77, 0x61,
   2097      1.1  christos     0x52, 0x74, 0x17, 0x64, 0x67, 0x85, 0x23, 0x58,
   2098      1.1  christos     0x28, 0x23, 0x05, 0x33, 0x66, 0x64, 0x83, 0x71,
   2099      1.1  christos     0x14, 0x03, 0x21, 0x70, 0x55, 0x43, 0x35, 0x58,
   2100      1.1  christos     0x53, 0x78, 0x22, 0x00, 0x15, 0x00, 0x50, 0x16,
   2101      1.1  christos     0x26, 0x84, 0x18, 0x51, 0x24, 0x01, 0x20, 0x51,
   2102      1.1  christos     0x06, 0x74, 0x44, 0x83, 0x40, 0x55, 0x70, 0x28,
   2103      1.1  christos     0x66, 0x11, 0x31, 0x02, 0x57, 0x55, 0x52, 0x72,
   2104      1.1  christos     0x27, 0x84, 0x54, 0x71, 0x40, 0x78, 0x44, 0x75,
   2105      1.1  christos     0x24, 0x78, 0x61, 0x21, 0x65, 0x57, 0x43, 0x58,
   2106      1.1  christos     0x21, 0x15, 0x11, 0x87, 0x35, 0x82, 0x52, 0x00,
   2107      1.1  christos     0x46, 0x11, 0x34, 0x68, 0x60, 0x60, 0x50, 0x15,
   2108      1.1  christos     0x25, 0x62, 0x48, 0x08, 0x18, 0x31, 0x36, 0x86,
   2109      1.1  christos     0x41, 0x26, 0x80, 0x82, 0x54, 0x68, 0x02, 0x07,
   2110      1.1  christos     0x23, 0x22, 0x24, 0x33, 0x27, 0x02, 0x04, 0x40,
   2111      1.1  christos     0x22, 0x47, 0x87, 0x62, 0x70, 0x21, 0x81, 0x22,
   2112      1.1  christos     0x25, 0x78, 0x87, 0x67, 0x62, 0x38, 0x42, 0x10,
   2113      1.1  christos     0x21, 0x58, 0x56, 0x06, 0x20, 0x18, 0x46, 0x18,
   2114      1.1  christos     0x22, 0x61, 0x73, 0x45, 0x65, 0x73, 0x58, 0x57,
   2115      1.1  christos     0x04, 0x76, 0x72, 0x54, 0x48, 0x00, 0x62, 0x27,
   2116      1.1  christos     0x22, 0x25, 0x17, 0x43, 0x55, 0x58, 0x57, 0x64,
   2117      1.1  christos     0x04, 0x61, 0x21, 0x24, 0x02, 0x20, 0x17, 0x34,
   2118      1.1  christos     0x25, 0x13, 0x35, 0x14, 0x52, 0x76, 0x83, 0x11,
   2119      1.1  christos     0x05, 0x05, 0x03, 0x11, 0x28, 0x71, 0x16, 0x40,
   2120      1.1  christos     0x56, 0x21, 0x76, 0x18, 0x67, 0x38, 0x02, 0x15,
   2121      1.1  christos     0x36, 0x67, 0xf3, 0xc8, 0x13, 0x98, 0x97, 0xb3,
   2122      1.1  christos     0x28, 0x88, 0xb7, 0x32, 0x0d, 0xf8, 0xcf, 0x60,
   2123      1.1  christos     0x47, 0x25, 0x85, 0xf5, 0x2d, 0x0c, 0x02, 0x62,
   2124      1.1  christos     0xa7, 0xb3, 0x22, 0x3c, 0x55, 0xb6, 0x55, 0x9b,
   2125      1.1  christos     0x20, 0x35, 0x10, 0x77, 0x87, 0xeb, 0xcf, 0xa0,
   2126      1.1  christos     0x11, 0x37, 0xdc, 0x09, 0x0b, 0xdb, 0x94, 0x28,
   2127      1.1  christos     0xc5, 0x30, 0x74, 0x7f, 0x73, 0x3a, 0x05, 0x10,
   2128      1.1  christos     0xf2, 0x1a, 0x61, 0x88, 0xdb, 0x2e, 0xc9, 0xf1,
   2129      1.1  christos     0x14, 0x75, 0x3d, 0xef, 0x09, 0x2f, 0x53, 0x57,
   2130      1.1  christos     0x87, 0xb0, 0x78, 0xa2, 0xc1, 0xe3, 0x5b, 0xd4,
   2131      1.1  christos     0x4e, 0x77, 0x86, 0x0c, 0x69, 0x06, 0x33, 0x59,
   2132      1.1  christos     0x35, 0xdd, 0xbd, 0xa7, 0x9f, 0x3e, 0x2f, 0x0f,
   2133      1.1  christos     0x22, 0x4d, 0x17, 0xa6, 0x5c, 0x60, 0x3e, 0xa3,
   2134      1.1  christos     0xf1, 0xbf, 0x08, 0x38, 0x9f, 0x14, 0x0b, 0x07,
   2135      1.1  christos     0xa4, 0x0d, 0x1e, 0xf8, 0x34, 0x23, 0x01, 0x62,
   2136      1.1  christos     0xad, 0x3c, 0x65, 0x49, 0xca, 0x12, 0x01, 0x2b,
   2137      1.1  christos     0x2d, 0x17, 0x4c, 0xa1, 0xa7, 0x40, 0xde, 0xdd,
   2138      1.1  christos     0x2b, 0x4b, 0x14, 0xf1, 0x21, 0x6a, 0x68, 0xd5,
   2139      1.1  christos     0x65, 0xe6, 0x16, 0x42, 0xdc, 0xf3, 0xce, 0x0e,
   2140      1.1  christos     0x3a, 0xa4, 0x12, 0x16, 0x72, 0xa5, 0xa4, 0xbb,
   2141      1.1  christos     0xa3, 0xb4, 0x08, 0x6d, 0xce, 0x95, 0x73, 0xc6,
   2142      1.1  christos     0x4a, 0xe4, 0x5a, 0x14, 0x73, 0xb1, 0x14, 0xab,
   2143      1.1  christos     0x65, 0xb7, 0x8b, 0xe4, 0x7c, 0xa1, 0xd2, 0xbb,
   2144      1.1  christos     0x6a, 0xf2, 0xf2, 0x7d, 0x64, 0x26, 0x68, 0xec,
   2145      1.1  christos     0xc2, 0x51, 0x3c, 0xf0, 0xcc, 0x7a, 0x04, 0x6a,
   2146      1.1  christos     0x29, 0x8d, 0x76, 0x7f, 0xe5, 0x8f, 0x95, 0x20,
   2147      1.1  christos     0xd1, 0xf7, 0x98, 0x29, 0xf5, 0x35, 0x80, 0x25,
   2148      1.1  christos     0xda, 0x54, 0xde, 0xb9, 0x5f, 0x6d, 0x68, 0xcf,
   2149      1.1  christos     0x7e, 0x85, 0xcf, 0x38, 0x0d, 0x32, 0x63, 0x37,
   2150      1.1  christos     0x77, 0xe1, 0xa5, 0x9c, 0x0a, 0x6c, 0xc5, 0x3f,
   2151      1.1  christos     0xde, 0xdb, 0xe6, 0x57, 0x16, 0x4e, 0xbc, 0xb1,
   2152      1.1  christos     0x02, 0x7c, 0x58, 0x85, 0x60, 0x1f, 0x0d, 0x0f,
   2153      1.1  christos     0x4f, 0x5f, 0xbf, 0xa3, 0xbc, 0x2c, 0xfe, 0x66,
   2154      1.1  christos     0xbf, 0xb5, 0x93, 0xf0, 0x13, 0xfa, 0x52, 0x07,
   2155      1.1  christos     0x40, 0xdb, 0xbf, 0x6e, 0x6c, 0xca, 0x74, 0x61,
   2156      1.1  christos     0x0b, 0xa6, 0xaf, 0x02, 0x60, 0xf1, 0x57, 0x17,
   2157      1.1  christos     0x08, 0xf1, 0x09, 0xf7, 0xc4, 0x4e, 0x51, 0xaf,
   2158      1.1  christos     0x04, 0xf1, 0x4c, 0xbc, 0xe5, 0x77, 0x8f, 0x0f,
   2159      1.1  christos     0x9b, 0xa7, 0xb3, 0xf7, 0xb0, 0x32, 0x14, 0xbc,
   2160      1.1  christos     0x1d, 0x40, 0xe7, 0x06, 0x01, 0xd6, 0xf2, 0x7f,
   2161      1.1  christos     0x84, 0xab, 0x47, 0x34, 0x15, 0x2c, 0x62, 0xfe,
   2162      1.1  christos     0x95, 0x51, 0xaf, 0x51, 0x4a, 0x1d, 0xc4, 0xea,
   2163      1.1  christos     0xaf, 0xdc, 0xe4, 0xea, 0xa7, 0x7d, 0x25, 0x2a,
   2164      1.1  christos     0x79, 0x24, 0xf8, 0xaa, 0xf2, 0xe9, 0x82, 0x48,
   2165      1.1  christos     0x7b, 0x0e, 0x2c, 0x5c, 0x38, 0x89, 0x21, 0xfe,
   2166      1.1  christos     0x91, 0x72, 0xed, 0xd9, 0x41, 0xac, 0x0d, 0xdc,
   2167      1.1  christos     0x12, 0xf4, 0x3f, 0x49, 0x91, 0x65, 0x2d, 0x39,
   2168      1.1  christos     0xea, 0xdf, 0xc6, 0xcd, 0xa8, 0xbe, 0x53, 0x23,
   2169      1.1  christos     0x04, 0xbf, 0xd3, 0xf0, 0xb8, 0x76, 0xc8, 0x01,
   2170      1.1  christos     0x43, 0x2c, 0x6b, 0x79, 0xae, 0x23, 0x50, 0xe0,
   2171      1.1  christos     0x34, 0x09, 0x85, 0xd8, 0xdb, 0xc5, 0x37, 0xb8,
   2172      1.1  christos     0xd5, 0x49, 0x26, 0x9c, 0x0b, 0x85, 0x95, 0x5f,
   2173      1.1  christos     0x28, 0x17, 0x8d, 0xd3, 0x0d, 0xe0, 0x34, 0x34,
   2174      1.1  christos     0x23, 0x07, 0x74, 0x13, 0x55, 0xd7, 0xe5, 0xb4,
   2175      1.1  christos     0x83, 0x4c, 0xd8, 0xdc, 0xdb, 0x5a, 0xe9, 0x3c,
   2176      1.1  christos     0x36, 0x53, 0xa4, 0x3a, 0x80, 0xde, 0x77, 0xa0,
   2177      1.1  christos     0xaa, 0x9a, 0xe7, 0x6e, 0xdd, 0x98, 0xdd, 0x6a,
   2178      1.1  christos     0xf4, 0x34, 0xda, 0x83, 0x80, 0x9c, 0xe5, 0x83,
   2179      1.1  christos     0xb3, 0xb6, 0xf7, 0x81, 0x39, 0x46, 0xea, 0x93,
   2180      1.1  christos     0x85, 0xad, 0xf5, 0xa7, 0x1a, 0xb1, 0x31, 0x6f,
   2181      1.1  christos     0xb9, 0x79, 0x11, 0x57, 0x62, 0x47, 0xd9, 0xcc,
   2182      1.1  christos     0x67, 0x78, 0xec, 0x32, 0xd3, 0x0c, 0x34, 0xea,
   2183      1.1  christos     0x1b, 0xa8, 0x84, 0x54, 0xb1, 0xf3, 0x80, 0x4b,
   2184      1.1  christos     0x79, 0x32, 0x82, 0x18, 0x54, 0x2d, 0xdf, 0xbb,
   2185      1.1  christos     0x4d, 0xbe, 0x75, 0xa0, 0x8e, 0x53, 0x52, 0xed,
   2186      1.1  christos     0x6e, 0x0a, 0x9f, 0xa6, 0x9b, 0x14, 0x32, 0x10,
   2187      1.1  christos     0xf1, 0x7e, 0xdd, 0xfa, 0xc5, 0xf5, 0xbd, 0x67,
   2188      1.1  christos     0xfb, 0x64, 0xf6, 0xc3, 0xb1, 0xc9, 0x81, 0x17,
   2189      1.1  christos     0x60, 0x56, 0x11, 0xdc, 0x63, 0x13, 0x16, 0x4a,
   2190      1.1  christos     0xa8, 0xeb, 0x7f, 0x82, 0xd3, 0x90, 0xeb, 0x5e,
   2191      1.1  christos     0xe7, 0xb0, 0xd9, 0x3e, 0x13, 0xd3, 0x73, 0x90,
   2192      1.1  christos     0x0d, 0x67, 0xc1, 0x18, 0xcc, 0x3b, 0x88, 0xcd,
   2193      1.1  christos     0x4d, 0x40, 0xbe, 0xd4, 0x5e, 0xee, 0x73, 0xa4,
   2194      1.1  christos     0xee, 0xbd, 0xcb, 0xbc, 0x39, 0x8b, 0x6d, 0x15,
   2195      1.1  christos     0x34, 0x18, 0xd2, 0x55, 0x93, 0xc0, 0xf4, 0x95,
   2196      1.1  christos     0xd1, 0xe4, 0x7f, 0x37, 0xb1, 0x3a, 0x8c, 0x4b,
   2197      1.1  christos     0xbc, 0x7d, 0x76, 0xb4, 0x34, 0xf4, 0x11, 0x5c,
   2198      1.1  christos     0x10, 0xeb, 0x34, 0x88, 0x61, 0xd7, 0x89, 0xac,
   2199      1.1  christos     0x87, 0x91, 0x6a, 0x80, 0xee, 0x07, 0x0d, 0x26,
   2200      1.1  christos     0xfa, 0xd2, 0x75, 0x6b, 0xd6, 0x0b, 0xa5, 0xc6,
   2201      1.1  christos     0x71, 0x6d, 0x0a, 0x5b, 0x59, 0x62, 0x32, 0x60,
   2202      1.1  christos     0x42, 0x73, 0x75, 0xda, 0x63, 0x36, 0x96, 0xca,
   2203      1.1  christos     0xde, 0xe9, 0x60, 0xfe, 0xa2, 0x64, 0xcc, 0x85,
   2204      1.1  christos     0x22, 0x4c, 0xc5, 0x2f, 0x0e, 0xe8, 0xf5, 0x93,
   2205      1.1  christos     0xdb, 0x16, 0xa7, 0x1f, 0xd9, 0x30, 0xbc, 0xa2,
   2206      1.1  christos     0xba, 0x23, 0xca, 0xea, 0xc1, 0x4d, 0x2f, 0xd4,
   2207      1.1  christos     0x81, 0x98, 0xff, 0x58, 0xfc, 0x40, 0x39, 0x75,
   2208      1.1  christos     0x52, 0x3e, 0x3e, 0xf4, 0x8d, 0x95, 0x55, 0x0a,
   2209      1.1  christos     0x95, 0x5f, 0x4f, 0x5d, 0xdd, 0x0d, 0xb8, 0xd4,
   2210      1.1  christos     0x63, 0x98, 0x48, 0x6b, 0xec, 0xe8, 0xd9, 0xae,
   2211      1.1  christos     0xeb, 0x9d, 0x48, 0xa4, 0x9a, 0x63, 0x03, 0xc4,
   2212      1.1  christos     0x57, 0xcd, 0x7d, 0x97, 0xc8, 0x11, 0x7e, 0xcb,
   2213      1.1  christos     0x78, 0xe8, 0x5d, 0x6e, 0xe6, 0xdd, 0x13, 0x33,
   2214      1.1  christos     0xf2, 0x05, 0xcd, 0x5a, 0x44, 0x18, 0xf9, 0x32,
   2215      1.1  christos     0x41, 0x4e, 0x5c, 0xfc, 0x7a, 0xe9, 0xc2, 0x28,
   2216      1.1  christos     0xd3, 0x42, 0x56, 0xc8, 0x39, 0x26, 0x78, 0xdd,
   2217      1.1  christos     0x92, 0x1c, 0xa6, 0xf4, 0x94, 0xa9, 0xc4, 0x69,
   2218      1.1  christos     0xf9, 0x7e, 0xea, 0x9c, 0xd6, 0x92, 0xd6, 0xab,
   2219      1.1  christos     0xd5, 0x1d, 0xde, 0x4e, 0x8d, 0x6c, 0xb2, 0xc3,
   2220      1.1  christos     0x8a, 0xcb, 0xdb, 0xfc, 0x2d, 0xb6, 0xc6, 0x16,
   2221      1.1  christos     0x49, 0xd1, 0x31, 0x51, 0x90, 0x0c, 0x75, 0x6e,
   2222      1.1  christos     0x27, 0x3b, 0xda, 0x42, 0x0b, 0xdc, 0xd1, 0xea,
   2223      1.1  christos     0xde, 0xd9, 0xbe, 0x02, 0xb8, 0xb0, 0x55, 0xba,
   2224      1.1  christos     0xde, 0x0c, 0xcf, 0x68, 0xd2, 0x02, 0x7f, 0x16,
   2225      1.1  christos     0x5a, 0x63, 0xcc, 0xd1, 0x42, 0xb3, 0x2f, 0x08,
   2226      1.1  christos     0x4a, 0x8c, 0x06, 0xa9, 0x13, 0xa2, 0xca, 0xf0,
   2227      1.1  christos     0x72, 0xff, 0xd1, 0x77, 0x58, 0xcd, 0x8d, 0x49,
   2228      1.1  christos     0xca, 0x67, 0x9a, 0x21, 0x58, 0x94, 0xa6, 0x80,
   2229      1.1  christos     0x57, 0xb4, 0xfb, 0x7a, 0x76, 0x30, 0xe8, 0xa1,
   2230      1.1  christos     0xef, 0x45, 0x6f, 0xa9, 0x62, 0xf5, 0x51, 0xfa,
   2231      1.1  christos     0x87, 0x56, 0x07, 0x9b, 0xc3, 0xab, 0xd6, 0x3c,
   2232      1.1  christos     0xa4, 0x3a, 0x02, 0x1f, 0xcd, 0xaa, 0xce, 0x2c,
   2233      1.1  christos     0xc9, 0x49, 0x30, 0x27, 0x3e, 0x27, 0x92, 0x59,
   2234      1.1  christos     0xff, 0xb7, 0x35, 0x6e, 0xe7, 0x7e, 0x94, 0x06,
   2235      1.1  christos     0xf0, 0x2b, 0x00, 0x58, 0x3f, 0x5e, 0x28, 0x12,
   2236      1.1  christos     0x70, 0x1c, 0x6b, 0xef, 0x78, 0x22, 0x12, 0x03,
   2237      1.1  christos     0xd7, 0x12, 0xd5, 0x46, 0xd6, 0xf2, 0xea, 0x16,
   2238      1.1  christos     0x94, 0x2c, 0x1a, 0xfa, 0x52, 0x05, 0xed, 0xf1,
   2239      1.1  christos     0x25, 0xf4, 0x06, 0x8b, 0x85, 0x7c, 0x38, 0x70,
   2240      1.1  christos     0x53, 0x54, 0x41, 0x6c, 0x8a, 0x0a, 0x60, 0x83,
   2241      1.1  christos     0x59, 0x7d, 0x73, 0xe0, 0xd8, 0xa5, 0x1b, 0x3a,
   2242      1.1  christos     0xec, 0xcd, 0x5f, 0x44, 0x0b, 0xeb, 0xcc, 0xe9,
   2243      1.1  christos     0x65, 0xd4, 0x68, 0xb0, 0x3d, 0x13, 0xf1, 0xb9,
   2244      1.1  christos     0x2a, 0x67, 0xb7, 0xae, 0x4f, 0xf3, 0xa7, 0x2e,
   2245      1.1  christos     0x33, 0xf3, 0x80, 0xc1, 0x4f, 0xd1, 0xcd, 0xdd,
   2246      1.1  christos     0xd2, 0xab, 0xde, 0xcb, 0x04, 0xc8, 0x1b, 0x26,
   2247      1.1  christos     0xd4, 0x86, 0xd8, 0x6f, 0xe1, 0x2b, 0x85, 0xb9,
   2248      1.1  christos     0x2c, 0xe3, 0xaf, 0xf5, 0x9f, 0x4b, 0xfb, 0x41,
   2249      1.1  christos     0xa9, 0xc9, 0x2e, 0xd0, 0x2d, 0xda, 0xba, 0xa0,
   2250      1.1  christos     0xba, 0xfb, 0x14, 0x5d, 0x2e, 0xbf, 0x65, 0xbd,
   2251      1.1  christos     0xe3, 0x51, 0x8d, 0xdd, 0xbb, 0x51, 0x35, 0x3a,
   2252      1.1  christos     0xf0, 0xbe, 0x74, 0xae, 0x42, 0x8b, 0x5d, 0xd9,
   2253      1.1  christos     0xef, 0x67, 0x1c, 0x01, 0xb5, 0x1c, 0xc9, 0x3d,
   2254      1.1  christos     0x0c, 0x42, 0x3a, 0xce, 0x53, 0xbb, 0x23, 0xd0,
   2255      1.1  christos     0x92, 0x2c, 0x60, 0x0f, 0xf1, 0x73, 0x37, 0xa9,
   2256      1.1  christos     0x99, 0x86, 0xd9, 0x7e, 0xfc, 0x8a, 0x56, 0xa2,
   2257      1.1  christos     0xf7, 0x17, 0x69, 0x75, 0x49, 0x1a, 0x8e, 0x4c,
   2258      1.1  christos     0x4b, 0x87, 0xe0, 0xfb, 0xcc, 0x93, 0x14, 0x7d,
   2259      1.1  christos     0x96, 0xdc, 0xcc, 0xc6, 0x3c, 0x8d, 0x71, 0x50,
   2260      1.1  christos     0xf2, 0x0f, 0x67, 0xdd, 0xd9, 0x95, 0xb7, 0xc9,
   2261      1.1  christos     0xd8, 0xf4, 0x1a, 0xca, 0x0c, 0x90, 0xe4, 0xf5,
   2262      1.1  christos     0x0e, 0xf7, 0xfb, 0x8c, 0x4c, 0x92, 0x66, 0x3c,
   2263      1.1  christos     0x3d, 0xf2, 0x47, 0x6f, 0x8c, 0x51, 0x71, 0xff,
   2264      1.1  christos     0xe1, 0xba, 0x1f, 0x02, 0x64, 0x12, 0x79, 0xa5,
   2265      1.1  christos     0xad, 0x6e, 0x7c, 0xab, 0xf1, 0x06, 0x01, 0xc1,
   2266      1.1  christos     0x25, 0x4e, 0xd6, 0xb6, 0xc3, 0xe9, 0xbe, 0x64,
   2267      1.1  christos     0x52, 0x18, 0x22, 0x01, 0x23, 0xc6, 0xd6, 0xbb,
   2268      1.1  christos     0x13, 0xbe, 0x15, 0x40, 0xc4, 0x97, 0x4b, 0x24,
   2269      1.1  christos     0xe7, 0xaa, 0xef, 0x3b, 0x24, 0x04, 0x47, 0xcc,
   2270      1.1  christos     0x4d, 0xd8, 0xd2, 0x9f, 0xf6, 0x60, 0xb9, 0x04,
   2271      1.1  christos     0x27, 0xc0, 0x1c, 0xbc, 0x28, 0xe6, 0x16, 0xa4,
   2272      1.1  christos     0x06, 0xa8, 0xab, 0x52, 0x56, 0x58, 0x53, 0x4a,
   2273      1.1  christos     0xda, 0x0d, 0xf0, 0xb2, 0x8a, 0x8e, 0x7d, 0xd7,
   2274      1.1  christos     0x29, 0x45, 0xe9, 0xc6, 0xc3, 0xf4, 0xaa, 0x16,
   2275      1.1  christos     0x01, 0x48, 0x1d, 0x6c, 0x90, 0xbe, 0x49, 0x5c,
   2276      1.1  christos     0x28, 0x49, 0x18, 0xd5, 0x52, 0xd5, 0x12, 0x54,
   2277      1.1  christos     0x9c, 0x1f, 0xc0, 0xb5, 0x8f, 0x22, 0xa7, 0x2a,
   2278      1.1  christos     0xd7, 0x36, 0x41, 0xc2, 0xc1, 0x7d, 0x11, 0x9b,
   2279      1.1  christos     0xbf, 0x84, 0x2a, 0x05, 0x9f, 0x41, 0xea, 0x54,
   2280      1.1  christos     0xf2, 0xe1, 0x69, 0x4d, 0xd5, 0x63, 0x00, 0x28,
   2281      1.1  christos     0x81, 0x75, 0xd3, 0x8c, 0x19, 0x81, 0xd6, 0x0a,
   2282      1.1  christos     0x25, 0x62, 0x9e, 0x35, 0xd0, 0x4d, 0xc7, 0x73,
   2283      1.1  christos     0x3e, 0xae, 0x39, 0x89, 0xf9, 0xb6, 0x67, 0xf0,
   2284      1.1  christos     0x08, 0x98, 0xd7, 0x87, 0xf1, 0xf4, 0x58, 0x12,
   2285      1.1  christos     0xf5, 0x22, 0x51, 0xad, 0x9a, 0x4d, 0xed, 0x09,
   2286      1.1  christos     0x81, 0x82, 0x99, 0x9b, 0x5f, 0x05, 0xb6, 0x3e,
   2287      1.1  christos     0x8e, 0xad, 0x34, 0xa1, 0x2d, 0xb6, 0xae, 0xc7,
   2288      1.1  christos     0x7b, 0x7f, 0x39, 0xf9, 0x53, 0xaf, 0xcd, 0x0e,
   2289      1.1  christos     0xcc, 0x98, 0x5b, 0x5b, 0x92, 0x8c, 0x75, 0x36,
   2290      1.1  christos     0x0a, 0xa9, 0xfc, 0xf5, 0x22, 0x14, 0xf3, 0x44,
   2291      1.1  christos     0x5e, 0xc7, 0xf6, 0x7f, 0x3a, 0x92, 0x0b, 0xc1,
   2292      1.1  christos     0x68, 0xa3, 0xc2, 0xd8, 0xf3, 0xd1, 0x12, 0x5b,
   2293      1.1  christos     0x12, 0xd1, 0x96, 0x18, 0x50, 0x0c, 0xb5, 0x13,
   2294      1.1  christos     0x40, 0xcb, 0x38, 0xdd, 0xf7, 0xc2, 0x4f, 0xb9,
   2295      1.1  christos     0xda, 0xd2, 0x94, 0x3f, 0xbf, 0x63, 0x4f, 0x0a,
   2296      1.1  christos     0xb8, 0x03, 0x67, 0x65, 0xc6, 0x40, 0xff, 0xc8,
   2297      1.1  christos     0xd7, 0x8e, 0x06, 0x92, 0x7a, 0xdb, 0xad, 0x7d,
   2298      1.1  christos     0x1b, 0x82, 0xd5, 0x19, 0xf1, 0x4a, 0x11, 0x3a,
   2299      1.1  christos     0xe4, 0x23, 0x39, 0x8d, 0x5d, 0x0a, 0x63, 0xb2,
   2300      1.1  christos     0x67, 0x1f, 0x98, 0xde, 0x5a, 0x44, 0x6a, 0x70,
   2301      1.1  christos     0xff, 0x83, 0x34, 0x78, 0xa5, 0x02, 0x0b, 0x51,
   2302      1.1  christos     0x4b, 0x0a, 0xab, 0x16, 0x04, 0x2e, 0xce, 0x6a,
   2303      1.1  christos     0xf2, 0x72, 0x4c, 0x6f, 0x2f, 0xfa, 0xca, 0xd8,
   2304      1.1  christos     0x19, 0x4f, 0x48, 0x9f, 0x1c, 0x7d, 0x60, 0x34,
   2305      1.1  christos     0x9c, 0x79, 0x44, 0xd3, 0xaa, 0xea, 0x5c, 0xfe,
   2306      1.1  christos     0xa0, 0xa1, 0x6e, 0xff, 0xa8, 0xb6, 0xe3, 0xd9,
   2307      1.1  christos     0x60, 0xf2, 0x93, 0x32, 0x77, 0x07, 0xd6, 0xbb,
   2308      1.1  christos     0xdf, 0x3a, 0x49, 0x38, 0xad, 0xc4, 0x63, 0xaf,
   2309      1.1  christos     0xd0, 0x00, 0x41, 0xdb, 0x96, 0x75, 0xbb, 0xb3,
   2310      1.1  christos     0xa8, 0x10, 0x67, 0x7e, 0x47, 0x89, 0x8c, 0xce,
   2311      1.1  christos     0xdd, 0xe8, 0x8b, 0xf3, 0xdb, 0xd7, 0xf5, 0x4f,
   2312      1.1  christos     0x22, 0xbf, 0x19, 0x61, 0x64, 0xf7, 0xe3, 0xcd,
   2313      1.1  christos     0x4e, 0x3d, 0x19, 0x8e, 0x45, 0x8c, 0xce, 0xd3,
   2314      1.1  christos     0x65, 0x3e, 0xb0, 0xdc, 0x94, 0x2e, 0xa2, 0xc2,
   2315      1.1  christos     0x53, 0xba, 0x46, 0x3a, 0xd1, 0x39, 0xd4, 0x7a,
   2316      1.1  christos     0xd8, 0xd6, 0x95, 0xb7, 0xdb, 0xdd, 0x7a, 0x81,
   2317      1.1  christos     0x78, 0xac, 0xfe, 0x0a, 0x1c, 0x74, 0x3f, 0x52,
   2318      1.1  christos     0xa3, 0x4d, 0xee, 0x4d, 0x37, 0x15, 0xd7, 0x39,
   2319      1.1  christos     0x06, 0x59, 0xec, 0xa7, 0x92, 0xb2, 0x65, 0xee,
   2320      1.1  christos     0x49, 0x63, 0xf4, 0x01, 0x54, 0xc2, 0xa0, 0xab,
   2321      1.1  christos     0xfc, 0x10, 0x03, 0x30, 0x22, 0x63, 0xdb, 0x6e,
   2322      1.1  christos     0xed, 0xd9, 0x1c, 0x28, 0xb1, 0x48, 0x09, 0xa8,
   2323      1.1  christos     0x1c, 0x97, 0x09, 0xda, 0xaa, 0x3e, 0xd7, 0xc3,
   2324      1.1  christos     0x65, 0x2f, 0x81, 0x22, 0x8e, 0x4e, 0x0e, 0x71,
   2325      1.1  christos     0xaa, 0x96, 0xe4, 0x23, 0xd7, 0xa1, 0x1f, 0xcb,
   2326      1.1  christos     0x8c, 0x9e, 0xa0, 0x39, 0xc4, 0xb1, 0x01, 0x68,
   2327      1.1  christos     0x90, 0x61, 0x58, 0xcd, 0x62, 0xa0, 0xa9, 0xeb,
   2328      1.1  christos     0xb3, 0x07, 0xb4, 0xf5, 0xf9, 0xb6, 0xdf, 0x05,
   2329      1.1  christos     0xc6, 0x03, 0x7a, 0xa5, 0x1e, 0x8c, 0x12, 0x79,
   2330      1.1  christos     0x9a, 0xe3, 0x2b, 0x22, 0x25, 0x9a, 0x52, 0x68,
   2331      1.1  christos     0x4b, 0x47, 0x71, 0xac, 0x71, 0x3e, 0x1a, 0x14,
   2332      1.1  christos     0x7f, 0x34, 0x4d, 0xdc, 0x4e, 0x49, 0xf6, 0x5a,
   2333      1.1  christos     0x91, 0x5b, 0x44, 0xc8, 0xef, 0x67, 0x9c, 0xfe,
   2334      1.1  christos     0xb3, 0x04, 0xa9, 0x4f, 0xa8, 0xf3, 0x89, 0xdf,
   2335      1.1  christos     0x89, 0x83, 0xff, 0xd2, 0x45, 0x95, 0x66, 0x56,
   2336      1.1  christos     0x23, 0x84, 0x01, 0x13, 0x90, 0x5a, 0x7a, 0x04,
   2337      1.1  christos     0xc3, 0x97, 0x60, 0xf2, 0x86, 0x35, 0x5c, 0x45,
   2338      1.1  christos     0x6f, 0xcf, 0x27, 0xbc, 0xbb, 0xc3, 0x52, 0xf6,
   2339      1.1  christos     0xb2, 0xd6, 0x5a, 0xe0, 0xbc, 0x14, 0xc8, 0xfd,
   2340      1.1  christos     0x57, 0x38, 0x61, 0x8e, 0xc2, 0x58, 0x5e, 0xcc,
   2341      1.1  christos     0x0d, 0x86, 0xb6, 0xf3, 0x27, 0x92, 0x4a, 0x44,
   2342      1.1  christos     0xde, 0x27, 0x4b, 0xf9, 0xc3, 0x62, 0x5d, 0xe2,
   2343      1.1  christos     0x72, 0xfe, 0xae, 0x22, 0x8f, 0x31, 0x52, 0x99,
   2344      1.1  christos     0xda, 0x94, 0xd3, 0xaa, 0x73, 0x49, 0xdb, 0x48,
   2345      1.1  christos     0x1a, 0x1f, 0x0b, 0x7b, 0x11, 0x3f, 0xcd, 0x57,
   2346      1.1  christos     0xc4, 0x4e, 0x7b, 0x3e, 0xc6, 0x82, 0x8a, 0x17,
   2347      1.1  christos     0x41, 0xe3, 0x00, 0x55, 0xec, 0x82, 0x9f, 0x65,
   2348      1.1  christos     0x30, 0x4d, 0xfa, 0xc1, 0x91, 0x16, 0x89, 0x4d,
   2349      1.1  christos     0xec, 0x5a, 0xee, 0x17, 0xa0, 0xaf, 0x03, 0xb4,
   2350      1.1  christos     0x04, 0x01, 0x54, 0xa6, 0x13, 0xad, 0x7c, 0x49,
   2351      1.1  christos     0x17, 0x75, 0x0c, 0x4a, 0xe6, 0xf8, 0x7c, 0xa2,
   2352      1.1  christos     0xf3, 0x53, 0x84, 0xb1, 0xd3, 0x23, 0x53, 0xc7,
   2353      1.1  christos     0x35, 0xdf, 0x66, 0xee, 0x0f, 0xbc, 0x8e, 0x2c,
   2354      1.1  christos     0x21, 0x43, 0x46, 0x97, 0x89, 0x90, 0x35, 0x18,
   2355      1.1  christos     0xcc, 0xd9, 0x3a, 0xc8, 0x58, 0x1c, 0x52, 0x94,
   2356      1.1  christos     0x57, 0x4d, 0x5a, 0x37, 0xc3, 0xfb, 0x65, 0xdd,
   2357      1.1  christos     0xbe, 0x96, 0x97, 0xdf, 0xda, 0x73, 0x60, 0x9a,
   2358      1.1  christos     0x45, 0x1e, 0x18, 0xf4, 0xea, 0x5e, 0xfc, 0x0e,
   2359      1.1  christos     0x39, 0xf3, 0x81, 0x88, 0x2a, 0xe5, 0xe1, 0x91,
   2360      1.1  christos     0xed, 0x37, 0x32, 0x63, 0x4d, 0xd3, 0x90, 0xcb,
   2361      1.1  christos     0x86, 0xc0, 0x5c, 0xbd, 0x04, 0x7e, 0x13, 0x69,
   2362      1.1  christos     0xa0, 0xe1, 0x1f, 0xbd, 0x86, 0x33, 0xf4, 0x99,
   2363      1.1  christos     0xd1, 0x4e, 0xde, 0x60, 0xbb, 0xd2, 0xd5, 0x9d,
   2364      1.1  christos     0x3f, 0x15, 0x01, 0x79, 0x4a, 0x03, 0x5e, 0x39,
   2365      1.1  christos     0x23, 0x99, 0xbb, 0x27, 0x8d, 0x93, 0x5c, 0x13,
   2366      1.1  christos     0x6e, 0xbf, 0xc0, 0x3a, 0x32, 0xf9, 0xc0, 0xf4,
   2367      1.1  christos     0xb4, 0x73, 0x16, 0x63, 0xba, 0x9d, 0x2c, 0xb1,
   2368      1.1  christos     0x08, 0x63, 0x69, 0xa4, 0x71, 0x0d, 0x67, 0x06,
   2369      1.1  christos     0xd3, 0x48, 0x0e, 0x7a, 0x53, 0xe0, 0xdd, 0x19,
   2370      1.1  christos     0xc2, 0xfc, 0x96, 0x07, 0xbc, 0xe6, 0x3d, 0x76,
   2371      1.1  christos     0x73, 0xcb, 0x7f, 0x0f, 0xe1, 0x9a, 0x70, 0xd0,
   2372      1.1  christos     0x0c, 0xf7, 0xc9, 0x96, 0x04, 0x70, 0x4a, 0xf8,
   2373      1.1  christos     0x9a, 0x68, 0x12, 0x1c, 0xfa, 0x2b, 0x96, 0x9c,
   2374      1.1  christos     0x3f, 0x45, 0xf9, 0x02, 0x80, 0xf4, 0xcd, 0x60,
   2375      1.1  christos     0xb3, 0xb2, 0x03, 0x69, 0x3f, 0x3f, 0x81, 0x2f,
   2376      1.1  christos     0xfc, 0x9e, 0x6a, 0x0a, 0x72, 0xdb, 0x65, 0xe0,
   2377      1.1  christos     0x20, 0xb9, 0x3e, 0x0f, 0xaa, 0xc7, 0x68, 0x29,
   2378      1.1  christos     0xd1, 0xfe, 0xbf, 0x73, 0x32, 0xcb, 0x97, 0xa8,
   2379      1.1  christos     0x67, 0x77, 0x08, 0x39, 0x0d, 0x1d, 0x01, 0xec,
   2380      1.1  christos     0x5a, 0x7f, 0x60, 0x69, 0x13, 0x47, 0xa1, 0x7f,
   2381      1.1  christos     0xfc, 0x0c, 0xee, 0x51, 0x6f, 0x53, 0x16, 0x2f,
   2382      1.1  christos     0xd5, 0x50, 0x9d, 0x99, 0xe7, 0xa8, 0xf7, 0xda,
   2383      1.1  christos     0xb2, 0x71, 0xcd, 0x3d, 0xaa, 0x40, 0x6d, 0x7a,
   2384      1.1  christos     0x51, 0x76, 0xb2, 0xca, 0xc2, 0xc8, 0x88, 0x30,
   2385      1.1  christos     0xf6, 0xa9, 0x9c, 0xb4, 0x7e, 0x24, 0xce, 0x20,
   2386      1.1  christos     0x0f, 0x10, 0xf2, 0xdb, 0xad, 0x43, 0x5e, 0x0c,
   2387      1.1  christos     0x3d, 0x27, 0x6a, 0xed, 0x38, 0x2b, 0xe2, 0xd0,
   2388      1.1  christos     0x91, 0xff, 0x5b, 0x7c, 0x0c, 0xed, 0x87, 0xa7,
   2389      1.1  christos     0xd5, 0x09, 0x79, 0xfd, 0xe5, 0xeb, 0x26, 0xe0,
   2390      1.1  christos     0xa9, 0x71, 0xae, 0xd5, 0xba, 0xc4, 0x8a, 0xdf,
   2391      1.1  christos     0x0e, 0xbf, 0x0e, 0x8a, 0x6a, 0x40, 0x3d, 0x48,
   2392      1.1  christos     0x06, 0x53, 0x57, 0x43, 0xc6, 0x91, 0x4a, 0x3a,
   2393      1.1  christos     0x19, 0xc4, 0x06, 0x85, 0xbb, 0x80, 0x6e, 0x0f,
   2394      1.1  christos     0xf4, 0x54, 0xa9, 0xab, 0x2e, 0x85, 0xe8, 0x89,
   2395      1.1  christos     0x48, 0x55, 0xe3, 0xca, 0x74, 0xf0, 0x59, 0x47,
   2396      1.1  christos     0x01, 0x1d, 0x6b, 0xcd, 0x6c, 0xd3, 0x00, 0x9a,
   2397      1.1  christos     0x82, 0xaf, 0x1e, 0x29, 0x82, 0xdb, 0xd3, 0x48,
   2398      1.1  christos     0x24, 0x3e, 0x61, 0xf9, 0x40, 0xc7, 0x28, 0xc6,
   2399      1.1  christos     0xe3, 0x27, 0x71, 0xf0, 0x37, 0xeb, 0xf4, 0x30,
   2400      1.1  christos     0xdd, 0x1e, 0xf1, 0x1f, 0xa6, 0xc0, 0x7d, 0x8c,
   2401      1.1  christos     0x83, 0xac, 0xd5, 0x91, 0x3a, 0x9f, 0x8b, 0x03,
   2402      1.1  christos     0xe6, 0x7b, 0xef, 0x25, 0x57, 0xe9, 0x37, 0x52,
   2403      1.1  christos     0x01, 0xa1, 0xf6, 0xa9, 0xaf, 0xbf, 0x43, 0xf2,
   2404      1.1  christos     0x43, 0x79, 0x32, 0xf5, 0x03, 0x70, 0xde, 0x3c,
   2405      1.1  christos     0x41, 0x4e, 0x7f, 0xeb, 0x9d, 0x0e, 0x91, 0x45,
   2406      1.1  christos     0x0c, 0x98, 0xdd, 0x65, 0xcb, 0x41, 0xde, 0x75,
   2407      1.1  christos     0xa8, 0xb6, 0xe0, 0xd6, 0xe9, 0xbe, 0xe7, 0xd9,
   2408      1.1  christos     0xb0, 0x01, 0x27, 0x0c, 0xf1, 0xc0, 0x20, 0xed,
   2409      1.1  christos     0x7b, 0x17, 0xb2, 0xfa, 0x56, 0x9b, 0x5a, 0xf5,
   2410      1.1  christos     0xb1, 0x2e, 0x36, 0xd0, 0x88, 0x2b, 0x00, 0xc5,
   2411      1.1  christos     0x02, 0x4a, 0xa0, 0xda, 0x65, 0xb6, 0x7b, 0xa1,
   2412      1.1  christos     0x7b, 0x1e, 0x28, 0x72, 0xcf, 0x4f, 0xa3, 0xe6,
   2413      1.1  christos     0x21, 0x14, 0x25, 0x40, 0xc4, 0x41, 0xda, 0xde,
   2414      1.1  christos     0xd4, 0x10, 0xca, 0x02, 0x95, 0x31, 0xcd, 0xfc,
   2415      1.1  christos     0xe9, 0x7b, 0xb8, 0x0f, 0xe3, 0xf1, 0xcb, 0x2e,
   2416      1.1  christos     0x8f, 0xd4, 0x3e, 0xfa, 0xdc, 0x5f, 0x4c, 0xc3,
   2417      1.1  christos     0xc1, 0x38, 0x8e, 0xbe, 0xf8, 0x21, 0x56, 0xaf,
   2418      1.1  christos     0xba, 0x42, 0xb7, 0x76, 0xd8, 0xfc, 0xa3, 0x6c,
   2419      1.1  christos     0x07, 0x62, 0xa2, 0xb5, 0x27, 0xe0, 0x18, 0x7c,
   2420      1.1  christos     0x57, 0xe3, 0x6d, 0xfe, 0x47, 0x56, 0x61, 0xd5,
   2421      1.1  christos     0xda, 0x17, 0x44, 0x7b, 0x47, 0xea, 0x43, 0x62,
   2422      1.1  christos     0xcf, 0x11, 0xe4, 0x6b, 0x26, 0x82, 0x24, 0x13,
   2423      1.1  christos     0x63, 0xc6, 0x14, 0xbb, 0x00, 0xad, 0xe6, 0xe7,
   2424      1.1  christos     0x32, 0x4e, 0x79, 0xae, 0xc0, 0x1a, 0x51, 0x78,
   2425      1.1  christos     0xc0, 0xd4, 0x13, 0x02, 0xb1, 0x55, 0xcf, 0xf0,
   2426      1.1  christos     0x92, 0xaa, 0xad, 0x8f, 0x89, 0x4d, 0xfc, 0x2e,
   2427      1.1  christos     0x3b, 0x1a, 0x22, 0xb2, 0x4e, 0xef, 0xdb, 0x98,
   2428      1.1  christos     0x56, 0x0f, 0x7a, 0x0a, 0x5e, 0xf6, 0xde, 0x8e,
   2429      1.1  christos     0xd5, 0xdc, 0x84, 0x72, 0xe6, 0xa9, 0xd2, 0x5f,
   2430      1.1  christos     0xd5, 0x66, 0xab, 0x1e, 0x8b, 0xf2, 0x28, 0x9b,
   2431      1.1  christos     0x77, 0xc5, 0x24, 0x04, 0x93, 0x85, 0x54, 0x5b,
   2432      1.1  christos     0xcc, 0x0a, 0x18, 0xdc, 0xa9, 0x27, 0x34, 0x1d
   2433      1.1  christos };
   2434      1.1  christos 
   2435      1.1  christos static const unsigned char ml_dsa_65_sig[] = {
   2436      1.1  christos     0x5e, 0xc1, 0xb0, 0x64, 0x5c, 0x45, 0x6e, 0x22,
   2437      1.1  christos     0x9f, 0x7c, 0x49, 0xbf, 0x8e, 0x93, 0xe5, 0x83,
   2438      1.1  christos     0xfc, 0xa0, 0xf3, 0xb0, 0x93, 0x6f, 0x47, 0xa9,
   2439      1.1  christos     0x11, 0x9e, 0x1b, 0x13, 0xae, 0x05, 0xdd, 0xc6,
   2440      1.1  christos     0x55, 0x46, 0x81, 0x4f, 0x5e, 0x0c, 0xa7, 0x75,
   2441      1.1  christos     0x6b, 0x5c, 0x13, 0xf2, 0xc7, 0x1f, 0x4d, 0x74,
   2442      1.1  christos     0xa5, 0x50, 0xf4, 0xec, 0x3e, 0x75, 0x75, 0xbf,
   2443      1.1  christos     0x4c, 0xef, 0x50, 0x02, 0x87, 0x7d, 0x88, 0x05,
   2444      1.1  christos     0x40, 0xba, 0xc1, 0x8e, 0xd6, 0x5d, 0xe3, 0x3c,
   2445      1.1  christos     0xd9, 0x98, 0x05, 0x76, 0x09, 0xdf, 0xcb, 0xd2,
   2446      1.1  christos     0x0e, 0x56, 0x53, 0x88, 0x1e, 0xe1, 0x91, 0xcd,
   2447      1.1  christos     0x7d, 0x67, 0x11, 0x89, 0xf8, 0x58, 0xb9, 0x76,
   2448      1.1  christos     0xd6, 0x8f, 0x83, 0xca, 0xcc, 0x94, 0xf4, 0x97,
   2449      1.1  christos     0x58, 0xf5, 0x3d, 0xc7, 0xaa, 0xa4, 0x3f, 0xe3,
   2450      1.1  christos     0xcb, 0xcc, 0x67, 0xac, 0x50, 0x8f, 0xfe, 0xf7,
   2451      1.1  christos     0x90, 0x33, 0x04, 0x8b, 0x82, 0x14, 0x26, 0xa7,
   2452      1.1  christos     0x21, 0x4e, 0xf2, 0x37, 0x5a, 0x91, 0xe8, 0x7a,
   2453      1.1  christos     0x30, 0xb6, 0xce, 0x8f, 0x31, 0xfc, 0xef, 0xbe,
   2454      1.1  christos     0x7d, 0x16, 0x81, 0x18, 0xb3, 0x77, 0x0f, 0x4a,
   2455      1.1  christos     0xe9, 0x31, 0xf8, 0x51, 0x0e, 0xaa, 0x44, 0x5c,
   2456      1.1  christos     0x8b, 0x43, 0x0a, 0x61, 0x02, 0x6c, 0xdf, 0xee,
   2457      1.1  christos     0x09, 0x9b, 0x8f, 0x91, 0x5c, 0x75, 0x10, 0xa8,
   2458      1.1  christos     0xc6, 0xe3, 0x5d, 0x93, 0x74, 0x63, 0x73, 0x27,
   2459      1.1  christos     0xb9, 0x29, 0xc0, 0x9b, 0x62, 0x6a, 0xc6, 0x75,
   2460      1.1  christos     0x84, 0x78, 0x41, 0xf3, 0x5c, 0x5d, 0x60, 0xcf,
   2461      1.1  christos     0xc5, 0xe4, 0x78, 0x87, 0x53, 0x6c, 0xab, 0xff,
   2462      1.1  christos     0xbb, 0x53, 0xe9, 0x54, 0xf7, 0x1e, 0x06, 0xcf,
   2463      1.1  christos     0x9e, 0x52, 0xd0, 0x3c, 0x8c, 0x5e, 0x64, 0xba,
   2464      1.1  christos     0x28, 0x33, 0xb0, 0x14, 0x84, 0x56, 0x5a, 0xac,
   2465      1.1  christos     0xd6, 0xee, 0x1e, 0x5e, 0x39, 0x08, 0xcb, 0x16,
   2466      1.1  christos     0x54, 0x21, 0xe4, 0x6c, 0xa7, 0x29, 0xd2, 0x7b,
   2467      1.1  christos     0xbe, 0x09, 0xd5, 0x1c, 0xf2, 0xf8, 0x11, 0x1e,
   2468      1.1  christos     0x64, 0x6b, 0xca, 0x1a, 0xe4, 0xca, 0xab, 0xf1,
   2469      1.1  christos     0x13, 0xdc, 0xa2, 0x1e, 0x78, 0x09, 0x2a, 0x08,
   2470      1.1  christos     0xc5, 0xa1, 0x42, 0x62, 0xac, 0x94, 0x46, 0x61,
   2471      1.1  christos     0x37, 0x98, 0x0d, 0x93, 0xa6, 0xc2, 0x4d, 0xb8,
   2472      1.1  christos     0x00, 0x43, 0x4d, 0x6c, 0x5d, 0x06, 0x30, 0xaf,
   2473      1.1  christos     0xd5, 0xb6, 0x32, 0x9e, 0xfe, 0xf2, 0x03, 0x8b,
   2474      1.1  christos     0xa6, 0x7c, 0x6d, 0x36, 0x7e, 0xef, 0x99, 0x09,
   2475      1.1  christos     0xaf, 0x2c, 0x79, 0x70, 0x26, 0xff, 0xc8, 0x99,
   2476      1.1  christos     0x01, 0x93, 0x3b, 0x9c, 0xde, 0x0b, 0x5e, 0xf5,
   2477      1.1  christos     0x44, 0x5f, 0x15, 0xb6, 0x49, 0xde, 0x89, 0xdd,
   2478      1.1  christos     0x1e, 0x2b, 0x69, 0x7d, 0xb2, 0x88, 0xf2, 0x94,
   2479      1.1  christos     0x24, 0x49, 0xeb, 0x23, 0xfc, 0x60, 0x95, 0x09,
   2480      1.1  christos     0x89, 0xe5, 0xfd, 0xe3, 0x63, 0xfa, 0x3a, 0xb7,
   2481      1.1  christos     0x18, 0x99, 0xe0, 0x5a, 0x25, 0x94, 0xd6, 0x3a,
   2482      1.1  christos     0x6a, 0x48, 0x6e, 0xea, 0xe3, 0x61, 0xf8, 0x81,
   2483      1.1  christos     0xe8, 0x4a, 0x43, 0xcb, 0x19, 0xfe, 0x2e, 0x16,
   2484      1.1  christos     0x8d, 0xca, 0x7e, 0xeb, 0x81, 0x55, 0xc0, 0x8a,
   2485      1.1  christos     0xf5, 0x14, 0x5b, 0xb6, 0x06, 0x45, 0x72, 0xa6,
   2486      1.1  christos     0x8a, 0xc2, 0x16, 0x8d, 0xe4, 0x31, 0x54, 0x9c,
   2487      1.1  christos     0xd2, 0x75, 0x5f, 0x7d, 0xf2, 0x19, 0x19, 0xf4,
   2488      1.1  christos     0x4a, 0xfe, 0xaf, 0x18, 0x2d, 0x51, 0x43, 0x2e,
   2489      1.1  christos     0x40, 0x02, 0xc0, 0x25, 0x53, 0x10, 0x37, 0x3d,
   2490      1.1  christos     0xeb, 0xd6, 0x08, 0x75, 0x6c, 0xb2, 0x38, 0x72,
   2491      1.1  christos     0xef, 0x67, 0x80, 0x50, 0xc7, 0x54, 0x4c, 0x91,
   2492      1.1  christos     0xcb, 0x68, 0x64, 0x23, 0xa9, 0x4b, 0x0d, 0xcb,
   2493      1.1  christos     0x71, 0x9c, 0x27, 0x67, 0x22, 0x98, 0xad, 0x3a,
   2494      1.1  christos     0xa0, 0xd8, 0x9f, 0x21, 0x95, 0xdc, 0xb0, 0xa5,
   2495      1.1  christos     0xb4, 0x44, 0x3b, 0xc8, 0xcb, 0x5c, 0x50, 0xd1,
   2496      1.1  christos     0x38, 0x03, 0x91, 0x79, 0x73, 0x2f, 0x4a, 0xd7,
   2497      1.1  christos     0x1f, 0xe5, 0xdc, 0x16, 0xaf, 0xb1, 0x2a, 0x86,
   2498      1.1  christos     0x02, 0x0b, 0x31, 0x42, 0x64, 0x2f, 0x8a, 0x83,
   2499      1.1  christos     0x7b, 0x13, 0x78, 0xdd, 0x6c, 0x72, 0x46, 0xa2,
   2500      1.1  christos     0x84, 0x2f, 0xa8, 0x24, 0x43, 0xb0, 0x69, 0xaf,
   2501      1.1  christos     0x52, 0x58, 0x13, 0x7c, 0xb3, 0xf8, 0x2d, 0x74,
   2502      1.1  christos     0x87, 0x68, 0x17, 0xd6, 0x0c, 0x50, 0x19, 0xf8,
   2503      1.1  christos     0x11, 0x68, 0xd5, 0x1c, 0x56, 0x30, 0x5d, 0x31,
   2504      1.1  christos     0x56, 0xe4, 0x9d, 0x80, 0x39, 0x0c, 0xcd, 0x34,
   2505      1.1  christos     0xfe, 0x67, 0x2f, 0xfa, 0x0c, 0x10, 0xb2, 0xcd,
   2506      1.1  christos     0x66, 0x9e, 0x65, 0xac, 0xc5, 0x45, 0x33, 0x20,
   2507      1.1  christos     0x16, 0x79, 0x82, 0x48, 0x26, 0xaa, 0x54, 0xd9,
   2508      1.1  christos     0x32, 0x03, 0x99, 0x46, 0x65, 0xf8, 0xa8, 0xe7,
   2509      1.1  christos     0x3c, 0xb1, 0xf9, 0xed, 0x76, 0x21, 0x36, 0xab,
   2510      1.1  christos     0x98, 0x2d, 0xf2, 0xd1, 0x75, 0x33, 0x58, 0xb5,
   2511      1.1  christos     0x7c, 0x4e, 0x3b, 0x78, 0xb6, 0x24, 0x15, 0xd2,
   2512      1.1  christos     0xac, 0x41, 0x44, 0x46, 0x4d, 0x7a, 0x5b, 0x86,
   2513      1.1  christos     0xce, 0xc2, 0x93, 0x11, 0x8f, 0x68, 0xb5, 0xc7,
   2514      1.1  christos     0x83, 0x8f, 0xe1, 0x13, 0x91, 0xef, 0xca, 0x18,
   2515      1.1  christos     0xa3, 0xf1, 0x04, 0x28, 0x58, 0xd8, 0x54, 0x12,
   2516      1.1  christos     0x03, 0xbe, 0xe1, 0x29, 0xcf, 0x28, 0xa3, 0x43,
   2517      1.1  christos     0x78, 0x00, 0xb7, 0x52, 0x00, 0xe3, 0x44, 0x07,
   2518      1.1  christos     0x5f, 0x67, 0xb1, 0x78, 0x75, 0x9c, 0xe0, 0xc7,
   2519      1.1  christos     0x33, 0x5f, 0x69, 0x27, 0x05, 0x15, 0xc3, 0xd4,
   2520      1.1  christos     0x81, 0x09, 0x33, 0x7b, 0x3e, 0xc4, 0x71, 0xc3,
   2521      1.1  christos     0xc0, 0x9a, 0x2c, 0xb5, 0xfc, 0x00, 0x79, 0x1d,
   2522      1.1  christos     0x12, 0xb4, 0x90, 0xf1, 0xa3, 0xb1, 0xaa, 0xa8,
   2523      1.1  christos     0xf9, 0x40, 0x48, 0xb1, 0x8b, 0x3c, 0xa9, 0xa9,
   2524      1.1  christos     0x36, 0xe0, 0xe8, 0xd3, 0x43, 0x4f, 0x63, 0xcc,
   2525      1.1  christos     0xe1, 0xbf, 0x93, 0xa5, 0xb0, 0x7a, 0xac, 0xd6,
   2526      1.1  christos     0x69, 0x42, 0xce, 0x52, 0x8c, 0xd8, 0x30, 0x18,
   2527      1.1  christos     0x9f, 0x77, 0xa2, 0xd6, 0xde, 0x5a, 0x3d, 0x59,
   2528      1.1  christos     0x28, 0x3a, 0x2a, 0x58, 0x25, 0xcb, 0x95, 0x01,
   2529      1.1  christos     0x9d, 0x04, 0x81, 0x1d, 0x63, 0xfb, 0xb1, 0xf3,
   2530      1.1  christos     0x0b, 0x3d, 0x68, 0xc1, 0x42, 0x83, 0xc5, 0xc2,
   2531      1.1  christos     0x27, 0x1e, 0x58, 0x4f, 0x42, 0x89, 0x45, 0x08,
   2532      1.1  christos     0xb2, 0xf2, 0x8d, 0x26, 0xd1, 0xb3, 0x4d, 0xbd,
   2533      1.1  christos     0xaf, 0x74, 0xc9, 0x7f, 0xbe, 0x81, 0x46, 0x73,
   2534      1.1  christos     0xdb, 0x68, 0x45, 0x41, 0xb1, 0xbe, 0xe7, 0x76,
   2535      1.1  christos     0x31, 0x01, 0xc8, 0x8c, 0xb5, 0x26, 0x9e, 0x2e,
   2536      1.1  christos     0xde, 0x07, 0x9f, 0x5b, 0x7e, 0x73, 0x36, 0xbf,
   2537      1.1  christos     0x51, 0x60, 0x98, 0xe0, 0x6e, 0x83, 0x85, 0x21,
   2538      1.1  christos     0x2c, 0xdb, 0x28, 0x2c, 0x8f, 0x4b, 0xf9, 0x15,
   2539      1.1  christos     0x08, 0x8f, 0x06, 0xa8, 0xfe, 0x26, 0x2b, 0xea,
   2540      1.1  christos     0xaf, 0xb0, 0x97, 0x3c, 0xb9, 0xf8, 0x25, 0xef,
   2541      1.1  christos     0xf5, 0x58, 0xd2, 0xf4, 0xbd, 0x1c, 0x1b, 0x84,
   2542      1.1  christos     0x29, 0xde, 0xbe, 0xb6, 0xfd, 0x30, 0x47, 0x0c,
   2543      1.1  christos     0x63, 0x3a, 0x3e, 0x6d, 0x8b, 0x0b, 0x1e, 0x64,
   2544      1.1  christos     0x5d, 0x8f, 0x64, 0xc9, 0x35, 0x7a, 0xb4, 0xb9,
   2545      1.1  christos     0xfb, 0x47, 0xe4, 0x50, 0xcd, 0xf6, 0x1a, 0xb1,
   2546      1.1  christos     0xf6, 0x22, 0x0a, 0xd5, 0x63, 0xb5, 0x20, 0xed,
   2547      1.1  christos     0x13, 0xfb, 0x43, 0x11, 0x67, 0x89, 0x6d, 0x9f,
   2548      1.1  christos     0xb1, 0x6f, 0xe8, 0x48, 0x2f, 0x7e, 0xda, 0xbc,
   2549      1.1  christos     0x08, 0xc2, 0xde, 0x1c, 0x29, 0xa4, 0x50, 0x7d,
   2550      1.1  christos     0x9c, 0x8e, 0xbc, 0x0d, 0x2b, 0xe2, 0xda, 0xb6,
   2551      1.1  christos     0x9c, 0x6c, 0x08, 0xd3, 0x3c, 0xf6, 0x71, 0x23,
   2552      1.1  christos     0x90, 0x07, 0x8f, 0x99, 0x86, 0x85, 0xf8, 0xaa,
   2553      1.1  christos     0xed, 0x65, 0x99, 0xf3, 0xf5, 0x69, 0xe2, 0x6b,
   2554      1.1  christos     0x67, 0x47, 0x5c, 0x8d, 0x5d, 0xee, 0x9c, 0xda,
   2555      1.1  christos     0xa1, 0x56, 0x73, 0x35, 0xf1, 0xe7, 0x2e, 0xb9,
   2556      1.1  christos     0xf9, 0x70, 0xc5, 0xb4, 0xdd, 0x21, 0x9f, 0x25,
   2557      1.1  christos     0x23, 0xf4, 0x74, 0x57, 0xc1, 0xfd, 0x09, 0x2e,
   2558      1.1  christos     0x80, 0xea, 0x4d, 0x90, 0x93, 0x84, 0x06, 0x43,
   2559      1.1  christos     0xc0, 0xbc, 0x26, 0xd2, 0xfd, 0x3b, 0x03, 0x2e,
   2560      1.1  christos     0x93, 0x90, 0xb3, 0x4b, 0xd4, 0x58, 0x31, 0x18,
   2561      1.1  christos     0xc5, 0xa5, 0xc4, 0x3c, 0xe5, 0xb5, 0x23, 0xfb,
   2562      1.1  christos     0xec, 0xb0, 0xb8, 0xe7, 0x7e, 0x1a, 0xb3, 0xf9,
   2563      1.1  christos     0xce, 0x5a, 0x25, 0x02, 0x2e, 0xcf, 0xb3, 0x4a,
   2564      1.1  christos     0xe3, 0x5e, 0xd5, 0xc8, 0x78, 0x0a, 0x89, 0x7c,
   2565      1.1  christos     0x3e, 0x30, 0x8a, 0xd5, 0xb0, 0x60, 0xc1, 0x52,
   2566      1.1  christos     0x7c, 0xbc, 0x9e, 0x47, 0x0a, 0xa7, 0xc3, 0xee,
   2567      1.1  christos     0x11, 0x06, 0x72, 0x89, 0x23, 0x8b, 0x51, 0xb8,
   2568      1.1  christos     0xbb, 0x5d, 0xc1, 0xf0, 0x38, 0x66, 0x8e, 0xa7,
   2569      1.1  christos     0x43, 0xad, 0xc1, 0x40, 0x80, 0x58, 0xe4, 0xdf,
   2570      1.1  christos     0x0d, 0xb1, 0x2b, 0xa2, 0xd4, 0x58, 0x20, 0x95,
   2571      1.1  christos     0xee, 0x51, 0x13, 0x94, 0x1e, 0x8d, 0x1e, 0xd4,
   2572      1.1  christos     0x2d, 0x82, 0x73, 0xa6, 0x92, 0x0c, 0xec, 0x74,
   2573      1.1  christos     0x12, 0xbe, 0x2a, 0x8c, 0x72, 0xb3, 0x99, 0x7d,
   2574      1.1  christos     0x33, 0x50, 0xe4, 0xeb, 0xad, 0x24, 0x7c, 0xef,
   2575      1.1  christos     0x1a, 0x41, 0x4b, 0x04, 0xe6, 0x21, 0xa3, 0x1a,
   2576      1.1  christos     0xa4, 0x13, 0xf4, 0xdc, 0x70, 0xa2, 0xdc, 0x0d,
   2577      1.1  christos     0xc1, 0x02, 0x43, 0xeb, 0xf7, 0x69, 0x82, 0x7a,
   2578      1.1  christos     0x99, 0x61, 0x1b, 0x14, 0xaa, 0xce, 0x2b, 0x1b,
   2579      1.1  christos     0xd1, 0xaa, 0x3a, 0x99, 0xae, 0x51, 0xae, 0x35,
   2580      1.1  christos     0xb9, 0x8c, 0xe0, 0x43, 0x6e, 0x1e, 0x17, 0x36,
   2581      1.1  christos     0xf0, 0x9e, 0xf2, 0x83, 0x22, 0x6c, 0x82, 0xee,
   2582      1.1  christos     0xfb, 0x72, 0x35, 0x22, 0x45, 0x4a, 0xbc, 0xfa,
   2583      1.1  christos     0x65, 0x44, 0xa1, 0xce, 0x6a, 0x6a, 0xe1, 0x3f,
   2584      1.1  christos     0x6f, 0xd0, 0x45, 0x72, 0x29, 0xf4, 0xf4, 0xb0,
   2585      1.1  christos     0x97, 0x0e, 0x1e, 0xe6, 0xa8, 0xb6, 0xc8, 0x44,
   2586      1.1  christos     0x11, 0x99, 0x6e, 0xd9, 0xfd, 0x0b, 0x04, 0xaf,
   2587      1.1  christos     0x10, 0x0a, 0xd0, 0xae, 0x5d, 0xff, 0x78, 0x32,
   2588      1.1  christos     0x09, 0x39, 0x73, 0x2e, 0xaf, 0x65, 0x70, 0x3b,
   2589      1.1  christos     0xd5, 0xfe, 0x90, 0xc0, 0x9c, 0xf5, 0xba, 0xbd,
   2590      1.1  christos     0x9d, 0x78, 0xe9, 0x67, 0x87, 0x79, 0xad, 0x1f,
   2591      1.1  christos     0x77, 0x12, 0x8e, 0x8d, 0x6e, 0xc3, 0x69, 0xc6,
   2592      1.1  christos     0x22, 0x60, 0x2d, 0x4f, 0x49, 0x1b, 0xa7, 0xa3,
   2593      1.1  christos     0x8a, 0x14, 0x9d, 0x48, 0xfe, 0x0c, 0x38, 0x9a,
   2594      1.1  christos     0x0e, 0xbc, 0x7e, 0x5c, 0x6c, 0x01, 0xc5, 0x68,
   2595      1.1  christos     0x39, 0xd1, 0x33, 0xca, 0x23, 0xf6, 0x12, 0x02,
   2596      1.1  christos     0x59, 0x3f, 0xe2, 0x11, 0x9d, 0xa0, 0x41, 0x3d,
   2597      1.1  christos     0xa5, 0x3b, 0x5a, 0xe1, 0xdc, 0x66, 0x00, 0xcb,
   2598      1.1  christos     0x91, 0x39, 0x60, 0xd4, 0xa8, 0xdb, 0x91, 0xf3,
   2599      1.1  christos     0x2a, 0x7b, 0xfc, 0xc7, 0x41, 0x66, 0x88, 0x68,
   2600      1.1  christos     0x54, 0xff, 0x9f, 0x38, 0x03, 0x8c, 0x93, 0x72,
   2601      1.1  christos     0x4c, 0xab, 0xbe, 0xeb, 0x3d, 0x74, 0x74, 0x38,
   2602      1.1  christos     0xcf, 0x46, 0x08, 0xfa, 0x72, 0xcf, 0xbf, 0xed,
   2603      1.1  christos     0xb6, 0xc1, 0x0c, 0xc5, 0x13, 0xa9, 0x76, 0x67,
   2604      1.1  christos     0x6b, 0xe2, 0xad, 0xc4, 0x06, 0xfa, 0x0c, 0x81,
   2605      1.1  christos     0xd8, 0xdd, 0x7b, 0x28, 0x3f, 0x15, 0xb7, 0x0d,
   2606      1.1  christos     0xb3, 0x56, 0x5a, 0x3c, 0xa6, 0x8f, 0x96, 0x20,
   2607      1.1  christos     0xa4, 0x02, 0x6e, 0x0a, 0x7f, 0x8d, 0x97, 0x5a,
   2608      1.1  christos     0xb2, 0xf5, 0xa9, 0xd8, 0xb9, 0x0b, 0x72, 0x0c,
   2609      1.1  christos     0x6c, 0x6c, 0xcc, 0x31, 0x76, 0x55, 0x1a, 0xde,
   2610      1.1  christos     0xf5, 0x17, 0xd9, 0xb0, 0x57, 0xea, 0x39, 0xab,
   2611      1.1  christos     0xcd, 0xb7, 0x5f, 0x16, 0x07, 0xdb, 0x36, 0x63,
   2612      1.1  christos     0x16, 0x8c, 0x6f, 0x09, 0xe3, 0xc0, 0x43, 0xda,
   2613      1.1  christos     0xd0, 0x77, 0x17, 0xb4, 0x72, 0x50, 0xfc, 0x8e,
   2614      1.1  christos     0x1d, 0xdd, 0xec, 0x00, 0x2b, 0x21, 0xe4, 0x71,
   2615      1.1  christos     0xa4, 0xdd, 0x51, 0xd9, 0xe0, 0xdb, 0x14, 0x21,
   2616      1.1  christos     0x42, 0xf2, 0x90, 0x49, 0x25, 0x55, 0x48, 0x47,
   2617      1.1  christos     0x58, 0x7b, 0x96, 0x97, 0x42, 0xb2, 0xd5, 0x50,
   2618      1.1  christos     0xa9, 0x28, 0xba, 0xec, 0xba, 0x52, 0x6d, 0xd0,
   2619      1.1  christos     0xb1, 0x75, 0xd8, 0xd4, 0xda, 0x81, 0x10, 0x0c,
   2620      1.1  christos     0xb0, 0x75, 0x57, 0x57, 0x81, 0x7f, 0x8d, 0xf9,
   2621      1.1  christos     0x29, 0xaf, 0x27, 0x85, 0x45, 0x4a, 0x84, 0x53,
   2622      1.1  christos     0x78, 0xde, 0x09, 0xe9, 0xf5, 0x2c, 0xd4, 0x91,
   2623      1.1  christos     0xc3, 0x3a, 0x9c, 0x50, 0xe1, 0xc6, 0x20, 0x66,
   2624      1.1  christos     0x26, 0x4a, 0x7b, 0x4f, 0x05, 0x89, 0x97, 0x3b,
   2625      1.1  christos     0xe1, 0xb8, 0xbc, 0x28, 0xa4, 0x31, 0xa8, 0x13,
   2626      1.1  christos     0xb3, 0xc2, 0xf5, 0xee, 0x10, 0xec, 0x4c, 0xf4,
   2627      1.1  christos     0xd6, 0x21, 0xab, 0x9b, 0x58, 0xe8, 0x95, 0x7c,
   2628      1.1  christos     0x85, 0x64, 0x57, 0x81, 0x79, 0x1b, 0x8b, 0xb1,
   2629      1.1  christos     0x84, 0xd5, 0xe9, 0x86, 0xe1, 0x6f, 0xce, 0x56,
   2630      1.1  christos     0xe1, 0x8d, 0x1d, 0xa2, 0x4d, 0x54, 0x97, 0xc3,
   2631      1.1  christos     0x2e, 0xc5, 0x5d, 0x6e, 0x9b, 0x4f, 0x43, 0x0c,
   2632      1.1  christos     0xf0, 0x36, 0x68, 0x53, 0x9e, 0x2f, 0xbd, 0x5a,
   2633      1.1  christos     0x8f, 0x3c, 0x30, 0x9f, 0x38, 0x40, 0x58, 0x34,
   2634      1.1  christos     0x27, 0x18, 0xfc, 0x70, 0x54, 0x7e, 0x70, 0x15,
   2635      1.1  christos     0xeb, 0x93, 0x29, 0x15, 0x7d, 0xa7, 0x6b, 0xa0,
   2636      1.1  christos     0x5b, 0x7d, 0x2b, 0x7a, 0x79, 0x10, 0xb4, 0x8b,
   2637      1.1  christos     0xd9, 0xfa, 0x94, 0x5d, 0xc2, 0x1b, 0x0d, 0xf7,
   2638      1.1  christos     0x47, 0x18, 0xa9, 0x8f, 0xa2, 0x64, 0x32, 0x17,
   2639      1.1  christos     0x15, 0x1d, 0x3b, 0xed, 0x3c, 0x32, 0x8a, 0x69,
   2640      1.1  christos     0x2d, 0x14, 0xae, 0x5a, 0x4a, 0xa4, 0x79, 0xdb,
   2641      1.1  christos     0x6e, 0x9e, 0x81, 0xa5, 0x32, 0x92, 0xa3, 0x55,
   2642      1.1  christos     0x3e, 0xfa, 0x05, 0x21, 0x1e, 0x1d, 0xb8, 0x08,
   2643      1.1  christos     0x5e, 0xee, 0x21, 0x14, 0xc4, 0x38, 0x17, 0x6c,
   2644      1.1  christos     0x24, 0x1a, 0xdb, 0xbd, 0xf0, 0x37, 0x33, 0xc2,
   2645      1.1  christos     0xc5, 0xec, 0xe9, 0x92, 0x6d, 0x1c, 0xc0, 0x3e,
   2646      1.1  christos     0x58, 0x26, 0x26, 0xde, 0x87, 0xc2, 0xef, 0x2c,
   2647      1.1  christos     0x9d, 0x18, 0x7b, 0x71, 0x05, 0xf7, 0x9f, 0x42,
   2648      1.1  christos     0x29, 0x8c, 0x18, 0x9b, 0xf6, 0xe9, 0x34, 0x75,
   2649      1.1  christos     0x59, 0x6f, 0x18, 0x8c, 0x43, 0xcc, 0x5c, 0xd7,
   2650      1.1  christos     0x45, 0x14, 0xda, 0xa0, 0xcf, 0x11, 0x10, 0xb2,
   2651      1.1  christos     0x00, 0xab, 0x94, 0x59, 0x36, 0xd6, 0x77, 0x7b,
   2652      1.1  christos     0x8a, 0x84, 0xff, 0x22, 0xd3, 0x60, 0x66, 0x06,
   2653      1.1  christos     0x42, 0xa2, 0xe6, 0xdd, 0xc0, 0xe6, 0xb7, 0x4c,
   2654      1.1  christos     0xe7, 0xc6, 0x88, 0x71, 0xb9, 0xf2, 0x75, 0x96,
   2655      1.1  christos     0x30, 0x85, 0xaf, 0x5f, 0xa7, 0xdb, 0x2b, 0xe7,
   2656      1.1  christos     0x17, 0xbc, 0xa6, 0x6c, 0x2b, 0xec, 0xef, 0x53,
   2657      1.1  christos     0x26, 0xe5, 0xad, 0xf2, 0x03, 0x02, 0xac, 0x51,
   2658      1.1  christos     0xf7, 0xa5, 0x06, 0x8f, 0x80, 0x9f, 0xc6, 0xd0,
   2659      1.1  christos     0xed, 0x0f, 0xed, 0xea, 0xf6, 0x5b, 0x61, 0xfc,
   2660      1.1  christos     0x2b, 0xb3, 0x44, 0xfd, 0x26, 0x1c, 0xde, 0x45,
   2661      1.1  christos     0x9f, 0xdb, 0x58, 0x2a, 0x12, 0x41, 0xdf, 0x9d,
   2662      1.1  christos     0xf6, 0xf9, 0xfc, 0x89, 0xa0, 0x86, 0x33, 0xd2,
   2663      1.1  christos     0xcf, 0x8b, 0x17, 0x10, 0x84, 0xbe, 0x94, 0x72,
   2664      1.1  christos     0x77, 0x28, 0x58, 0x52, 0x9a, 0x24, 0x9c, 0x3a,
   2665      1.1  christos     0x55, 0xd5, 0x57, 0x57, 0xb1, 0x3d, 0x03, 0xa6,
   2666      1.1  christos     0x0d, 0xb7, 0x89, 0x61, 0xa6, 0x1d, 0xc6, 0x61,
   2667      1.1  christos     0xa4, 0x75, 0xc2, 0xa7, 0x0e, 0xc9, 0x4c, 0x95,
   2668      1.1  christos     0x2a, 0xa1, 0x65, 0x63, 0x1f, 0x82, 0x2c, 0xf0,
   2669      1.1  christos     0xad, 0xcf, 0x24, 0xca, 0x89, 0x64, 0x72, 0x1e,
   2670      1.1  christos     0x26, 0x66, 0x37, 0x36, 0x4c, 0x35, 0x1e, 0xe9,
   2671      1.1  christos     0xb5, 0x64, 0xd9, 0xe1, 0x8f, 0x42, 0x5e, 0x9d,
   2672      1.1  christos     0x1a, 0xd6, 0xfe, 0x20, 0xa9, 0x74, 0xa9, 0x85,
   2673      1.1  christos     0x62, 0xc6, 0x17, 0x20, 0x63, 0x1b, 0x8e, 0xb5,
   2674      1.1  christos     0x1a, 0x2a, 0x81, 0xc6, 0x21, 0xf9, 0x54, 0x04,
   2675      1.1  christos     0x56, 0x26, 0x89, 0x90, 0xa0, 0xab, 0xcb, 0x5f,
   2676      1.1  christos     0x86, 0x8f, 0x9e, 0xf1, 0x17, 0x65, 0xa7, 0xb7,
   2677      1.1  christos     0x28, 0x63, 0x39, 0x5c, 0x3c, 0xeb, 0x1f, 0x9d,
   2678      1.1  christos     0xf9, 0x19, 0xdb, 0xaa, 0x6c, 0x18, 0x8b, 0x57,
   2679      1.1  christos     0xac, 0xec, 0x55, 0xf6, 0xb8, 0x2a, 0xc9, 0x24,
   2680      1.1  christos     0x04, 0xa7, 0xcc, 0xec, 0x53, 0x28, 0x3d, 0xae,
   2681      1.1  christos     0x75, 0x39, 0xaa, 0x66, 0x84, 0xc6, 0x94, 0xd7,
   2682      1.1  christos     0xc2, 0xdc, 0x21, 0x12, 0x73, 0x0c, 0x06, 0x2b,
   2683      1.1  christos     0x17, 0x40, 0x69, 0x49, 0xfd, 0x78, 0x7b, 0x9a,
   2684      1.1  christos     0x13, 0x0f, 0xc4, 0x8a, 0xd2, 0x60, 0x9d, 0xa4,
   2685      1.1  christos     0x0b, 0x3a, 0xf4, 0x3a, 0x9b, 0x0a, 0x79, 0x3e,
   2686      1.1  christos     0x31, 0xaa, 0x27, 0x63, 0x41, 0x38, 0x4e, 0x46,
   2687      1.1  christos     0x14, 0x8c, 0x55, 0x80, 0x7b, 0x75, 0xc8, 0xe9,
   2688      1.1  christos     0x15, 0x64, 0xc8, 0xc7, 0xdd, 0xf4, 0x1d, 0xe9,
   2689      1.1  christos     0x25, 0x4a, 0x0e, 0x06, 0x4a, 0x1a, 0xc8, 0x88,
   2690      1.1  christos     0xec, 0x46, 0xd6, 0xfb, 0x6b, 0xb8, 0x94, 0x28,
   2691      1.1  christos     0xaf, 0xbc, 0x2f, 0xe6, 0x28, 0x76, 0xc0, 0x0a,
   2692      1.1  christos     0xfc, 0x60, 0x42, 0xef, 0x45, 0xff, 0x76, 0xf8,
   2693      1.1  christos     0xe1, 0x50, 0x6f, 0x94, 0xaf, 0xa5, 0xd9, 0x4d,
   2694      1.1  christos     0xe9, 0xa9, 0x7c, 0x2d, 0x1d, 0xb3, 0x78, 0x66,
   2695      1.1  christos     0xc3, 0x6e, 0x4d, 0x22, 0xd9, 0x0f, 0xcf, 0xf0,
   2696      1.1  christos     0x87, 0xa7, 0xdc, 0xec, 0x5a, 0x12, 0x65, 0x55,
   2697      1.1  christos     0x3d, 0x9b, 0xc8, 0x33, 0xfd, 0x83, 0xfc, 0x02,
   2698      1.1  christos     0xfb, 0x22, 0x0c, 0x1d, 0x7f, 0xff, 0x38, 0xe1,
   2699      1.1  christos     0x6b, 0x78, 0x47, 0xa8, 0x54, 0x31, 0x36, 0x69,
   2700      1.1  christos     0x44, 0x64, 0xae, 0x1a, 0xfc, 0x8b, 0x3c, 0x3a,
   2701      1.1  christos     0x9f, 0x3e, 0xca, 0x85, 0xa1, 0x0d, 0x56, 0x72,
   2702      1.1  christos     0x63, 0xb5, 0x7b, 0xfa, 0x4f, 0x18, 0x76, 0x57,
   2703      1.1  christos     0x3a, 0xa7, 0xb0, 0x20, 0x24, 0x9b, 0xb1, 0x8d,
   2704      1.1  christos     0x01, 0xec, 0x32, 0x9c, 0x84, 0xc1, 0x8d, 0x88,
   2705      1.1  christos     0x0d, 0xe4, 0x71, 0xe5, 0x1f, 0xe2, 0x0b, 0xae,
   2706      1.1  christos     0x87, 0xcf, 0x5f, 0xbf, 0xde, 0x57, 0x2f, 0x22,
   2707      1.1  christos     0x5a, 0x63, 0x5a, 0x9c, 0x85, 0x46, 0xf1, 0x3a,
   2708      1.1  christos     0x7e, 0x04, 0xec, 0xce, 0xb4, 0xa0, 0x00, 0x90,
   2709      1.1  christos     0x9a, 0x09, 0x11, 0xb4, 0x6b, 0x53, 0x37, 0xd2,
   2710      1.1  christos     0x03, 0xd1, 0x59, 0x2f, 0xdb, 0xda, 0xe9, 0xf8,
   2711      1.1  christos     0x0a, 0x67, 0x6a, 0x83, 0x30, 0x09, 0x66, 0x82,
   2712      1.1  christos     0x11, 0x10, 0xda, 0x52, 0x61, 0x40, 0xca, 0x86,
   2713      1.1  christos     0x85, 0xdf, 0x01, 0xc3, 0x0e, 0x68, 0xd0, 0xb7,
   2714      1.1  christos     0x0a, 0x37, 0x95, 0x30, 0xc3, 0x0f, 0x37, 0x49,
   2715      1.1  christos     0x27, 0x4a, 0x93, 0xd3, 0x6a, 0x1a, 0xaf, 0xa2,
   2716      1.1  christos     0x0a, 0xbf, 0xb7, 0xb7, 0x68, 0xe7, 0x8d, 0x4c,
   2717      1.1  christos     0x50, 0xf0, 0x9c, 0x10, 0x93, 0x1c, 0xdf, 0x83,
   2718      1.1  christos     0x7b, 0xe7, 0xfa, 0xc3, 0x41, 0xbd, 0x6c, 0x06,
   2719      1.1  christos     0x10, 0x8d, 0x4c, 0x38, 0x0f, 0x74, 0x04, 0x48,
   2720      1.1  christos     0x07, 0xdd, 0xba, 0xbe, 0x6f, 0x92, 0x7b, 0xc6,
   2721      1.1  christos     0x87, 0xae, 0x0c, 0xe9, 0x46, 0x52, 0x97, 0xa7,
   2722      1.1  christos     0xe6, 0x9a, 0x91, 0xbb, 0x7e, 0xb0, 0x65, 0xac,
   2723      1.1  christos     0x22, 0xe0, 0xa3, 0xc7, 0xe8, 0xc5, 0x53, 0x99,
   2724      1.1  christos     0x82, 0x1c, 0x2c, 0x54, 0x9b, 0xa0, 0xcf, 0x6b,
   2725      1.1  christos     0xd5, 0x9e, 0x18, 0xf9, 0x3c, 0x17, 0x88, 0xb4,
   2726      1.1  christos     0xfa, 0x01, 0x46, 0x6e, 0xd6, 0x41, 0xf2, 0xdd,
   2727      1.1  christos     0xf1, 0xea, 0xbc, 0x1d, 0x6c, 0xbb, 0xe2, 0xcb,
   2728      1.1  christos     0xe6, 0xfc, 0x22, 0xb5, 0x82, 0x9a, 0x89, 0x60,
   2729      1.1  christos     0x30, 0xdc, 0x1f, 0x42, 0x20, 0x34, 0x05, 0x02,
   2730      1.1  christos     0x70, 0x60, 0xbd, 0x95, 0x22, 0x0e, 0xeb, 0x29,
   2731      1.1  christos     0x23, 0x0c, 0x51, 0x95, 0x74, 0x7e, 0xae, 0xed,
   2732      1.1  christos     0x3a, 0x5d, 0x83, 0x20, 0xd9, 0x55, 0x80, 0x9b,
   2733      1.1  christos     0xe0, 0x50, 0x25, 0xe5, 0xbd, 0xfb, 0x45, 0x43,
   2734      1.1  christos     0xce, 0x34, 0x5a, 0x8a, 0xcf, 0x68, 0x2f, 0xde,
   2735      1.1  christos     0xdc, 0x95, 0x1d, 0x72, 0x6b, 0x69, 0x7d, 0xe6,
   2736      1.1  christos     0xd5, 0x82, 0x2f, 0x65, 0x31, 0x8e, 0xab, 0xbd,
   2737      1.1  christos     0x66, 0xb9, 0x39, 0x15, 0x02, 0x0f, 0xa7, 0x62,
   2738      1.1  christos     0xfc, 0xdb, 0xc1, 0x50, 0xfa, 0xf1, 0x6a, 0xe6,
   2739      1.1  christos     0x88, 0x56, 0x16, 0x3d, 0x1a, 0x6c, 0x1c, 0x95,
   2740      1.1  christos     0x6e, 0x93, 0xdc, 0x72, 0xc3, 0x35, 0x4d, 0x22,
   2741      1.1  christos     0xe1, 0xd5, 0xa2, 0xa6, 0xcf, 0xe7, 0xaf, 0x2a,
   2742      1.1  christos     0x02, 0x02, 0x2b, 0xb4, 0xaa, 0x42, 0x5c, 0x12,
   2743      1.1  christos     0xbb, 0x1d, 0x0b, 0xe6, 0x16, 0x9e, 0x2a, 0xc8,
   2744      1.1  christos     0xf5, 0xd4, 0x41, 0xf4, 0x72, 0x9b, 0x68, 0xd5,
   2745      1.1  christos     0x3a, 0x53, 0xb1, 0x61, 0x7a, 0x5e, 0x74, 0x33,
   2746      1.1  christos     0x52, 0xe7, 0x51, 0x62, 0xcb, 0x02, 0xfa, 0x0f,
   2747      1.1  christos     0x9d, 0x7d, 0x51, 0xf4, 0x66, 0xeb, 0x80, 0xff,
   2748      1.1  christos     0x83, 0xac, 0x1c, 0xde, 0x5d, 0xc6, 0x3a, 0x47,
   2749      1.1  christos     0x3e, 0x03, 0x9d, 0xaf, 0x4d, 0x9d, 0x2e, 0x27,
   2750      1.1  christos     0xb4, 0xd0, 0x69, 0x4a, 0xdc, 0x66, 0x96, 0xe9,
   2751      1.1  christos     0x77, 0x81, 0xfe, 0x13, 0x25, 0xd6, 0x4d, 0xa2,
   2752      1.1  christos     0x3e, 0xa5, 0xe3, 0xe0, 0xbb, 0x97, 0x27, 0x49,
   2753      1.1  christos     0x92, 0x10, 0x36, 0xdc, 0x31, 0x25, 0x5e, 0xba,
   2754      1.1  christos     0xa3, 0x5f, 0xca, 0x74, 0xbe, 0xe6, 0x57, 0xd0,
   2755      1.1  christos     0xfa, 0x46, 0x81, 0x2a, 0xe4, 0xf6, 0x9d, 0xd8,
   2756      1.1  christos     0xcf, 0xb4, 0x8f, 0x89, 0x75, 0x5e, 0x8b, 0x0e,
   2757      1.1  christos     0x10, 0x9e, 0x1a, 0xa5, 0x17, 0xc4, 0x56, 0x97,
   2758      1.1  christos     0x9e, 0x38, 0x38, 0xd8, 0xef, 0x4b, 0x82, 0x79,
   2759      1.1  christos     0xc4, 0x54, 0x2c, 0x2b, 0xed, 0xe2, 0x6a, 0x83,
   2760      1.1  christos     0x4b, 0x12, 0x6a, 0xa7, 0xff, 0x31, 0xe7, 0x8d,
   2761      1.1  christos     0x0a, 0x9f, 0xab, 0x49, 0xae, 0xee, 0xc1, 0xa8,
   2762      1.1  christos     0x87, 0xdf, 0x2d, 0x11, 0xda, 0xd9, 0xf6, 0xa1,
   2763      1.1  christos     0x12, 0x82, 0x96, 0x64, 0x68, 0xa8, 0xe2, 0x13,
   2764      1.1  christos     0xf8, 0x25, 0xf3, 0x3d, 0xa0, 0xcd, 0x0e, 0xfb,
   2765      1.1  christos     0x1f, 0xbc, 0x27, 0xe3, 0xed, 0x72, 0xa9, 0x31,
   2766      1.1  christos     0xee, 0x61, 0xcc, 0xb9, 0xb3, 0x4d, 0x72, 0x41,
   2767      1.1  christos     0x5c, 0xb8, 0x2d, 0x6f, 0xae, 0xdf, 0xf7, 0xf4,
   2768      1.1  christos     0x07, 0x04, 0xf3, 0xcf, 0x86, 0x30, 0x6f, 0xed,
   2769      1.1  christos     0x0c, 0x61, 0x4e, 0x78, 0x56, 0x2e, 0x85, 0xf1,
   2770      1.1  christos     0xaf, 0x6a, 0x76, 0x28, 0x0f, 0x4b, 0x14, 0xfa,
   2771      1.1  christos     0xf2, 0xda, 0x0c, 0x7f, 0xe1, 0xe3, 0x76, 0x66,
   2772      1.1  christos     0xb2, 0xd6, 0xb5, 0xe4, 0x61, 0xec, 0x21, 0xcd,
   2773      1.1  christos     0xfa, 0x58, 0x61, 0x96, 0x3b, 0x91, 0x82, 0xd4,
   2774      1.1  christos     0xf2, 0xd8, 0xac, 0x91, 0x7e, 0x2f, 0xaa, 0x92,
   2775      1.1  christos     0x2e, 0x89, 0x02, 0x19, 0x02, 0xb8, 0xb4, 0x28,
   2776      1.1  christos     0xde, 0x58, 0x69, 0xca, 0x8b, 0x31, 0x2d, 0x05,
   2777      1.1  christos     0xab, 0x28, 0xdd, 0x82, 0x60, 0x72, 0x98, 0xa1,
   2778      1.1  christos     0x50, 0x17, 0x22, 0x64, 0x4a, 0x4f, 0xb9, 0xad,
   2779      1.1  christos     0xb7, 0x03, 0x0b, 0x84, 0x32, 0x06, 0xa6, 0xb9,
   2780      1.1  christos     0xd2, 0x32, 0x2a, 0xda, 0xb6, 0xdd, 0xad, 0x57,
   2781      1.1  christos     0xde, 0xfb, 0x81, 0x1e, 0x91, 0xa1, 0x75, 0xcc,
   2782      1.1  christos     0x09, 0x2e, 0x1a, 0x0e, 0x90, 0x74, 0x26, 0xd1,
   2783      1.1  christos     0x8f, 0x9e, 0x0a, 0xe6, 0x62, 0x75, 0xca, 0x2c,
   2784      1.1  christos     0xc7, 0x85, 0xfa, 0x2b, 0xe2, 0x52, 0xe7, 0xb6,
   2785      1.1  christos     0x01, 0xb8, 0x9a, 0x53, 0x71, 0x92, 0x7b, 0x4e,
   2786      1.1  christos     0x48, 0x37, 0x2d, 0x18, 0x19, 0xb3, 0x91, 0xf5,
   2787      1.1  christos     0x26, 0x66, 0x56, 0x17, 0xb8, 0xb9, 0x4d, 0x38,
   2788      1.1  christos     0x7c, 0x03, 0x6e, 0x07, 0x1c, 0x25, 0xe0, 0x9c,
   2789      1.1  christos     0x7d, 0xcf, 0xc5, 0xe8, 0x0c, 0x90, 0xa4, 0xad,
   2790      1.1  christos     0xa3, 0xad, 0x7c, 0x40, 0x87, 0x4e, 0xe3, 0x9d,
   2791      1.1  christos     0x23, 0x4b, 0x72, 0x72, 0x6e, 0xe6, 0xca, 0x6a,
   2792      1.1  christos     0x6b, 0x5f, 0x49, 0x8d, 0xe5, 0x09, 0x42, 0x72,
   2793      1.1  christos     0x0c, 0x84, 0xdc, 0x59, 0x7e, 0xad, 0x1c, 0x58,
   2794      1.1  christos     0xdf, 0x7e, 0x0e, 0x5e, 0x36, 0xb8, 0x31, 0x64,
   2795      1.1  christos     0x1c, 0x2e, 0x89, 0xd3, 0x6a, 0x81, 0x7d, 0xce,
   2796      1.1  christos     0x04, 0xc9, 0x99, 0x5e, 0x52, 0x11, 0x20, 0x64,
   2797      1.1  christos     0xc6, 0xf0, 0x9a, 0x5f, 0x3f, 0xad, 0x8a, 0xec,
   2798      1.1  christos     0x26, 0xa2, 0x7b, 0x52, 0x32, 0x5f, 0x36, 0x4b,
   2799      1.1  christos     0x28, 0xdc, 0xd3, 0xfb, 0x72, 0x7a, 0x1d, 0xeb,
   2800      1.1  christos     0xf9, 0x74, 0xef, 0x66, 0xad, 0x86, 0x84, 0xda,
   2801      1.1  christos     0x13, 0x35, 0x7e, 0xe3, 0x1d, 0xb0, 0xb3, 0xc2,
   2802      1.1  christos     0x2a, 0xc9, 0x78, 0xed, 0x5f, 0x56, 0xd9, 0x08,
   2803      1.1  christos     0x13, 0x84, 0x92, 0x72, 0xd5, 0x1c, 0xfd, 0x90,
   2804      1.1  christos     0x5e, 0x11, 0xb5, 0x49, 0x52, 0x07, 0x9d, 0x5e,
   2805      1.1  christos     0x4c, 0x43, 0x4f, 0x25, 0x0a, 0x7b, 0xc5, 0xaf,
   2806      1.1  christos     0xbd, 0x68, 0x70, 0x1d, 0xe6, 0xe5, 0x79, 0x18,
   2807      1.1  christos     0x2c, 0xa3, 0x92, 0x76, 0x59, 0x84, 0x72, 0x10,
   2808      1.1  christos     0xf3, 0x6b, 0x8b, 0x15, 0xc1, 0x17, 0x35, 0x1a,
   2809      1.1  christos     0x88, 0x35, 0x25, 0x07, 0xaa, 0xd6, 0x02, 0xaf,
   2810      1.1  christos     0x03, 0xee, 0x64, 0x42, 0x23, 0x1c, 0x81, 0x01,
   2811      1.1  christos     0x45, 0xb8, 0xb5, 0x90, 0xa4, 0x69, 0x58, 0xe4,
   2812      1.1  christos     0xaa, 0xd9, 0x45, 0x91, 0x11, 0xed, 0x17, 0x01,
   2813      1.1  christos     0x64, 0x1a, 0x87, 0x13, 0x5d, 0x52, 0xa3, 0xca,
   2814      1.1  christos     0xa7, 0x50, 0xb7, 0xfa, 0x79, 0x1f, 0xce, 0x20,
   2815      1.1  christos     0x58, 0x9c, 0x64, 0x1a, 0x2d, 0x15, 0xc9, 0xfa,
   2816      1.1  christos     0x1e, 0x19, 0xcd, 0xcc, 0x11, 0x95, 0xfd, 0x1e,
   2817      1.1  christos     0x9b, 0xce, 0xea, 0xbe, 0x33, 0x1c, 0xa5, 0x58,
   2818      1.1  christos     0x02, 0x80, 0x8e, 0x95, 0xc5, 0x34, 0xa5, 0x66,
   2819      1.1  christos     0x85, 0xf0, 0x45, 0x76, 0xf0, 0x49, 0x6b, 0xea,
   2820      1.1  christos     0x0d, 0xaf, 0xb0, 0xa0, 0x7f, 0x8e, 0xe7, 0xfe,
   2821      1.1  christos     0x8f, 0x42, 0x0f, 0xc9, 0xaf, 0x56, 0xea, 0xa4,
   2822      1.1  christos     0x3e, 0x28, 0xbd, 0x66, 0x9d, 0x9f, 0x68, 0x41,
   2823      1.1  christos     0x45, 0xcc, 0xa4, 0x21, 0xa3, 0x40, 0xa7, 0x96,
   2824      1.1  christos     0xe1, 0xa3, 0x5d, 0x96, 0x40, 0xde, 0xe1, 0xd7,
   2825      1.1  christos     0xb2, 0xbc, 0xc6, 0x01, 0xc5, 0xa0, 0x9f, 0xee,
   2826      1.1  christos     0x08, 0x40, 0x29, 0xde, 0x90, 0x7e, 0x8a, 0x3a,
   2827      1.1  christos     0x8f, 0xa2, 0x43, 0xd3, 0xd6, 0x19, 0xd2, 0xe6,
   2828      1.1  christos     0xc0, 0xc6, 0x02, 0x8f, 0xb2, 0x81, 0x79, 0x2f,
   2829      1.1  christos     0x58, 0x0c, 0x75, 0x55, 0xb3, 0x92, 0x23, 0x68,
   2830      1.1  christos     0xd0, 0x30, 0x85, 0xcf, 0x95, 0xc5, 0x61, 0x06,
   2831      1.1  christos     0x4b, 0x94, 0xa5, 0x36, 0x68, 0x4f, 0x3c, 0xa1,
   2832      1.1  christos     0x1d, 0xcd, 0x10, 0xba, 0x1a, 0x5f, 0xa4, 0x52,
   2833      1.1  christos     0x77, 0x99, 0xfa, 0x20, 0xb1, 0xf9, 0x66, 0xa4,
   2834      1.1  christos     0x86, 0x3f, 0x7a, 0x87, 0x19, 0xdd, 0x4e, 0xb8,
   2835      1.1  christos     0x99, 0x6f, 0x12, 0x41, 0x43, 0x0c, 0x08, 0x22,
   2836      1.1  christos     0xc0, 0x47, 0x49, 0x71, 0x33, 0x6f, 0xc7, 0xd1,
   2837      1.1  christos     0x22, 0x98, 0x15, 0x56, 0x6a, 0xa6, 0x27, 0x73,
   2838      1.1  christos     0x03, 0x95, 0x5d, 0xb8, 0xe3, 0x6f, 0x49, 0x7a,
   2839      1.1  christos     0xe1, 0x62, 0x20, 0xae, 0x3d, 0x8b, 0x33, 0x6b,
   2840      1.1  christos     0x55, 0x2b, 0x3c, 0xcc, 0x0c, 0x13, 0x40, 0x86,
   2841      1.1  christos     0xda, 0x79, 0x7c, 0x2a, 0x91, 0xd9, 0xf1, 0xad,
   2842      1.1  christos     0x5d, 0x01, 0x7e, 0x84, 0xcc, 0xd9, 0xe0, 0xed,
   2843      1.1  christos     0x02, 0x1c, 0x23, 0x6e, 0xa3, 0xa9, 0xbb, 0x02,
   2844      1.1  christos     0x20, 0x6c, 0x77, 0x7e, 0x8d, 0xbe, 0xc7, 0xd3,
   2845      1.1  christos     0xe4, 0x02, 0x2f, 0x48, 0x4d, 0x78, 0xcb, 0xe0,
   2846      1.1  christos     0x23, 0x29, 0x4a, 0x4c, 0x66, 0x8a, 0xb3, 0xdb,
   2847      1.1  christos     0xee, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   2848      1.1  christos     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
   2849      1.1  christos     0x08, 0x0f, 0x19, 0x20, 0x29
   2850      1.1  christos };
   2851      1.1  christos 
   2852      1.1  christos /*
   2853      1.1  christos  * The message has been specially selected so that:
   2854      1.1  christos  *      it fails the z_max rejection test on iteration one
   2855      1.1  christos  *      it fails the r0_max rejection test on iteration two
   2856      1.1  christos  *      it fails the h_ones rejection test on iteration three
   2857      1.1  christos  *      it successfully generates the signature on iteration four
   2858      1.1  christos  * Thus, it is an optimal self test in terms of iterations and coverage.
   2859      1.1  christos  *
   2860      1.1  christos  * Refer to FIPS 140-3 IG 10.3.A.15 for details of the testing requirements.
   2861      1.1  christos  */
   2862      1.1  christos static const unsigned char ml_dsa_65_msg[] = {
   2863      1.1  christos     0x23, 0x37, 0x34, 0x37, 0x36, 0x38, 0x23
   2864      1.1  christos };
   2865      1.1  christos 
   2866      1.1  christos static const ST_KAT_PARAM ml_dsa_key[] = {
   2867      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PRIV_KEY, ml_dsa_65_priv_key),
   2868      1.1  christos     ST_KAT_PARAM_END()
   2869      1.1  christos };
   2870      1.1  christos 
   2871      1.1  christos static int ml_dsa_deterministic = 1;
   2872      1.1  christos static int ml_dsa_encoding = 0;
   2873      1.1  christos 
   2874      1.1  christos static const ST_KAT_PARAM ml_dsa_sig_init[] = {
   2875      1.1  christos     ST_KAT_PARAM_INT(OSSL_SIGNATURE_PARAM_DETERMINISTIC, ml_dsa_deterministic),
   2876      1.1  christos     ST_KAT_PARAM_INT(OSSL_SIGNATURE_PARAM_MESSAGE_ENCODING, ml_dsa_encoding),
   2877      1.1  christos     ST_KAT_PARAM_END()
   2878      1.1  christos };
   2879      1.1  christos #endif /* OPENSSL_NO_ML_DSA */
   2880      1.1  christos 
   2881      1.1  christos #ifndef OPENSSL_NO_SLH_DSA
   2882      1.1  christos /*
   2883      1.1  christos  * Deterministic SLH_DSA key generation supplies the private key elements and
   2884      1.1  christos  * Half of the public key.
   2885      1.1  christos  */
   2886      1.1  christos static const uint8_t slh_dsa_sha2_128f_keygen_entropy[] = {
   2887      1.1  christos     0xae, 0xd6, 0xf6, 0xf5, 0xc5, 0x40, 0x8b, 0xbf, 0xfa, 0x11, 0x36, 0xbc, 0x90, 0x49, 0xa7, 0x01,
   2888      1.1  christos     0x4d, 0x4c, 0xe0, 0x71, 0x1e, 0x17, 0x6a, 0x0c, 0x8a, 0x02, 0x35, 0x08, 0xa6, 0x92, 0xc2, 0x07,
   2889      1.1  christos     0x74, 0xd9, 0x8d, 0x50, 0x00, 0xaf, 0x53, 0xb9, 0x8f, 0x36, 0x38, 0x9a, 0x12, 0x92, 0xbe, 0xd3
   2890      1.1  christos };
   2891      1.1  christos 
   2892      1.1  christos /* The expected outputs for the public and private key elements */
   2893      1.1  christos static const uint8_t slh_dsa_sha2_128f_keygen_priv_pub[] = {
   2894      1.1  christos     0xAE, 0xD6, 0xF6, 0xF5, 0xC5, 0x40, 0x8B, 0xBF, 0xFA, 0x11, 0x36, 0xBC, 0x90, 0x49, 0xA7, 0x01,
   2895      1.1  christos     0x4D, 0x4C, 0xE0, 0x71, 0x1E, 0x17, 0x6A, 0x0C, 0x8A, 0x02, 0x35, 0x08, 0xA6, 0x92, 0xC2, 0x07,
   2896      1.1  christos     0x74, 0xD9, 0x8D, 0x50, 0x00, 0xAF, 0x53, 0xB9, 0x8F, 0x36, 0x38, 0x9A, 0x12, 0x92, 0xBE, 0xD3,
   2897      1.1  christos     0xF4, 0xA6, 0x50, 0xC5, 0x6C, 0x42, 0x6F, 0xCF, 0xDB, 0x88, 0xE3, 0x35, 0x54, 0x59, 0x44, 0x0C
   2898      1.1  christos };
   2899      1.1  christos 
   2900      1.1  christos static const uint8_t slh_dsa_sha2_128f_keygen_pub[] = {
   2901      1.1  christos     0x74, 0xD9, 0x8D, 0x50, 0x00, 0xAF, 0x53, 0xB9, 0x8F, 0x36, 0x38, 0x9A, 0x12, 0x92, 0xBE, 0xD3,
   2902      1.1  christos     0xF4, 0xA6, 0x50, 0xC5, 0x6C, 0x42, 0x6F, 0xCF, 0xDB, 0x88, 0xE3, 0x35, 0x54, 0x59, 0x44, 0x0C
   2903      1.1  christos };
   2904      1.1  christos 
   2905      1.1  christos static const ST_KAT_PARAM slh_dsa_sha2_128f_keygen_init_params[] = {
   2906      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_SLH_DSA_SEED,
   2907      1.1  christos                        slh_dsa_sha2_128f_keygen_entropy),
   2908      1.1  christos     ST_KAT_PARAM_END()
   2909      1.1  christos };
   2910      1.1  christos 
   2911      1.1  christos static const ST_KAT_PARAM slh_dsa_128f_keygen_expected_params[] = {
   2912      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PRIV_KEY,
   2913      1.1  christos                        slh_dsa_sha2_128f_keygen_priv_pub),
   2914      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PUB_KEY,
   2915      1.1  christos                        slh_dsa_sha2_128f_keygen_pub),
   2916      1.1  christos     ST_KAT_PARAM_END()
   2917      1.1  christos };
   2918      1.1  christos 
   2919      1.1  christos static const unsigned char slh_dsa_sha2_sig_msg[] = {
   2920      1.1  christos     0x3f
   2921      1.1  christos };
   2922      1.1  christos 
   2923      1.1  christos static const unsigned char slh_dsa_shake_sig_msg[] = {
   2924      1.1  christos     0x01, 0x02, 0x03, 0x04
   2925      1.1  christos };
   2926      1.1  christos 
   2927      1.1  christos static int deterministic = 1;
   2928      1.1  christos static const ST_KAT_PARAM slh_dsa_sig_params[] = {
   2929      1.1  christos     ST_KAT_PARAM_INT(OSSL_SIGNATURE_PARAM_DETERMINISTIC, deterministic),
   2930      1.1  christos     ST_KAT_PARAM_END()
   2931      1.1  christos };
   2932      1.1  christos 
   2933      1.1  christos static const unsigned char slh_dsa_sha2_128f_priv_pub[] = {
   2934      1.1  christos     0xd5, 0x21, 0x3b, 0xa4, 0xbb, 0x64, 0x70, 0xf1, 0xb9, 0xed, 0xa8, 0x8c, 0xbc, 0x94, 0xe6, 0x27,
   2935      1.1  christos     0x7a, 0x58, 0xa9, 0x51, 0xef, 0x7f, 0x2b, 0x81, 0x46, 0x1d, 0xba, 0xc4, 0x1b, 0x5a, 0x6b, 0x83,
   2936      1.1  christos     0xfa, 0x49, 0x5f, 0xb8, 0x34, 0xde, 0xfe, 0xa7, 0xcc, 0x96, 0xa8, 0x13, 0x09, 0x47, 0x91, 0x35,
   2937      1.1  christos     0xa6, 0x70, 0x29, 0xe9, 0x06, 0x68, 0xc5, 0xa5, 0x8b, 0x96, 0xe6, 0x01, 0x11, 0x49, 0x1f, 0x3d
   2938      1.1  christos };
   2939      1.1  christos 
   2940      1.1  christos static const ST_KAT_PARAM slh_dsa_sha2_128f_key_params[] = {
   2941      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PRIV_KEY, slh_dsa_sha2_128f_priv_pub),
   2942      1.1  christos     ST_KAT_PARAM_END()
   2943      1.1  christos };
   2944      1.1  christos 
   2945      1.1  christos static const unsigned char slh_dsa_shake_128f_priv_pub[] = {
   2946      1.1  christos     0xbb, 0xc7, 0x43, 0x06, 0xf7, 0x5d, 0xc2, 0xda, 0xf7, 0x37, 0x2b, 0x3c, 0x98, 0x41, 0xa4, 0xd6,
   2947      1.1  christos     0x85, 0x2c, 0x17, 0xb4, 0x59, 0xf1, 0x69, 0x2b, 0x8e, 0x9a, 0x1a, 0x0d, 0xac, 0xe5, 0xba, 0x26,
   2948      1.1  christos     0x38, 0x0c, 0x99, 0x30, 0x4a, 0x0d, 0xdd, 0x32, 0xf3, 0x44, 0xb9, 0x51, 0x44, 0xe1, 0xfd, 0xef,
   2949      1.1  christos     0x60, 0xbb, 0xc2, 0x34, 0x0e, 0x08, 0x77, 0x0f, 0xb4, 0x1a, 0x80, 0xa7, 0x6c, 0xb0, 0x8e, 0x34,
   2950      1.1  christos };
   2951      1.1  christos 
   2952      1.1  christos static const ST_KAT_PARAM slh_dsa_shake_128f_key_params[] = {
   2953      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PRIV_KEY, slh_dsa_shake_128f_priv_pub),
   2954      1.1  christos     ST_KAT_PARAM_END()
   2955      1.1  christos };
   2956      1.1  christos 
   2957      1.1  christos /* This is the SHA256 digest of the signature */
   2958      1.1  christos static const unsigned char slh_dsa_sha2_128f_sig_digest[] = {
   2959      1.1  christos     0xd3, 0x53, 0x7e, 0x05, 0xae, 0x63, 0x87, 0x6b, 0xf7, 0x80, 0x15, 0xff,
   2960      1.1  christos     0x86, 0xcc, 0x9e, 0x28, 0x4f, 0x91, 0xca, 0xbf, 0xac, 0x19, 0x12, 0x98,
   2961      1.1  christos     0xfb, 0xaa, 0x37, 0x55, 0x96, 0x35, 0x1d, 0x55
   2962      1.1  christos };
   2963      1.1  christos 
   2964      1.1  christos static const unsigned char slh_dsa_shake_128f_sig_digest[] = {
   2965      1.1  christos     0xb7, 0xeb, 0x1f, 0x00, 0x33, 0x41, 0xff, 0x11,
   2966      1.1  christos     0x3f, 0xc7, 0x4d, 0xce, 0x90, 0x6c, 0x55, 0xf7,
   2967      1.1  christos     0x4a, 0x54, 0x8b, 0x86, 0xc1, 0xb1, 0x08, 0x48,
   2968      1.1  christos     0x89, 0x77, 0x00, 0x72, 0x03, 0x92, 0xd1, 0xa6,
   2969      1.1  christos };
   2970      1.1  christos #endif /* OPENSSL_NO_SLH_DSA */
   2971      1.1  christos 
   2972      1.1  christos /* Hash DRBG inputs for signature KATs */
   2973      1.1  christos static const unsigned char sig_kat_entropyin[] = {
   2974      1.1  christos     0x06, 0x6d, 0xc8, 0xce, 0x75, 0xb2, 0x89, 0x66, 0xa6, 0x85, 0x16, 0x3f,
   2975      1.1  christos     0xe2, 0xa4, 0xd4, 0x27, 0xfb, 0xdb, 0x61, 0x66, 0x50, 0x61, 0x6b, 0xa2,
   2976      1.1  christos     0x82, 0xfc, 0x33, 0x2b, 0x4e, 0x6f, 0x12, 0x20
   2977      1.1  christos };
   2978      1.1  christos static const unsigned char sig_kat_nonce[] = {
   2979      1.1  christos     0x55, 0x9f, 0x7c, 0x64, 0x89, 0x70, 0x83, 0xec, 0x2d, 0x73, 0x70, 0xd9,
   2980      1.1  christos     0xf0, 0xe5, 0x07, 0x1f
   2981      1.1  christos };
   2982      1.1  christos static const unsigned char sig_kat_persstr[] = {
   2983      1.1  christos     0x88, 0x6f, 0x54, 0x9a, 0xad, 0x1a, 0xc6, 0x3d, 0x18, 0xcb, 0xcc, 0x66,
   2984      1.1  christos     0x85, 0xda, 0xa2, 0xc2, 0xf7, 0x9e, 0xb0, 0x89, 0x4c, 0xb4, 0xae, 0xf1,
   2985      1.1  christos     0xac, 0x54, 0x4f, 0xce, 0x57, 0xf1, 0x5e, 0x11
   2986      1.1  christos };
   2987      1.1  christos 
   2988      1.1  christos static const ST_KAT_SIGN st_kat_sign_tests[] = {
   2989      1.1  christos     {
   2990      1.1  christos         OSSL_SELF_TEST_DESC_SIGN_RSA,
   2991      1.1  christos         "RSA", "RSA-SHA256", 0,
   2992      1.1  christos         rsa_crt_key,
   2993      1.1  christos         ITM_STR(rsa_sig_msg),
   2994      1.1  christos         ITM(sig_kat_entropyin),
   2995      1.1  christos         ITM(sig_kat_nonce),
   2996      1.1  christos         ITM(sig_kat_persstr),
   2997      1.1  christos         ITM(rsa_expected_sig)
   2998      1.1  christos     },
   2999      1.1  christos #ifndef OPENSSL_NO_EC
   3000      1.1  christos     {
   3001      1.1  christos         OSSL_SELF_TEST_DESC_SIGN_ECDSA,
   3002      1.1  christos         "EC", "ECDSA-SHA256", 0,
   3003      1.1  christos         ecdsa_prime_key,
   3004      1.1  christos         ITM_STR(rsa_sig_msg),
   3005      1.1  christos         ITM(sig_kat_entropyin),
   3006      1.1  christos         ITM(sig_kat_nonce),
   3007      1.1  christos         ITM(sig_kat_persstr),
   3008      1.1  christos         ITM(ecdsa_prime_expected_sig)
   3009      1.1  christos     },
   3010      1.1  christos # ifndef OPENSSL_NO_EC2M
   3011      1.1  christos     {
   3012      1.1  christos         OSSL_SELF_TEST_DESC_SIGN_ECDSA,
   3013      1.1  christos         "EC", "ECDSA-SHA256", 0,
   3014      1.1  christos         ecdsa_bin_key,
   3015      1.1  christos         ITM_STR(rsa_sig_msg),
   3016      1.1  christos         ITM(sig_kat_entropyin),
   3017      1.1  christos         ITM(sig_kat_nonce),
   3018      1.1  christos         ITM(sig_kat_persstr),
   3019      1.1  christos         ITM(ecdsa_bin_expected_sig)
   3020      1.1  christos     },
   3021      1.1  christos # endif
   3022      1.1  christos # ifndef OPENSSL_NO_ECX
   3023      1.1  christos     {
   3024      1.1  christos         OSSL_SELF_TEST_DESC_SIGN_EDDSA,
   3025      1.1  christos         "ED448", "ED448", 0,
   3026      1.1  christos         ed448_key,
   3027      1.1  christos         ITM(ecx_sig_msg),
   3028      1.1  christos         NULL, 0, NULL, 0, NULL, 0,
   3029      1.1  christos         ITM(ed448_expected_sig),
   3030      1.1  christos     },
   3031      1.1  christos     {
   3032      1.1  christos         OSSL_SELF_TEST_DESC_SIGN_EDDSA,
   3033      1.1  christos         "ED25519", "ED25519", 0,
   3034      1.1  christos         ed25519_key,
   3035      1.1  christos         ITM(ecx_sig_msg),
   3036      1.1  christos         NULL, 0, NULL, 0, NULL, 0,
   3037      1.1  christos         ITM(ed25519_expected_sig),
   3038      1.1  christos     },
   3039      1.1  christos # endif /* OPENSSL_NO_ECX */
   3040      1.1  christos #endif /* OPENSSL_NO_EC */
   3041      1.1  christos #ifndef OPENSSL_NO_DSA
   3042      1.1  christos     {
   3043      1.1  christos         OSSL_SELF_TEST_DESC_SIGN_DSA,
   3044      1.1  christos         "DSA", "DSA-SHA256", SIGNATURE_MODE_VERIFY_ONLY,
   3045      1.1  christos         dsa_key,
   3046      1.1  christos         ITM_STR(rsa_sig_msg),
   3047      1.1  christos         ITM(sig_kat_entropyin),
   3048      1.1  christos         ITM(sig_kat_nonce),
   3049      1.1  christos         ITM(sig_kat_persstr),
   3050      1.1  christos         ITM(dsa_expected_sig)
   3051      1.1  christos     },
   3052      1.1  christos #endif /* OPENSSL_NO_DSA */
   3053      1.1  christos 
   3054      1.1  christos #ifndef OPENSSL_NO_ML_DSA
   3055      1.1  christos     {
   3056      1.1  christos         OSSL_SELF_TEST_DESC_SIGN_ML_DSA,
   3057      1.1  christos         "ML-DSA-65", "ML-DSA-65", 0,
   3058      1.1  christos         ml_dsa_key,
   3059      1.1  christos         ITM(ml_dsa_65_msg),
   3060      1.1  christos         NULL, 0,
   3061      1.1  christos         NULL, 0,
   3062      1.1  christos         NULL, 0,
   3063      1.1  christos         ITM(ml_dsa_65_sig),
   3064      1.1  christos         ml_dsa_sig_init,
   3065      1.1  christos         ml_dsa_sig_init
   3066      1.1  christos     },
   3067      1.1  christos #endif /* OPENSSL_NO_ML_DSA */
   3068      1.1  christos #ifndef OPENSSL_NO_SLH_DSA
   3069      1.1  christos     /*
   3070      1.1  christos      * FIPS 140-3 IG 10.3.A.16 Note 29 says:
   3071      1.1  christos      *
   3072      1.1  christos      *  It is recommended (but not required) that if the module implements
   3073      1.1  christos      *   both "s" and "f" algorithms, the module self-test at least one of
   3074      1.1  christos      *   each "s" and "f" algorithm.
   3075      1.1  christos      *
   3076      1.1  christos      * Because the "s" version is so slow, we only test the "f" versions
   3077      1.1  christos      * here.
   3078      1.1  christos      */
   3079      1.1  christos     {
   3080      1.1  christos         OSSL_SELF_TEST_DESC_SIGN_SLH_DSA,
   3081      1.1  christos         "SLH-DSA-SHA2-128f", "SLH-DSA-SHA2-128f", SIGNATURE_MODE_SIG_DIGESTED,
   3082      1.1  christos         slh_dsa_sha2_128f_key_params,
   3083      1.1  christos         ITM(slh_dsa_sha2_sig_msg),
   3084      1.1  christos         NULL, 0, NULL, 0, NULL, 0,
   3085      1.1  christos         ITM(slh_dsa_sha2_128f_sig_digest),
   3086      1.1  christos         slh_dsa_sig_params, slh_dsa_sig_params
   3087      1.1  christos     },
   3088      1.1  christos     {
   3089      1.1  christos         OSSL_SELF_TEST_DESC_SIGN_SLH_DSA,
   3090      1.1  christos         "SLH-DSA-SHAKE-128f", "SLH-DSA-SHAKE-128f", SIGNATURE_MODE_SIG_DIGESTED,
   3091      1.1  christos         slh_dsa_shake_128f_key_params,
   3092      1.1  christos         ITM(slh_dsa_shake_sig_msg),
   3093      1.1  christos         NULL, 0, NULL, 0, NULL, 0,
   3094      1.1  christos         ITM(slh_dsa_shake_128f_sig_digest),
   3095      1.1  christos         slh_dsa_sig_params, slh_dsa_sig_params
   3096      1.1  christos     },
   3097      1.1  christos #endif /* OPENSSL_NO_SLH_DSA */
   3098      1.1  christos };
   3099      1.1  christos 
   3100      1.1  christos #if !defined(OPENSSL_NO_ML_DSA)
   3101      1.1  christos static const ST_KAT_PARAM ml_dsa_keygen_params[] = {
   3102      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_ML_DSA_SEED, sig_kat_entropyin),
   3103      1.1  christos     ST_KAT_PARAM_END()
   3104      1.1  christos };
   3105      1.1  christos #endif
   3106      1.1  christos 
   3107      1.1  christos /*- KEM SELF TEST DATA */
   3108      1.1  christos /*
   3109      1.1  christos  * Test case generated via the OpenSSL commands:
   3110      1.1  christos  *
   3111      1.1  christos  *  openssl genpkey -algorithm ML-KEM-512 -out priv-ml-kem-512.pem
   3112      1.1  christos  *  openssl pkey -in priv-ml-kem-512.pem -pubout -out pub-ml-kem-512.pem
   3113      1.1  christos  *  openssl pkeyutl -encap -inkey pub-ml-kem-512.pem \
   3114      1.1  christos  *          -pkeyopt ikme:00000000000000000000000000000000 -secret good.dat \
   3115      1.1  christos  *          -out ctext.dat
   3116      1.1  christos  *  openssl pkeyutl -decap -inkey priv-ml-kem-512.pem \
   3117      1.1  christos  *          -secret goodcmp.dat -in ctext.dat
   3118      1.1  christos  *  apps/openssl pkeyutl -decap -inkey priv-ml-kem-512.pem \
   3119      1.1  christos  *          -secret implicit-reject.dat -in <(head -c 768 /dev/zero)
   3120      1.1  christos  *  openssl pkey -in priv-ml-kem-512.pem -text |
   3121      1.1  christos  *      sed '1,/^priv:/d; /^pub:/,$d' |
   3122      1.1  christos  *      tr -d ' :\n' |
   3123      1.1  christos  *      xxd -r -p |
   3124      1.1  christos  *      tail -c 32 > z.dat
   3125      1.1  christos  *  (cat z.dat; head -c 768 /dev/zero) |
   3126      1.1  christos  *      openssl dgst -shake256 -xoflen 32 -binary > expected.dat
   3127      1.1  christos  */
   3128      1.1  christos #ifndef OPENSSL_NO_ML_KEM
   3129      1.1  christos static const unsigned char ml_kem_512_cipher_text[] = {
   3130      1.1  christos     0x6b, 0xc5, 0x04, 0x00, 0x27, 0x7a, 0xbb, 0x7e,
   3131      1.1  christos     0x6b, 0xf9, 0xfb, 0x56, 0x82, 0x01, 0x75, 0xeb,
   3132      1.1  christos     0xb7, 0xb9, 0xf4, 0xf2, 0x82, 0x2c, 0x6d, 0x0a,
   3133      1.1  christos     0xe0, 0x80, 0xa3, 0x49, 0x92, 0x0f, 0x6d, 0x00,
   3134      1.1  christos     0x8e, 0xba, 0x35, 0xb5, 0x42, 0xb9, 0xd7, 0xed,
   3135      1.1  christos     0x89, 0xcb, 0xfd, 0x38, 0xd7, 0x9f, 0x55, 0x3b,
   3136      1.1  christos     0xf0, 0x8e, 0x63, 0x80, 0x95, 0xcf, 0x0d, 0x4f,
   3137      1.1  christos     0x50, 0x40, 0xac, 0x1d, 0x1b, 0xdc, 0x24, 0x84,
   3138      1.1  christos     0x3b, 0x18, 0xc2, 0x77, 0x9f, 0x24, 0x11, 0x81,
   3139      1.1  christos     0xa6, 0xcc, 0xd8, 0xf4, 0xe8, 0x00, 0xdc, 0x26,
   3140      1.1  christos     0x61, 0x36, 0xd1, 0xb6, 0x5d, 0x9c, 0x12, 0x6d,
   3141      1.1  christos     0xf5, 0xe7, 0x93, 0xc8, 0x6d, 0xac, 0xaf, 0x3c,
   3142      1.1  christos     0x78, 0x3f, 0xa9, 0xc1, 0x00, 0x6f, 0x08, 0x29,
   3143      1.1  christos     0x4f, 0x1a, 0x4d, 0x3b, 0xb4, 0x4b, 0x6f, 0xc2,
   3144      1.1  christos     0x09, 0x00, 0x4b, 0xc1, 0xf0, 0xe6, 0x7f, 0x48,
   3145      1.1  christos     0x48, 0x09, 0x40, 0xf2, 0x0a, 0x86, 0x18, 0xbf,
   3146      1.1  christos     0xc6, 0x4e, 0xb2, 0xb0, 0xab, 0xfe, 0x1b, 0xea,
   3147      1.1  christos     0x91, 0x58, 0x8c, 0x18, 0x6e, 0x30, 0xe8, 0x33,
   3148      1.1  christos     0x87, 0x29, 0x26, 0xef, 0xe9, 0x0c, 0x3b, 0x8b,
   3149      1.1  christos     0x0c, 0x99, 0x40, 0x53, 0xb9, 0x30, 0xba, 0x17,
   3150      1.1  christos     0xb3, 0x8a, 0x74, 0x59, 0x5d, 0x4c, 0x76, 0x1a,
   3151      1.1  christos     0xd3, 0x3f, 0xe4, 0xf7, 0xa3, 0x0f, 0x3a, 0x2c,
   3152      1.1  christos     0x85, 0xc1, 0x46, 0xf0, 0xa4, 0x91, 0xa3, 0x12,
   3153      1.1  christos     0xb2, 0xa4, 0x4b, 0x88, 0x8d, 0x1c, 0x85, 0xb1,
   3154      1.1  christos     0xe4, 0x41, 0x1f, 0x9d, 0xb7, 0x91, 0x2f, 0x60,
   3155      1.1  christos     0x98, 0xfd, 0xfc, 0x29, 0x89, 0x11, 0x7d, 0x16,
   3156      1.1  christos     0x09, 0x9e, 0x76, 0xf1, 0x9c, 0xb3, 0x50, 0xb9,
   3157      1.1  christos     0xd0, 0x02, 0xd2, 0xa2, 0x0d, 0xdd, 0xee, 0x90,
   3158      1.1  christos     0x47, 0x0d, 0xb9, 0x4a, 0x53, 0x11, 0xa2, 0x4f,
   3159      1.1  christos     0x13, 0x5a, 0x40, 0xdc, 0xc6, 0xfe, 0xd7, 0x28,
   3160      1.1  christos     0x36, 0xec, 0xa0, 0x5e, 0xab, 0xc1, 0x7d, 0x19,
   3161      1.1  christos     0x33, 0x59, 0xe2, 0xe4, 0xea, 0x26, 0x67, 0x2f,
   3162      1.1  christos     0xe5, 0x05, 0xd8, 0x34, 0x6e, 0x3c, 0xab, 0x63,
   3163      1.1  christos     0x8b, 0x24, 0x16, 0xc7, 0x1b, 0x2a, 0x9b, 0xe5,
   3164      1.1  christos     0x04, 0x78, 0x98, 0x6c, 0x6c, 0x1e, 0x94, 0xe3,
   3165      1.1  christos     0x7f, 0x86, 0x52, 0xc0, 0x17, 0x56, 0x8d, 0x01,
   3166      1.1  christos     0x7a, 0x28, 0x81, 0x07, 0x3d, 0x61, 0x2a, 0xcd,
   3167      1.1  christos     0xc8, 0xb6, 0x7e, 0x5b, 0xad, 0xa8, 0x90, 0xbd,
   3168      1.1  christos     0x0c, 0x95, 0xb5, 0x09, 0x9d, 0x7c, 0x34, 0x8c,
   3169      1.1  christos     0x74, 0x8f, 0x8e, 0x7c, 0x28, 0x6c, 0xe2, 0x2f,
   3170      1.1  christos     0xa2, 0x87, 0x7f, 0x80, 0x43, 0x46, 0x1c, 0xb2,
   3171      1.1  christos     0x1c, 0x5a, 0xd2, 0xec, 0xad, 0xf9, 0x55, 0xe3,
   3172      1.1  christos     0x6b, 0x19, 0x54, 0x08, 0x84, 0x1a, 0x34, 0x82,
   3173      1.1  christos     0xf4, 0x9c, 0xec, 0x3d, 0x65, 0xf9, 0x78, 0x7f,
   3174      1.1  christos     0x37, 0x47, 0xcf, 0xf1, 0xcb, 0x15, 0xf2, 0xac,
   3175      1.1  christos     0xff, 0x3b, 0x8f, 0xa0, 0x8c, 0x25, 0x88, 0x5c,
   3176      1.1  christos     0x38, 0x23, 0x9a, 0x27, 0x16, 0x6a, 0xdf, 0xa3,
   3177      1.1  christos     0x98, 0x1d, 0x16, 0x33, 0x4b, 0x4f, 0xfb, 0x83,
   3178      1.1  christos     0x85, 0x66, 0x76, 0x03, 0xb9, 0xb5, 0x46, 0x21,
   3179      1.1  christos     0xb9, 0xf3, 0xf4, 0xf1, 0x3a, 0x85, 0xec, 0x9e,
   3180      1.1  christos     0x56, 0x6a, 0xb6, 0x1d, 0xcc, 0xca, 0xfb, 0x11,
   3181      1.1  christos     0xae, 0x47, 0x7d, 0x93, 0xa5, 0xbc, 0x90, 0x32,
   3182      1.1  christos     0xde, 0xa1, 0xa5, 0x1e, 0x5d, 0x52, 0x17, 0x98,
   3183      1.1  christos     0x0a, 0x8b, 0xc4, 0x1a, 0x28, 0x7c, 0x9c, 0x22,
   3184      1.1  christos     0x3e, 0x33, 0x06, 0x40, 0x77, 0xe5, 0x22, 0x49,
   3185      1.1  christos     0x86, 0xf9, 0x3c, 0xc5, 0xc1, 0xb9, 0x77, 0x25,
   3186      1.1  christos     0x53, 0x66, 0x5a, 0x18, 0x83, 0x5a, 0x2b, 0xbf,
   3187      1.1  christos     0xac, 0x04, 0x70, 0x26, 0xe8, 0x2b, 0xb6, 0x0c,
   3188      1.1  christos     0xe8, 0x00, 0x95, 0xbb, 0x08, 0x75, 0xf3, 0x37,
   3189      1.1  christos     0x31, 0x2e, 0xef, 0x28, 0x8d, 0x58, 0x92, 0xd4,
   3190      1.1  christos     0xfd, 0xd7, 0x02, 0xce, 0x8f, 0x11, 0x83, 0x17,
   3191      1.1  christos     0x53, 0x19, 0x44, 0xd7, 0xd5, 0x6d, 0x44, 0x04,
   3192      1.1  christos     0x3a, 0x0a, 0x01, 0x46, 0xf2, 0xd2, 0xa5, 0x05,
   3193      1.1  christos     0x88, 0xa0, 0xd9, 0x0d, 0xe1, 0xa0, 0x7a, 0xf2,
   3194      1.1  christos     0x20, 0x2e, 0x5b, 0x05, 0xe4, 0x2b, 0x11, 0x3d,
   3195      1.1  christos     0xb3, 0x82, 0x64, 0x3b, 0xef, 0xc1, 0x53, 0xba,
   3196      1.1  christos     0x9f, 0x7f, 0x29, 0x59, 0x87, 0x39, 0x52, 0xda,
   3197      1.1  christos     0x7b, 0xff, 0xd7, 0xdd, 0xa1, 0xa9, 0x9f, 0xa1,
   3198      1.1  christos     0xe2, 0x38, 0x74, 0xb0, 0x94, 0xdc, 0xc5, 0xb5,
   3199      1.1  christos     0xf3, 0x61, 0xdf, 0x92, 0x62, 0xe1, 0x96, 0x87,
   3200      1.1  christos     0x6d, 0xb4, 0x2c, 0xc7, 0xf0, 0x38, 0xe9, 0x5e,
   3201      1.1  christos     0xfc, 0xff, 0x4c, 0x01, 0xc7, 0x59, 0x39, 0xe5,
   3202      1.1  christos     0x9b, 0xfb, 0xf5, 0x2b, 0x1b, 0xe5, 0xf8, 0x25,
   3203      1.1  christos     0x06, 0x07, 0xc7, 0x82, 0x46, 0x2a, 0x99, 0xd0,
   3204      1.1  christos     0xa9, 0x67, 0x81, 0xd7, 0xa2, 0x29, 0x96, 0x1a,
   3205      1.1  christos     0x94, 0x8e, 0x7d, 0x51, 0x76, 0x99, 0xad, 0x61,
   3206      1.1  christos     0xec, 0xb6, 0xc0, 0x58, 0x8e, 0xd0, 0x9d, 0xff,
   3207      1.1  christos     0x58, 0x57, 0x1b, 0x2e, 0xad, 0x65, 0xd8, 0xde,
   3208      1.1  christos     0xa5, 0xfa, 0x81, 0x4b, 0x2c, 0x06, 0x1b, 0xfe,
   3209      1.1  christos     0x49, 0x20, 0x4d, 0x5e, 0x1b, 0xb7, 0x40, 0x96,
   3210      1.1  christos     0xaa, 0x81, 0x25, 0xeb, 0x84, 0xdb, 0xea, 0x5d,
   3211      1.1  christos     0x0b, 0xaf, 0xf9, 0x8e, 0x41, 0xa6, 0xdd, 0x91,
   3212      1.1  christos     0x3a, 0x68, 0x54, 0xb7, 0x2e, 0xb1, 0x74, 0xff,
   3213      1.1  christos     0xf5, 0x0d, 0xa7, 0x3c, 0xc7, 0x30, 0x5b, 0x55,
   3214      1.1  christos     0xc6, 0x2d, 0xc8, 0x4c, 0xb4, 0xad, 0xcc, 0xd0,
   3215      1.1  christos     0xa1, 0x1b, 0x41, 0xc7, 0x23, 0xe8, 0xda, 0xff,
   3216      1.1  christos     0xb7, 0x3a, 0x12, 0xc2, 0xdc, 0x39, 0x7c, 0xf4,
   3217      1.1  christos     0xb9, 0x50, 0x00, 0x53, 0x88, 0xc8, 0x77, 0x49,
   3218      1.1  christos     0xfd, 0x70, 0x3d, 0xe0, 0xaa, 0x0c, 0x28, 0xd4,
   3219      1.1  christos     0xa2, 0xec, 0x82, 0x5d, 0xda, 0xe8, 0x05, 0x2f,
   3220      1.1  christos     0xe8, 0x9c, 0x21, 0x39, 0x3a, 0x22, 0x2f, 0x0a,
   3221      1.1  christos     0x5c, 0x6d, 0x01, 0xdf, 0xc8, 0x9f, 0x46, 0xf7,
   3222      1.1  christos     0x15, 0x02, 0xad, 0x19, 0x35, 0x63, 0x55, 0x58,
   3223      1.1  christos     0xf5, 0x7a, 0x46, 0xc9, 0x7a, 0xe6, 0x33, 0x84,
   3224      1.1  christos     0x48, 0x2b, 0xf0, 0xe7, 0xc5, 0x72, 0x98, 0x43,
   3225      1.1  christos     0x6a, 0x99, 0xba, 0x00, 0x57, 0x4f, 0xaa, 0x0a
   3226      1.1  christos };
   3227      1.1  christos 
   3228      1.1  christos static const unsigned char ml_kem_512_private_key[] = {
   3229      1.1  christos     0x87, 0xca, 0x19, 0x93, 0xb6, 0x4d, 0x89, 0x32,
   3230      1.1  christos     0xae, 0x3b, 0x22, 0x52, 0x82, 0xa1, 0xb3, 0xc1,
   3231      1.1  christos     0x37, 0x65, 0xdc, 0xc1, 0x22, 0x4c, 0x43, 0x77,
   3232      1.1  christos     0x33, 0x0a, 0x04, 0xec, 0xec, 0x0b, 0x25, 0x05,
   3233      1.1  christos     0x40, 0x07, 0x53, 0x82, 0xbe, 0x37, 0x52, 0x53,
   3234      1.1  christos     0x12, 0x87, 0x7d, 0x77, 0x69, 0xfd, 0x59, 0x4f,
   3235      1.1  christos     0xbd, 0x16, 0x42, 0x82, 0x58, 0x9d, 0xee, 0x5c,
   3236      1.1  christos     0x0f, 0x2c, 0x14, 0x7f, 0xc6, 0x2a, 0x95, 0x42,
   3237      1.1  christos     0x10, 0x3c, 0x08, 0xbc, 0xcc, 0xa0, 0x05, 0x82,
   3238      1.1  christos     0xe9, 0xc5, 0x26, 0x81, 0xfa, 0xb8, 0x79, 0x78,
   3239      1.1  christos     0x5b, 0x3e, 0x79, 0x49, 0x68, 0x44, 0xb3, 0x7b,
   3240      1.1  christos     0xf5, 0x26, 0x62, 0x7a, 0x8a, 0x3c, 0xd8, 0x82,
   3241      1.1  christos     0x1f, 0x16, 0x1d, 0x92, 0x99, 0xac, 0xc4, 0xa9,
   3242      1.1  christos     0xb9, 0x30, 0x32, 0x6b, 0x6b, 0x67, 0x3d, 0x16,
   3243      1.1  christos     0x13, 0x1d, 0xf0, 0x98, 0x94, 0x42, 0x90, 0x68,
   3244      1.1  christos     0xfc, 0x65, 0xa3, 0xe5, 0x16, 0x22, 0x09, 0x64,
   3245      1.1  christos     0xc0, 0x7d, 0x54, 0x03, 0x47, 0x89, 0xbe, 0xae,
   3246      1.1  christos     0x61, 0x4b, 0x13, 0xa1, 0xcd, 0xad, 0xbc, 0x20,
   3247      1.1  christos     0x5e, 0x36, 0x36, 0x34, 0x41, 0x1d, 0x5b, 0x3a,
   3248      1.1  christos     0x26, 0x91, 0x80, 0x75, 0xe0, 0x63, 0x9d, 0xd6,
   3249      1.1  christos     0x35, 0xc9, 0x28, 0x81, 0xa4, 0x6e, 0xfb, 0x95,
   3250      1.1  christos     0x01, 0x11, 0x8f, 0xcc, 0x18, 0xb3, 0x9a, 0x91,
   3251      1.1  christos     0x66, 0xa6, 0x37, 0x6c, 0xeb, 0x71, 0x42, 0x29,
   3252      1.1  christos     0xec, 0x71, 0xa4, 0x99, 0x6d, 0x92, 0x97, 0x9d,
   3253      1.1  christos     0x94, 0x64, 0x6e, 0xc3, 0xf0, 0x5d, 0xa5, 0x49,
   3254      1.1  christos     0x8f, 0x66, 0xa5, 0x0a, 0x9a, 0xb9, 0xcf, 0x85,
   3255      1.1  christos     0x20, 0xa7, 0x28, 0xe1, 0xc2, 0x10, 0x08, 0x72,
   3256      1.1  christos     0x58, 0x71, 0x56, 0x3e, 0x7b, 0x47, 0x46, 0x81,
   3257      1.1  christos     0x7d, 0x74, 0xfa, 0xb2, 0xb6, 0xf2, 0xa0, 0xe3,
   3258      1.1  christos     0x4a, 0x0a, 0x5e, 0x95, 0x2b, 0x32, 0xf1, 0x07,
   3259      1.1  christos     0x2c, 0x30, 0x5e, 0x81, 0x84, 0x58, 0xf3, 0x42,
   3260      1.1  christos     0x34, 0xdb, 0xaa, 0xc4, 0x06, 0xcb, 0x63, 0x72,
   3261      1.1  christos     0xfa, 0x01, 0x86, 0xe8, 0xca, 0xd7, 0x73, 0x1d,
   3262      1.1  christos     0xac, 0xd8, 0x64, 0x60, 0x66, 0xb1, 0x19, 0xb1,
   3263      1.1  christos     0x59, 0xac, 0x78, 0x21, 0xab, 0x9a, 0x62, 0xbf,
   3264      1.1  christos     0xe8, 0x1b, 0xd1, 0xdc, 0x75, 0x08, 0xa4, 0x9e,
   3265      1.1  christos     0x22, 0x54, 0xa8, 0x36, 0x68, 0x4b, 0xb7, 0x22,
   3266      1.1  christos     0xa3, 0xbc, 0x04, 0x09, 0xe2, 0xe9, 0x4d, 0xce,
   3267      1.1  christos     0xf5, 0x46, 0x69, 0x1a, 0x47, 0x80, 0xb2, 0xa5,
   3268      1.1  christos     0xa0, 0x24, 0xcf, 0x0d, 0x60, 0x95, 0x99, 0x33,
   3269      1.1  christos     0xad, 0x6a, 0x58, 0x7a, 0x56, 0x53, 0x86, 0x44,
   3270      1.1  christos     0xa8, 0x3c, 0x1f, 0x92, 0x55, 0x3f, 0x3a, 0x3b,
   3271      1.1  christos     0x5f, 0x81, 0xaa, 0x0c, 0xc4, 0x4b, 0x1a, 0xe3,
   3272      1.1  christos     0x61, 0x8a, 0xd0, 0x5d, 0x29, 0x87, 0xb6, 0x7d,
   3273      1.1  christos     0x1c, 0x85, 0xa5, 0x14, 0xb0, 0xde, 0x1c, 0x8d,
   3274      1.1  christos     0x5c, 0xc1, 0x5c, 0x04, 0xfc, 0x77, 0xad, 0x03,
   3275      1.1  christos     0x55, 0x96, 0xe0, 0xa7, 0x43, 0xb5, 0x95, 0x9a,
   3276      1.1  christos     0xd5, 0x22, 0xef, 0x13, 0x5f, 0x14, 0x9c, 0x0e,
   3277      1.1  christos     0x7e, 0x56, 0x89, 0x37, 0x33, 0xc9, 0x00, 0x54,
   3278      1.1  christos     0x7e, 0xea, 0x32, 0x4f, 0x02, 0x85, 0xcd, 0xe5,
   3279      1.1  christos     0x9c, 0x25, 0x00, 0x3b, 0xad, 0xc2, 0x72, 0x3a,
   3280      1.1  christos     0x38, 0x66, 0x95, 0xf9, 0xf4, 0x22, 0x1f, 0x50,
   3281      1.1  christos     0x19, 0x20, 0x6a, 0x31, 0x03, 0xf8, 0x97, 0x91,
   3282      1.1  christos     0xf0, 0x42, 0xbb, 0xc0, 0x86, 0xde, 0x56, 0x93,
   3283      1.1  christos     0xf2, 0x78, 0x9b, 0xc9, 0x98, 0x16, 0x47, 0x83,
   3284      1.1  christos     0x67, 0x55, 0x92, 0x4e, 0x5a, 0xfa, 0x5d, 0x88,
   3285      1.1  christos     0xf9, 0xc8, 0xef, 0xa8, 0x21, 0x34, 0x58, 0x5f,
   3286      1.1  christos     0xca, 0xbb, 0x52, 0x98, 0xbc, 0x5c, 0xf5, 0xa7,
   3287      1.1  christos     0xae, 0xc5, 0xfc, 0x78, 0xf9, 0xa5, 0x30, 0x16,
   3288      1.1  christos     0x68, 0x9d, 0x62, 0x17, 0x41, 0x7a, 0x95, 0xcf,
   3289      1.1  christos     0x27, 0xb6, 0x6d, 0xae, 0x58, 0xa7, 0x28, 0x8c,
   3290      1.1  christos     0x8f, 0xc3, 0x28, 0xac, 0x06, 0x79, 0x9d, 0x94,
   3291      1.1  christos     0xc4, 0x9d, 0xed, 0xb2, 0x61, 0xf4, 0x44, 0x86,
   3292      1.1  christos     0xec, 0x12, 0xc3, 0x13, 0x97, 0xa7, 0x8b, 0x9a,
   3293      1.1  christos     0x63, 0x2e, 0xf1, 0x66, 0x08, 0x84, 0x32, 0xf6,
   3294      1.1  christos     0x15, 0x3b, 0x91, 0xca, 0xce, 0xf7, 0x40, 0x53,
   3295      1.1  christos     0xa9, 0x28, 0x11, 0x63, 0xa0, 0x23, 0x2e, 0xc4,
   3296      1.1  christos     0x44, 0x28, 0x05, 0x01, 0x02, 0x74, 0xcf, 0x9c,
   3297      1.1  christos     0x3a, 0x1a, 0xbc, 0x93, 0x8a, 0x2c, 0xe8, 0x9a,
   3298      1.1  christos     0xca, 0xe1, 0x74, 0x62, 0x03, 0x88, 0xc7, 0x12,
   3299      1.1  christos     0x20, 0x96, 0x3c, 0x4d, 0x10, 0x79, 0x28, 0x6f,
   3300      1.1  christos     0x7b, 0xa8, 0x1b, 0xfb, 0x5e, 0x57, 0x17, 0xcc,
   3301      1.1  christos     0x6d, 0xd0, 0x72, 0x8a, 0xb2, 0x70, 0xa3, 0x0a,
   3302      1.1  christos     0x88, 0x03, 0x5b, 0x88, 0x5d, 0x35, 0x12, 0x8e,
   3303      1.1  christos     0xac, 0xc1, 0x81, 0xca, 0xb7, 0x2b, 0xb1, 0x96,
   3304      1.1  christos     0xf6, 0x35, 0xce, 0xbb, 0x75, 0xad, 0x0d, 0xd0,
   3305      1.1  christos     0xba, 0x4e, 0x43, 0x5b, 0x31, 0x08, 0x93, 0x32,
   3306      1.1  christos     0x72, 0x63, 0x58, 0xc5, 0xa2, 0x70, 0x95, 0x12,
   3307      1.1  christos     0x8f, 0xf2, 0xc1, 0x61, 0xeb, 0x22, 0xe9, 0x4a,
   3308      1.1  christos     0x65, 0xa5, 0x48, 0x5d, 0x4c, 0x11, 0x78, 0x69,
   3309      1.1  christos     0x0b, 0x1f, 0x39, 0x2b, 0x7f, 0x63, 0x77, 0xad,
   3310      1.1  christos     0x96, 0x6b, 0x67, 0x80, 0x90, 0x70, 0x57, 0x2b,
   3311      1.1  christos     0xbc, 0x68, 0x9c, 0xaa, 0xb2, 0xd8, 0x3c, 0xbf,
   3312      1.1  christos     0xd6, 0x4f, 0xc4, 0x28, 0x65, 0x74, 0x54, 0x84,
   3313      1.1  christos     0x43, 0x9a, 0x1c, 0x96, 0x50, 0x02, 0x97, 0xc6,
   3314      1.1  christos     0xcf, 0xb0, 0xb1, 0x1d, 0x98, 0x9a, 0x32, 0x94,
   3315      1.1  christos     0x73, 0x88, 0x94, 0x78, 0x2d, 0x5f, 0x25, 0x05,
   3316      1.1  christos     0x5f, 0xa6, 0x96, 0x7a, 0xc8, 0x3a, 0xdf, 0xa8,
   3317      1.1  christos     0x19, 0xb2, 0x53, 0x53, 0x05, 0xf9, 0x31, 0xdc,
   3318      1.1  christos     0x58, 0x6c, 0xd1, 0x3a, 0x9b, 0x47, 0x3b, 0x7d,
   3319      1.1  christos     0x87, 0xe5, 0xb4, 0xb2, 0xd9, 0x96, 0x2a, 0x59,
   3320      1.1  christos     0x90, 0x3c, 0xcc, 0xad, 0xdc, 0xa2, 0x57, 0x87,
   3321      1.1  christos     0x71, 0xc6, 0x7e, 0x5a, 0x49, 0x98, 0xc8, 0x94,
   3322      1.1  christos     0x29, 0x30, 0x7b, 0x0e, 0x01, 0x97, 0x53, 0x18,
   3323      1.1  christos     0x32, 0x50, 0x73, 0x9e, 0x14, 0x47, 0x97, 0xbd,
   3324      1.1  christos     0xcc, 0x22, 0xab, 0x02, 0x95, 0xd7, 0xc5, 0x32,
   3325      1.1  christos     0xdf, 0x17, 0x84, 0x86, 0x77, 0x41, 0x6e, 0x95,
   3326      1.1  christos     0x4d, 0x66, 0xf9, 0xb0, 0x9e, 0x12, 0x81, 0x53,
   3327      1.1  christos     0x2a, 0x2e, 0x8f, 0x0c, 0x6a, 0xbe, 0x00, 0x37,
   3328      1.1  christos     0xe7, 0xe8, 0x11, 0x90, 0x97, 0xc9, 0xec, 0x84,
   3329      1.1  christos     0x5a, 0xa0, 0x69, 0x85, 0xc0, 0x88, 0x55, 0x2c,
   3330      1.1  christos     0x41, 0xb6, 0x15, 0x17, 0x36, 0x42, 0xc1, 0x02,
   3331      1.1  christos     0x51, 0xc0, 0x6e, 0x91, 0xa2, 0x5c, 0x24, 0x3c,
   3332      1.1  christos     0x02, 0x63, 0xb6, 0x75, 0xc7, 0x20, 0x7d, 0x58,
   3333      1.1  christos     0x70, 0x1d, 0x13, 0xa5, 0x2e, 0xab, 0x92, 0x56,
   3334      1.1  christos     0x5e, 0xf1, 0xa1, 0xde, 0xfb, 0xae, 0xfe, 0x4c,
   3335      1.1  christos     0x0b, 0x03, 0xf5, 0x04, 0x44, 0xa3, 0xbe, 0x20,
   3336      1.1  christos     0xb1, 0x71, 0x31, 0x0b, 0xa3, 0xf2, 0x08, 0x52,
   3337      1.1  christos     0xf3, 0xa2, 0xa1, 0x8e, 0x72, 0x29, 0x40, 0x70,
   3338      1.1  christos     0x15, 0x64, 0x60, 0x52, 0xd2, 0xe7, 0x3a, 0xbe,
   3339      1.1  christos     0xe3, 0x18, 0xd7, 0x55, 0x89, 0x9c, 0x78, 0x4a,
   3340      1.1  christos     0x6f, 0xb5, 0xaa, 0xb1, 0x7c, 0x90, 0x2c, 0xb6,
   3341      1.1  christos     0x8a, 0xfa, 0x36, 0x57, 0xb9, 0x01, 0x2e, 0x1b,
   3342      1.1  christos     0xb8, 0xb6, 0xaa, 0xc2, 0x68, 0x9a, 0xa4, 0x8c,
   3343      1.1  christos     0x2d, 0x42, 0x62, 0xbb, 0x29, 0x63, 0xb0, 0x6a,
   3344      1.1  christos     0x24, 0x22, 0x82, 0x54, 0x1c, 0xf6, 0x14, 0x19,
   3345      1.1  christos     0xd9, 0x0e, 0x2b, 0xd3, 0x66, 0xbe, 0xe7, 0xa4,
   3346      1.1  christos     0x36, 0x9b, 0x72, 0x41, 0xa6, 0x6b, 0xf2, 0x64,
   3347      1.1  christos     0x5d, 0x8e, 0x90, 0x4c, 0x3f, 0x7b, 0x30, 0x0c,
   3348      1.1  christos     0x04, 0x1d, 0x56, 0x87, 0x39, 0x3d, 0x2c, 0xa9,
   3349      1.1  christos     0x29, 0x75, 0xcb, 0xfd, 0xc0, 0x18, 0xdd, 0xc6,
   3350      1.1  christos     0x0a, 0xf5, 0x62, 0x00, 0x9e, 0xb0, 0x88, 0x8e,
   3351      1.1  christos     0x5a, 0x05, 0x76, 0x24, 0x6a, 0xce, 0x74, 0x5b,
   3352      1.1  christos     0xb1, 0x63, 0x40, 0x8b, 0x5a, 0x9a, 0xe3, 0xc1,
   3353      1.1  christos     0x94, 0xa8, 0x5c, 0x21, 0x90, 0x7b, 0x37, 0xb1,
   3354      1.1  christos     0x62, 0x8e, 0xcd, 0x9a, 0x15, 0xec, 0x20, 0x24,
   3355      1.1  christos     0x87, 0x30, 0x27, 0x34, 0x44, 0xb0, 0xa2, 0xf4,
   3356      1.1  christos     0x54, 0xf9, 0xb4, 0x73, 0x0f, 0x33, 0x91, 0x50,
   3357      1.1  christos     0x47, 0x6e, 0xe0, 0x70, 0x98, 0xf6, 0xbc, 0x1b,
   3358      1.1  christos     0x97, 0xcc, 0x1b, 0xd3, 0xb8, 0xc1, 0xa2, 0xeb,
   3359      1.1  christos     0x0e, 0x50, 0xa7, 0x82, 0xf2, 0x11, 0x5d, 0xf6,
   3360      1.1  christos     0x17, 0x49, 0x6f, 0x6c, 0x6f, 0x8c, 0x09, 0xb0,
   3361      1.1  christos     0x5f, 0x88, 0x8d, 0x9e, 0x93, 0x3d, 0x28, 0x77,
   3362      1.1  christos     0x46, 0xc6, 0x31, 0xb3, 0x10, 0x87, 0x26, 0xb0,
   3363      1.1  christos     0xc4, 0xa7, 0xc8, 0x8b, 0x09, 0xc8, 0x60, 0xac,
   3364      1.1  christos     0xd7, 0x52, 0x35, 0x70, 0xc8, 0x02, 0xbd, 0x38,
   3365      1.1  christos     0x72, 0x43, 0x16, 0x2d, 0x12, 0x8c, 0xa2, 0x29,
   3366      1.1  christos     0x4c, 0x83, 0x43, 0x18, 0xcc, 0x21, 0xfb, 0x14,
   3367      1.1  christos     0xd2, 0xab, 0x37, 0x3f, 0x22, 0x4e, 0x3f, 0xd4,
   3368      1.1  christos     0x98, 0x43, 0x85, 0x95, 0x09, 0xf4, 0xca, 0x1a,
   3369      1.1  christos     0x1a, 0x56, 0x6c, 0x05, 0x67, 0x88, 0xa3, 0xaa,
   3370      1.1  christos     0x48, 0x4a, 0xaa, 0xbd, 0xf1, 0xa0, 0x8f, 0x1b,
   3371      1.1  christos     0x44, 0xc7, 0x56, 0xab, 0x2a, 0x0c, 0x8b, 0xc5,
   3372      1.1  christos     0x85, 0x1e, 0xe2, 0xeb, 0x23, 0x03, 0x4c, 0x2e,
   3373      1.1  christos     0xaa, 0x5a, 0xc1, 0x5f, 0x89, 0x75, 0x1b, 0xd5,
   3374      1.1  christos     0xca, 0xe1, 0xd5, 0x90, 0x89, 0xd5, 0x00, 0x2b,
   3375      1.1  christos     0xb1, 0xb3, 0xbf, 0xca, 0x4a, 0xde, 0x09, 0x82,
   3376      1.1  christos     0xad, 0x67, 0x83, 0xe9, 0xd3, 0x7f, 0xb3, 0xe3,
   3377      1.1  christos     0x20, 0xac, 0x98, 0x55, 0xdf, 0x66, 0x6b, 0xfd,
   3378      1.1  christos     0x7c, 0x6b, 0x87, 0xa9, 0xa4, 0x6e, 0x25, 0x97,
   3379      1.1  christos     0x12, 0x56, 0x11, 0x61, 0x50, 0x7e, 0x17, 0x35,
   3380      1.1  christos     0x98, 0xf9, 0x88, 0xac, 0xb6, 0xf9, 0xab, 0x3a,
   3381      1.1  christos     0x10, 0x92, 0x63, 0x24, 0x46, 0x88, 0xc7, 0x08,
   3382      1.1  christos     0x78, 0x75, 0x8f, 0xf4, 0xd4, 0x31, 0x3b, 0x76,
   3383      1.1  christos     0x64, 0xf0, 0xf5, 0x10, 0xe9, 0x13, 0xca, 0x01,
   3384      1.1  christos     0xc5, 0x2b, 0x3a, 0x1b, 0x46, 0x53, 0x51, 0x44,
   3385      1.1  christos     0xe2, 0xdb, 0x0c, 0xac, 0xe8, 0xa6, 0x46, 0x66,
   3386      1.1  christos     0x00, 0xcf, 0x2a, 0x87, 0x83, 0x50, 0x07, 0xe1,
   3387      1.1  christos     0x6a, 0xa5, 0x07, 0x80, 0x1d, 0x86, 0xb7, 0x38,
   3388      1.1  christos     0x5e, 0x66, 0x9b, 0xfa, 0xf6, 0xba, 0x1d, 0xf5,
   3389      1.1  christos     0x68, 0x31, 0x63, 0xc2, 0xd5, 0x70, 0x53, 0x2f,
   3390      1.1  christos     0xd7, 0x43, 0x90, 0x54, 0x64, 0x0f, 0x24, 0x4c,
   3391      1.1  christos     0x52, 0x87, 0x13, 0x59, 0xd2, 0x84, 0x2f, 0xc3,
   3392      1.1  christos     0x37, 0xa0, 0x60, 0x03, 0x3a, 0xf0, 0x5e, 0xaa,
   3393      1.1  christos     0x00, 0x1c, 0x34, 0xfc, 0x7b, 0xd8, 0xf9, 0x10,
   3394      1.1  christos     0x29, 0xe4, 0x6c, 0x29, 0x43, 0x36, 0x27, 0x64,
   3395      1.1  christos     0x5d, 0x67, 0x86, 0x64, 0x21, 0xd6, 0x61, 0xaf,
   3396      1.1  christos     0x25, 0x74, 0x80, 0x53, 0x2b, 0x88, 0x78, 0x50,
   3397      1.1  christos     0xdc, 0x49, 0x9f, 0xfe, 0xd5, 0xb1, 0x40, 0x98,
   3398      1.1  christos     0xa0, 0x33, 0x72, 0x5e, 0x82, 0x0a, 0x5b, 0xe1,
   3399      1.1  christos     0x40, 0x0a, 0x0c, 0xb7, 0x03, 0x74, 0x1c, 0xa7,
   3400      1.1  christos     0x4b, 0x47, 0x86, 0x73, 0xaa, 0xcf, 0x85, 0x16,
   3401      1.1  christos     0x6e, 0xe8, 0xa1, 0x84, 0xdb, 0x2c, 0x58, 0x54,
   3402      1.1  christos     0x9c, 0x22, 0x40, 0xb8, 0x30, 0x8c, 0x27, 0xbe,
   3403      1.1  christos     0xba, 0x40, 0xc3, 0xb9, 0xd7, 0x29, 0xed, 0xb1,
   3404      1.1  christos     0x8c, 0xc2, 0x06, 0x8e, 0xcd, 0xb2, 0x7d, 0xa2,
   3405      1.1  christos     0x2b, 0x2c, 0xd3, 0xe7, 0xa0, 0xba, 0xa5, 0x30,
   3406      1.1  christos     0xc5, 0x19, 0x3c, 0xd3, 0xc8, 0x6b, 0xf8, 0x6a,
   3407      1.1  christos     0x44, 0xf0, 0x79, 0x9e, 0x51, 0x55, 0xb0, 0x9b,
   3408      1.1  christos     0xe2, 0x50, 0x98, 0x85, 0x23, 0xb3, 0xa7, 0x31,
   3409      1.1  christos     0xdd, 0x89, 0x1b, 0xc2, 0x00, 0x60, 0x11, 0xa0,
   3410      1.1  christos     0x65, 0xc0, 0xab, 0x57, 0xf1, 0xa6, 0xc1, 0x78,
   3411      1.1  christos     0x89, 0x55, 0xe0, 0x13, 0x5f, 0xa5, 0xca, 0x8f,
   3412      1.1  christos     0x3e, 0x52, 0xc7, 0x5d, 0x37, 0x16, 0x97, 0x3a,
   3413      1.1  christos     0x2f, 0xb2, 0x2c, 0x0e, 0xb1, 0x7c, 0x1b, 0x32,
   3414      1.1  christos     0x85, 0x29, 0xd9, 0xfa, 0x76, 0x56, 0xd7, 0x4d,
   3415      1.1  christos     0xea, 0x74, 0x0d, 0x9f, 0x07, 0x97, 0x77, 0xc3,
   3416      1.1  christos     0x6c, 0x17, 0xa1, 0x9c, 0x19, 0x58, 0x9e, 0x84,
   3417      1.1  christos     0xd2, 0xb8, 0xe4, 0xd1, 0xbc, 0x31, 0x07, 0xcb,
   3418      1.1  christos     0xd2, 0x78, 0x14, 0x22, 0x48, 0x35, 0x48, 0x44,
   3419      1.1  christos     0x6c, 0x89, 0x93, 0x14, 0x77, 0x44, 0xaa, 0x9e,
   3420      1.1  christos     0xc1, 0xc5, 0x93, 0xec, 0x2d, 0x5b, 0xaa, 0xc8,
   3421      1.1  christos     0x6a, 0x0a, 0xf6, 0x4a, 0x85, 0xe9, 0x09, 0xdf,
   3422      1.1  christos     0x8e, 0x28, 0x16, 0x60, 0x5d, 0x20, 0xb4, 0xe3,
   3423      1.1  christos     0x82, 0xb3, 0x0b, 0xbb, 0x61, 0xbf, 0x3a, 0x5f,
   3424      1.1  christos     0x82, 0x1a, 0x0b, 0x5d, 0xba, 0x9a, 0xd3, 0xe7,
   3425      1.1  christos     0xe5, 0xbd, 0x1b, 0x37, 0xa7, 0x5e, 0x0f, 0x09,
   3426      1.1  christos     0x29, 0x74, 0xe8, 0x46, 0xe8, 0xc3, 0x7c, 0x45,
   3427      1.1  christos     0x48, 0x7d, 0x60, 0x73, 0x9f, 0x99, 0x35, 0x17,
   3428      1.1  christos     0x19, 0xa5, 0x39, 0x47, 0x23, 0x26, 0x2b, 0x3b,
   3429      1.1  christos     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3430      1.1  christos     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3431      1.1  christos     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
   3432      1.1  christos     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
   3433      1.1  christos };
   3434      1.1  christos 
   3435      1.1  christos static const unsigned char ml_kem_512_secret[] = {
   3436      1.1  christos     0x4a, 0xd5, 0x3a, 0x06, 0xb2, 0x9f, 0x12, 0x56,
   3437      1.1  christos     0x84, 0x21, 0xa5, 0x52, 0xc0, 0x81, 0x95, 0xb5,
   3438      1.1  christos     0x86, 0x73, 0xc8, 0x2f, 0x87, 0x0c, 0xc1, 0xcc,
   3439      1.1  christos     0xd6, 0x5a, 0x08, 0xe4, 0x32, 0x5f, 0xeb, 0x27
   3440      1.1  christos };
   3441      1.1  christos 
   3442      1.1  christos static const unsigned char ml_kem_512_reject_secret[] = {
   3443      1.1  christos     0x87, 0xf1, 0xe8, 0x13, 0xb7, 0x2e, 0x04, 0x87,
   3444      1.1  christos     0x47, 0x22, 0x56, 0x6e, 0x12, 0x80, 0xd8, 0x9d,
   3445      1.1  christos     0x8b, 0x44, 0xb7, 0xfd, 0xff, 0x7d, 0x69, 0x23,
   3446      1.1  christos     0x36, 0xd7, 0xb8, 0x7f, 0x38, 0xe7, 0x85, 0xce
   3447      1.1  christos };
   3448      1.1  christos 
   3449      1.1  christos static const unsigned char ml_kem_512_entropy[ML_KEM_RANDOM_BYTES] = {
   3450      1.1  christos     0
   3451      1.1  christos };
   3452      1.1  christos 
   3453      1.1  christos static const unsigned char ml_kem_512_seed[ML_KEM_SEED_BYTES] = {
   3454      1.1  christos     0
   3455      1.1  christos };
   3456      1.1  christos 
   3457      1.1  christos static const ST_KAT_PARAM ml_kem_keygen_params[] = {
   3458      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_ML_KEM_SEED, ml_kem_512_seed),
   3459      1.1  christos     ST_KAT_PARAM_END()
   3460      1.1  christos };
   3461      1.1  christos 
   3462      1.1  christos static const ST_KAT_PARAM ml_kem_key[] = {
   3463      1.1  christos     ST_KAT_PARAM_OCTET(OSSL_PKEY_PARAM_PRIV_KEY, ml_kem_512_private_key),
   3464      1.1  christos     ST_KAT_PARAM_END()
   3465      1.1  christos };
   3466      1.1  christos 
   3467      1.1  christos static const ST_KAT_KEM st_kat_kem_tests[] = {
   3468      1.1  christos     {
   3469      1.1  christos         OSSL_SELF_TEST_DESC_KEM,
   3470      1.1  christos         "ML-KEM-512",
   3471      1.1  christos         ml_kem_key,
   3472      1.1  christos         ITM(ml_kem_512_cipher_text),
   3473      1.1  christos         ITM(ml_kem_512_entropy),
   3474      1.1  christos         ITM(ml_kem_512_secret),
   3475      1.1  christos         ml_kem_512_reject_secret    /* No length because same as _secret's */
   3476      1.1  christos     },
   3477      1.1  christos };
   3478      1.1  christos #endif /* OPENSSL_NO_ML_KEM */
   3479      1.1  christos 
   3480      1.1  christos #if !defined(OPENSSL_NO_ML_KEM) || !defined(OPENSSL_NO_ML_DSA) || !defined(OPENSSL_NO_SLH_DSA)
   3481      1.1  christos static const ST_KAT_ASYM_KEYGEN st_kat_asym_keygen_tests[] = {
   3482      1.1  christos # if !defined(OPENSSL_NO_ML_KEM)
   3483      1.1  christos     /*
   3484      1.1  christos      * FIPS 140-3 IG 10.3.A resolution 14 mandates a CAST for ML-KEM
   3485      1.1  christos      * key generation.
   3486      1.1  christos      */
   3487      1.1  christos     {
   3488      1.1  christos         OSSL_SELF_TEST_DESC_KEYGEN_ML_KEM,
   3489      1.1  christos         "ML-KEM-512",
   3490      1.1  christos         ml_kem_keygen_params,
   3491      1.1  christos         ml_kem_key
   3492      1.1  christos     },
   3493      1.1  christos # endif
   3494      1.1  christos # if !defined(OPENSSL_NO_ML_DSA)
   3495      1.1  christos     {
   3496      1.1  christos         OSSL_SELF_TEST_DESC_KEYGEN_ML_DSA,
   3497      1.1  christos         "ML-DSA-65",
   3498      1.1  christos         ml_dsa_keygen_params,
   3499      1.1  christos         ml_dsa_key
   3500      1.1  christos     },
   3501      1.1  christos # endif
   3502      1.1  christos # if !defined(OPENSSL_NO_SLH_DSA)
   3503      1.1  christos     {
   3504      1.1  christos         OSSL_SELF_TEST_DESC_KEYGEN_SLH_DSA,
   3505      1.1  christos         "SLH-DSA-SHA2-128f",
   3506      1.1  christos         slh_dsa_sha2_128f_keygen_init_params,
   3507      1.1  christos         slh_dsa_128f_keygen_expected_params
   3508      1.1  christos     },
   3509      1.1  christos # endif
   3510      1.1  christos };
   3511      1.1  christos #endif /* !OPENSSL_NO_ML_DSA || !OPENSSL_NO_SLH_DSA */
   3512  1.1.1.2  christos 
   3513  1.1.1.2  christos static const ST_KAT_ASYM_CIPHER st_kat_asym_cipher_tests[] = {
   3514  1.1.1.2  christos     {
   3515  1.1.1.2  christos         OSSL_SELF_TEST_DESC_ASYM_RSA_ENC,
   3516  1.1.1.2  christos         "RSA",
   3517  1.1.1.2  christos         1,
   3518  1.1.1.2  christos         rsa_pub_key,
   3519  1.1.1.2  christos         rsa_enc_params,
   3520  1.1.1.2  christos         ITM(rsa_asym_plaintext_encrypt),
   3521  1.1.1.2  christos         ITM(rsa_asym_expected_encrypt),
   3522  1.1.1.2  christos     },
   3523  1.1.1.2  christos     {
   3524  1.1.1.2  christos         OSSL_SELF_TEST_DESC_ASYM_RSA_DEC,
   3525  1.1.1.2  christos         "RSA",
   3526  1.1.1.2  christos         0,
   3527  1.1.1.2  christos         rsa_priv_key,
   3528  1.1.1.2  christos         rsa_enc_params,
   3529  1.1.1.2  christos         ITM(rsa_asym_expected_encrypt),
   3530  1.1.1.2  christos         ITM(rsa_asym_plaintext_encrypt),
   3531  1.1.1.2  christos     },
   3532  1.1.1.2  christos     {
   3533  1.1.1.2  christos         OSSL_SELF_TEST_DESC_ASYM_RSA_DEC,
   3534  1.1.1.2  christos         "RSA",
   3535  1.1.1.2  christos         0,
   3536  1.1.1.2  christos         rsa_crt_key,
   3537  1.1.1.2  christos         rsa_enc_params,
   3538  1.1.1.2  christos         ITM(rsa_asym_expected_encrypt),
   3539  1.1.1.2  christos         ITM(rsa_asym_plaintext_encrypt),
   3540  1.1.1.2  christos     },
   3541  1.1.1.2  christos };
   3542