1/* 2 * Copyright 2020-2024 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10#define PASS 1 11#define FAIL 0 12#define ITM(x) x, sizeof(x) 13 14#ifndef OPENSSL_NO_EC 15 16struct ecdsa_keygen_st { 17 const char *curve_name; 18}; 19 20struct ecdsa_pub_verify_st { 21 const char *curve_name; 22 const unsigned char *pub; 23 size_t pub_len; 24 int pass; 25}; 26 27struct ecdsa_siggen_st { 28 const char *digest_alg; 29 const char *curve_name; 30 const unsigned char *msg; 31 size_t msg_len; 32}; 33 34struct ecdsa_sigver_st { 35 const char *digest_alg; 36 const char *curve_name; 37 const unsigned char *msg; 38 size_t msg_len; 39 const unsigned char *pub; 40 size_t pub_len; 41 const unsigned char *r; 42 size_t r_len; 43 const unsigned char *s; 44 size_t s_len; 45 int pass; 46}; 47 48static const struct ecdsa_keygen_st ecdsa_keygen_data[] = { 49 { "P-224" }, 50}; 51 52static const unsigned char ecdsa_pv_pub0[] = { 53 POINT_CONVERSION_UNCOMPRESSED, 54 0x50, 0x0F, 0x05, 0x86, 0xD3, 0xAA, 0x8A, 0x48, 55 0x46, 0x63, 0x0D, 0xD7, 0xC7, 0x5D, 0x5F, 0x1D, 56 0xB2, 0xA7, 0x9B, 0xE8, 0xC8, 0xBB, 0xBE, 0x2C, 57 0x93, 0x33, 0xDC, 0xCB, 0xBB, 0x2F, 0xB3, 0xCF, 58 0x55, 0x88, 0x7A, 0x97, 0xD1, 0x75, 0x73, 0xFE, 59 0x92, 0x02, 0x5C, 0xC8, 0xE3, 0xF4, 0x35, 0x4B, 60 0x08, 0x7E, 0xF4, 0xD3, 0x7D, 0x86, 0x06, 0x92, 61 0xBA, 0x15, 0x3F, 0xCF, 0x0C, 0xC4, 0xBF, 0xBC, 62}; 63static const unsigned char ecdsa_pv_pub1[] = { 64 POINT_CONVERSION_UNCOMPRESSED, 65 0x1F, 0x74, 0xD6, 0x99, 0xEB, 0x1D, 0x4F, 0x26, 66 0x25, 0x5E, 0xD4, 0x6A, 0xA6, 0xD5, 0x23, 0xB3, 67 0xF5, 0x5D, 0x14, 0x38, 0xE0, 0x4D, 0x23, 0x7F, 68 0x9A, 0xE5, 0xB7, 0x1B, 0xF9, 0x7F, 0xAD, 0x7E, 69 0x0E, 0x1C, 0x06, 0xF4, 0x20, 0xF3, 0x8E, 0x93, 70 0x79, 0x11, 0x15, 0xD6, 0x82, 0x12, 0x14, 0xC2, 71 0xF9, 0x30, 0x61, 0x9A, 0xC3, 0x12, 0xE3, 0x88, 72 0x4E, 0xB1, 0x1A, 0x4B, 0x54, 0x6D, 0xEA, 0xCF, 73}; 74static const struct ecdsa_pub_verify_st ecdsa_pv_data[] = { 75 { 76 "P-256", 77 ITM(ecdsa_pv_pub0), 78 PASS 79 }, 80 { 81 "P-256", 82 ITM(ecdsa_pv_pub1), 83 FAIL 84 }, 85}; 86 87static const unsigned char ecdsa_siggen_msg0[] = { 88 0xB8, 0x65, 0x55, 0x9D, 0x54, 0x5C, 0xD2, 0xC7, 89 0xC2, 0xCA, 0x96, 0xDF, 0xF3, 0x9B, 0x26, 0xED, 90 0xF8, 0x16, 0x99, 0x05, 0x94, 0xA9, 0x3F, 0x69, 91 0x5F, 0xE8, 0x73, 0xC5, 0xFE, 0x78, 0x28, 0x84, 92 0xC0, 0xA7, 0xFA, 0x29, 0xBE, 0x37, 0x82, 0xC0, 93 0x56, 0x41, 0x49, 0xAF, 0xF3, 0x59, 0xBB, 0x96, 94 0xF6, 0x4B, 0x87, 0x45, 0xAB, 0x1F, 0xB2, 0xB3, 95 0x8F, 0x14, 0xD4, 0xD7, 0x1C, 0x29, 0x08, 0x0C, 96 0x79, 0x8A, 0x38, 0xAE, 0x32, 0x1C, 0x38, 0x80, 97 0x5B, 0x45, 0x25, 0x46, 0x5D, 0xCE, 0x7D, 0x34, 98 0xC0, 0x90, 0xEF, 0x06, 0x84, 0xA1, 0x0F, 0xF8, 99 0x56, 0x2D, 0x46, 0xF7, 0xB7, 0xDE, 0x06, 0x7C, 100 0x87, 0xA6, 0x7E, 0x71, 0x8D, 0x7B, 0x27, 0xE5, 101 0x51, 0x0C, 0xE7, 0xBA, 0x18, 0x08, 0xE0, 0xD5, 102 0x0B, 0x8C, 0xB6, 0x22, 0xA5, 0x8F, 0xB3, 0xF7, 103 0xFB, 0xC6, 0x2A, 0x59, 0x02, 0x8A, 0x8C, 0x42, 104}; 105static const struct ecdsa_siggen_st ecdsa_siggen_data[] = { 106 { 107 "SHA2-256", 108 "P-384", 109 ITM(ecdsa_siggen_msg0), 110 }, 111}; 112 113static const unsigned char ecdsa_sigver_msg0[] = { 114 0x0b, 0x00, 0xc4, 0x3f, 0xb9, 0xcb, 0x92, 0xd3, 115 0x56, 0x83, 0xc6, 0x97, 0x23, 0xf8, 0xf1, 0x0b, 116 0x0a, 0xa6, 0x60, 0xca, 0x3a, 0xed, 0xba, 0x38, 117 0xf7, 0x86, 0xc2, 0x6d, 0xa1, 0xb6, 0x40, 0x2c, 118 0x92, 0xfe, 0x44, 0x1a, 0x19, 0x61, 0x5c, 0x02, 119 0xfa, 0xd3, 0x79, 0x99, 0xb8, 0x99, 0xe8, 0x70, 120 0xaa, 0x26, 0x01, 0xf2, 0xe7, 0xdc, 0x69, 0xce, 121 0x9a, 0xd2, 0xaa, 0x02, 0x15, 0xab, 0x0d, 0xcb, 122 0x77, 0xaf, 0xe0, 0x81, 0x6d, 0x92, 0x6e, 0x09, 123 0xcd, 0x93, 0xd6, 0x22, 0x67, 0xc2, 0xd3, 0x7c, 124 0x58, 0x11, 0xc8, 0x77, 0x4e, 0x97, 0x92, 0x87, 125 0xcd, 0xe4, 0xc9, 0x2a, 0x77, 0xb2, 0xf0, 0xe7, 126 0xd3, 0x5a, 0x20, 0x36, 0x91, 0x75, 0x23, 0xa8, 127 0xcb, 0x4a, 0xd0, 0xe5, 0x95, 0x3b, 0x24, 0x2a, 128 0x86, 0xa0, 0xaa, 0xbe, 0xac, 0x59, 0xd7, 0xd0, 129 0xfb, 0xdf, 0x33, 0xc9, 0x73, 0xaf, 0x8a, 0x06, 130}; 131static const unsigned char ecdsa_sigver_msg1[] = { 132 0x45, 0xBB, 0x9D, 0xDC, 0x1D, 0x0A, 0xF2, 0xD7, 133 0x56, 0x07, 0x1F, 0x47, 0x2A, 0x17, 0xCE, 0x38, 134 0xA8, 0x7E, 0x75, 0xED, 0x4F, 0xE4, 0x17, 0x65, 135 0x11, 0x69, 0xDF, 0x04, 0xF0, 0x39, 0x28, 0xD0, 136 0x75, 0xD5, 0xF0, 0x1C, 0x32, 0x84, 0x16, 0x74, 137 0x7D, 0x61, 0x57, 0xDB, 0x92, 0x24, 0x60, 0xBA, 138 0x58, 0x7B, 0x48, 0xB4, 0x44, 0xFB, 0xD7, 0x35, 139 0xD7, 0xCF, 0x61, 0x34, 0x7F, 0x70, 0x38, 0xAE, 140 0xE2, 0xB2, 0x6C, 0x8A, 0xD1, 0x27, 0xB4, 0xF0, 141 0x33, 0xB9, 0xE9, 0x27, 0x1A, 0xEE, 0x34, 0x72, 142 0x9D, 0x5E, 0x74, 0x28, 0xE7, 0x0B, 0x82, 0xE1, 143 0x60, 0xC2, 0x43, 0xE6, 0x75, 0x4A, 0x2E, 0x66, 144 0x88, 0x72, 0xCA, 0xC7, 0x97, 0xFE, 0x19, 0xCD, 145 0xA4, 0x30, 0xBF, 0xC7, 0xDC, 0x37, 0xF8, 0x1B, 146 0xB6, 0xD7, 0x7E, 0xAD, 0xD6, 0xC1, 0x20, 0xAC, 147 0x79, 0x03, 0x89, 0xEA, 0xF4, 0x59, 0x21, 0xF2, 148}; 149 150static const unsigned char ecdsa_sigver_pub0[] = { 151 POINT_CONVERSION_UNCOMPRESSED, 152 0x2c, 0xdf, 0x6f, 0x23, 0x3d, 0x73, 0x86, 0x25, 153 0x1a, 0x29, 0xd6, 0xde, 0x98, 0xcf, 0x85, 0xf7, 154 0x6a, 0x55, 0xba, 0xdb, 0x0f, 0x35, 0x94, 0x92, 155 0xb3, 0x58, 0xf3, 0x89, 0x7f, 0x6c, 0x22, 0x10, 156 0xd9, 0xd3, 0x54, 0xd2, 0x74, 0x9f, 0x64, 0x0d, 157 0xd2, 0xf8, 0x3e, 0xfc, 0x7f, 0xb7, 0x16, 0x36, 158}; 159static const unsigned char ecdsa_sigver_pub1[] = { 160 POINT_CONVERSION_UNCOMPRESSED, 161 0x00, 0xD4, 0x79, 0x9F, 0xD9, 0x99, 0xEC, 0x21, 162 0x1E, 0xE6, 0x06, 0x58, 0xB7, 0xFB, 0x76, 0xFC, 163 0xF5, 0x9A, 0xE1, 0x1E, 0x5A, 0x87, 0xD7, 0x0E, 164 0x21, 0x7B, 0xDE, 0x21, 0x52, 0xE6, 0xE4, 0x09, 165 0x2C, 0xB8, 0x5D, 0x99, 0xE2, 0x6A, 0xB1, 0xE5, 166 0x79, 0x11, 0x49, 0xBD, 0x3D, 0xC7, 0x1C, 0x48, 167 0xF5, 0x83, 0xFC, 0x9E, 0xF3, 0xAB, 0x2D, 0x30, 168 0x64, 0xEC, 0x22, 0xCB, 0xEB, 0x95, 0xBF, 0xF2, 169 0x2D, 0xCE, 170 171 0x01, 0xB9, 0xFE, 0xBD, 0x4C, 0x4B, 0xDA, 0x1F, 172 0x30, 0xC3, 0x5C, 0x0F, 0x5D, 0x3E, 0x36, 0x51, 173 0xF2, 0xC0, 0xF7, 0xFC, 0x79, 0x25, 0x98, 0xF2, 174 0x4B, 0x2B, 0x61, 0xFC, 0xD9, 0xC4, 0x5C, 0xC0, 175 0x13, 0xA2, 0x4F, 0x2E, 0x34, 0xD4, 0x15, 0xC4, 176 0x25, 0x13, 0xA9, 0x30, 0x35, 0x56, 0xB7, 0xCD, 177 0xD0, 0xC4, 0x65, 0x5D, 0xFB, 0xB2, 0xE4, 0xBF, 178 0x22, 0x67, 0xEF, 0xA1, 0x2E, 0xA2, 0x1B, 0x33, 179 0xE4, 0x3D, 180}; 181static const unsigned char ecdsa_sigver_r0[] = { 182 0x6b, 0x35, 0x62, 0x67, 0xa3, 0xbd, 0x76, 0xc8, 183 0xa3, 0xdc, 0x93, 0x18, 0x82, 0x6f, 0xd2, 0x43, 184 0x52, 0x18, 0x93, 0x21, 0x8e, 0xce, 0x12, 0x65, 185}; 186static const unsigned char ecdsa_sigver_r1[] = { 187 0x01, 0xBF, 0xA6, 0x46, 0x6D, 0x4E, 0x1C, 0x42, 188 0x18, 0x7D, 0x46, 0xC6, 0x5F, 0xA5, 0x05, 0xEA, 189 0x1A, 0xEF, 0xDB, 0x46, 0xD1, 0x79, 0x3F, 0x2B, 190 0xE2, 0x70, 0x0F, 0x14, 0x26, 0x30, 0x7F, 0x2D, 191 0x1A, 0x41, 0xFD, 0x11, 0xC0, 0xBB, 0xD0, 0xD5, 192 0x09, 0xAA, 0xE0, 0x1A, 0xFE, 0x59, 0x23, 0x7D, 193 0x1B, 0x5C, 0xB9, 0x51, 0xCD, 0x3A, 0xA1, 0x32, 194 0xC6, 0x92, 0xB0, 0x7D, 0x91, 0xC6, 0x30, 0xC0, 195 0xA4, 0x2A, 196}; 197static const unsigned char ecdsa_sigver_s0[] = { 198 0x7b, 0x92, 0x4a, 0x13, 0x8d, 0x74, 0x87, 0xb2, 199 0xd4, 0xc7, 0x21, 0x73, 0x2c, 0x8a, 0x09, 0x25, 200 0xac, 0x19, 0xcf, 0x9c, 0xbc, 0xd7, 0x7b, 0xf8, 201}; 202static const unsigned char ecdsa_sigver_s1[] = { 203 0x00, 0x8D, 0x56, 0xBA, 0x60, 0x38, 0x23, 0x47, 204 0xB8, 0x32, 0x73, 0x29, 0x40, 0x84, 0xF0, 0x2C, 205 0x90, 0xB2, 0x1D, 0x56, 0xFF, 0x38, 0x68, 0xAA, 206 0x42, 0xBA, 0x48, 0xA1, 0x52, 0x8C, 0xB4, 0xD6, 207 0x15, 0xB7, 0x88, 0xB3, 0x71, 0xC6, 0x69, 0x60, 208 0x6C, 0xEB, 0x4B, 0xF6, 0x19, 0x6A, 0x95, 0x8F, 209 0x01, 0x09, 0xC6, 0x13, 0xE6, 0x17, 0x38, 0xC8, 210 0x10, 0x49, 0x4F, 0x87, 0x43, 0x63, 0x62, 0x98, 211 0xB1, 0xAC, 212}; 213static const struct ecdsa_sigver_st ecdsa_sigver_data[] = { 214 { 215 "SHA-1", 216 "P-192", 217 ITM(ecdsa_sigver_msg0), 218 ITM(ecdsa_sigver_pub0), 219 ITM(ecdsa_sigver_r0), 220 ITM(ecdsa_sigver_s0), 221 PASS, 222 }, 223 { 224 "SHA2-512", 225 "P-521", 226 ITM(ecdsa_sigver_msg1), 227 ITM(ecdsa_sigver_pub1), 228 ITM(ecdsa_sigver_r1), 229 ITM(ecdsa_sigver_s1), 230 FAIL, 231 }, 232}; 233 234#endif /* OPENSSL_NO_EC */ 235 236#ifndef OPENSSL_NO_ECX 237 238/* 239 * Test vectors obtained from 240 * https://github.com/usnistgov/ACVP-Server/blob/master/gen-val/json-files/EDDSA-KeyVer-1.0 241 */ 242static const unsigned char ed25519_pv_pub0[] = { 243 0xBE, 0xE1, 0x6F, 0x5B, 0x4A, 0x24, 0xEF, 0xF8, 244 0xA6, 0x54, 0x0C, 0x04, 0x5C, 0xC4, 0x51, 0xCA, 245 0x3A, 0x4E, 0x9B, 0x86, 0xDC, 0x5D, 0xE8, 0x12, 246 0x0C, 0xDD, 0x1C, 0x23, 0x8E, 0x3F, 0x22, 0x7D 247}; 248static const unsigned char ed25519_pv_pub1[] = { 249 0x1E, 0xE7, 0x74, 0x94, 0x73, 0xA1, 0xB8, 0x98, 250 0xBF, 0x8C, 0x81, 0x11, 0x8E, 0x76, 0xEE, 0x8B, 251 0xDB, 0xD4, 0x8C, 0x19, 0x29, 0xF7, 0x47, 0x2A, 252 0x18, 0xAD, 0xCE, 0xFE, 0x2F, 0x8A, 0x25, 0x69 253}; 254static const unsigned char ed25519_pv_pub2[] = { 255 0x61, 0x4B, 0xC0, 0xBE, 0x80, 0xE6, 0xC6, 0x35, 256 0xDC, 0xF5, 0x65, 0xE6, 0xCE, 0xEE, 0x1C, 0x14, 257 0x3C, 0xF4, 0x46, 0xAC, 0x22, 0x82, 0xA0, 0xCE, 258 0x28, 0xE6, 0x53, 0x62, 0x48, 0x3D, 0x8B, 0x94 259}; 260static const unsigned char ed25519_pv_pub3[] = { 261 0x38, 0x95, 0x95, 0x90, 0x4D, 0x7E, 0xDC, 0x9B, 262 0xF3, 0xB6, 0xF9, 0x52, 0x40, 0xC4, 0x50, 0xC4, 263 0x72, 0xC0, 0x5E, 0x83, 0x8E, 0x84, 0xD5, 0x9A, 264 0x10, 0x3D, 0xCC, 0xFA, 0xD6, 0x19, 0x61, 0x07 265}; 266static const unsigned char ed448_pv_pub0[] = { 267 0xC3, 0xA9, 0x2B, 0xDD, 0xF1, 0x9C, 0x1F, 0xF1, 268 0x69, 0x0E, 0xB0, 0x42, 0x73, 0x85, 0xCB, 0x8F, 269 0x74, 0xE6, 0x49, 0x63, 0xF0, 0xF3, 0xA6, 0x28, 270 0x11, 0xDB, 0x10, 0x54, 0x70, 0x52, 0x38, 0xB6, 271 0xCE, 0x62, 0xE0, 0x9F, 0x7A, 0xD5, 0xA2, 0xFF, 272 0xA9, 0xB4, 0xA1, 0xCD, 0x5E, 0x67, 0x6E, 0xFB, 273 0x1B, 0x1C, 0xAE, 0x58, 0xF5, 0xE1, 0x74, 0x8C, 274 0x00 275}; 276static const unsigned char ed448_pv_pub1[] = { 277 0x94, 0xFE, 0x99, 0x25, 0x2F, 0x5C, 0x05, 0x69, 278 0xBF, 0x8B, 0x5B, 0xDD, 0x32, 0x61, 0x50, 0x08, 279 0x95, 0x05, 0xEE, 0x44, 0x04, 0xCF, 0x76, 0x44, 280 0x17, 0x56, 0x82, 0x03, 0xF1, 0x3A, 0xBB, 0x13, 281 0xBB, 0xC6, 0x3E, 0xCE, 0xE2, 0x1F, 0xEC, 0x06, 282 0x90, 0xA9, 0x53, 0x10, 0xB6, 0x86, 0x4D, 0x71, 283 0x29, 0x1B, 0x12, 0xCE, 0x3A, 0x86, 0xFD, 0xE0, 284 0x80 285}; 286static const unsigned char ed448_pv_pub2[] = { 287 0xD0, 0x88, 0xF0, 0xA9, 0x94, 0x86, 0x31, 0x9A, 288 0xC7, 0xD0, 0x8C, 0x7C, 0xE4, 0xEB, 0xA0, 0x6C, 289 0xF3, 0xF7, 0x20, 0x3A, 0xA9, 0x4C, 0x85, 0xEC, 290 0x30, 0x10, 0xD7, 0x1A, 0x4B, 0x21, 0xA2, 0xFF, 291 0x7F, 0x3D, 0xEF, 0xA9, 0x45, 0x28, 0x53, 0x30, 292 0x16, 0x34, 0x3C, 0x4F, 0x19, 0xF5, 0xA3, 0x80, 293 0xF4, 0x42, 0xFB, 0xE6, 0x3B, 0xEE, 0x35, 0x4D, 294 0x80 295}; 296static const unsigned char ed448_pv_pub3[] = { 297 0x45, 0x42, 0x38, 0x5F, 0x3D, 0xD3, 0x4A, 0x84, 298 0x87, 0x74, 0x56, 0x27, 0x62, 0x4E, 0xA2, 0xA9, 299 0xE8, 0xB2, 0x45, 0x9E, 0x1A, 0xF4, 0x5D, 0xCB, 300 0x70, 0x51, 0xBD, 0xD2, 0xEE, 0x07, 0xB9, 0x32, 301 0xFD, 0x5E, 0xCA, 0x47, 0x56, 0xB0, 0x06, 0xC0, 302 0xEF, 0xC0, 0x43, 0x5F, 0xE2, 0x1C, 0xAA, 0xE9, 303 0x10, 0x6F, 0xD7, 0x16, 0xFC, 0xBE, 0xF4, 0xB8, 304 0x80 305}; 306 307static const struct ecdsa_pub_verify_st eddsa_pv_data[] = { 308 { 309 "ED25519", 310 ITM(ed25519_pv_pub0), 311 FAIL 312 }, 313 { 314 "ED25519", 315 ITM(ed25519_pv_pub1), 316 FAIL 317 }, 318 { 319 "ED25519", 320 ITM(ed25519_pv_pub2), 321 PASS 322 }, 323 { 324 "ED25519", 325 ITM(ed25519_pv_pub3), 326 PASS 327 }, 328 { 329 "ED448", 330 ITM(ed448_pv_pub0), 331 FAIL 332 }, 333 { 334 "ED448", 335 ITM(ed448_pv_pub1), 336 FAIL 337 }, 338 { 339 "ED448", 340 ITM(ed448_pv_pub2), 341 PASS 342 }, 343 { 344 "ED448", 345 ITM(ed448_pv_pub3), 346 PASS 347 }, 348}; 349#endif /* OPENSSL_NO_ECX */ 350 351#ifndef OPENSSL_NO_DSA 352 353struct dsa_paramgen_st { 354 size_t L; 355 size_t N; 356}; 357 358struct dsa_pqver_st { 359 const unsigned char *p; 360 size_t p_len; 361 const unsigned char *q; 362 size_t q_len; 363 const unsigned char *seed; 364 size_t seed_len; 365 int counter; 366 int pass; 367}; 368 369struct dsa_siggen_st { 370 const char *digest_alg; 371 size_t L; 372 size_t N; 373 const unsigned char *msg; 374 size_t msg_len; 375}; 376 377struct dsa_sigver_st { 378 const char *digest_alg; 379 const unsigned char *p; 380 size_t p_len; 381 const unsigned char *q; 382 size_t q_len; 383 const unsigned char *g; 384 size_t g_len; 385 const unsigned char *pub; 386 size_t pub_len; 387 const unsigned char *msg; 388 size_t msg_len; 389 const unsigned char *r; 390 size_t r_len; 391 const unsigned char *s; 392 size_t s_len; 393 int pass; 394}; 395 396static const struct dsa_paramgen_st dsa_keygen_data[] = { 397 { 2048, 224 }, 398}; 399 400static const struct dsa_paramgen_st dsa_paramgen_data[] = { 401 { 2048, 256 }, 402}; 403 404/* dsa_pqver */ 405static const unsigned char dsa_pqver_p0[] = { 406 0xEF, 0xC7, 0x95, 0xEB, 0x1E, 0x1C, 0x8F, 0x5E, 407 0x4A, 0x85, 0xCD, 0x20, 0x66, 0xC7, 0xB9, 0x6C, 408 0x4E, 0xC4, 0xE7, 0x3B, 0x7B, 0x8E, 0x0E, 0x8C, 409 0x00, 0xF5, 0x2E, 0x68, 0xF5, 0xC2, 0x89, 0x47, 410 0xA5, 0x7B, 0xA6, 0xA3, 0x30, 0xBC, 0xFA, 0x25, 411 0x29, 0xBD, 0xE2, 0x4D, 0x05, 0x0B, 0x6D, 0x2D, 412 0x49, 0x50, 0x53, 0xEF, 0x8C, 0xBE, 0xC3, 0xEC, 413 0x92, 0xC1, 0x45, 0xE3, 0x95, 0x39, 0x72, 0x58, 414 0xFD, 0x93, 0x23, 0x06, 0x37, 0xD6, 0x56, 0x1F, 415 0x75, 0x92, 0xAD, 0x15, 0xA9, 0x88, 0x25, 0x3F, 416 0xD6, 0x47, 0xB5, 0xB1, 0x32, 0x01, 0x2D, 0x70, 417 0x55, 0xB9, 0x5D, 0xED, 0x1B, 0x40, 0x39, 0x78, 418 0x74, 0xA6, 0xDF, 0x4B, 0xE4, 0x86, 0x8B, 0x56, 419 0x46, 0x1E, 0xDB, 0x04, 0xD2, 0xD2, 0x50, 0xE9, 420 0x5D, 0x88, 0xA8, 0x84, 0x55, 0xE3, 0xF3, 0xB7, 421 0x07, 0x54, 0x9E, 0x98, 0x03, 0x9F, 0x31, 0x86, 422 0xEB, 0x0D, 0x26, 0x97, 0x30, 0x31, 0x34, 0x64, 423 0x35, 0x56, 0x40, 0x35, 0xEA, 0xE5, 0x00, 0x90, 424 0xBD, 0x20, 0x93, 0xFC, 0xAD, 0x70, 0x9A, 0xF5, 425 0xB8, 0xA4, 0xAD, 0xEC, 0xFE, 0x64, 0xF4, 0x2C, 426 0x11, 0x25, 0x68, 0x27, 0x0E, 0x5C, 0x81, 0x57, 427 0x64, 0x9A, 0x50, 0x86, 0xA3, 0x69, 0x61, 0x1E, 428 0x0D, 0x62, 0xE9, 0x4D, 0x44, 0x1E, 0x1E, 0xE1, 429 0x6D, 0x8F, 0x10, 0x67, 0x82, 0xB6, 0x6A, 0xD0, 430 0x08, 0x59, 0xF3, 0xBA, 0xE8, 0x29, 0xE0, 0x60, 431 0x1F, 0x3E, 0xBA, 0xAB, 0x6E, 0xB6, 0x5B, 0xAF, 432 0xCC, 0x76, 0x5D, 0x70, 0x7F, 0x3A, 0xAA, 0x7E, 433 0x27, 0x23, 0x6F, 0x8E, 0xF8, 0x06, 0xC1, 0x3E, 434 0xAE, 0xBE, 0x22, 0x71, 0x93, 0xEC, 0x9A, 0x33, 435 0x3C, 0xA4, 0x77, 0xD4, 0x76, 0x79, 0x10, 0x5A, 436 0xF4, 0x07, 0x52, 0x66, 0x9D, 0xC5, 0xFD, 0xDA, 437 0xA1, 0xE7, 0xA2, 0x45, 0x27, 0x08, 0x54, 0xB9, 438 0x3B, 0xEC, 0x07, 0xFB, 0xE0, 0xF4, 0x4B, 0x7C, 439 0xB1, 0x04, 0x2B, 0x0E, 0x65, 0x3A, 0xF7, 0x65, 440 0x57, 0x65, 0xCF, 0x36, 0x28, 0x2A, 0x1C, 0x57, 441 0x10, 0x28, 0x02, 0x26, 0xF7, 0x45, 0xAA, 0x1B, 442 0x2E, 0xE3, 0x25, 0xEA, 0x28, 0xA1, 0x84, 0x1E, 443 0xA1, 0xA3, 0xAB, 0x52, 0x25, 0xD4, 0x64, 0xB2, 444 0xA8, 0xA5, 0xFD, 0x2F, 0x48, 0x90, 0x28, 0x8F, 445 0x8B, 0x10, 0x7F, 0x6F, 0x80, 0xA9, 0x4B, 0xB3, 446 0xC0, 0x5B, 0x27, 0xE9, 0x90, 0x90, 0x53, 0xA8, 447 0x30, 0x88, 0xD4, 0x9B, 0x09, 0x62, 0xCD, 0x99, 448 0x61, 0x63, 0x14, 0xDF, 0xC3, 0x5A, 0x60, 0xBE, 449 0xA3, 0x40, 0xAB, 0x29, 0x3E, 0xB2, 0x02, 0x19, 450 0x9D, 0x97, 0x75, 0x34, 0x0D, 0x71, 0x3B, 0xEC, 451 0xF1, 0x13, 0x23, 0xE6, 0xCA, 0x35, 0x84, 0xFF, 452 0x27, 0x4A, 0xE0, 0x11, 0x59, 0xEB, 0x1D, 0x8C, 453 0xFF, 0xF3, 0x91, 0x90, 0x3C, 0xE9, 0x43, 0x31, 454}; 455static const unsigned char dsa_pqver_p1[] = { 456 0x83, 0xA6, 0x8F, 0xE5, 0xFE, 0xF0, 0x9D, 0x9E, 457 0x8A, 0x80, 0x9C, 0x47, 0xEF, 0xBE, 0x1A, 0xD0, 458 0x7F, 0xEA, 0x6D, 0x08, 0x59, 0x2D, 0x04, 0xB6, 459 0xAC, 0x2A, 0x54, 0x47, 0x42, 0xB2, 0x5F, 0x28, 460 0xF6, 0x30, 0x36, 0xE3, 0xDA, 0x4E, 0xDC, 0xC1, 461 0x6E, 0x61, 0xCE, 0x45, 0x1C, 0x73, 0x87, 0x3E, 462 0xB7, 0x94, 0xDB, 0x68, 0xEE, 0xFD, 0x8D, 0x93, 463 0x5E, 0x5D, 0xAB, 0x77, 0xA2, 0xF0, 0xD6, 0x60, 464 0xCD, 0x9D, 0x13, 0xE0, 0xA6, 0xE7, 0xEC, 0x45, 465 0xBA, 0xD8, 0xB0, 0x3D, 0x4F, 0x75, 0x30, 0xB7, 466 0x89, 0x96, 0x2B, 0x48, 0xFC, 0x73, 0xB8, 0x5C, 467 0x59, 0xDC, 0x41, 0xEF, 0xCE, 0xC6, 0x7F, 0x66, 468 0x4F, 0xB6, 0x1F, 0x9C, 0x91, 0xB4, 0xEE, 0xAA, 469 0x2C, 0x4A, 0x7F, 0x1F, 0xBF, 0xE2, 0x9A, 0xF2, 470 0x9F, 0x52, 0x83, 0x30, 0x97, 0x86, 0x7F, 0xA2, 471 0x85, 0x20, 0x75, 0x75, 0xAD, 0x01, 0xE2, 0x40, 472 0x3A, 0x82, 0xD8, 0x52, 0x91, 0x15, 0x67, 0x1B, 473 0x00, 0x78, 0xFD, 0x3E, 0x61, 0x8A, 0xA8, 0x1D, 474 0x1A, 0x07, 0x8E, 0x87, 0x48, 0x64, 0x1E, 0x5B, 475 0x05, 0x34, 0x7E, 0x5D, 0xD6, 0x11, 0xC4, 0xB7, 476 0x0E, 0xF3, 0x91, 0xC7, 0x2B, 0xAD, 0x22, 0x96, 477 0xA3, 0xF7, 0x4E, 0xEB, 0xE4, 0x9F, 0x67, 0x91, 478 0x9D, 0x65, 0x45, 0x8F, 0x92, 0x2F, 0x8B, 0x46, 479 0xCC, 0x4B, 0xB9, 0xC5, 0xD0, 0x00, 0xFF, 0xBB, 480 0x37, 0xD6, 0x20, 0x36, 0x7D, 0x4A, 0xC3, 0x75, 481 0xAC, 0x58, 0xE5, 0x24, 0x54, 0x47, 0x80, 0x2C, 482 0x83, 0xBD, 0xC8, 0xA7, 0x87, 0x20, 0x3D, 0xA8, 483 0x78, 0xE2, 0xC5, 0x4E, 0xE8, 0x4E, 0x3C, 0xFA, 484 0x75, 0xA0, 0x8D, 0x35, 0x8E, 0xF2, 0x61, 0x19, 485 0x84, 0x9C, 0x71, 0x95, 0x5B, 0x09, 0xE1, 0xB6, 486 0xC6, 0x6A, 0x7C, 0x34, 0x39, 0x67, 0x14, 0xAB, 487 0xA7, 0x6B, 0x45, 0x01, 0xF0, 0x0F, 0x52, 0xB5, 488 0x23, 0xD9, 0x67, 0x57, 0x91, 0x9F, 0xC2, 0xA9, 489 0xB6, 0x7C, 0x15, 0x59, 0x3E, 0x22, 0x89, 0xD6, 490 0x0B, 0x83, 0xB4, 0x29, 0xEF, 0x0B, 0x66, 0x30, 491 0x2D, 0xE7, 0xC5, 0x04, 0x1F, 0x28, 0x7D, 0x9F, 492 0xC9, 0x87, 0x05, 0xC6, 0x1B, 0x18, 0x1F, 0x3B, 493 0x90, 0x00, 0x31, 0x5B, 0xDC, 0x19, 0x7D, 0x71, 494 0xE4, 0xA4, 0x21, 0xB5, 0x37, 0xE7, 0x9B, 0xA4, 495 0xBC, 0x04, 0xF8, 0x0A, 0x95, 0x3F, 0xDB, 0x30, 496 0xA5, 0xC9, 0xC2, 0xD7, 0x19, 0x9D, 0x57, 0x77, 497 0x44, 0xB7, 0x47, 0xBD, 0xA1, 0x01, 0xEB, 0x51, 498 0xA4, 0xB2, 0x8B, 0x1A, 0x51, 0xA4, 0xCC, 0x07, 499 0x57, 0x19, 0xFB, 0xFC, 0xAA, 0x42, 0xCC, 0x2A, 500 0xCE, 0xF8, 0xFD, 0xF8, 0x92, 0xC4, 0xDC, 0x7B, 501 0x0B, 0x92, 0x9A, 0xD7, 0xC5, 0xBC, 0x6D, 0x74, 502 0x13, 0x0E, 0xD2, 0x8F, 0x86, 0xEB, 0x8D, 0xD7, 503 0xC6, 0xAC, 0x43, 0xD8, 0x00, 0x80, 0x53, 0x57, 504}; 505static const unsigned char dsa_pqver_q0[] = { 506 0xCB, 0x74, 0xE6, 0x57, 0x37, 0x0F, 0x7A, 0x61, 507 0x0B, 0x09, 0xCE, 0x91, 0x78, 0x06, 0x3C, 0x7F, 508 0x20, 0xF5, 0xD1, 0x1E, 0x1D, 0xC2, 0x43, 0xBA, 509 0x89, 0xC8, 0x4A, 0x49, 0x83, 0x38, 0xE1, 0x2D, 510}; 511static const unsigned char dsa_pqver_q1[] = { 512 0x85, 0x2B, 0x77, 0x9B, 0x1B, 0x70, 0x6F, 0x8C, 513 0x10, 0xF3, 0x2F, 0xA9, 0xC2, 0xEE, 0xF6, 0x74, 514 0x78, 0x5F, 0xD5, 0x5E, 0x2C, 0x34, 0xAF, 0xD1, 515 0x25, 0x63, 0x96, 0x6D, 0x6D, 0x84, 0x68, 0x3F, 516}; 517static const unsigned char dsa_pqver_seed0[] = { 518 0x33, 0xDC, 0x43, 0xAF, 0xC4, 0x51, 0x5C, 0x3B, 519 0x8B, 0x8A, 0x0D, 0x5D, 0xA2, 0x84, 0xDE, 0x6D, 520 0xCC, 0x6C, 0xFD, 0x42, 0x37, 0x98, 0xFB, 0x66, 521 0xAB, 0xD3, 0x73, 0x96, 0x1F, 0xC5, 0xD1, 0x46, 522}; 523static const unsigned char dsa_pqver_seed1[] = { 524 0xEE, 0xA4, 0x02, 0x70, 0x0B, 0x89, 0xB7, 0x96, 525 0x52, 0x5C, 0x00, 0xC4, 0x8E, 0x14, 0x45, 0x0F, 526 0x6A, 0x18, 0x00, 0xF7, 0x24, 0x52, 0x41, 0x0E, 527 0x33, 0x41, 0xD2, 0x91, 0xC3, 0x16, 0x7D, 0x5D, 528}; 529static const struct dsa_pqver_st dsa_pqver_data[] = { 530 { 531 ITM(dsa_pqver_p0), 532 ITM(dsa_pqver_q0), 533 ITM(dsa_pqver_seed0), 534 1956, 535 PASS 536 }, 537 { 538 ITM(dsa_pqver_p1), 539 ITM(dsa_pqver_q1), 540 ITM(dsa_pqver_seed1), 541 685, 542 FAIL 543 }, 544}; 545 546/* dsa_siggen */ 547static const unsigned char dsa_siggen_msg0[]= { 548 0x85, 0x01, 0x2F, 0x61, 0x1C, 0x36, 0xA8, 0xE1, 549 0x54, 0x55, 0x13, 0xFA, 0x00, 0x58, 0x1E, 0xD4, 550 0xF2, 0x4C, 0x54, 0x67, 0xB3, 0xEA, 0x48, 0x2C, 551 0xD1, 0x27, 0xBE, 0x5F, 0x26, 0x35, 0xD4, 0x00, 552 0xDD, 0x6C, 0xD8, 0xE8, 0x3C, 0x6D, 0x2D, 0x50, 553 0x01, 0x53, 0xC7, 0xB5, 0xA3, 0x8E, 0x9A, 0x85, 554 0xA6, 0x53, 0x8C, 0x46, 0x55, 0x02, 0xA1, 0x5E, 555 0xEA, 0x6C, 0xCF, 0x4A, 0x86, 0xA9, 0x34, 0x1B, 556 0x0B, 0xB6, 0x88, 0x9A, 0xDE, 0xC4, 0x27, 0x7F, 557 0x93, 0xAA, 0x69, 0x54, 0x48, 0x33, 0x98, 0xA0, 558 0x71, 0x45, 0x09, 0x5A, 0x51, 0xDF, 0xB6, 0x66, 559 0x06, 0xB7, 0xAD, 0x64, 0xED, 0xC1, 0xFA, 0x6B, 560 0xA8, 0x0F, 0xE8, 0x3C, 0x2E, 0x0C, 0xCB, 0xB0, 561 0xAE, 0xDE, 0x25, 0x0C, 0x68, 0xA8, 0x15, 0x97, 562 0xD0, 0xBC, 0x0B, 0x81, 0x15, 0xDC, 0x2B, 0xF3, 563 0xF2, 0xB7, 0xA7, 0xA9, 0x74, 0xD6, 0x5D, 0xB8, 564 0xB7, 0xD1, 0xFC, 0x5D, 0xCA, 0x69, 0x5D, 0x7D, 565 0xC6, 0x1E, 0x37, 0x7D, 0xD3, 0xA9, 0x1E, 0xAE, 566 0x60, 0x22, 0x3A, 0x4B, 0x7A, 0xB1, 0x3D, 0xA4, 567 0x6D, 0xB3, 0xA5, 0x8C, 0x89, 0x91, 0xCF, 0xE6, 568 0x5B, 0xF9, 0xB6, 0x87, 0x56, 0x75, 0xB9, 0x0B, 569 0x08, 0x85, 0x32, 0x52, 0x81, 0x99, 0xA7, 0x98, 570 0x44, 0x30, 0x3B, 0x44, 0xBC, 0xB8, 0xB2, 0x6D, 571 0x59, 0x52, 0xD3, 0x84, 0x74, 0x65, 0x02, 0xF9, 572 0x71, 0xB9, 0x16, 0x7A, 0x42, 0x62, 0xDE, 0x9B, 573 0x66, 0xF6, 0x04, 0x2C, 0x1F, 0x96, 0xF7, 0x41, 574 0x38, 0x1A, 0xF1, 0x8C, 0x8A, 0x40, 0x9F, 0x72, 575 0x73, 0xF9, 0xE9, 0x35, 0x11, 0x1F, 0x02, 0x0C, 576 0xB1, 0x51, 0xE8, 0x78, 0xDB, 0xE0, 0xB2, 0x35, 577 0xBD, 0xC5, 0x84, 0x5B, 0x2B, 0x25, 0x66, 0x42, 578 0x87, 0xE5, 0xA4, 0x77, 0x71, 0xB4, 0x4A, 0x59, 579 0x31, 0xF1, 0x5A, 0xF5, 0x98, 0x9C, 0x61, 0xEA, 580 0x52, 0x2F, 0x51, 0x85, 0xD9, 0x7F, 0x26, 0xDD, 581 0x91, 0x63, 0x41, 0xD5, 0x99, 0xD1, 0x64, 0xCE, 582 0xEE, 0x82, 0xD1, 0x73, 0x0A, 0x54, 0x3B, 0x03, 583 0xD7, 0xC1, 0xF7, 0x01, 0xBD, 0x44, 0x99, 0xFE, 584 0x9B, 0x1E, 0x2C, 0x8F, 0xF4, 0x55, 0xC5, 0x59, 585 0x58, 0xAF, 0xCB, 0xAD, 0xB8, 0x22, 0x1A, 0x29, 586 0xF3, 0x18, 0x39, 0x31, 0x9B, 0xFC, 0x08, 0x7E, 587 0xBE, 0x45, 0xDA, 0x9E, 0xD8, 0x7F, 0x8C, 0x5D, 588 0x10, 0xF9, 0xF8, 0xB4, 0xFA, 0x58, 0xE6, 0x28, 589 0xB4, 0x6C, 0x70, 0x12, 0xD2, 0xFA, 0x49, 0xB2, 590 0x5F, 0xD0, 0x81, 0x4A, 0xA1, 0xAA, 0xF8, 0x93, 591 0xD2, 0x26, 0xE7, 0xDA, 0x7D, 0x79, 0xC5, 0xC8, 592 0xC2, 0x9E, 0xA7, 0x01, 0xD5, 0x7A, 0xF9, 0x75, 593 0x62, 0xDB, 0xDC, 0x93, 0x90, 0xDA, 0xA5, 0xA6, 594 0x20, 0x58, 0x17, 0x9E, 0x47, 0x4E, 0xFB, 0xB8, 595 0xFB, 0xCD, 0x2E, 0xF4, 0xCD, 0x49, 0x03, 0x90, 596}; 597static struct dsa_siggen_st dsa_siggen_data[] = { 598 { 599 "SHA2-384", 600 3072, 601 256, 602 ITM(dsa_siggen_msg0), 603 }, 604}; 605 606/* dsa_sigver */ 607static const unsigned char dsa_sigver_p0[] = { 608 0xD2, 0x90, 0x2E, 0x38, 0xA5, 0x32, 0xBB, 0x63, 609 0xE0, 0xC3, 0x20, 0xD9, 0x26, 0x06, 0x21, 0x06, 610 0x85, 0x3A, 0x4C, 0xE3, 0x13, 0x83, 0xCA, 0x43, 611 0x8C, 0x9C, 0x76, 0xC0, 0x65, 0x60, 0x27, 0x7E, 612 0x7C, 0xA0, 0x83, 0x9F, 0x65, 0x91, 0xF9, 0x16, 613 0x5F, 0xE8, 0x60, 0x0C, 0xC6, 0x91, 0x20, 0x35, 614 0xE7, 0xF1, 0x83, 0xE6, 0xF8, 0x8C, 0xBB, 0x4C, 615 0xFF, 0xF5, 0x4D, 0x09, 0x8E, 0x83, 0x72, 0xCB, 616 0x22, 0x5F, 0xD0, 0x85, 0xA9, 0x60, 0x3C, 0x4A, 617 0xA6, 0xDD, 0x73, 0x1F, 0xCF, 0xD0, 0xD7, 0x42, 618 0xB8, 0x72, 0x61, 0xDB, 0x91, 0xE3, 0xBB, 0x5C, 619 0x21, 0x41, 0xFD, 0x97, 0xD0, 0x81, 0x72, 0x53, 620 0x77, 0xE0, 0x15, 0x9E, 0xC0, 0xD0, 0x6A, 0xB4, 621 0x7F, 0xF8, 0x63, 0x39, 0x1A, 0x25, 0x63, 0x84, 622 0x4D, 0xBA, 0x2C, 0x29, 0x94, 0x28, 0xCE, 0x5B, 623 0x9A, 0xC3, 0x14, 0xAD, 0x9D, 0x82, 0x1D, 0x8F, 624 0xF3, 0xE9, 0x60, 0x65, 0x28, 0x0B, 0x0E, 0x48, 625 0x6B, 0xCC, 0x05, 0x9D, 0x3B, 0x1F, 0x1D, 0x0A, 626 0xA7, 0xF8, 0x22, 0xB0, 0xE1, 0x52, 0xB0, 0x25, 627 0x8F, 0xEA, 0x25, 0x28, 0xC9, 0x6F, 0x44, 0xCD, 628 0xA4, 0x16, 0x13, 0xE8, 0xD0, 0xDB, 0x43, 0x6E, 629 0xCE, 0xEC, 0x0B, 0xA8, 0x3E, 0x53, 0x10, 0xA2, 630 0x52, 0x0E, 0xBB, 0x63, 0x63, 0x84, 0x2C, 0x12, 631 0x93, 0x29, 0x98, 0xAF, 0x38, 0x8F, 0x0B, 0x86, 632 0x16, 0x99, 0x0E, 0x39, 0xA8, 0x4A, 0x0B, 0xCD, 633 0xAA, 0x66, 0x8F, 0x4C, 0x15, 0xB7, 0xA5, 0xBB, 634 0x22, 0x77, 0x8D, 0xE8, 0x05, 0x35, 0x2D, 0xAA, 635 0x8D, 0x83, 0xDE, 0xBC, 0x15, 0x3D, 0xC2, 0x95, 636 0x0E, 0x47, 0x85, 0x41, 0xAD, 0xE3, 0xB1, 0x70, 637 0x76, 0x1B, 0x62, 0x9E, 0x96, 0x8B, 0x18, 0xD7, 638 0xE3, 0xB5, 0xF8, 0x6E, 0x85, 0x67, 0x61, 0x54, 639 0x7C, 0x85, 0x08, 0x91, 0xF4, 0x46, 0x3F, 0x01, 640 0x99, 0x48, 0x18, 0x3C, 0x0D, 0xC7, 0x2D, 0xEC, 641 0xA4, 0x11, 0x1D, 0x4F, 0x7F, 0xBF, 0x3A, 0xE8, 642 0x9C, 0x1C, 0xAE, 0x9E, 0x30, 0x32, 0x1F, 0x81, 643 0xEF, 0x14, 0xFE, 0x5C, 0xC2, 0x5C, 0xD0, 0x6A, 644 0x7C, 0x18, 0x88, 0x9F, 0xC4, 0x97, 0x7D, 0x4B, 645 0x3B, 0x01, 0xEB, 0x59, 0x58, 0x1C, 0x00, 0x6B, 646 0x3E, 0xD6, 0x80, 0x80, 0x86, 0x06, 0x39, 0x88, 647 0x0D, 0x23, 0x1E, 0xD6, 0x5E, 0x1F, 0x92, 0x3B, 648 0xEC, 0x50, 0x0B, 0xA0, 0x83, 0x4F, 0x10, 0xDE, 649 0xAF, 0x7B, 0x19, 0xBC, 0xBD, 0x72, 0xE6, 0x42, 650 0xFE, 0xD7, 0xEF, 0x22, 0xD3, 0x83, 0x6B, 0x30, 651 0xA3, 0x95, 0x0D, 0x3E, 0x61, 0x9E, 0xBC, 0x0E, 652 0x14, 0x7E, 0x61, 0x05, 0x3D, 0xBA, 0x4E, 0xEF, 653 0x31, 0x75, 0x5D, 0x10, 0x1E, 0xBA, 0xBD, 0xBA, 654 0x89, 0x4D, 0x3A, 0x5B, 0x03, 0xB1, 0xAE, 0x27, 655 0x47, 0x2D, 0x03, 0xB1, 0x8A, 0x74, 0x1B, 0xF3, 656}; 657static const unsigned char dsa_sigver_q0[] = { 658 0xAC, 0x71, 0x8D, 0x81, 0x05, 0x2F, 0xAB, 0x72, 659 0xB9, 0x96, 0x94, 0x98, 0xB5, 0x19, 0x2B, 0xE2, 660 0x78, 0x06, 0xAA, 0x32, 0xFC, 0xB9, 0xD2, 0xFD, 661 0x26, 0xC4, 0x50, 0x6F, 0x81, 0xD8, 0x04, 0xAB, 662}; 663static const unsigned char dsa_sigver_g0[] = { 664 0x3D, 0x0B, 0x46, 0x39, 0x13, 0xFF, 0x67, 0xA8, 665 0x8C, 0xE8, 0x8A, 0x46, 0x46, 0x9A, 0xE6, 0x70, 666 0xA1, 0xF5, 0x48, 0xF5, 0x84, 0xF8, 0x93, 0x57, 667 0x9A, 0x4F, 0x2C, 0xD4, 0x26, 0x49, 0x1C, 0x83, 668 0x64, 0x14, 0x0B, 0x5B, 0xEF, 0x6F, 0x6F, 0x91, 669 0x14, 0xC5, 0x4D, 0xE8, 0x86, 0x47, 0x5C, 0xFC, 670 0xAE, 0xBF, 0xD8, 0x32, 0xE2, 0x96, 0xB9, 0x61, 671 0x70, 0x3F, 0x24, 0x29, 0xFA, 0x41, 0x5D, 0x8E, 672 0xD0, 0xB0, 0xF1, 0x26, 0xD5, 0x7C, 0xE6, 0x17, 673 0x48, 0xE5, 0x04, 0x0E, 0x58, 0x14, 0xEE, 0xBA, 674 0x64, 0xE9, 0xF1, 0x6A, 0x7C, 0x17, 0xAB, 0x7B, 675 0x28, 0xCF, 0x69, 0x7D, 0xDC, 0x54, 0xCA, 0xF2, 676 0x4C, 0x22, 0x17, 0xDD, 0xC3, 0x1A, 0x02, 0xE2, 677 0x8E, 0xE6, 0xA4, 0xFB, 0x84, 0x27, 0x2B, 0xE8, 678 0x14, 0xF3, 0x3D, 0xAC, 0x59, 0x0C, 0xAB, 0x69, 679 0x0E, 0x73, 0xDF, 0x82, 0xC1, 0xDE, 0xD7, 0xD9, 680 0xA7, 0xCA, 0x8F, 0x4B, 0xCE, 0x8A, 0x05, 0xBD, 681 0x07, 0xC8, 0x29, 0xBB, 0x46, 0x29, 0x2A, 0x4F, 682 0xA7, 0x12, 0x19, 0x91, 0x01, 0xA0, 0xAE, 0x16, 683 0xEF, 0xC1, 0xC5, 0x4B, 0x03, 0xF0, 0x53, 0xDC, 684 0xFC, 0x1C, 0xC4, 0x73, 0xB7, 0xBF, 0x53, 0xEB, 685 0x19, 0x63, 0xCA, 0x30, 0x53, 0x54, 0x12, 0x90, 686 0x0E, 0x43, 0xC7, 0x66, 0xFF, 0x29, 0xFC, 0xA4, 687 0xE8, 0xF6, 0x4B, 0x76, 0x3B, 0xA2, 0x65, 0x6B, 688 0x9E, 0xFA, 0xBA, 0x5B, 0x54, 0x94, 0x34, 0xF6, 689 0xD1, 0x20, 0x2A, 0xF7, 0x39, 0x72, 0xA3, 0xDB, 690 0xD1, 0x8F, 0xA6, 0x4D, 0x1B, 0xB1, 0x2D, 0xC5, 691 0x7F, 0xC5, 0x2C, 0x7E, 0x6D, 0xD9, 0xC8, 0xC2, 692 0x19, 0xC0, 0xC4, 0xC2, 0x77, 0xD9, 0x4C, 0x63, 693 0x77, 0x59, 0x0C, 0x5B, 0xFE, 0x69, 0xEF, 0xBF, 694 0x58, 0x47, 0x69, 0x3E, 0x49, 0xA7, 0x1B, 0x98, 695 0x6C, 0xE5, 0xA7, 0x42, 0x8B, 0x0E, 0x68, 0x05, 696 0x48, 0x80, 0x39, 0xF4, 0x02, 0x9E, 0xE2, 0x9F, 697 0x1C, 0xDA, 0x24, 0xC5, 0xB8, 0xEC, 0x03, 0xEA, 698 0x7A, 0x00, 0xDF, 0xCF, 0x58, 0xD0, 0xE7, 0xB7, 699 0xF3, 0xE7, 0x36, 0xDD, 0x1F, 0x65, 0xF9, 0x2D, 700 0x6F, 0xC3, 0xE4, 0x72, 0xFD, 0xBA, 0x58, 0x8D, 701 0xB5, 0xDF, 0x61, 0x3D, 0x3B, 0xB5, 0xF3, 0x08, 702 0xE7, 0x21, 0x5A, 0x7D, 0xFF, 0x02, 0x1E, 0x0E, 703 0x4E, 0xB5, 0x0D, 0x3D, 0x33, 0xF4, 0xA7, 0x6D, 704 0xF7, 0x96, 0xC2, 0x96, 0x85, 0x33, 0x9C, 0x58, 705 0x72, 0x5C, 0x97, 0x73, 0x0E, 0xDC, 0x5C, 0x6B, 706 0x3D, 0x68, 0xF7, 0xF0, 0x0F, 0xCC, 0x01, 0xBB, 707 0x47, 0x01, 0x3C, 0xB0, 0x52, 0x48, 0x70, 0xB8, 708 0x0C, 0x0F, 0x04, 0xB5, 0x8F, 0x70, 0x50, 0x12, 709 0x7C, 0x9D, 0xD1, 0xC1, 0x2B, 0xFE, 0x95, 0x31, 710 0x8F, 0x2D, 0xFA, 0xAC, 0xAE, 0x24, 0xDD, 0x13, 711 0xDA, 0x76, 0xC2, 0x34, 0xB9, 0x4A, 0x3E, 0xC3, 712}; 713static const unsigned char dsa_sigver_pub0[] = { 714 0x91, 0x78, 0x1C, 0xBA, 0x8A, 0x2F, 0xF6, 0xEC, 715 0x9B, 0xD4, 0x73, 0x2C, 0x1F, 0xC0, 0xFE, 0x79, 716 0xCF, 0xAC, 0x0C, 0x3C, 0x0D, 0x81, 0x85, 0x3D, 717 0xCD, 0x67, 0x2B, 0x77, 0x99, 0x4A, 0x51, 0x48, 718 0x58, 0x03, 0xC9, 0x68, 0xE6, 0x19, 0x26, 0x28, 719 0xDC, 0x86, 0x9F, 0x8F, 0xCE, 0xDD, 0x1B, 0xCD, 720 0xDD, 0x63, 0x4E, 0xCE, 0x76, 0x4D, 0xD5, 0x0D, 721 0x71, 0x73, 0x04, 0x03, 0x9C, 0x35, 0xD0, 0x56, 722 0x98, 0x25, 0xA7, 0x06, 0xF2, 0x6B, 0xA9, 0x9F, 723 0x9A, 0xB1, 0x2A, 0xBD, 0xB7, 0x71, 0x62, 0x99, 724 0x06, 0x47, 0x77, 0x22, 0x57, 0xFA, 0x24, 0x21, 725 0x21, 0xB0, 0x78, 0x26, 0x7E, 0xEC, 0xB6, 0xEB, 726 0x82, 0x15, 0x53, 0x68, 0xAE, 0xAC, 0x5B, 0xDC, 727 0xA6, 0x7F, 0x6B, 0x26, 0xE6, 0x59, 0x22, 0x55, 728 0x1C, 0x3B, 0xFD, 0xD5, 0x90, 0xA9, 0x6F, 0xB3, 729 0xE6, 0x99, 0x8E, 0x26, 0x72, 0xA1, 0x02, 0xAA, 730 0x37, 0xF6, 0x89, 0x68, 0xF1, 0x5A, 0x6D, 0x54, 731 0xAD, 0x9D, 0xF3, 0x03, 0xBE, 0x3F, 0x9D, 0x85, 732 0x38, 0x25, 0xB8, 0xDF, 0xB8, 0x43, 0x21, 0xCA, 733 0xF8, 0xDC, 0x12, 0x40, 0x1E, 0xEF, 0x37, 0x40, 734 0xCE, 0x0E, 0x02, 0x88, 0x63, 0x98, 0x2E, 0x93, 735 0x89, 0xB0, 0x43, 0xAC, 0x0E, 0x62, 0x4C, 0x38, 736 0x14, 0xAC, 0x0C, 0xA3, 0x03, 0x10, 0x8E, 0xB4, 737 0x60, 0x10, 0x9B, 0xCC, 0x16, 0xA7, 0xB8, 0x1D, 738 0x73, 0x81, 0x26, 0x12, 0xA8, 0x9A, 0xFE, 0x17, 739 0xBB, 0x2D, 0x33, 0x5E, 0x8C, 0xA4, 0x80, 0xBF, 740 0x84, 0x37, 0xCA, 0x0F, 0x50, 0x23, 0x79, 0x20, 741 0x2A, 0x8E, 0xD1, 0x1F, 0x9F, 0x89, 0x98, 0x4F, 742 0xF5, 0xB6, 0x0F, 0xB9, 0x3C, 0xFC, 0x6C, 0x00, 743 0xBC, 0x76, 0x2F, 0xB4, 0xFD, 0x22, 0x13, 0x37, 744 0x26, 0xCD, 0x9B, 0xAF, 0x4C, 0x89, 0x16, 0xD0, 745 0x73, 0x44, 0xF9, 0x71, 0x60, 0xA2, 0x3E, 0xFE, 746 0x24, 0xFE, 0xFC, 0xFE, 0x90, 0x91, 0xED, 0x92, 747 0x57, 0x0A, 0xFA, 0xEB, 0x21, 0x99, 0xE3, 0x9A, 748 0xFF, 0x5C, 0x74, 0x85, 0xC2, 0x6D, 0x83, 0x90, 749 0xEE, 0x84, 0x05, 0x1A, 0x00, 0xAC, 0x87, 0xA7, 750 0x78, 0x87, 0xCA, 0x70, 0xFC, 0xB0, 0xF4, 0x3B, 751 0x61, 0x7C, 0xD0, 0x09, 0x63, 0x2B, 0x5E, 0xC2, 752 0xFE, 0x15, 0x41, 0xB3, 0x9F, 0xFC, 0x19, 0xE3, 753 0x4D, 0x3C, 0x6F, 0x89, 0xEB, 0x8A, 0x43, 0xEC, 754 0x8E, 0xFB, 0xEC, 0xCD, 0x99, 0x2E, 0x4B, 0x02, 755 0x99, 0xAC, 0xC6, 0x62, 0xAA, 0xC5, 0x0F, 0xA3, 756 0x0B, 0xBB, 0xCD, 0x51, 0x0C, 0x19, 0xA7, 0x7A, 757 0x43, 0x6C, 0xAA, 0x26, 0x28, 0x2A, 0xC9, 0x9D, 758 0x97, 0xAE, 0x83, 0x74, 0xDA, 0xC4, 0x03, 0x98, 759 0x94, 0x58, 0x28, 0xBC, 0x32, 0x1D, 0xD4, 0xF2, 760 0x6F, 0x89, 0x92, 0xD4, 0x80, 0x9B, 0xDE, 0x6B, 761 0xC5, 0x6F, 0xDB, 0x7A, 0x03, 0x1C, 0xF5, 0x55, 762}; 763static const unsigned char dsa_sigver_msg0[] = { 764 0x32, 0xE9, 0x64, 0x47, 0xED, 0x3B, 0xF0, 0xC0, 765 0xCA, 0xC2, 0x90, 0xF5, 0x10, 0x60, 0x99, 0x82, 766 0x4D, 0x13, 0x44, 0xFA, 0x92, 0xD1, 0xFD, 0x50, 767 0x26, 0x80, 0xEA, 0x7B, 0x7D, 0xC5, 0xF0, 0xB7, 768}; 769static const unsigned char dsa_sigver_msg1[] = { 770 0x31, 0xE9, 0x64, 0x47, 0xED, 0x3B, 0xF0, 0xC0, 771 0xCA, 0xC2, 0x90, 0xF5, 0x10, 0x60, 0x99, 0x82, 772 0x4D, 0x13, 0x44, 0xFA, 0x92, 0xD1, 0xFD, 0x50, 773 0x26, 0x80, 0xEA, 0x7B, 0x7D, 0xC5, 0xF0, 0xB7 774}; 775static const unsigned char dsa_sigver_r0[] = { 776 0x2A, 0x24, 0x0F, 0xA7, 0x04, 0xF1, 0xE0, 0x60, 777 0x3B, 0x07, 0xDE, 0xB6, 0x5F, 0x01, 0x20, 0x81, 778 0xDD, 0x64, 0x22, 0x0F, 0x9F, 0x2E, 0x67, 0x33, 779 0xB7, 0x56, 0xDE, 0x17, 0xD0, 0xED, 0x9D, 0x30, 780}; 781static const unsigned char dsa_sigver_s0[] = { 782 0x15, 0x93, 0x81, 0x6E, 0xC2, 0x07, 0x6E, 0x06, 783 0x6A, 0xBF, 0x62, 0xBF, 0x93, 0xA6, 0xCB, 0x6E, 784 0xBA, 0x1E, 0x72, 0x57, 0x27, 0x0E, 0x85, 0x9E, 785 0x8C, 0x42, 0x9A, 0x41, 0x63, 0x27, 0x74, 0x4F, 786}; 787static const struct dsa_sigver_st dsa_sigver_data[] = { 788 { 789 "SHA2-512", 790 ITM(dsa_sigver_p0), 791 ITM(dsa_sigver_q0), 792 ITM(dsa_sigver_g0), 793 ITM(dsa_sigver_pub0), 794 ITM(dsa_sigver_msg0), 795 ITM(dsa_sigver_r0), 796 ITM(dsa_sigver_s0), 797 PASS, 798 }, 799 { 800 "SHA2-512", 801 ITM(dsa_sigver_p0), 802 ITM(dsa_sigver_q0), 803 ITM(dsa_sigver_g0), 804 ITM(dsa_sigver_pub0), 805 ITM(dsa_sigver_msg1), 806 ITM(dsa_sigver_r0), 807 ITM(dsa_sigver_s0), 808 FAIL, 809 }, 810}; 811 812#endif /* OPENSSL_NO_DSA */ 813 814struct cipher_st { 815 const char *alg; 816 const unsigned char *key; 817 size_t key_len; 818 const unsigned char *iv; 819 size_t iv_len; 820 const unsigned char *pt; 821 size_t pt_len; 822 const unsigned char *ct; 823 size_t ct_len; 824}; 825 826struct cipher_ccm_st { 827 const char *alg; 828 const unsigned char *key; 829 size_t key_len; 830 const unsigned char *iv; 831 size_t iv_len; 832 const unsigned char *aad; 833 size_t aad_len; 834 const unsigned char *pt; 835 size_t pt_len; 836 const unsigned char *ct; /* includes the tag */ 837 size_t ct_len; 838}; 839 840struct cipher_gcm_st { 841 const char *alg; 842 const unsigned char *key; 843 size_t key_len; 844 const unsigned char *iv; 845 size_t iv_len; 846 const unsigned char *aad; 847 size_t aad_len; 848 const unsigned char *pt; 849 size_t pt_len; 850 const unsigned char *ct; 851 size_t ct_len; 852 const unsigned char *tag; 853 size_t tag_len; 854}; 855 856 857static const unsigned char cipher_enc_pt0[] = { 858 0xF3, 0x44, 0x81, 0xEC, 0x3C, 0xC6, 0x27, 0xBA, 859 0xCD, 0x5D, 0xC3, 0xFB, 0x08, 0xF2, 0x73, 0xE6, 860}; 861static const unsigned char cipher_enc_pt1[] = { 862 0x1B, 0x07, 0x7A, 0x6A, 0xF4, 0xB7, 0xF9, 0x82, 863 0x29, 0xDE, 0x78, 0x6D, 0x75, 0x16, 0xB6, 0x39, 864}; 865static const unsigned char cipher_enc_pt2[] = { 866 0x91, 0x07, 0x41, 0x31, 0xF1, 0xF8, 0x6C, 0xCD, 867 0x54, 0x8D, 0x22, 0xA6, 0x93, 0x40, 0xFF, 0x39, 868}; 869static const unsigned char cipher_enc_pt3[] = { 870 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 871 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 872 0x10, 0x11, 0x12, 0x13 873}; 874static const unsigned char cipher_enc_key0[] = { 875 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 876 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 877}; 878static const unsigned char cipher_enc_key1[] = { 879 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 880 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 881 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 882}; 883static const unsigned char cipher_enc_key2[] = { 884 0xE8, 0x70, 0x13, 0x1C, 0xE7, 0x03, 0xD6, 0x51, 885 0x4E, 0x76, 0x1F, 0x95, 0xE6, 0xEE, 0x9E, 0xFB, 886}; 887static const unsigned char cipher_enc_key3[] = { 888 0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 889 0xf7, 0xf6, 0xf5, 0xf4, 0xf3, 0xf2, 0xf1, 0xf0, 890 0xbf, 0xbe, 0xbd, 0xbc, 0xbb, 0xba, 0xb9, 0xb8, 891 0xb7, 0xb6, 0xb5, 0xb4, 0xb3, 0xb2, 0xb1, 0xb0, 892}; 893static const unsigned char cipher_enc_ct0[] = { 894 0x03, 0x36, 0x76, 0x3E, 0x96, 0x6D, 0x92, 0x59, 895 0x5A, 0x56, 0x7C, 0xC9, 0xCE, 0x53, 0x7F, 0x5E, 896}; 897static const unsigned char cipher_enc_ct1[] = { 898 0x27, 0x5C, 0xFC, 0x04, 0x13, 0xD8, 0xCC, 0xB7, 899 0x05, 0x13, 0xC3, 0x85, 0x9B, 0x1D, 0x0F, 0x72, 900}; 901static const unsigned char cipher_enc_ct2[] = { 902 0x3A, 0xF6, 0x4C, 0x70, 0x37, 0xEE, 0x48, 0x13, 903 0xD8, 0x5F, 0xE9, 0xB3, 0x7F, 0xE6, 0x6A, 0xD4, 904}; 905static const unsigned char cipher_enc_ct3[] = { 906 0x9d, 0x84, 0xc8, 0x13, 0xf7, 0x19, 0xaa, 0x2c, 907 0x7b, 0xe3, 0xf6, 0x61, 0x71, 0xc7, 0xc5, 0xc2, 908 0xed, 0xbf, 0x9d, 0xac, 909}; 910static const unsigned char cipher_enc_iv0[] = { 911 0x00, 912}; 913static const unsigned char cipher_enc_iv1[] = { 914 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 915 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 916}; 917static const unsigned char cipher_enc_iv2[] = { 918 0x53, 0xF2, 0x25, 0xD8, 0xDE, 0x97, 0xF1, 0x4B, 919 0xFE, 0x3E, 0xC6, 0x5E, 0xC3, 0xFF, 0xF7, 0xD3, 920}; 921static const unsigned char cipher_enc_iv3[] = { 922 0x9a, 0x78, 0x56, 0x34, 0x12, 0x00, 0x00, 0x00, 923 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 924}; 925 926static const struct cipher_st cipher_enc_data[] = { 927 { 928 "AES-128-ECB", 929 ITM(cipher_enc_key0), 930 NULL, 0, /* iv */ 931 ITM(cipher_enc_pt0), 932 ITM(cipher_enc_ct0), 933 }, 934 { 935 "AES-192-CBC", 936 ITM(cipher_enc_key1), 937 ITM(cipher_enc_iv1), 938 ITM(cipher_enc_pt1), 939 ITM(cipher_enc_ct1), 940 }, 941 { 942 "AES-128-CTR", 943 ITM(cipher_enc_key2), 944 ITM(cipher_enc_iv2), 945 ITM(cipher_enc_pt2), 946 ITM(cipher_enc_ct2), 947 }, 948 { 949 "AES-128-XTS", 950 ITM(cipher_enc_key3), 951 ITM(cipher_enc_iv3), 952 ITM(cipher_enc_pt3), 953 ITM(cipher_enc_ct3), 954 } 955}; 956 957static const unsigned char aes_ccm_enc_pt0[] = { 958 0xDA, 0x6A, 0xDC, 0xB2, 0xA5, 0xCC, 0xC3, 0xE7, 959 0xFC, 0x4C, 0xDF, 0x0A, 0xAB, 0xDC, 0x3B, 0x38, 960 0x26, 0x8B, 0x21, 0x82, 0xCA, 0x26, 0xE6, 0x2C, 961}; 962static const unsigned char aes_ccm_enc_key0[] = { 963 0xDE, 0xF8, 0x67, 0xBC, 0x40, 0xB6, 0x7C, 0xAA, 964 0x4A, 0x00, 0xE8, 0x07, 0x24, 0x52, 0xAE, 0x72, 965}; 966static const unsigned char aes_ccm_enc_aad0[] = { 967 0x29, 0x8D, 0x01, 0x92, 0x3B, 0x50, 0x1F, 0x66, 968 0xCE, 0xD3, 0x57, 0x4B, 0x7B, 0x4F, 0x07, 0x57, 969}; 970static const unsigned char aes_ccm_enc_iv0[] = { 971 0x44, 0xEE, 0x48, 0x11, 0x4D, 0x3B, 0x71, 0x33, 972 0xF0, 0xF7, 0x12, 0xA2, 0xA5, 973}; 974static const unsigned char aes_ccm_enc_ct0[] = { 975 0x30, 0x4D, 0x19, 0x31, 0x02, 0x66, 0x95, 0x2E, 976 0x23, 0x6D, 0xF4, 0xB9, 0xDF, 0xFE, 0xCA, 0x92, 977 0x04, 0x2A, 0x32, 0xB5, 0x08, 0x2C, 0x8B, 0x6F, 978 0x1B, 0x14, 0xB8, 0x62, 0x8B, 0xA0, 0x12, 0x4E, 979 0x6A, 0x6F, 0x85, 0x86, 0x24, 0x6A, 0x83, 0xE0, 980}; 981static const struct cipher_ccm_st aes_ccm_enc_data[] = { 982 { 983 "AES-128-CCM", 984 ITM(aes_ccm_enc_key0), 985 ITM(aes_ccm_enc_iv0), 986 ITM(aes_ccm_enc_aad0), 987 ITM(aes_ccm_enc_pt0), 988 ITM(aes_ccm_enc_ct0), 989 }, 990}; 991 992static const unsigned char aes_gcm_enc_pt0[] = { 993 0x97, 994}; 995static const unsigned char aes_gcm_enc_key0[] = { 996 0x3E, 0x77, 0x38, 0xA6, 0x0A, 0xB3, 0x95, 0x90, 997 0xFA, 0x8B, 0x3B, 0xCF, 0xE1, 0xA3, 0x8C, 0x7D, 998}; 999static const unsigned char aes_gcm_enc_aad0[] = { 1000 0xE7, 0xEF, 0xCB, 0x0F, 0x3D, 0x94, 0x1D, 0x0F, 1001 0x3D, 0x65, 0x69, 0xFC, 0xDA, 0x77, 0x36, 0x5E, 1002 0xB9, 0x20, 0xF8, 0xDA, 0x81, 0xDF, 0x6B, 0x4C, 1003 0x2A, 0x70, 0x5E, 0xE3, 0x07, 0xCE, 0xCF, 0x62, 1004 0x84, 1005}; 1006static const unsigned char aes_gcm_enc_iv0[] = { 1007 0x01, 0x02, 0x03, 0x04, 0xEB, 0xED, 0x2F, 0x4B, 1008 0xD1, 0x20, 0x2C, 0xCD, 1009}; 1010static const unsigned char aes_gcm_enc_ct0[] = { 1011 0x63, 1012}; 1013static const unsigned char aes_gcm_enc_tag0[] = { 1014 0xA2, 0x8E, 0xA5, 0xF6, 0x6A, 0x1C, 0xE6, 0xD7, 1015 0xFF, 0xCD, 0x7F, 0x49, 1016}; 1017static const struct cipher_gcm_st aes_gcm_enc_data[] = { 1018 { 1019 "AES-128-GCM", 1020 ITM(aes_gcm_enc_key0), 1021 ITM(aes_gcm_enc_iv0), 1022 ITM(aes_gcm_enc_aad0), 1023 ITM(aes_gcm_enc_pt0), 1024 ITM(aes_gcm_enc_ct0), 1025 ITM(aes_gcm_enc_tag0), 1026 }, 1027}; 1028 1029#ifndef OPENSSL_NO_DH 1030 1031struct dh_safe_prime_keygen_st { 1032 const char *group_name; 1033}; 1034 1035struct dh_safe_prime_keyver_st { 1036 const char *group_name; 1037 const unsigned char *pub; 1038 size_t pub_len; 1039 const unsigned char *priv; 1040 size_t priv_len; 1041 int pass; 1042}; 1043 1044static const struct dh_safe_prime_keygen_st dh_safe_prime_keygen_data[] = { 1045 { "ffdhe2048" }, 1046}; 1047 1048static const unsigned char dh_safe_prime_keyver_priv0[] = { 1049 0x39, 0x9C, 0x08, 0x8E, 0x4A, 0x1E, 0x1A, 0x03, 1050 0x18, 0x5A, 0x72, 0x4F, 0xCB, 0x13, 0xFB, 0x8F, 1051 0x7F, 0x14, 0x12, 0x48, 0x9A, 0x18, 0x03, 0x1C, 1052 0x03, 0x98, 0x7E, 0x3C, 0xEF, 0x57, 0xF2, 0x1E, 1053 0xD5, 0x54, 0x5C, 0x0F, 0x36, 0x5E, 0xB0, 0xF8, 1054 0xD1, 0x27, 0x79, 0x24, 0x69, 0xB5, 0x7C, 0xF1, 1055 0x39, 0xFC, 0xE3, 0x79, 0xF0, 0xD6, 0xA0, 0xE1, 1056 0xA5, 0xA7, 0x65, 0x01, 0xBA, 0xFE, 0xBB, 0x28, 1057 0xF0, 0x9C, 0x49, 0x90, 0x68, 0xB4, 0xE7, 0xE2, 1058 0xB6, 0xBF, 0xB9, 0xF8, 0x96, 0xAA, 0xF9, 0xE6, 1059 0x0B, 0x8A, 0x86, 0x0D, 0x31, 0x2C, 0x90, 0xDA, 1060 0x4E, 0xFB, 0xE3, 0x59, 0x3F, 0xFB, 0x14, 0x33, 1061 0xF6, 0xBD, 0xDA, 0x5D, 0x27, 0xCC, 0x7C, 0x1C, 1062 0x30, 0xC8, 0xB2, 0xAF, 0x2A, 0xA8, 0x25, 0x97, 1063 0xDC, 0x5E, 0xEF, 0x22, 0xCB, 0xF6, 0x88, 0x83, 1064 0xD0, 0x47, 0x3F, 0x5D, 0xF3, 0x2A, 0xE0, 0xCC, 1065 0x86, 0x49, 0x5A, 0x8F, 0x67, 0xF6, 0xC4, 0xD8, 1066 0x3F, 0x09, 0xE8, 0x49, 0x89, 0x2E, 0xC0, 0xB4, 1067 0x9C, 0x06, 0x9C, 0x40, 0x10, 0xFB, 0x20, 0xC6, 1068 0xF1, 0x5F, 0x52, 0x3F, 0x21, 0xBF, 0xBB, 0x13, 1069 0x6A, 0x81, 0x1C, 0xFF, 0x19, 0x2A, 0x36, 0xD2, 1070 0x13, 0x23, 0x33, 0xD1, 0xEF, 0x34, 0xF3, 0xA6, 1071 0xD5, 0x56, 0xAF, 0x1A, 0x63, 0xFC, 0x95, 0x86, 1072 0xD5, 0xEB, 0xBF, 0x49, 0x84, 0x73, 0x30, 0x1D, 1073 0xE2, 0xA1, 0xAE, 0x6D, 0x20, 0x69, 0xAE, 0xB6, 1074 0x1A, 0xB9, 0xF2, 0x7A, 0xE3, 0x17, 0x4E, 0x7C, 1075 0x8F, 0xE8, 0x34, 0x02, 0x59, 0xB4, 0x54, 0x9A, 1076 0x8D, 0x19, 0x04, 0x2A, 0x8E, 0xF8, 0x05, 0xA3, 1077 0x98, 0x5B, 0xBD, 0xB4, 0x6A, 0xDA, 0xAA, 0x1F, 1078 0xFC, 0x56, 0xA0, 0x4D, 0x22, 0x66, 0x31, 0xEA, 1079 0x8A, 0xC8, 0x61, 0x12, 0x40, 0xF0, 0x38, 0x0B, 1080 0xA3, 0x23, 0x40, 0x97, 0x7A, 0x18, 0xE3, 0x42, 1081}; 1082static const unsigned char dh_safe_prime_keyver_pub0[] = { 1083 0xFA, 0xDA, 0x86, 0x67, 0xE9, 0x12, 0x67, 0x79, 1084 0x50, 0xAE, 0x64, 0x0B, 0x07, 0x47, 0x8F, 0xA5, 1085 0xD1, 0x27, 0x6C, 0xFC, 0x10, 0xD8, 0x90, 0x8D, 1086 0x93, 0x75, 0xAD, 0x31, 0xBD, 0x97, 0xBE, 0xD5, 1087 0xB5, 0x59, 0x2F, 0x37, 0x52, 0x32, 0x30, 0x75, 1088 0xD3, 0xA5, 0x36, 0x10, 0x62, 0x4C, 0x82, 0x06, 1089 0xB9, 0x29, 0xAE, 0x14, 0xD1, 0xB0, 0xD0, 0x23, 1090 0x7A, 0xE6, 0xEA, 0x7E, 0x8E, 0xE3, 0xC7, 0xEB, 1091 0x43, 0x78, 0xFA, 0x9A, 0x40, 0x9A, 0x6F, 0xF5, 1092 0x42, 0x8A, 0xF7, 0xF3, 0x92, 0xE6, 0x5D, 0x68, 1093 0x9B, 0x2A, 0x91, 0xB5, 0x37, 0x33, 0x3F, 0x35, 1094 0xA5, 0xFB, 0x54, 0xD1, 0x3C, 0x46, 0xC6, 0x3C, 1095 0x16, 0x3A, 0xD7, 0xF8, 0x55, 0x48, 0x9A, 0xB7, 1096 0xB1, 0x40, 0xBF, 0xAF, 0x26, 0x1B, 0x07, 0x0F, 1097 0x11, 0x04, 0x63, 0x06, 0xDA, 0x2D, 0x45, 0x0E, 1098 0x7F, 0x17, 0xA4, 0x38, 0xBD, 0x68, 0x5A, 0xA9, 1099 0xC4, 0x7F, 0x7E, 0xC7, 0xF0, 0xFC, 0x74, 0x87, 1100 0x55, 0xCD, 0x35, 0xA8, 0xAA, 0x59, 0xA7, 0xFA, 1101 0xC1, 0x34, 0x67, 0x04, 0xD8, 0xCC, 0xE1, 0x77, 1102 0x60, 0xE1, 0xBE, 0xC0, 0xA5, 0x52, 0xA4, 0x72, 1103 0x3A, 0x19, 0xFA, 0x76, 0xC8, 0x67, 0x60, 0x5E, 1104 0x1C, 0x43, 0xF4, 0x50, 0xA0, 0xCB, 0x33, 0x77, 1105 0x2D, 0x2D, 0x3B, 0x5D, 0x7D, 0x72, 0x2E, 0x38, 1106 0xCD, 0x71, 0xB1, 0xBF, 0xB5, 0x10, 0x80, 0xCD, 1107 0xA4, 0x5D, 0x70, 0x6E, 0xD5, 0x7E, 0xA2, 0xAA, 1108 0xDC, 0xA4, 0x7C, 0x7A, 0x7D, 0x21, 0x09, 0x6A, 1109 0x14, 0xB2, 0x21, 0x24, 0xA4, 0xF4, 0x6C, 0xD2, 1110 0xBA, 0x76, 0x99, 0xD7, 0x69, 0x44, 0xA8, 0x66, 1111 0x85, 0x08, 0x50, 0xBA, 0x42, 0x37, 0xA2, 0xC2, 1112 0xD5, 0x45, 0x7E, 0x7B, 0xE9, 0x4A, 0xAE, 0xEE, 1113 0x84, 0x2A, 0xEB, 0xA9, 0x4A, 0x69, 0x40, 0x83, 1114 0xBA, 0xCC, 0x1E, 0x1B, 0x25, 0x56, 0x13, 0x88, 1115}; 1116static const struct dh_safe_prime_keyver_st dh_safe_prime_keyver_data[] = { 1117 { 1118 "ffdhe2048", 1119 ITM(dh_safe_prime_keyver_pub0), 1120 ITM(dh_safe_prime_keyver_priv0), 1121 PASS 1122 }, 1123}; 1124 1125#endif /* OPENSSL_NO_DH */ 1126 1127struct rsa_keygen_st { 1128 size_t mod; 1129 const unsigned char *e; 1130 size_t e_len; 1131 const unsigned char *xp1; 1132 size_t xp1_len; 1133 const unsigned char *xp2; 1134 size_t xp2_len; 1135 const unsigned char *xp; 1136 size_t xp_len; 1137 const unsigned char *xq1; 1138 size_t xq1_len; 1139 const unsigned char *xq2; 1140 size_t xq2_len; 1141 const unsigned char *xq; 1142 size_t xq_len; 1143 1144 const unsigned char *p1; 1145 size_t p1_len; 1146 const unsigned char *p2; 1147 size_t p2_len; 1148 const unsigned char *q1; 1149 size_t q1_len; 1150 const unsigned char *q2; 1151 size_t q2_len; 1152 const unsigned char *p; 1153 size_t p_len; 1154 const unsigned char *q; 1155 size_t q_len; 1156 const unsigned char *n; 1157 size_t n_len; 1158 const unsigned char *d; 1159 size_t d_len; 1160}; 1161 1162static const unsigned char rsa_keygen0_e[] = { 1163 0x01,0x00,0x01 1164}; 1165static const unsigned char rsa_keygen0_xp[] = { 1166 0xcf,0x72,0x1b,0x9a,0xfd,0x0d,0x22,0x1a,0x74,0x50,0x97,0x22,0x76,0xd8,0xc0, 1167 0xc2,0xfd,0x08,0x81,0x05,0xdd,0x18,0x21,0x99,0x96,0xd6,0x5c,0x79,0xe3,0x02, 1168 0x81,0xd7,0x0e,0x3f,0x3b,0x34,0xda,0x61,0xc9,0x2d,0x84,0x86,0x62,0x1e,0x3d, 1169 0x5d,0xbf,0x92,0x2e,0xcd,0x35,0x3d,0x6e,0xb9,0x59,0x16,0xc9,0x82,0x50,0x41, 1170 0x30,0x45,0x67,0xaa,0xb7,0xbe,0xec,0xea,0x4b,0x9e,0xa0,0xc3,0x05,0xb3,0x88, 1171 0xd4,0x4c,0xac,0xeb,0xe4,0x03,0xc6,0xca,0xcb,0xd9,0xd3,0x4e,0xf6,0x7f,0x2c, 1172 0x27,0x1e,0x08,0x6c,0xc2,0xd6,0x45,0x1f,0x84,0xe4,0x3c,0x97,0x19,0xde,0xb8, 1173 0x55,0xaf,0x0e,0xcf,0x9e,0xb0,0x9c,0x20,0xd3,0x1f,0xa8,0xd7,0x52,0xc2,0x95, 1174 0x1c,0x80,0x15,0x42,0x4d,0x4f,0x19,0x16 1175}; 1176static const unsigned char rsa_keygen0_xp1[] = { 1177 0xac,0x5f,0x7f,0x6e,0x33,0x3e,0x97,0x3a,0xb3,0x17,0x44,0xa9,0x0f,0x7a,0x54, 1178 0x70,0x27,0x06,0x93,0xd5,0x49,0xde,0x91,0x83,0xbc,0x8a,0x7b,0x95 1179}; 1180static const unsigned char rsa_keygen0_xp2[] = { 1181 0x0b,0xf6,0xe8,0x79,0x5a,0x81,0xae,0x90,0x1d,0xa4,0x38,0x74,0x9c,0x0e,0x6f, 1182 0xe0,0x03,0xcf,0xc4,0x53,0x16,0x32,0x17,0xf7,0x09,0x5f,0xd9 1183}; 1184static const unsigned char rsa_keygen0_xq[] = { 1185 0xfe,0xab,0xf2,0x7c,0x16,0x4a,0xf0,0x8d,0x31,0xc6,0x0a,0x82,0xe2,0xae,0xbb, 1186 0x03,0x7e,0x7b,0x20,0x4e,0x64,0xb0,0x16,0xad,0x3c,0x01,0x1a,0xd3,0x54,0xbf, 1187 0x2b,0xa4,0x02,0x9e,0xc3,0x0d,0x60,0x3d,0x1f,0xb9,0xc0,0x0d,0xe6,0x97,0x68, 1188 0xbb,0x8c,0x81,0xd5,0xc1,0x54,0x96,0x0f,0x99,0xf0,0xa8,0xa2,0xf3,0xc6,0x8e, 1189 0xec,0xbc,0x31,0x17,0x70,0x98,0x24,0xa3,0x36,0x51,0xa8,0x54,0xbd,0x9a,0x89, 1190 0x99,0x6e,0x57,0x5e,0xd0,0x39,0x86,0xc3,0xa3,0x1b,0xc7,0xcf,0xc4,0x4f,0x47, 1191 0x25,0x9e,0x2c,0x79,0xe1,0x2c,0xcc,0xe4,0x63,0xf4,0x02,0x84,0xf8,0xf6,0xa1, 1192 0x5c,0x93,0x14,0xf2,0x68,0x5f,0x3a,0x90,0x2f,0x4e,0x5e,0xf9,0x16,0x05,0xcf, 1193 0x21,0x63,0xca,0xfa,0xb0,0x08,0x02,0xc0 1194}; 1195static const unsigned char rsa_keygen0_xq1[] = { 1196 0x9b,0x02,0xd4,0xba,0xf0,0xaa,0x14,0x99,0x6d,0xc0,0xb7,0xa5,0xe1,0xd3,0x70, 1197 0xb6,0x5a,0xa2,0x9b,0x59,0xd5,0x8c,0x1e,0x9f,0x3f,0x9a,0xde,0xeb,0x9e,0x9c, 1198 0x61,0xd6,0x5a,0xe1 1199}; 1200static const unsigned char rsa_keygen0_xq2[] = { 1201 0x06,0x81,0x53,0xfd,0xa8,0x7b,0xa3,0x85,0x90,0x15,0x2c,0x97,0xb2,0xa0,0x17, 1202 0x48,0xb0,0x7f,0x0a,0x01,0x6d 1203}; 1204/* expected values */ 1205static const unsigned char rsa_keygen0_p1[] = { 1206 0xac,0x5f,0x7f,0x6e,0x33,0x3e,0x97,0x3a,0xb3,0x17,0x44,0xa9,0x0f,0x7a,0x54, 1207 0x70,0x27,0x06,0x93,0xd5,0x49,0xde,0x91,0x83,0xbc,0x8a,0x7b,0xc3 1208}; 1209static const unsigned char rsa_keygen0_p2[] = { 1210 0x0b,0xf6,0xe8,0x79,0x5a,0x81,0xae,0x90,0x1d,0xa4,0x38,0x74,0x9c,0x0e,0x6f, 1211 0xe0,0x03,0xcf,0xc4,0x53,0x16,0x32,0x17,0xf7,0x09,0x5f,0xd9 1212}; 1213static const unsigned char rsa_keygen0_q1[] = { 1214 0x9b,0x02,0xd4,0xba,0xf0,0xaa,0x14,0x99,0x6d,0xc0,0xb7,0xa5,0xe1,0xd3,0x70, 1215 0xb6,0x5a,0xa2,0x9b,0x59,0xd5,0x8c,0x1e,0x9f,0x3f,0x9a,0xde,0xeb,0x9e,0x9c, 1216 0x61,0xd6,0x5d,0x47 1217}; 1218static const unsigned char rsa_keygen0_q2[] = { 1219 0x06,0x81,0x53,0xfd,0xa8,0x7b,0xa3,0x85,0x90,0x15,0x2c,0x97,0xb2,0xa0,0x17, 1220 0x48,0xb0,0x7f,0x0a,0x01,0x8f 1221}; 1222static const unsigned char rsa_keygen0_p[] = { 1223 0xcf,0x72,0x1b,0x9a,0xfd,0x0d,0x22,0x1a,0x74,0x50,0x97,0x22,0x76,0xd8,0xc0, 1224 0xc2,0xfd,0x08,0x81,0x05,0xdd,0x18,0x21,0x99,0x96,0xd6,0x5c,0x79,0xe3,0x02, 1225 0x81,0xd7,0x0e,0x3f,0x3b,0x34,0xda,0x61,0xc9,0x2d,0x84,0x86,0x62,0x1e,0x3d, 1226 0x5d,0xbf,0x92,0x2e,0xcd,0x35,0x3d,0x6e,0xb9,0x59,0x16,0xc9,0x82,0x50,0x41, 1227 0x30,0x45,0x67,0xaa,0xb7,0xbe,0xec,0xea,0x4b,0x9e,0xa0,0xc3,0x05,0xbc,0x4c, 1228 0x01,0xa5,0x4b,0xbd,0xa4,0x20,0xb5,0x20,0xd5,0x59,0x6f,0x82,0x5c,0x8f,0x4f, 1229 0xe0,0x3a,0x4e,0x7e,0xfe,0x44,0xf3,0x3c,0xc0,0x0e,0x14,0x2b,0x32,0xe6,0x28, 1230 0x8b,0x63,0x87,0x00,0xc3,0x53,0x4a,0x5b,0x71,0x7a,0x5b,0x28,0x40,0xc4,0x18, 1231 0xb6,0x77,0x0b,0xab,0x59,0xa4,0x96,0x7d 1232}; 1233static const unsigned char rsa_keygen0_q[] = { 1234 0xfe,0xab,0xf2,0x7c,0x16,0x4a,0xf0,0x8d,0x31,0xc6,0x0a,0x82,0xe2,0xae,0xbb, 1235 0x03,0x7e,0x7b,0x20,0x4e,0x64,0xb0,0x16,0xad,0x3c,0x01,0x1a,0xd3,0x54,0xbf, 1236 0x2b,0xa4,0x02,0x9e,0xc3,0x0d,0x60,0x3d,0x1f,0xb9,0xc0,0x0d,0xe6,0x97,0x68, 1237 0xbb,0x8c,0x81,0xd5,0xc1,0x54,0x96,0x0f,0x99,0xf0,0xa8,0xa2,0xf3,0xc6,0x8e, 1238 0xec,0xbc,0x31,0x17,0x70,0x98,0x24,0xa3,0x36,0x51,0xa8,0x54,0xc4,0x44,0xdd, 1239 0xf7,0x7e,0xda,0x47,0x4a,0x67,0x44,0x5d,0x4e,0x75,0xf0,0x4d,0x00,0x68,0xe1, 1240 0x4a,0xec,0x1f,0x45,0xf9,0xe6,0xca,0x38,0x95,0x48,0x6f,0xdc,0x9d,0x1b,0xa3, 1241 0x4b,0xfd,0x08,0x4b,0x54,0xcd,0xeb,0x3d,0xef,0x33,0x11,0x6e,0xce,0xe4,0x5d, 1242 0xef,0xa9,0x58,0x5c,0x87,0x4d,0xc8,0xcf 1243}; 1244static const unsigned char rsa_keygen0_n[] = { 1245 0xce,0x5e,0x8d,0x1a,0xa3,0x08,0x7a,0x2d,0xb4,0x49,0x48,0xf0,0x06,0xb6,0xfe, 1246 0xba,0x2f,0x39,0x7c,0x7b,0xe0,0x5d,0x09,0x2d,0x57,0x4e,0x54,0x60,0x9c,0xe5, 1247 0x08,0x4b,0xe1,0x1a,0x73,0xc1,0x5e,0x2f,0xb6,0x46,0xd7,0x81,0xca,0xbc,0x98, 1248 0xd2,0xf9,0xef,0x1c,0x92,0x8c,0x8d,0x99,0x85,0x28,0x52,0xd6,0xd5,0xab,0x70, 1249 0x7e,0x9e,0xa9,0x87,0x82,0xc8,0x95,0x64,0xeb,0xf0,0x6c,0x0f,0x3f,0xe9,0x02, 1250 0x29,0x2e,0x6d,0xa1,0xec,0xbf,0xdc,0x23,0xdf,0x82,0x4f,0xab,0x39,0x8d,0xcc, 1251 0xac,0x21,0x51,0x14,0xf8,0xef,0xec,0x73,0x80,0x86,0xa3,0xcf,0x8f,0xd5,0xcf, 1252 0x22,0x1f,0xcc,0x23,0x2f,0xba,0xcb,0xf6,0x17,0xcd,0x3a,0x1f,0xd9,0x84,0xb9, 1253 0x88,0xa7,0x78,0x0f,0xaa,0xc9,0x04,0x01,0x20,0x72,0x5d,0x2a,0xfe,0x5b,0xdd, 1254 0x16,0x5a,0xed,0x83,0x02,0x96,0x39,0x46,0x37,0x30,0xc1,0x0d,0x87,0xc2,0xc8, 1255 0x33,0x38,0xed,0x35,0x72,0xe5,0x29,0xf8,0x1f,0x23,0x60,0xe1,0x2a,0x5b,0x1d, 1256 0x6b,0x53,0x3f,0x07,0xc4,0xd9,0xbb,0x04,0x0c,0x5c,0x3f,0x0b,0xc4,0xd4,0x61, 1257 0x96,0x94,0xf1,0x0f,0x4a,0x49,0xac,0xde,0xd2,0xe8,0x42,0xb3,0x4a,0x0b,0x64, 1258 0x7a,0x32,0x5f,0x2b,0x5b,0x0f,0x8b,0x8b,0xe0,0x33,0x23,0x34,0x64,0xf8,0xb5, 1259 0x7f,0x69,0x60,0xb8,0x71,0xe9,0xff,0x92,0x42,0xb1,0xf7,0x23,0xa8,0xa7,0x92, 1260 0x04,0x3d,0x6b,0xff,0xf7,0xab,0xbb,0x14,0x1f,0x4c,0x10,0x97,0xd5,0x6b,0x71, 1261 0x12,0xfd,0x93,0xa0,0x4a,0x3b,0x75,0x72,0x40,0x96,0x1c,0x5f,0x40,0x40,0x57, 1262 0x13 1263}; 1264static const unsigned char rsa_keygen0_d[] = { 1265 0x47,0x47,0x49,0x1d,0x66,0x2a,0x4b,0x68,0xf5,0xd8,0x4a,0x24,0xfd,0x6c,0xbf, 1266 0x56,0xb7,0x70,0xf7,0x9a,0x21,0xc8,0x80,0x9e,0xf4,0x84,0xcd,0x88,0x01,0x28, 1267 0xea,0x50,0xab,0x13,0x63,0xdf,0xea,0x14,0x38,0xb5,0x07,0x42,0x81,0x2f,0xda, 1268 0xe9,0x24,0x02,0x7e,0xaf,0xef,0x74,0x09,0x0e,0x80,0xfa,0xfb,0xd1,0x19,0x41, 1269 0xe5,0xba,0x0f,0x7c,0x0a,0xa4,0x15,0x55,0xa2,0x58,0x8c,0x3a,0x48,0x2c,0xc6, 1270 0xde,0x4a,0x76,0xfb,0x72,0xb6,0x61,0xe6,0xd2,0x10,0x44,0x4c,0x33,0xb8,0xd2, 1271 0x74,0xb1,0x9d,0x3b,0xcd,0x2f,0xb1,0x4f,0xc3,0x98,0xbd,0x83,0xb7,0x7e,0x75, 1272 0xe8,0xa7,0x6a,0xee,0xcc,0x51,0x8c,0x99,0x17,0x67,0x7f,0x27,0xf9,0x0d,0x6a, 1273 0xb7,0xd4,0x80,0x17,0x89,0x39,0x9c,0xf3,0xd7,0x0f,0xdf,0xb0,0x55,0x80,0x1d, 1274 0xaf,0x57,0x2e,0xd0,0xf0,0x4f,0x42,0x69,0x55,0xbc,0x83,0xd6,0x97,0x83,0x7a, 1275 0xe6,0xc6,0x30,0x6d,0x3d,0xb5,0x21,0xa7,0xc4,0x62,0x0a,0x20,0xce,0x5e,0x5a, 1276 0x17,0x98,0xb3,0x6f,0x6b,0x9a,0xeb,0x6b,0xa3,0xc4,0x75,0xd8,0x2b,0xdc,0x5c, 1277 0x6f,0xec,0x5d,0x49,0xac,0xa8,0xa4,0x2f,0xb8,0x8c,0x4f,0x2e,0x46,0x21,0xee, 1278 0x72,0x6a,0x0e,0x22,0x80,0x71,0xc8,0x76,0x40,0x44,0x61,0x16,0xbf,0xa5,0xf8, 1279 0x89,0xc7,0xe9,0x87,0xdf,0xbd,0x2e,0x4b,0x4e,0xc2,0x97,0x53,0xe9,0x49,0x1c, 1280 0x05,0xb0,0x0b,0x9b,0x9f,0x21,0x19,0x41,0xe9,0xf5,0x61,0xd7,0x33,0x2e,0x2c, 1281 0x94,0xb8,0xa8,0x9a,0x3a,0xcc,0x6a,0x24,0x8d,0x19,0x13,0xee,0xb9,0xb0,0x48, 1282 0x61 1283}; 1284 1285static const struct rsa_keygen_st rsa_keygen_data[] = { 1286 { 1287 2048, 1288 ITM(rsa_keygen0_e), 1289 ITM(rsa_keygen0_xp1), 1290 ITM(rsa_keygen0_xp2), 1291 ITM(rsa_keygen0_xp), 1292 ITM(rsa_keygen0_xq1), 1293 ITM(rsa_keygen0_xq2), 1294 ITM(rsa_keygen0_xq), 1295 1296 ITM(rsa_keygen0_p1), 1297 ITM(rsa_keygen0_p2), 1298 ITM(rsa_keygen0_q1), 1299 ITM(rsa_keygen0_q2), 1300 1301 ITM(rsa_keygen0_p), 1302 ITM(rsa_keygen0_q), 1303 ITM(rsa_keygen0_n), 1304 ITM(rsa_keygen0_d), 1305 }, 1306}; 1307 1308#define NO_PSS_SALT_LEN -1 1309struct rsa_siggen_st { 1310 const char *sig_pad_mode; 1311 size_t mod; 1312 const char *digest_alg; 1313 const unsigned char *msg; 1314 size_t msg_len; 1315 int pss_salt_len; 1316}; 1317static const unsigned char rsa_siggen0_msg[] = { 1318 0xa3, 0x76, 0x35, 0xc2, 0x6d, 0x6b, 0xa0, 0xe1, 1319 0x2e, 0x0b, 0x58, 0x33, 0x0d, 0x30, 0xdd, 0x07, 1320 0xa9, 0x53, 0xd6, 0x37, 0x07, 0xad, 0xa8, 0x67, 1321}; 1322static const struct rsa_siggen_st rsa_siggen_data[] = { 1323 { 1324 "pkcs1", /* pkcs1v1.5 */ 1325 2048, 1326 "SHA384", 1327 ITM(rsa_siggen0_msg), 1328 NO_PSS_SALT_LEN, 1329 }, 1330 { 1331 "x931", 1332 2048, 1333 "SHA384", 1334 ITM(rsa_siggen0_msg), 1335 NO_PSS_SALT_LEN, 1336 }, 1337 { 1338 "pss", 1339 2048, 1340 "SHA384", 1341 ITM(rsa_siggen0_msg), 1342 48 1343 }, 1344}; 1345 1346struct rsa_sigver_st { 1347 const char *sig_pad_mode; 1348 size_t mod; 1349 const char *digest_alg; 1350 const unsigned char *msg; 1351 size_t msg_len; 1352 const unsigned char *n; 1353 size_t n_len; 1354 const unsigned char *e; 1355 size_t e_len; 1356 const unsigned char *sig; 1357 size_t sig_len; 1358 int pss_salt_len; 1359 int pass; 1360}; 1361 1362static const unsigned char rsa_sigver15_0_n[] = { 1363 0xbb, 0xbc, 0xf3, 0x35, 0x6f, 0x8e, 0x2e, 0x4f, 1364 0x32, 0xb5, 0xbb, 0x47, 0x9d, 0x02, 0x2a, 0xac, 1365 0x93, 0x9e, 0x70, 0x50, 0x0f, 0x59, 0x0d, 0x38, 1366 0x1c, 0xe5, 0xda, 0x87, 0x61, 0x6b, 0xbf, 0xa8, 1367 0x2c, 0x2f, 0x97, 0xbc, 0x4b, 0xd4, 0xae, 0x21, 1368 0xed, 0xbe, 0x7a, 0x98, 0x15, 0xa8, 0xe2, 0xf0, 1369 0x5f, 0x4d, 0xf8, 0xe2, 0x7c, 0x7e, 0x87, 0x52, 1370 0x8e, 0xbf, 0xb6, 0x3f, 0x1a, 0x12, 0x96, 0x87, 1371 0x2c, 0xd2, 0xac, 0x85, 0x87, 0xe5, 0xcd, 0x4c, 1372 0x31, 0x2b, 0x98, 0x16, 0x9f, 0xcf, 0x3e, 0xef, 1373 0x50, 0xaa, 0xee, 0xc0, 0x6c, 0x80, 0x94, 0xc5, 1374 0xb1, 0xc7, 0x0d, 0xd4, 0x24, 0x94, 0x44, 0x3a, 1375 0x44, 0xdb, 0x10, 0xdc, 0x21, 0x57, 0xe0, 0x77, 1376 0xe5, 0x9c, 0xc4, 0x49, 0x06, 0xe3, 0x5a, 0xea, 1377 0x64, 0xf4, 0x54, 0xca, 0xfc, 0x5a, 0x2b, 0x92, 1378 0x76, 0xe1, 0x86, 0x6f, 0x3b, 0x4e, 0x7d, 0xe7, 1379 0xb9, 0x62, 0xc4, 0x63, 0x12, 0x65, 0x16, 0x58, 1380 0x11, 0x23, 0xba, 0x1b, 0x95, 0x06, 0x1c, 0xdd, 1381 0xdc, 0x49, 0x0b, 0x67, 0x7c, 0xb0, 0xdb, 0x45, 1382 0x88, 0x6e, 0x42, 0xdd, 0x67, 0xbf, 0xec, 0x0e, 1383 0xfa, 0x64, 0x06, 0x3e, 0xb9, 0x40, 0xee, 0xc6, 1384 0x56, 0xdf, 0xe7, 0xd8, 0xed, 0xf1, 0xf7, 0x53, 1385 0xec, 0xd6, 0x1e, 0xb1, 0x66, 0x66, 0x80, 0x16, 1386 0x5b, 0xba, 0x8c, 0x75, 0xe2, 0x6c, 0x19, 0xe7, 1387 0xf9, 0xc8, 0xae, 0x75, 0xc9, 0xc4, 0x19, 0xe6, 1388 0xba, 0xfd, 0x3e, 0x12, 0xf0, 0x88, 0x90, 0xee, 1389 0x39, 0xf8, 0x85, 0x3c, 0x20, 0x3b, 0xfe, 0xb9, 1390 0xa0, 0x07, 0x93, 0x6d, 0x20, 0x78, 0xf2, 0xc2, 1391 0xa5, 0x49, 0x51, 0xa3, 0xb7, 0x13, 0x83, 0xeb, 1392 0x19, 0x55, 0x08, 0x4f, 0x28, 0x32, 0x1a, 0x9b, 1393 0xab, 0x05, 0x9a, 0xaa, 0x28, 0xdc, 0xfa, 0xbf, 1394 0xf3, 0x52, 0x40, 0x0c, 0x4a, 0xb3, 0xd6, 0xb5, 1395}; 1396static const unsigned char rsa_sigver15_0_e[] = { 1397 0x01, 0x00, 0x01, 1398}; 1399static const unsigned char rsa_sigver15_0_msg[] = { 1400 0xba, 0x1a, 0x03, 0xda, 0x95, 0xd4, 0x36, 0x60, 1401 0xe6, 0x77, 0xc7, 0x80, 0x49, 0x42, 0xc7, 0x98, 1402 0xf6, 0x9e, 0xcf, 0x6f, 0xe5, 0xaf, 0x41, 0x6c, 1403 0x36, 0x29, 0xd0, 0x06, 0xcf, 0x65, 0x43, 0x7c, 1404 0x47, 0xb4, 0x75, 0xc6, 0x03, 0xf3, 0xa1, 0xcb, 1405 0x9e, 0x5f, 0xdc, 0xd4, 0x8e, 0xab, 0xe3, 0x41, 1406 0x05, 0x50, 0x17, 0x7b, 0x16, 0x25, 0xc6, 0x29, 1407 0x19, 0x2f, 0xac, 0xa7, 0x50, 0xba, 0xba, 0xb3, 1408 0xcb, 0xa8, 0x16, 0x6a, 0x88, 0x0a, 0x62, 0x74, 1409 0xdf, 0xed, 0x41, 0x7b, 0x1d, 0x76, 0x17, 0xe1, 1410 0x70, 0x32, 0x11, 0xb2, 0x03, 0xa7, 0x66, 0xd7, 1411 0x69, 0x2f, 0xdc, 0x8d, 0x3f, 0x06, 0x8d, 0x16, 1412 0x0d, 0xa1, 0xeb, 0xae, 0x6e, 0x41, 0x02, 0xc1, 1413 0x71, 0xc9, 0xfd, 0x5b, 0x3e, 0xcc, 0xec, 0xe0, 1414 0xfd, 0xeb, 0xc4, 0xfd, 0xf3, 0x5e, 0xa7, 0xde, 1415 0xee, 0xd0, 0x66, 0xa2, 0xe4, 0x70, 0x45, 0x0c, 1416}; 1417static const unsigned char rsa_sigver15_0_sig[] = { 1418 0x4a, 0x8a, 0xcb, 0x88, 0x89, 0xd3, 0xa9, 0x48, 1419 0x84, 0x09, 0x2e, 0x2c, 0x50, 0x02, 0xb9, 0xad, 1420 0xe5, 0x10, 0xac, 0x27, 0x8f, 0x2d, 0x36, 0x7e, 1421 0x6e, 0x32, 0x5c, 0x1d, 0xcb, 0xfa, 0xb8, 0xc7, 1422 0x1a, 0x27, 0x11, 0x2b, 0x34, 0xf4, 0xa9, 0xda, 1423 0xa0, 0x99, 0x86, 0xbe, 0x81, 0xd0, 0xd9, 0x2a, 1424 0x88, 0x25, 0x99, 0xb3, 0x02, 0x50, 0xf1, 0xa5, 1425 0x4f, 0x3a, 0x1d, 0x7f, 0xcf, 0x7d, 0x76, 0x00, 1426 0x06, 0x87, 0x9f, 0x39, 0x3a, 0x3c, 0xc0, 0xc6, 1427 0x46, 0x7a, 0x65, 0x0d, 0x85, 0x06, 0xd8, 0x51, 1428 0xbe, 0xc5, 0x00, 0x80, 0xeb, 0x73, 0xbb, 0x71, 1429 0x8c, 0xcc, 0x72, 0x83, 0x1f, 0x9d, 0x73, 0x75, 1430 0xb8, 0xc8, 0x4c, 0x07, 0x5b, 0xda, 0x8c, 0x9b, 1431 0x6f, 0x65, 0x8c, 0x2e, 0x23, 0x62, 0x6c, 0x8d, 1432 0x94, 0x54, 0x5b, 0x7f, 0xe6, 0x5c, 0x90, 0xa3, 1433 0x07, 0xe2, 0x14, 0x4d, 0xe7, 0x71, 0x6c, 0xfd, 1434 0x64, 0x12, 0x14, 0x12, 0x14, 0x00, 0x1b, 0xc4, 1435 0x65, 0xe7, 0x28, 0x5c, 0x34, 0x2d, 0xda, 0x94, 1436 0xfd, 0x71, 0xcb, 0x27, 0xa6, 0x0e, 0x63, 0xd4, 1437 0xd6, 0x14, 0x65, 0xc0, 0xe3, 0x65, 0x94, 0x61, 1438 0x59, 0xb8, 0xc9, 0x3b, 0x9b, 0xc2, 0x82, 0xe2, 1439 0x76, 0xe7, 0x17, 0xf1, 0xef, 0x32, 0x9e, 0x8a, 1440 0x04, 0xf3, 0x1e, 0xcc, 0x16, 0xb4, 0x45, 0x0e, 1441 0x77, 0xdb, 0x8b, 0x38, 0x6c, 0xcc, 0x98, 0xf4, 1442 0xf8, 0xb5, 0x45, 0x2c, 0xde, 0x23, 0x36, 0xe7, 1443 0x83, 0xf0, 0xb4, 0xb5, 0xe3, 0xd3, 0xd4, 0x59, 1444 0xf1, 0x46, 0x7f, 0x0f, 0x55, 0x58, 0xff, 0x75, 1445 0xc7, 0x7f, 0xee, 0xf8, 0xe0, 0xb2, 0x52, 0xd8, 1446 0xba, 0x37, 0x4f, 0x7b, 0xba, 0xa3, 0xf0, 0x13, 1447 0xa7, 0x3a, 0x21, 0xac, 0xdc, 0x9e, 0x63, 0x36, 1448 0x38, 0xe7, 0x90, 0xeb, 0xea, 0x7f, 0x83, 0xf4, 1449 0x9d, 0xf3, 0x6b, 0x31, 0x44, 0x47, 0x27, 0x8e, 1450}; 1451 1452#define rsa_sigver15_1_n rsa_sigver15_0_n 1453#define rsa_sigver15_1_e rsa_sigver15_0_e 1454static const unsigned char rsa_sigver15_1_msg[] = { 1455 0x52, 0x68, 0x35, 0xd6, 0x4a, 0x95, 0xaa, 0xbd, 1456 0x02, 0x69, 0x7f, 0x92, 0xc7, 0x8c, 0x04, 0x71, 1457 0x17, 0x10, 0x5a, 0x0d, 0xab, 0x5e, 0x91, 0x45, 1458 0xb5, 0x70, 0x0d, 0xf8, 0x66, 0x41, 0x2e, 0x19, 1459 0xb3, 0x82, 0x30, 0x06, 0x59, 0x8f, 0x4f, 0x15, 1460 0x1e, 0xa1, 0x2f, 0x70, 0x5a, 0x45, 0x7c, 0x24, 1461 0xb7, 0x0d, 0xcd, 0x74, 0x35, 0x85, 0xcf, 0x73, 1462 0x71, 0x68, 0x9f, 0xd2, 0x26, 0x14, 0x77, 0xf6, 1463 0xf4, 0x3c, 0x8d, 0x4d, 0x60, 0xdd, 0x38, 0xe3, 1464 0x1d, 0x73, 0x55, 0x30, 0x8a, 0x6c, 0xe9, 0x35, 1465 0x7b, 0xdd, 0x08, 0xc7, 0x3c, 0x74, 0xf5, 0x2a, 1466 0xd3, 0xae, 0x8a, 0xe1, 0x86, 0x49, 0xda, 0xc5, 1467 0x9d, 0xfd, 0x16, 0x55, 0x69, 0x67, 0xad, 0x4d, 1468 0x85, 0x46, 0xb7, 0x7a, 0x5c, 0xe9, 0x94, 0xcc, 1469 0xeb, 0xe8, 0xd0, 0xad, 0xc9, 0x13, 0x4a, 0x91, 1470 0x64, 0xa8, 0x96, 0xce, 0x8d, 0xc9, 0x9f, 0xaf, 1471}; 1472static const unsigned char rsa_sigver15_1_sig[] = { 1473 0x81, 0x96, 0xdb, 0x65, 0x66, 0x5d, 0xec, 0x14, 1474 0xb3, 0x42, 0xf6, 0x93, 0x89, 0xae, 0x49, 0x81, 1475 0x98, 0xda, 0x71, 0x6d, 0x72, 0x9b, 0xcb, 0x39, 1476 0xe4, 0x85, 0xd1, 0x9f, 0xbe, 0xb8, 0x69, 0x0e, 1477 0xbe, 0xc0, 0x07, 0x88, 0xee, 0xbf, 0xf9, 0x5d, 1478 0x20, 0x0f, 0x90, 0x48, 0x93, 0x53, 0xbb, 0xc6, 1479 0x2f, 0xf8, 0xb7, 0x1d, 0xd2, 0x15, 0x0f, 0x1f, 1480 0x25, 0xab, 0x5b, 0xae, 0x52, 0xe6, 0x8e, 0x06, 1481 0x43, 0xe1, 0xd9, 0x4a, 0x4c, 0xee, 0x24, 0x0e, 1482 0xeb, 0x4f, 0x9b, 0x1a, 0xcb, 0x6d, 0x22, 0x93, 1483 0xa8, 0xa8, 0xcd, 0x4b, 0xa2, 0xf6, 0x88, 0x1a, 1484 0xaf, 0x3b, 0x2b, 0xdf, 0x04, 0x2d, 0x2b, 0x27, 1485 0x54, 0x90, 0x41, 0xb0, 0x4a, 0xda, 0xb1, 0xdf, 1486 0xce, 0x39, 0xda, 0xd7, 0xda, 0x00, 0x97, 0x89, 1487 0x9a, 0xaf, 0x4c, 0xc3, 0x0b, 0x6d, 0xb3, 0xce, 1488 0x59, 0x0b, 0xd9, 0x91, 0x17, 0x31, 0x6a, 0xe7, 1489 0x92, 0xec, 0x62, 0xe1, 0xe9, 0x73, 0xc7, 0x14, 1490 0x06, 0x16, 0x42, 0x8a, 0x68, 0xb1, 0x7c, 0xb8, 1491 0xa1, 0x45, 0xf0, 0x06, 0xf6, 0x85, 0xb5, 0x93, 1492 0xf1, 0x45, 0xc4, 0xe5, 0xf1, 0x76, 0x71, 0xb4, 1493 0xdc, 0x03, 0x55, 0xde, 0xb1, 0xd3, 0x5a, 0x0f, 1494 0x1f, 0x4f, 0xdd, 0xaa, 0x87, 0x8e, 0x46, 0x4d, 1495 0xe3, 0xd0, 0x5b, 0x28, 0x01, 0xc4, 0x94, 0xf7, 1496 0x00, 0x93, 0xae, 0xa3, 0xb5, 0x64, 0x65, 0xa1, 1497 0x16, 0x29, 0x2e, 0xc7, 0xbb, 0xeb, 0x71, 0x02, 1498 0xf9, 0x26, 0xb6, 0xa6, 0x24, 0xdc, 0x6a, 0x0e, 1499 0x0d, 0xad, 0x50, 0xf5, 0x4b, 0xe7, 0x0e, 0x9a, 1500 0x39, 0x20, 0x70, 0xe2, 0xdf, 0x3b, 0x6f, 0x9d, 1501 0xe3, 0x8f, 0x15, 0x6d, 0x5a, 0xaf, 0x12, 0xf7, 1502 0xf7, 0x85, 0x6f, 0x0e, 0xe4, 0x6e, 0x27, 0xf7, 1503 0xb3, 0x44, 0x38, 0x73, 0x45, 0x80, 0x7a, 0x72, 1504 0x82, 0xf3, 0xc8, 0x32, 0xb8, 0x25, 0xef, 0xdc, 1505}; 1506 1507static const unsigned char rsa_sigverpss_0_n[] = { 1508 0xb2, 0x76, 0x6c, 0x31, 0x01, 0x15, 0xd8, 0xe7, 1509 0x88, 0xd3, 0x4a, 0xb2, 0x75, 0xc8, 0xeb, 0x1f, 1510 0xd4, 0xe3, 0xf7, 0xbc, 0x83, 0xb6, 0xe7, 0x88, 1511 0x1f, 0x77, 0x36, 0xe1, 0x61, 0x2b, 0xa1, 0x83, 1512 0xe5, 0x0b, 0x59, 0x8c, 0xd9, 0x7c, 0x88, 0x3e, 1513 0x68, 0xef, 0x71, 0x1b, 0x72, 0x5d, 0x5e, 0xfe, 1514 0xa8, 0x1f, 0xe9, 0x8c, 0x41, 0x18, 0xd3, 0x90, 1515 0x2f, 0x6d, 0xc3, 0x46, 0x74, 0x69, 0x9b, 0xe1, 1516 0x46, 0x9c, 0x9d, 0xaf, 0x5c, 0x36, 0xb8, 0x54, 1517 0xf0, 0x67, 0xcb, 0x2c, 0xf4, 0x81, 0x7a, 0x4d, 1518 0xaf, 0x1b, 0x53, 0xc9, 0x3d, 0xbf, 0x2e, 0xee, 1519 0xe2, 0xe5, 0x00, 0x34, 0x58, 0xfd, 0x9f, 0xd0, 1520 0xa5, 0xdf, 0x20, 0x04, 0x41, 0x5f, 0x1b, 0x53, 1521 0xd5, 0x25, 0x9a, 0x06, 0x9d, 0xb6, 0x57, 0xa0, 1522 0x3e, 0xea, 0x21, 0x32, 0x85, 0xed, 0x34, 0xcb, 1523 0x4e, 0x96, 0xcc, 0xe6, 0xe0, 0x86, 0x9a, 0x38, 1524 0xeb, 0x1c, 0xb0, 0x9c, 0x90, 0xf1, 0xca, 0xe0, 1525 0x56, 0x1e, 0xf3, 0x90, 0xe0, 0xa8, 0x1f, 0x18, 1526 0xcf, 0xac, 0x22, 0xec, 0x72, 0x59, 0xfd, 0x08, 1527 0x41, 0x68, 0xc0, 0x7a, 0x19, 0xfe, 0x85, 0x6b, 1528 0x7a, 0xf8, 0x20, 0x80, 0x66, 0xf2, 0xfc, 0x27, 1529 0xc7, 0xa9, 0x39, 0xa7, 0x39, 0x01, 0xed, 0x78, 1530 0xa7, 0x5f, 0xa5, 0x48, 0x99, 0x55, 0xb5, 0x0f, 1531 0xb3, 0x08, 0x14, 0x00, 0xfc, 0xc1, 0x5a, 0xb8, 1532 0xa1, 0xd4, 0xfd, 0x9b, 0xb8, 0xbc, 0x3b, 0x7f, 1533 0x0b, 0x2e, 0x52, 0x22, 0x01, 0xc0, 0x24, 0x2b, 1534 0xda, 0xfd, 0x61, 0xfc, 0x72, 0xe7, 0x72, 0x84, 1535 0x7d, 0x57, 0xae, 0x52, 0xda, 0x47, 0x29, 0xac, 1536 0x4b, 0x52, 0xb5, 0x0c, 0xa8, 0xe7, 0x70, 0x5d, 1537 0x06, 0x67, 0x29, 0xb2, 0x68, 0xae, 0xb5, 0x27, 1538 0x84, 0xab, 0x8f, 0x26, 0x8b, 0x6e, 0x8a, 0x61, 1539 0x25, 0x11, 0x92, 0xc6, 0x07, 0x7e, 0x05, 0x19, 1540 0xc2, 0xf3, 0xbc, 0xb1, 0xf9, 0x2d, 0x6e, 0x52, 1541 0x85, 0x1c, 0x72, 0xd8, 0x71, 0x58, 0x70, 0x8a, 1542 0x85, 0x7e, 0x2e, 0x89, 0xb1, 0x0c, 0xe2, 0x46, 1543 0xf6, 0x09, 0x79, 0x36, 0x02, 0xae, 0xb9, 0x87, 1544 0x29, 0x02, 0x98, 0x1c, 0x83, 0x89, 0x3b, 0xa1, 1545 0xd2, 0xfa, 0x92, 0x92, 0x3e, 0x40, 0x05, 0xf5, 1546 0xd6, 0x57, 0xda, 0xea, 0x77, 0x6f, 0xb2, 0x8e, 1547 0xdc, 0xfd, 0xdb, 0xb9, 0x78, 0xe1, 0xb0, 0xb8, 1548 0x57, 0x93, 0x60, 0x6a, 0xb7, 0x70, 0x48, 0x9e, 1549 0x52, 0xd8, 0x82, 0xd2, 0x3b, 0xa3, 0x7e, 0x92, 1550 0x5e, 0x5d, 0x5a, 0x88, 0xa0, 0x1f, 0x3c, 0x40, 1551 0xd3, 0xc5, 0xdf, 0xa1, 0x18, 0x38, 0xe5, 0xe8, 1552 0xdc, 0x59, 0x82, 0x55, 0x3a, 0x3a, 0x61, 0x4a, 1553 0xed, 0x63, 0xf0, 0xa3, 0x61, 0x1e, 0x2e, 0x16, 1554 0x35, 0xad, 0x99, 0x36, 0x3f, 0x1d, 0xc5, 0x36, 1555 0xc6, 0xcd, 0x5c, 0x80, 0x3d, 0x48, 0x29, 0xf3, 1556 0x37, 0xcd, 0xe1, 0xf7, 0x98, 0x27, 0x3c, 0x1e, 1557 0x2d, 0x7a, 0xbe, 0xf3, 0x81, 0x66, 0xc7, 0xf3, 1558 0x70, 0xb2, 0xe4, 0xb0, 0x86, 0x9b, 0xba, 0x00, 1559 0x2a, 0xeb, 0x08, 0xd1, 0xa2, 0x3f, 0x4c, 0x2e, 1560 0x7b, 0x87, 0xe1, 0x3b, 0xb9, 0xba, 0x3e, 0x78, 1561 0xaf, 0x46, 0x89, 0x14, 0x01, 0x5d, 0x3b, 0x7c, 1562 0x3e, 0x35, 0x58, 0xea, 0x76, 0x4a, 0xb2, 0xf8, 1563 0x9b, 0x94, 0x2c, 0xa6, 0xf3, 0x19, 0x85, 0xc0, 1564 0x91, 0x52, 0xc7, 0x57, 0x65, 0x99, 0x7a, 0x65, 1565 0xaf, 0xd9, 0x01, 0xed, 0xea, 0x64, 0x8a, 0x0a, 1566 0x62, 0x77, 0x14, 0xb0, 0xf6, 0xe2, 0x03, 0xdd, 1567 0x3a, 0x81, 0x62, 0x30, 0x40, 0x66, 0xfe, 0xbc, 1568 0xbd, 0x2a, 0xae, 0x6f, 0xd8, 0x94, 0xfd, 0xf1, 1569 0xd6, 0x9b, 0xb7, 0xe4, 0x0f, 0xae, 0xfe, 0x10, 1570 0x63, 0x72, 0x36, 0xc8, 0x75, 0x7c, 0x8e, 0xff, 1571 0x3f, 0xd6, 0xb4, 0x5e, 0xdc, 0xda, 0x5d, 0x4d 1572}; 1573static const unsigned char rsa_sigverpss_0_e[] = { 1574 0x01, 0x00, 0x01, 1575}; 1576static const unsigned char rsa_sigverpss_0_msg[] = { 1577 0x32, 0x03, 0x0c, 0x2e, 0x06, 0xfc, 0x0f, 0xa5, 1578 0x65, 0xcd, 0x0f, 0x88, 0x52, 0x80, 0xc3, 0x43, 1579 0xda, 0x01, 0x36, 0x48, 0xf5, 0x76, 0xc8, 0x03, 1580 0xae, 0xce, 0x76, 0x0f, 0x83, 0x9d, 0x5c, 0xaa, 1581 0x0f, 0x27, 0x78, 0x66, 0xe6, 0xba, 0xb1, 0x22, 1582 0xc1, 0x42, 0x18, 0x39, 0xdb, 0x17, 0x6d, 0xf9, 1583 0x9a, 0x19, 0xe5, 0x57, 0x72, 0xff, 0x2a, 0xe0, 1584 0x07, 0xec, 0xa4, 0xf3, 0x91, 0x43, 0xf7, 0x2e, 1585 0x85, 0xbd, 0xcd, 0x26, 0x72, 0xb9, 0xd5, 0x5b, 1586 0x28, 0xd3, 0x0c, 0x6b, 0x20, 0xb7, 0x3b, 0x85, 1587 0x18, 0x38, 0xc0, 0x21, 0xfe, 0x9c, 0x92, 0xee, 1588 0x0f, 0x3a, 0x80, 0x0c, 0x40, 0x48, 0xb9, 0x7c, 1589 0xdd, 0xee, 0x91, 0xd5, 0x70, 0x9e, 0x82, 0x38, 1590 0xe4, 0xa8, 0x71, 0x85, 0xea, 0x09, 0x33, 0xcf, 1591 0x9c, 0x84, 0x50, 0x0e, 0x60, 0xf5, 0x07, 0x14, 1592 0x10, 0xe1, 0x92, 0xc3, 0x58, 0x51, 0xab, 0x7c, 1593}; 1594static const unsigned char rsa_sigverpss_0_sig[] = { 1595 0xad, 0x38, 0x4f, 0x00, 0xdd, 0x95, 0xd7, 0x72, 1596 0x90, 0x50, 0x48, 0x4e, 0xfd, 0x87, 0x3b, 0xab, 1597 0x36, 0x75, 0xe5, 0xa7, 0x32, 0xcf, 0xf5, 0x3a, 1598 0x9e, 0xe9, 0x59, 0x54, 0xcf, 0x95, 0x59, 0x63, 1599 0x14, 0x43, 0xf8, 0x49, 0x55, 0x86, 0x13, 0x91, 1600 0x4f, 0x0b, 0x67, 0x70, 0xc1, 0xd6, 0x97, 0x19, 1601 0xc5, 0xd2, 0xba, 0x48, 0x1b, 0x16, 0x65, 0xd3, 1602 0xcf, 0xee, 0x35, 0x19, 0xc8, 0xa6, 0x0f, 0x72, 1603 0xc6, 0x13, 0x9f, 0xa4, 0x9f, 0x53, 0x62, 0x49, 1604 0x1e, 0x1f, 0x18, 0x89, 0x2a, 0x7f, 0xf3, 0x17, 1605 0x78, 0x9d, 0x8a, 0xc1, 0x8e, 0xdd, 0x91, 0xf1, 1606 0x1f, 0xdd, 0x98, 0xff, 0x9a, 0x6d, 0xb8, 0x14, 1607 0x87, 0xaa, 0x08, 0xad, 0xe8, 0x6d, 0x95, 0x6b, 1608 0xc3, 0xad, 0x6a, 0x56, 0xa2, 0x78, 0x2d, 0x8c, 1609 0xa3, 0x80, 0x4f, 0x97, 0x91, 0x2e, 0x14, 0x7b, 1610 0x7a, 0x70, 0x9b, 0x48, 0x4d, 0xa4, 0x64, 0xe6, 1611 0x3f, 0x6f, 0x26, 0x83, 0x73, 0xb0, 0x41, 0xd6, 1612 0x29, 0x57, 0x31, 0x2e, 0x87, 0x3b, 0xea, 0x69, 1613 0x97, 0xc5, 0xe7, 0x75, 0xc6, 0x05, 0xf7, 0x05, 1614 0xf2, 0x74, 0xb5, 0x96, 0x71, 0x48, 0xcf, 0x1e, 1615 0xa1, 0x67, 0x0a, 0x72, 0x28, 0xfb, 0x87, 0xde, 1616 0xca, 0x91, 0x97, 0x63, 0x1e, 0x70, 0x22, 0x5c, 1617 0xa2, 0xbe, 0x2a, 0x50, 0xf3, 0xac, 0x2f, 0x04, 1618 0x1d, 0x09, 0x14, 0xdf, 0x9d, 0xe5, 0x03, 0x8e, 1619 0xe1, 0xa1, 0x4e, 0x78, 0x71, 0xc5, 0xed, 0x04, 1620 0x3e, 0x34, 0xf7, 0xce, 0xae, 0xe9, 0xc7, 0xe8, 1621 0x25, 0xc2, 0xf8, 0x23, 0xfd, 0x8b, 0xec, 0x5a, 1622 0xe1, 0x16, 0x0c, 0x6f, 0x04, 0x8b, 0x10, 0xe7, 1623 0xc8, 0x9d, 0x6d, 0x8f, 0x21, 0x1d, 0x9d, 0xe6, 1624 0xfa, 0x5f, 0x4f, 0xc7, 0x98, 0x2f, 0x78, 0x1f, 1625 0x14, 0xcd, 0xc3, 0x6e, 0xfa, 0x36, 0xcf, 0x6e, 1626 0xda, 0xf7, 0x31, 0xa8, 0x7f, 0x70, 0x8a, 0xc0, 1627 0x24, 0xef, 0x5b, 0x0f, 0xab, 0x49, 0x89, 0xe2, 1628 0x61, 0xc5, 0x9c, 0xae, 0x04, 0xf2, 0x54, 0x9f, 1629 0x7a, 0xce, 0x2b, 0x62, 0x07, 0xdb, 0x86, 0x10, 1630 0xe9, 0x3a, 0xc1, 0xdd, 0xd1, 0xe5, 0x17, 0xcf, 1631 0x72, 0xe8, 0x03, 0x72, 0x23, 0xd8, 0xb3, 0x6e, 1632 0x2d, 0xfc, 0xa7, 0xd4, 0x7d, 0x85, 0x9b, 0x73, 1633 0x7e, 0xa6, 0xe1, 0x71, 0xd5, 0xf3, 0xf0, 0xe8, 1634 0x23, 0x80, 0x7e, 0x3c, 0x4e, 0xc9, 0x7c, 0x3a, 1635 0x9a, 0xc3, 0x65, 0xb8, 0xea, 0x49, 0x02, 0x92, 1636 0xda, 0x39, 0xb4, 0xb2, 0xde, 0xf3, 0x1d, 0xb2, 1637 0x81, 0xed, 0x21, 0x58, 0xdb, 0xb8, 0xe5, 0x96, 1638 0xe9, 0xd5, 0xd3, 0x76, 0xde, 0x45, 0xa1, 0x1a, 1639 0xfe, 0xcd, 0x41, 0x63, 0x86, 0xd5, 0x72, 0xf1, 1640 0xae, 0x41, 0xf0, 0x10, 0x47, 0xcb, 0xd0, 0x86, 1641 0x60, 0xb6, 0x38, 0x28, 0x6b, 0x96, 0xa5, 0xd0, 1642 0x8e, 0x7e, 0x8e, 0x4f, 0xbf, 0x26, 0xbc, 0x10, 1643 0x23, 0x7c, 0xd8, 0xba, 0x63, 0x0a, 0x61, 0x25, 1644 0x0d, 0x3c, 0xba, 0x37, 0xef, 0x58, 0xaf, 0x57, 1645 0x67, 0x10, 0xdc, 0xe6, 0x73, 0x6d, 0xf6, 0x0b, 1646 0x38, 0x75, 0x00, 0x9d, 0x50, 0x71, 0xf0, 0x79, 1647 0x33, 0xb0, 0xe4, 0xb9, 0x2a, 0x66, 0x48, 0xae, 1648 0x74, 0xb4, 0xcb, 0x88, 0x57, 0x35, 0x28, 0xfd, 1649 0xa1, 0x7b, 0x50, 0x8e, 0x7a, 0x09, 0x94, 0x01, 1650 0xed, 0x3b, 0x1d, 0x42, 0xc3, 0x34, 0x5e, 0x2c, 1651 0x1e, 0x94, 0x90, 0x45, 0x24, 0x0e, 0x2e, 0xaa, 1652 0x50, 0x90, 0x2b, 0x32, 0x16, 0xf7, 0xeb, 0xbd, 1653 0x49, 0x32, 0x10, 0xa1, 0xd6, 0xd6, 0x17, 0x88, 1654 0xbb, 0x6d, 0x5f, 0xfc, 0xc3, 0xf4, 0x78, 0x38, 1655 0x4c, 0xc8, 0xe0, 0x61, 0xd5, 0x5b, 0x30, 0xb1, 1656 0x18, 0xa8, 0x90, 0xaf, 0x2b, 0xe9, 0x36, 0xad, 1657 0xd0, 0x8b, 0x46, 0xe4, 0x38, 0xc0, 0x6f, 0xfc, 1658 0x86, 0xae, 0x64, 0x00, 0xd1, 0x39, 0x3f, 0xee 1659}; 1660 1661#define rsa_sigverpss_1_n rsa_sigverpss_0_n 1662#define rsa_sigverpss_1_e rsa_sigverpss_0_e 1663static const unsigned char rsa_sigverpss_1_msg[] = { 1664 0x29, 0xdc, 0x70, 0xd8, 0xa5, 0xde, 0x41, 0x1d, 1665 0xed, 0x05, 0x16, 0x04, 0x48, 0x05, 0x21, 0x05, 1666 0x1c, 0x40, 0x8a, 0xbb, 0x6c, 0x3c, 0x11, 0xf3, 1667 0x9f, 0x55, 0xf4, 0x03, 0x83, 0xaf, 0x13, 0x5d, 1668 0x91, 0x6f, 0x52, 0x63, 0x73, 0x2b, 0x3f, 0x7d, 1669 0xc3, 0x9e, 0xf5, 0x69, 0x16, 0xa1, 0x40, 0xd3, 1670 0x39, 0x57, 0x01, 0x26, 0xba, 0xa7, 0xd4, 0xa1, 1671 0xaa, 0xef, 0xf1, 0xad, 0xa2, 0xf6, 0x50, 0x6e, 1672 0x04, 0x23, 0x11, 0x98, 0x83, 0xed, 0x1a, 0x84, 1673 0xe6, 0x93, 0x02, 0x83, 0x08, 0x0d, 0x2e, 0x72, 1674 0x24, 0x42, 0x39, 0x8e, 0x4f, 0x7b, 0x99, 0x8a, 1675 0x46, 0x18, 0x80, 0xdf, 0x6a, 0x82, 0x01, 0x64, 1676 0x09, 0x60, 0x74, 0x1e, 0xdf, 0x0e, 0x1b, 0x59, 1677 0xdd, 0x4a, 0x06, 0xf7, 0x29, 0x31, 0x33, 0x09, 1678 0x65, 0x6b, 0xfa, 0x9c, 0x34, 0xa2, 0xa8, 0xd5, 1679 0xfa, 0x38, 0x6b, 0x41, 0xe4, 0x39, 0x6e, 0x66, 1680}; 1681static const unsigned char rsa_sigverpss_1_sig[] = { 1682 0x2a, 0x7a, 0xc1, 0x6d, 0x2a, 0x7d, 0xc0, 0x0c, 1683 0x70, 0x8b, 0xab, 0xac, 0x8b, 0x93, 0xcd, 0x8c, 1684 0x9a, 0xdf, 0x93, 0x53, 0xda, 0x2d, 0x97, 0xf4, 1685 0xc5, 0x3d, 0xee, 0x5a, 0x5a, 0x51, 0x2a, 0xef, 1686 0xa2, 0xf0, 0x2e, 0x19, 0x83, 0x94, 0x43, 0x95, 1687 0x10, 0xde, 0x6a, 0xcc, 0xaf, 0xe0, 0xfb, 0xed, 1688 0xd0, 0xf9, 0x6a, 0x37, 0x66, 0x29, 0xee, 0xbb, 1689 0xce, 0xcc, 0x02, 0x27, 0xe4, 0xb9, 0x43, 0x3c, 1690 0xfd, 0x24, 0x93, 0x4e, 0x67, 0x1c, 0x8e, 0xfc, 1691 0xf0, 0xaa, 0x5f, 0x56, 0x68, 0x18, 0x5f, 0xd5, 1692 0x8e, 0xdc, 0x58, 0x7e, 0x2d, 0xc7, 0xd6, 0x16, 1693 0xfe, 0x3b, 0xb5, 0xcb, 0x9e, 0x50, 0xd1, 0x2f, 1694 0xce, 0x5e, 0x63, 0x81, 0xda, 0x46, 0xc1, 0x5b, 1695 0xaa, 0x6a, 0x3c, 0xcd, 0xa6, 0x4c, 0x1a, 0xff, 1696 0xda, 0xd0, 0x53, 0xeb, 0xbf, 0x83, 0x7f, 0x2b, 1697 0xb7, 0xee, 0x89, 0xbc, 0x70, 0x2c, 0xec, 0x29, 1698 0xce, 0xf9, 0xb6, 0x95, 0xde, 0xcc, 0x7b, 0x79, 1699 0xb5, 0x77, 0x6f, 0x0a, 0xf7, 0xe0, 0xc9, 0x90, 1700 0x58, 0xf1, 0x0b, 0xb1, 0xda, 0xdc, 0x11, 0xe9, 1701 0x6c, 0x46, 0x2e, 0x06, 0x84, 0x78, 0x57, 0xaa, 1702 0x54, 0xa2, 0x35, 0xec, 0xa0, 0x48, 0xec, 0xa6, 1703 0x15, 0x9d, 0x49, 0xbb, 0x43, 0x19, 0xa8, 0x6f, 1704 0x7d, 0xd3, 0x03, 0xbf, 0x9b, 0x42, 0x7e, 0x8d, 1705 0xee, 0x9a, 0x80, 0x3c, 0xe1, 0xe3, 0x1f, 0x61, 1706 0x6e, 0x21, 0x70, 0xf4, 0x37, 0x55, 0x83, 0x9a, 1707 0xe1, 0xe9, 0xb0, 0xe6, 0xf0, 0x94, 0x2d, 0xd6, 1708 0x8d, 0x1e, 0x3d, 0x12, 0xb9, 0xd4, 0xb0, 0x9b, 1709 0x40, 0x36, 0xb0, 0x39, 0x55, 0xdc, 0x04, 0x32, 1710 0x3c, 0xd1, 0xb9, 0x08, 0x43, 0x35, 0x57, 0x47, 1711 0x46, 0xea, 0x98, 0x26, 0x46, 0xef, 0xc3, 0x4d, 1712 0xc4, 0xa6, 0x3d, 0x1c, 0x35, 0x45, 0x78, 0x73, 1713 0xab, 0xe1, 0x33, 0x53, 0xad, 0xe9, 0xab, 0x32, 1714 0x18, 0xd8, 0x71, 0x69, 0xf5, 0x15, 0xb7, 0x30, 1715 0x00, 0xde, 0x0c, 0x01, 0x78, 0x82, 0xaf, 0xf0, 1716 0x10, 0x34, 0xab, 0xd9, 0x3a, 0xa7, 0x23, 0x13, 1717 0x31, 0x09, 0x90, 0x8a, 0xda, 0x2e, 0xc5, 0x38, 1718 0x59, 0x67, 0x24, 0xd9, 0x9e, 0x6f, 0xd8, 0x12, 1719 0x59, 0x16, 0x26, 0xd8, 0x31, 0x0e, 0x76, 0x82, 1720 0x7c, 0x8d, 0xd4, 0x80, 0xa8, 0x55, 0xeb, 0x97, 1721 0x76, 0xc9, 0x82, 0x4a, 0x73, 0x84, 0x0f, 0x9d, 1722 0x7f, 0x2e, 0x7b, 0x16, 0xa9, 0x89, 0xdc, 0x95, 1723 0x59, 0x11, 0xa2, 0xfd, 0xa3, 0x17, 0xc0, 0xe8, 1724 0xfd, 0xed, 0xd0, 0x2f, 0xca, 0x70, 0x6e, 0xa6, 1725 0x8b, 0x79, 0x39, 0xae, 0x77, 0xb2, 0x3d, 0x8f, 1726 0x8b, 0xf8, 0xaf, 0x05, 0x20, 0x80, 0xde, 0xb4, 1727 0x19, 0x77, 0x0b, 0x45, 0x87, 0xe0, 0xcb, 0x35, 1728 0x24, 0x46, 0x9d, 0xa5, 0xee, 0x30, 0xba, 0x9a, 1729 0xe9, 0x3c, 0x6a, 0x7e, 0xd4, 0xdc, 0x47, 0x26, 1730 0x83, 0xf5, 0x05, 0x8e, 0x70, 0xb5, 0x0c, 0x4f, 1731 0x83, 0xe2, 0x60, 0x99, 0x7b, 0xc5, 0xf4, 0x8a, 1732 0x8d, 0x87, 0xe1, 0x5c, 0x90, 0x5d, 0x21, 0x26, 1733 0xe1, 0x43, 0x0e, 0x4c, 0xed, 0xb4, 0xd9, 0x92, 1734 0xd6, 0x4c, 0x4e, 0xd4, 0x81, 0x12, 0x01, 0x88, 1735 0x3e, 0xf6, 0xab, 0x64, 0xed, 0x8f, 0x7d, 0x22, 1736 0xbb, 0x21, 0x4c, 0xc0, 0xe2, 0x72, 0x5a, 0x15, 1737 0x47, 0xdd, 0x1f, 0xf1, 0xb8, 0x32, 0x97, 0x08, 1738 0xc0, 0x8b, 0xe8, 0x65, 0x1a, 0x6b, 0x86, 0x22, 1739 0xee, 0x8d, 0xa5, 0xa2, 0x86, 0xf1, 0xcc, 0xb4, 1740 0x93, 0xc1, 0x8a, 0x99, 0x2d, 0x13, 0xad, 0xe5, 1741 0x28, 0x7e, 0xff, 0xfb, 0xfc, 0x43, 0x0e, 0xfa, 1742 0x9d, 0x08, 0x51, 0x40, 0x1f, 0x50, 0xa9, 0xb7, 1743 0xfa, 0xc3, 0x33, 0x24, 0x73, 0xb3, 0x30, 0x69, 1744 0xf8, 0x3d, 0xc3, 0x62, 0xac, 0x5e, 0x2b, 0x13, 1745 0xe9, 0x97, 0x20, 0x35, 0xf8, 0xf1, 0x78, 0xe1 1746}; 1747 1748static const unsigned char rsa_sigverx931_0_n[] = { 1749 0xa0, 0x16, 0x14, 0x80, 0x8b, 0x17, 0x2b, 0xad, 1750 0xd7, 0x07, 0x31, 0x6d, 0xfc, 0xba, 0x25, 0x83, 1751 0x09, 0xa0, 0xf7, 0x71, 0xc6, 0x06, 0x22, 0x87, 1752 0xd6, 0xbd, 0x13, 0xd9, 0xfe, 0x7c, 0xf7, 0xe6, 1753 0x48, 0xdb, 0x27, 0xd8, 0xa5, 0x49, 0x8e, 0x8c, 1754 0xea, 0xbe, 0xe0, 0x04, 0x6f, 0x3d, 0x3b, 0x73, 1755 0xdc, 0xc5, 0xd4, 0xdc, 0x85, 0xef, 0xea, 0x10, 1756 0x46, 0xf3, 0x88, 0xb9, 0x93, 0xbc, 0xa0, 0xb6, 1757 0x06, 0x02, 0x82, 0xb4, 0x2d, 0x54, 0xec, 0x79, 1758 0x50, 0x8a, 0xfc, 0xfa, 0x62, 0x45, 0xbb, 0xd7, 1759 0x26, 0xcd, 0x88, 0xfa, 0xe8, 0x0f, 0x26, 0x5b, 1760 0x1f, 0x21, 0x3f, 0x3b, 0x5d, 0x98, 0x3f, 0x02, 1761 0x8c, 0xa1, 0xbf, 0xc0, 0x70, 0x4d, 0xd1, 0x41, 1762 0xfd, 0xb9, 0x55, 0x12, 0x90, 0xc8, 0x6e, 0x0f, 1763 0x19, 0xa8, 0x5c, 0x31, 0xd6, 0x16, 0x0e, 0xdf, 1764 0x08, 0x84, 0xcd, 0x4b, 0xfd, 0x28, 0x8d, 0x7d, 1765 0x6e, 0xea, 0xc7, 0x95, 0x4a, 0xc3, 0x84, 0x54, 1766 0x7f, 0xb0, 0x20, 0x29, 0x96, 0x39, 0x4c, 0x3e, 1767 0x85, 0xec, 0x22, 0xdd, 0xb9, 0x14, 0xbb, 0x04, 1768 0x2f, 0x4c, 0x0c, 0xe3, 0xfa, 0xae, 0x47, 0x79, 1769 0x59, 0x8e, 0x4e, 0x7d, 0x4a, 0x17, 0xae, 0x16, 1770 0x38, 0x66, 0x4e, 0xff, 0x45, 0x7f, 0xac, 0x5e, 1771 0x75, 0x9f, 0x51, 0x18, 0xe6, 0xad, 0x6b, 0x8b, 1772 0x3d, 0x08, 0x4d, 0x9a, 0xd2, 0x11, 0xba, 0xa8, 1773 0xc3, 0xb5, 0x17, 0xb5, 0xdf, 0xe7, 0x39, 0x89, 1774 0x27, 0x7b, 0xeb, 0xf4, 0xe5, 0x7e, 0xa9, 0x7b, 1775 0x39, 0x40, 0x6f, 0xe4, 0x82, 0x14, 0x3d, 0x62, 1776 0xb6, 0xd4, 0x43, 0xd0, 0x0a, 0x2f, 0xc1, 0x73, 1777 0x3d, 0x99, 0x37, 0xbe, 0x62, 0x13, 0x6a, 0x8b, 1778 0xeb, 0xc5, 0x64, 0xd5, 0x2a, 0x8b, 0x4f, 0x7f, 1779 0x82, 0x48, 0x69, 0x3e, 0x08, 0x1b, 0xb5, 0x77, 1780 0xd3, 0xdc, 0x1b, 0x2c, 0xe5, 0x59, 0xf6, 0x33, 1781 0x47, 0xa0, 0x0f, 0xff, 0x8a, 0x6a, 0x1d, 0x66, 1782 0x24, 0x67, 0x36, 0x7d, 0x21, 0xda, 0xc1, 0xd4, 1783 0x11, 0x6c, 0xe8, 0x5f, 0xd7, 0x8a, 0x53, 0x5c, 1784 0xb2, 0xe2, 0xf9, 0x14, 0x29, 0x0f, 0xcf, 0x28, 1785 0x32, 0x4f, 0xc6, 0x17, 0xf6, 0xbc, 0x0e, 0xb8, 1786 0x99, 0x7c, 0x14, 0xa3, 0x40, 0x3f, 0xf3, 0xe4, 1787 0x31, 0xbe, 0x54, 0x64, 0x5a, 0xad, 0x1d, 0xb0, 1788 0x37, 0xcc, 0xd9, 0x0b, 0xa4, 0xbc, 0xe0, 0x07, 1789 0x37, 0xd1, 0xe1, 0x65, 0xc6, 0x53, 0xfe, 0x60, 1790 0x6a, 0x64, 0xa4, 0x01, 0x00, 0xf3, 0x5b, 0x9a, 1791 0x28, 0x61, 0xde, 0x7a, 0xd7, 0x0d, 0x56, 0x1e, 1792 0x4d, 0xa8, 0x6a, 0xb5, 0xf2, 0x86, 0x2a, 0x4e, 1793 0xaa, 0x37, 0x23, 0x5a, 0x3b, 0x69, 0x66, 0x81, 1794 0xc8, 0x8e, 0x1b, 0x31, 0x0f, 0x28, 0x31, 0x9a, 1795 0x2d, 0xe5, 0x79, 0xcc, 0xa4, 0xca, 0x60, 0x45, 1796 0xf7, 0x83, 0x73, 0x5a, 0x01, 0x29, 0xda, 0xf7, 1797 1798}; 1799static const unsigned char rsa_sigverx931_0_e[] = { 1800 0x01, 0x00, 0x01, 1801}; 1802static const unsigned char rsa_sigverx931_0_msg[] = { 1803 0x82, 0x2e, 0x41, 0x70, 0x9d, 0x1f, 0xe9, 0x47, 1804 0xec, 0xf1, 0x79, 0xcc, 0x05, 0xef, 0xdb, 0xcd, 1805 0xca, 0x8b, 0x8e, 0x61, 0x45, 0xad, 0xa6, 0xd9, 1806 0xd7, 0x4b, 0x15, 0xf4, 0x92, 0x3a, 0x2a, 0x52, 1807 0xe3, 0x44, 0x57, 0x2b, 0x74, 0x7a, 0x37, 0x41, 1808 0x50, 0xcb, 0xcf, 0x13, 0x49, 0xd6, 0x15, 0x54, 1809 0x97, 0xfd, 0xae, 0x9b, 0xc1, 0xbb, 0xfc, 0x5c, 1810 0xc1, 0x37, 0x58, 0x17, 0x63, 0x19, 0x9c, 0xcf, 1811 0xee, 0x9c, 0xe5, 0xbe, 0x06, 0xe4, 0x97, 0x47, 1812 0xd1, 0x93, 0xa1, 0x2c, 0x59, 0x97, 0x02, 0x01, 1813 0x31, 0x45, 0x8c, 0xe1, 0x5c, 0xac, 0xe7, 0x5f, 1814 0x6a, 0x23, 0xda, 0xbf, 0xe4, 0x25, 0xc6, 0x67, 1815 0xea, 0x5f, 0x73, 0x90, 0x1b, 0x06, 0x0f, 0x41, 1816 0xb5, 0x6e, 0x74, 0x7e, 0xfd, 0xd9, 0xaa, 0xbd, 1817 0xe2, 0x8d, 0xad, 0x99, 0xdd, 0x29, 0x70, 0xca, 1818 0x1b, 0x38, 0x21, 0x55, 0xde, 0x07, 0xaf, 0x00, 1819 1820}; 1821static const unsigned char rsa_sigverx931_0_sig[] = { 1822 0x29, 0xa9, 0x3a, 0x8e, 0x9e, 0x90, 0x1b, 0xdb, 1823 0xaf, 0x0b, 0x47, 0x5b, 0xb5, 0xc3, 0x8c, 0xc3, 1824 0x70, 0xbe, 0x73, 0xf9, 0x65, 0x8e, 0xc6, 0x1e, 1825 0x95, 0x0b, 0xdb, 0x24, 0x76, 0x79, 0xf1, 0x00, 1826 0x71, 0xcd, 0xc5, 0x6a, 0x7b, 0xd2, 0x8b, 0x18, 1827 0xc4, 0xdd, 0xf1, 0x2a, 0x31, 0x04, 0x3f, 0xfc, 1828 0x36, 0x06, 0x20, 0x71, 0x3d, 0x62, 0xf2, 0xb5, 1829 0x79, 0x0a, 0xd5, 0xd2, 0x81, 0xf1, 0xb1, 0x4f, 1830 0x9a, 0x17, 0xe8, 0x67, 0x64, 0x48, 0x09, 0x75, 1831 0xff, 0x2d, 0xee, 0x36, 0xca, 0xca, 0x1d, 0x74, 1832 0x99, 0xbe, 0x5c, 0x94, 0x31, 0xcc, 0x12, 0xf4, 1833 0x59, 0x7e, 0x17, 0x00, 0x4f, 0x7b, 0xa4, 0xb1, 1834 0xda, 0xdb, 0x3e, 0xa4, 0x34, 0x10, 0x4a, 0x19, 1835 0x0a, 0xd2, 0xa7, 0xa0, 0xc5, 0xe6, 0xef, 0x82, 1836 0xd4, 0x2e, 0x21, 0xbe, 0x15, 0x73, 0xac, 0xef, 1837 0x05, 0xdb, 0x6a, 0x8a, 0x1a, 0xcb, 0x8e, 0xa5, 1838 0xee, 0xfb, 0x28, 0xbf, 0x96, 0xa4, 0x2b, 0xd2, 1839 0x85, 0x2b, 0x20, 0xc3, 0xaf, 0x9a, 0x32, 0x04, 1840 0xa0, 0x49, 0x24, 0x47, 0xd0, 0x09, 0xf7, 0xcf, 1841 0x73, 0xb6, 0xf6, 0x70, 0xda, 0x3b, 0xf8, 0x5a, 1842 0x28, 0x2e, 0x14, 0x6c, 0x52, 0xbd, 0x2a, 0x7c, 1843 0x8e, 0xc1, 0xa8, 0x0e, 0xb1, 0x1e, 0x6b, 0x8d, 1844 0x76, 0xea, 0x70, 0x81, 0xa0, 0x02, 0x63, 0x74, 1845 0xbc, 0x7e, 0xb9, 0xac, 0x0e, 0x7b, 0x1b, 0x75, 1846 0x82, 0xe2, 0x98, 0x4e, 0x24, 0x55, 0xd4, 0xbd, 1847 0x14, 0xde, 0x58, 0x56, 0x3a, 0x5d, 0x4e, 0x57, 1848 0x0d, 0x54, 0x74, 0xe8, 0x86, 0x8c, 0xcb, 0x07, 1849 0x9f, 0x0b, 0xfb, 0xc2, 0x08, 0x5c, 0xd7, 0x05, 1850 0x3b, 0xc8, 0xd2, 0x15, 0x68, 0x8f, 0x3d, 0x3c, 1851 0x4e, 0x85, 0xa9, 0x25, 0x6f, 0xf5, 0x2e, 0xca, 1852 0xca, 0xa8, 0x27, 0x89, 0x61, 0x4e, 0x1f, 0x57, 1853 0x2d, 0x99, 0x10, 0x3f, 0xbc, 0x9e, 0x96, 0x5e, 1854 0x2f, 0x0a, 0x25, 0xa7, 0x5c, 0xea, 0x65, 0x2a, 1855 0x22, 0x35, 0xa3, 0xf9, 0x13, 0x89, 0x05, 0x2e, 1856 0x19, 0x73, 0x1d, 0x70, 0x74, 0x98, 0x15, 0x4b, 1857 0xab, 0x56, 0x52, 0xe0, 0x01, 0x42, 0x95, 0x6a, 1858 0x46, 0x2c, 0x78, 0xff, 0x26, 0xbc, 0x48, 0x10, 1859 0x38, 0x25, 0xab, 0x32, 0x7c, 0x79, 0x7c, 0x5d, 1860 0x6f, 0x45, 0x54, 0x74, 0x2d, 0x93, 0x56, 0x52, 1861 0x11, 0x34, 0x1e, 0xe3, 0x4b, 0x6a, 0x17, 0x4f, 1862 0x37, 0x14, 0x75, 0xac, 0xa3, 0xa1, 0xca, 0xda, 1863 0x38, 0x06, 0xa9, 0x78, 0xb9, 0x5d, 0xd0, 0x59, 1864 0x1b, 0x5d, 0x1e, 0xc2, 0x0b, 0xfb, 0x39, 0x37, 1865 0x44, 0x85, 0xb6, 0x36, 0x06, 0x95, 0xbc, 0x15, 1866 0x35, 0xb9, 0xe6, 0x27, 0x42, 0xe3, 0xc8, 0xec, 1867 0x30, 0x37, 0x20, 0x26, 0x9a, 0x11, 0x61, 0xc0, 1868 0xdb, 0xb2, 0x5a, 0x26, 0x78, 0x27, 0xb9, 0x13, 1869 0xc9, 0x1a, 0xa7, 0x67, 0x93, 0xe8, 0xbe, 0xcb, 1870}; 1871 1872#define rsa_sigverx931_1_n rsa_sigverx931_0_n 1873#define rsa_sigverx931_1_e rsa_sigverx931_0_e 1874static const unsigned char rsa_sigverx931_1_msg[] = { 1875 0x79, 0x02, 0xb9, 0xd2, 0x3e, 0x84, 0x02, 0xc8, 1876 0x2a, 0x94, 0x92, 0x14, 0x8d, 0xd5, 0xd3, 0x8d, 1877 0xb2, 0xf6, 0x00, 0x8b, 0x61, 0x2c, 0xd2, 0xf9, 1878 0xa8, 0xe0, 0x5d, 0xac, 0xdc, 0xa5, 0x34, 0xf3, 1879 0xda, 0x6c, 0xd4, 0x70, 0x92, 0xfb, 0x40, 0x26, 1880 0xc7, 0x9b, 0xe8, 0xd2, 0x10, 0x11, 0xcf, 0x7f, 1881 0x23, 0xd0, 0xed, 0x55, 0x52, 0x6d, 0xd3, 0xb2, 1882 0x56, 0x53, 0x8d, 0x7c, 0x4c, 0xb8, 0xcc, 0xb5, 1883 0xfd, 0xd0, 0x45, 0x4f, 0x62, 0x40, 0x54, 0x42, 1884 0x68, 0xd5, 0xe5, 0xdd, 0xf0, 0x76, 0x94, 0x59, 1885 0x1a, 0x57, 0x13, 0xb4, 0xc3, 0x70, 0xcc, 0xbd, 1886 0x4c, 0x2e, 0xc8, 0x6b, 0x9d, 0x68, 0xd0, 0x72, 1887 0x6a, 0x94, 0xd2, 0x18, 0xb5, 0x3b, 0x86, 0x45, 1888 0x95, 0xaa, 0x50, 0xda, 0x35, 0xeb, 0x69, 0x44, 1889 0x1f, 0xf3, 0x3a, 0x51, 0xbb, 0x1d, 0x08, 0x42, 1890 0x12, 0xd7, 0xd6, 0x21, 0xd8, 0x9b, 0x87, 0x55, 1891}; 1892 1893static const unsigned char rsa_sigverx931_1_sig[] = { 1894 0x3b, 0xba, 0xb3, 0xb1, 0xb2, 0x6a, 0x29, 0xb5, 1895 0xf9, 0x94, 0xf1, 0x00, 0x5c, 0x16, 0x67, 0x67, 1896 0x73, 0xd3, 0xde, 0x7e, 0x07, 0xfa, 0xaa, 0x95, 1897 0xeb, 0x5a, 0x55, 0xdc, 0xb2, 0xa9, 0x70, 0x5a, 1898 0xee, 0x8f, 0x8d, 0x69, 0x85, 0x2b, 0x00, 0xe3, 1899 0xdc, 0xe2, 0x73, 0x9b, 0x68, 0xeb, 0x93, 0x69, 1900 0x08, 0x03, 0x17, 0xd6, 0x50, 0x21, 0x14, 0x23, 1901 0x8c, 0xe6, 0x54, 0x3a, 0xd9, 0xfc, 0x8b, 0x14, 1902 0x81, 0xb1, 0x8b, 0x9d, 0xd2, 0xbe, 0x58, 0x75, 1903 0x94, 0x74, 0x93, 0xc9, 0xbb, 0x4e, 0xf6, 0x1f, 1904 0x73, 0x7d, 0x1a, 0x5f, 0xbd, 0xbf, 0x59, 0x37, 1905 0x5b, 0x98, 0x54, 0xad, 0x3a, 0xef, 0xa0, 0xef, 1906 0xcb, 0xc3, 0xe8, 0x84, 0xd8, 0x3d, 0xf5, 0x60, 1907 0xb8, 0xc3, 0x8d, 0x1e, 0x78, 0xa0, 0x91, 0x94, 1908 0xb7, 0xd7, 0xb1, 0xd4, 0xe2, 0xee, 0x81, 0x93, 1909 0xfc, 0x41, 0xf0, 0x31, 0xbb, 0x03, 0x52, 0xde, 1910 0x80, 0x20, 0x3a, 0x68, 0xe6, 0xc5, 0x50, 0x1b, 1911 0x08, 0x3f, 0x40, 0xde, 0xb3, 0xe5, 0x81, 0x99, 1912 0x7f, 0xdb, 0xb6, 0x5d, 0x61, 0x27, 0xd4, 0xfb, 1913 0xcd, 0xc5, 0x7a, 0xea, 0xde, 0x7a, 0x66, 0xef, 1914 0x55, 0x3f, 0x85, 0xea, 0x84, 0xc5, 0x0a, 0xf6, 1915 0x3c, 0x40, 0x38, 0xf7, 0x6c, 0x66, 0xe5, 0xbe, 1916 0x61, 0x41, 0xd3, 0xb1, 0x08, 0xe1, 0xb4, 0xf9, 1917 0x6e, 0xf6, 0x0e, 0x4a, 0x72, 0x6c, 0x61, 0x63, 1918 0x3e, 0x41, 0x33, 0x94, 0xd6, 0x27, 0xa4, 0xd9, 1919 0x3a, 0x20, 0x2b, 0x39, 0xea, 0xe5, 0x82, 0x48, 1920 0xd6, 0x5b, 0x58, 0x85, 0x44, 0xb0, 0xd2, 0xfd, 1921 0xfb, 0x3e, 0xeb, 0x78, 0xac, 0xbc, 0xba, 0x16, 1922 0x92, 0x0e, 0x20, 0xc1, 0xb2, 0xd1, 0x92, 0xa8, 1923 0x00, 0x88, 0xc0, 0x41, 0x46, 0x38, 0xb6, 0x54, 1924 0x70, 0x0c, 0x00, 0x62, 0x97, 0x6a, 0x8e, 0x66, 1925 0x5a, 0xa1, 0x6c, 0xf7, 0x6d, 0xc2, 0x27, 0x56, 1926 0x60, 0x5b, 0x0c, 0x52, 0xac, 0x5c, 0xae, 0x99, 1927 0x55, 0x11, 0x62, 0x52, 0x09, 0x48, 0x53, 0x90, 1928 0x3c, 0x0b, 0xd4, 0xdc, 0x7b, 0xe3, 0x4c, 0xe3, 1929 0xa8, 0x6d, 0xc5, 0xdf, 0xc1, 0x5c, 0x59, 0x25, 1930 0x99, 0x30, 0xde, 0x57, 0x6a, 0x84, 0x25, 0x34, 1931 0x3e, 0x64, 0x11, 0xdb, 0x7a, 0x82, 0x8e, 0x70, 1932 0xd2, 0x5c, 0x0e, 0x81, 0xa0, 0x24, 0x53, 0x75, 1933 0x98, 0xd6, 0x10, 0x01, 0x6a, 0x14, 0xed, 0xc3, 1934 0x6f, 0xc4, 0x18, 0xb8, 0xd2, 0x9f, 0x59, 0x53, 1935 0x81, 0x3a, 0x86, 0x31, 0xfc, 0x9e, 0xbf, 0x6c, 1936 0x52, 0x93, 0x86, 0x9c, 0xaa, 0x6c, 0x6f, 0x07, 1937 0x8a, 0x40, 0x33, 0x64, 0xb2, 0x70, 0x48, 0x85, 1938 0x05, 0x59, 0x65, 0x2d, 0x6b, 0x9a, 0xad, 0xab, 1939 0x20, 0x7e, 0x02, 0x6d, 0xde, 0xcf, 0x22, 0x0b, 1940 0xea, 0x6e, 0xbd, 0x1c, 0x39, 0x3a, 0xfd, 0xa4, 1941 0xde, 0x54, 0xae, 0xde, 0x5e, 0xf7, 0xb0, 0x6d, 1942}; 1943 1944static const struct rsa_sigver_st rsa_sigver_data[] = { 1945 { 1946 "pkcs1", /* pkcs1v1.5 */ 1947 2048, 1948 "SHA224", 1949 ITM(rsa_sigver15_0_msg), 1950 ITM(rsa_sigver15_0_n), 1951 ITM(rsa_sigver15_0_e), 1952 ITM(rsa_sigver15_0_sig), 1953 NO_PSS_SALT_LEN, 1954 PASS 1955 }, 1956 { 1957 "pkcs1", /* pkcs1v1.5 */ 1958 2048, 1959 "SHA224", 1960 ITM(rsa_sigver15_1_msg), 1961 ITM(rsa_sigver15_1_n), 1962 ITM(rsa_sigver15_1_e), 1963 ITM(rsa_sigver15_1_sig), 1964 NO_PSS_SALT_LEN, 1965 FAIL 1966 }, 1967 { 1968 "x931", 1969 3072, 1970 "SHA1", 1971 ITM(rsa_sigverx931_0_msg), 1972 ITM(rsa_sigverx931_0_n), 1973 ITM(rsa_sigverx931_0_e), 1974 ITM(rsa_sigverx931_0_sig), 1975 NO_PSS_SALT_LEN, 1976 PASS 1977 }, 1978 { 1979 "x931", 1980 3072, 1981 "SHA256", 1982 ITM(rsa_sigverx931_1_msg), 1983 ITM(rsa_sigverx931_1_n), 1984 ITM(rsa_sigverx931_1_e), 1985 ITM(rsa_sigverx931_1_sig), 1986 NO_PSS_SALT_LEN, 1987 FAIL 1988 }, 1989 { 1990 "pss", 1991 4096, 1992 "SHA384", 1993 ITM(rsa_sigverpss_0_msg), 1994 ITM(rsa_sigverpss_0_n), 1995 ITM(rsa_sigverpss_0_e), 1996 ITM(rsa_sigverpss_0_sig), 1997 48, 1998 PASS 1999 }, 2000 { 2001 "pss", 2002 4096, 2003 "SHA384", 2004 ITM(rsa_sigverpss_1_msg), 2005 ITM(rsa_sigverpss_1_n), 2006 ITM(rsa_sigverpss_1_e), 2007 ITM(rsa_sigverpss_1_sig), 2008 48, 2009 FAIL 2010 }, 2011}; 2012 2013struct rsa_decrypt_prim_st { 2014 const unsigned char *ct; 2015 size_t ct_len; 2016}; 2017 2018static const unsigned char rsa_decrypt_prim_0_ct[] = { 2019 0x09, 0x7e, 0x82, 0xfe, 0xc7, 0x24, 0x65, 0xe0, 2020 0x49, 0x2e, 0x78, 0xed, 0xf4, 0x7d, 0x05, 0x0d, 2021 0xff, 0x2f, 0x1a, 0x95, 0xeb, 0x74, 0x60, 0x3d, 2022 0xd3, 0x3a, 0xec, 0x8a, 0x2c, 0x8b, 0x00, 0xa5, 2023 0x75, 0x2c, 0x87, 0x7b, 0xa5, 0x76, 0x08, 0xee, 2024 0x99, 0xab, 0x5b, 0x21, 0x69, 0x90, 0x72, 0x0d, 2025 0x55, 0xe4, 0x7d, 0x1d, 0xcb, 0xaa, 0xeb, 0x32, 2026 0x24, 0xf7, 0xce, 0x95, 0xb5, 0x3e, 0x0e, 0x57, 2027 0xd4, 0x2a, 0x5b, 0xfc, 0x1f, 0xf7, 0x28, 0x3f, 2028 0xd6, 0x31, 0x36, 0x92, 0xc5, 0x13, 0xe3, 0x4e, 2029 0x28, 0x53, 0xbe, 0x60, 0x5f, 0x82, 0x12, 0x7a, 2030 0x50, 0xe6, 0x91, 0x40, 0xcf, 0x52, 0x3a, 0xd2, 2031 0x15, 0x20, 0xd5, 0x82, 0x6d, 0x5e, 0xab, 0x47, 2032 0xd1, 0x2d, 0x00, 0xf5, 0xea, 0xf4, 0x68, 0x88, 2033 0x38, 0x43, 0xd6, 0xcb, 0xaa, 0xd0, 0xd1, 0x75, 2034 0xe6, 0x87, 0x5f, 0xd1, 0x89, 0xd3, 0x57, 0x1b, 2035 0xf2, 0x45, 0x8a, 0x92, 0xe6, 0x95, 0xb8, 0x99, 2036 0x80, 0xe9, 0xe6, 0x5f, 0x2b, 0x48, 0x2b, 0xb3, 2037 0x2b, 0x80, 0x56, 0xf8, 0xd4, 0x96, 0x44, 0xb5, 2038 0xae, 0x6d, 0x4a, 0x3d, 0x7b, 0x0a, 0x54, 0x3c, 2039 0xa8, 0x21, 0x8b, 0x64, 0x96, 0xea, 0xc2, 0xef, 2040 0x60, 0xbb, 0xd3, 0x4e, 0xaf, 0x6c, 0x5b, 0x06, 2041 0x57, 0xe8, 0x5e, 0x2c, 0x87, 0x46, 0x12, 0xeb, 2042 0xfb, 0xe2, 0xdb, 0x7b, 0xac, 0x09, 0x8b, 0xa0, 2043 0x98, 0x6e, 0xc6, 0x3f, 0x98, 0xdd, 0x7d, 0xc6, 2044 0xc6, 0x32, 0xc2, 0xcc, 0x73, 0xe2, 0x15, 0xde, 2045 0xb2, 0x0f, 0x41, 0x08, 0x1e, 0x2e, 0xba, 0x93, 2046 0x65, 0x94, 0xab, 0x84, 0x0e, 0x1e, 0xda, 0x1b, 2047 0xf0, 0xe0, 0x13, 0x13, 0xe2, 0xa5, 0x31, 0xb8, 2048 0x80, 0xc1, 0x38, 0xc5, 0x08, 0x09, 0x0a, 0xe2, 2049 0x78, 0x7d, 0xd6, 0xcf, 0x8d, 0x6b, 0xe8, 0x1b, 2050 0x47, 0x83, 0x80, 0x71, 0xe2, 0xd3, 0x01, 0xbc, 2051}; 2052 2053static const unsigned char rsa_decrypt_prim_1_ct[] = { 2054 0xff, 0xd5, 0xaa, 0x3f, 0x0c, 0x7c, 0x78, 0x7e, 2055 0xe3, 0x8a, 0x4f, 0xcc, 0x20, 0x3f, 0x51, 0xe5, 2056 0xf4, 0x9c, 0xc5, 0x62, 0xcc, 0xa3, 0xcb, 0xce, 2057 0x39, 0x80, 0x35, 0xef, 0xd5, 0x95, 0x56, 0xcb, 2058 0xb2, 0x62, 0x8c, 0xe6, 0x8b, 0x20, 0xe4, 0x36, 2059 0xae, 0xe8, 0x07, 0x07, 0xc2, 0x23, 0x6a, 0xfc, 2060 0x83, 0xf0, 0x04, 0x88, 0x19, 0xf8, 0x9f, 0x5c, 2061 0x59, 0x4d, 0xb3, 0x81, 0x86, 0x9d, 0x3b, 0x61, 2062 0x73, 0x31, 0x03, 0xec, 0x9c, 0xdd, 0x75, 0xb7, 2063 0x37, 0x0a, 0x8d, 0x94, 0xd9, 0x9f, 0x6d, 0x85, 2064 0xb0, 0x5c, 0x08, 0xcc, 0xb4, 0x27, 0x8c, 0xf0, 2065 0xe6, 0xd6, 0xe0, 0xc1, 0x57, 0x59, 0xaa, 0xc7, 2066 0x8f, 0x5c, 0xa7, 0x4b, 0x3c, 0x81, 0x4a, 0xa3, 2067 0x9b, 0x18, 0x88, 0x04, 0x98, 0x54, 0x3d, 0x87, 2068 0x2a, 0x89, 0xb6, 0x41, 0xe8, 0xbd, 0x37, 0x17, 2069 0x03, 0xa8, 0xf1, 0x37, 0xa5, 0x5e, 0x02, 0x13, 2070 0x67, 0x08, 0xec, 0x9e, 0x97, 0xf5, 0xcc, 0x5f, 2071 0x75, 0x37, 0xbe, 0xce, 0xe8, 0x5e, 0xa1, 0xca, 2072 0x46, 0xa3, 0xda, 0xe4, 0x1f, 0xf8, 0xc4, 0xa3, 2073 0x26, 0xbb, 0xed, 0xa2, 0x71, 0xb2, 0x44, 0x00, 2074 0xd3, 0xe5, 0x06, 0xf1, 0xb4, 0xc1, 0xe0, 0x29, 2075 0xca, 0xeb, 0xe0, 0xdf, 0xd1, 0x69, 0x5f, 0xa9, 2076 0x03, 0x7c, 0x49, 0x93, 0xfb, 0xc2, 0xdf, 0x39, 2077 0xbc, 0x2a, 0x6b, 0x59, 0x7d, 0xf4, 0x84, 0x93, 2078 0xa2, 0x8b, 0x7a, 0x5a, 0x7a, 0xa9, 0xff, 0x41, 2079 0x4c, 0x52, 0x5c, 0xf9, 0x59, 0xd2, 0x91, 0xc3, 2080 0xa9, 0xe8, 0x23, 0x36, 0x5f, 0x2f, 0xb9, 0xbe, 2081 0x22, 0xc4, 0xfd, 0x84, 0x5f, 0x81, 0x3d, 0x94, 2082 0xf8, 0xa4, 0x9b, 0xae, 0xc0, 0xb5, 0x78, 0x4f, 2083 0x91, 0x76, 0x02, 0x5d, 0x60, 0x71, 0x8b, 0xeb, 2084 0x08, 0x42, 0xe3, 0xb3, 0x63, 0x05, 0x60, 0x59, 2085 0x98, 0xc1, 0x6d, 0x66, 0xb3, 0xc5, 0x8a, 0xbc, 2086}; 2087 2088static const struct rsa_decrypt_prim_st rsa_decrypt_prim_data[] = { 2089 { 2090 ITM(rsa_decrypt_prim_0_ct), 2091 }, 2092 { 2093 ITM(rsa_decrypt_prim_1_ct), 2094 }, 2095}; 2096 2097struct drbg_st { 2098 const char *drbg_name; 2099 const char *cipher; 2100 int use_df; 2101 2102 const unsigned char *entropy_input; 2103 size_t entropy_input_len; 2104 const unsigned char *nonce; 2105 size_t nonce_len; 2106 const unsigned char *returned_bits; 2107 size_t returned_bits_len; 2108}; 2109 2110static const unsigned char drbg_entropy_input[] = { 2111 0x36, 0x40, 0x19, 0x40, 0xfa, 0x8b, 0x1f, 0xba, 2112 0x91, 0xa1, 0x66, 0x1f, 0x21, 0x1d, 0x78, 0xa0, 2113 0xb9, 0x38, 0x9a, 0x74, 0xe5, 0xbc, 0xcf, 0xec, 2114 0xe8, 0xd7, 0x66, 0xaf, 0x1a, 0x6d, 0x3b, 0x14 2115}; 2116 2117static const unsigned char drbg_nonce[] = { 2118 0x49, 0x6f, 0x25, 0xb0, 0xf1, 0x30, 0x1b, 0x4f, 2119 0x50, 0x1b, 0xe3, 0x03, 0x80, 0xa1, 0x37, 0xeb 2120}; 2121 2122static const unsigned char drbg_returned_bits[] = { 2123 0x58, 0x62, 0xeb, 0x38, 0xbd, 0x55, 0x8d, 0xd9, 2124 0x78, 0xa6, 0x96, 0xe6, 0xdf, 0x16, 0x47, 0x82, 2125 0xdd, 0xd8, 0x87, 0xe7, 0xe9, 0xa6, 0xc9, 0xf3, 2126 0xf1, 0xfb, 0xaf, 0xb7, 0x89, 0x41, 0xb5, 0x35, 2127 0xa6, 0x49, 0x12, 0xdf, 0xd2, 0x24, 0xc6, 0xdc, 2128 0x74, 0x54, 0xe5, 0x25, 0x0b, 0x3d, 0x97, 0x16, 2129 0x5e, 0x16, 0x26, 0x0c, 0x2f, 0xaf, 0x1c, 0xc7, 2130 0x73, 0x5c, 0xb7, 0x5f, 0xb4, 0xf0, 0x7e, 0x1d 2131}; 2132 2133static const unsigned char drbg_key_0[] = { 2134 0x33, 0x63, 0xd9, 0x00, 0x0e, 0x6d, 0xb4, 0x7c, 2135 0x16, 0xd3, 0xfc, 0x65, 0xf2, 0x87, 0x2c, 0x08, 2136 0xa3, 0x5f, 0x99, 0xb2, 0xd1, 0x74, 0xaf, 0xa5, 2137 0x37, 0xa6, 0x6e, 0xc1, 0x53, 0x05, 0x2d, 0x98 2138}; 2139 2140static const struct drbg_st drbg_data[] = { 2141 { 2142 "CTR-DRBG", 2143 "AES-256-CTR", 2144 1, 2145 ITM(drbg_entropy_input), 2146 ITM(drbg_nonce), 2147 ITM(drbg_returned_bits) 2148 } 2149}; 2150