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