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