xref: /OK3568_Linux_fs/external/security/rk_tee_user/v2/host/xtest/nist/186-2ecdsatestvectors.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /*
2  * Automatically generated from NIST-186-2ecdsatestvectors-SigGen.txt
3  */
4 /* [P-192] */
5 static const uint8_t nist_186_2_ecdsa_testvector_1_ptx[] = {
6 /* Msg */
7 	0x66, 0xe9, 0x8a, 0x16, 0x58, 0x54, 0xcd, 0x07, 0x98, 0x9b, 0x1e, 0xe0,
8 	0xec, 0x3f, 0x8d, 0xbe, 0x0e, 0xe3, 0xc2, 0xfb, 0x00, 0x51, 0xef, 0x53,
9 	0xa0, 0xbe, 0x03, 0x45, 0x7c, 0x4f, 0x21, 0xbc, 0xe7, 0xdc, 0x50, 0xef,
10 	0x4d, 0xf3, 0x74, 0x86, 0xc3, 0x20, 0x7d, 0xfe, 0xe2, 0x6b, 0xde, 0x4e,
11 	0xd6, 0x23, 0x40, 0xcb, 0xb2, 0xda, 0x78, 0x49, 0x06, 0xb1, 0xb7, 0x83,
12 	0xb4, 0xd6, 0x01, 0xbd, 0xff, 0x4a, 0xe1, 0xa7, 0xe5, 0xe8, 0x5a, 0x85,
13 	0xaf, 0xa3, 0x20, 0x8d, 0xc6, 0x0f, 0x09, 0x90, 0xc8, 0x23, 0xbe, 0xdd,
14 	0xdb, 0x3d, 0xb6, 0x63, 0x42, 0x66, 0x65, 0x15, 0x2e, 0xd7, 0xb0, 0x93,
15 	0xd6, 0xbd, 0xa5, 0x06, 0xc9, 0x3a, 0x69, 0x4b, 0x83, 0xac, 0x71, 0x55,
16 	0x3f, 0x31, 0xf5, 0xcc, 0x0d, 0x6b, 0xa2, 0xfa, 0x24, 0x80, 0x90, 0xe8,
17 	0x79, 0x65, 0x73, 0xc4, 0x91, 0x5d, 0x15, 0x86
18 };
19 static const uint8_t nist_186_2_ecdsa_testvector_1_private[] = {
20 /* d */
21 	0x00, 0x17, 0x89, 0x99, 0x49, 0xd0, 0x2b, 0x55, 0xf9, 0x55, 0x68, 0x46,
22 	0x41, 0x1c, 0xc9, 0xde, 0x51, 0x2c, 0x6f, 0x16, 0xec, 0xde, 0xb1, 0xc4
23 };
24 static const uint8_t nist_186_2_ecdsa_testvector_1_public_x[] = {
25 /* Qx */
26 	0x14, 0xf6, 0x97, 0x38, 0x59, 0x96, 0x89, 0xf5, 0x70, 0x6a, 0xb7, 0x13,
27 	0x43, 0xbe, 0xcc, 0x88, 0x6e, 0xf1, 0x56, 0x9a, 0x2d, 0x11, 0x37, 0xfe
28 };
29 static const uint8_t nist_186_2_ecdsa_testvector_1_public_y[] = {
30 /* Qy */
31 	0x0c, 0xf5, 0xa4, 0x33, 0x90, 0x9e, 0x33, 0x21, 0x7f, 0xb4, 0xdf, 0x6b,
32 	0x95, 0x93, 0xf7, 0x1d, 0x43, 0xfb, 0x1c, 0x2a, 0x56, 0x53, 0xb7, 0x63
33 };
34 /* k = 0098e9c07e8e6adb97b77d85b0c10a265e11737a89a3e37b */
35 static const uint8_t nist_186_2_ecdsa_testvector_1_out[] = {
36 /* R */
37 	0xaf, 0x1f, 0x74, 0x9e, 0x3d, 0xf6, 0x22, 0x0f, 0xf0, 0x4e, 0xfd, 0x17,
38 	0x86, 0x18, 0xa9, 0x77, 0xe0, 0x83, 0x8b, 0x1b, 0x9d, 0xc1, 0x26, 0xe3,
39 /* S */
40 	0x89, 0x90, 0xa0, 0x4c, 0x6c, 0xc0, 0xff, 0x26, 0x26, 0x4e, 0xcf, 0x8f,
41 	0x78, 0x31, 0x38, 0x1a, 0x9d, 0xbc, 0x6e, 0x53, 0xcc, 0x8c, 0xc8, 0x60
42 };
43 static const uint8_t nist_186_2_ecdsa_testvector_2_ptx[] = {
44 /* Msg */
45 	0xd3, 0x9a, 0xd5, 0x61, 0x35, 0xbe, 0xc4, 0xc3, 0xc4, 0x36, 0x2d, 0x59,
46 	0xd3, 0xd9, 0x17, 0x5a, 0xcb, 0x38, 0x66, 0x70, 0xc5, 0xdb, 0x0a, 0x17,
47 	0x57, 0xce, 0x76, 0x46, 0xad, 0x5d, 0x53, 0x52, 0xdc, 0x1b, 0x76, 0x0f,
48 	0x74, 0x29, 0x10, 0x38, 0x54, 0xb4, 0x25, 0x11, 0xc3, 0xc0, 0x40, 0x4a,
49 	0xbc, 0x24, 0x64, 0x27, 0x88, 0xd6, 0x45, 0xde, 0x93, 0x69, 0xb8, 0x41,
50 	0x78, 0xd4, 0x69, 0x9c, 0x5e, 0x75, 0xcc, 0xe1, 0x87, 0x56, 0x56, 0x02,
51 	0x26, 0xae, 0xec, 0x9f, 0x71, 0xab, 0x9c, 0xe1, 0xf8, 0x6e, 0x8b, 0xa6,
52 	0x35, 0x58, 0x2e, 0xde, 0x64, 0x84, 0xbd, 0x34, 0x95, 0x94, 0xe5, 0xf2,
53 	0xff, 0xb1, 0xbe, 0x1e, 0x97, 0xcd, 0xfc, 0xe9, 0xe1, 0x2b, 0x69, 0x4b,
54 	0x06, 0x22, 0x93, 0xe7, 0x28, 0x1e, 0xc1, 0x34, 0xf2, 0xe7, 0x2c, 0xde,
55 	0x73, 0x26, 0x6c, 0x6a, 0x2c, 0x25, 0x31, 0x1a
56 };
57 static const uint8_t nist_186_2_ecdsa_testvector_2_private[] = {
58 /* d */
59 	0x00, 0x64, 0xc3, 0xa5, 0x1f, 0xb6, 0x18, 0x81, 0x70, 0xf3, 0xcd, 0xf1,
60 	0x2b, 0x47, 0x4a, 0x77, 0xde, 0x4a, 0xe0, 0x05, 0x2b, 0x84, 0xec, 0xe8
61 };
62 static const uint8_t nist_186_2_ecdsa_testvector_2_public_x[] = {
63 /* Qx */
64 	0x38, 0x6a, 0xfa, 0x71, 0xaf, 0xc0, 0x65, 0x01, 0x9f, 0x3d, 0x20, 0x21,
65 	0xea, 0xd5, 0x31, 0xed, 0x1d, 0x36, 0x58, 0x87, 0x12, 0x2d, 0x2d, 0x4b
66 };
67 static const uint8_t nist_186_2_ecdsa_testvector_2_public_y[] = {
68 /* Qy */
69 	0xbb, 0xfb, 0x6e, 0x9c, 0xdb, 0x32, 0xc2, 0x25, 0x20, 0x15, 0xac, 0xfb,
70 	0x4c, 0xfb, 0x04, 0x9b, 0x08, 0xb4, 0xcb, 0x27, 0x9c, 0x64, 0x92, 0x8a
71 };
72 /* k = 00797552b9abf541c886f93556103b817a46c9aa0e2bc86f */
73 static const uint8_t nist_186_2_ecdsa_testvector_2_out[] = {
74 /* R */
75 	0x33, 0x7b, 0xe4, 0x2e, 0xeb, 0xdc, 0xed, 0xd9, 0x76, 0x78, 0xee, 0xaa,
76 	0xe9, 0xd1, 0xb2, 0x31, 0xb7, 0x40, 0xa1, 0x91, 0xa2, 0x93, 0xc2, 0x2a,
77 /* S */
78 	0x9d, 0x67, 0x66, 0xb3, 0x91, 0xe9, 0x5f, 0x64, 0x9e, 0x05, 0x44, 0x24,
79 	0x53, 0xa8, 0x54, 0x66, 0xda, 0x29, 0xea, 0xa9, 0x7d, 0xdc, 0xfc, 0x62
80 };
81 static const uint8_t nist_186_2_ecdsa_testvector_3_ptx[] = {
82 /* Msg */
83 	0x47, 0x71, 0x01, 0xda, 0xa2, 0x82, 0xa5, 0xa5, 0x5b, 0x48, 0xc5, 0x31,
84 	0x32, 0x90, 0xc8, 0xda, 0x65, 0xb0, 0x7c, 0xc4, 0xd4, 0x1a, 0x5a, 0x14,
85 	0x63, 0x30, 0x0c, 0x60, 0xa0, 0x5a, 0x2c, 0x63, 0xa6, 0x56, 0x4f, 0xf6,
86 	0x41, 0xd0, 0x42, 0x3c, 0x52, 0x33, 0x93, 0x1c, 0x75, 0xbe, 0x53, 0xf4,
87 	0xe2, 0xda, 0x1b, 0x8b, 0x91, 0xab, 0x4d, 0x48, 0xa2, 0xe5, 0x9c, 0xa2,
88 	0xfb, 0xe1, 0xcf, 0xd8, 0x33, 0xf0, 0xc1, 0xe2, 0xaf, 0xef, 0xad, 0xa7,
89 	0x0a, 0x1b, 0xa8, 0x70, 0xba, 0x27, 0x6f, 0x9d, 0xf1, 0x8c, 0x63, 0x97,
90 	0xc2, 0x21, 0xd2, 0x05, 0x85, 0xeb, 0x78, 0x43, 0x7c, 0x36, 0x46, 0x0f,
91 	0xb7, 0xe4, 0x62, 0x86, 0x34, 0x06, 0x6e, 0x50, 0x4b, 0xa9, 0x0d, 0x17,
92 	0x49, 0xf2, 0xa3, 0x3d, 0x5c, 0x6e, 0x5d, 0xce, 0xaf, 0xa3, 0x72, 0xb3,
93 	0xd5, 0xeb, 0xa8, 0x29, 0x6b, 0x82, 0x19, 0x72
94 };
95 static const uint8_t nist_186_2_ecdsa_testvector_3_private[] = {
96 /* d */
97 	0x00, 0xab, 0xd2, 0x05, 0xef, 0x41, 0x26, 0x46, 0x90, 0x7d, 0x2e, 0x48,
98 	0x86, 0xb8, 0xff, 0xd7, 0xd9, 0x46, 0x78, 0xbd, 0x38, 0x18, 0xed, 0x54
99 };
100 static const uint8_t nist_186_2_ecdsa_testvector_3_public_x[] = {
101 /* Qx */
102 	0x3b, 0x1c, 0x19, 0xd7, 0x3b, 0x6a, 0x4d, 0x7a, 0x12, 0x00, 0x35, 0x30,
103 	0xa5, 0x4a, 0xe0, 0xf5, 0xba, 0x18, 0xd7, 0x5c, 0x98, 0xa0, 0xdb, 0x95
104 };
105 static const uint8_t nist_186_2_ecdsa_testvector_3_public_y[] = {
106 /* Qy */
107 	0xaf, 0xb8, 0xbd, 0x8c, 0x94, 0xc6, 0xe3, 0xd5, 0xdc, 0x05, 0x0e, 0x36,
108 	0x41, 0xc0, 0xfa, 0xd7, 0x71, 0x55, 0x7c, 0xe9, 0x7f, 0x5f, 0x3d, 0xba
109 };
110 /* k = 00b81567f9e19c4ace373a26337488c1a476b7ee8d8e52bf */
111 static const uint8_t nist_186_2_ecdsa_testvector_3_out[] = {
112 /* R */
113 	0xe3, 0x6d, 0x5d, 0xbb, 0x95, 0x60, 0xd9, 0x59, 0x81, 0x4c, 0xbd, 0x30,
114 	0xaa, 0x6a, 0x40, 0x5d, 0xa9, 0x65, 0x2f, 0xbd, 0x25, 0x0d, 0xa9, 0xab,
115 /* S */
116 	0xf2, 0xdb, 0x3d, 0x62, 0x73, 0x3f, 0x6d, 0x08, 0xb0, 0x8e, 0xf0, 0x68,
117 	0x2f, 0x57, 0x9a, 0xc5, 0x27, 0x95, 0x01, 0x17, 0xf3, 0x9e, 0x47, 0x4b
118 };
119 static const uint8_t nist_186_2_ecdsa_testvector_4_ptx[] = {
120 /* Msg */
121 	0x85, 0xbc, 0xd4, 0x06, 0xf4, 0xcd, 0xc8, 0xf3, 0x0e, 0x19, 0x55, 0x3b,
122 	0xa9, 0x2f, 0x9c, 0x08, 0x94, 0xb2, 0x83, 0x3d, 0x7b, 0xb0, 0xb5, 0x65,
123 	0x0a, 0x30, 0xeb, 0xe8, 0x55, 0x0a, 0x69, 0x85, 0x78, 0xfc, 0xcb, 0xfc,
124 	0x7a, 0xf9, 0x01, 0x0b, 0x78, 0xc4, 0x99, 0x9c, 0xff, 0xbe, 0x3c, 0x3d,
125 	0xb9, 0xfd, 0x7c, 0xd0, 0x4c, 0x9d, 0xcd, 0x84, 0x7f, 0x5b, 0xd0, 0x04,
126 	0x9f, 0x5f, 0xd8, 0xee, 0x21, 0x5a, 0xa7, 0x86, 0x88, 0xd1, 0x78, 0xac,
127 	0x89, 0xb9, 0x43, 0x0b, 0x6d, 0x43, 0x3c, 0x94, 0xb8, 0xf9, 0x9c, 0x2b,
128 	0x08, 0x0a, 0xa5, 0x9f, 0x3f, 0xe2, 0xe0, 0xe0, 0xe4, 0xfe, 0xaa, 0x6c,
129 	0xc7, 0xff, 0xee, 0x0b, 0xe4, 0xfd, 0x34, 0xbc, 0x8a, 0x1d, 0xdb, 0xef,
130 	0xbd, 0x66, 0xa2, 0xf4, 0xd8, 0xd0, 0x6e, 0xb4, 0x77, 0x9e, 0x47, 0x9f,
131 	0x93, 0xee, 0xa3, 0xe5, 0xef, 0x8f, 0xe7, 0xe9
132 };
133 static const uint8_t nist_186_2_ecdsa_testvector_4_private[] = {
134 /* d */
135 	0x00, 0x45, 0x62, 0x4e, 0x64, 0x35, 0x45, 0xc1, 0x13, 0xe4, 0xa1, 0x99,
136 	0x3c, 0xfa, 0xc6, 0xf2, 0x3c, 0x6e, 0x04, 0x86, 0xc9, 0x8e, 0x14, 0xc9
137 };
138 static const uint8_t nist_186_2_ecdsa_testvector_4_public_x[] = {
139 /* Qx */
140 	0x21, 0x93, 0x3e, 0x6e, 0x8c, 0xdc, 0xff, 0xf6, 0x2f, 0x36, 0xc4, 0x5e,
141 	0x83, 0xde, 0xce, 0x12, 0x80, 0xa8, 0x88, 0x66, 0x3a, 0x34, 0x60, 0x8f
142 };
143 static const uint8_t nist_186_2_ecdsa_testvector_4_public_y[] = {
144 /* Qy */
145 	0x56, 0x58, 0x90, 0xe3, 0x7f, 0xdf, 0x56, 0x35, 0x95, 0xd2, 0x45, 0x24,
146 	0xef, 0x1d, 0xa9, 0xaa, 0xe2, 0x46, 0x89, 0x2e, 0x75, 0xa7, 0x42, 0x34
147 };
148 /* k = 008df8209daae53a365bdcc8608f597315d43f587859d96a */
149 static const uint8_t nist_186_2_ecdsa_testvector_4_out[] = {
150 /* R */
151 	0x17, 0x91, 0xe5, 0x03, 0x64, 0x5e, 0x53, 0xa8, 0x30, 0x4f, 0x2a, 0x44,
152 	0x71, 0x59, 0x42, 0xc6, 0xaa, 0xb3, 0x15, 0xb0, 0x08, 0x6f, 0x41, 0x47,
153 /* S */
154 	0x36, 0x63, 0x09, 0xb7, 0xf7, 0x9b, 0x2f, 0xd9, 0x8d, 0x6c, 0x2f, 0x3a,
155 	0x84, 0x24, 0x17, 0x8b, 0x01, 0x23, 0x50, 0x41, 0xf9, 0x86, 0x95, 0x52
156 };
157 static const uint8_t nist_186_2_ecdsa_testvector_5_ptx[] = {
158 /* Msg */
159 	0xc8, 0x88, 0x8d, 0xdf, 0x35, 0xfb, 0x43, 0xd2, 0x62, 0xa5, 0xf4, 0xee,
160 	0xbe, 0xc7, 0x31, 0x95, 0xf0, 0xfa, 0x79, 0x57, 0x1b, 0x68, 0xa3, 0xc3,
161 	0x61, 0x3b, 0x7b, 0x7c, 0xa6, 0x56, 0xb0, 0x90, 0x96, 0x43, 0xee, 0x06,
162 	0xe9, 0x6d, 0x47, 0xb6, 0xe5, 0x90, 0xd7, 0x5e, 0x25, 0x6d, 0xa8, 0xf1,
163 	0x9a, 0xc2, 0xd3, 0x32, 0xcf, 0x79, 0xe8, 0x82, 0x71, 0x20, 0x90, 0xf6,
164 	0x0e, 0x99, 0x71, 0xad, 0x1d, 0x13, 0x52, 0x61, 0x3f, 0x39, 0x80, 0x3b,
165 	0xc4, 0xa8, 0x70, 0xec, 0x71, 0xa7, 0xa5, 0xf9, 0x80, 0x12, 0xd4, 0x56,
166 	0xe9, 0x98, 0x47, 0x37, 0xe0, 0x27, 0x7f, 0x23, 0x9f, 0xa3, 0x1d, 0x4a,
167 	0x65, 0xde, 0x03, 0x18, 0xbf, 0xc5, 0xb6, 0x0a, 0x06, 0xd7, 0x06, 0xc1,
168 	0x29, 0xdc, 0xf2, 0x55, 0xac, 0xd3, 0xc6, 0xeb, 0xf1, 0x2c, 0x86, 0x8a,
169 	0xb7, 0x37, 0x8f, 0x2a, 0xe0, 0xdd, 0x7c, 0x0e
170 };
171 static const uint8_t nist_186_2_ecdsa_testvector_5_private[] = {
172 /* d */
173 	0x00, 0xca, 0x3e, 0x5b, 0x5d, 0x69, 0xcf, 0x02, 0x8c, 0x9f, 0xf1, 0x38,
174 	0xb1, 0xee, 0x5c, 0x28, 0x60, 0x7a, 0x6b, 0xf9, 0x35, 0x2c, 0x64, 0x30
175 };
176 static const uint8_t nist_186_2_ecdsa_testvector_5_public_x[] = {
177 /* Qx */
178 	0x48, 0x28, 0xad, 0x4a, 0xff, 0x5d, 0x87, 0xdc, 0xca, 0x98, 0xa3, 0x41,
179 	0x34, 0x4a, 0x46, 0x2e, 0xdf, 0x27, 0x78, 0x50, 0x75, 0x5c, 0x72, 0x77
180 };
181 static const uint8_t nist_186_2_ecdsa_testvector_5_public_y[] = {
182 /* Qy */
183 	0x8a, 0x1b, 0xfc, 0x6b, 0x7b, 0x04, 0x24, 0xe1, 0x54, 0x54, 0xac, 0x19,
184 	0x8d, 0x4d, 0x69, 0x79, 0x27, 0xf4, 0xea, 0xaf, 0x9d, 0x14, 0xd8, 0x8e
185 };
186 /* k = 00964e4a3eac4d2641c2a5c4badd301da54962410a459654 */
187 static const uint8_t nist_186_2_ecdsa_testvector_5_out[] = {
188 /* R */
189 	0xc4, 0x38, 0xca, 0x66, 0xc5, 0xd3, 0xb1, 0x9e, 0x2b, 0xcd, 0x26, 0xa5,
190 	0xc5, 0x47, 0x42, 0x43, 0x5f, 0x25, 0xee, 0x0e, 0x93, 0x64, 0xb4, 0x1c,
191 /* S */
192 	0xff, 0x19, 0x44, 0x79, 0x69, 0x5a, 0xfd, 0xcc, 0x88, 0x64, 0x5f, 0x2a,
193 	0x30, 0x9c, 0xb9, 0x97, 0x17, 0xbe, 0xac, 0x26, 0x79, 0x4c, 0x06, 0x58
194 };
195 static const uint8_t nist_186_2_ecdsa_testvector_6_ptx[] = {
196 /* Msg */
197 	0x63, 0x7a, 0xc6, 0x1c, 0x9a, 0x10, 0x8a, 0x77, 0xd1, 0xd3, 0x4f, 0x42,
198 	0x67, 0x6f, 0x9d, 0x31, 0x4b, 0xed, 0xeb, 0x32, 0xc9, 0x34, 0x12, 0x08,
199 	0xa3, 0xcf, 0x02, 0x35, 0x64, 0xf0, 0xb4, 0x1e, 0xf1, 0xb5, 0x60, 0x6a,
200 	0x61, 0xab, 0xef, 0xab, 0x0e, 0x91, 0xb3, 0x40, 0xec, 0x5e, 0x56, 0x7a,
201 	0x1a, 0x85, 0x10, 0xfd, 0xb7, 0x77, 0x1d, 0x69, 0xf7, 0x69, 0x6f, 0x3a,
202 	0x76, 0x58, 0xa0, 0xed, 0xcc, 0x4b, 0x2a, 0x65, 0x61, 0xd9, 0xda, 0x8c,
203 	0x83, 0xea, 0x82, 0x3d, 0xb5, 0xc2, 0xef, 0x62, 0x4a, 0x3b, 0x1a, 0x59,
204 	0x33, 0x51, 0xa2, 0x9d, 0x16, 0xe4, 0x7a, 0xa2, 0xa0, 0xba, 0xdf, 0x00,
205 	0x1b, 0xc4, 0x8e, 0xd4, 0x43, 0xa2, 0x33, 0x63, 0x55, 0x68, 0x24, 0x01,
206 	0x6a, 0xa3, 0x4f, 0x32, 0x03, 0x97, 0x72, 0x0e, 0xe5, 0xcb, 0x8a, 0xea,
207 	0x27, 0xc8, 0x8d, 0x34, 0x89, 0x1d, 0x5b, 0x9f
208 };
209 static const uint8_t nist_186_2_ecdsa_testvector_6_private[] = {
210 /* d */
211 	0x00, 0x55, 0xac, 0xe6, 0x7d, 0xf2, 0xb1, 0x7f, 0x6e, 0x9e, 0x1b, 0x89,
212 	0x28, 0xac, 0x85, 0x6c, 0xe8, 0xd7, 0x5f, 0x6b, 0xba, 0xaa, 0xed, 0x83
213 };
214 static const uint8_t nist_186_2_ecdsa_testvector_6_public_x[] = {
215 /* Qx */
216 	0x2f, 0x5d, 0x05, 0xcb, 0xd6, 0x20, 0x14, 0x5b, 0x41, 0xd0, 0xa1, 0xc6,
217 	0x56, 0xd6, 0x76, 0xea, 0xd2, 0xfc, 0x65, 0x1b, 0x3c, 0xf7, 0x1c, 0xc2
218 };
219 static const uint8_t nist_186_2_ecdsa_testvector_6_public_y[] = {
220 /* Qy */
221 	0x88, 0xd2, 0x38, 0x6c, 0xfb, 0x81, 0x2d, 0x02, 0xa1, 0xfa, 0x19, 0x57,
222 	0x8a, 0x7c, 0xd0, 0x4b, 0x35, 0x69, 0x20, 0xa2, 0xb2, 0xe6, 0x98, 0x39
223 };
224 /* k = 006ed729e5c2ec9bac7ddfbfe04ea9444c2c77f71455f623 */
225 static const uint8_t nist_186_2_ecdsa_testvector_6_out[] = {
226 /* R */
227 	0xcd, 0xe9, 0x5d, 0x12, 0xd6, 0x50, 0x10, 0x2c, 0x53, 0x5f, 0xdc, 0x19,
228 	0x94, 0xfc, 0x46, 0x83, 0x08, 0xb0, 0x5e, 0x2a, 0xf7, 0xaf, 0x9c, 0x14,
229 /* S */
230 	0xc2, 0x60, 0x6a, 0x54, 0xe7, 0x59, 0x22, 0x14, 0xa2, 0x65, 0x27, 0x09,
231 	0x18, 0x32, 0x2a, 0xe3, 0x3d, 0x48, 0x72, 0x68, 0xb9, 0x10, 0x8c, 0xae
232 };
233 static const uint8_t nist_186_2_ecdsa_testvector_7_ptx[] = {
234 /* Msg */
235 	0xd1, 0x54, 0x75, 0x48, 0x99, 0xfc, 0xbf, 0xe2, 0xa4, 0x8e, 0x2c, 0x70,
236 	0xbc, 0x40, 0x6c, 0xf2, 0xb1, 0x30, 0x70, 0xa5, 0x9d, 0x9e, 0xce, 0xd4,
237 	0x6c, 0x58, 0x68, 0xf1, 0x9c, 0x75, 0x49, 0xe4, 0x42, 0x46, 0xcf, 0xa3,
238 	0x4e, 0x8a, 0x0f, 0x03, 0x0f, 0xe1, 0x75, 0xce, 0xfa, 0x84, 0xab, 0x15,
239 	0xa7, 0x32, 0xbc, 0xc7, 0x1c, 0x6e, 0x7a, 0x83, 0x4e, 0xe7, 0x1d, 0xab,
240 	0xe5, 0x38, 0x2c, 0xba, 0x40, 0xd1, 0xa1, 0xd7, 0xb9, 0x35, 0x48, 0xaa,
241 	0x2a, 0x67, 0x68, 0x6e, 0xb0, 0x9e, 0xa5, 0x47, 0xae, 0x40, 0x25, 0xd6,
242 	0x15, 0x0e, 0xf2, 0x0b, 0xe3, 0x9c, 0x9f, 0x3b, 0xea, 0x05, 0x2f, 0x73,
243 	0xd3, 0xdc, 0x32, 0x0b, 0x62, 0x66, 0x31, 0x7e, 0xfc, 0x06, 0x4c, 0x79,
244 	0x66, 0xf8, 0x22, 0x31, 0xcf, 0x42, 0xf1, 0xfa, 0x11, 0xe8, 0xfe, 0x16,
245 	0x34, 0x60, 0x38, 0xca, 0x33, 0x45, 0x18, 0xb7
246 };
247 static const uint8_t nist_186_2_ecdsa_testvector_7_private[] = {
248 /* d */
249 	0x00, 0xd1, 0x85, 0xd5, 0x1f, 0x87, 0x7d, 0x3f, 0xcc, 0x65, 0x7d, 0x18,
250 	0xf3, 0x0c, 0xd1, 0x45, 0x70, 0x02, 0x2d, 0x07, 0x26, 0xc0, 0xb1, 0x88
251 };
252 static const uint8_t nist_186_2_ecdsa_testvector_7_public_x[] = {
253 /* Qx */
254 	0x47, 0xe8, 0xec, 0x5e, 0x1e, 0xdb, 0x1d, 0x23, 0xc0, 0x4e, 0xbf, 0xee,
255 	0xfd, 0x8c, 0xb8, 0xbf, 0x39, 0xcd, 0x48, 0xc3, 0x48, 0xde, 0x3e, 0xa7
256 };
257 static const uint8_t nist_186_2_ecdsa_testvector_7_public_y[] = {
258 /* Qy */
259 	0xb1, 0x16, 0x7b, 0x3a, 0x4e, 0x2f, 0xbe, 0x16, 0x7b, 0xbd, 0x7b, 0x7b,
260 	0x06, 0xbf, 0x13, 0x14, 0xd5, 0x8d, 0x9e, 0x39, 0x76, 0xff, 0xa4, 0x7f
261 };
262 /* k = 00124c96b0dd589501ba7d5ddfe9c412cf574be10198899b */
263 static const uint8_t nist_186_2_ecdsa_testvector_7_out[] = {
264 /* R */
265 	0x53, 0x9e, 0x28, 0x53, 0x89, 0x39, 0x9c, 0x78, 0x5d, 0xfc, 0x4f, 0x3b,
266 	0xfc, 0xcb, 0xc8, 0x25, 0x60, 0x2f, 0x44, 0x3a, 0xe0, 0xdc, 0xa3, 0xd1,
267 /* S */
268 	0xed, 0x56, 0xe5, 0x4f, 0xba, 0xa0, 0xb7, 0xc0, 0xbc, 0x46, 0x29, 0x20,
269 	0x31, 0x40, 0x31, 0xc7, 0xa3, 0xe7, 0xb2, 0xeb, 0x70, 0x1c, 0xb9, 0xdb
270 };
271 static const uint8_t nist_186_2_ecdsa_testvector_8_ptx[] = {
272 /* Msg */
273 	0x26, 0x4b, 0xe3, 0x73, 0x69, 0x84, 0x6f, 0x67, 0x01, 0x9f, 0xb3, 0x1f,
274 	0x94, 0xfc, 0x9e, 0x9a, 0xb0, 0x3c, 0x5c, 0x24, 0x05, 0xa6, 0x2a, 0xd8,
275 	0xd1, 0xc9, 0x68, 0x64, 0x9b, 0x63, 0xef, 0x0c, 0x24, 0x82, 0xa6, 0xf2,
276 	0x9b, 0xe9, 0x50, 0x94, 0x10, 0xb5, 0xa8, 0x96, 0x2b, 0x41, 0xb0, 0xc2,
277 	0x1e, 0x46, 0x46, 0x4d, 0xd8, 0x47, 0xf8, 0x5b, 0x7b, 0x2c, 0x19, 0xc6,
278 	0x11, 0x2d, 0x14, 0x1b, 0x7b, 0xf1, 0x01, 0xe6, 0xa9, 0xf7, 0x76, 0x30,
279 	0x11, 0x36, 0xa0, 0x45, 0x59, 0x00, 0x92, 0xbb, 0x57, 0x2c, 0xdc, 0xaf,
280 	0x3c, 0x74, 0x60, 0x52, 0x0c, 0x1c, 0x61, 0xa5, 0x52, 0xd5, 0xdd, 0x80,
281 	0x11, 0xe0, 0x1d, 0xd9, 0xfd, 0x76, 0x8a, 0x43, 0xeb, 0x68, 0xc2, 0xb5,
282 	0x87, 0x03, 0xeb, 0x8d, 0x45, 0x36, 0x48, 0xd4, 0x9a, 0xf7, 0x09, 0xc4,
283 	0x6b, 0xe2, 0x68, 0x87, 0xc6, 0x23, 0xf1, 0x42
284 };
285 static const uint8_t nist_186_2_ecdsa_testvector_8_private[] = {
286 /* d */
287 	0x00, 0x7d, 0x6f, 0xa0, 0xb3, 0xda, 0xca, 0xf0, 0x22, 0x43, 0x67, 0x77,
288 	0xac, 0x53, 0xc4, 0x43, 0x7c, 0x95, 0x79, 0x47, 0xc9, 0x11, 0xfa, 0xab
289 };
290 static const uint8_t nist_186_2_ecdsa_testvector_8_public_x[] = {
291 /* Qx */
292 	0xa4, 0xdb, 0x13, 0x03, 0xbf, 0x13, 0x69, 0x6e, 0x26, 0x67, 0x82, 0x86,
293 	0xe2, 0x7c, 0x16, 0x6d, 0xd8, 0x7b, 0xe9, 0x8c, 0xc8, 0xbe, 0x28, 0x44
294 };
295 static const uint8_t nist_186_2_ecdsa_testvector_8_public_y[] = {
296 /* Qy */
297 	0x09, 0xb4, 0xde, 0x84, 0xbb, 0xfa, 0x77, 0xe0, 0x49, 0xac, 0xe2, 0x72,
298 	0xa1, 0x2d, 0x0d, 0xd1, 0x41, 0xd3, 0x63, 0xe7, 0x4e, 0xc1, 0x25, 0x11
299 };
300 /* k = 00620f584b08d3199f6841fefa4b920659b267271c9b4034 */
301 static const uint8_t nist_186_2_ecdsa_testvector_8_out[] = {
302 /* R */
303 	0x68, 0x18, 0xd4, 0x4a, 0xea, 0x42, 0x17, 0x01, 0xe3, 0xf4, 0x16, 0x00,
304 	0xc8, 0x67, 0xfb, 0x3d, 0x37, 0x49, 0xea, 0xdb, 0xf3, 0x38, 0x20, 0xfa,
305 /* S */
306 	0x65, 0x8b, 0x22, 0x8b, 0x2e, 0xdd, 0x85, 0x69, 0xf6, 0x94, 0x0f, 0xee,
307 	0x1c, 0x30, 0x36, 0x26, 0xe4, 0x81, 0x81, 0x09, 0x45, 0x81, 0x98, 0x7b
308 };
309 static const uint8_t nist_186_2_ecdsa_testvector_9_ptx[] = {
310 /* Msg */
311 	0x66, 0xe6, 0x9d, 0xc2, 0xa4, 0x7b, 0x31, 0x51, 0x5a, 0x71, 0x45, 0x6e,
312 	0x32, 0x9c, 0xf0, 0x2b, 0x08, 0x33, 0x1b, 0x15, 0x43, 0xd5, 0x7e, 0x5c,
313 	0x66, 0xc9, 0xcb, 0x34, 0xe2, 0x8a, 0x28, 0x7a, 0x2f, 0x83, 0xe3, 0x9b,
314 	0x1a, 0x17, 0x61, 0xb2, 0x61, 0xe4, 0x58, 0xf0, 0x7d, 0x49, 0x3e, 0x41,
315 	0xbf, 0x25, 0x02, 0x2c, 0x9e, 0xe2, 0xf9, 0xfb, 0x50, 0xb3, 0x1b, 0x1d,
316 	0x97, 0x19, 0x6f, 0xc8, 0xde, 0xac, 0xc4, 0xe3, 0x84, 0x18, 0xa2, 0x22,
317 	0x78, 0x66, 0x80, 0x73, 0x06, 0x7d, 0x37, 0x99, 0xf0, 0xe8, 0xb7, 0x16,
318 	0xc1, 0xd9, 0xf9, 0x4f, 0x5e, 0x6e, 0x35, 0xeb, 0xde, 0x34, 0x54, 0x7c,
319 	0x9b, 0xea, 0xa8, 0x61, 0x89, 0x87, 0xdb, 0xeb, 0xc7, 0x7e, 0x25, 0xbe,
320 	0x74, 0x40, 0xc2, 0x7a, 0xc4, 0x02, 0xa4, 0x9b, 0x53, 0xc1, 0x65, 0x9e,
321 	0xb9, 0x84, 0x7f, 0x66, 0x5e, 0xe2, 0xbf, 0xdd
322 };
323 static const uint8_t nist_186_2_ecdsa_testvector_9_private[] = {
324 /* d */
325 	0x00, 0xb5, 0xbf, 0xd0, 0x9a, 0x8d, 0x17, 0x75, 0x13, 0xc4, 0xbd, 0x7d,
326 	0x1b, 0xd9, 0xac, 0x5c, 0xcb, 0x7c, 0x00, 0xc6, 0x3b, 0x98, 0x41, 0xb4
327 };
328 static const uint8_t nist_186_2_ecdsa_testvector_9_public_x[] = {
329 /* Qx */
330 	0x27, 0x0d, 0x7b, 0xb9, 0xbf, 0xab, 0x54, 0x52, 0x92, 0x40, 0x42, 0x6a,
331 	0x08, 0x50, 0x8f, 0x1e, 0xd9, 0x0d, 0xc7, 0x91, 0x4c, 0xdf, 0x11, 0xf3
332 };
333 static const uint8_t nist_186_2_ecdsa_testvector_9_public_y[] = {
334 /* Qy */
335 	0xc9, 0x1e, 0xd7, 0xf2, 0xec, 0xa3, 0x9f, 0x56, 0x37, 0x57, 0xc5, 0xb5,
336 	0x18, 0xd9, 0xc2, 0x8d, 0x4d, 0x41, 0xe7, 0xbd, 0xc0, 0xc7, 0xf5, 0x3e
337 };
338 /* k = 00dbc3fbf7b320e9bb6bae128ae19f2c67b297ceb9bc697f */
339 static const uint8_t nist_186_2_ecdsa_testvector_9_out[] = {
340 /* R */
341 	0xdb, 0x20, 0xf0, 0x9b, 0x69, 0xac, 0x79, 0xe2, 0x24, 0x25, 0x88, 0x00,
342 	0xeb, 0xe6, 0xcc, 0x51, 0xa2, 0xe1, 0x25, 0x36, 0xb6, 0x93, 0x96, 0xc8,
343 /* S */
344 	0xd3, 0x1d, 0xf9, 0x54, 0x42, 0x77, 0xf4, 0xa7, 0x96, 0x76, 0xfd, 0xc7,
345 	0xa5, 0x1f, 0xae, 0xf7, 0x3e, 0xe2, 0xa0, 0xd1, 0x05, 0x7f, 0xf3, 0xa2
346 };
347 static const uint8_t nist_186_2_ecdsa_testvector_10_ptx[] = {
348 /* Msg */
349 	0xed, 0x3f, 0x4b, 0x0c, 0x4b, 0x79, 0xdd, 0xd5, 0xb0, 0x48, 0xb7, 0xb9,
350 	0xf3, 0xf6, 0x87, 0xfb, 0x57, 0x8a, 0xca, 0x75, 0x60, 0x49, 0x3f, 0x3a,
351 	0xe5, 0x7e, 0x9b, 0x7b, 0x65, 0x77, 0x7e, 0xa7, 0x9f, 0xd0, 0xa6, 0xd6,
352 	0x5c, 0xf4, 0x63, 0x68, 0x90, 0xe0, 0x4a, 0xe9, 0xa1, 0x2a, 0x2e, 0x38,
353 	0x07, 0x42, 0x4c, 0xe9, 0x15, 0xf9, 0xc6, 0xe7, 0x16, 0x3f, 0x53, 0x5e,
354 	0x9c, 0x31, 0x34, 0xd8, 0x15, 0x53, 0x6a, 0xa6, 0x9f, 0x19, 0x26, 0x81,
355 	0x1e, 0xad, 0x81, 0x71, 0x8b, 0xec, 0x6d, 0xee, 0x8f, 0xb1, 0xeb, 0x45,
356 	0x50, 0x57, 0x7f, 0x3e, 0x8b, 0x79, 0xe1, 0xfc, 0xe3, 0xfc, 0xf6, 0x24,
357 	0x78, 0x50, 0xfe, 0x42, 0xbc, 0xf2, 0x0f, 0x68, 0x82, 0x36, 0xc2, 0x18,
358 	0x58, 0x43, 0x2c, 0x63, 0x17, 0x5f, 0x10, 0x53, 0xb8, 0x6d, 0x52, 0x87,
359 	0x69, 0xb3, 0xaf, 0x1d, 0xe0, 0xe1, 0xac, 0xd5
360 };
361 static const uint8_t nist_186_2_ecdsa_testvector_10_private[] = {
362 /* d */
363 	0x00, 0x95, 0x8e, 0x4b, 0xbb, 0xdd, 0x87, 0x09, 0xa7, 0x84, 0x41, 0x48,
364 	0x5d, 0x6f, 0x57, 0xde, 0xe9, 0x6c, 0xc4, 0xd9, 0x8c, 0x38, 0xad, 0x4f
365 };
366 static const uint8_t nist_186_2_ecdsa_testvector_10_public_x[] = {
367 /* Qx */
368 	0x6a, 0x57, 0x23, 0xe7, 0x2f, 0x62, 0x70, 0x16, 0x0f, 0x25, 0x6d, 0xdd,
369 	0x40, 0x3c, 0x10, 0x85, 0x03, 0x38, 0x8d, 0x43, 0x20, 0xf7, 0x92, 0x6c
370 };
371 static const uint8_t nist_186_2_ecdsa_testvector_10_public_y[] = {
372 /* Qy */
373 	0xf5, 0x2b, 0x0e, 0x0e, 0x4c, 0x88, 0x71, 0x44, 0x3c, 0xfc, 0x0c, 0x23,
374 	0x1e, 0x85, 0x6f, 0x6a, 0xdc, 0x2a, 0x7c, 0x33, 0x18, 0xa4, 0x35, 0x78
375 };
376 /* k = 0045f392d1910760550b34e64d578905c20fb1cc51b29eef */
377 static const uint8_t nist_186_2_ecdsa_testvector_10_out[] = {
378 /* R */
379 	0x65, 0x05, 0x66, 0x3a, 0x95, 0x2b, 0x74, 0x1c, 0x45, 0x83, 0xe7, 0x55,
380 	0x49, 0x67, 0x40, 0x83, 0x3d, 0x59, 0x01, 0xfc, 0x09, 0x43, 0x39, 0x63,
381 /* S */
382 	0xde, 0x04, 0x11, 0x97, 0x2e, 0x27, 0xbf, 0xb8, 0x03, 0x62, 0xb4, 0x46,
383 	0x50, 0xe6, 0x87, 0x86, 0x6c, 0xd2, 0x02, 0xa4, 0x19, 0x9d, 0x60, 0x5c
384 };
385 static const uint8_t nist_186_2_ecdsa_testvector_11_ptx[] = {
386 /* Msg */
387 	0x6a, 0x8b, 0x59, 0x50, 0x76, 0x51, 0x88, 0x80, 0xf0, 0x08, 0x38, 0x2e,
388 	0xed, 0x3e, 0x51, 0xf2, 0xb3, 0xf0, 0x6c, 0x4f, 0xce, 0x4c, 0x8c, 0x92,
389 	0x61, 0xbb, 0x08, 0xfd, 0xbb, 0x1f, 0xcc, 0x25, 0x2a, 0x59, 0xc2, 0x99,
390 	0x14, 0x0f, 0x8a, 0xc4, 0x43, 0xac, 0x71, 0x15, 0x81, 0xa8, 0xa1, 0x5d,
391 	0x65, 0x09, 0x95, 0x78, 0x6c, 0x2a, 0xd0, 0x2f, 0x4b, 0xbb, 0xcf, 0x5d,
392 	0x84, 0x09, 0x3c, 0x51, 0x38, 0x7f, 0x64, 0x74, 0x3c, 0x6d, 0xeb, 0x2b,
393 	0x6f, 0x09, 0xbe, 0xff, 0x4a, 0xb4, 0x4a, 0xfc, 0xb8, 0x7e, 0xec, 0x56,
394 	0x28, 0xeb, 0xa8, 0x53, 0xe1, 0xf8, 0x1d, 0x64, 0x96, 0x59, 0xb8, 0x95,
395 	0x3b, 0x05, 0x29, 0x28, 0x17, 0xf4, 0x13, 0x7d, 0x19, 0x27, 0x08, 0x36,
396 	0x6f, 0xea, 0xb4, 0x98, 0x55, 0x56, 0x58, 0x33, 0x2b, 0x19, 0x7b, 0xc5,
397 	0xcb, 0x7a, 0xdc, 0x5c, 0x19, 0x97, 0xaa, 0xbb
398 };
399 static const uint8_t nist_186_2_ecdsa_testvector_11_private[] = {
400 /* d */
401 	0x00, 0x49, 0x60, 0x53, 0x3b, 0x78, 0x8b, 0x3f, 0xad, 0x01, 0x7e, 0x61,
402 	0x0f, 0x5d, 0xda, 0xb7, 0x50, 0xb4, 0xbf, 0x5a, 0x5e, 0x9d, 0x09, 0x64
403 };
404 static const uint8_t nist_186_2_ecdsa_testvector_11_public_x[] = {
405 /* Qx */
406 	0x1c, 0x0e, 0x4f, 0xc6, 0xd8, 0xf4, 0xe7, 0x60, 0x5f, 0x2b, 0xf5, 0x75,
407 	0x41, 0x39, 0x5f, 0x51, 0x67, 0xd4, 0x1d, 0x8b, 0xdd, 0x5c, 0x4f, 0x80
408 };
409 static const uint8_t nist_186_2_ecdsa_testvector_11_public_y[] = {
410 /* Qy */
411 	0x77, 0x5d, 0xa7, 0x32, 0x26, 0x02, 0x0b, 0xad, 0x6e, 0xc4, 0xdf, 0x50,
412 	0x22, 0xa8, 0xc6, 0x1a, 0xee, 0x06, 0x43, 0x72, 0xba, 0x53, 0x5a, 0xe7
413 };
414 /* k = 00e93a10b115218fcb2f0413784385e1fc4555b1818f3b3c */
415 static const uint8_t nist_186_2_ecdsa_testvector_11_out[] = {
416 /* R */
417 	0xbc, 0x54, 0x0a, 0x8f, 0x5e, 0xa8, 0x1c, 0x61, 0x44, 0x69, 0x8f, 0x54,
418 	0x52, 0x55, 0x6f, 0x17, 0xda, 0x76, 0xa5, 0x26, 0x36, 0x46, 0x1d, 0x70,
419 /* S */
420 	0x2d, 0xe2, 0x3f, 0x6c, 0xc9, 0xa4, 0x58, 0x99, 0xa9, 0xf6, 0x05, 0xda,
421 	0xb9, 0xf2, 0x8f, 0xdd, 0xf9, 0xe3, 0x76, 0xea, 0x06, 0xc9, 0x2d, 0xb5
422 };
423 static const uint8_t nist_186_2_ecdsa_testvector_12_ptx[] = {
424 /* Msg */
425 	0xef, 0xd5, 0xd8, 0x20, 0x00, 0x24, 0x9e, 0xf1, 0x68, 0xa0, 0x4b, 0xc3,
426 	0x9f, 0x32, 0x35, 0x6b, 0xba, 0xe8, 0x3e, 0x0b, 0xe1, 0x9a, 0xf1, 0xda,
427 	0x03, 0xcd, 0xce, 0x23, 0xc8, 0xd7, 0xe1, 0x91, 0xc8, 0x44, 0x9a, 0xa9,
428 	0xfa, 0x79, 0xd8, 0x98, 0x6f, 0x97, 0x47, 0x2f, 0x40, 0xa2, 0xec, 0x2c,
429 	0xc5, 0xe3, 0xfe, 0xbb, 0x07, 0x8a, 0xf8, 0x3c, 0x78, 0x98, 0xec, 0x47,
430 	0xe2, 0xfc, 0x1a, 0xed, 0x9e, 0xfc, 0xc1, 0x41, 0x06, 0xd7, 0x35, 0x18,
431 	0x2c, 0xa9, 0x32, 0x0c, 0xcd, 0x8e, 0x70, 0xc7, 0x80, 0x0a, 0x77, 0x7e,
432 	0x33, 0xa9, 0xb5, 0xbb, 0xd8, 0xe2, 0xce, 0x60, 0x5c, 0x41, 0x33, 0xe9,
433 	0xd9, 0xc6, 0xf6, 0xf1, 0x0c, 0x88, 0xdd, 0xf7, 0x09, 0x9d, 0xb5, 0x63,
434 	0x2d, 0x3e, 0xe8, 0xc4, 0x55, 0x27, 0x52, 0x5c, 0x4d, 0x3d, 0x51, 0xde,
435 	0x8c, 0x73, 0x1b, 0x76, 0x1e, 0xee, 0x55, 0x0a
436 };
437 static const uint8_t nist_186_2_ecdsa_testvector_12_private[] = {
438 /* d */
439 	0x00, 0xcf, 0x08, 0xdf, 0x71, 0xe8, 0x34, 0x3a, 0xf5, 0x5f, 0xc2, 0x0c,
440 	0xa9, 0xd6, 0xae, 0x82, 0x2f, 0x9b, 0xbd, 0xf5, 0xab, 0x7d, 0x21, 0x13
441 };
442 static const uint8_t nist_186_2_ecdsa_testvector_12_public_x[] = {
443 /* Qx */
444 	0x19, 0x4e, 0x8f, 0xdd, 0x4b, 0x6b, 0x84, 0xf1, 0x95, 0x5d, 0x19, 0x19,
445 	0x38, 0x7f, 0x96, 0xfa, 0xcf, 0x6f, 0xea, 0xdd, 0x81, 0x05, 0xd8, 0xdd
446 };
447 static const uint8_t nist_186_2_ecdsa_testvector_12_public_y[] = {
448 /* Qy */
449 	0x2e, 0xb4, 0x7a, 0x2e, 0xd3, 0xaa, 0xc4, 0x25, 0x0b, 0xe3, 0x7f, 0x9e,
450 	0x31, 0xd7, 0xff, 0x87, 0xbe, 0x40, 0x43, 0xac, 0x1e, 0xac, 0x40, 0x1f
451 };
452 /* k = 009758de92827113c0d1ece5ad9ab65d9acf18f74b58ecf6 */
453 static const uint8_t nist_186_2_ecdsa_testvector_12_out[] = {
454 /* R */
455 	0x0b, 0xbd, 0x33, 0x1b, 0x5c, 0xbc, 0xae, 0xf2, 0xb2, 0x6e, 0x27, 0xbd,
456 	0xc5, 0x59, 0xd3, 0x1c, 0x62, 0xd5, 0xc9, 0xb6, 0xb8, 0x97, 0x96, 0x03,
457 /* S */
458 	0xc1, 0x67, 0x0a, 0x3b, 0x43, 0x58, 0x05, 0xfa, 0x7a, 0xb2, 0x0e, 0x6d,
459 	0xd8, 0xff, 0xa1, 0x01, 0x2e, 0x9f, 0xb4, 0x1b, 0x1d, 0x7d, 0x01, 0x76
460 };
461 static const uint8_t nist_186_2_ecdsa_testvector_13_ptx[] = {
462 /* Msg */
463 	0xf9, 0xe2, 0x39, 0x34, 0xaf, 0xaa, 0x64, 0x63, 0x4c, 0x91, 0xb5, 0xa1,
464 	0x48, 0xc1, 0xfd, 0x85, 0xa9, 0xb5, 0x18, 0x8c, 0xca, 0xf0, 0xcf, 0x6b,
465 	0x5b, 0xef, 0xfd, 0xa4, 0xa9, 0x5c, 0xf1, 0x58, 0x1f, 0x84, 0x14, 0x5c,
466 	0x0d, 0x0b, 0xcb, 0x8f, 0xa9, 0xde, 0x9f, 0x6a, 0x54, 0x6a, 0x9c, 0xd8,
467 	0x1e, 0x0c, 0xf6, 0x48, 0x8b, 0xc8, 0xf3, 0x01, 0x98, 0x3d, 0x04, 0xb6,
468 	0xf9, 0xd8, 0x35, 0x5b, 0xa5, 0x49, 0xc8, 0x37, 0x94, 0x33, 0x1d, 0x39,
469 	0xc7, 0x28, 0xd6, 0x8f, 0x8a, 0xd4, 0x38, 0x75, 0xf6, 0x78, 0xd3, 0x4b,
470 	0xb9, 0x9b, 0x65, 0xeb, 0x1a, 0xfc, 0xfc, 0x39, 0x37, 0xca, 0x5b, 0xfc,
471 	0x91, 0x17, 0x9f, 0xec, 0xcb, 0x8b, 0x22, 0x0b, 0xaf, 0x55, 0xa0, 0x39,
472 	0x72, 0x67, 0x98, 0x03, 0x39, 0xe3, 0xf5, 0xbd, 0xdb, 0xd0, 0xee, 0xd0,
473 	0xe9, 0x12, 0x2b, 0x54, 0xec, 0x99, 0x29, 0xe2
474 };
475 static const uint8_t nist_186_2_ecdsa_testvector_13_private[] = {
476 /* d */
477 	0x00, 0x27, 0x49, 0x2b, 0xdd, 0x57, 0x3a, 0x53, 0xba, 0xaf, 0xd1, 0x57,
478 	0x55, 0x78, 0xfd, 0xce, 0x24, 0x2e, 0x43, 0xf2, 0xe3, 0x53, 0x7a, 0x0b
479 };
480 static const uint8_t nist_186_2_ecdsa_testvector_13_public_x[] = {
481 /* Qx */
482 	0x18, 0xb9, 0x4f, 0xc7, 0x82, 0x5b, 0xad, 0x91, 0xb1, 0xca, 0x5a, 0x69,
483 	0xcd, 0xf5, 0x76, 0x37, 0x7a, 0xd7, 0x69, 0x65, 0x67, 0x0d, 0x39, 0x67
484 };
485 static const uint8_t nist_186_2_ecdsa_testvector_13_public_y[] = {
486 /* Qy */
487 	0x0a, 0x73, 0x25, 0x3d, 0x6d, 0xf5, 0x4d, 0x51, 0x05, 0xf0, 0xca, 0x2f,
488 	0x94, 0x8d, 0x06, 0x86, 0x70, 0x6d, 0xbd, 0x06, 0x47, 0x44, 0xf7, 0xc3
489 };
490 /* k = 00d8966cd03fdb2509193ddeee3b429cab2605e283c98577 */
491 static const uint8_t nist_186_2_ecdsa_testvector_13_out[] = {
492 /* R */
493 	0x1a, 0x81, 0x3b, 0x60, 0x7c, 0x0b, 0x4d, 0x71, 0xe7, 0xac, 0xda, 0xc0,
494 	0x40, 0xeb, 0x78, 0xb3, 0x79, 0x5e, 0x53, 0xbc, 0x49, 0x8b, 0xae, 0x85,
495 /* S */
496 	0x67, 0xfc, 0x11, 0x24, 0xc3, 0x09, 0x66, 0x47, 0x3d, 0xc6, 0xa1, 0xf1,
497 	0x4a, 0xe3, 0x2e, 0xc2, 0xdd, 0x86, 0x0b, 0x36, 0x67, 0xc6, 0x1d, 0xec
498 };
499 static const uint8_t nist_186_2_ecdsa_testvector_14_ptx[] = {
500 /* Msg */
501 	0xaa, 0x00, 0x90, 0x57, 0x0f, 0x6f, 0xa8, 0x1e, 0xd0, 0x2f, 0xa1, 0xce,
502 	0x2c, 0x12, 0x4f, 0xfd, 0x35, 0x74, 0xf2, 0xf8, 0xd4, 0x28, 0x5e, 0x57,
503 	0x0e, 0xb3, 0x59, 0xd5, 0x85, 0xb8, 0x45, 0x5f, 0x42, 0xb4, 0xff, 0x6b,
504 	0xb1, 0xec, 0x06, 0x8b, 0xed, 0xa3, 0xe0, 0x42, 0x3e, 0x8f, 0xb9, 0x16,
505 	0xe1, 0x8e, 0x4e, 0xe6, 0x07, 0x96, 0x09, 0x7e, 0x1f, 0xea, 0x6d, 0x69,
506 	0x58, 0x94, 0xb5, 0x06, 0x62, 0x0f, 0xb8, 0xdf, 0x75, 0x44, 0x10, 0x35,
507 	0x95, 0xb8, 0x7b, 0xe0, 0x14, 0x03, 0x81, 0x56, 0x58, 0x84, 0x58, 0x09,
508 	0xdf, 0x53, 0x04, 0xf6, 0x7f, 0x77, 0xc2, 0x7a, 0xf3, 0x59, 0xa7, 0x68,
509 	0x93, 0x79, 0x85, 0x5a, 0x63, 0x60, 0x0e, 0x44, 0x4f, 0xd6, 0x3c, 0x4f,
510 	0xb5, 0x54, 0xf0, 0xe4, 0x24, 0xbc, 0xd9, 0x06, 0x64, 0x48, 0x97, 0xe6,
511 	0xb6, 0xc0, 0x20, 0xb1, 0x5c, 0xf1, 0x63, 0xad
512 };
513 static const uint8_t nist_186_2_ecdsa_testvector_14_private[] = {
514 /* d */
515 	0x00, 0x06, 0x6e, 0xb1, 0xa5, 0xe6, 0xa4, 0x2b, 0x53, 0xfc, 0xc8, 0x2f,
516 	0xcf, 0x6a, 0x60, 0x1d, 0x02, 0x31, 0x27, 0xc7, 0xb1, 0xc7, 0x79, 0xdb
517 };
518 static const uint8_t nist_186_2_ecdsa_testvector_14_public_x[] = {
519 /* Qx */
520 	0x38, 0x88, 0xa9, 0x4e, 0xf2, 0x88, 0xeb, 0xe3, 0x2b, 0x4b, 0x9b, 0x53,
521 	0xbf, 0x2d, 0x3a, 0x85, 0xb4, 0x59, 0x76, 0x58, 0x32, 0x51, 0xf0, 0xec
522 };
523 static const uint8_t nist_186_2_ecdsa_testvector_14_public_y[] = {
524 /* Qy */
525 	0x30, 0x15, 0x6d, 0x8e, 0x0d, 0x21, 0x2a, 0x66, 0xc0, 0x71, 0xfb, 0x2e,
526 	0x7b, 0x42, 0x2e, 0xf1, 0x78, 0x4a, 0x95, 0xda, 0xcf, 0xfd, 0x9e, 0xdb
527 };
528 /* k = 008c135723cb6a10cbd3e2cde313aee847477e66c4220f47 */
529 static const uint8_t nist_186_2_ecdsa_testvector_14_out[] = {
530 /* R */
531 	0x37, 0x03, 0x31, 0x50, 0xaf, 0xed, 0x02, 0x9f, 0xd8, 0x39, 0x07, 0x16,
532 	0xea, 0xc6, 0x50, 0x02, 0x23, 0xe7, 0x21, 0x54, 0xcc, 0xff, 0x9f, 0xee,
533 /* S */
534 	0xb4, 0xe9, 0x78, 0xe8, 0xd4, 0x99, 0xcc, 0x1b, 0xe5, 0x76, 0xde, 0xa7,
535 	0x4c, 0x0d, 0xd7, 0x4c, 0xaf, 0xe9, 0xe7, 0x94, 0xa7, 0x56, 0x31, 0x72
536 };
537 static const uint8_t nist_186_2_ecdsa_testvector_15_ptx[] = {
538 /* Msg */
539 	0xa3, 0xbb, 0xba, 0xd7, 0x66, 0x71, 0xd8, 0xfd, 0xac, 0xbb, 0xee, 0x1f,
540 	0x5a, 0xb2, 0x41, 0xbd, 0x01, 0x78, 0xff, 0x99, 0x6e, 0x76, 0x77, 0x18,
541 	0x7c, 0xe8, 0x88, 0xea, 0x2d, 0x9c, 0x5a, 0xed, 0xf9, 0xf6, 0x4d, 0x4f,
542 	0x66, 0x38, 0x2f, 0xf4, 0xd9, 0x00, 0xb2, 0x17, 0xac, 0x13, 0x1d, 0x33,
543 	0x80, 0x58, 0x41, 0x24, 0xd5, 0x28, 0xaf, 0x89, 0xd8, 0xc5, 0x28, 0x6e,
544 	0x7b, 0x27, 0x55, 0x28, 0xcb, 0xff, 0xb8, 0x7f, 0x7f, 0xf6, 0xe3, 0x13,
545 	0xcc, 0x35, 0xe8, 0xf8, 0x81, 0x2b, 0x10, 0xa4, 0x4f, 0x8a, 0xd0, 0x0b,
546 	0x68, 0x93, 0xf8, 0x08, 0x4d, 0x94, 0x2e, 0xff, 0xe0, 0xaf, 0x9b, 0xc1,
547 	0xc1, 0xdc, 0xe4, 0xaf, 0xd7, 0x31, 0x5c, 0x23, 0x2d, 0x62, 0x78, 0x0b,
548 	0x00, 0x84, 0x83, 0xd7, 0x16, 0x16, 0x92, 0x96, 0x51, 0x41, 0xbb, 0x5b,
549 	0x83, 0x5f, 0x82, 0xe6, 0x84, 0xbb, 0x94, 0x80
550 };
551 static const uint8_t nist_186_2_ecdsa_testvector_15_private[] = {
552 /* d */
553 	0x00, 0x6d, 0xfc, 0x40, 0x88, 0x0e, 0x0c, 0x42, 0xd2, 0xce, 0xbc, 0xde,
554 	0xe2, 0x55, 0x04, 0x0d, 0x18, 0xbb, 0x99, 0x19, 0x09, 0x81, 0xf9, 0xa9
555 };
556 static const uint8_t nist_186_2_ecdsa_testvector_15_public_x[] = {
557 /* Qx */
558 	0xb1, 0x19, 0x56, 0xa2, 0x9a, 0xf6, 0x98, 0x40, 0x43, 0x97, 0x3e, 0x2d,
559 	0xe4, 0x6d, 0x53, 0xd8, 0x70, 0xe0, 0x46, 0x87, 0xca, 0xe5, 0x97, 0x28
560 };
561 static const uint8_t nist_186_2_ecdsa_testvector_15_public_y[] = {
562 /* Qy */
563 	0xc9, 0x15, 0xf8, 0x8a, 0xa0, 0xfa, 0x98, 0x22, 0x76, 0x2c, 0xc4, 0xe6,
564 	0x0d, 0xf7, 0x59, 0xd1, 0x89, 0xa1, 0x0c, 0x48, 0x6b, 0x90, 0x1d, 0x5e
565 };
566 /* k = 009e03961f041fa811ff88c4948bc0a6d867a7fef5f39453 */
567 static const uint8_t nist_186_2_ecdsa_testvector_15_out[] = {
568 /* R */
569 	0xc4, 0x59, 0xf7, 0xbc, 0xea, 0x05, 0x02, 0x10, 0xe3, 0x36, 0x9a, 0xc1,
570 	0x74, 0xba, 0x89, 0xc8, 0x23, 0xca, 0x1b, 0x0d, 0x4c, 0x09, 0x64, 0xf6,
571 /* S */
572 	0x04, 0x71, 0x5c, 0xba, 0x9b, 0xa3, 0x1c, 0x4e, 0xd9, 0xbf, 0x0b, 0xe0,
573 	0x7d, 0x19, 0x4e, 0x2a, 0x70, 0x92, 0x94, 0x47, 0x2c, 0xc6, 0x0b, 0xdf
574 };
575 /* [P-224] */
576 static const uint8_t nist_186_2_ecdsa_testvector_16_ptx[] = {
577 /* Msg */
578 	0x66, 0xe9, 0x8a, 0x16, 0x58, 0x54, 0xcd, 0x07, 0x98, 0x9b, 0x1e, 0xe0,
579 	0xec, 0x3f, 0x8d, 0xbe, 0x0e, 0xe3, 0xc2, 0xfb, 0x00, 0x51, 0xef, 0x53,
580 	0xa0, 0xbe, 0x03, 0x45, 0x7c, 0x4f, 0x21, 0xbc, 0xe7, 0xdc, 0x50, 0xef,
581 	0x4d, 0xf3, 0x74, 0x86, 0xc3, 0x20, 0x7d, 0xfe, 0xe2, 0x6b, 0xde, 0x4e,
582 	0xd6, 0x23, 0x40, 0xcb, 0xb2, 0xda, 0x78, 0x49, 0x06, 0xb1, 0xb7, 0x83,
583 	0xb4, 0xd6, 0x01, 0xbd, 0xff, 0x4a, 0xe1, 0xa7, 0xe5, 0xe8, 0x5a, 0x85,
584 	0xaf, 0xa3, 0x20, 0x8d, 0xc6, 0x0f, 0x09, 0x90, 0xc8, 0x23, 0xbe, 0xdd,
585 	0xdb, 0x3d, 0xb6, 0x63, 0x42, 0x66, 0x65, 0x15, 0x2e, 0xd7, 0xb0, 0x93,
586 	0xd6, 0xbd, 0xa5, 0x06, 0xc9, 0x3a, 0x69, 0x4b, 0x83, 0xac, 0x71, 0x55,
587 	0x3f, 0x31, 0xf5, 0xcc, 0x0d, 0x6b, 0xa2, 0xfa, 0x24, 0x80, 0x90, 0xe8,
588 	0x79, 0x65, 0x73, 0xc4, 0x91, 0x5d, 0x15, 0x86
589 };
590 static const uint8_t nist_186_2_ecdsa_testvector_16_private[] = {
591 /* d */
592 	0x00, 0x69, 0x75, 0xfe, 0xbc, 0x7b, 0x44, 0x2d, 0xab, 0x8f, 0xd2, 0x83,
593 	0xec, 0x2e, 0x4b, 0xdd, 0x0e, 0x00, 0x09, 0x52, 0x5b, 0x1c, 0xe0, 0x71,
594 	0xf9, 0xab, 0x59, 0x56
595 };
596 static const uint8_t nist_186_2_ecdsa_testvector_16_public_x[] = {
597 /* Qx */
598 	0x56, 0xfb, 0x65, 0x38, 0xf1, 0x72, 0x3d, 0x2b, 0xef, 0x3c, 0x76, 0x41,
599 	0x34, 0x32, 0x0b, 0x44, 0xba, 0x61, 0x5f, 0x66, 0x3d, 0xb8, 0x04, 0xe5,
600 	0x40, 0x50, 0xb9, 0x5a
601 };
602 static const uint8_t nist_186_2_ecdsa_testvector_16_public_y[] = {
603 /* Qy */
604 	0x95, 0x14, 0xa4, 0x42, 0xeb, 0x66, 0xdb, 0xf2, 0xb4, 0x50, 0x74, 0x6f,
605 	0x66, 0xd5, 0x41, 0x01, 0x87, 0x7a, 0x50, 0xd4, 0xbc, 0x29, 0x10, 0xc6,
606 	0x1d, 0x00, 0x5a, 0xdd
607 };
608 /* k = 00591cb4272ddd1546d3d67bd2707d47ca51fd2c81d04635ad71e8aa */
609 static const uint8_t nist_186_2_ecdsa_testvector_16_out[] = {
610 /* R */
611 	0x96, 0x60, 0xbf, 0xff, 0xc1, 0x73, 0x43, 0x1d, 0x29, 0xf8, 0x3f, 0xa2,
612 	0xaf, 0x0b, 0xa5, 0x81, 0x79, 0x1b, 0xe3, 0xf4, 0x36, 0x25, 0x31, 0x6f,
613 	0x39, 0x5d, 0x27, 0xff,
614 /* S */
615 	0x9e, 0x8c, 0x3b, 0x82, 0xbc, 0xa2, 0xa4, 0x46, 0x7c, 0x96, 0x94, 0xc6,
616 	0x66, 0xdf, 0xf7, 0xf0, 0xe7, 0x9d, 0x27, 0x9b, 0xd6, 0x4e, 0xb8, 0x3b,
617 	0xce, 0x2e, 0x30, 0x18
618 };
619 static const uint8_t nist_186_2_ecdsa_testvector_17_ptx[] = {
620 /* Msg */
621 	0xd3, 0x9a, 0xd5, 0x61, 0x35, 0xbe, 0xc4, 0xc3, 0xc4, 0x36, 0x2d, 0x59,
622 	0xd3, 0xd9, 0x17, 0x5a, 0xcb, 0x38, 0x66, 0x70, 0xc5, 0xdb, 0x0a, 0x17,
623 	0x57, 0xce, 0x76, 0x46, 0xad, 0x5d, 0x53, 0x52, 0xdc, 0x1b, 0x76, 0x0f,
624 	0x74, 0x29, 0x10, 0x38, 0x54, 0xb4, 0x25, 0x11, 0xc3, 0xc0, 0x40, 0x4a,
625 	0xbc, 0x24, 0x64, 0x27, 0x88, 0xd6, 0x45, 0xde, 0x93, 0x69, 0xb8, 0x41,
626 	0x78, 0xd4, 0x69, 0x9c, 0x5e, 0x75, 0xcc, 0xe1, 0x87, 0x56, 0x56, 0x02,
627 	0x26, 0xae, 0xec, 0x9f, 0x71, 0xab, 0x9c, 0xe1, 0xf8, 0x6e, 0x8b, 0xa6,
628 	0x35, 0x58, 0x2e, 0xde, 0x64, 0x84, 0xbd, 0x34, 0x95, 0x94, 0xe5, 0xf2,
629 	0xff, 0xb1, 0xbe, 0x1e, 0x97, 0xcd, 0xfc, 0xe9, 0xe1, 0x2b, 0x69, 0x4b,
630 	0x06, 0x22, 0x93, 0xe7, 0x28, 0x1e, 0xc1, 0x34, 0xf2, 0xe7, 0x2c, 0xde,
631 	0x73, 0x26, 0x6c, 0x6a, 0x2c, 0x25, 0x31, 0x1a
632 };
633 static const uint8_t nist_186_2_ecdsa_testvector_17_private[] = {
634 /* d */
635 	0x00, 0xfd, 0x12, 0x10, 0xef, 0x46, 0x85, 0xba, 0x8e, 0x31, 0xa3, 0xe0,
636 	0xd6, 0x6e, 0x03, 0xf9, 0x12, 0x64, 0xa2, 0xa5, 0xb8, 0x89, 0x7a, 0x1d,
637 	0xc1, 0x81, 0xb3, 0x53
638 };
639 static const uint8_t nist_186_2_ecdsa_testvector_17_public_x[] = {
640 /* Qx */
641 	0x39, 0x1d, 0xe8, 0x05, 0x90, 0xdf, 0xbc, 0x60, 0xbb, 0x41, 0xcc, 0x9f,
642 	0x3d, 0x93, 0x70, 0x6d, 0x1d, 0x00, 0x83, 0xf1, 0xef, 0x31, 0xd3, 0xa0,
643 	0x31, 0xfd, 0xc6, 0x04
644 };
645 static const uint8_t nist_186_2_ecdsa_testvector_17_public_y[] = {
646 /* Qy */
647 	0x4d, 0xd1, 0x92, 0x8e, 0x55, 0x76, 0x36, 0xf0, 0xa5, 0xdf, 0x08, 0x2a,
648 	0xa0, 0xb1, 0x85, 0xd0, 0x8f, 0x57, 0xd1, 0xd5, 0xbf, 0x78, 0x57, 0xfc,
649 	0xee, 0xb8, 0xc4, 0xc1
650 };
651 /* k = 005ab787e0961baaaba6c9deef88f69fed3e348a93f6564ded6fb51a */
652 static const uint8_t nist_186_2_ecdsa_testvector_17_out[] = {
653 /* R */
654 	0xfc, 0x9a, 0x20, 0x58, 0xb2, 0xa7, 0xb6, 0x4c, 0x3c, 0x48, 0xf4, 0x0a,
655 	0x36, 0x43, 0xb1, 0x8d, 0xbf, 0x41, 0x8f, 0x57, 0x99, 0x29, 0xbf, 0x52,
656 	0xa5, 0xde, 0xa7, 0x73,
657 /* S */
658 	0x05, 0x65, 0x3b, 0x94, 0x6b, 0x27, 0x0a, 0xaf, 0x01, 0x35, 0x1b, 0x21,
659 	0xde, 0x75, 0x35, 0x08, 0x61, 0x0b, 0x1a, 0x76, 0xcf, 0x42, 0x36, 0x6f,
660 	0x1a, 0x6c, 0x1d, 0x62
661 };
662 static const uint8_t nist_186_2_ecdsa_testvector_18_ptx[] = {
663 /* Msg */
664 	0x47, 0x71, 0x01, 0xda, 0xa2, 0x82, 0xa5, 0xa5, 0x5b, 0x48, 0xc5, 0x31,
665 	0x32, 0x90, 0xc8, 0xda, 0x65, 0xb0, 0x7c, 0xc4, 0xd4, 0x1a, 0x5a, 0x14,
666 	0x63, 0x30, 0x0c, 0x60, 0xa0, 0x5a, 0x2c, 0x63, 0xa6, 0x56, 0x4f, 0xf6,
667 	0x41, 0xd0, 0x42, 0x3c, 0x52, 0x33, 0x93, 0x1c, 0x75, 0xbe, 0x53, 0xf4,
668 	0xe2, 0xda, 0x1b, 0x8b, 0x91, 0xab, 0x4d, 0x48, 0xa2, 0xe5, 0x9c, 0xa2,
669 	0xfb, 0xe1, 0xcf, 0xd8, 0x33, 0xf0, 0xc1, 0xe2, 0xaf, 0xef, 0xad, 0xa7,
670 	0x0a, 0x1b, 0xa8, 0x70, 0xba, 0x27, 0x6f, 0x9d, 0xf1, 0x8c, 0x63, 0x97,
671 	0xc2, 0x21, 0xd2, 0x05, 0x85, 0xeb, 0x78, 0x43, 0x7c, 0x36, 0x46, 0x0f,
672 	0xb7, 0xe4, 0x62, 0x86, 0x34, 0x06, 0x6e, 0x50, 0x4b, 0xa9, 0x0d, 0x17,
673 	0x49, 0xf2, 0xa3, 0x3d, 0x5c, 0x6e, 0x5d, 0xce, 0xaf, 0xa3, 0x72, 0xb3,
674 	0xd5, 0xeb, 0xa8, 0x29, 0x6b, 0x82, 0x19, 0x72
675 };
676 static const uint8_t nist_186_2_ecdsa_testvector_18_private[] = {
677 /* d */
678 	0x00, 0xd6, 0x61, 0xae, 0x9d, 0x6a, 0x6e, 0xab, 0x7c, 0xa8, 0x37, 0x83,
679 	0x31, 0xe4, 0x35, 0x66, 0x45, 0x35, 0x72, 0x08, 0x04, 0xca, 0xb0, 0x9d,
680 	0xb1, 0xcb, 0xca, 0x6c
681 };
682 static const uint8_t nist_186_2_ecdsa_testvector_18_public_x[] = {
683 /* Qx */
684 	0x99, 0x34, 0x73, 0xa7, 0xd4, 0xb3, 0x33, 0xe3, 0x4c, 0x17, 0xeb, 0xfa,
685 	0xa8, 0x6e, 0xd9, 0x29, 0xc8, 0x64, 0x5c, 0xcf, 0xd7, 0x97, 0x59, 0xc0,
686 	0x84, 0xcd, 0xb1, 0x74
687 };
688 static const uint8_t nist_186_2_ecdsa_testvector_18_public_y[] = {
689 /* Qy */
690 	0xa2, 0x6a, 0xd5, 0x0e, 0x57, 0x34, 0x79, 0x65, 0xb4, 0x2d, 0x5a, 0x15,
691 	0x9f, 0xf5, 0x3a, 0x28, 0x95, 0x7a, 0x5f, 0x3b, 0x57, 0xa8, 0x44, 0xdc,
692 	0xd0, 0xee, 0x6d, 0x54
693 };
694 /* k = 00171f192db736283e30bb89fd6f2aeeb4c70d3eaae2ac58451fbb3b */
695 static const uint8_t nist_186_2_ecdsa_testvector_18_out[] = {
696 /* R */
697 	0x25, 0x9f, 0xda, 0x31, 0x43, 0xc5, 0x84, 0x13, 0x1a, 0xb8, 0xe4, 0x9f,
698 	0xea, 0xf9, 0x3d, 0xad, 0x3b, 0x86, 0x57, 0x5f, 0x27, 0x89, 0x96, 0x24,
699 	0x06, 0xbf, 0x80, 0x92,
700 /* S */
701 	0xce, 0xa1, 0xcc, 0x15, 0xe2, 0x8c, 0x09, 0x4c, 0x3b, 0xc5, 0x57, 0xb3,
702 	0xf5, 0xa5, 0x17, 0x2b, 0x62, 0x91, 0x0c, 0xd7, 0xcf, 0xbb, 0x61, 0x93,
703 	0xae, 0x6d, 0x8d, 0xd2
704 };
705 static const uint8_t nist_186_2_ecdsa_testvector_19_ptx[] = {
706 /* Msg */
707 	0x85, 0xbc, 0xd4, 0x06, 0xf4, 0xcd, 0xc8, 0xf3, 0x0e, 0x19, 0x55, 0x3b,
708 	0xa9, 0x2f, 0x9c, 0x08, 0x94, 0xb2, 0x83, 0x3d, 0x7b, 0xb0, 0xb5, 0x65,
709 	0x0a, 0x30, 0xeb, 0xe8, 0x55, 0x0a, 0x69, 0x85, 0x78, 0xfc, 0xcb, 0xfc,
710 	0x7a, 0xf9, 0x01, 0x0b, 0x78, 0xc4, 0x99, 0x9c, 0xff, 0xbe, 0x3c, 0x3d,
711 	0xb9, 0xfd, 0x7c, 0xd0, 0x4c, 0x9d, 0xcd, 0x84, 0x7f, 0x5b, 0xd0, 0x04,
712 	0x9f, 0x5f, 0xd8, 0xee, 0x21, 0x5a, 0xa7, 0x86, 0x88, 0xd1, 0x78, 0xac,
713 	0x89, 0xb9, 0x43, 0x0b, 0x6d, 0x43, 0x3c, 0x94, 0xb8, 0xf9, 0x9c, 0x2b,
714 	0x08, 0x0a, 0xa5, 0x9f, 0x3f, 0xe2, 0xe0, 0xe0, 0xe4, 0xfe, 0xaa, 0x6c,
715 	0xc7, 0xff, 0xee, 0x0b, 0xe4, 0xfd, 0x34, 0xbc, 0x8a, 0x1d, 0xdb, 0xef,
716 	0xbd, 0x66, 0xa2, 0xf4, 0xd8, 0xd0, 0x6e, 0xb4, 0x77, 0x9e, 0x47, 0x9f,
717 	0x93, 0xee, 0xa3, 0xe5, 0xef, 0x8f, 0xe7, 0xe9
718 };
719 static const uint8_t nist_186_2_ecdsa_testvector_19_private[] = {
720 /* d */
721 	0x00, 0x5a, 0x52, 0x8a, 0x01, 0x67, 0x68, 0x33, 0x93, 0xfa, 0x59, 0x18,
722 	0xb9, 0x49, 0x89, 0xb9, 0x34, 0x2f, 0x81, 0x73, 0xcc, 0x97, 0x57, 0xdd,
723 	0xea, 0x49, 0xfe, 0xd7
724 };
725 static const uint8_t nist_186_2_ecdsa_testvector_19_public_x[] = {
726 /* Qx */
727 	0xb8, 0xc3, 0x39, 0x44, 0xff, 0x61, 0xc5, 0x60, 0x09, 0x04, 0xca, 0x2a,
728 	0xe0, 0xae, 0xfa, 0xe6, 0xd2, 0x1b, 0xf3, 0xc7, 0x4a, 0xa2, 0x1f, 0xaf,
729 	0xd8, 0x24, 0xca, 0x69
730 };
731 static const uint8_t nist_186_2_ecdsa_testvector_19_public_y[] = {
732 /* Qy */
733 	0xed, 0x93, 0xa6, 0xed, 0xb3, 0xf3, 0xc3, 0xc4, 0x99, 0x7e, 0xbf, 0xbc,
734 	0x97, 0x66, 0x49, 0x65, 0x44, 0x9e, 0x5e, 0xd7, 0xea, 0xae, 0x87, 0x5f,
735 	0xc3, 0x28, 0xf0, 0xee
736 };
737 /* k = 000c2aa7a8a5fe907b2cb5fc77917dd14fd266315503a3c11476d285 */
738 static const uint8_t nist_186_2_ecdsa_testvector_19_out[] = {
739 /* R */
740 	0x6b, 0x4b, 0xc7, 0xa9, 0x07, 0x09, 0x0d, 0xb6, 0x6e, 0x3a, 0x02, 0x25,
741 	0x8f, 0x04, 0x3c, 0x40, 0x33, 0x04, 0x03, 0xb2, 0x2d, 0xea, 0x13, 0x1b,
742 	0xad, 0x0d, 0xbb, 0x86,
743 /* S */
744 	0xec, 0xea, 0x70, 0xcd, 0x69, 0x21, 0xe9, 0x34, 0x2d, 0x49, 0xb8, 0x81,
745 	0x91, 0xc0, 0x20, 0xd2, 0xbf, 0xaf, 0xfa, 0xa6, 0x7d, 0xf5, 0x93, 0x88,
746 	0xdb, 0x4a, 0x3e, 0xa5
747 };
748 static const uint8_t nist_186_2_ecdsa_testvector_20_ptx[] = {
749 /* Msg */
750 	0xc5, 0x8c, 0xc5, 0xe0, 0xeb, 0xa5, 0x1a, 0x42, 0xe3, 0xa9, 0x88, 0xc2,
751 	0x43, 0x24, 0x81, 0xdb, 0x2e, 0x01, 0x53, 0x72, 0x84, 0xef, 0xfc, 0x5c,
752 	0x56, 0x09, 0x3f, 0x21, 0x9d, 0xb5, 0xf7, 0xff, 0x2b, 0xcc, 0xac, 0x32,
753 	0xe1, 0xfc, 0x64, 0x73, 0x23, 0x6b, 0xbb, 0xbf, 0x89, 0x9d, 0x36, 0x59,
754 	0xd7, 0x98, 0xd5, 0x12, 0x30, 0x46, 0xe7, 0xc8, 0x86, 0x1a, 0x22, 0x2d,
755 	0x55, 0xf6, 0xf3, 0xc9, 0x91, 0x4d, 0x13, 0x43, 0xdd, 0x85, 0x5b, 0xdc,
756 	0xfd, 0x9f, 0xd9, 0x3c, 0x8e, 0x19, 0x23, 0x71, 0xf4, 0x13, 0xeb, 0x35,
757 	0x95, 0xb2, 0xd4, 0x6f, 0x45, 0xc2, 0x84, 0xfd, 0x00, 0x9f, 0xfb, 0xb1,
758 	0xdf, 0x55, 0x23, 0x99, 0x45, 0x06, 0xa8, 0x84, 0x59, 0x8c, 0x09, 0xc1,
759 	0xba, 0x60, 0xf0, 0x2a, 0x6e, 0xba, 0xbf, 0x62, 0x1b, 0xfa, 0x6b, 0x5a,
760 	0x79, 0x47, 0x8d, 0x1a, 0x07, 0x76, 0xb6, 0xbe
761 };
762 static const uint8_t nist_186_2_ecdsa_testvector_20_private[] = {
763 /* d */
764 	0x00, 0x75, 0x29, 0x58, 0xa7, 0x9d, 0x6d, 0x45, 0x96, 0xc1, 0x01, 0xaa,
765 	0xe6, 0x06, 0x13, 0x9b, 0xc9, 0x02, 0xb0, 0x80, 0x8b, 0x94, 0x41, 0xa9,
766 	0xba, 0x48, 0xd6, 0xba
767 };
768 static const uint8_t nist_186_2_ecdsa_testvector_20_public_x[] = {
769 /* Qx */
770 	0x3b, 0x55, 0xbe, 0x3a, 0x8c, 0xc5, 0xc4, 0x70, 0x85, 0xab, 0x5d, 0x29,
771 	0xe3, 0xb6, 0xc2, 0x8e, 0x51, 0xe7, 0x4b, 0x79, 0xd1, 0xa8, 0x74, 0xb5,
772 	0xd7, 0xbb, 0xbb, 0x20
773 };
774 static const uint8_t nist_186_2_ecdsa_testvector_20_public_y[] = {
775 /* Qy */
776 	0xae, 0xba, 0x7d, 0x2f, 0xf6, 0x7e, 0x2f, 0x68, 0x61, 0xe4, 0xde, 0x55,
777 	0x21, 0x16, 0xbd, 0xc1, 0xcf, 0xa4, 0xf1, 0x87, 0x14, 0x9d, 0x19, 0xab,
778 	0xd1, 0xac, 0xd7, 0x58
779 };
780 /* k = 009c2abc0d279dac6afb9dc33af8dc273e30c7e6e502347d076806bc */
781 static const uint8_t nist_186_2_ecdsa_testvector_20_out[] = {
782 /* R */
783 	0x3d, 0xa5, 0x22, 0xea, 0x72, 0xe2, 0x53, 0x2a, 0xa4, 0x39, 0x49, 0x29,
784 	0x91, 0x01, 0xd3, 0x12, 0x5c, 0xec, 0xc1, 0xbf, 0x45, 0x74, 0x7e, 0xe1,
785 	0xfd, 0x49, 0xde, 0xd8,
786 /* S */
787 	0xf8, 0x22, 0x63, 0x83, 0x96, 0xa4, 0xc1, 0xd1, 0xd6, 0xa5, 0xec, 0xcf,
788 	0x89, 0xbd, 0x26, 0xf4, 0x24, 0x8b, 0xde, 0x68, 0x16, 0x31, 0xa2, 0x90,
789 	0xde, 0x7d, 0xb4, 0x12
790 };
791 static const uint8_t nist_186_2_ecdsa_testvector_21_ptx[] = {
792 /* Msg */
793 	0xb5, 0x2a, 0xda, 0x0e, 0x56, 0xc5, 0xd6, 0xf5, 0x52, 0xfc, 0xea, 0xcd,
794 	0xd0, 0xaf, 0x88, 0x0f, 0xf4, 0xc2, 0x12, 0x65, 0x54, 0xc3, 0xf0, 0x69,
795 	0xac, 0xcd, 0xe1, 0xb0, 0xd2, 0xac, 0x8e, 0x07, 0xec, 0x41, 0x65, 0xfc,
796 	0xe0, 0x28, 0xa4, 0xa1, 0x0c, 0x99, 0xb4, 0x8c, 0x38, 0x8c, 0xb9, 0x22,
797 	0xc8, 0x21, 0x67, 0x16, 0x36, 0x3e, 0x17, 0x2c, 0xc0, 0x7a, 0x1a, 0x43,
798 	0x5e, 0x3a, 0x4d, 0x92, 0xf7, 0x19, 0xed, 0x32, 0xd4, 0x8e, 0xad, 0xdc,
799 	0x55, 0xc9, 0x06, 0xf5, 0xe3, 0xdd, 0xcf, 0xc7, 0x25, 0x24, 0x0d, 0x12,
800 	0x77, 0xdf, 0x0c, 0xc3, 0x98, 0x1e, 0xaf, 0x03, 0xa2, 0xe0, 0x04, 0x73,
801 	0x40, 0x7a, 0x1b, 0xb6, 0x1b, 0x3d, 0x19, 0x31, 0x95, 0x53, 0x88, 0x0e,
802 	0xba, 0xea, 0xf1, 0x87, 0x73, 0x95, 0xad, 0x61, 0xfd, 0xee, 0xf8, 0xb6,
803 	0x9a, 0x81, 0x47, 0xf8, 0x87, 0xe5, 0xdc, 0x33
804 };
805 static const uint8_t nist_186_2_ecdsa_testvector_21_private[] = {
806 /* d */
807 	0x00, 0x37, 0x33, 0xe9, 0x2e, 0x47, 0xfb, 0x22, 0xc7, 0xa6, 0xc4, 0x5b,
808 	0xa5, 0x11, 0x5f, 0xcc, 0x4d, 0xb1, 0x64, 0xda, 0x56, 0xbc, 0x90, 0x52,
809 	0x93, 0x0a, 0xcc, 0xc4
810 };
811 static const uint8_t nist_186_2_ecdsa_testvector_21_public_x[] = {
812 /* Qx */
813 	0xf3, 0x46, 0x5d, 0xa1, 0x23, 0x8f, 0xa9, 0x59, 0xb4, 0xb5, 0x25, 0xb1,
814 	0x27, 0xb5, 0x3a, 0xbf, 0x0c, 0x9e, 0x29, 0x5d, 0xc8, 0x30, 0x87, 0x46,
815 	0x35, 0xc4, 0xcc, 0xd0
816 };
817 static const uint8_t nist_186_2_ecdsa_testvector_21_public_y[] = {
818 /* Qy */
819 	0xb4, 0x2a, 0xf0, 0xbb, 0x8f, 0xeb, 0x22, 0xd4, 0x88, 0x9e, 0xb3, 0xe4,
820 	0xfe, 0x25, 0x6d, 0x61, 0xbe, 0xb5, 0x0f, 0x02, 0xd7, 0x0e, 0x87, 0x50,
821 	0x71, 0xfc, 0x87, 0xa7
822 };
823 /* k = 0028761d9ab7ae71a3b0713e58d7fdf6c1f709f52c6313c21127cf83 */
824 static const uint8_t nist_186_2_ecdsa_testvector_21_out[] = {
825 /* R */
826 	0xd0, 0x20, 0x11, 0x39, 0x1f, 0xd3, 0x53, 0xb7, 0x72, 0xb3, 0xa3, 0xa7,
827 	0x2f, 0xc1, 0xe4, 0x0f, 0x9b, 0xe7, 0xd4, 0xa8, 0x6a, 0x54, 0x28, 0xf1,
828 	0x63, 0x4d, 0x6a, 0x30,
829 /* S */
830 	0xfc, 0x55, 0x0f, 0x23, 0xca, 0x67, 0xbb, 0x08, 0x74, 0x21, 0x0f, 0xda,
831 	0x93, 0x44, 0xd4, 0x85, 0x3b, 0xa1, 0x14, 0xf5, 0x43, 0x69, 0x7a, 0x94,
832 	0x59, 0x4c, 0x96, 0xc2
833 };
834 static const uint8_t nist_186_2_ecdsa_testvector_22_ptx[] = {
835 /* Msg */
836 	0x24, 0xe3, 0xb4, 0x49, 0xe3, 0xb6, 0x48, 0xa4, 0xc3, 0x7c, 0x04, 0x88,
837 	0x15, 0xd1, 0x63, 0x8d, 0xda, 0x43, 0x0c, 0xd4, 0x85, 0x07, 0xb1, 0x52,
838 	0x02, 0xeb, 0x37, 0x6b, 0xf6, 0x8c, 0x17, 0xc3, 0x49, 0xc9, 0x04, 0x51,
839 	0xe2, 0x77, 0xce, 0xb5, 0xb1, 0x56, 0x86, 0xcb, 0xf3, 0x44, 0xe3, 0x80,
840 	0xb1, 0xb1, 0xe4, 0xe4, 0x8a, 0x53, 0xb7, 0x81, 0xb3, 0x1b, 0xda, 0xec,
841 	0x3c, 0x67, 0x80, 0x99, 0x95, 0x79, 0x36, 0xf3, 0x50, 0x28, 0xc6, 0xac,
842 	0x28, 0xd5, 0x5b, 0x52, 0x43, 0xa1, 0xe7, 0x24, 0xb4, 0xdd, 0xc2, 0x23,
843 	0x44, 0xc3, 0x94, 0x6c, 0x72, 0x63, 0x74, 0xc4, 0xb8, 0xdf, 0x51, 0x75,
844 	0x10, 0xdb, 0x91, 0x59, 0xb7, 0x30, 0xf9, 0x34, 0x31, 0xe0, 0xcd, 0x46,
845 	0x8d, 0x4f, 0x38, 0x21, 0xea, 0xb0, 0xed, 0xb9, 0x3a, 0xbd, 0x0f, 0xba,
846 	0x46, 0xab, 0x4f, 0x1e, 0xf3, 0x5d, 0x54, 0xfe
847 };
848 static const uint8_t nist_186_2_ecdsa_testvector_22_private[] = {
849 /* d */
850 	0x00, 0x59, 0x8f, 0xca, 0xbe, 0x59, 0x04, 0x52, 0xc6, 0x66, 0x6d, 0x0b,
851 	0xa3, 0xd1, 0x70, 0x7e, 0x94, 0x43, 0x49, 0xb5, 0x93, 0x06, 0x62, 0xbc,
852 	0xa6, 0x14, 0x17, 0x8a
853 };
854 static const uint8_t nist_186_2_ecdsa_testvector_22_public_x[] = {
855 /* Qx */
856 	0xe5, 0xf5, 0x82, 0x64, 0xc6, 0x51, 0xf8, 0x98, 0x19, 0x91, 0xcf, 0x8d,
857 	0xe0, 0xdb, 0xf9, 0x02, 0x35, 0xc3, 0x1c, 0x93, 0xa0, 0xa6, 0x3c, 0xe1,
858 	0xe4, 0x84, 0x91, 0x5b
859 };
860 static const uint8_t nist_186_2_ecdsa_testvector_22_public_y[] = {
861 /* Qy */
862 	0xf1, 0x62, 0x34, 0xcb, 0x01, 0x66, 0xa7, 0x31, 0x60, 0xb0, 0x5c, 0x31,
863 	0x4c, 0xc7, 0xa0, 0xc9, 0x47, 0x6e, 0x6f, 0xcf, 0x3b, 0xc1, 0x14, 0x6e,
864 	0xd1, 0x28, 0x81, 0xde
865 };
866 /* k = 00fa783144e68bf30bf444a7b64b754f9b015c530970f8011d717b14 */
867 static const uint8_t nist_186_2_ecdsa_testvector_22_out[] = {
868 /* R */
869 	0x8f, 0x28, 0x56, 0xeb, 0xa0, 0x02, 0x4c, 0xc8, 0xaf, 0xbf, 0x17, 0x05,
870 	0xd0, 0xca, 0xb8, 0x10, 0x71, 0xb3, 0xb2, 0xb6, 0x2c, 0xac, 0x22, 0xa5,
871 	0x86, 0x1d, 0xb0, 0xad,
872 /* S */
873 	0x66, 0x93, 0x65, 0x48, 0x9e, 0x79, 0x07, 0x63, 0x11, 0x2a, 0xf6, 0x28,
874 	0x8e, 0xa7, 0x3c, 0x04, 0x81, 0x02, 0xef, 0x5f, 0x60, 0xf3, 0x80, 0xb8,
875 	0xfc, 0xea, 0xb9, 0x13
876 };
877 static const uint8_t nist_186_2_ecdsa_testvector_23_ptx[] = {
878 /* Msg */
879 	0xb2, 0xf1, 0x41, 0xd9, 0x6a, 0xd8, 0xa2, 0xb9, 0x03, 0xa8, 0x9e, 0xbc,
880 	0x51, 0xf7, 0x47, 0x3e, 0x94, 0x12, 0x86, 0x12, 0xa0, 0x91, 0x60, 0xbd,
881 	0x3b, 0x2f, 0x77, 0xe2, 0xc7, 0xd9, 0xd4, 0xfe, 0x21, 0x05, 0xe3, 0x56,
882 	0xc8, 0x45, 0xbf, 0x2d, 0x42, 0x1c, 0xb0, 0x39, 0xbb, 0x10, 0xf3, 0x58,
883 	0xf0, 0x00, 0xb9, 0x80, 0x4b, 0xb8, 0x71, 0xf4, 0x4f, 0xc3, 0x4a, 0xbe,
884 	0x37, 0x80, 0xf4, 0x59, 0xda, 0x79, 0xa7, 0xae, 0xd2, 0xef, 0x67, 0x42,
885 	0xdd, 0xba, 0x86, 0xad, 0x83, 0x50, 0x6a, 0x4e, 0xfa, 0x23, 0x91, 0x3d,
886 	0x46, 0x30, 0xd1, 0x81, 0xa4, 0xd4, 0xe5, 0x83, 0x29, 0xe2, 0x25, 0xc3,
887 	0xa7, 0xf4, 0x95, 0xca, 0xd0, 0xfe, 0x21, 0x60, 0x9e, 0x29, 0x27, 0xfe,
888 	0xf2, 0xde, 0x36, 0x86, 0x7b, 0x20, 0x16, 0x32, 0xd9, 0x20, 0x08, 0xca,
889 	0x02, 0x0b, 0x4e, 0x1b, 0xe5, 0x27, 0xee, 0xa4
890 };
891 static const uint8_t nist_186_2_ecdsa_testvector_23_private[] = {
892 /* d */
893 	0x00, 0x89, 0x6f, 0xd1, 0x04, 0x3a, 0x16, 0x83, 0x50, 0x40, 0x4d, 0xeb,
894 	0xd5, 0xec, 0x46, 0x14, 0xdb, 0x8f, 0x80, 0x30, 0x0c, 0x5b, 0x0e, 0xed,
895 	0x2f, 0xdf, 0xc8, 0x98
896 };
897 static const uint8_t nist_186_2_ecdsa_testvector_23_public_x[] = {
898 /* Qx */
899 	0x04, 0x01, 0x59, 0x92, 0x28, 0x61, 0x33, 0xee, 0xf5, 0x4e, 0x6e, 0x91,
900 	0xec, 0xc5, 0x8c, 0x02, 0x1c, 0x25, 0x80, 0x61, 0x91, 0xbc, 0xf6, 0x68,
901 	0xf7, 0xf6, 0x51, 0x27
902 };
903 static const uint8_t nist_186_2_ecdsa_testvector_23_public_y[] = {
904 /* Qy */
905 	0xa3, 0x2a, 0x50, 0xf2, 0x8e, 0x1a, 0x4f, 0x2f, 0x07, 0x64, 0x98, 0xf5,
906 	0x0b, 0xf2, 0x7c, 0x29, 0x11, 0x03, 0xf9, 0x93, 0xcb, 0x88, 0xce, 0xb4,
907 	0x5a, 0xc5, 0x50, 0xcb
908 };
909 /* k = 003c00f713e3a2fef78bcd9e534e61fe199faa7238974d118407c820 */
910 static const uint8_t nist_186_2_ecdsa_testvector_23_out[] = {
911 /* R */
912 	0x4a, 0x3b, 0x1d, 0x8f, 0x1d, 0x22, 0x4b, 0x34, 0x91, 0xc7, 0xd3, 0xaf,
913 	0x16, 0x0a, 0xce, 0x4d, 0xa3, 0xb5, 0xda, 0x16, 0xe7, 0x7d, 0x9f, 0x8b,
914 	0xcd, 0x19, 0x59, 0x2d,
915 /* S */
916 	0x43, 0x53, 0xc4, 0xd8, 0x70, 0x53, 0xd7, 0x8c, 0x82, 0x1d, 0x29, 0xba,
917 	0x92, 0x6b, 0xb0, 0x04, 0x42, 0x16, 0x98, 0x75, 0xb9, 0xd9, 0x56, 0x18,
918 	0xf9, 0x35, 0x01, 0x52
919 };
920 static const uint8_t nist_186_2_ecdsa_testvector_24_ptx[] = {
921 /* Msg */
922 	0xbc, 0x64, 0x29, 0x91, 0x65, 0x35, 0x8e, 0x19, 0xe5, 0xac, 0x85, 0x5c,
923 	0xdf, 0xab, 0xfb, 0xe6, 0xc7, 0xae, 0x09, 0xb4, 0xac, 0x50, 0x6f, 0xe0,
924 	0x54, 0x11, 0x3e, 0x80, 0x8e, 0x56, 0xd4, 0xcb, 0xc4, 0xb1, 0x0d, 0x7d,
925 	0xd0, 0x63, 0xb8, 0x7d, 0x10, 0x1f, 0x48, 0xbd, 0xbd, 0x11, 0xcc, 0x62,
926 	0x78, 0x1f, 0x22, 0x26, 0x26, 0x6f, 0x67, 0xfa, 0xfe, 0x29, 0xb1, 0xef,
927 	0xe0, 0x7e, 0x01, 0x56, 0xe9, 0xe9, 0x73, 0x26, 0x44, 0xb4, 0xb8, 0x9f,
928 	0x43, 0xbf, 0xc6, 0x2d, 0xae, 0x7d, 0xce, 0x8f, 0x5b, 0x3f, 0x6f, 0x38,
929 	0xfe, 0xb5, 0x29, 0xf6, 0x43, 0xb1, 0x14, 0xd1, 0x1a, 0x2f, 0xd2, 0x36,
930 	0x52, 0x93, 0xc2, 0x55, 0x6a, 0x31, 0x76, 0xc7, 0xa4, 0x12, 0x68, 0x74,
931 	0x5a, 0xf5, 0xe8, 0xb4, 0x95, 0x95, 0x59, 0xb4, 0xdc, 0x2a, 0x9d, 0x1c,
932 	0x4a, 0x32, 0xce, 0xee, 0xe4, 0x71, 0x2f, 0xb1
933 };
934 static const uint8_t nist_186_2_ecdsa_testvector_24_private[] = {
935 /* d */
936 	0x00, 0x9c, 0x31, 0x01, 0x80, 0x60, 0x9c, 0x72, 0x1a, 0x55, 0x31, 0xcf,
937 	0x4e, 0x43, 0x8b, 0xf3, 0xc8, 0x5e, 0xf2, 0xb2, 0xff, 0xea, 0xc9, 0xa2,
938 	0x1c, 0x66, 0x7d, 0x0e
939 };
940 static const uint8_t nist_186_2_ecdsa_testvector_24_public_x[] = {
941 /* Qx */
942 	0xcc, 0x60, 0x2a, 0x85, 0x82, 0x76, 0xf9, 0x44, 0xbc, 0xcc, 0xa2, 0xac,
943 	0xbb, 0xd8, 0xc9, 0x51, 0x8b, 0x3c, 0xd9, 0xf0, 0x62, 0xe4, 0x80, 0x2e,
944 	0x34, 0x27, 0x80, 0xd7
945 };
946 static const uint8_t nist_186_2_ecdsa_testvector_24_public_y[] = {
947 /* Qy */
948 	0x56, 0x50, 0xef, 0xed, 0xdb, 0xce, 0x1c, 0x00, 0xf5, 0x06, 0xa3, 0xf8,
949 	0x8a, 0x8f, 0x57, 0x66, 0x94, 0x05, 0xe3, 0x44, 0x90, 0x1c, 0xfb, 0x51,
950 	0xce, 0x54, 0xc1, 0x5f
951 };
952 /* k = 00ef15cd8173fa27a393be6b1e1253aaee433b24e8a4d448a960679e */
953 static const uint8_t nist_186_2_ecdsa_testvector_24_out[] = {
954 /* R */
955 	0x73, 0x74, 0xf7, 0xdf, 0x8e, 0x9e, 0x6b, 0x2b, 0xcb, 0x4e, 0x82, 0x25,
956 	0x8a, 0x0f, 0xa8, 0xb1, 0x36, 0xb9, 0x3a, 0xba, 0x18, 0xa5, 0x3a, 0x79,
957 	0xe8, 0xc8, 0xe8, 0x97,
958 /* S */
959 	0xa4, 0xa5, 0xda, 0x18, 0xcb, 0xb9, 0x87, 0xe4, 0x8a, 0x80, 0xa7, 0x3b,
960 	0xd6, 0x9b, 0xe3, 0x78, 0xce, 0x47, 0x6f, 0xbb, 0xda, 0x64, 0x68, 0xc4,
961 	0xa4, 0x9b, 0x72, 0x19
962 };
963 static const uint8_t nist_186_2_ecdsa_testvector_25_ptx[] = {
964 /* Msg */
965 	0x11, 0xd4, 0x34, 0x4d, 0xca, 0xa9, 0xf6, 0x7c, 0x16, 0x79, 0xac, 0x2f,
966 	0xbf, 0x77, 0x05, 0x66, 0x94, 0xc5, 0xf2, 0x5e, 0xb2, 0x9f, 0x0a, 0x62,
967 	0x02, 0xd7, 0x2c, 0xe4, 0x03, 0x81, 0x66, 0xcc, 0xca, 0xef, 0x15, 0x10,
968 	0x47, 0xe0, 0x4e, 0x85, 0xc9, 0xf4, 0x7d, 0xf5, 0xc4, 0x63, 0x4c, 0x71,
969 	0xd3, 0xef, 0xc7, 0xe8, 0xf9, 0x17, 0xbd, 0xf9, 0x2c, 0x8e, 0x69, 0x06,
970 	0x14, 0xeb, 0x51, 0x8a, 0x10, 0xa2, 0x6f, 0xac, 0x7a, 0x33, 0x8f, 0x14,
971 	0x2c, 0xa1, 0xf8, 0xfd, 0x42, 0x26, 0x4e, 0x8b, 0x22, 0x25, 0xb7, 0x5f,
972 	0xba, 0x60, 0x3d, 0x6a, 0x09, 0x6b, 0x74, 0xfe, 0xe1, 0x61, 0x5c, 0x2b,
973 	0xeb, 0xd5, 0x88, 0x48, 0xeb, 0x0b, 0x80, 0xd0, 0x45, 0x68, 0x65, 0x70,
974 	0xc1, 0x28, 0xd3, 0x5d, 0x8b, 0x4f, 0x0b, 0xeb, 0x7e, 0xe2, 0x52, 0x5c,
975 	0xa1, 0x56, 0x94, 0xf5, 0xf2, 0x49, 0x4d, 0x58
976 };
977 static const uint8_t nist_186_2_ecdsa_testvector_25_private[] = {
978 /* d */
979 	0x00, 0xa1, 0x40, 0xa5, 0x09, 0x60, 0x19, 0xe8, 0xf5, 0x5b, 0xd2, 0xdf,
980 	0x13, 0x38, 0xb2, 0x93, 0xf7, 0xf6, 0x10, 0x06, 0x8e, 0x75, 0x63, 0x2d,
981 	0xdf, 0xcb, 0x88, 0x3d
982 };
983 static const uint8_t nist_186_2_ecdsa_testvector_25_public_x[] = {
984 /* Qx */
985 	0x54, 0x4b, 0xf0, 0x8e, 0x35, 0xff, 0xa3, 0xc9, 0x60, 0x55, 0x3c, 0x97,
986 	0x23, 0xee, 0x70, 0x97, 0xb7, 0xdf, 0xaa, 0xe0, 0x59, 0xad, 0xcc, 0xf2,
987 	0xda, 0x75, 0x29, 0x9b
988 };
989 static const uint8_t nist_186_2_ecdsa_testvector_25_public_y[] = {
990 /* Qy */
991 	0x99, 0x9d, 0xae, 0x3a, 0x21, 0x78, 0x2c, 0xc2, 0x1b, 0xa3, 0xa5, 0x01,
992 	0x81, 0xdc, 0x7e, 0x67, 0xb8, 0xd7, 0x96, 0x0f, 0x9d, 0x58, 0xd0, 0x94,
993 	0xa3, 0xb1, 0x41, 0xef
994 };
995 /* k = 00aef6a43f3f219a611e8e1994cb408ec71f05fb6f9af347a6b29284 */
996 static const uint8_t nist_186_2_ecdsa_testvector_25_out[] = {
997 /* R */
998 	0x5b, 0xf0, 0x15, 0x53, 0xdb, 0x59, 0xeb, 0x45, 0x30, 0xe7, 0x21, 0x57,
999 	0xd3, 0x9f, 0x03, 0xda, 0xb9, 0x16, 0x7f, 0xfd, 0x0d, 0xf3, 0xab, 0xb7,
1000 	0x4d, 0x82, 0x2f, 0xdf,
1001 /* S */
1002 	0x0c, 0x10, 0x4e, 0x52, 0x01, 0x8d, 0xfb, 0xdd, 0x53, 0x86, 0xdd, 0xb9,
1003 	0x59, 0x9b, 0x41, 0xab, 0xf2, 0x10, 0x77, 0x08, 0xa3, 0xdc, 0x86, 0xb3,
1004 	0x5f, 0x68, 0xdc, 0x1c
1005 };
1006 static const uint8_t nist_186_2_ecdsa_testvector_26_ptx[] = {
1007 /* Msg */
1008 	0x00, 0x3b, 0x64, 0x8e, 0x92, 0xb1, 0xc1, 0x7b, 0x00, 0x08, 0x1c, 0x88,
1009 	0xb5, 0x8b, 0xe2, 0x85, 0x16, 0xa3, 0x2e, 0x2c, 0xc1, 0x02, 0x31, 0xfa,
1010 	0x12, 0x22, 0xd7, 0x3d, 0xec, 0xee, 0xa7, 0x6d, 0xb6, 0xbf, 0xec, 0xbf,
1011 	0xa3, 0x89, 0x12, 0xf8, 0x37, 0x57, 0x52, 0x7f, 0x07, 0xf4, 0x92, 0xb7,
1012 	0xc0, 0xeb, 0x86, 0x8b, 0x6a, 0xb2, 0x1c, 0x4b, 0xee, 0x23, 0x17, 0xb6,
1013 	0xd6, 0x2b, 0xf9, 0x58, 0x55, 0xc6, 0x27, 0x16, 0x87, 0x2b, 0x48, 0x07,
1014 	0xf9, 0x43, 0xee, 0x85, 0x6c, 0x60, 0x78, 0x84, 0xd6, 0x2c, 0x37, 0x23,
1015 	0xaa, 0xe0, 0xcf, 0x81, 0x59, 0xb6, 0xe0, 0xd2, 0x19, 0xa0, 0xe6, 0xb2,
1016 	0xe5, 0x3a, 0x5e, 0xb8, 0xc5, 0xfd, 0x2b, 0x4f, 0x4f, 0xb6, 0x37, 0xc1,
1017 	0x6e, 0x37, 0x5d, 0x95, 0x62, 0x4d, 0x87, 0x1b, 0x08, 0xf2, 0x13, 0x45,
1018 	0x5c, 0xc3, 0x7c, 0xb8, 0x3c, 0xb4, 0x36, 0x23
1019 };
1020 static const uint8_t nist_186_2_ecdsa_testvector_26_private[] = {
1021 /* d */
1022 	0x00, 0xa6, 0x1b, 0x96, 0x9a, 0x0b, 0xf6, 0x52, 0x77, 0xfb, 0x7f, 0x87,
1023 	0x96, 0x27, 0x85, 0x54, 0xf1, 0x35, 0x0c, 0xe8, 0x2a, 0xfa, 0x1d, 0x5f,
1024 	0xf4, 0xcf, 0x3a, 0x5f
1025 };
1026 static const uint8_t nist_186_2_ecdsa_testvector_26_public_x[] = {
1027 /* Qx */
1028 	0xb4, 0x8b, 0x95, 0x85, 0xbd, 0xfa, 0x5a, 0xd9, 0x02, 0xd3, 0xd9, 0x13,
1029 	0x17, 0xcf, 0x1a, 0xae, 0x9a, 0x17, 0x5d, 0x39, 0x36, 0x4a, 0x18, 0xe5,
1030 	0xdd, 0x9e, 0x13, 0x3d
1031 };
1032 static const uint8_t nist_186_2_ecdsa_testvector_26_public_y[] = {
1033 /* Qy */
1034 	0xb0, 0x34, 0x26, 0xdc, 0x86, 0x60, 0x54, 0x3e, 0x13, 0xbe, 0xe6, 0x66,
1035 	0x0b, 0x43, 0xc4, 0x53, 0xfb, 0x1c, 0x7a, 0x13, 0xa8, 0x47, 0xe9, 0x8a,
1036 	0x5d, 0x9b, 0xb0, 0x38
1037 };
1038 /* k = 00eddd21ff4e5da2e04a0c66214ad732ecd7521472e921646cde719f */
1039 static const uint8_t nist_186_2_ecdsa_testvector_26_out[] = {
1040 /* R */
1041 	0x70, 0x7c, 0xf9, 0x6d, 0xe2, 0x3f, 0x84, 0xdc, 0x98, 0x73, 0x51, 0x59,
1042 	0x9b, 0x63, 0xbc, 0x16, 0xcb, 0x6a, 0xa8, 0x76, 0xfc, 0xeb, 0xde, 0xfb,
1043 	0xdc, 0xc4, 0x0e, 0xee,
1044 /* S */
1045 	0xdd, 0x71, 0xfb, 0xb5, 0xbc, 0xe1, 0x8e, 0x00, 0x41, 0xc8, 0x67, 0xd5,
1046 	0x77, 0x27, 0x1b, 0x67, 0x83, 0x2c, 0x13, 0x99, 0x01, 0xc7, 0x19, 0x4c,
1047 	0x50, 0xaa, 0x94, 0xed
1048 };
1049 static const uint8_t nist_186_2_ecdsa_testvector_27_ptx[] = {
1050 /* Msg */
1051 	0x64, 0x53, 0xfe, 0x08, 0x7d, 0x56, 0x4e, 0x4b, 0x5a, 0x0e, 0x7f, 0xf5,
1052 	0xe7, 0x05, 0xfb, 0x96, 0x02, 0xf4, 0xb0, 0x33, 0x30, 0x9b, 0x67, 0x47,
1053 	0x8e, 0xf1, 0x51, 0x08, 0x0b, 0x7d, 0xe3, 0xeb, 0xd5, 0x04, 0xe4, 0x6a,
1054 	0x11, 0x64, 0xc5, 0x05, 0xcf, 0xc0, 0x30, 0x87, 0x3d, 0xdd, 0xe3, 0x8a,
1055 	0x1a, 0xcc, 0xbf, 0x3d, 0x6e, 0xca, 0x1c, 0x65, 0x79, 0x64, 0x60, 0xa2,
1056 	0xe9, 0xdf, 0xd0, 0xf4, 0x50, 0xd6, 0xa6, 0x7d, 0xd4, 0x25, 0x63, 0x89,
1057 	0x29, 0x06, 0x66, 0xcb, 0xbc, 0x7a, 0xbe, 0xe9, 0x31, 0xeb, 0x3d, 0x3c,
1058 	0x10, 0x0f, 0xcd, 0xd1, 0xbb, 0x0f, 0x07, 0xb3, 0xa4, 0xe9, 0x02, 0x6c,
1059 	0xbc, 0x13, 0x69, 0xc9, 0x2f, 0x61, 0xd1, 0xde, 0x4e, 0x28, 0x49, 0x4a,
1060 	0xcc, 0xa4, 0x32, 0xbc, 0x2e, 0x97, 0x51, 0xb6, 0x7d, 0x33, 0x22, 0x91,
1061 	0x3e, 0x3a, 0x6f, 0xc2, 0xa4, 0x64, 0x22, 0x5b
1062 };
1063 static const uint8_t nist_186_2_ecdsa_testvector_27_private[] = {
1064 /* d */
1065 	0x00, 0x82, 0x6f, 0xb0, 0xab, 0x78, 0xdd, 0x5a, 0x83, 0x46, 0x87, 0x27,
1066 	0xa9, 0x3b, 0x46, 0x54, 0xe6, 0x14, 0x23, 0xb5, 0x86, 0xe3, 0xe1, 0x92,
1067 	0x01, 0x02, 0x83, 0xa3
1068 };
1069 static const uint8_t nist_186_2_ecdsa_testvector_27_public_x[] = {
1070 /* Qx */
1071 	0xdc, 0x20, 0xb9, 0x84, 0xeb, 0x64, 0x63, 0x43, 0x67, 0x9e, 0x82, 0x99,
1072 	0x76, 0x34, 0x16, 0xcb, 0x9a, 0xf2, 0x7f, 0xae, 0x39, 0xf2, 0x97, 0xda,
1073 	0x3c, 0xdb, 0x93, 0x4f
1074 };
1075 static const uint8_t nist_186_2_ecdsa_testvector_27_public_y[] = {
1076 /* Qy */
1077 	0x0e, 0x63, 0xb6, 0xfd, 0x5e, 0x0a, 0x2f, 0x79, 0xac, 0xc5, 0x00, 0x4c,
1078 	0x21, 0x20, 0xec, 0xaa, 0x57, 0xf5, 0x5b, 0x39, 0x93, 0xc7, 0xc2, 0x7e,
1079 	0xfa, 0xea, 0x58, 0x1a
1080 };
1081 /* k = 002d50bff84a4a955fe094199cdae4e897ee985b8e15bb2174cf041a */
1082 static const uint8_t nist_186_2_ecdsa_testvector_27_out[] = {
1083 /* R */
1084 	0x1b, 0xf7, 0xad, 0xa1, 0x49, 0x36, 0xa7, 0x41, 0x1e, 0x29, 0x72, 0x5d,
1085 	0x86, 0x7e, 0x1f, 0x5c, 0x88, 0xea, 0xd2, 0xe4, 0xee, 0xa3, 0x6e, 0x4a,
1086 	0x8e, 0x2e, 0x7b, 0x89,
1087 /* S */
1088 	0x9e, 0xe1, 0x5f, 0xfe, 0xdb, 0x03, 0x54, 0x9e, 0xb2, 0xf5, 0xaa, 0xb0,
1089 	0xeb, 0xfe, 0x33, 0x5b, 0xb3, 0x5e, 0xa3, 0x25, 0xd0, 0xaf, 0x71, 0xde,
1090 	0xdd, 0x82, 0xe9, 0x0c
1091 };
1092 static const uint8_t nist_186_2_ecdsa_testvector_28_ptx[] = {
1093 /* Msg */
1094 	0x33, 0xd8, 0x76, 0xe7, 0xe5, 0x6b, 0x0a, 0x84, 0x43, 0xf1, 0xdc, 0x28,
1095 	0x4b, 0x41, 0xf3, 0x0d, 0x5a, 0x13, 0xb9, 0x49, 0x43, 0xc2, 0xab, 0xad,
1096 	0x9f, 0x51, 0x55, 0xee, 0x65, 0xad, 0x7e, 0x02, 0xbb, 0x31, 0xa0, 0xcd,
1097 	0x0b, 0x6f, 0x9b, 0xfd, 0x58, 0x2e, 0xa9, 0x33, 0xd3, 0xaf, 0x95, 0x63,
1098 	0xa9, 0x35, 0x28, 0x7d, 0x20, 0xc3, 0xe5, 0x4d, 0xe2, 0x28, 0xf6, 0xa0,
1099 	0x98, 0x39, 0x65, 0xa8, 0xbb, 0x5e, 0x8f, 0xa1, 0xa7, 0x50, 0xd6, 0xb5,
1100 	0xf2, 0x20, 0x97, 0x1d, 0xfb, 0x7c, 0x5c, 0x8a, 0xc6, 0x2e, 0x52, 0xc3,
1101 	0x07, 0xe5, 0xfd, 0x8f, 0x7c, 0x38, 0x2a, 0xd5, 0x80, 0xe8, 0x25, 0x02,
1102 	0xde, 0x65, 0x2d, 0xab, 0xe3, 0x94, 0x25, 0x74, 0xb7, 0xd0, 0x8c, 0x30,
1103 	0xed, 0x2f, 0xaf, 0x49, 0x58, 0x06, 0x1d, 0x62, 0x20, 0xaf, 0x5c, 0x3c,
1104 	0x16, 0x89, 0xda, 0xd6, 0x45, 0x41, 0x26, 0xd9
1105 };
1106 static const uint8_t nist_186_2_ecdsa_testvector_28_private[] = {
1107 /* d */
1108 	0x00, 0x77, 0x4f, 0x99, 0x59, 0xf4, 0x42, 0xd4, 0x8b, 0x56, 0x2d, 0xe2,
1109 	0x4a, 0xe2, 0x52, 0x85, 0x75, 0x6e, 0xc1, 0x5c, 0xe0, 0x72, 0x25, 0xf1,
1110 	0x5c, 0x00, 0x7c, 0x6d
1111 };
1112 static const uint8_t nist_186_2_ecdsa_testvector_28_public_x[] = {
1113 /* Qx */
1114 	0x75, 0x16, 0xee, 0xb4, 0xdb, 0x63, 0x1f, 0x0f, 0xd6, 0xfd, 0xe7, 0x01,
1115 	0xaa, 0x18, 0x93, 0xad, 0x11, 0x55, 0x91, 0xe3, 0x7c, 0xdf, 0xcc, 0x52,
1116 	0xb7, 0x14, 0xe7, 0x78
1117 };
1118 static const uint8_t nist_186_2_ecdsa_testvector_28_public_y[] = {
1119 /* Qy */
1120 	0x62, 0xe0, 0x16, 0x48, 0x83, 0xb2, 0x3c, 0xc4, 0xf4, 0xd5, 0xe0, 0x6e,
1121 	0x76, 0x60, 0x70, 0xe8, 0x6f, 0xe3, 0x77, 0xf1, 0x2d, 0xbe, 0xc4, 0x6e,
1122 	0xaf, 0xe5, 0xf4, 0xe2
1123 };
1124 /* k = 0060d4854bfc3ddf0ace90c4c4c6476cba853c4ebf3e54bab9bc2352 */
1125 static const uint8_t nist_186_2_ecdsa_testvector_28_out[] = {
1126 /* R */
1127 	0xd2, 0x7f, 0xf0, 0x94, 0x80, 0x87, 0x87, 0xc7, 0x64, 0x95, 0xaf, 0x70,
1128 	0x41, 0x94, 0x26, 0x14, 0x9e, 0xc1, 0x10, 0x59, 0xcd, 0xd3, 0x9f, 0x25,
1129 	0x81, 0xb8, 0xd1, 0x35,
1130 /* S */
1131 	0xf4, 0x50, 0xa1, 0x27, 0x74, 0xd1, 0xa9, 0xc8, 0x43, 0xe7, 0x6e, 0xc1,
1132 	0xa2, 0x4f, 0xe1, 0x50, 0x64, 0xb2, 0x1a, 0xd2, 0xbc, 0xda, 0x9d, 0xfb,
1133 	0x0c, 0xf6, 0xfd, 0x2c
1134 };
1135 static const uint8_t nist_186_2_ecdsa_testvector_29_ptx[] = {
1136 /* Msg */
1137 	0x72, 0x10, 0xe8, 0x79, 0xeb, 0xd1, 0x5f, 0x29, 0xdd, 0x3f, 0x8e, 0x6e,
1138 	0xd6, 0x39, 0x29, 0x3e, 0xc7, 0x82, 0x3b, 0x82, 0xc3, 0x6f, 0x10, 0x6e,
1139 	0x04, 0xe3, 0x52, 0x0e, 0x2f, 0x7d, 0x72, 0x22, 0xd8, 0x10, 0x49, 0x2c,
1140 	0x49, 0x54, 0x00, 0xc7, 0x7f, 0xdb, 0x2d, 0x3a, 0x76, 0x46, 0x3e, 0x4d,
1141 	0xa7, 0xb8, 0x1b, 0x5c, 0xce, 0x8b, 0x07, 0xa9, 0xf0, 0x42, 0xc7, 0xf6,
1142 	0x9d, 0xbf, 0x07, 0x54, 0x73, 0xb7, 0xf9, 0x36, 0xe3, 0x62, 0x3f, 0xc9,
1143 	0x38, 0x77, 0x0b, 0x88, 0xd4, 0x57, 0x85, 0x0b, 0xbd, 0x88, 0x6d, 0x1f,
1144 	0x59, 0x66, 0x01, 0x1c, 0x76, 0x15, 0x21, 0x73, 0x8d, 0xba, 0xb1, 0x87,
1145 	0x48, 0xeb, 0x3f, 0xbe, 0x41, 0x64, 0xe5, 0xd7, 0x0d, 0xfb, 0x71, 0x7e,
1146 	0x79, 0xd6, 0xc4, 0x1d, 0x13, 0xdb, 0x78, 0xf6, 0xed, 0x68, 0xc6, 0x6f,
1147 	0x9d, 0x44, 0xa6, 0xac, 0x88, 0xd6, 0x37, 0x63
1148 };
1149 static const uint8_t nist_186_2_ecdsa_testvector_29_private[] = {
1150 /* d */
1151 	0x00, 0x18, 0x0c, 0xe8, 0x83, 0xf0, 0x2d, 0xa5, 0x2f, 0x1c, 0xfe, 0xf7,
1152 	0xf8, 0x6a, 0x74, 0xcc, 0x38, 0x09, 0x92, 0x35, 0x95, 0x07, 0x4b, 0x1c,
1153 	0x3e, 0x4d, 0xbd, 0x67
1154 };
1155 static const uint8_t nist_186_2_ecdsa_testvector_29_public_x[] = {
1156 /* Qx */
1157 	0x3e, 0x44, 0x09, 0xba, 0xa7, 0x81, 0x7f, 0x25, 0xc6, 0x94, 0xa4, 0xe6,
1158 	0x5e, 0x70, 0x45, 0xe1, 0x24, 0xea, 0x0c, 0xef, 0x54, 0x82, 0x69, 0xfd,
1159 	0xc9, 0xd7, 0x33, 0x98
1160 };
1161 static const uint8_t nist_186_2_ecdsa_testvector_29_public_y[] = {
1162 /* Qy */
1163 	0x9d, 0x91, 0x56, 0x8f, 0x03, 0x8a, 0x43, 0xad, 0x6a, 0x0a, 0x91, 0xb4,
1164 	0x24, 0x76, 0x36, 0x9c, 0xcc, 0x67, 0xcd, 0xd8, 0x8b, 0x16, 0xf7, 0x1c,
1165 	0x09, 0xd9, 0xe0, 0x0a
1166 };
1167 /* k = 00ad38800026a494128dab55dcd2ab1f2ffa6ff2f35b619ccc34a7ae */
1168 static const uint8_t nist_186_2_ecdsa_testvector_29_out[] = {
1169 /* R */
1170 	0x67, 0x6d, 0x6f, 0x6a, 0x3f, 0xa6, 0x1b, 0xf0, 0xf3, 0xcf, 0x5f, 0x74,
1171 	0x47, 0x56, 0x3d, 0xf1, 0x01, 0x36, 0x1f, 0x9b, 0x09, 0x18, 0x13, 0x34,
1172 	0x17, 0x9e, 0xf6, 0xce,
1173 /* S */
1174 	0x06, 0x86, 0x51, 0x78, 0x15, 0xbd, 0xb6, 0xec, 0xe3, 0xbd, 0xa2, 0x57,
1175 	0xa8, 0x21, 0xa6, 0xb7, 0x24, 0x99, 0x31, 0xe5, 0xcc, 0xd5, 0x75, 0x33,
1176 	0x2f, 0x77, 0xd3, 0x58
1177 };
1178 static const uint8_t nist_186_2_ecdsa_testvector_30_ptx[] = {
1179 /* Msg */
1180 	0x22, 0x8e, 0xdf, 0xde, 0xfb, 0x8c, 0x90, 0x11, 0xd4, 0xe6, 0x13, 0x0f,
1181 	0x81, 0x30, 0x7f, 0x29, 0x57, 0x7b, 0x73, 0x12, 0x92, 0x27, 0x9c, 0x4f,
1182 	0xf4, 0xf9, 0x7d, 0xe9, 0xaf, 0x6d, 0x6f, 0x65, 0x85, 0x4e, 0xe6, 0xf5,
1183 	0x2e, 0x83, 0xf7, 0xf0, 0xfa, 0x2c, 0x17, 0x80, 0xb7, 0xee, 0x26, 0x9b,
1184 	0xd5, 0x8a, 0xac, 0x34, 0xc8, 0xb5, 0x62, 0xb2, 0xae, 0x24, 0xf4, 0xa1,
1185 	0x32, 0xe6, 0x05, 0xa7, 0xb0, 0xf6, 0x73, 0xba, 0x9a, 0x11, 0xdd, 0x91,
1186 	0x1a, 0xc5, 0x63, 0x58, 0xf8, 0xcb, 0xad, 0xa8, 0xbf, 0x96, 0x2f, 0xb6,
1187 	0x1b, 0x2c, 0xab, 0xcb, 0x86, 0x35, 0xf7, 0xf4, 0x23, 0x51, 0x00, 0xfa,
1188 	0xea, 0xaf, 0x0f, 0x94, 0x06, 0xdc, 0x4b, 0xdc, 0x7b, 0xd8, 0x80, 0x00,
1189 	0x0c, 0x6f, 0x1e, 0x3a, 0x5c, 0xc6, 0x85, 0x02, 0x53, 0x35, 0x7f, 0x82,
1190 	0xc3, 0x54, 0x0e, 0x4a, 0x4c, 0x59, 0x69, 0x45
1191 };
1192 static const uint8_t nist_186_2_ecdsa_testvector_30_private[] = {
1193 /* d */
1194 	0x00, 0xb3, 0x58, 0x49, 0x19, 0x16, 0x7e, 0x95, 0x90, 0xba, 0xe8, 0xad,
1195 	0x6f, 0x77, 0x00, 0x80, 0xff, 0xc4, 0x82, 0x05, 0x74, 0x43, 0xd2, 0x65,
1196 	0x5c, 0xbf, 0x98, 0xbe
1197 };
1198 static const uint8_t nist_186_2_ecdsa_testvector_30_public_x[] = {
1199 /* Qx */
1200 	0x25, 0x2c, 0xfd, 0xa1, 0xf1, 0xf2, 0xba, 0x7a, 0x78, 0xeb, 0x7a, 0xb2,
1201 	0xad, 0xab, 0x3d, 0x12, 0xee, 0x83, 0x0c, 0xd0, 0xe8, 0x27, 0xd6, 0x06,
1202 	0x35, 0xa8, 0x36, 0x14
1203 };
1204 static const uint8_t nist_186_2_ecdsa_testvector_30_public_y[] = {
1205 /* Qy */
1206 	0xca, 0x74, 0x65, 0xc5, 0xfd, 0x9a, 0xd0, 0x7f, 0xdf, 0x54, 0x60, 0xab,
1207 	0xcd, 0x94, 0xda, 0x23, 0xe2, 0xee, 0x52, 0x0c, 0xfb, 0xde, 0xf8, 0xeb,
1208 	0x66, 0xcc, 0x0b, 0xfc
1209 };
1210 /* k = 00d070665ffa8ae33a3662250aaf9b9a84aa611f2854205555febc4f */
1211 static const uint8_t nist_186_2_ecdsa_testvector_30_out[] = {
1212 /* R */
1213 	0xa8, 0x17, 0x6f, 0x87, 0x56, 0xa2, 0xfc, 0xc7, 0x3a, 0xd7, 0x99, 0x49,
1214 	0x8c, 0xc3, 0xfa, 0x7c, 0xd3, 0x47, 0x46, 0x65, 0x0c, 0x7f, 0xfc, 0x15,
1215 	0xb2, 0xd0, 0xa4, 0xe0,
1216 /* S */
1217 	0xbc, 0xdb, 0x21, 0x90, 0x02, 0x83, 0x62, 0xbe, 0x80, 0x3d, 0x77, 0x6d,
1218 	0xcb, 0x6d, 0xc2, 0xaa, 0xfc, 0xd0, 0xbf, 0x99, 0x97, 0xe7, 0x42, 0x5f,
1219 	0x3e, 0x05, 0xdd, 0xf6
1220 };
1221 /* [P-256] */
1222 static const uint8_t nist_186_2_ecdsa_testvector_31_ptx[] = {
1223 /* Msg */
1224 	0x5f, 0xf1, 0xfa, 0x17, 0xc2, 0xa6, 0x7c, 0xe5, 0x99, 0xa3, 0x46, 0x88,
1225 	0xf6, 0xfb, 0x2d, 0x4a, 0x8a, 0xf1, 0x75, 0x32, 0xd1, 0x5f, 0xa1, 0x86,
1226 	0x8a, 0x59, 0x8a, 0x8e, 0x6a, 0x0d, 0xaf, 0x9b, 0x11, 0xed, 0xcc, 0x48,
1227 	0x3d, 0x11, 0xae, 0x00, 0x3e, 0xd6, 0x45, 0xc0, 0xaa, 0xcc, 0xfb, 0x1e,
1228 	0x51, 0xcf, 0x44, 0x8b, 0x73, 0x73, 0x76, 0xd5, 0x31, 0xa6, 0xdc, 0xf0,
1229 	0x42, 0x90, 0x05, 0xf5, 0xe7, 0xbe, 0x62, 0x6b, 0x21, 0x80, 0x11, 0xc6,
1230 	0x21, 0x8f, 0xf3, 0x2d, 0x00, 0xf3, 0x04, 0x80, 0xb0, 0x24, 0xec, 0x9a,
1231 	0x33, 0x70, 0xd1, 0xd3, 0x0a, 0x9c, 0x70, 0xc9, 0xf1, 0xce, 0x6c, 0x61,
1232 	0xc9, 0xab, 0xe5, 0x08, 0xd6, 0xbc, 0x4d, 0x3f, 0x2a, 0x16, 0x77, 0x56,
1233 	0x61, 0x3a, 0xf1, 0x77, 0x8f, 0x3a, 0x94, 0xe7, 0x77, 0x1d, 0x59, 0x89,
1234 	0xfe, 0x85, 0x6f, 0xa4, 0xdf, 0x8f, 0x8a, 0xe5
1235 };
1236 static const uint8_t nist_186_2_ecdsa_testvector_31_private[] = {
1237 /* d */
1238 	0x00, 0x2a, 0x10, 0xb1, 0xb5, 0xb9, 0xfa, 0x0b, 0x78, 0xd3, 0x8e, 0xd2,
1239 	0x9c, 0xd9, 0xce, 0xc1, 0x85, 0x20, 0xe0, 0xfe, 0x93, 0x02, 0x3e, 0x35,
1240 	0x50, 0xbb, 0x71, 0x63, 0xab, 0x49, 0x05, 0xc6
1241 };
1242 static const uint8_t nist_186_2_ecdsa_testvector_31_public_x[] = {
1243 /* Qx */
1244 	0xe9, 0xcd, 0x2e, 0x8f, 0x15, 0xbd, 0x90, 0xcb, 0x07, 0x07, 0xe0, 0x5e,
1245 	0xd3, 0xb6, 0x01, 0xaa, 0xce, 0x7e, 0xf5, 0x71, 0x42, 0xa6, 0x46, 0x61,
1246 	0xea, 0x1d, 0xd7, 0x19, 0x9e, 0xbb, 0xa9, 0xac
1247 };
1248 static const uint8_t nist_186_2_ecdsa_testvector_31_public_y[] = {
1249 /* Qy */
1250 	0xc9, 0x6b, 0x01, 0x15, 0xbe, 0xd1, 0xc1, 0x34, 0xb6, 0x8f, 0x89, 0x58,
1251 	0x4b, 0x04, 0x0a, 0x19, 0x4b, 0xfa, 0xd9, 0x4a, 0x40, 0x4f, 0xdb, 0x37,
1252 	0xad, 0xad, 0x10, 0x7d, 0x5a, 0x0b, 0x4c, 0x5e
1253 };
1254 /* k = 00c2815763d7fcb2480b39d154abc03f616f0404e11272d624e825432687092a */
1255 static const uint8_t nist_186_2_ecdsa_testvector_31_out[] = {
1256 /* R */
1257 	0x15, 0xbf, 0x46, 0x93, 0x7c, 0x7a, 0x1e, 0x2f, 0xa7, 0xad, 0xc6, 0x5c,
1258 	0x89, 0xfe, 0x03, 0xae, 0x60, 0x2d, 0xd7, 0xdf, 0xa6, 0x72, 0x2c, 0xda,
1259 	0xfa, 0x92, 0xd6, 0x24, 0xb3, 0x2b, 0x15, 0x6e,
1260 /* S */
1261 	0x59, 0xc5, 0x91, 0x79, 0x2e, 0xe9, 0x4f, 0x0b, 0x20, 0x2e, 0x7a, 0x59,
1262 	0x0e, 0x70, 0xd0, 0x1d, 0xd8, 0xa9, 0x77, 0x48, 0x84, 0xe2, 0xb5, 0xba,
1263 	0x99, 0x45, 0x43, 0x7c, 0xfe, 0xd0, 0x16, 0x86
1264 };
1265 static const uint8_t nist_186_2_ecdsa_testvector_32_ptx[] = {
1266 /* Msg */
1267 	0x05, 0xa0, 0x5b, 0xb2, 0x88, 0x29, 0xcf, 0x6f, 0x43, 0x5c, 0x42, 0x2c,
1268 	0x09, 0x57, 0xb1, 0x03, 0x59, 0x27, 0x42, 0x93, 0x27, 0x80, 0x26, 0x53,
1269 	0xdf, 0xb1, 0xc3, 0x25, 0xa8, 0xd8, 0x13, 0x2f, 0xe6, 0x52, 0x47, 0xe6,
1270 	0x02, 0x76, 0xb1, 0x6b, 0x6d, 0x83, 0xe0, 0x1b, 0xe2, 0xd6, 0x0d, 0x62,
1271 	0xec, 0x61, 0xb6, 0xcf, 0xa9, 0x58, 0x88, 0x6e, 0xcd, 0x2d, 0x82, 0x52,
1272 	0xe9, 0xbf, 0x58, 0x71, 0xee, 0xcf, 0x15, 0xb5, 0xed, 0xb3, 0x05, 0x4f,
1273 	0x20, 0x4e, 0xd2, 0x4f, 0x2e, 0x3f, 0xed, 0x71, 0xab, 0x59, 0x2f, 0x3a,
1274 	0xde, 0x53, 0xc1, 0x44, 0xc8, 0xc1, 0x39, 0xd7, 0x61, 0x43, 0x05, 0xb8,
1275 	0x25, 0xfd, 0x0d, 0x46, 0xcf, 0x47, 0x94, 0xc2, 0x65, 0xa5, 0x5f, 0xef,
1276 	0x74, 0xf9, 0x1a, 0xdb, 0x9d, 0xf7, 0xf7, 0xfc, 0x50, 0xda, 0x98, 0x7e,
1277 	0xd8, 0x55, 0x2f, 0xdc, 0x98, 0xcd, 0xe4, 0xae
1278 };
1279 static const uint8_t nist_186_2_ecdsa_testvector_32_private[] = {
1280 /* d */
1281 	0x00, 0xfc, 0x37, 0x66, 0x6c, 0x6b, 0x87, 0xd7, 0xa4, 0x70, 0x1b, 0x14,
1282 	0x90, 0x03, 0xf8, 0x76, 0x7f, 0xa3, 0x20, 0x6d, 0x3e, 0x52, 0x36, 0xca,
1283 	0x31, 0x71, 0x22, 0xb3, 0xce, 0xc5, 0x90, 0x0a
1284 };
1285 static const uint8_t nist_186_2_ecdsa_testvector_32_public_x[] = {
1286 /* Qx */
1287 	0x6b, 0xe8, 0x61, 0x3c, 0x70, 0x22, 0xa7, 0x8a, 0x24, 0xd3, 0x8c, 0x44,
1288 	0xbe, 0xfd, 0x48, 0x44, 0x66, 0x48, 0xd4, 0xbd, 0x13, 0x45, 0xe1, 0x47,
1289 	0x0c, 0x7b, 0x5f, 0x8e, 0xdb, 0x56, 0x82, 0x3b
1290 };
1291 static const uint8_t nist_186_2_ecdsa_testvector_32_public_y[] = {
1292 /* Qy */
1293 	0x58, 0xd8, 0x49, 0x00, 0xfb, 0x28, 0xf1, 0x5f, 0xde, 0x66, 0xbc, 0x26,
1294 	0x45, 0x08, 0xfe, 0xee, 0x5e, 0x54, 0xc0, 0xfa, 0x97, 0x12, 0xce, 0x00,
1295 	0x59, 0x90, 0x2e, 0xfb, 0x46, 0xc3, 0x49, 0xa3
1296 };
1297 /* k = 00cb00d310146dc133ca5dddca6f96a20519de714621579381bccaac247929b5 */
1298 static const uint8_t nist_186_2_ecdsa_testvector_32_out[] = {
1299 /* R */
1300 	0x43, 0xf4, 0x0b, 0x64, 0x13, 0x53, 0x1e, 0x99, 0xee, 0x4e, 0xbb, 0x2f,
1301 	0xb4, 0xc5, 0x8b, 0x89, 0xeb, 0x77, 0x96, 0xf8, 0x4c, 0xae, 0xf3, 0x3c,
1302 	0x2b, 0x19, 0x35, 0x77, 0xd1, 0x6e, 0xab, 0x84,
1303 /* S */
1304 	0x64, 0x2c, 0x95, 0x93, 0x0b, 0xc2, 0xa1, 0x55, 0xee, 0x2f, 0xf8, 0xa9,
1305 	0x42, 0x02, 0xcf, 0xbb, 0x83, 0x49, 0xd3, 0xf6, 0x84, 0x1a, 0x7b, 0xb7,
1306 	0x89, 0x58, 0x7a, 0x8a, 0x1c, 0xfe, 0xdb, 0xea
1307 };
1308 static const uint8_t nist_186_2_ecdsa_testvector_33_ptx[] = {
1309 /* Msg */
1310 	0xf8, 0xe8, 0x19, 0xb6, 0xc3, 0x9d, 0xfc, 0x49, 0x92, 0xdb, 0x85, 0x2a,
1311 	0xbf, 0x23, 0x80, 0x01, 0x24, 0x78, 0x34, 0x09, 0xde, 0x14, 0x45, 0x67,
1312 	0x50, 0x5a, 0xd9, 0xba, 0x6b, 0x0c, 0xfa, 0xf3, 0x2d, 0xbe, 0x3c, 0x67,
1313 	0x68, 0x8a, 0x9f, 0x22, 0xc5, 0x06, 0xb6, 0x7e, 0x08, 0x73, 0x09, 0xf5,
1314 	0x96, 0x37, 0xb9, 0x34, 0x34, 0x8e, 0x62, 0x70, 0x11, 0x7c, 0x45, 0xfd,
1315 	0x07, 0x06, 0xa7, 0x1d, 0x1e, 0xa1, 0x74, 0x16, 0x52, 0xeb, 0x28, 0x87,
1316 	0x96, 0x99, 0xef, 0xfb, 0x18, 0xb0, 0x0b, 0xbf, 0xc7, 0xf9, 0x77, 0xf1,
1317 	0x13, 0xae, 0xca, 0xda, 0xf3, 0x7a, 0x5d, 0x7e, 0x2d, 0xa1, 0xb0, 0x70,
1318 	0xd2, 0x7a, 0x0a, 0xeb, 0x07, 0x26, 0x60, 0x1f, 0x0b, 0x7c, 0x78, 0xc9,
1319 	0x76, 0x43, 0x4f, 0x06, 0xbf, 0xa4, 0xb7, 0x69, 0x01, 0xde, 0x44, 0x4b,
1320 	0xff, 0x3c, 0x69, 0x62, 0x65, 0x45, 0xdf, 0x96
1321 };
1322 static const uint8_t nist_186_2_ecdsa_testvector_33_private[] = {
1323 /* d */
1324 	0x00, 0x0d, 0xd9, 0xc3, 0x7b, 0x06, 0xa6, 0x62, 0xbb, 0xb3, 0x27, 0xe7,
1325 	0xe7, 0x53, 0x7a, 0x47, 0x33, 0x00, 0xde, 0x49, 0x7b, 0x3d, 0xcd, 0x89,
1326 	0x0f, 0x3a, 0x25, 0xd9, 0x00, 0x71, 0xa6, 0x08
1327 };
1328 static const uint8_t nist_186_2_ecdsa_testvector_33_public_x[] = {
1329 /* Qx */
1330 	0x07, 0x63, 0xb2, 0x46, 0x36, 0xd1, 0x12, 0x29, 0x4a, 0xd6, 0xd8, 0x5f,
1331 	0xd7, 0x64, 0x0b, 0x4d, 0xef, 0xde, 0xf5, 0xdf, 0x24, 0x5e, 0x53, 0xc4,
1332 	0x27, 0x50, 0xa6, 0x80, 0x83, 0x8e, 0x11, 0x50
1333 };
1334 static const uint8_t nist_186_2_ecdsa_testvector_33_public_y[] = {
1335 /* Qy */
1336 	0xb8, 0x7e, 0x87, 0xa4, 0xb3, 0x53, 0x55, 0xc5, 0x31, 0x70, 0x91, 0x56,
1337 	0x96, 0x1e, 0x64, 0xd8, 0xc1, 0x7f, 0x63, 0xa4, 0x38, 0xaa, 0xd6, 0x52,
1338 	0xfc, 0xc9, 0x86, 0x04, 0xa3, 0x3b, 0xe2, 0xa7
1339 };
1340 /* k = 0045af0ce21481f3daedc4d34b611c75cb1f8a0715f30bf2fb45b017258584d5 */
1341 static const uint8_t nist_186_2_ecdsa_testvector_33_out[] = {
1342 /* R */
1343 	0x6f, 0x0a, 0x38, 0x66, 0x10, 0x90, 0x07, 0xc5, 0x28, 0xe4, 0xf7, 0x5b,
1344 	0xc4, 0xbe, 0x8f, 0x44, 0x59, 0x06, 0x62, 0x57, 0xd3, 0x54, 0xe7, 0x50,
1345 	0xf6, 0x3d, 0x07, 0x3f, 0x2b, 0x7b, 0x8d, 0x36,
1346 /* S */
1347 	0xae, 0x80, 0x0d, 0xe3, 0xeb, 0xa8, 0x7a, 0x10, 0x88, 0x90, 0x05, 0x70,
1348 	0xca, 0x0c, 0x26, 0x80, 0xd4, 0xbf, 0x8f, 0x6a, 0x7f, 0x70, 0x65, 0x01,
1349 	0x62, 0x65, 0x03, 0xdb, 0x41, 0x02, 0xcd, 0x0a
1350 };
1351 static const uint8_t nist_186_2_ecdsa_testvector_34_ptx[] = {
1352 /* Msg */
1353 	0xad, 0x3f, 0x0a, 0x14, 0xe9, 0xfd, 0xb5, 0x9f, 0xdf, 0x98, 0xb2, 0x87,
1354 	0xc9, 0x2e, 0x2e, 0x93, 0x66, 0x55, 0xfe, 0x95, 0x4d, 0x18, 0x8f, 0x92,
1355 	0x81, 0x3d, 0x20, 0x23, 0x45, 0xca, 0x2e, 0x1b, 0x32, 0xc7, 0x30, 0x6a,
1356 	0x86, 0x44, 0x85, 0x42, 0xbf, 0x9e, 0xab, 0x78, 0x69, 0xff, 0xb1, 0x2c,
1357 	0x34, 0x24, 0xef, 0xac, 0x49, 0x63, 0xf4, 0x96, 0xde, 0xec, 0xc0, 0x3d,
1358 	0x08, 0x4f, 0x34, 0x4e, 0xd1, 0x3e, 0xc6, 0xb4, 0x8b, 0x94, 0x79, 0xb8,
1359 	0x64, 0x97, 0x0d, 0x6d, 0x3a, 0x7a, 0x72, 0x4b, 0xb0, 0x27, 0x83, 0x1a,
1360 	0x81, 0x3b, 0xf1, 0x12, 0x14, 0x51, 0x7d, 0x40, 0x51, 0x83, 0x6b, 0x2b,
1361 	0xb4, 0x2e, 0x33, 0xb8, 0x9f, 0xf6, 0x79, 0x4b, 0xf5, 0x0a, 0x3f, 0x2f,
1362 	0xe4, 0xa9, 0x5a, 0x38, 0x02, 0xe6, 0x22, 0xa6, 0x9c, 0xa8, 0x6e, 0x4d,
1363 	0x4a, 0xf4, 0xc0, 0xf3, 0xc7, 0x6f, 0xbc, 0xfa
1364 };
1365 static const uint8_t nist_186_2_ecdsa_testvector_34_private[] = {
1366 /* d */
1367 	0x00, 0x43, 0xfb, 0x05, 0x12, 0x77, 0xa6, 0xcd, 0xe8, 0x08, 0xa3, 0x4e,
1368 	0xa7, 0x5d, 0x38, 0xa8, 0x17, 0x3f, 0x80, 0xec, 0xe4, 0x67, 0x40, 0x82,
1369 	0x8b, 0x07, 0x58, 0xd8, 0x29, 0xd8, 0xca, 0x3c
1370 };
1371 static const uint8_t nist_186_2_ecdsa_testvector_34_public_x[] = {
1372 /* Qx */
1373 	0xfa, 0xb5, 0xc3, 0x5a, 0x7a, 0x6e, 0x21, 0x4f, 0x7a, 0x49, 0x98, 0x66,
1374 	0xaa, 0x50, 0xef, 0x16, 0xb8, 0xd9, 0x2e, 0x29, 0xe6, 0x6a, 0x0b, 0x63,
1375 	0x19, 0x72, 0x15, 0x22, 0xdb, 0x10, 0x1e, 0xae
1376 };
1377 static const uint8_t nist_186_2_ecdsa_testvector_34_public_y[] = {
1378 /* Qy */
1379 	0x8f, 0x3f, 0x89, 0xad, 0x8d, 0x36, 0x9e, 0x48, 0x73, 0xe5, 0x66, 0xf2,
1380 	0x1b, 0x8a, 0xdf, 0x42, 0x30, 0x4c, 0xb8, 0x10, 0x19, 0xc4, 0x01, 0xc1,
1381 	0xb1, 0xde, 0x40, 0x29, 0xe0, 0x24, 0x5d, 0x75
1382 };
1383 /* k = 0036797bf01ddb25973cd9b030b50632d621aac0c653536e751c31c4367de559 */
1384 static const uint8_t nist_186_2_ecdsa_testvector_34_out[] = {
1385 /* R */
1386 	0x17, 0xcf, 0xd4, 0xd7, 0xb4, 0x3c, 0x06, 0xa2, 0xa4, 0x39, 0xbc, 0x6d,
1387 	0x04, 0xc2, 0xcf, 0x4f, 0xf8, 0xba, 0x83, 0x24, 0xc4, 0xa1, 0xc8, 0xa3,
1388 	0x29, 0xa6, 0x18, 0x9f, 0x5d, 0xa5, 0xc2, 0x3b,
1389 /* S */
1390 	0x93, 0x02, 0x90, 0x9d, 0x13, 0x17, 0xbb, 0xec, 0xd9, 0x5d, 0x10, 0xee,
1391 	0xad, 0x9a, 0xb6, 0x94, 0x33, 0x01, 0x2e, 0xdd, 0xf9, 0x17, 0xc1, 0x2f,
1392 	0x6f, 0x91, 0xad, 0xf9, 0xcc, 0x4a, 0x7f, 0x09
1393 };
1394 static const uint8_t nist_186_2_ecdsa_testvector_35_ptx[] = {
1395 /* Msg */
1396 	0xe3, 0x7a, 0x43, 0x2c, 0xd6, 0x19, 0x3a, 0x0b, 0x2e, 0x73, 0x45, 0xdf,
1397 	0x13, 0xe0, 0xeb, 0x62, 0x68, 0x84, 0x53, 0x72, 0xa3, 0xd1, 0xb3, 0xb7,
1398 	0xdc, 0x4d, 0x0c, 0x87, 0x23, 0x96, 0x15, 0x06, 0x17, 0xa3, 0x74, 0x92,
1399 	0xb5, 0x4c, 0x34, 0x5e, 0x6d, 0x0d, 0x74, 0x5c, 0x7b, 0x07, 0x5c, 0x61,
1400 	0x74, 0x47, 0x56, 0x84, 0x1f, 0x4b, 0x7a, 0xc7, 0x87, 0xc2, 0x49, 0xf9,
1401 	0x4e, 0x94, 0x9f, 0xda, 0x44, 0x22, 0xe3, 0x81, 0x38, 0xcf, 0x81, 0xfb,
1402 	0x0f, 0xbf, 0x9a, 0x35, 0x13, 0xdf, 0xfa, 0x1b, 0x8d, 0x25, 0x4a, 0x02,
1403 	0x95, 0x19, 0x86, 0x43, 0x29, 0x94, 0xb2, 0x29, 0x7d, 0xc7, 0xc9, 0x0e,
1404 	0x92, 0x80, 0xf7, 0xc0, 0x0a, 0xa9, 0x07, 0x2a, 0x3b, 0x11, 0x1f, 0x30,
1405 	0x82, 0x70, 0xab, 0xda, 0xd9, 0xa5, 0x97, 0xb5, 0xac, 0x41, 0xc1, 0x76,
1406 	0xe9, 0x49, 0xae, 0xe1, 0x57, 0x38, 0x7c, 0xe9
1407 };
1408 static const uint8_t nist_186_2_ecdsa_testvector_35_private[] = {
1409 /* d */
1410 	0x00, 0xd7, 0x41, 0xac, 0x11, 0x03, 0xee, 0xa6, 0xde, 0x30, 0x31, 0x27,
1411 	0x0f, 0xde, 0x37, 0xcb, 0x68, 0x0c, 0x17, 0x28, 0xf0, 0x5f, 0xc0, 0x85,
1412 	0x57, 0xbb, 0x35, 0xee, 0x61, 0xea, 0x0b, 0xf7
1413 };
1414 static const uint8_t nist_186_2_ecdsa_testvector_35_public_x[] = {
1415 /* Qx */
1416 	0x08, 0xef, 0x74, 0x01, 0x6b, 0x7d, 0x4d, 0xc6, 0x4c, 0x47, 0x98, 0x7b,
1417 	0x11, 0x96, 0x74, 0x37, 0xbf, 0xc6, 0xf7, 0xfa, 0x2d, 0x57, 0x00, 0x63,
1418 	0xc6, 0xb7, 0x2f, 0x1c, 0x8d, 0x51, 0x25, 0xed
1419 };
1420 static const uint8_t nist_186_2_ecdsa_testvector_35_public_y[] = {
1421 /* Qy */
1422 	0x1f, 0xc1, 0xcc, 0xb3, 0x17, 0xc3, 0x92, 0x38, 0x25, 0xac, 0x85, 0x26,
1423 	0x35, 0x8f, 0xe4, 0xb0, 0x0d, 0x4c, 0xa1, 0x52, 0x6d, 0x86, 0xd7, 0x30,
1424 	0x9a, 0x00, 0x4a, 0xcf, 0x0c, 0xfa, 0xe6, 0x37
1425 };
1426 /* k = 005b5852327259b12ba08f9a0e1c82d87f6cdc833dd69fedf05bd9283b8ebc61 */
1427 static const uint8_t nist_186_2_ecdsa_testvector_35_out[] = {
1428 /* R */
1429 	0x99, 0x08, 0xaa, 0xe4, 0x3d, 0xee, 0xd6, 0xb5, 0x65, 0x1d, 0x9a, 0x4d,
1430 	0x00, 0x41, 0xec, 0xc9, 0x76, 0xe8, 0x19, 0xae, 0x64, 0xe3, 0xe9, 0x38,
1431 	0xe0, 0xaf, 0x8b, 0x3d, 0x41, 0xa7, 0x6b, 0x3e,
1432 /* S */
1433 	0x32, 0xb1, 0x7d, 0x68, 0x01, 0x9e, 0x94, 0xa3, 0x62, 0xd4, 0x17, 0x8a,
1434 	0xa9, 0x54, 0xf5, 0xcf, 0xef, 0xe0, 0xfd, 0x65, 0x9c, 0x34, 0x1c, 0x88,
1435 	0xf4, 0xf0, 0x68, 0xeb, 0xf4, 0x8b, 0x97, 0x73
1436 };
1437 static const uint8_t nist_186_2_ecdsa_testvector_36_ptx[] = {
1438 /* Msg */
1439 	0x26, 0xd3, 0xfa, 0x2a, 0x1d, 0x6c, 0xfa, 0x12, 0xf6, 0x73, 0x6d, 0x5a,
1440 	0x75, 0x2d, 0xdc, 0x7d, 0xff, 0xfd, 0x67, 0x28, 0x59, 0x1f, 0xad, 0x90,
1441 	0xb2, 0x99, 0xec, 0x09, 0xe4, 0x6f, 0x69, 0xd5, 0xf7, 0x17, 0x13, 0x39,
1442 	0xe6, 0x2c, 0x63, 0xd6, 0xa6, 0x67, 0x86, 0x37, 0x65, 0xca, 0xbe, 0xa7,
1443 	0x10, 0x1e, 0x06, 0x45, 0x17, 0xa0, 0xf5, 0x5a, 0x74, 0xf8, 0xe4, 0xe9,
1444 	0xea, 0x6a, 0x53, 0x88, 0x8a, 0x50, 0x89, 0x6f, 0x7c, 0xc8, 0x7b, 0xcf,
1445 	0xfc, 0xaa, 0xef, 0x65, 0xa3, 0xbd, 0xe1, 0x4e, 0xe8, 0x2a, 0x26, 0x1d,
1446 	0xe6, 0x30, 0x4f, 0x2b, 0x60, 0x1a, 0xd0, 0x2e, 0x02, 0x6e, 0x62, 0x0d,
1447 	0xe9, 0x68, 0xa5, 0xf3, 0x66, 0xa6, 0x0a, 0xa3, 0xff, 0x25, 0xf0, 0x0b,
1448 	0xb7, 0x6c, 0x0d, 0x1b, 0x90, 0x07, 0x10, 0xd7, 0x4d, 0x37, 0x84, 0xab,
1449 	0x7c, 0xe8, 0xf8, 0xff, 0xb4, 0xe3, 0x5d, 0x0c
1450 };
1451 static const uint8_t nist_186_2_ecdsa_testvector_36_private[] = {
1452 /* d */
1453 	0x00, 0xc2, 0xfe, 0x3b, 0x0d, 0x4f, 0x3d, 0x69, 0x09, 0xa3, 0x99, 0xa4,
1454 	0x32, 0x47, 0xa2, 0x12, 0x92, 0xff, 0x63, 0x3f, 0x8f, 0x0f, 0x05, 0x3e,
1455 	0x39, 0x45, 0x9a, 0xf6, 0xb8, 0x43, 0x7e, 0x6b
1456 };
1457 static const uint8_t nist_186_2_ecdsa_testvector_36_public_x[] = {
1458 /* Qx */
1459 	0x1b, 0xaf, 0x23, 0xf8, 0x6d, 0x78, 0xaa, 0x82, 0xda, 0x24, 0x8d, 0x2f,
1460 	0x9a, 0xcf, 0x65, 0xdf, 0xa2, 0xe7, 0x84, 0x8a, 0x8b, 0xde, 0xbb, 0x93,
1461 	0x19, 0x91, 0x68, 0xe6, 0xf0, 0xd4, 0xf5, 0xf9
1462 };
1463 static const uint8_t nist_186_2_ecdsa_testvector_36_public_y[] = {
1464 /* Qy */
1465 	0xca, 0x61, 0x98, 0x5b, 0xfc, 0xd0, 0xac, 0x55, 0xf9, 0x5b, 0x73, 0xf0,
1466 	0x77, 0x74, 0xd8, 0x71, 0x4b, 0x6c, 0x3b, 0x80, 0xdd, 0xd6, 0x12, 0x3b,
1467 	0x3d, 0xac, 0x8a, 0x45, 0xc3, 0x4e, 0x43, 0x5b
1468 };
1469 /* k = 00c8c9e7cf43fe62a67a3c998c36931a3a5332f3a47972c26a7813f405ffe851 */
1470 static const uint8_t nist_186_2_ecdsa_testvector_36_out[] = {
1471 /* R */
1472 	0xdd, 0xf8, 0xfc, 0x4d, 0x06, 0xef, 0x4b, 0x7b, 0x69, 0xe2, 0x6a, 0xc9,
1473 	0xc0, 0x0a, 0xc7, 0xed, 0x9a, 0xe5, 0x50, 0x12, 0xe9, 0xf2, 0xa9, 0x7f,
1474 	0x4e, 0xb9, 0x9c, 0xab, 0xae, 0x39, 0x36, 0x60,
1475 /* S */
1476 	0x1f, 0x41, 0xca, 0x55, 0x3d, 0xbb, 0x07, 0xd8, 0xe7, 0xd6, 0x8e, 0x36,
1477 	0x50, 0xc5, 0x77, 0x7e, 0x42, 0xb3, 0x47, 0x3e, 0x31, 0x90, 0x86, 0x88,
1478 	0xc0, 0xd7, 0x32, 0x4a, 0xfa, 0x63, 0x7e, 0xd0
1479 };
1480 static const uint8_t nist_186_2_ecdsa_testvector_37_ptx[] = {
1481 /* Msg */
1482 	0x07, 0x2f, 0x0e, 0x1e, 0xd6, 0x22, 0x57, 0x1f, 0x80, 0x60, 0x26, 0x54,
1483 	0x3f, 0x4c, 0x24, 0x4e, 0xaf, 0x25, 0x68, 0x5d, 0x2f, 0xd7, 0xf6, 0x04,
1484 	0x8a, 0x17, 0x85, 0xab, 0xd7, 0xae, 0x86, 0x94, 0x9d, 0x15, 0x61, 0x10,
1485 	0x3b, 0x43, 0x02, 0xf3, 0x87, 0xc3, 0x94, 0x45, 0xb6, 0x09, 0x8c, 0x3a,
1486 	0x7c, 0x06, 0xea, 0x64, 0x73, 0xfa, 0xbb, 0x28, 0xc1, 0x8a, 0xe3, 0x6f,
1487 	0xf6, 0x12, 0x19, 0x9d, 0x33, 0x3c, 0x33, 0xc7, 0x91, 0xd2, 0xa4, 0x21,
1488 	0xc0, 0xd0, 0x43, 0xb5, 0xef, 0xbe, 0x4e, 0x5b, 0xec, 0x3c, 0xae, 0xe5,
1489 	0x8d, 0xdf, 0x7c, 0x9a, 0x4e, 0x3b, 0xc5, 0xe6, 0x3b, 0x41, 0x8a, 0x4f,
1490 	0x11, 0xcc, 0x0b, 0xab, 0xa0, 0x76, 0x46, 0x90, 0x73, 0xb0, 0xba, 0x0d,
1491 	0xb3, 0x12, 0x70, 0x97, 0x49, 0xef, 0x3c, 0x46, 0x43, 0x2d, 0x41, 0x42,
1492 	0x79, 0x53, 0xb3, 0x78, 0x70, 0xe4, 0xe1, 0x91
1493 };
1494 static const uint8_t nist_186_2_ecdsa_testvector_37_private[] = {
1495 /* d */
1496 	0x00, 0x37, 0xd4, 0xac, 0x2a, 0x27, 0x52, 0x0b, 0x13, 0x03, 0x99, 0x03,
1497 	0x91, 0x80, 0x5a, 0xa3, 0xc1, 0x90, 0x65, 0x6e, 0x30, 0xcc, 0x8c, 0x5b,
1498 	0x54, 0xb4, 0x89, 0xac, 0x4d, 0x0b, 0x29, 0x5e
1499 };
1500 static const uint8_t nist_186_2_ecdsa_testvector_37_public_x[] = {
1501 /* Qx */
1502 	0x83, 0x4f, 0x19, 0xc9, 0x36, 0x4b, 0x77, 0xec, 0x0a, 0xcd, 0x04, 0x99,
1503 	0x7f, 0x1b, 0x8d, 0xa7, 0xe3, 0x5c, 0x7f, 0x9d, 0x90, 0xd3, 0x05, 0xe4,
1504 	0xbb, 0x15, 0x05, 0xd0, 0xc0, 0x72, 0xc2, 0xd9
1505 };
1506 static const uint8_t nist_186_2_ecdsa_testvector_37_public_y[] = {
1507 /* Qy */
1508 	0x73, 0x43, 0xfc, 0x4f, 0x25, 0x50, 0x7e, 0x00, 0x0a, 0x12, 0xbf, 0x5c,
1509 	0xc5, 0xca, 0x99, 0xe3, 0x10, 0x38, 0x3d, 0x08, 0x24, 0x80, 0x7a, 0x74,
1510 	0xfb, 0x31, 0xd3, 0xbc, 0x89, 0xb9, 0x4d, 0x69
1511 };
1512 /* k = 001195d3f0a9f06fd529e351ea3defebd8a68fa6228fcba6e2c23167855d931b */
1513 static const uint8_t nist_186_2_ecdsa_testvector_37_out[] = {
1514 /* R */
1515 	0x2a, 0x7b, 0xbe, 0xba, 0x9a, 0x19, 0x25, 0xe6, 0x4c, 0x6e, 0x82, 0x9d,
1516 	0x88, 0xc7, 0xa8, 0x93, 0xc2, 0x96, 0x02, 0x73, 0xac, 0x40, 0xd8, 0x2e,
1517 	0xa9, 0xb6, 0x6c, 0x98, 0x1a, 0x24, 0xb3, 0x46,
1518 /* S */
1519 	0x50, 0x77, 0x20, 0x70, 0x32, 0xc8, 0xa7, 0xbf, 0xd4, 0xae, 0x87, 0x6f,
1520 	0x22, 0xbb, 0x54, 0xb3, 0xec, 0x4d, 0x7f, 0x39, 0x4c, 0xf0, 0xc1, 0x52,
1521 	0xf6, 0x36, 0xa7, 0x8f, 0xda, 0x8e, 0xb3, 0x5a
1522 };
1523 static const uint8_t nist_186_2_ecdsa_testvector_38_ptx[] = {
1524 /* Msg */
1525 	0xc2, 0xc0, 0x47, 0x1e, 0x83, 0x03, 0x27, 0xbf, 0x1b, 0x0d, 0xda, 0x7b,
1526 	0xb0, 0x36, 0xe1, 0x17, 0xff, 0x1c, 0xf8, 0xb9, 0xab, 0xa4, 0x00, 0x06,
1527 	0xd4, 0x3b, 0x3d, 0x87, 0xec, 0x62, 0xc1, 0x51, 0xc6, 0x69, 0x28, 0xe5,
1528 	0xf0, 0x7a, 0x86, 0x55, 0x43, 0xda, 0x9e, 0xa8, 0xb8, 0x6c, 0x55, 0x80,
1529 	0x7e, 0x77, 0x66, 0xfa, 0x49, 0xa8, 0x56, 0xd6, 0xec, 0x5b, 0xab, 0xd8,
1530 	0x2a, 0x16, 0x59, 0x6d, 0xc9, 0x56, 0x7d, 0x92, 0xe9, 0x8f, 0x4d, 0xf2,
1531 	0x94, 0x6e, 0x4f, 0x4e, 0x96, 0x61, 0xca, 0x22, 0x8f, 0x59, 0x7b, 0x86,
1532 	0x46, 0xcf, 0x88, 0x52, 0x40, 0x05, 0xba, 0x85, 0x92, 0x8e, 0xe6, 0xe8,
1533 	0xf3, 0x10, 0xac, 0xee, 0x15, 0x49, 0x64, 0xdf, 0x36, 0x50, 0x56, 0x35,
1534 	0xf2, 0x1d, 0x29, 0x47, 0x5b, 0x4c, 0x9f, 0x24, 0x4b, 0x1e, 0x7f, 0xc2,
1535 	0xf9, 0xc1, 0xd2, 0x58, 0xcb, 0xd1, 0x51, 0x08
1536 };
1537 static const uint8_t nist_186_2_ecdsa_testvector_38_private[] = {
1538 /* d */
1539 	0x00, 0xb3, 0xea, 0x91, 0x54, 0xc8, 0x47, 0x49, 0xf4, 0xd5, 0xee, 0x11,
1540 	0x60, 0xfd, 0xd1, 0xca, 0x69, 0x91, 0x87, 0xf3, 0xb3, 0x39, 0xd4, 0xbd,
1541 	0x8c, 0xac, 0x32, 0x66, 0xe0, 0x71, 0x4d, 0x0b
1542 };
1543 static const uint8_t nist_186_2_ecdsa_testvector_38_public_x[] = {
1544 /* Qx */
1545 	0xd2, 0x5e, 0x48, 0xc8, 0x81, 0xcd, 0x1a, 0x8b, 0xf8, 0x01, 0x75, 0x07,
1546 	0xa6, 0x51, 0x1e, 0x1c, 0x49, 0x40, 0x98, 0x02, 0xf1, 0x4d, 0x22, 0x6b,
1547 	0x56, 0x50, 0x7a, 0x28, 0x0f, 0x82, 0x40, 0xb1
1548 };
1549 static const uint8_t nist_186_2_ecdsa_testvector_38_public_y[] = {
1550 /* Qy */
1551 	0xe0, 0xad, 0x27, 0x83, 0x11, 0xc6, 0xe0, 0x8b, 0x65, 0xe7, 0xb1, 0xbb,
1552 	0x86, 0x62, 0x7a, 0x43, 0xfc, 0x45, 0xd0, 0x4a, 0x89, 0xc4, 0x28, 0x04,
1553 	0xb5, 0x5a, 0x37, 0x88, 0x05, 0x65, 0x56, 0xe2
1554 };
1555 /* k = 0023ded046abaa7858849550559af1ab74205904ba560a050abfa9358958622e */
1556 static const uint8_t nist_186_2_ecdsa_testvector_38_out[] = {
1557 /* R */
1558 	0xfe, 0x7e, 0x11, 0x0c, 0x27, 0xf6, 0x9d, 0x4d, 0x8c, 0x31, 0x91, 0x13,
1559 	0x67, 0x6c, 0x83, 0xd7, 0xb9, 0xb4, 0xd8, 0xde, 0xdd, 0x5d, 0xb6, 0xa7,
1560 	0x58, 0x53, 0xa8, 0xb3, 0x99, 0xaa, 0x27, 0x89,
1561 /* S */
1562 	0xc5, 0xd7, 0x71, 0x0e, 0xf8, 0x8a, 0x11, 0x20, 0x0d, 0x84, 0xc7, 0x02,
1563 	0xb2, 0x8d, 0x17, 0x48, 0x00, 0xbb, 0xf5, 0xa9, 0xe0, 0x8e, 0xbb, 0xd6,
1564 	0x39, 0xfd, 0x4f, 0xb8, 0xaa, 0x6d, 0xd4, 0xdb
1565 };
1566 static const uint8_t nist_186_2_ecdsa_testvector_39_ptx[] = {
1567 /* Msg */
1568 	0x4f, 0x0f, 0x98, 0x13, 0x0c, 0xd6, 0x88, 0xaf, 0x32, 0xb1, 0x4b, 0xac,
1569 	0xad, 0x31, 0x3c, 0xc8, 0xcc, 0xb5, 0x4d, 0xfc, 0x3a, 0x8e, 0x9e, 0xba,
1570 	0x2f, 0x60, 0x4e, 0x74, 0xe7, 0xcb, 0x91, 0x5d, 0x54, 0x4b, 0x02, 0x73,
1571 	0x10, 0x5d, 0x3b, 0xbd, 0x95, 0xe4, 0xa3, 0xd1, 0xb0, 0xca, 0x88, 0x9a,
1572 	0x33, 0xea, 0x6e, 0x58, 0xeb, 0x2e, 0xa6, 0xe8, 0xd1, 0xf4, 0x22, 0x46,
1573 	0x84, 0xb7, 0x87, 0x50, 0xf7, 0xeb, 0x84, 0xcd, 0x67, 0x28, 0x63, 0xad,
1574 	0x91, 0x8b, 0xdd, 0x92, 0x21, 0x5a, 0x33, 0x90, 0x6d, 0xe6, 0x7a, 0x31,
1575 	0x63, 0xb6, 0x36, 0xbd, 0xc0, 0xe1, 0x2b, 0xb8, 0x84, 0xbc, 0x70, 0xab,
1576 	0xa2, 0xb5, 0xc5, 0x28, 0xfb, 0x7f, 0x26, 0x08, 0x8d, 0x70, 0xa1, 0xf7,
1577 	0xe8, 0x27, 0x64, 0x33, 0xe2, 0x71, 0x1a, 0x90, 0x8c, 0x6e, 0x78, 0xc0,
1578 	0x65, 0xef, 0x12, 0xd1, 0xcd, 0x23, 0x74, 0xf7
1579 };
1580 static const uint8_t nist_186_2_ecdsa_testvector_39_private[] = {
1581 /* d */
1582 	0x00, 0x48, 0x0a, 0xb6, 0xfa, 0x57, 0x4a, 0xea, 0xa0, 0x41, 0x13, 0x80,
1583 	0xcb, 0xfd, 0xc3, 0x87, 0x79, 0x24, 0x32, 0xc3, 0xe0, 0xb4, 0xea, 0xea,
1584 	0xf1, 0x61, 0x70, 0x96, 0xf4, 0xf1, 0x1b, 0x89
1585 };
1586 static const uint8_t nist_186_2_ecdsa_testvector_39_public_x[] = {
1587 /* Qx */
1588 	0xaf, 0xb9, 0x82, 0x0f, 0xba, 0xb1, 0xf3, 0x1e, 0x84, 0xb7, 0xbe, 0xd0,
1589 	0xef, 0x93, 0x05, 0x3e, 0xec, 0x01, 0xe7, 0x09, 0x91, 0x00, 0xbb, 0x29,
1590 	0x0d, 0xf1, 0x2a, 0x59, 0x02, 0x8d, 0x0a, 0x37
1591 };
1592 static const uint8_t nist_186_2_ecdsa_testvector_39_public_y[] = {
1593 /* Qy */
1594 	0xf3, 0x96, 0x22, 0x09, 0xd8, 0x68, 0x3a, 0x90, 0x7b, 0x8c, 0x20, 0x13,
1595 	0x89, 0xb4, 0xcd, 0x2a, 0xb4, 0xd0, 0x78, 0x21, 0x66, 0xa8, 0x8d, 0xc4,
1596 	0x20, 0x4a, 0x47, 0x9e, 0x7b, 0x34, 0xd1, 0x01
1597 };
1598 /* k = 0006a94c845c7ef871b0c440bbcb997f688b3fee833354b6981702bc3159479c */
1599 static const uint8_t nist_186_2_ecdsa_testvector_39_out[] = {
1600 /* R */
1601 	0xa4, 0x17, 0xad, 0xcf, 0x86, 0xb1, 0xde, 0x7c, 0x40, 0xd3, 0x40, 0x97,
1602 	0x79, 0x44, 0x80, 0x55, 0x14, 0xe7, 0x63, 0x7c, 0xba, 0x5e, 0xe8, 0x3e,
1603 	0xbb, 0xdb, 0x24, 0x43, 0x56, 0x23, 0x18, 0xa9,
1604 /* S */
1605 	0x48, 0xcc, 0x6e, 0xff, 0x80, 0x33, 0x08, 0xb0, 0x2c, 0x9d, 0xdd, 0x73,
1606 	0x99, 0x24, 0x13, 0x8f, 0xd5, 0x72, 0xa8, 0xe9, 0xc2, 0x37, 0x64, 0xa1,
1607 	0x83, 0x1e, 0xe3, 0xd8, 0x19, 0xbf, 0x08, 0x7a
1608 };
1609 static const uint8_t nist_186_2_ecdsa_testvector_40_ptx[] = {
1610 /* Msg */
1611 	0x48, 0x49, 0x4b, 0x66, 0x1d, 0x94, 0x4a, 0x04, 0xb2, 0xc3, 0x32, 0x35,
1612 	0xaa, 0x7f, 0x51, 0x1b, 0x6a, 0x2a, 0xd4, 0x43, 0x1c, 0xd0, 0xe8, 0x35,
1613 	0xfa, 0x5a, 0x20, 0x4a, 0xc9, 0x05, 0x17, 0xbe, 0xa3, 0x13, 0x56, 0x06,
1614 	0xfa, 0xc1, 0x78, 0x64, 0xda, 0x78, 0x8c, 0xb8, 0x6e, 0x47, 0xba, 0x99,
1615 	0xc6, 0x91, 0x2a, 0xa4, 0xd7, 0x03, 0x21, 0x14, 0xc4, 0xc9, 0x6d, 0x94,
1616 	0x5c, 0x02, 0x04, 0x51, 0xe3, 0x71, 0xe8, 0x52, 0x15, 0x75, 0x4d, 0x0c,
1617 	0x68, 0x3b, 0xfe, 0x31, 0x92, 0x32, 0xfd, 0xca, 0x4b, 0xbf, 0x69, 0x85,
1618 	0x54, 0x33, 0xa5, 0x50, 0xb8, 0xfa, 0xb7, 0x26, 0x52, 0x14, 0xee, 0x29,
1619 	0x8f, 0xca, 0xc8, 0xf2, 0x75, 0x99, 0x12, 0x25, 0xe4, 0x73, 0x51, 0x48,
1620 	0x1c, 0x27, 0x61, 0xd5, 0x80, 0x1d, 0x5c, 0x8d, 0x9a, 0x46, 0xbe, 0x10,
1621 	0x5e, 0x53, 0xc6, 0xab, 0xb3, 0x25, 0x1f, 0x71
1622 };
1623 static const uint8_t nist_186_2_ecdsa_testvector_40_private[] = {
1624 /* d */
1625 	0x00, 0xe1, 0x1c, 0x4e, 0xb5, 0x7b, 0xdd, 0x6c, 0x26, 0x6b, 0x57, 0x95,
1626 	0xe2, 0xe9, 0x5d, 0x3f, 0x34, 0xf8, 0x02, 0xf8, 0xce, 0x87, 0x28, 0xa6,
1627 	0xd9, 0x81, 0xb8, 0x78, 0x7e, 0xcc, 0x10, 0x2c
1628 };
1629 static const uint8_t nist_186_2_ecdsa_testvector_40_public_x[] = {
1630 /* Qx */
1631 	0x99, 0x7a, 0x53, 0x5b, 0x89, 0x2a, 0xdf, 0x06, 0xaf, 0xe8, 0xfd, 0x17,
1632 	0xd9, 0x1b, 0x52, 0xc9, 0x14, 0x9e, 0x1d, 0x83, 0xc3, 0xc7, 0x31, 0x79,
1633 	0x00, 0x87, 0x27, 0xef, 0xcd, 0xba, 0x55, 0x21
1634 };
1635 static const uint8_t nist_186_2_ecdsa_testvector_40_public_y[] = {
1636 /* Qy */
1637 	0xef, 0x14, 0x2f, 0xa4, 0x8a, 0x4b, 0x75, 0x77, 0x1a, 0x9f, 0x15, 0x6d,
1638 	0x22, 0x9c, 0x9d, 0x61, 0xb2, 0x23, 0xa5, 0x73, 0xfa, 0xdb, 0x31, 0x38,
1639 	0xb3, 0xd0, 0xb4, 0xd4, 0x11, 0x41, 0x5a, 0x94
1640 };
1641 /* k = 009d3dc147bc10b23b1156aa120e1933f31fa98a4233587941c355ca0b99f0c3 */
1642 static const uint8_t nist_186_2_ecdsa_testvector_40_out[] = {
1643 /* R */
1644 	0xd4, 0xed, 0x66, 0xd8, 0xa5, 0xbc, 0x64, 0x0e, 0x01, 0xfd, 0xf9, 0x5a,
1645 	0x7f, 0xf2, 0xd0, 0xfe, 0x13, 0x69, 0x2e, 0xb1, 0x21, 0xbf, 0x68, 0x83,
1646 	0xfd, 0xc2, 0xbe, 0x93, 0x8d, 0x99, 0x10, 0x60,
1647 /* S */
1648 	0xf4, 0x31, 0x68, 0x41, 0x45, 0x38, 0xb8, 0x81, 0x7a, 0x3e, 0x48, 0x35,
1649 	0x02, 0x43, 0x7f, 0xd1, 0x68, 0x1a, 0x84, 0xf2, 0x05, 0x39, 0xc0, 0x55,
1650 	0x66, 0x8e, 0xaa, 0x5a, 0x93, 0xfa, 0x4d, 0xb0
1651 };
1652 static const uint8_t nist_186_2_ecdsa_testvector_41_ptx[] = {
1653 /* Msg */
1654 	0xe6, 0x58, 0x23, 0x93, 0x3d, 0xfb, 0x7d, 0xf5, 0x03, 0x28, 0xbc, 0x28,
1655 	0xde, 0x79, 0x61, 0xb4, 0x06, 0xd9, 0xf8, 0x07, 0x05, 0x3b, 0xfb, 0xc5,
1656 	0xbb, 0x8c, 0xf3, 0x5f, 0xa4, 0xe5, 0xe0, 0xe7, 0x5e, 0x06, 0xdb, 0x23,
1657 	0x65, 0x00, 0xfa, 0xe0, 0x22, 0x31, 0x74, 0x88, 0x24, 0x75, 0x05, 0xf7,
1658 	0xad, 0x9b, 0x94, 0x8b, 0x70, 0x16, 0x14, 0x7a, 0x99, 0xf5, 0xa8, 0x69,
1659 	0x0e, 0x16, 0x0a, 0x3a, 0xf4, 0x96, 0x2d, 0x25, 0x76, 0x8b, 0x21, 0x0a,
1660 	0xc1, 0xf6, 0x38, 0x05, 0x53, 0xf3, 0x67, 0x44, 0x76, 0x33, 0xee, 0x15,
1661 	0x07, 0xac, 0x3b, 0x43, 0x7c, 0x8f, 0x0c, 0xa3, 0x26, 0x7b, 0xd5, 0xea,
1662 	0xb2, 0xf0, 0x61, 0xc1, 0xf6, 0x06, 0xbb, 0x1c, 0xeb, 0x5f, 0x4f, 0xc7,
1663 	0xf5, 0x5a, 0x4d, 0x41, 0x6b, 0x89, 0x4e, 0xce, 0x53, 0x66, 0x3a, 0xc8,
1664 	0x6d, 0x41, 0x69, 0x36, 0x74, 0x7d, 0x08, 0xa0
1665 };
1666 static const uint8_t nist_186_2_ecdsa_testvector_41_private[] = {
1667 /* d */
1668 	0x00, 0x5e, 0xeb, 0x60, 0x90, 0x1d, 0x07, 0xf4, 0x9f, 0x43, 0x37, 0x44,
1669 	0x71, 0x53, 0x06, 0xce, 0xa0, 0x6c, 0xf7, 0x55, 0x07, 0xb7, 0x4f, 0xb8,
1670 	0x23, 0x22, 0x3d, 0xc3, 0xad, 0x33, 0xd2, 0x0e
1671 };
1672 static const uint8_t nist_186_2_ecdsa_testvector_41_public_x[] = {
1673 /* Qx */
1674 	0x00, 0xfe, 0x1a, 0xd1, 0x8e, 0x96, 0x56, 0xd9, 0xd5, 0xfd, 0xc1, 0xcc,
1675 	0xce, 0x2f, 0x26, 0x8d, 0xeb, 0xeb, 0x64, 0xeb, 0xb0, 0xb3, 0x9f, 0xed,
1676 	0x65, 0x7d, 0x20, 0x51, 0x72, 0x7b, 0x0a, 0x57
1677 };
1678 static const uint8_t nist_186_2_ecdsa_testvector_41_public_y[] = {
1679 /* Qy */
1680 	0xef, 0x4d, 0x02, 0xfd, 0xa8, 0x98, 0x26, 0x6c, 0x96, 0xd7, 0xcf, 0x20,
1681 	0x31, 0xd1, 0xe0, 0xd5, 0x6e, 0x15, 0x8e, 0xe0, 0xa0, 0x7f, 0xec, 0xb4,
1682 	0xc8, 0xa1, 0x4a, 0x02, 0x1d, 0x98, 0x45, 0x84
1683 };
1684 /* k = 007188abf3ed30221ff28c8adf1c2af5b40bb4021ea5d94672ee7308c5154807 */
1685 static const uint8_t nist_186_2_ecdsa_testvector_41_out[] = {
1686 /* R */
1687 	0xd5, 0x60, 0x4a, 0xec, 0xac, 0x4f, 0x8b, 0x69, 0xd5, 0xfe, 0x0e, 0xe8,
1688 	0xee, 0x9d, 0x0d, 0x59, 0x18, 0xd3, 0x78, 0xcc, 0x9c, 0x38, 0x86, 0x2a,
1689 	0x85, 0xca, 0xb1, 0x01, 0x82, 0x83, 0x6f, 0x62,
1690 /* S */
1691 	0xc7, 0x10, 0x48, 0x58, 0xcd, 0x7b, 0xcc, 0x41, 0x8b, 0x4f, 0x2c, 0x36,
1692 	0x73, 0x94, 0x5d, 0x47, 0xe9, 0x56, 0x7f, 0xa0, 0x5a, 0x90, 0x28, 0xe0,
1693 	0x0d, 0x9a, 0xed, 0x06, 0xea, 0x85, 0x40, 0x68
1694 };
1695 static const uint8_t nist_186_2_ecdsa_testvector_42_ptx[] = {
1696 /* Msg */
1697 	0x4c, 0xe3, 0x7a, 0x16, 0xce, 0xed, 0xe9, 0x5d, 0x71, 0xd6, 0xf9, 0x10,
1698 	0xfa, 0x9f, 0xb3, 0xda, 0xef, 0x05, 0xf8, 0xee, 0x4d, 0x5d, 0xd0, 0x02,
1699 	0x7d, 0xc3, 0xfe, 0x9b, 0x85, 0x73, 0xd8, 0x8c, 0x7c, 0x77, 0x55, 0xb9,
1700 	0x40, 0x83, 0x68, 0x21, 0x6b, 0x1d, 0x8c, 0x1c, 0x82, 0x00, 0xa0, 0xe0,
1701 	0x70, 0xc3, 0xf6, 0x4a, 0x33, 0xb6, 0xa7, 0xdc, 0xd6, 0x0d, 0x29, 0x02,
1702 	0x9f, 0x40, 0x23, 0x99, 0x89, 0xb1, 0x7f, 0xb1, 0xf4, 0x90, 0xc1, 0x92,
1703 	0x9c, 0xfb, 0x98, 0xfe, 0xc8, 0x6a, 0xb3, 0xb6, 0xc4, 0x4b, 0xd6, 0x40,
1704 	0x90, 0xe9, 0x2d, 0xe6, 0xda, 0x92, 0xe0, 0x02, 0x2a, 0xf9, 0xe7, 0x79,
1705 	0x5d, 0xd9, 0x20, 0x86, 0x54, 0xdb, 0x9f, 0xb9, 0xed, 0xba, 0x45, 0x3f,
1706 	0x32, 0xa5, 0x94, 0x63, 0xd1, 0xe5, 0xc1, 0x55, 0xcd, 0xbf, 0x0b, 0x2a,
1707 	0x72, 0x9c, 0x4c, 0x25, 0x8e, 0x67, 0xce, 0x35
1708 };
1709 static const uint8_t nist_186_2_ecdsa_testvector_42_private[] = {
1710 /* d */
1711 	0x00, 0x9d, 0x5f, 0xd2, 0x23, 0x02, 0xb0, 0xb2, 0xd0, 0xd8, 0xe9, 0x0c,
1712 	0x62, 0x3b, 0xa5, 0x36, 0x1c, 0xaa, 0x2c, 0xa0, 0x53, 0x23, 0x97, 0x2c,
1713 	0x62, 0x82, 0x9a, 0xe1, 0x60, 0xb4, 0xfb, 0xfe
1714 };
1715 static const uint8_t nist_186_2_ecdsa_testvector_42_public_x[] = {
1716 /* Qx */
1717 	0xad, 0xcf, 0x9c, 0x09, 0x04, 0x41, 0x48, 0xd3, 0xe2, 0x4a, 0xc4, 0x12,
1718 	0xeb, 0x96, 0x85, 0x30, 0x19, 0xcc, 0x39, 0xdf, 0x61, 0xd3, 0xa6, 0xdc,
1719 	0x25, 0xa4, 0xa1, 0x74, 0xd1, 0xe6, 0x55, 0x03
1720 };
1721 static const uint8_t nist_186_2_ecdsa_testvector_42_public_y[] = {
1722 /* Qy */
1723 	0x0c, 0x53, 0xf5, 0x52, 0x19, 0x2b, 0x2e, 0x70, 0x93, 0xef, 0x35, 0x8d,
1724 	0x11, 0x27, 0x58, 0x49, 0x5e, 0x67, 0xb8, 0x7a, 0x4e, 0x26, 0x90, 0x4f,
1725 	0xbf, 0x3b, 0xbb, 0x89, 0x9b, 0xde, 0x7c, 0x26
1726 };
1727 /* k = 001b1768e9de3db0bb64886c4e3becf3af3c680bc49e28263bdeddd10ede71d7 */
1728 static const uint8_t nist_186_2_ecdsa_testvector_42_out[] = {
1729 /* R */
1730 	0x3e, 0x6d, 0xdd, 0xb2, 0x0c, 0xea, 0x38, 0x8e, 0x69, 0x47, 0xb8, 0xb8,
1731 	0xaf, 0x28, 0x60, 0xf5, 0xbc, 0x38, 0x5d, 0xb8, 0x19, 0xdf, 0x33, 0x7e,
1732 	0x2f, 0x7c, 0x05, 0x64, 0xfc, 0x69, 0xdd, 0xb6,
1733 /* S */
1734 	0x13, 0xb2, 0xf3, 0xfe, 0x0f, 0x6e, 0x3f, 0x33, 0x01, 0x5e, 0xc2, 0x7c,
1735 	0xa9, 0xbb, 0xaa, 0x4e, 0x0e, 0xf9, 0x37, 0x12, 0x19, 0x2d, 0x37, 0x9d,
1736 	0xdb, 0xbf, 0x09, 0x13, 0xa8, 0xbd, 0x04, 0x59
1737 };
1738 static const uint8_t nist_186_2_ecdsa_testvector_43_ptx[] = {
1739 /* Msg */
1740 	0xb3, 0xa9, 0xa9, 0xb4, 0x63, 0x11, 0x43, 0xaa, 0x6e, 0x67, 0x1f, 0xc1,
1741 	0x68, 0xfc, 0x15, 0xff, 0x90, 0x27, 0xf2, 0x8f, 0xae, 0x98, 0x77, 0xb9,
1742 	0x42, 0xe9, 0xa4, 0x12, 0xda, 0x76, 0x36, 0xf0, 0xc4, 0x6f, 0x6e, 0x21,
1743 	0xe5, 0x2b, 0x14, 0xdd, 0xe9, 0xbf, 0xbc, 0xf8, 0x9d, 0xd0, 0x48, 0x5c,
1744 	0x98, 0xa5, 0xae, 0xb7, 0x21, 0x80, 0xfb, 0x71, 0x4d, 0x2f, 0x98, 0xe1,
1745 	0x68, 0xde, 0xcc, 0xc0, 0x96, 0x2f, 0x83, 0xde, 0xba, 0x8d, 0x4e, 0x13,
1746 	0x97, 0xbd, 0xaa, 0x79, 0x36, 0xb5, 0x85, 0xd8, 0x87, 0xb2, 0xfe, 0x62,
1747 	0x4a, 0x85, 0x6d, 0xa1, 0x30, 0x2d, 0xa3, 0xad, 0x3e, 0xab, 0x73, 0xa2,
1748 	0x73, 0x12, 0x71, 0x51, 0xaa, 0xde, 0xf9, 0x36, 0xc2, 0x86, 0x73, 0xab,
1749 	0xfb, 0x55, 0xd6, 0x5a, 0xa3, 0x75, 0x6b, 0xf8, 0xf3, 0x4d, 0xd4, 0x31,
1750 	0x34, 0x0d, 0x4c, 0xde, 0x25, 0x86, 0x30, 0x7e
1751 };
1752 static const uint8_t nist_186_2_ecdsa_testvector_43_private[] = {
1753 /* d */
1754 	0x00, 0x41, 0x2b, 0xc9, 0x4f, 0x1a, 0x48, 0xff, 0xee, 0x13, 0xc3, 0xe9,
1755 	0x6c, 0xdf, 0xc9, 0x4f, 0x3f, 0xe6, 0xef, 0x9d, 0x62, 0xf2, 0x26, 0x3a,
1756 	0x11, 0x82, 0xed, 0xcc, 0x62, 0xfe, 0x9c, 0x84
1757 };
1758 static const uint8_t nist_186_2_ecdsa_testvector_43_public_x[] = {
1759 /* Qx */
1760 	0x5c, 0xa2, 0xc1, 0x76, 0x1d, 0x40, 0x0a, 0x62, 0x61, 0x7e, 0x79, 0xfe,
1761 	0x5f, 0xb2, 0x8c, 0xe6, 0x6d, 0xca, 0x62, 0xd0, 0xac, 0x26, 0x37, 0x93,
1762 	0x5e, 0xd1, 0xca, 0xf4, 0x94, 0x7f, 0x70, 0xed
1763 };
1764 static const uint8_t nist_186_2_ecdsa_testvector_43_public_y[] = {
1765 /* Qy */
1766 	0x5d, 0x79, 0xc1, 0xb7, 0x78, 0xd6, 0xd3, 0x1c, 0x84, 0x91, 0xc3, 0x83,
1767 	0x47, 0xf2, 0x67, 0x8f, 0xc4, 0x5c, 0x86, 0x75, 0xc7, 0x4a, 0x5a, 0x42,
1768 	0x89, 0x5b, 0x1e, 0xd5, 0x38, 0x5f, 0xc7, 0xf9
1769 };
1770 /* k = 00a0d4137f3e02ee6b17f1ce5204bf138802ec7136bc3a048579a28efec5635f */
1771 static const uint8_t nist_186_2_ecdsa_testvector_43_out[] = {
1772 /* R */
1773 	0xb2, 0x62, 0x19, 0xaf, 0x8c, 0xbd, 0xb9, 0x5c, 0x24, 0xba, 0x66, 0x9f,
1774 	0x0c, 0x54, 0x63, 0x7b, 0x27, 0xec, 0x05, 0xc7, 0x12, 0x1a, 0x3c, 0x21,
1775 	0xb9, 0x0e, 0xfd, 0xc0, 0x55, 0xf2, 0x3f, 0xd2,
1776 /* S */
1777 	0x7f, 0x9a, 0x56, 0xfd, 0x23, 0xf6, 0xe9, 0x30, 0x34, 0x10, 0x7d, 0xbc,
1778 	0xb3, 0xd5, 0xf2, 0x5d, 0xcf, 0x32, 0x5d, 0xbf, 0x59, 0xbb, 0x9f, 0xc8,
1779 	0x6b, 0x7b, 0xb6, 0x2b, 0x54, 0x5f, 0xf2, 0x59
1780 };
1781 static const uint8_t nist_186_2_ecdsa_testvector_44_ptx[] = {
1782 /* Msg */
1783 	0xec, 0x23, 0x56, 0xa8, 0xa3, 0xcc, 0x35, 0xbe, 0x88, 0xeb, 0xaf, 0x0d,
1784 	0xa7, 0xac, 0x4e, 0xc5, 0xfe, 0x66, 0x21, 0x8b, 0x32, 0x7c, 0x0e, 0x79,
1785 	0x81, 0x81, 0x6a, 0x66, 0xf8, 0x9f, 0xc7, 0x68, 0xe6, 0x39, 0x0d, 0x98,
1786 	0x90, 0xcf, 0xcd, 0x15, 0x26, 0x22, 0xd1, 0x4c, 0xf6, 0x99, 0xf8, 0x76,
1787 	0xe0, 0xe4, 0x41, 0x61, 0x0a, 0xdf, 0x25, 0x74, 0xd5, 0xb9, 0x2a, 0xee,
1788 	0x0f, 0x55, 0xb5, 0x6e, 0x6a, 0xf0, 0x1f, 0xb8, 0x2c, 0x05, 0x0c, 0xb6,
1789 	0x29, 0x6d, 0xf8, 0xbd, 0xee, 0xcb, 0x13, 0x12, 0x40, 0x27, 0x4f, 0xad,
1790 	0xc5, 0xd9, 0xb7, 0x3c, 0x00, 0xa9, 0x02, 0x6b, 0x83, 0x34, 0x68, 0x63,
1791 	0x5f, 0x92, 0xb4, 0x90, 0xe0, 0x35, 0x9b, 0xa8, 0x77, 0x14, 0x4c, 0xe9,
1792 	0xf8, 0x09, 0x48, 0xa2, 0x05, 0x78, 0x74, 0xf4, 0xca, 0x32, 0x6c, 0xda,
1793 	0xec, 0x99, 0x1b, 0x67, 0xbb, 0x04, 0x89, 0x4f
1794 };
1795 static const uint8_t nist_186_2_ecdsa_testvector_44_private[] = {
1796 /* d */
1797 	0x00, 0x81, 0x27, 0xb4, 0xaa, 0x2a, 0xec, 0x3b, 0x30, 0x27, 0xab, 0x7f,
1798 	0x8b, 0x5d, 0xf1, 0xcb, 0x41, 0x54, 0xdc, 0x5c, 0x6a, 0x03, 0x30, 0xa2,
1799 	0x32, 0xec, 0x07, 0xe5, 0x94, 0xd3, 0x06, 0xcc
1800 };
1801 static const uint8_t nist_186_2_ecdsa_testvector_44_public_x[] = {
1802 /* Qx */
1803 	0x79, 0x89, 0x9b, 0x96, 0xa4, 0x40, 0xc9, 0x12, 0xe4, 0x6e, 0x31, 0xc6,
1804 	0x4d, 0xcd, 0xb8, 0xc1, 0x8d, 0x3d, 0x8a, 0x29, 0xb7, 0x75, 0xe4, 0xc0,
1805 	0xff, 0xec, 0xe9, 0x1f, 0xaf, 0xb7, 0xc4, 0x8d
1806 };
1807 static const uint8_t nist_186_2_ecdsa_testvector_44_public_y[] = {
1808 /* Qy */
1809 	0x4f, 0x14, 0x68, 0x9d, 0xed, 0x44, 0xbe, 0xcc, 0x4d, 0x74, 0x01, 0xbf,
1810 	0x39, 0xcc, 0x36, 0x8f, 0xa1, 0x83, 0xfe, 0xba, 0x2e, 0x41, 0x6c, 0xe1,
1811 	0x61, 0x7d, 0x59, 0xfe, 0x4c, 0x2b, 0xa7, 0x7c
1812 };
1813 /* k = 00d30706db4e88261037558bf275fb93c7d8778fe20b832e4e3b9b162b1ed12b */
1814 static const uint8_t nist_186_2_ecdsa_testvector_44_out[] = {
1815 /* R */
1816 	0x54, 0xe8, 0x2e, 0xa0, 0xaf, 0xf8, 0x3d, 0xfb, 0xeb, 0x8c, 0xea, 0x1f,
1817 	0xdd, 0x7d, 0x69, 0x50, 0xd6, 0xdd, 0x34, 0x46, 0xc1, 0xee, 0x52, 0x45,
1818 	0x53, 0xc6, 0x0d, 0x54, 0x81, 0xcc, 0x52, 0x1e,
1819 /* S */
1820 	0xf7, 0x51, 0x43, 0x14, 0xdf, 0x4c, 0x0e, 0xb7, 0xfe, 0x0d, 0x95, 0xdf,
1821 	0x0f, 0xc6, 0xfe, 0x5e, 0x38, 0xb8, 0x59, 0x06, 0x13, 0x55, 0x5a, 0x8d,
1822 	0xb2, 0x86, 0x9c, 0x6f, 0x87, 0x41, 0xdc, 0x25
1823 };
1824 static const uint8_t nist_186_2_ecdsa_testvector_45_ptx[] = {
1825 /* Msg */
1826 	0x3b, 0xda, 0x9b, 0xb0, 0xd7, 0xe0, 0x36, 0x13, 0x51, 0xc2, 0xdf, 0x68,
1827 	0xa1, 0x28, 0xee, 0xb9, 0x75, 0x95, 0x2a, 0xbd, 0x79, 0x98, 0x33, 0xac,
1828 	0xd6, 0x46, 0x1d, 0x51, 0xf8, 0xe7, 0x5e, 0x61, 0x95, 0xf0, 0xea, 0x0b,
1829 	0xeb, 0x32, 0x9c, 0xd0, 0x49, 0x50, 0xd8, 0x95, 0xd0, 0x76, 0x6f, 0xf7,
1830 	0x7b, 0x48, 0xc2, 0xde, 0x5d, 0x19, 0x2b, 0x55, 0x2a, 0x5e, 0x98, 0x99,
1831 	0xf9, 0x62, 0x79, 0x6f, 0x48, 0x3b, 0xdd, 0xbb, 0x41, 0xfc, 0xd7, 0x4f,
1832 	0x3c, 0x2c, 0x27, 0x01, 0x84, 0x77, 0x16, 0x00, 0x5e, 0xa4, 0xa2, 0x68,
1833 	0x47, 0xc7, 0xdb, 0x13, 0x7e, 0xb8, 0x8d, 0xb3, 0xc2, 0xc3, 0x1f, 0x1d,
1834 	0x5d, 0xa1, 0xbb, 0xe8, 0x61, 0xa7, 0xb0, 0x37, 0x32, 0x3e, 0x14, 0xd3,
1835 	0x44, 0x93, 0xad, 0x7d, 0x26, 0x90, 0x12, 0x82, 0xc0, 0x0a, 0x0d, 0x8f,
1836 	0xd9, 0x3c, 0x44, 0xc7, 0xdc, 0x74, 0x18, 0x13
1837 };
1838 static const uint8_t nist_186_2_ecdsa_testvector_45_private[] = {
1839 /* d */
1840 	0x00, 0xd0, 0x07, 0xe1, 0xb9, 0xaf, 0xcc, 0x31, 0x2e, 0xec, 0x9c, 0xec,
1841 	0xff, 0xa0, 0x28, 0x07, 0x52, 0xbb, 0xd1, 0x95, 0x31, 0x82, 0xed, 0xef,
1842 	0x12, 0xf3, 0xfc, 0x36, 0x6e, 0x8f, 0x43, 0x56
1843 };
1844 static const uint8_t nist_186_2_ecdsa_testvector_45_public_x[] = {
1845 /* Qx */
1846 	0xd6, 0x60, 0x62, 0x71, 0x13, 0x1e, 0x7e, 0x7e, 0x61, 0x7a, 0x81, 0xaa,
1847 	0x11, 0xf0, 0x9e, 0x7e, 0xd5, 0x63, 0x11, 0x82, 0x88, 0x23, 0x36, 0x7a,
1848 	0x86, 0x9b, 0x45, 0x40, 0x40, 0xb3, 0xf9, 0x05
1849 };
1850 static const uint8_t nist_186_2_ecdsa_testvector_45_public_y[] = {
1851 /* Qy */
1852 	0xcf, 0x48, 0x97, 0x76, 0x61, 0x31, 0xaa, 0x8b, 0x7f, 0x80, 0x45, 0x3a,
1853 	0x15, 0xbf, 0x90, 0xf7, 0x51, 0x78, 0x78, 0x57, 0x9d, 0x5a, 0x4f, 0x97,
1854 	0x3a, 0xea, 0x5b, 0xb1, 0x15, 0x42, 0xe0, 0x7f
1855 };
1856 /* k = 00c03c3b8b1e40cb328a61d51783356935625884399e26a5828f387c2bde6ebc */
1857 static const uint8_t nist_186_2_ecdsa_testvector_45_out[] = {
1858 /* R */
1859 	0xb5, 0xb4, 0x17, 0x61, 0x9b, 0xf9, 0xfa, 0x89, 0xd5, 0x0b, 0x3e, 0x22,
1860 	0x78, 0x2a, 0x2d, 0xe8, 0x0a, 0x86, 0xdb, 0x67, 0xe7, 0x28, 0x11, 0x4e,
1861 	0x6e, 0x0e, 0x91, 0xca, 0xb1, 0xa4, 0x16, 0x12,
1862 /* S */
1863 	0xe4, 0x3e, 0x81, 0x11, 0x25, 0x8b, 0xea, 0x6f, 0x5c, 0x96, 0xbd, 0x6d,
1864 	0x66, 0x71, 0x57, 0x48, 0xfb, 0xee, 0x75, 0x6d, 0xa4, 0x18, 0xde, 0x90,
1865 	0xf6, 0x40, 0x66, 0xc6, 0xb3, 0xe0, 0x72, 0xf1
1866 };
1867 /* [P-384] */
1868 static const uint8_t nist_186_2_ecdsa_testvector_46_ptx[] = {
1869 /* Msg */
1870 	0x4c, 0x06, 0x49, 0x1c, 0x03, 0x9e, 0x8a, 0x81, 0x9b, 0xbc, 0xbd, 0x80,
1871 	0x15, 0x2d, 0x0c, 0xed, 0xfe, 0x1a, 0x8c, 0xd6, 0x44, 0x8a, 0xb8, 0x1e,
1872 	0x48, 0x28, 0x1f, 0x68, 0x34, 0x47, 0x59, 0x36, 0x8f, 0x23, 0x3f, 0x52,
1873 	0x0f, 0x69, 0x5c, 0x6e, 0xae, 0xfa, 0x9e, 0x07, 0xff, 0xec, 0x51, 0x8f,
1874 	0xc3, 0xd2, 0x4e, 0xca, 0xb8, 0x3e, 0x70, 0x79, 0xb1, 0x84, 0x48, 0x36,
1875 	0xeb, 0xc0, 0x12, 0x9f, 0x9f, 0x1a, 0xe7, 0xb6, 0xd4, 0x48, 0x34, 0x88,
1876 	0x77, 0x55, 0x6a, 0x0d, 0xad, 0xa1, 0xf7, 0x50, 0x68, 0x2a, 0x76, 0xcf,
1877 	0x39, 0x09, 0x22, 0x25, 0x65, 0x40, 0x91, 0xe6, 0x3a, 0xb2, 0x9f, 0xcb,
1878 	0xa3, 0x73, 0xa8, 0x0f, 0xfb, 0x42, 0xfa, 0x18, 0x1f, 0x54, 0x89, 0x5a,
1879 	0xc7, 0x54, 0xe5, 0x79, 0x16, 0xa7, 0x6a, 0xad, 0x6f, 0xf4, 0xb6, 0x6b,
1880 	0x8b, 0xe4, 0x61, 0x42, 0xc8, 0x26, 0xe8, 0x03
1881 };
1882 static const uint8_t nist_186_2_ecdsa_testvector_46_private[] = {
1883 /* d */
1884 	0x00, 0x82, 0x75, 0x7d, 0x5b, 0x9d, 0xb0, 0x84, 0xbd, 0x2e, 0x09, 0x21,
1885 	0xa6, 0xce, 0x62, 0x10, 0x76, 0xf3, 0xf4, 0x3a, 0x52, 0x35, 0x65, 0xa7,
1886 	0x67, 0x10, 0xc9, 0xa1, 0xdc, 0xc7, 0xc5, 0xf4, 0xb1, 0xa4, 0x23, 0x7f,
1887 	0x24, 0xc5, 0x36, 0x14, 0x15, 0x3e, 0xd9, 0x7b, 0x42, 0x3a, 0x27, 0x77
1888 };
1889 static const uint8_t nist_186_2_ecdsa_testvector_46_public_x[] = {
1890 /* Qx */
1891 	0x32, 0x71, 0x93, 0x8d, 0x4c, 0xd1, 0x44, 0x00, 0x6b, 0x45, 0xc7, 0x3f,
1892 	0x2a, 0x89, 0x30, 0xdf, 0xf8, 0x23, 0x8e, 0x72, 0x20, 0x49, 0x60, 0x00,
1893 	0xbe, 0x36, 0x94, 0xaa, 0x54, 0x18, 0x06, 0x32, 0x71, 0xc2, 0xe1, 0x29,
1894 	0x12, 0xb6, 0xc1, 0xcb, 0xc0, 0x3c, 0x41, 0x75, 0x37, 0x3c, 0x3a, 0x3e
1895 };
1896 static const uint8_t nist_186_2_ecdsa_testvector_46_public_y[] = {
1897 /* Qy */
1898 	0xd3, 0x4f, 0x52, 0x57, 0xd2, 0x30, 0xa4, 0x64, 0x95, 0x8d, 0x1f, 0xff,
1899 	0x57, 0x0a, 0x2f, 0x55, 0xfe, 0x64, 0x01, 0xc8, 0x3a, 0x61, 0x3a, 0x53,
1900 	0x38, 0x9a, 0x82, 0x95, 0x7e, 0xaa, 0x63, 0x9e, 0x38, 0x98, 0xcf, 0xe9,
1901 	0x82, 0x3d, 0x57, 0xb3, 0x8b, 0xae, 0xe3, 0x0f, 0x5c, 0x94, 0xf7, 0xe1
1902 };
1903 /* k = 003d87d4516517e73854719d4ba3ecc1c6f90e1438b540c628f22d177b7bff158f6dc5b11d20ac390a57516f061c25b4 */
1904 static const uint8_t nist_186_2_ecdsa_testvector_46_out[] = {
1905 /* R */
1906 	0xa8, 0x92, 0x97, 0x84, 0xc4, 0x3f, 0xa3, 0xd1, 0x1e, 0x31, 0x69, 0x61,
1907 	0x61, 0x31, 0xa9, 0x61, 0xc8, 0x80, 0xba, 0x74, 0x42, 0xca, 0xdc, 0xab,
1908 	0x6d, 0xf9, 0x87, 0x44, 0xdb, 0x7d, 0x1e, 0xc0, 0x15, 0x0a, 0x5e, 0x34,
1909 	0x5c, 0xc1, 0x49, 0x9d, 0xb7, 0x1e, 0xd7, 0x17, 0x5d, 0xb2, 0x95, 0x4d,
1910 /* S */
1911 	0x56, 0xdd, 0xef, 0x0b, 0x15, 0xa8, 0x80, 0x4b, 0x08, 0x90, 0x9e, 0x66,
1912 	0x96, 0x58, 0x1b, 0x7d, 0x5a, 0x3a, 0xba, 0x1c, 0x7d, 0x28, 0x0c, 0x74,
1913 	0x86, 0xbc, 0x26, 0x4a, 0x24, 0x63, 0x54, 0x47, 0x0d, 0x80, 0x3e, 0xac,
1914 	0x03, 0x4b, 0xbe, 0x0d, 0xc9, 0xe7, 0x8a, 0x74, 0x2c, 0x83, 0x16, 0x0f
1915 };
1916 static const uint8_t nist_186_2_ecdsa_testvector_47_ptx[] = {
1917 /* Msg */
1918 	0x9d, 0xb0, 0xc2, 0x58, 0x24, 0x41, 0xd8, 0xfa, 0xd4, 0xb5, 0x2f, 0x1f,
1919 	0x29, 0xa8, 0xc2, 0x64, 0xa0, 0xb2, 0x99, 0x42, 0x1c, 0x3b, 0x4a, 0x86,
1920 	0x87, 0x91, 0xc0, 0x02, 0xbc, 0x37, 0x3b, 0x83, 0xa5, 0x81, 0x98, 0x03,
1921 	0xa0, 0x5d, 0xd3, 0x1f, 0x28, 0x74, 0xca, 0xcb, 0xb1, 0x72, 0x43, 0x44,
1922 	0xd3, 0xa1, 0x31, 0x46, 0xab, 0xbd, 0x33, 0x80, 0x7f, 0x04, 0x5e, 0x45,
1923 	0xa0, 0x8c, 0x3c, 0x84, 0x95, 0xd9, 0x14, 0xfa, 0x75, 0xaf, 0x6c, 0xa6,
1924 	0x95, 0x25, 0xcd, 0x7d, 0x63, 0xfb, 0xc6, 0x60, 0x92, 0x2d, 0x33, 0x4b,
1925 	0x78, 0xc8, 0xc0, 0xcf, 0xb4, 0xfd, 0xa8, 0xc2, 0x13, 0x74, 0xc3, 0x35,
1926 	0xb5, 0xe3, 0xbf, 0xa6, 0x6b, 0xde, 0xad, 0x77, 0x64, 0xf1, 0xc0, 0x9f,
1927 	0x09, 0xec, 0x52, 0xa0, 0x25, 0x7e, 0x28, 0xb9, 0x49, 0x05, 0xf7, 0x5c,
1928 	0x6f, 0xa5, 0x27, 0xe2, 0xdd, 0x97, 0xd6, 0x7e
1929 };
1930 static const uint8_t nist_186_2_ecdsa_testvector_47_private[] = {
1931 /* d */
1932 	0x00, 0x73, 0x04, 0x6c, 0x07, 0xdf, 0x4a, 0x1d, 0xbf, 0xba, 0xb1, 0x9c,
1933 	0x24, 0x8b, 0x8c, 0x2b, 0x5c, 0x27, 0xe5, 0x86, 0x4a, 0xd4, 0x4b, 0xe3,
1934 	0x4d, 0xf4, 0x76, 0x78, 0xde, 0x5b, 0x9c, 0xbd, 0xc7, 0x47, 0x3b, 0xe9,
1935 	0x52, 0x58, 0xfb, 0x43, 0x20, 0xfd, 0x70, 0x03, 0x15, 0x62, 0x84, 0xfc
1936 };
1937 static const uint8_t nist_186_2_ecdsa_testvector_47_public_x[] = {
1938 /* Qx */
1939 	0x24, 0x38, 0xdf, 0xad, 0x2b, 0x99, 0x6d, 0x6e, 0xad, 0xf9, 0x78, 0x45,
1940 	0xdc, 0xc2, 0xe6, 0x86, 0xd8, 0xc5, 0x48, 0x43, 0x07, 0x70, 0xb8, 0x1e,
1941 	0xf9, 0xaf, 0x84, 0xd7, 0xae, 0xe5, 0x5c, 0xbd, 0x14, 0xeb, 0x84, 0xfc,
1942 	0xce, 0x7e, 0x3c, 0x5e, 0x90, 0x19, 0xd2, 0x1b, 0x1d, 0xbb, 0x58, 0x97
1943 };
1944 static const uint8_t nist_186_2_ecdsa_testvector_47_public_y[] = {
1945 /* Qy */
1946 	0xb3, 0xa0, 0xee, 0x8e, 0x90, 0x95, 0x70, 0x18, 0x92, 0xf7, 0x37, 0x09,
1947 	0x9a, 0x74, 0xc7, 0xde, 0xe3, 0x50, 0x5e, 0x87, 0xbe, 0x8d, 0xbe, 0xa4,
1948 	0xbf, 0x1e, 0xa5, 0x55, 0xf9, 0x3d, 0x44, 0x8f, 0xde, 0xef, 0x50, 0x9d,
1949 	0x9b, 0x67, 0x95, 0xf8, 0x4d, 0x6d, 0x9a, 0xc0, 0x9c, 0x9b, 0xa8, 0x12
1950 };
1951 /* k = 002ec0faebc17e7fa2dcdbc11a94049022b2cdc2afce60428a97206fb3f35194d75e7b1d305a3069e590b13800256bc1 */
1952 static const uint8_t nist_186_2_ecdsa_testvector_47_out[] = {
1953 /* R */
1954 	0xf6, 0xb7, 0xbb, 0x08, 0x2f, 0x67, 0x75, 0x75, 0x1e, 0x12, 0x3c, 0x67,
1955 	0x54, 0x8a, 0xaf, 0xc3, 0x44, 0xce, 0x68, 0x9b, 0x63, 0xb7, 0xbd, 0x3b,
1956 	0x6b, 0x34, 0x9b, 0xe1, 0x6e, 0x19, 0xda, 0x9b, 0x9d, 0xac, 0x4e, 0x42,
1957 	0x4a, 0xc6, 0x46, 0xc0, 0xf2, 0x44, 0xd6, 0xbc, 0x51, 0x6d, 0x30, 0xac,
1958 /* S */
1959 	0x5b, 0x95, 0x57, 0x4d, 0x2f, 0x2c, 0x99, 0xef, 0xe9, 0xbb, 0x1b, 0xbe,
1960 	0xea, 0xda, 0x2d, 0x17, 0x42, 0xd4, 0xff, 0xff, 0xf2, 0x11, 0x02, 0x14,
1961 	0x77, 0x07, 0x62, 0x94, 0x90, 0x76, 0x5e, 0xe4, 0x51, 0x3a, 0x90, 0x9e,
1962 	0xa7, 0xa4, 0x05, 0xce, 0x84, 0x02, 0x2f, 0xbd, 0xde, 0x77, 0x26, 0xc8
1963 };
1964 static const uint8_t nist_186_2_ecdsa_testvector_48_ptx[] = {
1965 /* Msg */
1966 	0xd4, 0xe1, 0x2e, 0x9a, 0x4a, 0x91, 0x28, 0xca, 0xa0, 0x1d, 0x19, 0x7c,
1967 	0x41, 0x55, 0x5e, 0x24, 0x21, 0x6e, 0x2a, 0xbc, 0xa1, 0x54, 0x87, 0xba,
1968 	0xb3, 0x41, 0x97, 0x3f, 0x3e, 0x8f, 0x20, 0x91, 0xc4, 0xcb, 0x47, 0xcb,
1969 	0x42, 0x0a, 0x9c, 0xd3, 0x57, 0x80, 0x57, 0x8d, 0xa9, 0x4e, 0xe1, 0x4e,
1970 	0x85, 0x9c, 0x97, 0x94, 0xc5, 0xe8, 0xca, 0xf4, 0xf7, 0x9d, 0x0a, 0x53,
1971 	0xbb, 0xe8, 0xa4, 0x59, 0x6d, 0xc7, 0x69, 0x23, 0x04, 0x63, 0xb1, 0x38,
1972 	0x3a, 0x9f, 0xa0, 0xbf, 0xee, 0xf1, 0xa8, 0xef, 0xc6, 0x71, 0x4f, 0xc6,
1973 	0x18, 0x2f, 0x33, 0xfe, 0x0b, 0xca, 0x4b, 0x3d, 0xf9, 0x3e, 0x6f, 0x8c,
1974 	0x18, 0xfe, 0x1b, 0x0a, 0x5a, 0x43, 0x70, 0xe1, 0x91, 0xa3, 0x7b, 0x7a,
1975 	0xd7, 0xe5, 0xba, 0xed, 0x2d, 0x14, 0xdc, 0xbc, 0x62, 0xd2, 0xc9, 0xc0,
1976 	0x37, 0xef, 0xe2, 0x63, 0xc0, 0x3a, 0x8a, 0x10
1977 };
1978 static const uint8_t nist_186_2_ecdsa_testvector_48_private[] = {
1979 /* d */
1980 	0x00, 0xf3, 0x64, 0xa5, 0x72, 0x6d, 0x99, 0x6f, 0x6d, 0xd8, 0xd6, 0x37,
1981 	0x22, 0xe8, 0xbf, 0x54, 0xfc, 0xed, 0x1e, 0x5d, 0xc0, 0x67, 0x34, 0xef,
1982 	0xff, 0xc4, 0xdf, 0x46, 0x58, 0xa8, 0x80, 0x14, 0xe1, 0x51, 0xd2, 0x04,
1983 	0x9f, 0x28, 0x4c, 0xbf, 0x32, 0xb4, 0xfd, 0xc0, 0x9d, 0x0e, 0xca, 0xf4
1984 };
1985 static const uint8_t nist_186_2_ecdsa_testvector_48_public_x[] = {
1986 /* Qx */
1987 	0x8b, 0xb6, 0x3e, 0xa0, 0x43, 0x94, 0x81, 0xf6, 0x97, 0x14, 0x2c, 0x89,
1988 	0x86, 0x70, 0xce, 0x27, 0x54, 0xe0, 0x4f, 0x3b, 0xae, 0x95, 0x5b, 0xa5,
1989 	0xf4, 0x5c, 0xe9, 0xbc, 0x2d, 0x24, 0x55, 0x3a, 0xbb, 0xb8, 0xa3, 0x58,
1990 	0x33, 0x9c, 0x25, 0x7f, 0xdc, 0x39, 0x7a, 0xb1, 0x58, 0x76, 0x7b, 0x7a
1991 };
1992 static const uint8_t nist_186_2_ecdsa_testvector_48_public_y[] = {
1993 /* Qy */
1994 	0xc8, 0x5c, 0x9c, 0x73, 0xc3, 0x1d, 0x4e, 0x10, 0x5d, 0x4e, 0x8f, 0x1e,
1995 	0x6a, 0x93, 0xcb, 0x39, 0xa4, 0xdb, 0x39, 0xd5, 0x78, 0xae, 0xa5, 0xa3,
1996 	0xac, 0x04, 0x2b, 0xae, 0x28, 0x93, 0x48, 0x5a, 0x27, 0xeb, 0x23, 0x6d,
1997 	0x0f, 0xa1, 0xe3, 0xe6, 0x75, 0xea, 0x29, 0x19, 0x01, 0xea, 0xd2, 0xe2
1998 };
1999 /* k = 00040825897316c3c233a99b9b75c1017c97f25770a6384c7b45e5cb8a0db87941b1e193362e9fc6971480c111939ecc */
2000 static const uint8_t nist_186_2_ecdsa_testvector_48_out[] = {
2001 /* R */
2002 	0x61, 0xd9, 0x46, 0x4f, 0x89, 0xd0, 0x0c, 0x77, 0xc4, 0x27, 0x19, 0x78,
2003 	0xdc, 0xec, 0x8e, 0x7e, 0xd2, 0xb3, 0x71, 0xa5, 0x59, 0x10, 0x1e, 0xc6,
2004 	0xa2, 0xe3, 0x9a, 0x36, 0xe5, 0xfb, 0xe3, 0xbc, 0x22, 0x0e, 0xad, 0xff,
2005 	0xa1, 0x8f, 0xf3, 0x6f, 0x74, 0xf3, 0xb1, 0x6e, 0x05, 0x52, 0x77, 0xa5,
2006 /* S */
2007 	0xf9, 0xbc, 0xc9, 0x97, 0x15, 0x83, 0x1b, 0x63, 0x32, 0x1c, 0xa2, 0x4b,
2008 	0xd1, 0x23, 0x33, 0x9c, 0x72, 0xb3, 0x97, 0x92, 0x7e, 0x53, 0x32, 0x8f,
2009 	0x9f, 0xb3, 0x21, 0x19, 0xda, 0x23, 0x2a, 0x98, 0xb3, 0xfc, 0xf8, 0x90,
2010 	0x8c, 0xfa, 0x62, 0x31, 0x0c, 0x52, 0x6b, 0xf1, 0x7f, 0x8d, 0x61, 0xf6
2011 };
2012 static const uint8_t nist_186_2_ecdsa_testvector_49_ptx[] = {
2013 /* Msg */
2014 	0xcb, 0x2b, 0x95, 0x2b, 0x99, 0xaa, 0x98, 0xd9, 0xa8, 0x77, 0x82, 0x6d,
2015 	0x36, 0x29, 0x97, 0xe9, 0xd6, 0x58, 0x25, 0x30, 0x64, 0xb9, 0x18, 0x56,
2016 	0x3e, 0x8a, 0xc8, 0x1a, 0xb1, 0x31, 0x15, 0xb1, 0xb2, 0x20, 0xb6, 0xc6,
2017 	0xcf, 0xfb, 0xce, 0xbe, 0x65, 0xfd, 0xc0, 0x40, 0x12, 0x98, 0x45, 0xf5,
2018 	0x6d, 0x5b, 0xbc, 0x8c, 0xf5, 0x19, 0xc1, 0x02, 0x48, 0x48, 0x00, 0x20,
2019 	0x96, 0xa7, 0x4b, 0x45, 0x54, 0x24, 0xeb, 0x65, 0x35, 0xfc, 0x34, 0x52,
2020 	0x56, 0x24, 0x5d, 0x3a, 0xb8, 0xe8, 0x8e, 0x71, 0xf4, 0xd2, 0x39, 0x71,
2021 	0x2a, 0xcd, 0xae, 0x20, 0x3b, 0x8a, 0xea, 0x51, 0x38, 0x23, 0xb0, 0x8c,
2022 	0x1a, 0xfe, 0xdc, 0x12, 0xb3, 0xf5, 0xf3, 0x1c, 0xe4, 0xb3, 0xfe, 0x64,
2023 	0x11, 0x61, 0x99, 0xe6, 0xd2, 0x83, 0x47, 0xe8, 0xeb, 0x1c, 0x08, 0x38,
2024 	0x7f, 0x19, 0x2e, 0xb5, 0x80, 0xec, 0x6c, 0x10
2025 };
2026 static const uint8_t nist_186_2_ecdsa_testvector_49_private[] = {
2027 /* d */
2028 	0x00, 0x9b, 0xf1, 0x50, 0x1f, 0xd7, 0xb7, 0xdd, 0x4a, 0x4c, 0xfe, 0x01,
2029 	0x87, 0x58, 0x2c, 0xa2, 0x96, 0xed, 0x31, 0xe7, 0xfb, 0x15, 0xe8, 0x5b,
2030 	0xed, 0x0d, 0x2c, 0x95, 0xba, 0xb2, 0x67, 0xd1, 0x62, 0x7f, 0x58, 0x17,
2031 	0xde, 0x28, 0x6e, 0xe5, 0x06, 0x32, 0x71, 0x26, 0x18, 0x18, 0x25, 0x52
2032 };
2033 static const uint8_t nist_186_2_ecdsa_testvector_49_public_x[] = {
2034 /* Qx */
2035 	0xdf, 0x9b, 0x25, 0x6d, 0x12, 0xbf, 0x94, 0xcd, 0x58, 0xea, 0x44, 0xb3,
2036 	0x6c, 0x64, 0xaf, 0xbb, 0xf1, 0x98, 0x0a, 0x98, 0xc4, 0x7b, 0xc0, 0x14,
2037 	0x3f, 0x11, 0xa2, 0xed, 0x9e, 0x98, 0x76, 0x66, 0x67, 0xf7, 0x49, 0xef,
2038 	0xc5, 0xaf, 0x76, 0x7c, 0x99, 0xdd, 0x9e, 0xb5, 0xb1, 0xa9, 0x96, 0x91
2039 };
2040 static const uint8_t nist_186_2_ecdsa_testvector_49_public_y[] = {
2041 /* Qy */
2042 	0x94, 0x53, 0xa0, 0xe0, 0x01, 0x5b, 0x8d, 0x94, 0x3d, 0xf7, 0xa2, 0xba,
2043 	0x26, 0xd8, 0xdf, 0xaf, 0xce, 0x07, 0xb6, 0x74, 0xd9, 0x0c, 0x6b, 0x6f,
2044 	0xee, 0xd0, 0x74, 0xe0, 0xab, 0xfd, 0x7e, 0xef, 0x3d, 0x49, 0x62, 0x56,
2045 	0xc1, 0xc4, 0x12, 0x46, 0x29, 0xc2, 0xeb, 0xb3, 0xe4, 0xcd, 0xe6, 0x11
2046 };
2047 /* k = 0018ea0c817eee1dba088205eaacf0c2c48b40b546371c31a74998beee52d6b1937eee33755e3d20a2c1433d56a90844 */
2048 static const uint8_t nist_186_2_ecdsa_testvector_49_out[] = {
2049 /* R */
2050 	0x25, 0x0a, 0x4b, 0x5d, 0xee, 0x20, 0x3d, 0x0e, 0x56, 0xad, 0x5b, 0x95,
2051 	0x42, 0x61, 0x21, 0x8d, 0xb5, 0xe2, 0x3a, 0x07, 0xe4, 0x4f, 0x46, 0x07,
2052 	0xe0, 0x8a, 0x34, 0x54, 0xfa, 0x84, 0x8c, 0x45, 0x27, 0x17, 0x2e, 0x95,
2053 	0x11, 0xb4, 0xed, 0x3c, 0x6f, 0x60, 0x58, 0x17, 0x07, 0x5f, 0xbc, 0x7e,
2054 /* S */
2055 	0x86, 0xd0, 0x4b, 0x60, 0xb7, 0x58, 0x6f, 0x11, 0xca, 0xe4, 0xfd, 0x12,
2056 	0xd4, 0x2f, 0xa7, 0x9b, 0x27, 0x28, 0x90, 0x6b, 0x76, 0xa3, 0x9e, 0xeb,
2057 	0x2e, 0xb5, 0xd3, 0x84, 0x78, 0x4a, 0xc1, 0x53, 0xb7, 0x6f, 0xd2, 0xfb,
2058 	0xd3, 0x2d, 0xbe, 0xcc, 0x48, 0x54, 0x90, 0x93, 0x68, 0xe5, 0x54, 0xe2
2059 };
2060 static const uint8_t nist_186_2_ecdsa_testvector_50_ptx[] = {
2061 /* Msg */
2062 	0xd1, 0xb5, 0x10, 0x9d, 0x0c, 0xa8, 0x8a, 0x78, 0xdf, 0x42, 0xc6, 0xe0,
2063 	0x8e, 0xc4, 0xd5, 0x36, 0x44, 0xbd, 0xd6, 0xad, 0xb4, 0x24, 0xb9, 0x02,
2064 	0x01, 0xa4, 0x48, 0x67, 0xdb, 0x37, 0x67, 0xc0, 0xec, 0xf6, 0x9a, 0x11,
2065 	0x72, 0x30, 0xc9, 0x37, 0x2d, 0xb9, 0x40, 0xd7, 0x7b, 0x84, 0xfa, 0x95,
2066 	0xc2, 0x74, 0x1f, 0x86, 0x0e, 0x70, 0xcb, 0xe7, 0xfb, 0xb6, 0x11, 0x0f,
2067 	0xd6, 0x71, 0x40, 0xa2, 0xff, 0x8d, 0x64, 0x08, 0x91, 0xca, 0x10, 0x1d,
2068 	0x45, 0x0f, 0x5b, 0x2a, 0x94, 0x02, 0x29, 0x15, 0x1c, 0xd5, 0xac, 0xd4,
2069 	0x45, 0x62, 0x2a, 0x27, 0x24, 0x7b, 0x00, 0x87, 0xa0, 0x7b, 0xe7, 0x59,
2070 	0xd3, 0x21, 0x76, 0x68, 0xb3, 0x9f, 0xe8, 0x92, 0xf1, 0xed, 0x20, 0xc2,
2071 	0x21, 0x63, 0xea, 0x1e, 0x1c, 0x87, 0x84, 0x81, 0xa2, 0x24, 0x5d, 0x2b,
2072 	0x44, 0x9c, 0x1c, 0xb7, 0x81, 0x7e, 0xe4, 0x4e
2073 };
2074 static const uint8_t nist_186_2_ecdsa_testvector_50_private[] = {
2075 /* d */
2076 	0x00, 0xb7, 0x69, 0x01, 0x62, 0x28, 0x64, 0x4e, 0xcb, 0x3e, 0xda, 0xaf,
2077 	0x65, 0x1c, 0x7b, 0x86, 0xbc, 0x28, 0xda, 0xf4, 0xa8, 0xdc, 0x4a, 0xaa,
2078 	0x2f, 0xcc, 0xa2, 0xdb, 0x5a, 0xba, 0x25, 0x6f, 0xe5, 0xea, 0xc2, 0xf6,
2079 	0x91, 0x1e, 0xbf, 0xf8, 0x08, 0x22, 0xb0, 0xcc, 0x57, 0x5a, 0x9f, 0xb5
2080 };
2081 static const uint8_t nist_186_2_ecdsa_testvector_50_public_x[] = {
2082 /* Qx */
2083 	0xfa, 0xe8, 0x8b, 0xf1, 0x19, 0x0c, 0x5e, 0xf9, 0x3d, 0x49, 0xae, 0xa2,
2084 	0xce, 0xe1, 0xa4, 0x67, 0xc8, 0xb2, 0xe3, 0xdd, 0x45, 0x7e, 0x29, 0x78,
2085 	0x77, 0x31, 0xc1, 0x0a, 0x4f, 0x6c, 0xb7, 0x13, 0xbd, 0xc6, 0x1a, 0x7b,
2086 	0x20, 0x64, 0xb2, 0x54, 0x8f, 0xc6, 0x1e, 0x66, 0x01, 0x64, 0x6b, 0x6d
2087 };
2088 static const uint8_t nist_186_2_ecdsa_testvector_50_public_y[] = {
2089 /* Qy */
2090 	0x46, 0x9f, 0x73, 0x00, 0x45, 0x02, 0x27, 0x62, 0x61, 0x67, 0x24, 0x62,
2091 	0x1c, 0x0b, 0x20, 0xfe, 0x4f, 0x4b, 0x8b, 0xf7, 0x30, 0xbd, 0xf4, 0x4d,
2092 	0xad, 0xec, 0x59, 0xd0, 0x14, 0x6b, 0x91, 0x39, 0x3b, 0xe9, 0xbf, 0x49,
2093 	0x79, 0xfd, 0xb3, 0x1f, 0x83, 0x0e, 0x86, 0x7b, 0xab, 0x49, 0xd9, 0xe8
2094 };
2095 /* k = 00c7454092e11ce4d4aef9c710a219dc8513aa3aa34de85c3c6d3a50d3ccc993d029bca4013ee6fd7ec9ab5e5806f209 */
2096 static const uint8_t nist_186_2_ecdsa_testvector_50_out[] = {
2097 /* R */
2098 	0x07, 0xfb, 0x1b, 0xa7, 0x93, 0xa3, 0x4c, 0x92, 0x32, 0x46, 0x60, 0xb7,
2099 	0x8b, 0xe1, 0xb5, 0x02, 0x75, 0xdc, 0x3e, 0x6c, 0xff, 0x82, 0xd3, 0x3c,
2100 	0x4c, 0x6d, 0xb7, 0xfb, 0xcd, 0x9a, 0x53, 0xb9, 0x27, 0xcc, 0xe0, 0x75,
2101 	0x93, 0xaf, 0x77, 0x9c, 0xff, 0x48, 0xff, 0x7f, 0x2d, 0xed, 0xfe, 0x8e,
2102 /* S */
2103 	0xc7, 0x1b, 0x22, 0x17, 0x9e, 0xfb, 0x3a, 0xd7, 0xd9, 0x12, 0x79, 0xc0,
2104 	0x8c, 0x7c, 0x31, 0x94, 0x78, 0xc7, 0xaa, 0x05, 0xda, 0x2a, 0x9c, 0x12,
2105 	0x06, 0x8f, 0xb1, 0xb8, 0xd6, 0x8d, 0x0d, 0x47, 0xdb, 0x02, 0x26, 0xb3,
2106 	0xa3, 0x5f, 0xbf, 0x91, 0x4e, 0xe1, 0x7a, 0x49, 0xae, 0x70, 0x86, 0x11
2107 };
2108 static const uint8_t nist_186_2_ecdsa_testvector_51_ptx[] = {
2109 /* Msg */
2110 	0x52, 0x82, 0x49, 0x5b, 0xa2, 0x45, 0x27, 0x95, 0xbd, 0xd8, 0xfd, 0x9c,
2111 	0x47, 0xa2, 0xae, 0x9f, 0x40, 0xee, 0x68, 0xde, 0x7d, 0x8d, 0xc1, 0x69,
2112 	0x59, 0xc3, 0x06, 0x2a, 0xa8, 0x61, 0xcf, 0x25, 0xec, 0x2e, 0xd7, 0xff,
2113 	0xcc, 0x8b, 0x0b, 0xbd, 0xc1, 0x57, 0xe1, 0xcf, 0x13, 0x11, 0xeb, 0x4d,
2114 	0x04, 0x3c, 0xac, 0x80, 0x4a, 0x08, 0xaa, 0xa4, 0xc3, 0x2e, 0xc4, 0xec,
2115 	0x65, 0x1c, 0xc6, 0xc7, 0x74, 0x52, 0x3b, 0x62, 0xf7, 0x0c, 0x83, 0x6e,
2116 	0x6c, 0x21, 0x25, 0x23, 0xbb, 0x2b, 0x66, 0x85, 0x69, 0xe8, 0x1a, 0xe6,
2117 	0x0e, 0xe0, 0xba, 0xac, 0x09, 0x48, 0xb7, 0x54, 0x72, 0x27, 0x0e, 0xb7,
2118 	0x50, 0xb7, 0x1d, 0x8c, 0x0c, 0x0e, 0xb4, 0x2f, 0x26, 0xfd, 0x70, 0xa1,
2119 	0x27, 0x39, 0x44, 0xcf, 0xd7, 0xb8, 0x59, 0x17, 0xaf, 0x5e, 0x18, 0x08,
2120 	0x91, 0xd9, 0x85, 0x69, 0xb7, 0xca, 0xce, 0x7d
2121 };
2122 static const uint8_t nist_186_2_ecdsa_testvector_51_private[] = {
2123 /* d */
2124 	0x00, 0x66, 0x14, 0x40, 0x20, 0xde, 0xa9, 0x67, 0x35, 0x0d, 0x34, 0x09,
2125 	0xe0, 0x6a, 0xe3, 0xe9, 0x31, 0x9b, 0xe3, 0x25, 0xa3, 0x23, 0xf9, 0x37,
2126 	0xee, 0xaf, 0xf9, 0x1a, 0xb1, 0x34, 0xe2, 0x19, 0x9c, 0x79, 0x28, 0x9c,
2127 	0xd6, 0x7c, 0x01, 0x0f, 0xe1, 0xbb, 0x0b, 0x7a, 0x57, 0x20, 0x32, 0x37
2128 };
2129 static const uint8_t nist_186_2_ecdsa_testvector_51_public_x[] = {
2130 /* Qx */
2131 	0xc4, 0x8e, 0x79, 0xb3, 0xb9, 0xe9, 0x35, 0xce, 0x9a, 0x84, 0x55, 0x26,
2132 	0xd9, 0x5d, 0x32, 0x25, 0xb2, 0x57, 0x2b, 0x3c, 0x39, 0x81, 0xbe, 0x8b,
2133 	0xd9, 0x1d, 0x30, 0xa1, 0x07, 0xf1, 0x51, 0x35, 0xa6, 0x05, 0xa3, 0x8f,
2134 	0x79, 0x84, 0xb6, 0xde, 0x7f, 0x10, 0x30, 0x91, 0x53, 0xe7, 0x17, 0x50
2135 };
2136 static const uint8_t nist_186_2_ecdsa_testvector_51_public_y[] = {
2137 /* Qy */
2138 	0x80, 0xd9, 0x34, 0x5c, 0x25, 0x23, 0xf4, 0x39, 0x72, 0xa8, 0x16, 0x63,
2139 	0xac, 0xfd, 0xa5, 0x4b, 0x8f, 0xf7, 0x43, 0x0b, 0x3a, 0xce, 0xaf, 0x5f,
2140 	0xdd, 0x86, 0x5f, 0x6e, 0x4b, 0x25, 0xa4, 0x87, 0x61, 0x60, 0xb6, 0x2b,
2141 	0xa8, 0xda, 0x98, 0xa6, 0x13, 0xa2, 0x30, 0xe2, 0x9f, 0x87, 0xd0, 0x3f
2142 };
2143 /* k = 002a565c981e0d48912970345e72db8e0c848b04f8c51de1480d61da4cce03895007683a55a30be940357c08c967cb30 */
2144 static const uint8_t nist_186_2_ecdsa_testvector_51_out[] = {
2145 /* R */
2146 	0xb7, 0xf0, 0xc1, 0x59, 0x47, 0xee, 0xab, 0xb3, 0xf8, 0xd7, 0x76, 0x0a,
2147 	0xee, 0x8a, 0x8d, 0xc3, 0x3d, 0x46, 0x42, 0xce, 0x3c, 0x97, 0x54, 0x8f,
2148 	0xe7, 0x6d, 0x01, 0x4a, 0xc9, 0x95, 0xf1, 0xf1, 0xf5, 0x6e, 0x1b, 0xd9,
2149 	0x9e, 0x1d, 0xe1, 0xc0, 0xed, 0xb2, 0xd2, 0xd0, 0xc6, 0xde, 0x47, 0x04,
2150 /* S */
2151 	0x63, 0xf8, 0xbf, 0xb9, 0x30, 0xdb, 0x61, 0x37, 0xfb, 0x87, 0x61, 0xa8,
2152 	0x40, 0xcf, 0x9e, 0x48, 0xdb, 0x6e, 0x35, 0x5d, 0xb9, 0xab, 0xc7, 0x67,
2153 	0xd3, 0x15, 0xb3, 0x0d, 0x2b, 0x4c, 0x90, 0xcf, 0x9a, 0x71, 0xaa, 0xad,
2154 	0x21, 0xf2, 0x1c, 0x70, 0x5b, 0x60, 0x18, 0x9e, 0xe2, 0xd9, 0x2e, 0x12
2155 };
2156 static const uint8_t nist_186_2_ecdsa_testvector_52_ptx[] = {
2157 /* Msg */
2158 	0x04, 0xd1, 0xab, 0xca, 0x18, 0x1f, 0x64, 0xf7, 0xc6, 0xb1, 0x1f, 0xb7,
2159 	0xf3, 0x26, 0x0a, 0x50, 0x59, 0x9e, 0xdc, 0x70, 0x80, 0xd8, 0x65, 0x70,
2160 	0xea, 0x98, 0x69, 0xd9, 0x8e, 0x4c, 0xae, 0x28, 0x89, 0xee, 0x54, 0xce,
2161 	0x0f, 0x2c, 0x65, 0x7b, 0xa7, 0xc7, 0xad, 0x9c, 0x98, 0x39, 0xcc, 0x23,
2162 	0x9e, 0x9a, 0x89, 0x86, 0xe2, 0xc4, 0x69, 0x0a, 0x29, 0xb6, 0x81, 0x41,
2163 	0x4c, 0x36, 0x88, 0xd1, 0xe8, 0xbb, 0x30, 0x78, 0x56, 0x89, 0xb6, 0x4d,
2164 	0xde, 0x1e, 0xb8, 0x49, 0x27, 0xcd, 0x48, 0x05, 0xf2, 0xa9, 0x3e, 0xc5,
2165 	0x08, 0xa4, 0xd2, 0xb6, 0x71, 0xf8, 0x6a, 0x74, 0xe7, 0xc6, 0xb0, 0xcf,
2166 	0x8b, 0xfd, 0xe8, 0xcf, 0xd6, 0x7e, 0x81, 0xf6, 0xd1, 0x7e, 0xe9, 0xc4,
2167 	0x89, 0x2b, 0xa6, 0x81, 0xbd, 0x92, 0xa3, 0x36, 0xdb, 0xc0, 0xc7, 0xfd,
2168 	0x2b, 0x27, 0xcc, 0x7a, 0x49, 0x44, 0x4f, 0xaa
2169 };
2170 static const uint8_t nist_186_2_ecdsa_testvector_52_private[] = {
2171 /* d */
2172 	0x00, 0x1f, 0xde, 0x5b, 0x8c, 0x4a, 0x03, 0xe1, 0x27, 0xc6, 0xe2, 0x4b,
2173 	0x99, 0x8b, 0xd3, 0x5a, 0xab, 0x25, 0x77, 0xaf, 0x84, 0xb0, 0xcd, 0x6a,
2174 	0x06, 0xc7, 0x4f, 0xf6, 0x5d, 0xe1, 0x64, 0x39, 0x33, 0x6a, 0x15, 0xab,
2175 	0x89, 0x6b, 0xc6, 0x62, 0xde, 0x2b, 0x0b, 0x70, 0x86, 0xc6, 0xa6, 0xe8
2176 };
2177 static const uint8_t nist_186_2_ecdsa_testvector_52_public_x[] = {
2178 /* Qx */
2179 	0xbb, 0xa3, 0x46, 0xc6, 0x53, 0x5b, 0x85, 0x32, 0x1e, 0x6c, 0xbd, 0xff,
2180 	0xfd, 0xa6, 0xa8, 0xfe, 0x8e, 0x6e, 0x56, 0x27, 0x83, 0x0d, 0x80, 0xb6,
2181 	0x46, 0x4e, 0x40, 0xbe, 0x1c, 0x44, 0xc7, 0x2f, 0x9f, 0x19, 0x29, 0x07,
2182 	0x34, 0x59, 0x11, 0x68, 0x64, 0xd6, 0xd3, 0xa6, 0x22, 0x0f, 0xcc, 0x76
2183 };
2184 static const uint8_t nist_186_2_ecdsa_testvector_52_public_y[] = {
2185 /* Qy */
2186 	0x91, 0xd6, 0xba, 0x52, 0x3f, 0x75, 0xca, 0x63, 0x0c, 0xda, 0x60, 0x4c,
2187 	0x39, 0xb5, 0x87, 0x33, 0x7f, 0x7a, 0x9c, 0xc0, 0x6f, 0xa8, 0x20, 0x55,
2188 	0x35, 0x02, 0xf9, 0xc3, 0x19, 0xc6, 0xde, 0xc4, 0x8a, 0xbb, 0xea, 0x21,
2189 	0xcb, 0xc8, 0x97, 0x5f, 0xea, 0x58, 0x6a, 0xa3, 0x8c, 0x66, 0x75, 0x7b
2190 };
2191 /* k = 00b5c6ab008fad701bb612cbaa1d0036f368292e8780addbb3349c9538a42ef8faa022a6545f44ae5be69613bb6879e9 */
2192 static const uint8_t nist_186_2_ecdsa_testvector_52_out[] = {
2193 /* R */
2194 	0x9a, 0xf3, 0x75, 0xad, 0x85, 0xd8, 0x43, 0x4b, 0x70, 0x84, 0x84, 0x39,
2195 	0xe0, 0xa7, 0xc8, 0x5f, 0x36, 0x94, 0xb3, 0xec, 0x03, 0xbb, 0x48, 0x58,
2196 	0x68, 0x4c, 0x86, 0x4f, 0xa1, 0xea, 0x83, 0xaf, 0x8d, 0x80, 0xdb, 0x42,
2197 	0xac, 0xe5, 0x43, 0x01, 0xe6, 0xf3, 0x98, 0xaa, 0xbe, 0x51, 0x6c, 0x7b,
2198 /* S */
2199 	0x6a, 0x93, 0x34, 0x8b, 0xcd, 0xc6, 0xf9, 0x65, 0x84, 0x54, 0x4c, 0x70,
2200 	0x0c, 0x19, 0xd8, 0x0f, 0xeb, 0xf9, 0x62, 0x40, 0x4f, 0xe3, 0x82, 0x6a,
2201 	0xa5, 0x06, 0xfc, 0x7b, 0x17, 0xa8, 0x66, 0x71, 0x65, 0x0d, 0x85, 0xc4,
2202 	0x70, 0x7a, 0xc5, 0x87, 0xd4, 0xd4, 0x3a, 0x66, 0x0e, 0x1d, 0xa2, 0x11
2203 };
2204 static const uint8_t nist_186_2_ecdsa_testvector_53_ptx[] = {
2205 /* Msg */
2206 	0x3a, 0x7e, 0xe7, 0xc2, 0xda, 0xc3, 0xe5, 0x9b, 0x1b, 0xe3, 0x1e, 0x66,
2207 	0x95, 0x26, 0x87, 0xd9, 0x78, 0x0a, 0x75, 0x7f, 0x72, 0x95, 0xa7, 0xae,
2208 	0xd3, 0xe9, 0x87, 0xba, 0xef, 0x19, 0xad, 0x68, 0xc3, 0x3b, 0xa5, 0xa5,
2209 	0xdc, 0xbf, 0xf2, 0x78, 0x75, 0xff, 0x52, 0x36, 0xe0, 0x16, 0x44, 0xf5,
2210 	0x27, 0xf6, 0xc8, 0x42, 0xf2, 0xb5, 0x66, 0x17, 0xab, 0x28, 0x71, 0x07,
2211 	0xe1, 0xb3, 0x8d, 0xbc, 0xea, 0x5f, 0x6f, 0xa3, 0xcd, 0x2d, 0xe4, 0xe6,
2212 	0x5f, 0xab, 0x15, 0x9b, 0xab, 0xc4, 0x09, 0x3b, 0x97, 0xdc, 0x6b, 0x55,
2213 	0xc5, 0x1d, 0x8e, 0x83, 0xb8, 0x0b, 0xae, 0x9e, 0x38, 0x5f, 0x79, 0x2e,
2214 	0xf7, 0x12, 0xcd, 0x24, 0x74, 0xb8, 0xc4, 0xcc, 0x20, 0x0f, 0xee, 0xfd,
2215 	0xc0, 0xd8, 0xdd, 0x93, 0x12, 0xe5, 0xe7, 0x1e, 0xb3, 0x74, 0x27, 0xdc,
2216 	0x40, 0xbb, 0xc5, 0xe5, 0xbb, 0xc4, 0x77, 0xa6
2217 };
2218 static const uint8_t nist_186_2_ecdsa_testvector_53_private[] = {
2219 /* d */
2220 	0x00, 0x02, 0xd3, 0x72, 0xdb, 0xa2, 0x59, 0x85, 0x6c, 0x17, 0x18, 0x44,
2221 	0xa2, 0xf6, 0x18, 0xaa, 0x03, 0xb8, 0xcb, 0xa5, 0xaf, 0x7a, 0xc2, 0x6f,
2222 	0x6c, 0x90, 0x50, 0xe4, 0x86, 0x5d, 0x78, 0x19, 0x74, 0xdb, 0x81, 0x16,
2223 	0xbe, 0xd2, 0x55, 0x8f, 0x1e, 0x04, 0x83, 0x2a, 0x36, 0x0e, 0xe4, 0x4a
2224 };
2225 static const uint8_t nist_186_2_ecdsa_testvector_53_public_x[] = {
2226 /* Qx */
2227 	0x7b, 0x23, 0x89, 0x36, 0x7a, 0xeb, 0x04, 0xdb, 0xde, 0x75, 0xd5, 0x8d,
2228 	0xad, 0xac, 0xa0, 0xe9, 0x6d, 0xd2, 0x65, 0x00, 0x23, 0xf6, 0xa6, 0xe4,
2229 	0x31, 0xf2, 0x72, 0x5f, 0x3d, 0x91, 0x9e, 0x3f, 0xb2, 0x37, 0xce, 0x93,
2230 	0x05, 0xb8, 0xfb, 0x6a, 0x28, 0xa5, 0x7c, 0x0f, 0x2f, 0xda, 0x5b, 0xbe
2231 };
2232 static const uint8_t nist_186_2_ecdsa_testvector_53_public_y[] = {
2233 /* Qy */
2234 	0x6d, 0x44, 0xf8, 0xd3, 0x79, 0x52, 0x4c, 0x9f, 0x27, 0x82, 0x1c, 0x80,
2235 	0xf9, 0xa5, 0x75, 0xf8, 0x7b, 0x28, 0xd6, 0x3a, 0x6c, 0x69, 0x10, 0x0f,
2236 	0x94, 0x18, 0xa5, 0x08, 0xa9, 0x55, 0x80, 0x55, 0x56, 0x2b, 0x47, 0xb9,
2237 	0x48, 0x47, 0x06, 0x48, 0x2c, 0xaf, 0xc0, 0xf0, 0x36, 0x4a, 0xd0, 0x97
2238 };
2239 /* k = 005485a3b918e08070cec54c4d45fd17993b9269d171e68865cf8a8cf8ebca1d65e5dfdb61ae45ce8fad783663d6bcf6 */
2240 static const uint8_t nist_186_2_ecdsa_testvector_53_out[] = {
2241 /* R */
2242 	0x8b, 0x7e, 0xd3, 0x27, 0x70, 0x08, 0xf1, 0x9a, 0x57, 0xc1, 0xf4, 0x72,
2243 	0x89, 0xef, 0x1e, 0x9f, 0x3d, 0xf8, 0xe4, 0x40, 0xb8, 0x2e, 0x34, 0xf2,
2244 	0x77, 0x4f, 0x30, 0x58, 0x4c, 0xe6, 0x54, 0xdc, 0xc9, 0xdc, 0xca, 0x9a,
2245 	0xad, 0x7b, 0x47, 0x53, 0xe8, 0x9f, 0xa9, 0xc6, 0x11, 0x54, 0x20, 0x3f,
2246 /* S */
2247 	0x9a, 0x53, 0xf6, 0xd0, 0x63, 0xf1, 0xb0, 0xab, 0xd1, 0x26, 0x47, 0x0d,
2248 	0xf6, 0x4f, 0xf0, 0x96, 0xcb, 0xcd, 0x2f, 0x50, 0x16, 0x7c, 0xb9, 0x9b,
2249 	0x8c, 0x33, 0x30, 0xdb, 0xf5, 0xa8, 0x16, 0xc2, 0x4a, 0xe1, 0x56, 0x4f,
2250 	0xc7, 0x83, 0xa9, 0x00, 0x36, 0x1e, 0x8c, 0xdb, 0x85, 0x7c, 0x3d, 0xb3
2251 };
2252 static const uint8_t nist_186_2_ecdsa_testvector_54_ptx[] = {
2253 /* Msg */
2254 	0xbb, 0xb6, 0x4f, 0x9a, 0x67, 0x26, 0xe6, 0x5c, 0xca, 0x3c, 0x25, 0x5b,
2255 	0xda, 0x2a, 0x47, 0x75, 0x48, 0xe8, 0x2f, 0x95, 0xa8, 0xce, 0xa9, 0xe1,
2256 	0xd3, 0x62, 0xf3, 0x34, 0x89, 0x6f, 0x7c, 0xce, 0x5b, 0x57, 0xeb, 0x4a,
2257 	0xc8, 0xa9, 0x63, 0xd1, 0xa7, 0xf6, 0x05, 0x8e, 0xc5, 0xe1, 0xb7, 0x61,
2258 	0xce, 0x76, 0x24, 0xd8, 0x71, 0xbd, 0x04, 0x5b, 0xbf, 0x8e, 0x9e, 0xa6,
2259 	0xd4, 0xa6, 0x8b, 0x7d, 0xba, 0xfb, 0xbc, 0x9a, 0x8a, 0x4d, 0xbf, 0xeb,
2260 	0xd4, 0xfe, 0x3d, 0xfa, 0x41, 0x23, 0xc8, 0xad, 0x77, 0xdb, 0xd3, 0x2f,
2261 	0x3d, 0xe0, 0x02, 0x2e, 0xe0, 0x5b, 0xa5, 0x47, 0xd5, 0xfd, 0x7f, 0xbe,
2262 	0x9f, 0x4b, 0xcb, 0x73, 0xf4, 0x39, 0x81, 0x11, 0x1b, 0xfb, 0xd5, 0x89,
2263 	0x98, 0x18, 0x00, 0xbf, 0x0b, 0xc0, 0x44, 0x82, 0x56, 0x5f, 0x2a, 0xc2,
2264 	0xfe, 0x72, 0x0f, 0xfd, 0xd4, 0x9a, 0xde, 0xfb
2265 };
2266 static const uint8_t nist_186_2_ecdsa_testvector_54_private[] = {
2267 /* d */
2268 	0x00, 0xe3, 0x97, 0x4c, 0xd7, 0x75, 0x43, 0xda, 0xdd, 0xa2, 0x44, 0x96,
2269 	0xe5, 0x3e, 0x8b, 0x69, 0xe7, 0x4a, 0xb3, 0xdc, 0x92, 0xa8, 0x7f, 0x3d,
2270 	0x5b, 0x19, 0x92, 0xb7, 0x2b, 0x85, 0xe4, 0xe6, 0x46, 0x14, 0x4d, 0xb0,
2271 	0x96, 0xfd, 0x81, 0xd4, 0xdb, 0x80, 0xbc, 0x8b, 0x16, 0xfe, 0x72, 0x8d
2272 };
2273 static const uint8_t nist_186_2_ecdsa_testvector_54_public_x[] = {
2274 /* Qx */
2275 	0xe8, 0xc3, 0x5b, 0x6d, 0x8a, 0x41, 0xfa, 0xce, 0x0a, 0xa8, 0x2d, 0xee,
2276 	0xac, 0x83, 0xa1, 0xd3, 0x17, 0x82, 0xe0, 0xdd, 0xbb, 0x6a, 0x1a, 0x1f,
2277 	0x26, 0x68, 0x3a, 0xe6, 0x56, 0xb8, 0xbf, 0xcb, 0xca, 0x61, 0x63, 0xaf,
2278 	0x20, 0x48, 0x74, 0x8f, 0xeb, 0x0c, 0xcc, 0xa2, 0xab, 0x39, 0xe1, 0x78
2279 };
2280 static const uint8_t nist_186_2_ecdsa_testvector_54_public_y[] = {
2281 /* Qy */
2282 	0x4b, 0xe3, 0x15, 0xe0, 0x4b, 0xed, 0x3d, 0x59, 0xf9, 0x6a, 0xe4, 0x86,
2283 	0xb8, 0x48, 0x5f, 0x96, 0x62, 0xc6, 0x74, 0x4c, 0x62, 0x38, 0x16, 0x58,
2284 	0x8c, 0xe2, 0xef, 0xa3, 0x71, 0x2c, 0xb7, 0xb6, 0xca, 0x93, 0x66, 0xb5,
2285 	0xbd, 0x43, 0xe7, 0x30, 0x77, 0x12, 0x85, 0x2d, 0xe3, 0xf7, 0xd2, 0x18
2286 };
2287 /* k = 00af94eba17be9aa7b85d4124c3df72da3a6dd0c65293f936bd4c1cba834727e97b86de277b4699347002f5361b7df1b */
2288 static const uint8_t nist_186_2_ecdsa_testvector_54_out[] = {
2289 /* R */
2290 	0x8a, 0xe1, 0xd5, 0x45, 0x89, 0xd7, 0xe8, 0x5e, 0x84, 0x4d, 0xfb, 0xba,
2291 	0x76, 0xec, 0x04, 0xf6, 0xfd, 0x1c, 0x70, 0xa4, 0x9d, 0xf1, 0x03, 0x9a,
2292 	0xc7, 0x0a, 0x3b, 0x34, 0x97, 0x6c, 0xe0, 0x5f, 0xa5, 0x05, 0xe1, 0x75,
2293 	0xb7, 0x9f, 0x21, 0xb8, 0x2a, 0x50, 0xea, 0x1a, 0x93, 0x8b, 0x8d, 0x79,
2294 /* S */
2295 	0xf0, 0x86, 0xf2, 0x65, 0xe3, 0xdb, 0xf0, 0x5c, 0x42, 0x0f, 0x39, 0xde,
2296 	0xe8, 0xc5, 0x3c, 0xa2, 0xf3, 0x05, 0x51, 0x9d, 0xcb, 0xb4, 0xfb, 0xa3,
2297 	0x83, 0x71, 0xf0, 0x3a, 0x6c, 0x90, 0xfe, 0xc4, 0xe0, 0x35, 0x75, 0xf3,
2298 	0x3c, 0x48, 0xb2, 0xd2, 0xf5, 0xf5, 0x9c, 0x4e, 0xef, 0xd7, 0xb0, 0x74
2299 };
2300 static const uint8_t nist_186_2_ecdsa_testvector_55_ptx[] = {
2301 /* Msg */
2302 	0x96, 0x8a, 0xda, 0x50, 0xe8, 0xa6, 0x8e, 0x59, 0xa0, 0x48, 0x86, 0x19,
2303 	0xaf, 0x70, 0x52, 0x2b, 0x55, 0x2c, 0x57, 0xb2, 0x36, 0x5d, 0x80, 0x41,
2304 	0xb1, 0xbd, 0x31, 0xf8, 0x6d, 0x21, 0x7d, 0xf0, 0x34, 0xfc, 0x98, 0xda,
2305 	0x05, 0x25, 0x8f, 0xe2, 0x64, 0xda, 0x36, 0xda, 0xf5, 0x04, 0x62, 0x94,
2306 	0x49, 0xbc, 0x59, 0x8f, 0xf8, 0x0f, 0x87, 0xd6, 0xf0, 0xfe, 0x73, 0x26,
2307 	0x0c, 0xc9, 0xf1, 0x4f, 0xe9, 0x6e, 0x98, 0xdc, 0xf5, 0x6c, 0x76, 0xf6,
2308 	0xc8, 0xcc, 0x03, 0x86, 0xb8, 0x62, 0x54, 0x9a, 0xa7, 0x51, 0x91, 0x0a,
2309 	0x20, 0xcd, 0xa9, 0x5b, 0xa3, 0x25, 0x44, 0xe3, 0x3c, 0x00, 0xfa, 0x2e,
2310 	0x5a, 0xe6, 0xc2, 0xa1, 0xdf, 0x03, 0xad, 0x5d, 0x74, 0x28, 0xd4, 0x67,
2311 	0x1f, 0x13, 0x8e, 0x05, 0x17, 0xf0, 0xe7, 0x6b, 0xd7, 0x20, 0x4e, 0x96,
2312 	0x71, 0x38, 0x8e, 0x79, 0x25, 0x4d, 0x00, 0x57
2313 };
2314 static const uint8_t nist_186_2_ecdsa_testvector_55_private[] = {
2315 /* d */
2316 	0x00, 0xe4, 0x45, 0x4a, 0x8e, 0x6e, 0x76, 0xce, 0x5e, 0x2f, 0x16, 0xde,
2317 	0xdf, 0x3d, 0xe9, 0xa2, 0x6e, 0x62, 0x08, 0x50, 0x7e, 0xad, 0x5b, 0xd4,
2318 	0x79, 0x17, 0xba, 0xbd, 0x37, 0x98, 0xb4, 0x16, 0x51, 0xc4, 0xed, 0xde,
2319 	0xd7, 0xbf, 0xd8, 0xa0, 0x92, 0xd2, 0x29, 0x24, 0xbd, 0xb6, 0x1a, 0x92
2320 };
2321 static const uint8_t nist_186_2_ecdsa_testvector_55_public_x[] = {
2322 /* Qx */
2323 	0xbf, 0x81, 0xdf, 0x29, 0xc4, 0xa9, 0x1c, 0x5d, 0xc7, 0x83, 0xc1, 0x46,
2324 	0xba, 0xe6, 0xff, 0x74, 0xf2, 0x04, 0xaa, 0x8f, 0x75, 0x21, 0xc4, 0x86,
2325 	0xef, 0x6d, 0xbb, 0xa3, 0x97, 0x47, 0xab, 0xaf, 0xf3, 0xf4, 0x47, 0xf0,
2326 	0xef, 0xf1, 0x5c, 0x4f, 0x84, 0x80, 0xcf, 0x89, 0x0e, 0xa0, 0x4c, 0x0a
2327 };
2328 static const uint8_t nist_186_2_ecdsa_testvector_55_public_y[] = {
2329 /* Qy */
2330 	0x34, 0xbb, 0xbd, 0xf8, 0xc0, 0xeb, 0xf3, 0x5a, 0x3c, 0x06, 0x76, 0xbd,
2331 	0xc1, 0xe7, 0xb8, 0x40, 0x68, 0x79, 0x49, 0x4d, 0xca, 0x62, 0x88, 0xa7,
2332 	0xeb, 0xd9, 0x80, 0xf7, 0x3d, 0xb7, 0xfc, 0x82, 0x86, 0x2e, 0x22, 0x9b,
2333 	0x3a, 0xcf, 0x38, 0x8c, 0xa3, 0xe7, 0x3b, 0x14, 0xa8, 0x8a, 0xb8, 0xdc
2334 };
2335 /* k = 00d1bb590604cec37be8b994af4cd515f63362a0093930fb65389e20c5875e5968b0c635441d50ef72e96d655ce929d8 */
2336 static const uint8_t nist_186_2_ecdsa_testvector_55_out[] = {
2337 /* R */
2338 	0xbe, 0x29, 0xeb, 0x63, 0xb4, 0x01, 0x3d, 0x31, 0x7c, 0xad, 0x04, 0xf7,
2339 	0x91, 0x93, 0xfa, 0xcf, 0xca, 0xf6, 0x1a, 0x9d, 0xb7, 0x0d, 0x36, 0x55,
2340 	0x0e, 0x75, 0xa7, 0x1c, 0x3d, 0x09, 0x2a, 0x94, 0xa5, 0x66, 0xe6, 0x16,
2341 	0x9f, 0x88, 0xba, 0x32, 0x1a, 0x4a, 0x62, 0x71, 0xdc, 0xc9, 0x23, 0x3b,
2342 /* S */
2343 	0x9d, 0x66, 0x2d, 0xcc, 0xc6, 0x7d, 0x6d, 0xad, 0x4a, 0x2d, 0x86, 0xa5,
2344 	0x22, 0x38, 0x46, 0x2a, 0xa7, 0x5a, 0x85, 0xd8, 0xdb, 0xa6, 0x76, 0xdb,
2345 	0x2b, 0xd9, 0x40, 0x53, 0x12, 0xf5, 0xe2, 0x47, 0x9e, 0x93, 0x4d, 0x41,
2346 	0x35, 0x48, 0xa7, 0x24, 0x6b, 0xd2, 0xdb, 0xc8, 0x54, 0x5a, 0x2f, 0x41
2347 };
2348 static const uint8_t nist_186_2_ecdsa_testvector_56_ptx[] = {
2349 /* Msg */
2350 	0x3d, 0xac, 0xf9, 0xf9, 0x2d, 0x22, 0x02, 0xdb, 0xd9, 0x74, 0x53, 0x58,
2351 	0x51, 0x7b, 0x2c, 0x41, 0x76, 0xaa, 0x05, 0xc1, 0x17, 0xa1, 0xcf, 0x91,
2352 	0x5a, 0x00, 0x7d, 0x6c, 0x5e, 0x79, 0xc3, 0xc3, 0x1e, 0x2a, 0x1d, 0xb1,
2353 	0x99, 0x29, 0x14, 0x31, 0x30, 0x60, 0xbd, 0x8f, 0x4f, 0x9b, 0x82, 0x1c,
2354 	0x4f, 0xdf, 0x24, 0x26, 0x9b, 0xfe, 0x01, 0x27, 0x12, 0x68, 0x93, 0x3d,
2355 	0xad, 0x44, 0x3a, 0xda, 0x62, 0xbf, 0x3b, 0xbd, 0x48, 0xa4, 0x08, 0x21,
2356 	0xfb, 0x2e, 0xc2, 0x34, 0x42, 0x1a, 0xfc, 0xca, 0xef, 0xff, 0xc2, 0x53,
2357 	0x07, 0xe2, 0xd9, 0x0a, 0x23, 0x05, 0x49, 0x70, 0x16, 0x01, 0x19, 0xf9,
2358 	0xd0, 0x14, 0x5a, 0x05, 0x83, 0xbc, 0x67, 0x11, 0x04, 0x85, 0x6a, 0x2f,
2359 	0x73, 0x1f, 0x22, 0xb3, 0x1e, 0xb3, 0xe4, 0x30, 0xa3, 0x77, 0xe0, 0xa3,
2360 	0x55, 0x81, 0xa6, 0xed, 0xe1, 0xd9, 0xe9, 0x87
2361 };
2362 static const uint8_t nist_186_2_ecdsa_testvector_56_private[] = {
2363 /* d */
2364 	0x00, 0x67, 0x54, 0x3b, 0xb6, 0x91, 0x7b, 0xd7, 0xb3, 0xfb, 0x5b, 0x40,
2365 	0xfc, 0x23, 0xb8, 0x66, 0x8d, 0x24, 0xdb, 0x12, 0x54, 0xeb, 0xf1, 0x0a,
2366 	0xa7, 0x71, 0x4b, 0x26, 0x5c, 0x7d, 0x84, 0x9a, 0xfe, 0xc4, 0x58, 0xce,
2367 	0x06, 0xf2, 0x6c, 0x15, 0x00, 0x5b, 0xc8, 0x04, 0x11, 0xe2, 0xb2, 0x34
2368 };
2369 static const uint8_t nist_186_2_ecdsa_testvector_56_public_x[] = {
2370 /* Qx */
2371 	0xaa, 0x1f, 0x66, 0xc6, 0x03, 0x29, 0xa7, 0x90, 0xd9, 0x67, 0xff, 0xe5,
2372 	0x86, 0xa4, 0x4a, 0xd0, 0x5c, 0xaf, 0x9e, 0x61, 0x26, 0x34, 0x23, 0x94,
2373 	0xfd, 0x6c, 0x02, 0x2a, 0x1e, 0xb1, 0x17, 0xf7, 0xed, 0x53, 0x0e, 0xc1,
2374 	0x4e, 0x71, 0x14, 0xca, 0x91, 0x76, 0x7e, 0x96, 0x41, 0x49, 0xcf, 0x5f
2375 };
2376 static const uint8_t nist_186_2_ecdsa_testvector_56_public_y[] = {
2377 /* Qy */
2378 	0x33, 0x2b, 0xff, 0x23, 0x4b, 0xfb, 0x5e, 0x87, 0xe6, 0x19, 0x4b, 0x35,
2379 	0xda, 0xe8, 0x21, 0x4b, 0xa4, 0x1f, 0x9b, 0xa1, 0x32, 0x5f, 0x03, 0x4f,
2380 	0xfe, 0xd7, 0x27, 0xb5, 0x73, 0x53, 0xa7, 0x79, 0x49, 0x72, 0xc5, 0x8e,
2381 	0x5b, 0x27, 0xd6, 0xba, 0x72, 0xfd, 0x22, 0x43, 0x47, 0xec, 0x2c, 0x7f
2382 };
2383 /* k = 00d1f288633a2e827ced39b5b29b925b4242e8cab7cabf51de74e55f3a600cf1d778dd748ec073f8cb3b056e86cabc8c */
2384 static const uint8_t nist_186_2_ecdsa_testvector_56_out[] = {
2385 /* R */
2386 	0x17, 0x1d, 0x44, 0xf5, 0xbb, 0xbb, 0x34, 0xb3, 0x5f, 0x3f, 0xb1, 0xaf,
2387 	0xae, 0x4e, 0x10, 0xd6, 0x1b, 0x2f, 0x5d, 0xe5, 0x63, 0xa1, 0x10, 0x9e,
2388 	0x24, 0x8f, 0xa9, 0x3e, 0x02, 0xca, 0x2d, 0xe8, 0xc1, 0x83, 0x18, 0x48,
2389 	0x28, 0x85, 0x57, 0x63, 0x7b, 0x5a, 0x8f, 0xfc, 0x30, 0xb9, 0xed, 0xaa,
2390 /* S */
2391 	0x4d, 0x65, 0xe1, 0xb9, 0xc8, 0xb7, 0xff, 0x65, 0x3a, 0x5d, 0x36, 0x0f,
2392 	0x86, 0xb5, 0xf9, 0x16, 0x39, 0x02, 0x10, 0x1f, 0x81, 0x8b, 0x09, 0xf7,
2393 	0x09, 0x0c, 0x40, 0x74, 0xb1, 0x19, 0x73, 0xa0, 0x80, 0x14, 0x3e, 0x4e,
2394 	0x57, 0xaf, 0xb6, 0xfb, 0x41, 0x18, 0x60, 0x29, 0xca, 0xf1, 0xc9, 0x63
2395 };
2396 static const uint8_t nist_186_2_ecdsa_testvector_57_ptx[] = {
2397 /* Msg */
2398 	0xac, 0xe2, 0x5c, 0x0d, 0x4f, 0x7d, 0x46, 0x5f, 0x68, 0x43, 0xfb, 0x69,
2399 	0x0c, 0x4c, 0x46, 0x9a, 0x83, 0x0a, 0xdc, 0xa4, 0x42, 0x74, 0xec, 0xc8,
2400 	0x19, 0x64, 0xf7, 0x54, 0xae, 0x3e, 0xe2, 0x6a, 0x2a, 0xd3, 0x4a, 0x02,
2401 	0x32, 0x85, 0x17, 0x32, 0x19, 0xab, 0x54, 0xae, 0x54, 0x37, 0x3e, 0x8b,
2402 	0x2e, 0x96, 0x9a, 0x48, 0xbd, 0xd7, 0x4c, 0x0e, 0x14, 0x10, 0x26, 0x37,
2403 	0xba, 0xfd, 0xfe, 0x0e, 0x5b, 0xeb, 0x03, 0xd5, 0xbe, 0xd4, 0x51, 0x0d,
2404 	0xf7, 0xcc, 0xc2, 0xf1, 0xde, 0x9b, 0x07, 0x44, 0xbf, 0xac, 0xf8, 0x4c,
2405 	0x53, 0x26, 0x29, 0x1f, 0xef, 0x58, 0xbe, 0x1d, 0xfc, 0x5a, 0x80, 0xbe,
2406 	0xa7, 0xf1, 0x30, 0x8e, 0xd9, 0xb4, 0x1b, 0x75, 0x6a, 0x6d, 0xee, 0x3c,
2407 	0x92, 0xc2, 0xcc, 0x4d, 0xa0, 0x15, 0x9e, 0xba, 0xee, 0xa8, 0xaa, 0x81,
2408 	0x14, 0x05, 0x68, 0x0f, 0x5c, 0x9d, 0x90, 0x02
2409 };
2410 static const uint8_t nist_186_2_ecdsa_testvector_57_private[] = {
2411 /* d */
2412 	0x00, 0x58, 0xfe, 0x57, 0x51, 0x16, 0xc0, 0x54, 0x9b, 0x78, 0x53, 0xf3,
2413 	0x36, 0x69, 0x4d, 0xef, 0xda, 0x21, 0xea, 0x42, 0x3b, 0x13, 0x1e, 0x32,
2414 	0x28, 0xae, 0x21, 0x3e, 0x05, 0x0d, 0x3e, 0xeb, 0x4c, 0x5e, 0xac, 0x9f,
2415 	0x24, 0x96, 0x82, 0x1d, 0x87, 0x18, 0xcd, 0x86, 0xef, 0x94, 0x3e, 0xc4
2416 };
2417 static const uint8_t nist_186_2_ecdsa_testvector_57_public_x[] = {
2418 /* Qx */
2419 	0xfa, 0xa6, 0xc0, 0x91, 0x4b, 0x18, 0x9d, 0x9d, 0xf2, 0xf7, 0xef, 0xe2,
2420 	0x27, 0xf6, 0xb9, 0x5c, 0x31, 0x02, 0x51, 0xc1, 0xa8, 0xd7, 0xb2, 0x61,
2421 	0xa0, 0xbd, 0xb0, 0xce, 0xfa, 0x4f, 0x66, 0x1b, 0xfd, 0xb4, 0xbb, 0x5b,
2422 	0xf5, 0x9d, 0x5f, 0x42, 0x0d, 0x57, 0xf7, 0xf2, 0xc8, 0xb3, 0x2e, 0x73
2423 };
2424 static const uint8_t nist_186_2_ecdsa_testvector_57_public_y[] = {
2425 /* Qy */
2426 	0x96, 0xf8, 0x23, 0x15, 0xc2, 0x5f, 0x68, 0xf2, 0xbf, 0x7e, 0x5c, 0x8e,
2427 	0x74, 0x9f, 0xbc, 0x8c, 0x4d, 0xd8, 0x5f, 0xe1, 0x9a, 0x76, 0xde, 0x7a,
2428 	0xe3, 0x5a, 0xbf, 0x80, 0x61, 0x41, 0xb9, 0x5e, 0x02, 0xe5, 0x8d, 0xef,
2429 	0xab, 0x62, 0xab, 0x0c, 0x3d, 0x47, 0x97, 0x23, 0x48, 0x1f, 0x2e, 0x02
2430 };
2431 /* k = 004c3a262bc2374600194d52d1e329f32b6dfa30b04f18c6f7bd3e2da69785847fd01142355306a2d94c14fdea1e2a33 */
2432 static const uint8_t nist_186_2_ecdsa_testvector_57_out[] = {
2433 /* R */
2434 	0xe9, 0x60, 0xde, 0x23, 0xe2, 0x9b, 0x6f, 0x9d, 0x70, 0x81, 0x39, 0xbe,
2435 	0x50, 0xfa, 0xf1, 0xf2, 0x38, 0xae, 0x27, 0x1e, 0x87, 0xa0, 0xad, 0x02,
2436 	0x13, 0x51, 0x17, 0xde, 0x08, 0xe6, 0xcb, 0x61, 0x9f, 0x77, 0x01, 0x6d,
2437 	0x77, 0x3c, 0xe5, 0x5b, 0x68, 0xb8, 0xbc, 0x4e, 0x63, 0x42, 0xbb, 0x98,
2438 /* S */
2439 	0xf3, 0x53, 0xcb, 0x04, 0x5a, 0xb7, 0x2f, 0x01, 0x0b, 0x1b, 0xec, 0x34,
2440 	0x42, 0x82, 0xfc, 0xe0, 0xf0, 0x05, 0xe0, 0xa8, 0x3d, 0xaf, 0x9f, 0xa9,
2441 	0x3d, 0x9a, 0xf3, 0x81, 0x18, 0xea, 0x33, 0x4c, 0x37, 0xf4, 0xdb, 0xc5,
2442 	0x74, 0xe8, 0x13, 0xda, 0x1b, 0x03, 0x9e, 0xea, 0xb8, 0x81, 0x11, 0x7b
2443 };
2444 static const uint8_t nist_186_2_ecdsa_testvector_58_ptx[] = {
2445 /* Msg */
2446 	0x72, 0xe1, 0x91, 0x7b, 0xf8, 0x3e, 0xe9, 0x68, 0x9b, 0x5f, 0xa8, 0xfe,
2447 	0x9e, 0x4a, 0x50, 0x0a, 0xac, 0xcb, 0x0d, 0x58, 0x6e, 0xb8, 0xe9, 0x1c,
2448 	0x5d, 0x78, 0x3f, 0x92, 0xd5, 0xc6, 0x72, 0xe2, 0x6b, 0xb3, 0xde, 0x46,
2449 	0x81, 0xea, 0x0f, 0x6e, 0x18, 0x38, 0x31, 0x24, 0xe5, 0x4c, 0xc8, 0x2c,
2450 	0xa6, 0xbb, 0xa2, 0x6e, 0xb6, 0x47, 0x09, 0x57, 0xdf, 0x60, 0x3d, 0x7c,
2451 	0x70, 0xeb, 0x21, 0x80, 0x90, 0x43, 0x34, 0x38, 0xd2, 0x7d, 0xc3, 0x0e,
2452 	0x0a, 0xf1, 0x5d, 0xa3, 0x5e, 0xf5, 0x88, 0xb9, 0xa0, 0xec, 0xb2, 0x4f,
2453 	0xdb, 0x80, 0x6a, 0x0d, 0x2b, 0x2b, 0xd0, 0xe3, 0xd2, 0xfc, 0x4a, 0xee,
2454 	0x89, 0x98, 0x79, 0x9b, 0x14, 0x7f, 0x6c, 0x0e, 0x19, 0x90, 0x13, 0xc5,
2455 	0x32, 0xd0, 0xf6, 0x78, 0x41, 0x67, 0x26, 0x44, 0x04, 0xeb, 0x74, 0x09,
2456 	0xe9, 0xe1, 0xe2, 0x11, 0x23, 0x81, 0x57, 0xf2
2457 };
2458 static const uint8_t nist_186_2_ecdsa_testvector_58_private[] = {
2459 /* d */
2460 	0x00, 0xa9, 0x86, 0xfa, 0x91, 0xca, 0xc9, 0x51, 0x41, 0x0a, 0x7b, 0xec,
2461 	0xc9, 0x25, 0x30, 0xa3, 0xf2, 0x24, 0x30, 0xb4, 0xfd, 0xfa, 0xb2, 0x91,
2462 	0x68, 0x93, 0xc6, 0x44, 0x18, 0x9a, 0x6a, 0x56, 0x35, 0x41, 0x73, 0x04,
2463 	0xaa, 0xc6, 0x02, 0x69, 0x36, 0xef, 0x21, 0x1f, 0x38, 0x37, 0x03, 0xbd
2464 };
2465 static const uint8_t nist_186_2_ecdsa_testvector_58_public_x[] = {
2466 /* Qx */
2467 	0x37, 0x8c, 0xe7, 0x3b, 0x4a, 0x19, 0x5e, 0xc7, 0x57, 0x54, 0xb2, 0xf5,
2468 	0x75, 0x28, 0x36, 0x4a, 0x1f, 0x5d, 0x2c, 0x71, 0x9a, 0xab, 0xd1, 0x29,
2469 	0x68, 0x20, 0xa3, 0x53, 0x86, 0xb0, 0x55, 0x64, 0xb3, 0x27, 0x22, 0xaf,
2470 	0xa6, 0xcb, 0x22, 0x2b, 0x02, 0xf7, 0x51, 0xfc, 0x45, 0x04, 0xb2, 0x4f
2471 };
2472 static const uint8_t nist_186_2_ecdsa_testvector_58_public_y[] = {
2473 /* Qy */
2474 	0x10, 0xcb, 0xec, 0x24, 0xb5, 0x0e, 0xc9, 0x0f, 0x64, 0xf0, 0x83, 0x20,
2475 	0xea, 0x96, 0xd1, 0x58, 0x10, 0x1f, 0x29, 0x79, 0x9c, 0xc6, 0x69, 0xd0,
2476 	0xcd, 0x6a, 0x7a, 0x4d, 0x38, 0x0e, 0x51, 0xec, 0x98, 0xdc, 0xbf, 0x41,
2477 	0xea, 0xd7, 0x2a, 0xbd, 0xf2, 0xc7, 0x51, 0x31, 0x95, 0x7e, 0xa0, 0x89
2478 };
2479 /* k = 00444b31ec4e95af9529be93fe41ed60ced6441b5313d635adac9116142fe7e8e19f28a869486656cd99b8013b6a9642 */
2480 static const uint8_t nist_186_2_ecdsa_testvector_58_out[] = {
2481 /* R */
2482 	0x19, 0x1b, 0xd6, 0xd5, 0xcd, 0x8b, 0xca, 0x92, 0xa2, 0x87, 0x44, 0xf7,
2483 	0x6d, 0x29, 0x6a, 0x9a, 0x92, 0x06, 0xad, 0x67, 0x55, 0xe7, 0x5e, 0x90,
2484 	0x2a, 0xac, 0x01, 0x80, 0x40, 0xf6, 0xa6, 0xd3, 0xe3, 0x87, 0x86, 0x37,
2485 	0x41, 0x67, 0x01, 0xb2, 0xef, 0x5b, 0x22, 0x94, 0x3e, 0xe4, 0x7d, 0x92,
2486 /* S */
2487 	0xdf, 0x07, 0xb2, 0x56, 0x3a, 0x1b, 0xd7, 0x00, 0x7e, 0x62, 0xc8, 0x2d,
2488 	0x6a, 0xd1, 0xeb, 0x10, 0xd0, 0xf6, 0xd9, 0x76, 0x6e, 0x01, 0x43, 0x87,
2489 	0x84, 0x8e, 0x94, 0xe5, 0x92, 0x2f, 0xa5, 0x82, 0xc9, 0x32, 0x91, 0x7a,
2490 	0xcf, 0x30, 0xfd, 0x83, 0xa9, 0xd7, 0xe2, 0xfc, 0xd9, 0xc8, 0x08, 0x9c
2491 };
2492 static const uint8_t nist_186_2_ecdsa_testvector_59_ptx[] = {
2493 /* Msg */
2494 	0x6c, 0xf7, 0x75, 0xc9, 0xd5, 0x4b, 0x0a, 0x99, 0xf1, 0x8b, 0xca, 0x17,
2495 	0x7f, 0x0b, 0x0d, 0x49, 0x3a, 0x2a, 0x01, 0xb7, 0x5a, 0xcd, 0x4b, 0x7c,
2496 	0x5d, 0x0d, 0xf1, 0x9c, 0x07, 0x2d, 0x77, 0x98, 0xa8, 0xcf, 0x48, 0x40,
2497 	0x9d, 0x67, 0x58, 0xc9, 0x19, 0xef, 0x08, 0x1f, 0x26, 0xdd, 0x4a, 0x7c,
2498 	0xe6, 0x52, 0x05, 0x3a, 0x1f, 0x94, 0xbb, 0xe6, 0xf6, 0xbe, 0x69, 0x95,
2499 	0xfb, 0xb6, 0xae, 0x7b, 0x66, 0x60, 0x30, 0xb9, 0xa0, 0x11, 0x3c, 0x77,
2500 	0x06, 0x47, 0xac, 0x33, 0xe9, 0x97, 0x0e, 0x58, 0xd9, 0xe6, 0x02, 0x13,
2501 	0x23, 0xdc, 0xe4, 0x62, 0x98, 0x96, 0xab, 0x6e, 0x90, 0x9b, 0x11, 0x1a,
2502 	0x2f, 0x12, 0xf5, 0xdc, 0xe7, 0x32, 0xfd, 0xcc, 0x3e, 0xf9, 0x7f, 0xfa,
2503 	0xd2, 0x21, 0xa2, 0x05, 0x9a, 0x50, 0xc0, 0xe9, 0x6e, 0x8f, 0x0f, 0x19,
2504 	0xca, 0xfd, 0x81, 0xce, 0xcf, 0xc4, 0xe8, 0x9e
2505 };
2506 static const uint8_t nist_186_2_ecdsa_testvector_59_private[] = {
2507 /* d */
2508 	0x00, 0x33, 0xac, 0xf6, 0xc1, 0x1e, 0x48, 0xd2, 0x01, 0x0c, 0x5a, 0x82,
2509 	0xc5, 0x7b, 0xb6, 0xdc, 0xfe, 0x43, 0x6b, 0x07, 0xc0, 0x0b, 0x67, 0xb6,
2510 	0x1e, 0xec, 0x4e, 0xb5, 0xc4, 0xc8, 0x3c, 0xcd, 0x16, 0x56, 0x22, 0x91,
2511 	0xc0, 0x4d, 0x3b, 0x5e, 0x0d, 0x22, 0xcf, 0xf6, 0x1c, 0x15, 0x09, 0xb1
2512 };
2513 static const uint8_t nist_186_2_ecdsa_testvector_59_public_x[] = {
2514 /* Qx */
2515 	0x5c, 0xa5, 0xbe, 0xa1, 0x70, 0xdd, 0x19, 0xcc, 0x88, 0xd7, 0x11, 0x3f,
2516 	0xd6, 0x28, 0xc0, 0x84, 0xad, 0x42, 0xf3, 0xc5, 0xd1, 0xe8, 0x29, 0x40,
2517 	0x8c, 0x12, 0x6e, 0xc5, 0xaa, 0xc0, 0x6c, 0x34, 0xc6, 0x89, 0x3f, 0x9d,
2518 	0x44, 0x53, 0x9f, 0xd1, 0x60, 0x1b, 0x49, 0x3d, 0x52, 0x61, 0x87, 0xe9
2519 };
2520 static const uint8_t nist_186_2_ecdsa_testvector_59_public_y[] = {
2521 /* Qy */
2522 	0xa4, 0x98, 0xb6, 0xec, 0xed, 0x71, 0x9c, 0x9a, 0xc2, 0xf8, 0xc7, 0x3e,
2523 	0x97, 0x94, 0xb4, 0x8f, 0x59, 0x47, 0x0f, 0x16, 0xfc, 0x22, 0x47, 0x2e,
2524 	0x4c, 0x7d, 0xe0, 0x76, 0xa7, 0x36, 0xad, 0x2e, 0x43, 0x99, 0xe9, 0xe9,
2525 	0xe1, 0xb7, 0x26, 0x00, 0x22, 0x50, 0xbe, 0xe6, 0xdc, 0xa7, 0xfd, 0xa9
2526 };
2527 /* k = 0090c4418f19d7bd59736d4ddfade964e38cd3d159434a73c8e2d1e8c3fde153a742fa3f7b6c74d15601e0601987eaa9 */
2528 static const uint8_t nist_186_2_ecdsa_testvector_59_out[] = {
2529 /* R */
2530 	0xff, 0xfc, 0x02, 0x1b, 0x5e, 0x5a, 0x7b, 0x67, 0x5d, 0x3d, 0x34, 0x5e,
2531 	0xca, 0x74, 0xc9, 0x7e, 0x31, 0x51, 0x6d, 0xe0, 0x21, 0x5d, 0xde, 0x3a,
2532 	0x79, 0x9e, 0x7a, 0x2f, 0x83, 0x04, 0xaf, 0xd8, 0x1c, 0xa2, 0x95, 0xa7,
2533 	0xf1, 0xe9, 0x6c, 0xd2, 0xa5, 0x21, 0x87, 0x65, 0xe2, 0xb2, 0xfc, 0x5f,
2534 /* S */
2535 	0x60, 0x12, 0x80, 0xd4, 0xd4, 0xc2, 0x50, 0x19, 0x9e, 0x11, 0x42, 0xb3,
2536 	0x4b, 0x80, 0x6d, 0x16, 0x51, 0x61, 0x99, 0xf1, 0x43, 0xf0, 0x7a, 0xdf,
2537 	0xb4, 0xb9, 0x6a, 0xc6, 0x44, 0xbe, 0xf3, 0xb2, 0x51, 0x36, 0x09, 0x25,
2538 	0xb8, 0xdb, 0xbe, 0x4b, 0xe2, 0x08, 0x20, 0x1a, 0x7e, 0xe4, 0x1b, 0x48
2539 };
2540 static const uint8_t nist_186_2_ecdsa_testvector_60_ptx[] = {
2541 /* Msg */
2542 	0xc9, 0xf1, 0xbc, 0x04, 0xe1, 0x1c, 0x29, 0x36, 0x26, 0xfe, 0xae, 0x66,
2543 	0x96, 0xf0, 0x50, 0x59, 0x71, 0x84, 0x66, 0xd9, 0xea, 0x6c, 0xf1, 0xb5,
2544 	0x23, 0x98, 0x2b, 0x0a, 0x58, 0x9f, 0x63, 0xc1, 0x5b, 0x60, 0x07, 0x59,
2545 	0x40, 0xe9, 0x03, 0xe6, 0x59, 0x98, 0x49, 0x5a, 0x65, 0x7f, 0xb1, 0x04,
2546 	0x04, 0x0d, 0x04, 0x56, 0x6e, 0xeb, 0x53, 0xeb, 0x65, 0x25, 0x8e, 0xc9,
2547 	0x68, 0x8a, 0x52, 0xe3, 0x2a, 0x55, 0x01, 0xe2, 0x42, 0x0d, 0x18, 0x24,
2548 	0x24, 0xa9, 0xbd, 0x05, 0x50, 0xf8, 0x98, 0x5e, 0xc9, 0x40, 0xe4, 0x4c,
2549 	0xc9, 0x26, 0xc6, 0x33, 0xb3, 0xcd, 0xdd, 0x02, 0x49, 0x42, 0x1a, 0xb8,
2550 	0x1f, 0x18, 0xd2, 0x27, 0x4f, 0x4f, 0x11, 0xf7, 0x6f, 0x7b, 0x32, 0xef,
2551 	0xc0, 0x21, 0xac, 0x70, 0xa8, 0x65, 0x2f, 0x42, 0x63, 0xe2, 0xf0, 0x94,
2552 	0xf5, 0xda, 0x41, 0x3d, 0x63, 0x8f, 0x64, 0x48
2553 };
2554 static const uint8_t nist_186_2_ecdsa_testvector_60_private[] = {
2555 /* d */
2556 	0x00, 0x4b, 0xf7, 0xfd, 0x8d, 0x0e, 0xde, 0x8f, 0xf1, 0xf5, 0x68, 0xed,
2557 	0x3a, 0xb9, 0xce, 0xd8, 0x2c, 0x4e, 0xfe, 0xe7, 0xb2, 0xb6, 0x49, 0x32,
2558 	0x39, 0x2e, 0x6c, 0x70, 0xf1, 0xf3, 0x89, 0x7c, 0x3a, 0xf5, 0x43, 0x53,
2559 	0xb5, 0xf4, 0x1d, 0x19, 0x9e, 0x44, 0x33, 0x9f, 0x73, 0xac, 0x6d, 0xaa
2560 };
2561 static const uint8_t nist_186_2_ecdsa_testvector_60_public_x[] = {
2562 /* Qx */
2563 	0x50, 0x67, 0x5a, 0x40, 0x95, 0x31, 0x71, 0xe5, 0xf3, 0x56, 0x51, 0xad,
2564 	0x8d, 0xd7, 0xb7, 0x44, 0x72, 0x32, 0x13, 0x26, 0x99, 0x2e, 0xbc, 0xae,
2565 	0xb2, 0x47, 0xe0, 0x2b, 0x7d, 0x40, 0x29, 0xf2, 0x93, 0x6b, 0x13, 0x00,
2566 	0x96, 0xfc, 0x3d, 0xae, 0x36, 0xc4, 0xc0, 0x73, 0x6d, 0x2b, 0xaf, 0xc8
2567 };
2568 static const uint8_t nist_186_2_ecdsa_testvector_60_public_y[] = {
2569 /* Qy */
2570 	0x3e, 0x28, 0x73, 0x8b, 0x00, 0xb2, 0xcb, 0x5b, 0x6c, 0x69, 0xe4, 0x94,
2571 	0x94, 0xf3, 0x10, 0xe6, 0x69, 0x33, 0xfe, 0x9b, 0xa0, 0x6f, 0xaa, 0x85,
2572 	0x02, 0x87, 0xa0, 0x05, 0x8c, 0xd6, 0x09, 0x35, 0xce, 0x08, 0xda, 0x14,
2573 	0x3c, 0x5d, 0x04, 0x04, 0x4a, 0xea, 0x40, 0x1a, 0xbf, 0x63, 0xd4, 0xfb
2574 };
2575 /* k = 001bac143611a010a5713f1db6bcc93c18ddb809e07f1c96e7f296b878c2a747f7b5b47b5f4dcec1d65c28abc8918bef */
2576 static const uint8_t nist_186_2_ecdsa_testvector_60_out[] = {
2577 /* R */
2578 	0x99, 0x04, 0xcb, 0x5c, 0xb4, 0x92, 0x7b, 0x9c, 0xd6, 0x1b, 0xe9, 0x0a,
2579 	0x49, 0x8d, 0xd5, 0xf3, 0xa5, 0xb1, 0x66, 0x10, 0x32, 0xa1, 0x3e, 0xa2,
2580 	0x0d, 0x0c, 0x9c, 0x9a, 0xb5, 0x7a, 0xe6, 0xf5, 0x0d, 0x62, 0xa1, 0xee,
2581 	0x14, 0x46, 0xa3, 0xd6, 0xe3, 0x5a, 0x46, 0xa9, 0x65, 0x34, 0x52, 0x0a,
2582 /* S */
2583 	0xaa, 0x1f, 0xd2, 0x69, 0xfb, 0xad, 0xa3, 0xbd, 0xe4, 0x20, 0x10, 0x0e,
2584 	0x54, 0xa4, 0x8e, 0xc4, 0x77, 0xb2, 0xe9, 0x63, 0xe9, 0x6e, 0x43, 0x7f,
2585 	0xc3, 0x1c, 0x52, 0xad, 0xe5, 0xab, 0x32, 0x0a, 0x70, 0x7f, 0x9f, 0xd6,
2586 	0xd6, 0x29, 0x41, 0x0c, 0x45, 0x18, 0x06, 0xdf, 0x7f, 0xcc, 0x2e, 0x46
2587 };
2588 /* [P-521] */
2589 static const uint8_t nist_186_2_ecdsa_testvector_61_ptx[] = {
2590 /* Msg */
2591 	0xcc, 0x92, 0xca, 0x36, 0xa7, 0x67, 0x60, 0x75, 0x2b, 0x5a, 0x45, 0xca,
2592 	0x5d, 0x72, 0x35, 0x94, 0x71, 0x22, 0xa6, 0x00, 0x2f, 0x1d, 0x4e, 0x7d,
2593 	0x9c, 0x6b, 0xe5, 0x70, 0xd7, 0xbd, 0x2c, 0x29, 0x41, 0xfe, 0x2e, 0x16,
2594 	0xe0, 0x2a, 0xc6, 0x37, 0x06, 0x63, 0x61, 0xd2, 0x2d, 0x42, 0x05, 0x68,
2595 	0x26, 0x6b, 0x93, 0xe7, 0x73, 0x64, 0x49, 0x21, 0xf1, 0xa7, 0x8a, 0x7d,
2596 	0xba, 0xf5, 0xe2, 0xed, 0x49, 0xee, 0x45, 0x20, 0xdf, 0xdf, 0x97, 0xf8,
2597 	0x26, 0xdb, 0x72, 0x3e, 0x14, 0x0d, 0x23, 0x95, 0x13, 0x4c, 0xf5, 0xac,
2598 	0x5f, 0xf0, 0xb3, 0xb8, 0xaf, 0xe4, 0x68, 0x22, 0x17, 0xfd, 0x69, 0x7c,
2599 	0x2d, 0x8a, 0x95, 0xba, 0x6b, 0x2d, 0xdc, 0x9f, 0xd4, 0xe9, 0xfe, 0x75,
2600 	0xda, 0x7b, 0x95, 0x01, 0x80, 0xee, 0x56, 0xb6, 0xbc, 0x6a, 0x94, 0x29,
2601 	0x1f, 0x4d, 0x05, 0xc5, 0xb7, 0x7c, 0xc9, 0xc0
2602 };
2603 static const uint8_t nist_186_2_ecdsa_testvector_61_private[] = {
2604 /* d - byte alignment */
2605 	0x00, 0x3d, 0x72, 0xbc, 0xc7, 0x00, 0x69, 0x5d, 0x40, 0x0c, 0x81, 0x3d,
2606 	0xfd, 0xa1, 0xe3, 0xb3, 0xbf, 0x2c, 0xbc, 0x15, 0xf2, 0x8d, 0x27, 0x2d,
2607 	0xcb, 0x3b, 0xd7, 0xf9, 0x35, 0xfd, 0xab, 0xac, 0x9c, 0x27, 0x7d, 0xc4,
2608 	0x7a, 0x32, 0x45, 0x73, 0x7b, 0x40, 0xde, 0xd8, 0xd0, 0xd2, 0x46, 0x4c,
2609 	0xaa, 0x6a, 0xfa, 0x8b, 0x97, 0x16, 0x93, 0xcb, 0x25, 0x8a, 0x8f, 0x58,
2610 	0xe6, 0x3f, 0xab, 0x2c, 0x48, 0x56
2611 };
2612 static const uint8_t nist_186_2_ecdsa_testvector_61_public_x[] = {
2613 /* Qx - byte alignment */
2614 	0x00, 0xf1, 0xdc, 0x7c, 0xcb, 0x09, 0xd6, 0x1e, 0x6a, 0xf3, 0x79, 0xb8,
2615 	0x9a, 0xca, 0x90, 0x5b, 0x49, 0x77, 0x9f, 0xbe, 0x43, 0xa9, 0x4c, 0x8e,
2616 	0xf3, 0x84, 0xcc, 0xbf, 0x66, 0x0f, 0x48, 0x05, 0xc9, 0x65, 0xa3, 0xa2,
2617 	0x4e, 0xd5, 0xa9, 0x62, 0xc2, 0x48, 0x09, 0x41, 0x5c, 0xde, 0xcf, 0xdf,
2618 	0xe5, 0x0f, 0xd1, 0x8f, 0x12, 0x66, 0x07, 0x31, 0x54, 0xb6, 0x2f, 0x35,
2619 	0x5f, 0xe4, 0xc9, 0x8a, 0xf6, 0xe5
2620 };
2621 static const uint8_t nist_186_2_ecdsa_testvector_61_public_y[] = {
2622 /* Qy - byte alignment */
2623 	0x01, 0x74, 0x0e, 0xb9, 0x5b, 0x8e, 0x31, 0xa0, 0x43, 0x4c, 0x98, 0x8f,
2624 	0x2e, 0xdd, 0x55, 0x0b, 0x8d, 0xc6, 0xc4, 0x5c, 0x6f, 0x50, 0x43, 0x09,
2625 	0x25, 0x53, 0x70, 0xcc, 0xe5, 0x7e, 0x82, 0x1f, 0xcb, 0x4f, 0x60, 0xba,
2626 	0xd1, 0x7a, 0x8f, 0xb9, 0xa3, 0xf4, 0xdc, 0x67, 0xed, 0x48, 0x60, 0xae,
2627 	0x6d, 0xd3, 0xed, 0x4b, 0x1f, 0x51, 0xb9, 0x84, 0x51, 0xb7, 0xe7, 0x09,
2628 	0x5c, 0xc8, 0x7d, 0x4d, 0x62, 0x79
2629 };
2630 /* k = 1fc81abec3fab91a439df81eb49a7179230866c2e0e505d696ca37972e4af043f6ce6edea69c5711d14c43905b3dcc9ed48d225d50d8b136b6f0787215b3500be53 */
2631 static const uint8_t nist_186_2_ecdsa_testvector_61_out[] = {
2632 /* R - byte alignment */
2633 	0x00, 0xd3, 0x14, 0xdd, 0xe7, 0x4c, 0xce, 0x60, 0x24, 0x51, 0x89, 0x80,
2634 	0xad, 0x85, 0xcc, 0x7d, 0x5a, 0x29, 0x4e, 0x14, 0x8f, 0xa2, 0x6f, 0x06,
2635 	0x48, 0x48, 0x6a, 0x6d, 0x28, 0x82, 0xca, 0x7a, 0x92, 0xa1, 0xc9, 0x34,
2636 	0xc4, 0xb0, 0x1e, 0xe1, 0xf6, 0xcc, 0x1d, 0xcc, 0x59, 0x20, 0xd4, 0x97,
2637 	0x19, 0xa1, 0x82, 0x3c, 0xfa, 0x32, 0xa6, 0x9c, 0xda, 0x71, 0x0b, 0x0e,
2638 	0x95, 0x62, 0x3b, 0xbb, 0x04, 0x51,
2639 /* S - byte alignment */
2640 	0x01, 0x4b, 0x0b, 0x93, 0xbd, 0xa1, 0x37, 0xa5, 0x29, 0x39, 0x00, 0xeb,
2641 	0x6c, 0xb6, 0xb1, 0x51, 0xe3, 0x30, 0x1b, 0x8e, 0x29, 0x44, 0xea, 0xee,
2642 	0x5c, 0xe0, 0xf8, 0xdf, 0x87, 0xc9, 0x84, 0x1b, 0x61, 0x37, 0x2a, 0x2d,
2643 	0x70, 0xe7, 0x75, 0xc6, 0x75, 0x8d, 0x29, 0xa7, 0xd2, 0x4f, 0x62, 0xc6,
2644 	0x9d, 0xc8, 0x84, 0xb5, 0x4c, 0xe6, 0x7a, 0x8e, 0xdb, 0x51, 0xa0, 0x72,
2645 	0xe4, 0x79, 0x7a, 0x9b, 0x03, 0x6d
2646 };
2647 static const uint8_t nist_186_2_ecdsa_testvector_62_ptx[] = {
2648 /* Msg */
2649 	0x7a, 0x32, 0xe2, 0x33, 0x4f, 0x40, 0x4d, 0x73, 0x4d, 0x4c, 0x54, 0x22,
2650 	0x3c, 0xd0, 0x16, 0x2d, 0x63, 0xc7, 0x38, 0xfb, 0x9c, 0x6b, 0x93, 0x50,
2651 	0xae, 0x43, 0x29, 0x72, 0xd6, 0x5d, 0x5e, 0x8b, 0xa7, 0xd9, 0x65, 0x4f,
2652 	0x15, 0xa7, 0xf8, 0xde, 0xcc, 0x90, 0x4c, 0xec, 0xc6, 0x7b, 0x44, 0x1f,
2653 	0x1c, 0xe9, 0xe5, 0xb8, 0x1c, 0xc3, 0x0a, 0x76, 0x9d, 0x55, 0x58, 0xb7,
2654 	0x8f, 0x9a, 0x75, 0xe1, 0xd6, 0xba, 0x75, 0x00, 0x59, 0xd1, 0x95, 0xb1,
2655 	0x55, 0xf2, 0x2c, 0x3e, 0xf8, 0x6c, 0xde, 0x0a, 0x2b, 0x4b, 0x13, 0x30,
2656 	0xaf, 0x22, 0xa7, 0x67, 0x6b, 0x08, 0xe4, 0x29, 0x04, 0xe1, 0xad, 0x14,
2657 	0xaf, 0xdf, 0xfb, 0x90, 0x43, 0x48, 0x8e, 0xb2, 0x93, 0x79, 0xdc, 0x60,
2658 	0xfa, 0x2b, 0x4e, 0xb6, 0x37, 0xf5, 0xab, 0xa9, 0x7b, 0x12, 0xd4, 0xea,
2659 	0xc1, 0x65, 0xb3, 0x0d, 0x5e, 0xba, 0x6e, 0xeb
2660 };
2661 static const uint8_t nist_186_2_ecdsa_testvector_62_private[] = {
2662 /* d - byte alignment */
2663 	0x01, 0x80, 0x52, 0x67, 0x3f, 0xd9, 0x1a, 0x37, 0x44, 0x8f, 0x1f, 0x33,
2664 	0xad, 0x88, 0x52, 0x6e, 0xf7, 0x38, 0xf2, 0x2e, 0x64, 0x76, 0x25, 0x6d,
2665 	0xab, 0x6c, 0x74, 0x48, 0x37, 0x1e, 0x60, 0x85, 0x0d, 0xa9, 0xd7, 0x38,
2666 	0xab, 0x9f, 0x3e, 0x40, 0x20, 0x61, 0xee, 0x95, 0xab, 0xb7, 0x04, 0x36,
2667 	0xd2, 0x82, 0xd3, 0xe8, 0xe6, 0x35, 0x95, 0xd4, 0xdd, 0xfa, 0xcf, 0x94,
2668 	0xd5, 0x3b, 0x3a, 0xf5, 0xd3, 0x48
2669 };
2670 static const uint8_t nist_186_2_ecdsa_testvector_62_public_x[] = {
2671 /* Qx - byte alignment */
2672 	0x00, 0x62, 0xa0, 0x05, 0xd8, 0x0e, 0xc3, 0xee, 0x67, 0xc1, 0xc1, 0x84,
2673 	0xeb, 0x2e, 0xfe, 0x8d, 0x10, 0x63, 0xe8, 0x1e, 0xb2, 0xf9, 0x19, 0x35,
2674 	0x7b, 0xb4, 0x42, 0x05, 0x2d, 0x97, 0x7d, 0x14, 0x3d, 0xd7, 0xca, 0x9b,
2675 	0xe4, 0x3f, 0x62, 0x40, 0x28, 0xb7, 0xf8, 0xc8, 0x24, 0x22, 0xe5, 0xfd,
2676 	0xf6, 0x3d, 0x19, 0xf2, 0xce, 0xa7, 0xe2, 0xa4, 0xf6, 0x67, 0x8a, 0x57,
2677 	0x16, 0x5a, 0x1c, 0x45, 0xaa, 0x34
2678 };
2679 static const uint8_t nist_186_2_ecdsa_testvector_62_public_y[] = {
2680 /* Qy - byte alignment */
2681 	0x01, 0x72, 0x4c, 0xb8, 0x34, 0xd5, 0x38, 0x3a, 0x18, 0x9c, 0xcf, 0x7f,
2682 	0x37, 0x2f, 0x16, 0x69, 0x4a, 0xf1, 0xdb, 0xaf, 0xad, 0xb3, 0xf5, 0x69,
2683 	0xd3, 0x4d, 0x2e, 0xd5, 0x4d, 0x70, 0xaa, 0xb1, 0x06, 0xbb, 0xbf, 0x04,
2684 	0x1f, 0x53, 0x9d, 0xae, 0x97, 0xc6, 0xef, 0xa3, 0x5d, 0x41, 0xb3, 0x90,
2685 	0xb1, 0xad, 0x75, 0x1e, 0xed, 0x2c, 0x0d, 0x83, 0x87, 0x84, 0x11, 0x1b,
2686 	0xb5, 0x62, 0xde, 0x9b, 0xeb, 0x72
2687 };
2688 /* k = 160bcb5a661ffb58dda4110a003e83623e5eecf39de285fd8c79674a40cd89959a04936aa0288ef7e8d6621f882b5c8ab3eca58bb3ba48919087313def041433339 */
2689 static const uint8_t nist_186_2_ecdsa_testvector_62_out[] = {
2690 /* R - byte alignment */
2691 	0x00, 0x21, 0xbc, 0xa7, 0x96, 0xda, 0xfa, 0x1c, 0xb5, 0xbf, 0xbd, 0xc3,
2692 	0xfd, 0x70, 0x78, 0x7e, 0xd6, 0x40, 0x5d, 0x41, 0x8a, 0x12, 0xe2, 0x24,
2693 	0xb3, 0x4d, 0x95, 0x16, 0xb8, 0x9e, 0x29, 0xa4, 0x86, 0x60, 0x7b, 0xb7,
2694 	0xd5, 0x1f, 0x68, 0x23, 0xb5, 0x85, 0x57, 0x9f, 0x33, 0xa8, 0x6f, 0x6a,
2695 	0x6b, 0x31, 0x19, 0x7e, 0x7d, 0xd1, 0x67, 0x44, 0xe9, 0x07, 0x16, 0xa7,
2696 	0xdc, 0x94, 0x7a, 0xc9, 0x69, 0x30,
2697 /* S - byte alignment */
2698 	0x00, 0xc4, 0x26, 0xdd, 0xe5, 0x52, 0xbb, 0x1c, 0x56, 0xbb, 0xa1, 0x73,
2699 	0x93, 0x0b, 0xd5, 0x47, 0x63, 0x9a, 0xc8, 0xbc, 0x75, 0x2f, 0x76, 0x2e,
2700 	0xaa, 0xf8, 0x92, 0x4a, 0x8a, 0xe5, 0xf6, 0x46, 0xca, 0x93, 0xae, 0x46,
2701 	0x48, 0x8e, 0xad, 0x0f, 0x37, 0x58, 0xe7, 0x87, 0xf2, 0x37, 0x95, 0x92,
2702 	0x0a, 0xf0, 0x26, 0x39, 0x50, 0xf8, 0x3c, 0x73, 0xf5, 0x99, 0x4b, 0x7f,
2703 	0x4a, 0xd6, 0x82, 0x32, 0x86, 0x6c
2704 };
2705 static const uint8_t nist_186_2_ecdsa_testvector_63_ptx[] = {
2706 /* Msg */
2707 	0xd7, 0xf3, 0x4b, 0x6d, 0xf5, 0x43, 0x9d, 0xf3, 0x35, 0x51, 0x45, 0xc2,
2708 	0xb1, 0x60, 0xca, 0x56, 0xc6, 0xea, 0x11, 0x14, 0x18, 0x93, 0x7e, 0xdb,
2709 	0xd6, 0x5b, 0x5c, 0xdd, 0x40, 0x17, 0x7f, 0xad, 0x66, 0x22, 0x27, 0x98,
2710 	0x32, 0x50, 0x28, 0x39, 0xa8, 0x23, 0x48, 0x48, 0x6d, 0x42, 0xe9, 0xb3,
2711 	0x86, 0x26, 0xe8, 0xf0, 0x63, 0x17, 0xc4, 0x91, 0x1c, 0x57, 0x03, 0x19,
2712 	0xfa, 0x9d, 0xd1, 0x0e, 0x39, 0xc4, 0xeb, 0x4f, 0x0c, 0xc5, 0xbb, 0xa8,
2713 	0xe2, 0xe3, 0xc4, 0xa4, 0xe8, 0x25, 0x41, 0xa2, 0xcf, 0x09, 0x09, 0x2b,
2714 	0xcf, 0x77, 0xb6, 0x83, 0xec, 0xf4, 0x06, 0x7e, 0x78, 0x18, 0x82, 0x95,
2715 	0xd9, 0x42, 0x5d, 0x39, 0x8c, 0x8a, 0x9e, 0x68, 0x6a, 0xf7, 0x82, 0x7d,
2716 	0x2a, 0xf3, 0x1b, 0x4c, 0x28, 0xfb, 0x3e, 0x6e, 0x64, 0x9b, 0x9c, 0xda,
2717 	0xce, 0x9a, 0x2f, 0xb5, 0xc1, 0x72, 0xd8, 0x6c
2718 };
2719 static const uint8_t nist_186_2_ecdsa_testvector_63_private[] = {
2720 /* d - byte alignment */
2721 	0x01, 0x0e, 0xae, 0xa9, 0x31, 0x4d, 0xf0, 0x9f, 0x87, 0xf6, 0xd8, 0x96,
2722 	0x07, 0x24, 0x2d, 0xfe, 0xb2, 0x5f, 0x20, 0x63, 0xcd, 0xeb, 0x50, 0x4e,
2723 	0xcd, 0x01, 0xff, 0xa6, 0xe2, 0x2d, 0xab, 0xc0, 0x58, 0x78, 0xba, 0x56,
2724 	0xcd, 0x7b, 0x54, 0x38, 0x40, 0x9d, 0x2e, 0x64, 0x78, 0xe1, 0x03, 0xa3,
2725 	0xe7, 0xef, 0x4f, 0xa8, 0x79, 0x96, 0xc7, 0x95, 0x15, 0x56, 0xc1, 0x38,
2726 	0x09, 0x90, 0x18, 0x16, 0x9c, 0x65
2727 };
2728 static const uint8_t nist_186_2_ecdsa_testvector_63_public_x[] = {
2729 /* Qx - byte alignment */
2730 	0x00, 0xd2, 0xec, 0x1e, 0xd0, 0x13, 0xcc, 0x92, 0x75, 0xc0, 0x4a, 0x8d,
2731 	0xdb, 0xea, 0x61, 0x68, 0xd9, 0x2e, 0x52, 0x2a, 0xae, 0x42, 0x00, 0x2c,
2732 	0x3b, 0x0f, 0xf1, 0x00, 0x86, 0xb2, 0x16, 0x71, 0xd6, 0xd5, 0xe0, 0x85,
2733 	0xe9, 0x5d, 0x41, 0x1a, 0xc9, 0x71, 0xfc, 0x57, 0x4a, 0x93, 0xd9, 0x94,
2734 	0x43, 0x1d, 0x62, 0x1e, 0x67, 0xfb, 0x3e, 0xe4, 0x59, 0x9b, 0x7d, 0xd7,
2735 	0xd4, 0x89, 0xd0, 0xc8, 0x4b, 0xa6
2736 };
2737 static const uint8_t nist_186_2_ecdsa_testvector_63_public_y[] = {
2738 /* Qy - byte alignment */
2739 	0x00, 0x56, 0x45, 0x3c, 0x78, 0x3a, 0xb4, 0x6f, 0x55, 0x3c, 0x6e, 0xae,
2740 	0x03, 0xc4, 0x6d, 0x4f, 0x44, 0x63, 0xc6, 0x1c, 0x4c, 0xaa, 0xde, 0x1b,
2741 	0x58, 0x3c, 0x3c, 0x82, 0x89, 0x1f, 0x2f, 0xda, 0x17, 0x17, 0x35, 0x1f,
2742 	0x7d, 0x24, 0xff, 0x71, 0x8e, 0xf7, 0xb3, 0xf0, 0x2b, 0x39, 0xf2, 0xbd,
2743 	0x97, 0xf9, 0xd0, 0x3a, 0xd0, 0x8d, 0x05, 0xa2, 0xea, 0xed, 0xb0, 0x59,
2744 	0x0d, 0x94, 0x1f, 0x77, 0x60, 0x01
2745 };
2746 /* k = 1ee6d3bc2a6f7806bbb8e6993ff5a5cd2c4e34eac96d499814a387e88a3af15cfa251361fe02d376b8952f01c701246eaa1cdb6c40ef9537db1d9764c23242a0712 */
2747 static const uint8_t nist_186_2_ecdsa_testvector_63_out[] = {
2748 /* R - byte alignment */
2749 	0x00, 0xe7, 0x7d, 0x33, 0x8c, 0x32, 0x41, 0x62, 0x09, 0x89, 0xa4, 0xd1,
2750 	0x78, 0xb8, 0x51, 0xbd, 0x6c, 0x8d, 0xd0, 0x66, 0x70, 0x02, 0xc2, 0xfe,
2751 	0xe6, 0x03, 0xdd, 0x2b, 0xbe, 0xe1, 0x9f, 0x57, 0x2d, 0x2d, 0x47, 0x9c,
2752 	0x63, 0xed, 0x41, 0xee, 0xb9, 0x59, 0x88, 0xcb, 0x8f, 0xaa, 0x91, 0x23,
2753 	0x42, 0xf5, 0x46, 0xf0, 0x44, 0x5e, 0xdb, 0x15, 0x8b, 0x0f, 0x2c, 0x6d,
2754 	0x7a, 0xee, 0x4b, 0x37, 0xa7, 0x41,
2755 /* S - byte alignment */
2756 	0x01, 0x02, 0x39, 0x4e, 0x35, 0x36, 0xa9, 0xd4, 0xc5, 0x9e, 0x8f, 0xfa,
2757 	0x19, 0x45, 0xc0, 0x7b, 0xee, 0xbf, 0x53, 0x5c, 0xd3, 0xea, 0x00, 0x1a,
2758 	0x4c, 0x31, 0x09, 0xd7, 0xdb, 0x6b, 0x11, 0xf3, 0xc8, 0x94, 0x03, 0xc4,
2759 	0x9e, 0x06, 0xd5, 0x0d, 0xb4, 0xaa, 0xa9, 0xe5, 0x2e, 0x32, 0xb9, 0xdd,
2760 	0x4d, 0x3c, 0xf4, 0xfe, 0xdb, 0x5e, 0x72, 0x80, 0x8f, 0xdc, 0x5b, 0x14,
2761 	0xd6, 0xc4, 0xd2, 0x91, 0x9d, 0x96
2762 };
2763 static const uint8_t nist_186_2_ecdsa_testvector_64_ptx[] = {
2764 /* Msg */
2765 	0x05, 0xeb, 0xa7, 0x19, 0xfd, 0x16, 0x2f, 0xa6, 0x27, 0x63, 0x26, 0x67,
2766 	0x34, 0x91, 0xde, 0xb6, 0x23, 0x70, 0x7c, 0x76, 0x5b, 0xa0, 0xa8, 0xf9,
2767 	0xf7, 0x9b, 0x89, 0x21, 0x61, 0xf5, 0xf0, 0xc6, 0x22, 0xe3, 0xd3, 0x58,
2768 	0xf8, 0xfb, 0xfe, 0xc6, 0x29, 0x3a, 0x05, 0x9e, 0x18, 0x4b, 0x7d, 0x75,
2769 	0x16, 0x06, 0x6b, 0x89, 0x7a, 0x38, 0xfd, 0xa5, 0xf4, 0xa2, 0x78, 0x45,
2770 	0x1e, 0x44, 0x72, 0xfb, 0x54, 0xdb, 0x41, 0x11, 0xc6, 0xa8, 0xb3, 0x70,
2771 	0xcb, 0x73, 0x00, 0xc0, 0x79, 0xd0, 0xfc, 0xd1, 0x72, 0xa1, 0x91, 0x3a,
2772 	0x00, 0xdc, 0x6d, 0x40, 0x65, 0x8e, 0xf8, 0xf9, 0x6c, 0x20, 0x89, 0xb1,
2773 	0x44, 0xd9, 0xd9, 0x8c, 0x8e, 0xa5, 0xb8, 0x6d, 0xb5, 0x15, 0xfe, 0x17,
2774 	0x7e, 0xa6, 0xc5, 0x92, 0xe0, 0x46, 0xd5, 0xd1, 0x15, 0x14, 0x60, 0x91,
2775 	0xf1, 0x68, 0xf0, 0x84, 0x73, 0x13, 0x9d, 0xaf
2776 };
2777 static const uint8_t nist_186_2_ecdsa_testvector_64_private[] = {
2778 /* d - byte alignment */
2779 	0x00, 0x5b, 0xb2, 0xc9, 0xf4, 0x51, 0xdd, 0x3e, 0x11, 0x13, 0x03, 0x5b,
2780 	0x8f, 0x8a, 0x2f, 0xb7, 0xc2, 0xa5, 0xa2, 0xdf, 0x96, 0x30, 0x1e, 0x7b,
2781 	0x42, 0xe9, 0xed, 0xf3, 0x65, 0xa9, 0x5e, 0x6e, 0xe6, 0x84, 0xa8, 0xfd,
2782 	0xf1, 0x52, 0x67, 0x2a, 0x7f, 0x1a, 0x0b, 0x2a, 0xda, 0x2f, 0xa3, 0x30,
2783 	0xaa, 0x91, 0x32, 0x99, 0x4d, 0x19, 0x69, 0xdb, 0x57, 0x0a, 0x19, 0x5f,
2784 	0x1e, 0xf1, 0xea, 0xfe, 0x8d, 0x64
2785 };
2786 static const uint8_t nist_186_2_ecdsa_testvector_64_public_x[] = {
2787 /* Qx - byte alignment */
2788 	0x00, 0xe1, 0xd4, 0x25, 0x54, 0xf0, 0x60, 0x16, 0xc2, 0x20, 0x24, 0xa0,
2789 	0x57, 0xa1, 0xb9, 0xe0, 0x6c, 0x6a, 0x42, 0x2a, 0x85, 0x24, 0x2d, 0x7a,
2790 	0xb6, 0x91, 0xc5, 0xf8, 0x78, 0x52, 0x9b, 0x69, 0xbc, 0xed, 0x42, 0x99,
2791 	0x6a, 0x0d, 0xad, 0x50, 0x8b, 0x4d, 0x88, 0x7d, 0x33, 0xa3, 0x23, 0xfa,
2792 	0x09, 0x3a, 0x10, 0x90, 0xe3, 0x17, 0x29, 0x7a, 0xf7, 0x38, 0x60, 0xad,
2793 	0x89, 0x56, 0x3c, 0xa9, 0xd0, 0x2b
2794 };
2795 static const uint8_t nist_186_2_ecdsa_testvector_64_public_y[] = {
2796 /* Qy - byte alignment */
2797 	0x00, 0xbd, 0x54, 0xce, 0x4b, 0x34, 0xbf, 0xd9, 0x1c, 0x23, 0xf2, 0xfe,
2798 	0xfa, 0x19, 0xbb, 0xaf, 0x2b, 0x36, 0x5d, 0x46, 0x43, 0x03, 0x2f, 0x2d,
2799 	0xb0, 0x33, 0x13, 0xae, 0xfd, 0x23, 0x2d, 0xad, 0xef, 0xc3, 0x9a, 0xa9,
2800 	0x67, 0x0f, 0xcc, 0x75, 0xe6, 0xf6, 0x06, 0x1f, 0xab, 0xa6, 0x2f, 0xc3,
2801 	0x8c, 0x67, 0x4a, 0x4a, 0xc8, 0xe8, 0x53, 0x08, 0xd9, 0x6d, 0x2b, 0x97,
2802 	0x6e, 0xe1, 0x72, 0x58, 0x78, 0xa9
2803 };
2804 /* k = 1a4b9f5a4c1b3662863c98ee560364fb046033b6b667ee42334113c661641e826fdcfabfea43ed8142e0a2b63e3d52fb0e5c1d8f5ea89cb756876cda91e58deb803 */
2805 static const uint8_t nist_186_2_ecdsa_testvector_64_out[] = {
2806 /* R - byte alignment */
2807 	0x01, 0xf9, 0x6c, 0xb2, 0x22, 0x15, 0x97, 0xb9, 0x74, 0x36, 0x96, 0xad,
2808 	0x42, 0xde, 0x0e, 0xcf, 0x76, 0x45, 0xc6, 0x3e, 0x49, 0x02, 0x58, 0xc2,
2809 	0xbe, 0xf6, 0xd1, 0x2b, 0xde, 0x51, 0xb7, 0xd1, 0x7e, 0xfb, 0x98, 0xa9,
2810 	0x70, 0x09, 0x03, 0x30, 0x17, 0x0e, 0x80, 0x7f, 0x81, 0x49, 0xf2, 0xb2,
2811 	0x78, 0xff, 0x56, 0x72, 0x36, 0x73, 0xa3, 0x5c, 0x2b, 0xeb, 0xba, 0x13,
2812 	0x0e, 0x19, 0x95, 0x16, 0xa2, 0xf3,
2813 /* S - byte alignment */
2814 	0x00, 0x54, 0xa2, 0xce, 0x36, 0x1b, 0x35, 0x14, 0x27, 0x0d, 0x41, 0x1b,
2815 	0x46, 0xf1, 0xab, 0xa6, 0xbf, 0xd4, 0xc0, 0x82, 0xc1, 0x97, 0xd9, 0xd1,
2816 	0xa9, 0x2c, 0xb0, 0x4a, 0x77, 0x05, 0x0a, 0x2f, 0xa6, 0xe0, 0x99, 0x13,
2817 	0x37, 0xce, 0x28, 0x5d, 0xe1, 0xa1, 0x46, 0x65, 0x00, 0x91, 0x96, 0x9d,
2818 	0x17, 0xbb, 0xe5, 0x89, 0x38, 0x7a, 0x5d, 0x6e, 0x9a, 0x4d, 0x43, 0x2f,
2819 	0x1c, 0xd0, 0xd8, 0x6a, 0x2a, 0x28
2820 };
2821 static const uint8_t nist_186_2_ecdsa_testvector_65_ptx[] = {
2822 /* Msg */
2823 	0x93, 0x47, 0x74, 0x46, 0x34, 0xed, 0x26, 0x81, 0xcd, 0x80, 0x91, 0x0d,
2824 	0xfd, 0xb3, 0xf1, 0x4a, 0x73, 0x08, 0x08, 0xfd, 0xb1, 0x8b, 0x08, 0xa2,
2825 	0x10, 0xc0, 0xb3, 0x04, 0x05, 0xda, 0xc1, 0x0a, 0xa2, 0x2d, 0x82, 0xd4,
2826 	0x60, 0xe6, 0xc4, 0x06, 0x1b, 0xfa, 0xf7, 0x64, 0x5e, 0x5c, 0x8f, 0xa0,
2827 	0xe1, 0x73, 0xaa, 0x6f, 0x50, 0xcb, 0xf3, 0xe2, 0x4e, 0x0b, 0xc6, 0xf4,
2828 	0xba, 0x27, 0x95, 0x60, 0x31, 0xd6, 0x8a, 0xb5, 0xd4, 0x47, 0x6d, 0xab,
2829 	0x4b, 0x0f, 0xc9, 0xb8, 0x0a, 0x67, 0x4a, 0xdf, 0xd2, 0x94, 0x6a, 0xc9,
2830 	0x7b, 0xa6, 0x4c, 0x16, 0xf2, 0x65, 0xe8, 0xf5, 0x7e, 0x89, 0x69, 0xf2,
2831 	0x47, 0x29, 0xd3, 0x10, 0x18, 0x76, 0xe9, 0x18, 0x64, 0xa9, 0x4e, 0x30,
2832 	0x87, 0x3a, 0xea, 0xaf, 0x4f, 0x53, 0x8f, 0x30, 0xbb, 0x84, 0xdd, 0xe6,
2833 	0x02, 0xb8, 0x63, 0x2f, 0xd7, 0x68, 0x06, 0x6b
2834 };
2835 static const uint8_t nist_186_2_ecdsa_testvector_65_private[] = {
2836 /* d - byte alignment */
2837 	0x00, 0x6b, 0x7b, 0xc1, 0x6c, 0xc1, 0x5f, 0xce, 0x1c, 0xc4, 0x63, 0x7e,
2838 	0x7f, 0x1b, 0x9f, 0x98, 0x4c, 0xb7, 0x52, 0x05, 0x45, 0x8d, 0xb7, 0xd1,
2839 	0xb8, 0xb5, 0xab, 0x83, 0xf0, 0x92, 0xa7, 0x08, 0xa5, 0x5b, 0xdd, 0xb5,
2840 	0xb5, 0x02, 0x42, 0x18, 0x26, 0xdf, 0xe3, 0xa3, 0x97, 0x6e, 0x13, 0x44,
2841 	0x91, 0xf5, 0x78, 0x84, 0x23, 0x61, 0x7c, 0xcf, 0x41, 0x8c, 0x33, 0x0d,
2842 	0x5b, 0x53, 0xc4, 0x05, 0x48, 0x57
2843 };
2844 static const uint8_t nist_186_2_ecdsa_testvector_65_public_x[] = {
2845 /* Qx - byte alignment */
2846 	0x01, 0x33, 0x01, 0x27, 0xe2, 0xd1, 0x9c, 0xa0, 0xa2, 0xcb, 0xec, 0xad,
2847 	0xe2, 0xe0, 0x86, 0xcc, 0x91, 0x53, 0xdd, 0xaa, 0xe2, 0x4a, 0xa6, 0xef,
2848 	0x11, 0x1a, 0xc0, 0xa9, 0x9d, 0x82, 0x70, 0x8e, 0x2b, 0x2b, 0x64, 0xd3,
2849 	0x8c, 0x9d, 0xcc, 0x83, 0x3b, 0xb0, 0x91, 0xd3, 0x9e, 0x2a, 0xff, 0x69,
2850 	0xca, 0xc6, 0x0b, 0x2a, 0x2b, 0x49, 0x05, 0x20, 0x44, 0xb2, 0xc7, 0xbf,
2851 	0x09, 0x34, 0xe9, 0xf2, 0x21, 0x17
2852 };
2853 static const uint8_t nist_186_2_ecdsa_testvector_65_public_y[] = {
2854 /* Qy - byte alignment */
2855 	0x01, 0x7e, 0x82, 0xf5, 0xfa, 0x31, 0xed, 0xa6, 0x9c, 0x1b, 0x78, 0xbf,
2856 	0x9a, 0xd8, 0x08, 0x20, 0xfd, 0x47, 0x0a, 0x77, 0xf7, 0x73, 0xb0, 0xd4,
2857 	0xde, 0x4e, 0x35, 0xc8, 0x50, 0x45, 0x40, 0x43, 0x4f, 0x2d, 0x50, 0x48,
2858 	0xc9, 0x2d, 0xf6, 0x39, 0xf0, 0xf3, 0x50, 0x4c, 0x0b, 0x24, 0xa1, 0xa9,
2859 	0xbe, 0x08, 0xf6, 0x6a, 0xa1, 0xe9, 0x21, 0x8a, 0x95, 0xc9, 0x29, 0x91,
2860 	0x51, 0x58, 0xc4, 0x56, 0x3b, 0xc9
2861 };
2862 /* k = 0fc6c339a31bed7d3c4a86424c3c1b2aa5dabc5b570c00d69b01429950636ce7a7b1a22d02a185a6fcc3b87c06a27399b4bfd94fb31d8acd731eb2716d66eefc563 */
2863 static const uint8_t nist_186_2_ecdsa_testvector_65_out[] = {
2864 /* R - byte alignment */
2865 	0x01, 0x50, 0x5b, 0x84, 0x34, 0x60, 0x26, 0x6a, 0xff, 0xb1, 0x30, 0x39,
2866 	0x72, 0x79, 0x47, 0x7c, 0xd1, 0x92, 0x03, 0x93, 0xa4, 0xd7, 0x80, 0x08,
2867 	0xb1, 0xf1, 0x1b, 0xff, 0x53, 0xb4, 0x6b, 0x0d, 0xf0, 0x5c, 0x78, 0x3d,
2868 	0xae, 0x9a, 0x49, 0x4a, 0xa1, 0x2e, 0x48, 0xb6, 0xfd, 0x86, 0x71, 0xc2,
2869 	0xd5, 0x8d, 0x86, 0x12, 0xce, 0x01, 0x9d, 0x94, 0xf0, 0x8e, 0xd8, 0xed,
2870 	0x40, 0x31, 0x7d, 0x14, 0xda, 0xc7,
2871 /* S - byte alignment */
2872 	0x00, 0x35, 0x99, 0x8e, 0xbb, 0x40, 0x50, 0x2b, 0xae, 0xb5, 0xec, 0x86,
2873 	0xbc, 0xde, 0x04, 0x63, 0xd7, 0xcc, 0x95, 0x97, 0xd0, 0xae, 0x17, 0xe6,
2874 	0x48, 0x91, 0x68, 0x00, 0x49, 0xef, 0xe3, 0x9b, 0xa4, 0x6d, 0x87, 0x42,
2875 	0x5a, 0xcf, 0x47, 0xf1, 0x62, 0x23, 0x65, 0x97, 0x5e, 0xa7, 0x96, 0x88,
2876 	0x05, 0xe7, 0xd0, 0x8a, 0xeb, 0x3c, 0x30, 0x77, 0x92, 0xcd, 0xd1, 0x30,
2877 	0xce, 0x3b, 0xf4, 0x2e, 0x13, 0x48
2878 };
2879 static const uint8_t nist_186_2_ecdsa_testvector_66_ptx[] = {
2880 /* Msg */
2881 	0xc3, 0xeb, 0xab, 0xf4, 0xef, 0x29, 0xe3, 0xb0, 0xce, 0x98, 0xbd, 0xf2,
2882 	0xd2, 0x69, 0xef, 0xab, 0xfc, 0x2f, 0x13, 0x1b, 0x59, 0x4f, 0x4d, 0xe6,
2883 	0xcd, 0xb1, 0x2d, 0x6b, 0x0f, 0xbc, 0xd7, 0x51, 0xf5, 0x82, 0x61, 0x62,
2884 	0xf2, 0x37, 0x7c, 0x9d, 0xdd, 0xe8, 0x57, 0x86, 0xf3, 0x69, 0xc0, 0xc1,
2885 	0x20, 0x90, 0x8d, 0xdf, 0x7a, 0xa0, 0x3a, 0x78, 0x0e, 0x08, 0xd3, 0x7a,
2886 	0xe0, 0x4e, 0x14, 0xc0, 0x2d, 0x46, 0xd0, 0xe7, 0xf3, 0x87, 0x8f, 0x5d,
2887 	0xb4, 0x1f, 0x7b, 0xba, 0x76, 0x86, 0x7d, 0x54, 0x0e, 0xd1, 0xa3, 0x0d,
2888 	0x9e, 0x28, 0xc5, 0x70, 0x5d, 0x7a, 0x68, 0xfd, 0x96, 0x6f, 0xe2, 0xc0,
2889 	0xf4, 0x9f, 0xbf, 0x29, 0xfc, 0x01, 0x64, 0x17, 0xdb, 0xa6, 0xf2, 0x36,
2890 	0x62, 0xa7, 0x6d, 0x8b, 0x4f, 0x5c, 0x1e, 0x4d, 0xce, 0xce, 0x35, 0xf7,
2891 	0x3f, 0x6f, 0xb3, 0x9b, 0x3a, 0x09, 0x87, 0x79
2892 };
2893 static const uint8_t nist_186_2_ecdsa_testvector_66_private[] = {
2894 /* d - byte alignment */
2895 	0x01, 0x8e, 0x5c, 0xe7, 0x41, 0x9e, 0x51, 0x18, 0xe7, 0x15, 0xd7, 0x37,
2896 	0xb1, 0xee, 0x69, 0x7b, 0x46, 0xb8, 0x97, 0x04, 0xd9, 0xc2, 0x45, 0xb2,
2897 	0x51, 0xa2, 0x56, 0xd4, 0xda, 0x2a, 0xdb, 0xe4, 0x70, 0xba, 0x31, 0xe1,
2898 	0x0e, 0x5a, 0xca, 0x41, 0x06, 0xa2, 0xb9, 0x90, 0x27, 0x2f, 0xc5, 0x26,
2899 	0xd0, 0xdf, 0xf0, 0x05, 0x45, 0xa3, 0x78, 0xb8, 0x45, 0x86, 0x55, 0x3e,
2900 	0xe2, 0xa6, 0x39, 0xb6, 0xd0, 0xd5
2901 };
2902 static const uint8_t nist_186_2_ecdsa_testvector_66_public_x[] = {
2903 /* Qx - byte alignment */
2904 	0x01, 0x2b, 0x13, 0xbc, 0xae, 0xc1, 0x0e, 0x9b, 0x4b, 0xd4, 0x37, 0x6e,
2905 	0xbc, 0x54, 0x13, 0xbe, 0xb7, 0x42, 0x65, 0xa8, 0x39, 0xc8, 0xcd, 0x84,
2906 	0x0e, 0x42, 0x39, 0x3f, 0xf2, 0x8c, 0xca, 0x74, 0xca, 0xb3, 0xdc, 0x24,
2907 	0x35, 0xfd, 0x20, 0x9a, 0xb9, 0xd6, 0x14, 0xa5, 0xaf, 0x71, 0x56, 0x37,
2908 	0x2f, 0x86, 0xfc, 0x78, 0x44, 0x65, 0xd3, 0x8c, 0x12, 0xa4, 0x04, 0x22,
2909 	0x55, 0x91, 0xf3, 0xf2, 0x19, 0x96
2910 };
2911 static const uint8_t nist_186_2_ecdsa_testvector_66_public_y[] = {
2912 /* Qy - byte alignment */
2913 	0x01, 0x41, 0xfc, 0x89, 0x51, 0x69, 0xd2, 0x5f, 0x33, 0x73, 0x16, 0x1d,
2914 	0x77, 0x8b, 0x29, 0xca, 0x13, 0x80, 0x0e, 0x41, 0x1c, 0x21, 0x55, 0x2e,
2915 	0xb7, 0x80, 0xfe, 0x32, 0xc8, 0x67, 0x6b, 0x5b, 0xcb, 0xbc, 0x88, 0x2d,
2916 	0x25, 0xc0, 0xaa, 0x59, 0x8b, 0xe4, 0x70, 0x22, 0x42, 0x2d, 0x71, 0xb1,
2917 	0x8f, 0x0c, 0x24, 0xe2, 0xa1, 0x98, 0x61, 0x5e, 0x7e, 0xda, 0xcb, 0x12,
2918 	0xd1, 0x68, 0xf4, 0x39, 0x1a, 0x5d
2919 };
2920 /* k = 00cb71ea593cb7804c2848be95d3ad3dbf04f9da524b1f0f98c92137b861baa8de20ef6ce6089ab2a6f79c6e76c92f6ededac1d2bb9dbd929cb9d4952f1ff3b4ec7 */
2921 static const uint8_t nist_186_2_ecdsa_testvector_66_out[] = {
2922 /* R - byte alignment */
2923 	0x00, 0x7b, 0x89, 0x81, 0x5a, 0xfd, 0x85, 0x08, 0x60, 0xf8, 0xd1, 0x96,
2924 	0x35, 0x4d, 0x73, 0xe5, 0x0c, 0x76, 0x1c, 0xb5, 0xb8, 0x32, 0x31, 0xa2,
2925 	0x94, 0x65, 0x5e, 0x20, 0xc8, 0x1a, 0xe3, 0x82, 0x13, 0xc3, 0x33, 0x7b,
2926 	0x45, 0x0e, 0x05, 0x3d, 0x7b, 0xf0, 0x2a, 0xca, 0x6f, 0x31, 0x35, 0xe6,
2927 	0x95, 0x70, 0x4c, 0xc3, 0x37, 0x18, 0x84, 0x71, 0x29, 0xba, 0xb6, 0xb5,
2928 	0x41, 0xad, 0x11, 0x3c, 0xf7, 0xeb,
2929 /* S - byte alignment */
2930 	0x01, 0x31, 0xf6, 0x79, 0x2c, 0x60, 0x83, 0x00, 0xd4, 0x20, 0x66, 0xc8,
2931 	0x6c, 0xa8, 0x91, 0x5a, 0xf8, 0x0e, 0x16, 0x75, 0xcd, 0xa7, 0xe0, 0xf3,
2932 	0x06, 0x49, 0xe4, 0xbd, 0x08, 0x33, 0xef, 0x6f, 0x58, 0xb3, 0xc0, 0xa5,
2933 	0xb3, 0x19, 0x53, 0x65, 0xf5, 0x83, 0x59, 0x33, 0xf5, 0xa4, 0x54, 0x92,
2934 	0xca, 0x3a, 0x8f, 0x70, 0x32, 0x89, 0x7e, 0x2d, 0x0f, 0xfc, 0xc8, 0x44,
2935 	0x1d, 0x5c, 0x44, 0x3d, 0xea, 0xd1
2936 };
2937 static const uint8_t nist_186_2_ecdsa_testvector_67_ptx[] = {
2938 /* Msg */
2939 	0xce, 0xb5, 0x5a, 0x4a, 0x0e, 0x78, 0xc5, 0x32, 0x22, 0x1c, 0x82, 0x43,
2940 	0x58, 0x7e, 0x88, 0xe9, 0x7b, 0x14, 0x08, 0xe3, 0x60, 0x2e, 0xa0, 0xa4,
2941 	0xbc, 0x7c, 0xd3, 0xf9, 0x38, 0xd1, 0xb6, 0xed, 0xc8, 0x26, 0xeb, 0xea,
2942 	0x38, 0xe2, 0xd3, 0x20, 0x08, 0x59, 0x00, 0x2a, 0x79, 0x92, 0xe9, 0xef,
2943 	0xe8, 0x4d, 0xe2, 0xc7, 0x5b, 0x44, 0x4b, 0xe0, 0x5a, 0xb2, 0x07, 0xdf,
2944 	0x00, 0x12, 0x30, 0xca, 0x51, 0x29, 0x08, 0x25, 0xce, 0x46, 0x33, 0x5b,
2945 	0x47, 0xc9, 0x24, 0x60, 0xf1, 0xe2, 0xd6, 0x95, 0xb8, 0x9b, 0xbc, 0xec,
2946 	0xd6, 0x19, 0xfa, 0x4c, 0xa5, 0x1e, 0xd5, 0x37, 0xb1, 0xd3, 0x68, 0xaa,
2947 	0x12, 0xc5, 0x99, 0x44, 0xf9, 0x2d, 0x4c, 0xab, 0x88, 0x74, 0xd7, 0x2c,
2948 	0xe7, 0xf6, 0xb5, 0xa1, 0x94, 0x07, 0x7e, 0x98, 0xfa, 0x33, 0x16, 0xb1,
2949 	0x46, 0xca, 0x25, 0x48, 0x76, 0x9d, 0xc8, 0x54
2950 };
2951 static const uint8_t nist_186_2_ecdsa_testvector_67_private[] = {
2952 /* d - byte alignment */
2953 	0x00, 0x52, 0x06, 0x28, 0x11, 0x2a, 0x15, 0xad, 0x5f, 0xe4, 0xd9, 0x00,
2954 	0xce, 0x73, 0xb0, 0x6a, 0xea, 0x1d, 0x91, 0x45, 0xca, 0x9c, 0x6c, 0x0b,
2955 	0x77, 0xc0, 0x19, 0xc1, 0xc3, 0x23, 0x58, 0x05, 0xab, 0xd3, 0x27, 0x50,
2956 	0x7b, 0x10, 0x67, 0x82, 0xf7, 0xcb, 0x90, 0xdc, 0xa0, 0xb6, 0xdf, 0xe1,
2957 	0xa9, 0x9e, 0xc7, 0xeb, 0x77, 0xfe, 0x6b, 0x54, 0x8b, 0xa9, 0x8d, 0x5b,
2958 	0x91, 0x14, 0x11, 0x54, 0x0f, 0x02
2959 };
2960 static const uint8_t nist_186_2_ecdsa_testvector_67_public_x[] = {
2961 /* Qx - byte alignment */
2962 	0x00, 0xc6, 0xca, 0x7d, 0x88, 0xf5, 0xcd, 0x5a, 0xd1, 0xd1, 0xfc, 0xdc,
2963 	0x4d, 0x5c, 0x10, 0x87, 0x7a, 0x9f, 0x5b, 0xd5, 0x18, 0xb4, 0x53, 0x23,
2964 	0x4b, 0x40, 0x2b, 0xcf, 0x9e, 0x16, 0x25, 0x67, 0xa7, 0xc6, 0xb0, 0x47,
2965 	0x7b, 0x72, 0xc2, 0x7e, 0xbb, 0x79, 0xa4, 0x25, 0x6e, 0xb3, 0xdf, 0x6b,
2966 	0x89, 0xe7, 0xc6, 0xc5, 0x00, 0x19, 0x4b, 0x91, 0x7e, 0xc0, 0xcf, 0xdb,
2967 	0x8d, 0xb5, 0x23, 0x24, 0x97, 0xfe
2968 };
2969 static const uint8_t nist_186_2_ecdsa_testvector_67_public_y[] = {
2970 /* Qy - byte alignment */
2971 	0x01, 0xe7, 0x06, 0xe7, 0xc6, 0xb9, 0xee, 0x85, 0xa9, 0xf7, 0xf8, 0xe5,
2972 	0x15, 0xa3, 0xa4, 0x04, 0xe0, 0x11, 0xf8, 0xcc, 0x1e, 0x92, 0x0c, 0x59,
2973 	0xb0, 0xf6, 0x57, 0xd7, 0x95, 0x21, 0x2f, 0x01, 0x97, 0x5b, 0x1e, 0xc8,
2974 	0x06, 0x5a, 0xb1, 0xc3, 0xcf, 0x6f, 0xd9, 0x2d, 0x12, 0xeb, 0x2f, 0x54,
2975 	0x6f, 0xa1, 0xb0, 0xb2, 0x95, 0xb1, 0xd9, 0x70, 0xf5, 0x52, 0xfc, 0x3f,
2976 	0x8d, 0xa0, 0xd2, 0x15, 0x18, 0xd3
2977 };
2978 /* k = 0787b4a2f40954128fd6463a4a67d79dc042c3ac99c2836e2342449c81eff65ad6175c077a5b748e6235101b6ab7cd15cd7af27fc73018c3b447409ff535f6396a1 */
2979 static const uint8_t nist_186_2_ecdsa_testvector_67_out[] = {
2980 /* R - byte alignment */
2981 	0x01, 0x45, 0x56, 0xd7, 0x5f, 0xf5, 0x41, 0xb9, 0x15, 0xc5, 0x85, 0xd8,
2982 	0x0f, 0xed, 0xc1, 0x78, 0x16, 0x72, 0xce, 0x63, 0xdf, 0x34, 0x77, 0x7a,
2983 	0x4a, 0x37, 0x39, 0xc1, 0xe6, 0x6d, 0x41, 0x2f, 0xd7, 0xa2, 0x8b, 0x5b,
2984 	0x02, 0x9f, 0x68, 0x67, 0xd9, 0x4f, 0xf0, 0xd1, 0x3e, 0xa5, 0xa1, 0x71,
2985 	0x27, 0xd9, 0x38, 0x95, 0xd8, 0x73, 0x81, 0x46, 0x61, 0x10, 0x50, 0x9f,
2986 	0x36, 0x9d, 0x15, 0xf5, 0x99, 0xea,
2987 /* S - byte alignment */
2988 	0x00, 0xd9, 0xce, 0xd8, 0x28, 0xd8, 0xda, 0xb1, 0x25, 0x28, 0x98, 0x93,
2989 	0x27, 0x6b, 0xed, 0xa8, 0xda, 0xa4, 0x66, 0x0d, 0x2f, 0xf8, 0xa3, 0xf1,
2990 	0x57, 0xb1, 0xb6, 0x16, 0xd1, 0x8e, 0x4a, 0x79, 0x83, 0xc7, 0xb8, 0xf8,
2991 	0x79, 0xe4, 0x23, 0xbf, 0xac, 0x39, 0x90, 0x90, 0x5f, 0x84, 0xf1, 0xc9,
2992 	0x07, 0x9e, 0x23, 0x99, 0xdf, 0x5f, 0x4f, 0x1d, 0xa9, 0x47, 0xb2, 0x2a,
2993 	0xf8, 0xe0, 0xed, 0x0a, 0x68, 0xf1
2994 };
2995 static const uint8_t nist_186_2_ecdsa_testvector_68_ptx[] = {
2996 /* Msg */
2997 	0x74, 0x53, 0x54, 0x64, 0x27, 0x79, 0x68, 0xda, 0xf4, 0xc7, 0x97, 0x3f,
2998 	0x30, 0x14, 0xee, 0xbd, 0x6d, 0x76, 0xbc, 0xb7, 0x93, 0x06, 0x46, 0xad,
2999 	0x33, 0xe3, 0xbc, 0x60, 0x17, 0x7a, 0x6c, 0x37, 0x1e, 0x04, 0x36, 0xe2,
3000 	0x47, 0x4f, 0x40, 0x3d, 0x0b, 0xc2, 0xeb, 0x77, 0xf0, 0x9c, 0x05, 0x73,
3001 	0x5b, 0x7c, 0x40, 0x6e, 0xa5, 0x26, 0xe2, 0xe3, 0x72, 0x84, 0xbf, 0xab,
3002 	0x3e, 0xeb, 0x64, 0x69, 0x39, 0xa0, 0x96, 0x25, 0x55, 0x9b, 0xfb, 0x37,
3003 	0x9d, 0x8a, 0x16, 0x67, 0xc8, 0x19, 0x79, 0x52, 0x0e, 0x71, 0x35, 0x10,
3004 	0x3a, 0xfe, 0x96, 0x13, 0x01, 0x76, 0x0d, 0x52, 0x92, 0x17, 0x6e, 0xa7,
3005 	0x6e, 0x30, 0x5b, 0x76, 0x7a, 0xe2, 0x00, 0x90, 0x52, 0x28, 0x02, 0x57,
3006 	0xe1, 0x15, 0xb1, 0x22, 0x2f, 0x5d, 0x85, 0xe3, 0x79, 0x17, 0xc8, 0x07,
3007 	0x87, 0xc1, 0x90, 0x9d, 0x3a, 0x85, 0xf0, 0xbb
3008 };
3009 static const uint8_t nist_186_2_ecdsa_testvector_68_private[] = {
3010 /* d - byte alignment */
3011 	0x00, 0xef, 0xe1, 0xf5, 0x92, 0x83, 0xcf, 0xef, 0x65, 0xc8, 0x4b, 0x0d,
3012 	0xe9, 0x46, 0x93, 0xd2, 0x99, 0xd9, 0x81, 0x34, 0x08, 0x8f, 0xf1, 0xc1,
3013 	0x9b, 0x3d, 0xfd, 0xac, 0x78, 0x95, 0x01, 0x32, 0x75, 0xfb, 0x4e, 0xa4,
3014 	0xc3, 0x45, 0xe7, 0x8e, 0xf5, 0x39, 0x4d, 0x8e, 0x2f, 0xb1, 0x0f, 0xa6,
3015 	0xf7, 0xe7, 0xd1, 0x86, 0xa7, 0xaa, 0xfe, 0x38, 0x20, 0x6d, 0xd7, 0xf3,
3016 	0xe3, 0x36, 0x05, 0x17, 0x36, 0x0f
3017 };
3018 static const uint8_t nist_186_2_ecdsa_testvector_68_public_x[] = {
3019 /* Qx - byte alignment */
3020 	0x00, 0xc0, 0x39, 0xc9, 0x86, 0xf5, 0xd7, 0x1b, 0xae, 0x5a, 0x15, 0x79,
3021 	0x86, 0xfd, 0x80, 0xed, 0xd5, 0x0c, 0xa1, 0x5a, 0x0a, 0xc0, 0x00, 0xd4,
3022 	0x15, 0x30, 0xb8, 0xb0, 0xf3, 0xd9, 0xd8, 0x81, 0x9f, 0x64, 0xee, 0xde,
3023 	0xa9, 0x1c, 0xd8, 0xf0, 0x0d, 0xb1, 0x93, 0x1e, 0x53, 0xe0, 0x6c, 0xb5,
3024 	0x34, 0x4b, 0x82, 0xc6, 0x92, 0xf8, 0x73, 0x11, 0xcf, 0xb1, 0xc4, 0x7d,
3025 	0xc7, 0x31, 0x8c, 0x06, 0x13, 0x8f
3026 };
3027 static const uint8_t nist_186_2_ecdsa_testvector_68_public_y[] = {
3028 /* Qy - byte alignment */
3029 	0x01, 0x3b, 0x17, 0xf8, 0x33, 0xfe, 0x30, 0xce, 0xce, 0x8c, 0xa5, 0x45,
3030 	0x48, 0xb5, 0x31, 0xf9, 0x4f, 0xba, 0x92, 0x09, 0x15, 0x69, 0xa3, 0x2f,
3031 	0x68, 0x11, 0xe2, 0x31, 0x5d, 0x8b, 0x0f, 0xc6, 0x4a, 0x62, 0xf4, 0x32,
3032 	0xac, 0x0f, 0xd5, 0x42, 0x77, 0xf8, 0x19, 0x63, 0xf2, 0xb2, 0x9c, 0x13,
3033 	0x11, 0x07, 0x75, 0xda, 0x93, 0xea, 0xa0, 0x3a, 0x31, 0xcd, 0xd3, 0x1d,
3034 	0xd0, 0x39, 0x20, 0x47, 0xd4, 0x3a
3035 };
3036 /* k = 17eaddf16a30e150adace9e1f3284f5ef34c0deb8f819c388e9a27fa091d2e3a1098cedf0a0cc7d3b245ca722b1acd347997961d9a2dc60fe96bda520aad4d2a8eb */
3037 static const uint8_t nist_186_2_ecdsa_testvector_68_out[] = {
3038 /* R - byte alignment */
3039 	0x01, 0xaf, 0xb0, 0x93, 0x6e, 0x04, 0x23, 0x5b, 0xcd, 0xf2, 0x77, 0x42,
3040 	0x06, 0x70, 0x35, 0xa4, 0xff, 0x67, 0x3a, 0x0d, 0xe8, 0xff, 0xbb, 0x12,
3041 	0x59, 0xcd, 0x61, 0xab, 0x07, 0xee, 0xf0, 0x85, 0xb9, 0x9d, 0x76, 0xe1,
3042 	0x1b, 0x3c, 0xca, 0x16, 0x97, 0xbf, 0x93, 0xd7, 0x3b, 0x3a, 0x72, 0xe8,
3043 	0xa0, 0x0c, 0x61, 0xae, 0x66, 0xea, 0xe9, 0x6c, 0x95, 0x1a, 0xd0, 0xb7,
3044 	0xfe, 0x8e, 0xf6, 0x70, 0xb2, 0xe0,
3045 /* S - byte alignment */
3046 	0x01, 0x01, 0xce, 0x08, 0xad, 0x3c, 0xec, 0xec, 0x9e, 0x5c, 0x42, 0x6b,
3047 	0xf0, 0x0b, 0xc9, 0x9e, 0x2e, 0x47, 0x14, 0x91, 0xb3, 0x41, 0xe9, 0xac,
3048 	0x6d, 0xe2, 0x0c, 0xa8, 0xf0, 0xd3, 0x32, 0xc0, 0x9c, 0x36, 0xb5, 0x6a,
3049 	0xb0, 0x59, 0x18, 0xf5, 0xdd, 0x0d, 0x16, 0x8a, 0xca, 0xb6, 0xc3, 0x19,
3050 	0xcf, 0x14, 0x61, 0xfb, 0x61, 0xf8, 0xcc, 0x33, 0xfb, 0x96, 0x1e, 0x0a,
3051 	0xa6, 0x68, 0x84, 0xce, 0xce, 0x30
3052 };
3053 static const uint8_t nist_186_2_ecdsa_testvector_69_ptx[] = {
3054 /* Msg */
3055 	0x07, 0xe3, 0xc8, 0x9d, 0xc3, 0xd1, 0xd8, 0x20, 0x5b, 0xe4, 0x4b, 0xfd,
3056 	0x63, 0x32, 0x77, 0x82, 0xff, 0x1b, 0xc2, 0xc8, 0xf7, 0x17, 0x5c, 0x92,
3057 	0x0e, 0xb2, 0x2e, 0x77, 0x90, 0xd4, 0x0d, 0x44, 0x2b, 0x46, 0x34, 0x9c,
3058 	0xff, 0x72, 0xf1, 0xe1, 0xf8, 0x6a, 0x9e, 0x58, 0x5c, 0x2c, 0xd3, 0x87,
3059 	0xa0, 0x25, 0xda, 0xe2, 0x80, 0xf3, 0x63, 0xa7, 0x4f, 0x6f, 0x79, 0x07,
3060 	0x8b, 0xeb, 0xb5, 0x86, 0xb4, 0xb8, 0xb2, 0xa4, 0x5e, 0xec, 0xc0, 0xbd,
3061 	0x86, 0x61, 0xdd, 0x2e, 0x22, 0x01, 0xe1, 0xb9, 0xfb, 0x41, 0xf8, 0x2b,
3062 	0xbf, 0xec, 0x55, 0x3b, 0x52, 0x22, 0x25, 0xb6, 0x66, 0xa0, 0xc2, 0xd9,
3063 	0x4b, 0x42, 0x2a, 0xfe, 0x08, 0xc5, 0xaf, 0x7c, 0xaa, 0xd2, 0xf0, 0xc8,
3064 	0xdc, 0x38, 0x07, 0xe0, 0xb8, 0x7a, 0x04, 0xe9, 0xdd, 0x89, 0x9b, 0x16,
3065 	0xc2, 0xd2, 0x19, 0xcd, 0x4a, 0x7b, 0x9c, 0x05
3066 };
3067 static const uint8_t nist_186_2_ecdsa_testvector_69_private[] = {
3068 /* d - byte alignment */
3069 	0x01, 0xdf, 0xf5, 0x6f, 0x8c, 0x4d, 0xa7, 0x8f, 0x84, 0x5c, 0x1d, 0xd7,
3070 	0x60, 0xc7, 0x87, 0x3f, 0x2d, 0x6f, 0x86, 0x61, 0x3a, 0x59, 0x01, 0x66,
3071 	0x6f, 0x57, 0x99, 0x8a, 0x59, 0xd0, 0xfa, 0x64, 0x5c, 0xc9, 0xa1, 0xab,
3072 	0x38, 0x8f, 0x6f, 0x99, 0xfa, 0xef, 0x83, 0xdb, 0x24, 0xc0, 0x19, 0xac,
3073 	0x83, 0xaa, 0xc6, 0xee, 0x44, 0x60, 0xe4, 0xfb, 0x83, 0x71, 0x8d, 0xf0,
3074 	0x92, 0x26, 0x03, 0x3d, 0x7a, 0xd6
3075 };
3076 static const uint8_t nist_186_2_ecdsa_testvector_69_public_x[] = {
3077 /* Qx - byte alignment */
3078 	0x01, 0x1b, 0xda, 0x77, 0x68, 0x21, 0x8b, 0x82, 0xec, 0xb8, 0xb1, 0xbf,
3079 	0x1f, 0x08, 0x2a, 0xc5, 0x7d, 0x14, 0x6a, 0x36, 0x71, 0x54, 0x0d, 0x20,
3080 	0x0e, 0xe4, 0xa2, 0x9b, 0x5b, 0x01, 0xfd, 0x6f, 0xb7, 0xf4, 0x64, 0x48,
3081 	0xaa, 0x46, 0xf6, 0x40, 0xa6, 0xcc, 0x36, 0x31, 0x9e, 0x62, 0x37, 0xa0,
3082 	0xfe, 0x26, 0xbf, 0x8a, 0x0c, 0x5b, 0xd6, 0xd1, 0x4d, 0xa1, 0x0c, 0xee,
3083 	0x4b, 0x4d, 0x24, 0x66, 0x12, 0xf8
3084 };
3085 static const uint8_t nist_186_2_ecdsa_testvector_69_public_y[] = {
3086 /* Qy - byte alignment */
3087 	0x00, 0x2b, 0xbd, 0x5c, 0x3d, 0x13, 0x92, 0xe4, 0x61, 0x6d, 0x8d, 0xf0,
3088 	0x85, 0x6e, 0x18, 0xfe, 0xb9, 0x5c, 0xe5, 0xbd, 0x37, 0x3b, 0x3a, 0x04,
3089 	0x1f, 0x48, 0x52, 0x00, 0x62, 0x8c, 0x20, 0xe4, 0x2a, 0xbc, 0xa5, 0x9f,
3090 	0xd0, 0xdd, 0x93, 0x6c, 0x64, 0x3d, 0xc2, 0xdc, 0xd8, 0xb5, 0xd9, 0x33,
3091 	0x14, 0x75, 0x6e, 0xec, 0x63, 0xdd, 0x01, 0x37, 0xbf, 0x61, 0xbf, 0x2f,
3092 	0xca, 0xd1, 0xa0, 0x6b, 0x45, 0x80
3093 };
3094 /* k = 04a8d24aa509b9aa0515920528b86ec50bee63a3e852d162f0723e83f744c6de3adf95c7aebeff779938259db3089d4df3a14315b811e07a2f451c7183588b8cfb5 */
3095 static const uint8_t nist_186_2_ecdsa_testvector_69_out[] = {
3096 /* R - byte alignment */
3097 	0x01, 0xce, 0x49, 0xa1, 0x10, 0xb5, 0x7e, 0xf3, 0x61, 0x04, 0x95, 0x31,
3098 	0x84, 0xba, 0x30, 0x3d, 0xc4, 0xf6, 0xf1, 0xbe, 0xa3, 0x86, 0x73, 0x57,
3099 	0xb5, 0x7b, 0x07, 0x3d, 0x2c, 0xfc, 0x6c, 0xeb, 0xb6, 0xb3, 0xf5, 0xd0,
3100 	0x7b, 0x3b, 0xcc, 0x21, 0xc4, 0x39, 0x81, 0x08, 0xb4, 0xf0, 0xe2, 0xf4,
3101 	0xab, 0x77, 0xaf, 0xe6, 0x01, 0xbd, 0xdf, 0x33, 0x11, 0x55, 0x8f, 0x99,
3102 	0x12, 0x33, 0x29, 0xf2, 0x73, 0xa9,
3103 /* S - byte alignment */
3104 	0x00, 0xdb, 0xe7, 0xba, 0xb4, 0x9e, 0xe2, 0x6f, 0x51, 0xc2, 0xe8, 0x60,
3105 	0x90, 0x7e, 0xc2, 0x19, 0x47, 0x65, 0x00, 0x5b, 0xad, 0x98, 0xb0, 0x9b,
3106 	0x68, 0x9f, 0xc5, 0x8e, 0x22, 0x7f, 0xf6, 0x1e, 0x8e, 0xb2, 0x9b, 0x79,
3107 	0xa5, 0xc5, 0x4f, 0x54, 0x47, 0xe9, 0x33, 0xa7, 0x18, 0x02, 0x56, 0x45,
3108 	0xd9, 0x15, 0x61, 0x06, 0xdc, 0x7b, 0x3d, 0x43, 0x33, 0xf3, 0xa6, 0xe0,
3109 	0x67, 0x0e, 0x73, 0xc7, 0x7a, 0x15
3110 };
3111 static const uint8_t nist_186_2_ecdsa_testvector_70_ptx[] = {
3112 /* Msg */
3113 	0xd4, 0xa6, 0x50, 0x9f, 0xbe, 0x6f, 0x9b, 0x0d, 0xcd, 0x7a, 0x1b, 0xed,
3114 	0x45, 0x02, 0xea, 0x86, 0xa4, 0xa6, 0x00, 0x82, 0x3d, 0x77, 0xf6, 0x9f,
3115 	0x23, 0x50, 0x10, 0xa7, 0x48, 0x66, 0x7b, 0xa2, 0xe6, 0x1f, 0xd3, 0x4a,
3116 	0x1e, 0x28, 0xe9, 0xbf, 0xe0, 0xc2, 0xc2, 0x7c, 0x0a, 0x5c, 0xe3, 0x8a,
3117 	0xd4, 0x67, 0xcb, 0xf3, 0x6b, 0x66, 0xc2, 0x7a, 0xdc, 0x44, 0xd1, 0x89,
3118 	0x34, 0xeb, 0x12, 0x6b, 0xe5, 0x12, 0x2a, 0xbb, 0x6c, 0x56, 0x13, 0x1d,
3119 	0x31, 0x8d, 0x1f, 0x2c, 0xaf, 0x57, 0x39, 0xb3, 0xd4, 0xf5, 0x6e, 0x1f,
3120 	0xab, 0x5f, 0xad, 0x34, 0x38, 0x90, 0xcb, 0x00, 0xa4, 0x25, 0xca, 0x0d,
3121 	0x9a, 0x26, 0x5b, 0xdb, 0xf0, 0x24, 0xa1, 0x8d, 0x8a, 0x84, 0x38, 0xe3,
3122 	0x7b, 0x1a, 0x76, 0x68, 0x6e, 0xfa, 0xf1, 0xed, 0x45, 0x8a, 0x41, 0x35,
3123 	0xff, 0xdc, 0x07, 0xf2, 0xdf, 0x3b, 0x2e, 0xf0
3124 };
3125 static const uint8_t nist_186_2_ecdsa_testvector_70_private[] = {
3126 /* d - byte alignment */
3127 	0x01, 0x5f, 0x5a, 0x6d, 0x61, 0xc0, 0x66, 0xe7, 0x4c, 0xfd, 0x41, 0xf7,
3128 	0xa9, 0x45, 0xc7, 0x1e, 0xc0, 0x8d, 0x5c, 0x99, 0xdc, 0xe3, 0x58, 0x54,
3129 	0x6e, 0x5a, 0x17, 0xfa, 0xca, 0xe5, 0xd6, 0x57, 0xff, 0x27, 0xd0, 0x20,
3130 	0x45, 0x66, 0xb2, 0x9d, 0x78, 0x27, 0x5d, 0x67, 0x38, 0x43, 0x38, 0xb7,
3131 	0x7d, 0xb6, 0x1d, 0x60, 0x2a, 0x99, 0x72, 0x09, 0x61, 0xc3, 0xe7, 0xb0,
3132 	0x86, 0x81, 0xff, 0x31, 0xba, 0xe6
3133 };
3134 static const uint8_t nist_186_2_ecdsa_testvector_70_public_x[] = {
3135 /* Qx - byte alignment */
3136 	0x00, 0xf4, 0x20, 0x22, 0x85, 0x12, 0xec, 0x74, 0xa1, 0x45, 0xd4, 0x72,
3137 	0xc4, 0x13, 0x94, 0x8c, 0x4a, 0x6d, 0xbf, 0xfb, 0x42, 0x01, 0x4d, 0x35,
3138 	0x9a, 0x31, 0x5e, 0x8c, 0x85, 0xa1, 0x82, 0xd0, 0x11, 0xd8, 0x08, 0x03,
3139 	0xd9, 0x07, 0xe0, 0x71, 0x47, 0xa7, 0x8a, 0x2e, 0x86, 0x2d, 0xc8, 0x19,
3140 	0x27, 0xc9, 0x95, 0x36, 0x52, 0xfe, 0xf7, 0x52, 0x3a, 0xb0, 0xfb, 0x9e,
3141 	0x18, 0xc4, 0x66, 0xb2, 0x3c, 0x96
3142 };
3143 static const uint8_t nist_186_2_ecdsa_testvector_70_public_y[] = {
3144 /* Qy - byte alignment */
3145 	0x00, 0x26, 0x9f, 0x90, 0x9e, 0xc3, 0x35, 0x51, 0xb4, 0xea, 0x92, 0x58,
3146 	0x9e, 0x72, 0x94, 0xb2, 0x72, 0xe3, 0xdb, 0x1c, 0x32, 0x72, 0xef, 0xa9,
3147 	0x79, 0x3b, 0xa9, 0x53, 0x1d, 0xf9, 0xd3, 0x02, 0xbc, 0x3a, 0x43, 0x78,
3148 	0xb0, 0x2e, 0x3d, 0x1b, 0x41, 0x20, 0x71, 0x68, 0x62, 0x0a, 0x0a, 0x84,
3149 	0x32, 0x7c, 0x9f, 0x24, 0x7b, 0xeb, 0x6f, 0xec, 0xab, 0xca, 0x38, 0x41,
3150 	0x08, 0xd1, 0xd1, 0xaf, 0xce, 0xa7
3151 };
3152 /* k = 1cdf0e8fa606b24c12bfd2f1e6f954f5963e6ce308040d8f664d61777ed640e56e8e2dfc2480cf7bbad6cbe160b6b41abbec0070baabbd5d4ca2ec7d1af59711b54 */
3153 static const uint8_t nist_186_2_ecdsa_testvector_70_out[] = {
3154 /* R - byte alignment */
3155 	0x01, 0x30, 0xed, 0xf4, 0x96, 0x4a, 0x6b, 0xd5, 0x33, 0x6a, 0xb5, 0x2c,
3156 	0xe4, 0x0f, 0x32, 0x2c, 0x13, 0x1a, 0x3c, 0x45, 0x63, 0xc9, 0x9e, 0x5e,
3157 	0x72, 0xc4, 0xaf, 0xf8, 0xd8, 0x66, 0xf7, 0x95, 0x51, 0x8a, 0xa1, 0xed,
3158 	0xbc, 0x6c, 0xb7, 0x8d, 0xd8, 0x61, 0xdf, 0xa3, 0x73, 0x0a, 0xc0, 0xc7,
3159 	0xe6, 0xf1, 0x94, 0x68, 0xd7, 0xa6, 0xc6, 0x43, 0xf8, 0xa2, 0xdd, 0x62,
3160 	0x00, 0x9a, 0xec, 0x3c, 0xb4, 0xd3,
3161 /* S - byte alignment */
3162 	0x01, 0x15, 0x99, 0xbf, 0xf4, 0x26, 0xcf, 0x80, 0xee, 0xd7, 0x9f, 0x36,
3163 	0xa9, 0x9d, 0x0d, 0x68, 0xf0, 0x8e, 0xc7, 0x91, 0xa2, 0xba, 0xb8, 0x5d,
3164 	0x95, 0xd8, 0xbf, 0xc4, 0x8e, 0x16, 0x1a, 0xc8, 0x06, 0xf0, 0x0c, 0xb2,
3165 	0x91, 0x47, 0x0d, 0x4a, 0xdf, 0xd1, 0xbf, 0x9a, 0xd4, 0x04, 0xf3, 0x83,
3166 	0x74, 0xae, 0x34, 0xce, 0x06, 0x4f, 0xb4, 0x4b, 0xed, 0x4d, 0xeb, 0x48,
3167 	0x15, 0xf8, 0x16, 0x61, 0xc3, 0x1a
3168 };
3169 static const uint8_t nist_186_2_ecdsa_testvector_71_ptx[] = {
3170 /* Msg */
3171 	0x65, 0xbe, 0x26, 0x41, 0xeb, 0x2d, 0x11, 0x16, 0xe5, 0x10, 0x3a, 0x69,
3172 	0xca, 0x0d, 0x7f, 0x2a, 0x11, 0xd1, 0xa7, 0x9a, 0x52, 0xa6, 0xa2, 0x72,
3173 	0xa8, 0x48, 0x12, 0x61, 0x59, 0xf4, 0x0b, 0xbc, 0xb9, 0xc3, 0x17, 0x72,
3174 	0x4b, 0x36, 0x7e, 0x3e, 0x2a, 0x12, 0xc4, 0x20, 0xa7, 0x6e, 0x72, 0x0d,
3175 	0x34, 0x0a, 0x1a, 0xe6, 0x81, 0xe2, 0x95, 0xa7, 0xe4, 0x03, 0x8f, 0xe1,
3176 	0xfe, 0x9e, 0x46, 0x6a, 0x9c, 0x5b, 0x8e, 0x52, 0xdb, 0xef, 0x19, 0x1a,
3177 	0x90, 0xf1, 0xf5, 0x21, 0xe6, 0xe9, 0x56, 0x5f, 0x49, 0xab, 0x96, 0x55,
3178 	0x83, 0xe3, 0x7a, 0x44, 0x25, 0xf0, 0xb7, 0x9e, 0x29, 0xf6, 0xb4, 0xba,
3179 	0xd5, 0x2e, 0x92, 0xcb, 0xe3, 0x81, 0x6a, 0x13, 0xde, 0x56, 0xd5, 0x54,
3180 	0xcf, 0xa8, 0xb2, 0x88, 0x19, 0x5b, 0x23, 0xd1, 0xa2, 0xd0, 0xd9, 0xb3,
3181 	0x33, 0xb7, 0x92, 0x81, 0x22, 0x24, 0xdf, 0x15
3182 };
3183 static const uint8_t nist_186_2_ecdsa_testvector_71_private[] = {
3184 /* d - byte alignment */
3185 	0x01, 0x8b, 0xfb, 0xd7, 0xbc, 0x20, 0xc4, 0xc4, 0xf0, 0x95, 0x66, 0xda,
3186 	0xbb, 0xa0, 0x18, 0x15, 0x53, 0x6a, 0xfc, 0xb9, 0x6b, 0x55, 0x83, 0x58,
3187 	0xda, 0xaf, 0xf6, 0x11, 0x24, 0x6b, 0x14, 0xd4, 0xc2, 0xe0, 0x17, 0x91,
3188 	0x1d, 0xc4, 0xb0, 0x5c, 0x60, 0xdb, 0xbe, 0x1c, 0x9b, 0x46, 0xb8, 0x18,
3189 	0xac, 0xfd, 0x1d, 0x18, 0x3e, 0x83, 0x65, 0x07, 0x72, 0x99, 0x88, 0x7f,
3190 	0x83, 0x2d, 0x8d, 0x83, 0x71, 0xb2
3191 };
3192 static const uint8_t nist_186_2_ecdsa_testvector_71_public_x[] = {
3193 /* Qx - byte alignment */
3194 	0x01, 0xa5, 0xe5, 0xb9, 0x8e, 0xc1, 0x76, 0xf7, 0x51, 0x55, 0xac, 0x94,
3195 	0x18, 0xf7, 0x80, 0x97, 0x96, 0x6d, 0xf7, 0xc0, 0x97, 0x68, 0x02, 0x77,
3196 	0x0f, 0xbc, 0x47, 0xc9, 0xa1, 0x60, 0xb4, 0x57, 0x57, 0xdf, 0xc1, 0xea,
3197 	0x1e, 0xda, 0xc1, 0x64, 0xd8, 0xf3, 0x64, 0x06, 0xc7, 0x33, 0x1c, 0xe0,
3198 	0x99, 0x2a, 0x41, 0x28, 0x82, 0x6b, 0x9d, 0x2a, 0x4c, 0xa6, 0x26, 0x7c,
3199 	0x16, 0x92, 0x43, 0x1c, 0xac, 0x43
3200 };
3201 static const uint8_t nist_186_2_ecdsa_testvector_71_public_y[] = {
3202 /* Qy - byte alignment */
3203 	0x00, 0x0d, 0x10, 0x0c, 0x8e, 0xe8, 0x93, 0x60, 0x9e, 0xdc, 0x97, 0x52,
3204 	0xb3, 0xdf, 0x71, 0x47, 0x7d, 0x70, 0xc4, 0x72, 0x77, 0xeb, 0xbb, 0xd5,
3205 	0x60, 0x08, 0x26, 0x29, 0x15, 0x14, 0x92, 0x8c, 0x33, 0xeb, 0x9b, 0x48,
3206 	0x94, 0x52, 0x33, 0x7d, 0x1e, 0x8e, 0xd1, 0xab, 0xc2, 0xb5, 0xf0, 0x6d,
3207 	0x5d, 0x40, 0xf9, 0x13, 0x20, 0xad, 0xcc, 0xa8, 0x92, 0x1f, 0xf5, 0x32,
3208 	0xc0, 0xca, 0xb6, 0x0e, 0x4e, 0xbe
3209 };
3210 /* k = 11b49c065e990979ea28bcbf13a82f5464de7f8dcf7e06eedf550482926611b0f80eea2bf528b6a7c86dbbff281fa0105bd474f56af86560bfc394fc1b824997ef8 */
3211 static const uint8_t nist_186_2_ecdsa_testvector_71_out[] = {
3212 /* R - byte alignment */
3213 	0x01, 0x37, 0xab, 0x30, 0x74, 0x37, 0xbd, 0xd4, 0x7e, 0x5c, 0xc0, 0x4d,
3214 	0x51, 0x4c, 0xa1, 0x33, 0xa6, 0xb9, 0x8c, 0x96, 0xa2, 0x7c, 0x4b, 0xee,
3215 	0x65, 0x81, 0xb7, 0x59, 0x7b, 0x8c, 0xd8, 0xda, 0xc6, 0x9f, 0x06, 0xdb,
3216 	0x84, 0xd9, 0xab, 0x58, 0x35, 0xf4, 0x6e, 0x88, 0x71, 0xa0, 0xc1, 0x25,
3217 	0xa7, 0xf7, 0xb1, 0x59, 0x4c, 0x53, 0x2c, 0x37, 0x81, 0xde, 0xbb, 0xf5,
3218 	0x1e, 0xa2, 0xce, 0x27, 0x32, 0x23,
3219 /* S - byte alignment */
3220 	0x00, 0xb6, 0x21, 0x3c, 0xec, 0xcd, 0x39, 0x1d, 0x96, 0xe4, 0xf5, 0x46,
3221 	0x86, 0x47, 0x79, 0x8f, 0x7f, 0x4d, 0xbd, 0x65, 0xe8, 0xf5, 0x40, 0xae,
3222 	0x74, 0x6f, 0x72, 0xec, 0xf5, 0x2b, 0x50, 0xd0, 0x62, 0x9c, 0xd5, 0x5f,
3223 	0x1d, 0x59, 0x01, 0x17, 0x5e, 0x0d, 0xdd, 0xf4, 0x66, 0xad, 0x1f, 0x6d,
3224 	0x64, 0xf2, 0xe1, 0x29, 0xd3, 0xbf, 0xd1, 0x09, 0x18, 0x00, 0xcf, 0xf2,
3225 	0x58, 0xa1, 0xb4, 0xfb, 0xc7, 0xbc
3226 };
3227 static const uint8_t nist_186_2_ecdsa_testvector_72_ptx[] = {
3228 /* Msg */
3229 	0x30, 0xbb, 0xd8, 0xf6, 0x29, 0x1a, 0x1f, 0x38, 0x61, 0xb9, 0xad, 0x88,
3230 	0xc0, 0xef, 0x50, 0x10, 0x18, 0x57, 0x07, 0x60, 0x08, 0x23, 0x09, 0x63,
3231 	0x21, 0xb3, 0x09, 0x92, 0x48, 0x67, 0xb9, 0x67, 0x5b, 0xb1, 0x8d, 0x15,
3232 	0x18, 0x6e, 0xc1, 0x76, 0x3a, 0x76, 0x9d, 0x45, 0xe4, 0x71, 0xf8, 0x8d,
3233 	0x43, 0xed, 0xfb, 0x61, 0x70, 0xae, 0x27, 0xce, 0x93, 0x45, 0x99, 0x0e,
3234 	0x4e, 0xe5, 0x8d, 0xfe, 0x59, 0x71, 0x22, 0xd3, 0x69, 0xd9, 0x5d, 0x08,
3235 	0x57, 0xa7, 0x6f, 0x9a, 0x7e, 0xd5, 0x3b, 0x78, 0x65, 0xe2, 0x13, 0x35,
3236 	0x9e, 0x25, 0xc2, 0x01, 0xed, 0x60, 0xd0, 0xd7, 0xad, 0x98, 0x01, 0xf8,
3237 	0x70, 0x24, 0x1f, 0x97, 0xe6, 0x05, 0xf9, 0xd6, 0x00, 0x75, 0xac, 0xf1,
3238 	0x54, 0xc2, 0x21, 0xb9, 0xc4, 0x5d, 0xd7, 0x45, 0x5a, 0x2e, 0xe3, 0xe4,
3239 	0x77, 0x2b, 0x35, 0x55, 0x2d, 0x29, 0x1c, 0x3b
3240 };
3241 static const uint8_t nist_186_2_ecdsa_testvector_72_private[] = {
3242 /* d - byte alignment */
3243 	0x01, 0x1e, 0xf5, 0x50, 0x1b, 0xe4, 0x84, 0x0f, 0x9a, 0xdc, 0x12, 0x63,
3244 	0xfd, 0x22, 0x58, 0x1d, 0x58, 0xf9, 0x83, 0x22, 0xaf, 0x32, 0xff, 0x3b,
3245 	0x32, 0x3f, 0xce, 0x67, 0x91, 0xe2, 0xc6, 0x18, 0x27, 0xd8, 0x71, 0x43,
3246 	0xec, 0x98, 0x0c, 0xda, 0x54, 0x94, 0xe1, 0xc8, 0xbe, 0xf8, 0x15, 0x00,
3247 	0x6b, 0x22, 0xca, 0x9c, 0xd9, 0x1c, 0x14, 0x77, 0xae, 0x8f, 0xfe, 0x86,
3248 	0x63, 0x2c, 0xd7, 0x0a, 0xc6, 0x8a
3249 };
3250 static const uint8_t nist_186_2_ecdsa_testvector_72_public_x[] = {
3251 /* Qx - byte alignment */
3252 	0x01, 0x62, 0xb9, 0x10, 0x63, 0x5a, 0x71, 0xce, 0x46, 0x44, 0xa7, 0x06,
3253 	0x2f, 0x4e, 0xb4, 0x27, 0xc8, 0x4b, 0x49, 0xe0, 0x89, 0x1f, 0x0d, 0xd0,
3254 	0xef, 0x56, 0x40, 0x4f, 0x10, 0x2d, 0xc4, 0xe7, 0xff, 0x6f, 0xe9, 0x53,
3255 	0x6f, 0x84, 0x06, 0xcd, 0xe4, 0x17, 0x1b, 0x0a, 0xed, 0x3c, 0xa8, 0x20,
3256 	0xdf, 0x75, 0xfd, 0x45, 0x85, 0x68, 0xec, 0xf7, 0x71, 0x86, 0x06, 0x71,
3257 	0x4a, 0xb3, 0x1d, 0xd8, 0x89, 0x87
3258 };
3259 static const uint8_t nist_186_2_ecdsa_testvector_72_public_y[] = {
3260 /* Qy - byte alignment */
3261 	0x00, 0x78, 0xa7, 0x5f, 0x70, 0xb4, 0x7e, 0xa4, 0x2d, 0x43, 0x90, 0xf6,
3262 	0x16, 0x67, 0x6c, 0x10, 0x08, 0x53, 0x0c, 0x1d, 0xb4, 0xf8, 0x49, 0x9c,
3263 	0x21, 0xaf, 0x25, 0xa7, 0x59, 0x9b, 0x10, 0x02, 0x0f, 0x22, 0xe7, 0xbd,
3264 	0x94, 0x05, 0x71, 0xeb, 0x82, 0xeb, 0x98, 0xbd, 0x41, 0x2a, 0xee, 0x49,
3265 	0x07, 0xc0, 0xf1, 0x12, 0xe3, 0x81, 0x7b, 0x40, 0xd5, 0x37, 0x3f, 0x0f,
3266 	0xc4, 0x15, 0x2e, 0xb9, 0xda, 0xd5
3267 };
3268 /* k = 043e176a6fd627fbd7e058d8a3dacacd1f232120e312f9fcc825b720ab15e459108622be15cd6026c4b05bea6ed2cbe6817ea6be2427034d5db80703c759ce0190d */
3269 static const uint8_t nist_186_2_ecdsa_testvector_72_out[] = {
3270 /* R - byte alignment */
3271 	0x01, 0x23, 0x9e, 0x1d, 0x43, 0xa3, 0xda, 0x16, 0x57, 0x8c, 0x77, 0xdd,
3272 	0xcf, 0xc0, 0x92, 0xed, 0x53, 0x97, 0x4a, 0x97, 0xd7, 0x9b, 0x5e, 0xbf,
3273 	0x58, 0xcc, 0xf8, 0x36, 0x26, 0xbb, 0xeb, 0x4a, 0x8d, 0xc4, 0xe6, 0xcf,
3274 	0xd7, 0xe9, 0x1c, 0xac, 0x19, 0x72, 0x23, 0x24, 0x80, 0x44, 0x7a, 0x82,
3275 	0x3b, 0x7b, 0xdc, 0x6f, 0x5e, 0x5b, 0x0f, 0xf3, 0xf8, 0x03, 0x79, 0x5c,
3276 	0xbc, 0x10, 0x91, 0x12, 0x8e, 0x1b,
3277 /* S - byte alignment */
3278 	0x00, 0x1f, 0x04, 0x20, 0x25, 0x23, 0xb6, 0xc2, 0x0b, 0xa2, 0x85, 0x39,
3279 	0x12, 0x58, 0x43, 0x91, 0x27, 0x8a, 0xf6, 0x0e, 0x89, 0x22, 0x6c, 0x01,
3280 	0xb7, 0x10, 0x90, 0xee, 0x95, 0x2e, 0x76, 0xfe, 0x38, 0x83, 0x5c, 0x89,
3281 	0x80, 0xd2, 0x40, 0x87, 0xc9, 0xbd, 0x29, 0x3b, 0x9d, 0xee, 0x79, 0xae,
3282 	0xee, 0x6f, 0x80, 0xf0, 0xff, 0xc3, 0x69, 0x23, 0x0e, 0xcf, 0x9d, 0x26,
3283 	0x55, 0x27, 0xbb, 0xd7, 0xb8, 0x46
3284 };
3285 static const uint8_t nist_186_2_ecdsa_testvector_73_ptx[] = {
3286 /* Msg */
3287 	0x64, 0xf1, 0x6a, 0x92, 0x91, 0x99, 0x24, 0x8d, 0x64, 0x1a, 0xf9, 0x4a,
3288 	0xbd, 0x9f, 0xf5, 0xf1, 0x33, 0x38, 0x7c, 0xaa, 0x63, 0xda, 0x3b, 0xba,
3289 	0x88, 0xa8, 0x5e, 0xef, 0x4d, 0x70, 0x03, 0x3f, 0xdf, 0x79, 0xef, 0xac,
3290 	0x45, 0x7c, 0x80, 0x6b, 0xf4, 0xf0, 0xe3, 0x44, 0x9e, 0x8a, 0x87, 0x3c,
3291 	0x4c, 0x05, 0xd2, 0x72, 0xac, 0x1f, 0x12, 0x47, 0xac, 0xe4, 0xb6, 0xc1,
3292 	0x47, 0x2e, 0xbe, 0x32, 0x9f, 0x6d, 0x70, 0x14, 0x4d, 0xa4, 0x4d, 0x38,
3293 	0xf5, 0xb4, 0x43, 0x20, 0x1d, 0xdd, 0x24, 0xa9, 0x3f, 0x82, 0x57, 0xec,
3294 	0x1c, 0x2c, 0xce, 0x67, 0x54, 0xd2, 0x37, 0x58, 0x34, 0x58, 0x77, 0x6a,
3295 	0xcf, 0x55, 0x54, 0x93, 0x50, 0x19, 0x71, 0x3d, 0x8e, 0xef, 0x80, 0xa4,
3296 	0xe1, 0x9f, 0xb3, 0x7f, 0x35, 0x37, 0x73, 0xe2, 0x5c, 0x0b, 0x55, 0x63,
3297 	0xa9, 0xfb, 0x4a, 0x7c, 0xba, 0xf4, 0x16, 0x30
3298 };
3299 static const uint8_t nist_186_2_ecdsa_testvector_73_private[] = {
3300 /* d - byte alignment */
3301 	0x01, 0x97, 0xd5, 0xa8, 0x11, 0x8e, 0xc8, 0x70, 0xe7, 0x37, 0x3d, 0x48,
3302 	0x44, 0x36, 0xd4, 0x9f, 0xa4, 0xc3, 0xf9, 0xff, 0xe8, 0xf6, 0x4a, 0x4c,
3303 	0xd8, 0x08, 0x74, 0x82, 0x94, 0x8d, 0x96, 0x1d, 0xd3, 0x0e, 0x85, 0x00,
3304 	0xe1, 0xfe, 0x66, 0x3b, 0x49, 0x3a, 0xa5, 0x3b, 0x80, 0xa2, 0x1f, 0x57,
3305 	0xc1, 0x44, 0xb9, 0x7f, 0x9d, 0xfa, 0xc7, 0x24, 0xc2, 0xb9, 0xd7, 0xed,
3306 	0xbc, 0x82, 0x41, 0x73, 0x63, 0x1f
3307 };
3308 static const uint8_t nist_186_2_ecdsa_testvector_73_public_x[] = {
3309 /* Qx - byte alignment */
3310 	0x01, 0xc9, 0x29, 0x07, 0x41, 0xf8, 0xd8, 0x3e, 0x60, 0x50, 0x5f, 0x90,
3311 	0xd1, 0x11, 0x6b, 0xb5, 0x97, 0x1b, 0x82, 0x27, 0x37, 0x3c, 0x2a, 0xde,
3312 	0x7a, 0xc9, 0xf6, 0x46, 0xe4, 0xb7, 0x4f, 0xe5, 0xde, 0xfa, 0xd0, 0xb7,
3313 	0xa6, 0x15, 0xcd, 0xac, 0x9d, 0x04, 0x15, 0x34, 0x01, 0xfb, 0x54, 0x26,
3314 	0xac, 0xe5, 0x6e, 0x28, 0xac, 0x8f, 0x9d, 0x81, 0xf1, 0x5d, 0xa8, 0x60,
3315 	0xc0, 0x82, 0x21, 0xa6, 0xd5, 0xde
3316 };
3317 static const uint8_t nist_186_2_ecdsa_testvector_73_public_y[] = {
3318 /* Qy - byte alignment */
3319 	0x01, 0x02, 0x8d, 0xb7, 0xea, 0x9a, 0x29, 0xc7, 0x31, 0x42, 0x48, 0xb9,
3320 	0x3f, 0x21, 0x4b, 0x7c, 0x65, 0xff, 0x05, 0x54, 0xc0, 0xe8, 0xe5, 0x08,
3321 	0x16, 0xd0, 0x03, 0x2c, 0x9a, 0xfe, 0x7d, 0xe6, 0x1f, 0x1f, 0x7e, 0x3c,
3322 	0xa7, 0xb3, 0x4f, 0xe4, 0x4a, 0xa9, 0x9a, 0x92, 0xf0, 0xcc, 0xbc, 0xa8,
3323 	0xce, 0xd9, 0xb7, 0xca, 0xba, 0x4d, 0xb2, 0xb2, 0x91, 0xcf, 0xaf, 0x39,
3324 	0x79, 0x66, 0x7c, 0xf6, 0x14, 0x74
3325 };
3326 /* k = 0c097b10e7533825ba682ef6a445ded274a1d0524eb790db11deb61f7f481d78b960e90d5fdb4a9771fcf99a3746cfada273a6548525d66d7774b92146adfda5214 */
3327 static const uint8_t nist_186_2_ecdsa_testvector_73_out[] = {
3328 /* R - byte alignment */
3329 	0x01, 0x48, 0x83, 0x2a, 0x67, 0x00, 0x27, 0xa7, 0x09, 0x82, 0x2e, 0x3b,
3330 	0x9f, 0x25, 0x1d, 0x57, 0xc1, 0xde, 0xce, 0xd7, 0x46, 0x4e, 0xf4, 0xbd,
3331 	0x8d, 0x16, 0x8f, 0x80, 0xb3, 0x60, 0x58, 0x54, 0x53, 0xc8, 0x56, 0x88,
3332 	0xaa, 0x09, 0x6d, 0x40, 0x90, 0xcf, 0x3d, 0x70, 0x89, 0xe1, 0x84, 0xdb,
3333 	0x0c, 0xff, 0x97, 0x39, 0x32, 0x66, 0x50, 0x8d, 0x1e, 0xc8, 0xbe, 0xa4,
3334 	0xc4, 0x87, 0x97, 0x8a, 0x8c, 0x46,
3335 /* S - byte alignment */
3336 	0x01, 0xba, 0x38, 0x83, 0xed, 0x44, 0x1a, 0x49, 0xd3, 0x9c, 0x66, 0xda,
3337 	0xf7, 0x1a, 0x29, 0x05, 0x40, 0xcf, 0x50, 0x86, 0xc0, 0xa4, 0xbe, 0x76,
3338 	0xf3, 0xfb, 0xe3, 0xd1, 0xf0, 0xc9, 0xfa, 0xbc, 0xab, 0xc3, 0x4f, 0xb8,
3339 	0x18, 0x01, 0x54, 0xbf, 0x79, 0xd6, 0x81, 0xda, 0x2d, 0x0a, 0xd3, 0x15,
3340 	0xdf, 0x51, 0x9d, 0x13, 0x05, 0xbf, 0x63, 0xbb, 0x1a, 0xce, 0x7d, 0xb9,
3341 	0xec, 0xdf, 0x36, 0x9c, 0x03, 0xda
3342 };
3343 static const uint8_t nist_186_2_ecdsa_testvector_74_ptx[] = {
3344 /* Msg */
3345 	0xac, 0xc3, 0x7a, 0x55, 0xf3, 0xf7, 0x01, 0x92, 0x02, 0xbc, 0x1a, 0x4c,
3346 	0x05, 0x5f, 0x70, 0xd1, 0x24, 0x37, 0x8c, 0xd4, 0x57, 0x2a, 0x4a, 0x10,
3347 	0x7c, 0x72, 0x8e, 0x2e, 0xa7, 0xa1, 0x33, 0xe9, 0xb9, 0xe3, 0x44, 0x70,
3348 	0x34, 0x84, 0x6f, 0x0b, 0x4d, 0xb2, 0xb6, 0x02, 0x43, 0x83, 0x68, 0xbb,
3349 	0xf0, 0x3a, 0x50, 0x22, 0x9e, 0xc6, 0x2c, 0x4d, 0x1b, 0x8b, 0x61, 0x61,
3350 	0x10, 0x65, 0xec, 0xaf, 0x8e, 0xea, 0x9c, 0x23, 0xea, 0xf0, 0x7e, 0xdf,
3351 	0xcb, 0x50, 0x99, 0x23, 0x81, 0xe9, 0xdc, 0x70, 0x98, 0xe7, 0x55, 0xed,
3352 	0xad, 0x45, 0xa4, 0x09, 0x81, 0x90, 0xae, 0x62, 0x4c, 0xee, 0x96, 0xe6,
3353 	0x54, 0x60, 0xe9, 0x37, 0xbd, 0x44, 0x18, 0x54, 0xa3, 0x1e, 0x2c, 0x77,
3354 	0x66, 0x97, 0xb5, 0x39, 0x45, 0xc6, 0x03, 0xfc, 0x2f, 0xaf, 0x99, 0x8a,
3355 	0xd5, 0x09, 0xdf, 0xfa, 0x04, 0x45, 0x17, 0xd4
3356 };
3357 static const uint8_t nist_186_2_ecdsa_testvector_74_private[] = {
3358 /* d - byte alignment */
3359 	0x00, 0x17, 0xdd, 0xec, 0xce, 0x87, 0x0a, 0xaa, 0x4a, 0x82, 0xbc, 0x3a,
3360 	0x0a, 0xe8, 0x14, 0x6b, 0xdb, 0x33, 0x02, 0x54, 0x4e, 0x5f, 0x13, 0x66,
3361 	0x85, 0x16, 0xf8, 0xb4, 0x03, 0x85, 0x6f, 0xb7, 0x47, 0x2f, 0x9c, 0xb4,
3362 	0x3c, 0x4c, 0x8a, 0x64, 0x74, 0x23, 0x32, 0x0f, 0xb9, 0xa1, 0xcd, 0xcf,
3363 	0x13, 0xb7, 0xc7, 0xc5, 0x84, 0x39, 0xa9, 0xdd, 0x67, 0x42, 0x95, 0x64,
3364 	0x63, 0x78, 0x4a, 0xd3, 0xdc, 0xf0
3365 };
3366 static const uint8_t nist_186_2_ecdsa_testvector_74_public_x[] = {
3367 /* Qx - byte alignment */
3368 	0x01, 0xb3, 0x64, 0xfb, 0x81, 0x93, 0xdf, 0x3e, 0xaf, 0xb3, 0x92, 0x8b,
3369 	0x0f, 0xb4, 0xcb, 0x85, 0xcb, 0x3b, 0xc7, 0x0b, 0x41, 0x28, 0x53, 0xae,
3370 	0x1c, 0x8d, 0x72, 0x59, 0x46, 0xc5, 0xb1, 0x3f, 0x0a, 0x4f, 0x43, 0x95,
3371 	0x42, 0x16, 0x28, 0xdd, 0xdf, 0x16, 0x2f, 0xc6, 0xfd, 0x63, 0x76, 0x16,
3372 	0x1b, 0xf2, 0x7b, 0x15, 0x71, 0xcd, 0x18, 0x61, 0xe5, 0x24, 0xa8, 0x66,
3373 	0xc2, 0x3b, 0x07, 0x5a, 0x03, 0x93
3374 };
3375 static const uint8_t nist_186_2_ecdsa_testvector_74_public_y[] = {
3376 /* Qy - byte alignment */
3377 	0x01, 0x4c, 0x44, 0x4f, 0xc0, 0x06, 0x9f, 0xa9, 0x0f, 0x43, 0x64, 0x35,
3378 	0x00, 0xf3, 0x9b, 0xfd, 0xf0, 0x0c, 0x17, 0x4c, 0xda, 0xa1, 0x0b, 0xac,
3379 	0x56, 0x5c, 0xa2, 0xde, 0x67, 0x98, 0xc1, 0x06, 0xbf, 0x43, 0x41, 0x15,
3380 	0x81, 0xbf, 0x24, 0xcd, 0xb8, 0xa1, 0x5b, 0xfd, 0x85, 0x32, 0xa1, 0xa8,
3381 	0xfd, 0x3b, 0x46, 0x5c, 0x20, 0x1a, 0xee, 0xe9, 0x0f, 0x12, 0xf5, 0x8d,
3382 	0xfe, 0x70, 0x53, 0x98, 0x40, 0x55
3383 };
3384 /* k = 0bf348f48bccfa65a24118d70f6ae96bd604287cb83cd644a94d652dca636bfef2a5d48768373dd97b64f916f0328166fc8b3636e1a7776a2b9e5dcf4c90536f45e */
3385 static const uint8_t nist_186_2_ecdsa_testvector_74_out[] = {
3386 /* R - byte alignment */
3387 	0x01, 0x86, 0xa8, 0x2f, 0x8f, 0xcb, 0xf5, 0xcc, 0x8a, 0xbd, 0x4e, 0x61,
3388 	0x77, 0x71, 0xc3, 0x74, 0x12, 0xc4, 0x13, 0xbd, 0x51, 0xb9, 0xf2, 0xb9,
3389 	0x7b, 0x76, 0xe5, 0x6c, 0x99, 0xa4, 0x1f, 0x1c, 0xa2, 0x76, 0xc3, 0xfc,
3390 	0xd8, 0xbb, 0xea, 0xe0, 0xd7, 0xcc, 0xf1, 0x82, 0x86, 0x81, 0x02, 0xce,
3391 	0xcb, 0x8a, 0xd1, 0x09, 0xd7, 0x7e, 0xc7, 0x77, 0xf5, 0x0c, 0xc4, 0xa1,
3392 	0x21, 0x52, 0xa3, 0xe3, 0x0b, 0xfd,
3393 /* S - byte alignment */
3394 	0x01, 0xa2, 0x97, 0xd1, 0xf7, 0x48, 0xd8, 0xbd, 0x8e, 0x84, 0xb9, 0x40,
3395 	0x2b, 0xa4, 0xc4, 0x87, 0xa1, 0xd8, 0x37, 0x42, 0x83, 0x45, 0xef, 0x7f,
3396 	0x82, 0x76, 0x39, 0x47, 0x65, 0xc5, 0x06, 0xee, 0x6e, 0x2c, 0x52, 0x17,
3397 	0x21, 0x45, 0x4e, 0x2e, 0x71, 0x80, 0x1d, 0x73, 0xd2, 0x3e, 0x5a, 0x56,
3398 	0x6d, 0xfb, 0x79, 0x34, 0x90, 0xdb, 0x32, 0x13, 0xad, 0x50, 0x95, 0x91,
3399 	0x07, 0x47, 0x04, 0xfb, 0x27, 0xe4
3400 };
3401 static const uint8_t nist_186_2_ecdsa_testvector_75_ptx[] = {
3402 /* Msg */
3403 	0x4b, 0xc8, 0x83, 0xa6, 0x72, 0xe4, 0xbf, 0x88, 0x55, 0xe3, 0x06, 0x25,
3404 	0x61, 0x52, 0x43, 0x13, 0xe9, 0x05, 0x89, 0x66, 0xbe, 0x5b, 0x4a, 0x1a,
3405 	0x00, 0xc2, 0xcb, 0xb1, 0x33, 0x7e, 0xd4, 0x1c, 0x95, 0xa7, 0xac, 0xdf,
3406 	0xaf, 0x71, 0x45, 0x71, 0x2b, 0xb1, 0xb3, 0xe1, 0xe5, 0x9c, 0xe2, 0xbf,
3407 	0x45, 0xd1, 0x89, 0x3a, 0xcb, 0x9a, 0x5a, 0x86, 0xeb, 0x6e, 0x7c, 0x81,
3408 	0x1c, 0xbb, 0x3a, 0x95, 0x2c, 0xe3, 0xfd, 0xe0, 0xd6, 0x84, 0x77, 0x92,
3409 	0x96, 0xfd, 0x22, 0x97, 0xbc, 0x2e, 0xe9, 0x77, 0xc0, 0x7f, 0x24, 0x7a,
3410 	0xd5, 0x23, 0xca, 0x0f, 0xc0, 0x9e, 0xe2, 0x6e, 0xeb, 0x84, 0x3b, 0x7d,
3411 	0xb5, 0x84, 0x5d, 0xf0, 0x0d, 0xa6, 0xbf, 0xb5, 0x3f, 0xd1, 0x3b, 0x8f,
3412 	0x0d, 0x90, 0xbe, 0x01, 0x02, 0x15, 0x44, 0x6d, 0x03, 0x7f, 0x04, 0x7d,
3413 	0x27, 0x58, 0xe7, 0xc2, 0xc9, 0x62, 0x3f, 0x9b
3414 };
3415 static const uint8_t nist_186_2_ecdsa_testvector_75_private[] = {
3416 /* d - byte alignment */
3417 	0x01, 0xfe, 0x1b, 0x13, 0x76, 0xf8, 0x0b, 0x0c, 0x0f, 0xf2, 0x7c, 0x1c,
3418 	0xe2, 0x4d, 0xed, 0x67, 0x6b, 0x0e, 0xb0, 0xd5, 0x78, 0x22, 0x8f, 0xd5,
3419 	0x1c, 0x65, 0x00, 0x64, 0x1e, 0x2e, 0x0e, 0x54, 0x1d, 0xe3, 0x32, 0xcb,
3420 	0xb8, 0x1b, 0xe6, 0xa5, 0xd6, 0xf1, 0x9a, 0x7c, 0xd6, 0x5a, 0x4b, 0x59,
3421 	0xa6, 0x23, 0x83, 0x58, 0x15, 0xf7, 0x4c, 0x42, 0x2d, 0x23, 0x7f, 0xd7,
3422 	0xf0, 0x39, 0x59, 0x8e, 0x6b, 0xb9
3423 };
3424 static const uint8_t nist_186_2_ecdsa_testvector_75_public_x[] = {
3425 /* Qx - byte alignment */
3426 	0x01, 0xab, 0x5a, 0x78, 0x7d, 0xe5, 0xf1, 0xc1, 0xc5, 0xb4, 0x22, 0x8c,
3427 	0x0b, 0x4a, 0x30, 0x40, 0xe4, 0x8a, 0xd3, 0x40, 0xdb, 0xb7, 0xda, 0xa4,
3428 	0x5a, 0xd1, 0xab, 0x0a, 0x04, 0x8e, 0xbe, 0xc2, 0x4f, 0xb4, 0xf3, 0xfe,
3429 	0xee, 0xb2, 0x23, 0xb3, 0x6a, 0xdf, 0xe4, 0xe7, 0xd1, 0xc5, 0xaa, 0x42,
3430 	0x86, 0x41, 0x74, 0xea, 0x02, 0xea, 0x81, 0x51, 0x59, 0xea, 0xa1, 0x56,
3431 	0x8d, 0xae, 0x67, 0xe8, 0x28, 0xb3
3432 };
3433 static const uint8_t nist_186_2_ecdsa_testvector_75_public_y[] = {
3434 /* Qy - byte alignment */
3435 	0x00, 0x2e, 0x1e, 0x35, 0xbf, 0x55, 0xfd, 0x6e, 0xd0, 0x7a, 0x6d, 0x62,
3436 	0xcd, 0x30, 0xeb, 0xfc, 0x3f, 0x6d, 0x60, 0xd4, 0x23, 0x11, 0xba, 0x17,
3437 	0x6b, 0x99, 0xc3, 0x68, 0x71, 0xc0, 0x33, 0xa2, 0xd9, 0xe5, 0xac, 0x36,
3438 	0x0c, 0x67, 0xf1, 0xe7, 0xaa, 0xa2, 0x1a, 0x8a, 0x63, 0xf6, 0x52, 0xda,
3439 	0xac, 0x01, 0x3f, 0x18, 0x9e, 0xf6, 0x16, 0x6a, 0x64, 0x27, 0x60, 0x15,
3440 	0x83, 0xec, 0x9e, 0x19, 0x18, 0x57
3441 };
3442 /* k = 0dafe91e7502aab9143d6bb7d127cfefa374030c10fa0f69b9bc7a071f38ff1b28518dc16852080e04c7da89792587228e7eaf03a00953cec725999216a7dc8ac88 */
3443 static const uint8_t nist_186_2_ecdsa_testvector_75_out[] = {
3444 /* R - byte alignment */
3445 	0x01, 0x43, 0x7a, 0x67, 0x47, 0x42, 0x82, 0xfa, 0xd0, 0x15, 0x4b, 0xfc,
3446 	0xa2, 0x99, 0x53, 0x80, 0xee, 0x44, 0xef, 0x12, 0x49, 0x2c, 0x8c, 0x78,
3447 	0x37, 0x4b, 0x16, 0x9d, 0x2a, 0x7d, 0x45, 0xe1, 0x6b, 0x5b, 0x71, 0xf1,
3448 	0x84, 0x3a, 0x28, 0x73, 0x00, 0xbe, 0x7b, 0x6c, 0xdd, 0xa3, 0xb2, 0xfa,
3449 	0x8b, 0xa7, 0xd8, 0x9d, 0x84, 0x77, 0xb7, 0x3a, 0x0a, 0xa8, 0x0b, 0x0c,
3450 	0xb0, 0xcf, 0x5b, 0x33, 0xb6, 0x93,
3451 /* S - byte alignment */
3452 	0x01, 0x83, 0x3b, 0xf3, 0xe4, 0x58, 0xed, 0x65, 0xfe, 0xf4, 0x0e, 0x59,
3453 	0xfa, 0xb6, 0xfa, 0x16, 0x30, 0x2d, 0xaf, 0xf0, 0x58, 0x8b, 0xe4, 0x2a,
3454 	0x6b, 0xe8, 0xa3, 0xa0, 0x43, 0x01, 0xe4, 0xb4, 0xd9, 0x00, 0x6b, 0x2a,
3455 	0xc5, 0x68, 0xc9, 0x9c, 0x7f, 0x52, 0xb3, 0x57, 0x0c, 0x61, 0x1a, 0xb9,
3456 	0xd8, 0xb6, 0xf8, 0x3c, 0xa8, 0x32, 0xf5, 0x15, 0x8a, 0xa9, 0x51, 0xd3,
3457 	0x96, 0xa7, 0xc7, 0x97, 0xed, 0xe3
3458 };
3459 /* [K-163] - GP NOT SUPPORTED */
3460 static const uint8_t nist_186_2_ecdsa_testvector_76_ptx[] = {
3461 /* Msg */
3462 	0xa2, 0xc1, 0xa0, 0x3f, 0xdd, 0x00, 0x52, 0x1b, 0xb0, 0x8f, 0xc8, 0x8d,
3463 	0x20, 0x34, 0x43, 0x21, 0x97, 0x7a, 0xaf, 0x63, 0x7e, 0xf9, 0xd5, 0x47,
3464 	0x0d, 0xd7, 0xd2, 0xc8, 0x62, 0x8f, 0xc8, 0xd0, 0xd1, 0xf1, 0xd3, 0x58,
3465 	0x7c, 0x6b, 0x3f, 0xd0, 0x23, 0x86, 0xf8, 0xc1, 0x3d, 0xb3, 0x41, 0xb1,
3466 	0x47, 0x48, 0xa9, 0x47, 0x5c, 0xc6, 0x3b, 0xaf, 0x06, 0x5d, 0xf6, 0x40,
3467 	0x54, 0xb2, 0x7d, 0x5c, 0x2c, 0xdf, 0x0f, 0x98, 0xe3, 0xbb, 0xb8, 0x1d,
3468 	0x0b, 0x5d, 0xc9, 0x4f, 0x8c, 0xdb, 0x87, 0xac, 0xf7, 0x57, 0x20, 0xf6,
3469 	0x16, 0x3d, 0xe3, 0x94, 0xc8, 0xc6, 0xaf, 0x36, 0x0b, 0xc1, 0xac, 0xb8,
3470 	0x5b, 0x92, 0x3a, 0x49, 0x3b, 0x7b, 0x27, 0xcc, 0x11, 0x1a, 0x25, 0x7e,
3471 	0x36, 0x33, 0x7b, 0xd9, 0x4e, 0xb0, 0xfa, 0xb9, 0xd5, 0xe6, 0x33, 0xbe,
3472 	0xfb, 0x1a, 0xe7, 0xf1, 0xb2, 0x44, 0xbf, 0xaa
3473 };
3474 static const uint8_t nist_186_2_ecdsa_testvector_76_private[] = {
3475 /* d - byte alignment */
3476 	0x00, 0x00, 0x00, 0x01, 0x1f, 0x26, 0x26, 0xd9, 0x0d, 0x26, 0xcb, 0x4c,
3477 	0x03, 0x79, 0x04, 0x3b, 0x26, 0xe6, 0x41, 0x07, 0xfc
3478 };
3479 static const uint8_t nist_186_2_ecdsa_testvector_76_public_x[] = {
3480 /* Qx - byte alignment */
3481 	0x00, 0x38, 0x9f, 0xa5, 0xad, 0x7f, 0x83, 0x04, 0x32, 0x5a, 0x8c, 0x06,
3482 	0x0e, 0xf7, 0xdc, 0xb8, 0x30, 0x42, 0xc0, 0x45, 0xbc
3483 };
3484 static const uint8_t nist_186_2_ecdsa_testvector_76_public_y[] = {
3485 /* Qy - byte alignment */
3486 	0x00, 0xee, 0xfa, 0x09, 0x4a, 0x50, 0x54, 0xda, 0x19, 0x69, 0x43, 0xcc,
3487 	0x80, 0x50, 0x9d, 0xcb, 0x9f, 0x59, 0xe5, 0xbc, 0x2e
3488 };
3489 /* k = 0000000c3a4ff97286126dab1e5089395fcc47ebb */
3490 static const uint8_t nist_186_2_ecdsa_testvector_76_out[] = {
3491 /* R - byte alignment */
3492 	0x00, 0xdb, 0xe6, 0xc3, 0xa1, 0xdc, 0x85, 0x1e, 0x7f, 0x23, 0x38, 0xb5,
3493 	0xc2, 0x6c, 0x62, 0xb4, 0xb3, 0x7b, 0xf8, 0x03, 0x5c,
3494 /* S - byte alignment */
3495 	0x01, 0xc7, 0x64, 0x58, 0x13, 0x5b, 0x1f, 0xf9, 0xfb, 0xd2, 0x30, 0x09,
3496 	0xb8, 0x41, 0x4a, 0x47, 0x99, 0x61, 0x26, 0xb5, 0x6a
3497 };
3498 static const uint8_t nist_186_2_ecdsa_testvector_77_ptx[] = {
3499 /* Msg */
3500 	0x67, 0x04, 0x80, 0x80, 0xda, 0xae, 0xb7, 0x7d, 0x3a, 0xc3, 0x1b, 0xab,
3501 	0xdf, 0x8b, 0xe2, 0x3d, 0xbe, 0x75, 0xce, 0xb4, 0xdf, 0xb9, 0x4a, 0xa8,
3502 	0x11, 0x3d, 0xb5, 0xc5, 0xdc, 0xb6, 0xfe, 0x14, 0xb7, 0x0f, 0x71, 0x7b,
3503 	0x7b, 0x0e, 0xd0, 0x88, 0x18, 0x35, 0xa6, 0x6a, 0x86, 0xe6, 0xd8, 0x40,
3504 	0xff, 0xcb, 0x7d, 0x97, 0x6c, 0x75, 0xef, 0x2d, 0x1d, 0x43, 0x22, 0xfb,
3505 	0xbc, 0x86, 0x35, 0x73, 0x84, 0xe2, 0x47, 0x07, 0xae, 0xf8, 0x8c, 0xea,
3506 	0x2c, 0x41, 0xa0, 0x1a, 0x9a, 0x3d, 0x1b, 0x9e, 0x72, 0xce, 0x65, 0x0c,
3507 	0x7f, 0xde, 0xcc, 0x4f, 0x94, 0x48, 0xd3, 0xa7, 0x7d, 0xf6, 0xcd, 0xf1,
3508 	0x36, 0x47, 0xab, 0x29, 0x5b, 0xb3, 0x13, 0x2d, 0xe0, 0xb1, 0xb2, 0xc4,
3509 	0x02, 0xd8, 0xd2, 0xde, 0x7d, 0x45, 0x2f, 0x1e, 0x00, 0x3e, 0x06, 0x95,
3510 	0xde, 0x14, 0x70, 0xd1, 0x06, 0x4e, 0xee, 0x16
3511 };
3512 static const uint8_t nist_186_2_ecdsa_testvector_77_private[] = {
3513 /* d - byte alignment */
3514 	0x00, 0x00, 0x00, 0x00, 0x6a, 0x38, 0x03, 0x30, 0x1d, 0xae, 0xe9, 0xaf,
3515 	0x09, 0xbb, 0x5b, 0x6c, 0x99, 0x1a, 0x4f, 0x49, 0xa4
3516 };
3517 static const uint8_t nist_186_2_ecdsa_testvector_77_public_x[] = {
3518 /* Qx - byte alignment */
3519 	0x04, 0xb5, 0x00, 0xf5, 0x55, 0xe8, 0x57, 0xda, 0x8c, 0x29, 0x97, 0x80,
3520 	0x13, 0x0c, 0x5c, 0x3f, 0x48, 0xf0, 0x2e, 0xe3, 0x22
3521 };
3522 static const uint8_t nist_186_2_ecdsa_testvector_77_public_y[] = {
3523 /* Qy - byte alignment */
3524 	0x05, 0xc1, 0xc0, 0xae, 0x25, 0xb4, 0x7f, 0x06, 0xcc, 0x46, 0xfb, 0x86,
3525 	0xb1, 0x2d, 0x2d, 0x8c, 0x0b, 0xa6, 0xa4, 0xbf, 0x07
3526 };
3527 /* k = 0000002f39fbf77f3e0dc046116de692b6cf91b16 */
3528 static const uint8_t nist_186_2_ecdsa_testvector_77_out[] = {
3529 /* R - byte alignment */
3530 	0x03, 0xd3, 0xee, 0xda, 0x42, 0xf6, 0x5d, 0x72, 0x7f, 0x4a, 0x56, 0x4f,
3531 	0x14, 0x15, 0x65, 0x43, 0x56, 0xc6, 0xc5, 0x7a, 0x6c,
3532 /* S - byte alignment */
3533 	0x03, 0x5e, 0x4d, 0x43, 0xc5, 0xf0, 0x8b, 0xad, 0xdf, 0x13, 0x84, 0x49,
3534 	0xdb, 0x1a, 0xd0, 0xb7, 0x87, 0x25, 0x52, 0xb7, 0xcd
3535 };
3536 static const uint8_t nist_186_2_ecdsa_testvector_78_ptx[] = {
3537 /* Msg */
3538 	0x77, 0xe0, 0x07, 0xdc, 0x2a, 0xcd, 0x72, 0x48, 0x25, 0x61, 0x65, 0xa4,
3539 	0xb3, 0x0e, 0x98, 0x98, 0x6f, 0x51, 0xa8, 0x1e, 0xfd, 0x92, 0x6b, 0x85,
3540 	0xf7, 0x4c, 0x81, 0xbc, 0x2a, 0x6d, 0x2b, 0xcd, 0x03, 0x00, 0x60, 0xa8,
3541 	0x44, 0x09, 0x1e, 0x22, 0xfb, 0xb0, 0xff, 0x3d, 0xb5, 0xa2, 0x0c, 0xaa,
3542 	0xef, 0xb5, 0xd5, 0x8c, 0xcd, 0xcb, 0xc2, 0x7f, 0x0f, 0xf8, 0xa4, 0xd9,
3543 	0x40, 0xe7, 0x8f, 0x30, 0x30, 0x79, 0xec, 0x1c, 0xa5, 0xb0, 0xca, 0x3d,
3544 	0x4e, 0xcc, 0x75, 0x80, 0xf8, 0xb3, 0x4a, 0x9f, 0x04, 0x96, 0xc9, 0xe7,
3545 	0x19, 0xd2, 0xec, 0x3e, 0x16, 0x14, 0xb7, 0x64, 0x4b, 0xc1, 0x11, 0x79,
3546 	0xe8, 0x95, 0xd2, 0xc0, 0xb5, 0x8a, 0x1d, 0xa2, 0x04, 0xfb, 0xf0, 0xf6,
3547 	0xe5, 0x09, 0xf9, 0x7f, 0x98, 0x3e, 0xac, 0xb6, 0x48, 0x70, 0x92, 0xca,
3548 	0xf6, 0xe8, 0xe4, 0xe6, 0xb3, 0xc4, 0x58, 0xb2
3549 };
3550 static const uint8_t nist_186_2_ecdsa_testvector_78_private[] = {
3551 /* d - byte alignment */
3552 	0x00, 0x00, 0x00, 0x02, 0xe2, 0x86, 0x76, 0x51, 0x4b, 0xd9, 0x3f, 0xea,
3553 	0x11, 0xb6, 0x2d, 0xb0, 0xf6, 0xe3, 0x24, 0xb1, 0x8d
3554 };
3555 static const uint8_t nist_186_2_ecdsa_testvector_78_public_x[] = {
3556 /* Qx - byte alignment */
3557 	0x03, 0xf9, 0xc9, 0x0b, 0x71, 0xf6, 0xa1, 0xde, 0x20, 0xa2, 0x71, 0x6f,
3558 	0x38, 0xef, 0x1b, 0x5f, 0x98, 0xc7, 0x57, 0xbd, 0x42
3559 };
3560 static const uint8_t nist_186_2_ecdsa_testvector_78_public_y[] = {
3561 /* Qy - byte alignment */
3562 	0x02, 0xff, 0x0a, 0x5d, 0x26, 0x6d, 0x44, 0x7e, 0xf6, 0x2d, 0x43, 0xfb,
3563 	0xca, 0x6c, 0x34, 0xc0, 0x8c, 0x1c, 0xe3, 0x5a, 0x40
3564 };
3565 /* k = 00000001233ae699883e74e7f4dfb5279ff22280a */
3566 static const uint8_t nist_186_2_ecdsa_testvector_78_out[] = {
3567 /* R - byte alignment */
3568 	0x03, 0x9d, 0xe3, 0xcd, 0x2c, 0xf0, 0x41, 0x45, 0xe5, 0x22, 0xb8, 0xfb,
3569 	0xa3, 0xf2, 0x3e, 0x92, 0x18, 0x22, 0x6e, 0x08, 0x60,
3570 /* S - byte alignment */
3571 	0x02, 0xaf, 0x62, 0xbf, 0xb3, 0xcf, 0xa2, 0x02, 0xe2, 0x34, 0x26, 0x06,
3572 	0xee, 0x5b, 0xb0, 0x93, 0x4c, 0x3b, 0x03, 0x75, 0xb6
3573 };
3574 static const uint8_t nist_186_2_ecdsa_testvector_79_ptx[] = {
3575 /* Msg */
3576 	0xfb, 0xac, 0xfc, 0xce, 0x46, 0x88, 0x74, 0x84, 0x06, 0xdd, 0xf5, 0xc3,
3577 	0x49, 0x50, 0x21, 0xee, 0xf8, 0xfb, 0x39, 0x98, 0x65, 0xb6, 0x49, 0xeb,
3578 	0x23, 0x95, 0xa0, 0x4a, 0x1a, 0xb2, 0x83, 0x35, 0xda, 0x2c, 0x23, 0x6d,
3579 	0x30, 0x6f, 0xcc, 0x59, 0xf7, 0xb6, 0x5e, 0xa9, 0x31, 0xcf, 0x01, 0x39,
3580 	0x57, 0x1e, 0x15, 0x38, 0xed, 0xe5, 0x68, 0x89, 0x58, 0xc3, 0xac, 0x69,
3581 	0xf4, 0x7a, 0x28, 0x53, 0x62, 0xf5, 0xad, 0x20, 0x1f, 0x89, 0xcc, 0x73,
3582 	0x5b, 0x7b, 0x46, 0x54, 0x08, 0xc2, 0xc4, 0x1b, 0x31, 0x0f, 0xc8, 0x90,
3583 	0x8d, 0x0b, 0xe4, 0x50, 0x54, 0xdf, 0x2a, 0x73, 0x51, 0xfa, 0xe3, 0x6b,
3584 	0x39, 0x0e, 0x84, 0x2f, 0x3b, 0x5c, 0xdd, 0x9a, 0xd8, 0x32, 0x94, 0x0d,
3585 	0xf5, 0xb2, 0xd2, 0x5c, 0x2e, 0xd4, 0x3c, 0xe8, 0x6e, 0xaf, 0x25, 0x08,
3586 	0xbc, 0xf4, 0x01, 0xae, 0x58, 0xbb, 0x1d, 0x47
3587 };
3588 static const uint8_t nist_186_2_ecdsa_testvector_79_private[] = {
3589 /* d - byte alignment */
3590 	0x00, 0x00, 0x00, 0x03, 0x61, 0xdd, 0x08, 0x8e, 0x3a, 0x6d, 0x3c, 0x91,
3591 	0x06, 0x86, 0xc8, 0xdc, 0xe5, 0x7e, 0x5d, 0x4d, 0x8e
3592 };
3593 static const uint8_t nist_186_2_ecdsa_testvector_79_public_x[] = {
3594 /* Qx - byte alignment */
3595 	0x00, 0x64, 0xf9, 0x05, 0xc1, 0xda, 0x9d, 0x7e, 0x9c, 0x32, 0xd8, 0x18,
3596 	0x90, 0xae, 0x6f, 0x30, 0xdc, 0xc7, 0x83, 0x9d, 0x32
3597 };
3598 static const uint8_t nist_186_2_ecdsa_testvector_79_public_y[] = {
3599 /* Qy - byte alignment */
3600 	0x00, 0x6f, 0x1f, 0xae, 0xdb, 0x6d, 0x90, 0x32, 0x01, 0x6d, 0x3b, 0x68,
3601 	0x1e, 0x7c, 0xf6, 0x9c, 0x29, 0xd2, 0x9e, 0xb2, 0x7b
3602 };
3603 /* k = 00000022f723e9f5da56d3d0837d5dca2f937395f */
3604 static const uint8_t nist_186_2_ecdsa_testvector_79_out[] = {
3605 /* R - byte alignment */
3606 	0x03, 0x74, 0xcd, 0xc8, 0x57, 0x10, 0x83, 0xfe, 0xcf, 0xbd, 0x4e, 0x25,
3607 	0xe1, 0xcd, 0x69, 0xec, 0xc6, 0x6b, 0x71, 0x5f, 0x2d,
3608 /* S - byte alignment */
3609 	0x03, 0x13, 0xb1, 0x09, 0x49, 0x22, 0x29, 0x29, 0xb2, 0xf2, 0x0b, 0x15,
3610 	0xd4, 0x46, 0xc2, 0x7d, 0x6d, 0xca, 0xe3, 0xf0, 0x86
3611 };
3612 static const uint8_t nist_186_2_ecdsa_testvector_80_ptx[] = {
3613 /* Msg */
3614 	0x22, 0x0f, 0x5c, 0xeb, 0xca, 0xbe, 0x9f, 0x75, 0x74, 0x20, 0x8f, 0x9c,
3615 	0x59, 0xa0, 0xc0, 0x35, 0x4a, 0xdc, 0x29, 0xec, 0x94, 0xf8, 0x28, 0x35,
3616 	0x26, 0x37, 0xc6, 0x85, 0xf6, 0xcc, 0x3d, 0xc1, 0xa0, 0xed, 0xb7, 0xf7,
3617 	0x50, 0x2a, 0x59, 0x4c, 0xe3, 0xfd, 0x80, 0x35, 0x49, 0xa2, 0x4a, 0xea,
3618 	0x2e, 0x28, 0x59, 0x18, 0xd9, 0xc9, 0xd3, 0xd6, 0x54, 0x77, 0xad, 0xdb,
3619 	0xcd, 0xb7, 0x2a, 0xee, 0x3c, 0xb2, 0x9e, 0x9d, 0x46, 0x89, 0x78, 0x32,
3620 	0x61, 0xea, 0x7f, 0xe3, 0x3a, 0xe1, 0x5c, 0x49, 0x54, 0xf0, 0x59, 0x14,
3621 	0xf1, 0x61, 0x68, 0xfc, 0x35, 0xdb, 0x67, 0xfb, 0x89, 0x34, 0xa2, 0xb9,
3622 	0x3e, 0x86, 0x9a, 0x48, 0x72, 0x85, 0x05, 0x11, 0x38, 0x0f, 0x15, 0x0e,
3623 	0xf3, 0x05, 0xfd, 0x3a, 0x03, 0x5a, 0xb2, 0x46, 0xa4, 0x69, 0xee, 0x8e,
3624 	0x12, 0x8c, 0x7b, 0x4b, 0xf2, 0xea, 0xae, 0x0a
3625 };
3626 static const uint8_t nist_186_2_ecdsa_testvector_80_private[] = {
3627 /* d - byte alignment */
3628 	0x00, 0x00, 0x00, 0x01, 0xea, 0x9b, 0xc0, 0x41, 0x22, 0x9b, 0x8b, 0x6d,
3629 	0x2d, 0x69, 0x20, 0x3a, 0x88, 0x36, 0x5f, 0xfd, 0x5e
3630 };
3631 static const uint8_t nist_186_2_ecdsa_testvector_80_public_x[] = {
3632 /* Qx - byte alignment */
3633 	0x04, 0x17, 0x11, 0xcd, 0xff, 0x26, 0x44, 0x2d, 0xd6, 0x77, 0x07, 0xf4,
3634 	0x45, 0xaf, 0x77, 0xd7, 0x0e, 0x01, 0x1b, 0xcd, 0x51
3635 };
3636 static const uint8_t nist_186_2_ecdsa_testvector_80_public_y[] = {
3637 /* Qy - byte alignment */
3638 	0x06, 0x9c, 0x58, 0x5b, 0x72, 0xbc, 0x26, 0xef, 0xee, 0x95, 0x29, 0xf3,
3639 	0x98, 0xf0, 0x66, 0xe6, 0x74, 0x1c, 0xa3, 0xec, 0x35
3640 };
3641 /* k = 00000016a031feed289363088b92e9d87f98b184f */
3642 static const uint8_t nist_186_2_ecdsa_testvector_80_out[] = {
3643 /* R - byte alignment */
3644 	0x00, 0xb7, 0x2f, 0xf8, 0xa8, 0xb4, 0x05, 0xd4, 0xfc, 0x33, 0xa5, 0x0f,
3645 	0x21, 0x07, 0x83, 0xe2, 0x5b, 0x02, 0x6f, 0x29, 0x8b,
3646 /* S - byte alignment */
3647 	0x00, 0x1d, 0xb7, 0x46, 0x29, 0x9f, 0xd3, 0x0d, 0x20, 0x3b, 0x2b, 0xe4,
3648 	0x4b, 0xb2, 0x3c, 0xcf, 0x61, 0x05, 0x5c, 0x9a, 0x09
3649 };
3650 static const uint8_t nist_186_2_ecdsa_testvector_81_ptx[] = {
3651 /* Msg */
3652 	0xb2, 0x7e, 0x3e, 0xfe, 0x6f, 0xfc, 0xe7, 0xe1, 0x76, 0x1c, 0x27, 0x84,
3653 	0x9e, 0xab, 0xa3, 0xcc, 0xce, 0x43, 0xa5, 0xae, 0xb5, 0x28, 0x6c, 0x38,
3654 	0xbb, 0x70, 0xc7, 0xd1, 0x37, 0x67, 0xe2, 0xc1, 0xe2, 0x31, 0x5f, 0xf4,
3655 	0x8c, 0xb1, 0xa8, 0xfa, 0x0d, 0xaa, 0x84, 0x53, 0x7f, 0x24, 0xe9, 0xea,
3656 	0xaa, 0x12, 0x12, 0xdf, 0xc0, 0x31, 0xd0, 0x89, 0x4b, 0x33, 0x25, 0xbc,
3657 	0x63, 0x1d, 0x0f, 0x47, 0x24, 0xee, 0xa2, 0xc1, 0x5f, 0x81, 0x59, 0x86,
3658 	0x90, 0xb4, 0xae, 0xfc, 0x10, 0xca, 0xe8, 0x1b, 0x8c, 0x0e, 0x35, 0x2c,
3659 	0xb6, 0xb9, 0xf8, 0xd0, 0x3a, 0x16, 0x64, 0x45, 0xf4, 0xe4, 0x4a, 0xe5,
3660 	0x60, 0xfc, 0x2f, 0xef, 0x52, 0x34, 0xa2, 0x8a, 0xe7, 0x82, 0xcd, 0x07,
3661 	0xbb, 0x65, 0x49, 0x67, 0x5c, 0x80, 0x37, 0x1d, 0xff, 0x88, 0x8c, 0x15,
3662 	0x72, 0x61, 0xac, 0xf4, 0x52, 0x84, 0x3b, 0xa2
3663 };
3664 static const uint8_t nist_186_2_ecdsa_testvector_81_private[] = {
3665 /* d - byte alignment */
3666 	0x00, 0x00, 0x00, 0x03, 0x0d, 0x5c, 0x1d, 0xc7, 0x23, 0x12, 0xfb, 0x6e,
3667 	0x0a, 0x99, 0xb1, 0x2c, 0xd1, 0x49, 0xbc, 0x87, 0xa0
3668 };
3669 static const uint8_t nist_186_2_ecdsa_testvector_81_public_x[] = {
3670 /* Qx - byte alignment */
3671 	0x03, 0x64, 0x4d, 0x39, 0x7d, 0x5d, 0xa9, 0xca, 0x51, 0x2e, 0x53, 0x1a,
3672 	0xd7, 0xea, 0xbd, 0xd4, 0x6e, 0x94, 0xee, 0x64, 0x34
3673 };
3674 static const uint8_t nist_186_2_ecdsa_testvector_81_public_y[] = {
3675 /* Qy - byte alignment */
3676 	0x03, 0x07, 0x6e, 0xce, 0x39, 0xb0, 0xa6, 0x20, 0x12, 0x79, 0xda, 0x46,
3677 	0x6a, 0x6e, 0x94, 0xb1, 0x06, 0xec, 0xaf, 0x0b, 0xb4
3678 };
3679 /* k = 000000217f4ff46866a7d6245ba213da3c4ea7abd */
3680 static const uint8_t nist_186_2_ecdsa_testvector_81_out[] = {
3681 /* R - byte alignment */
3682 	0x01, 0x3c, 0xb5, 0x49, 0x9d, 0xef, 0x63, 0x9a, 0xc6, 0xd2, 0x8b, 0xe0,
3683 	0x65, 0x99, 0x20, 0x63, 0x42, 0xf5, 0x53, 0xb8, 0x96,
3684 /* S - byte alignment */
3685 	0x02, 0x0b, 0xd7, 0x31, 0xcf, 0x1e, 0xfd, 0xe7, 0x53, 0x59, 0xf9, 0x25,
3686 	0xd9, 0xb9, 0xff, 0xb1, 0x18, 0x60, 0xfb, 0xed, 0xb8
3687 };
3688 static const uint8_t nist_186_2_ecdsa_testvector_82_ptx[] = {
3689 /* Msg */
3690 	0x87, 0xf3, 0xb9, 0xf9, 0x71, 0x94, 0xfb, 0x07, 0x0e, 0xa8, 0x3c, 0x0c,
3691 	0xe6, 0xa8, 0xe2, 0x67, 0x2e, 0x05, 0x6a, 0x30, 0xed, 0xbc, 0xad, 0x6e,
3692 	0x5d, 0x2b, 0x62, 0x8a, 0x94, 0x22, 0xe5, 0x04, 0x63, 0x3e, 0x37, 0x65,
3693 	0x7f, 0x72, 0x45, 0x75, 0xde, 0xe7, 0x6d, 0xad, 0x64, 0x06, 0x3e, 0xef,
3694 	0xbf, 0xd3, 0x7f, 0x75, 0x90, 0x7c, 0x73, 0x08, 0xcb, 0x31, 0x5c, 0x72,
3695 	0x60, 0x37, 0x3e, 0x35, 0x1b, 0x38, 0xe5, 0x7d, 0xc8, 0xde, 0x29, 0x54,
3696 	0x9c, 0xa0, 0x71, 0x15, 0xd0, 0xdb, 0x76, 0x23, 0x8f, 0x24, 0x4a, 0xda,
3697 	0x12, 0xdd, 0x98, 0xc6, 0x0a, 0x06, 0x2d, 0x13, 0x3e, 0x56, 0xb7, 0x45,
3698 	0x75, 0x8a, 0xcd, 0x2a, 0x96, 0xfe, 0x30, 0x0c, 0x0e, 0x7a, 0x51, 0x2a,
3699 	0x72, 0x4e, 0x13, 0x6a, 0x65, 0xa1, 0xd1, 0x48, 0xbd, 0x06, 0xa3, 0x12,
3700 	0xe1, 0x50, 0xdd, 0x57, 0x75, 0xa8, 0xd9, 0x9d
3701 };
3702 static const uint8_t nist_186_2_ecdsa_testvector_82_private[] = {
3703 /* d - byte alignment */
3704 	0x00, 0x00, 0x00, 0x01, 0x61, 0xe9, 0x60, 0x4c, 0x1c, 0xf3, 0xa7, 0x2a,
3705 	0x25, 0x59, 0xf5, 0x2f, 0x2e, 0x5a, 0x33, 0xa0, 0x0d
3706 };
3707 static const uint8_t nist_186_2_ecdsa_testvector_82_public_x[] = {
3708 /* Qx - byte alignment */
3709 	0x03, 0xaa, 0x80, 0x97, 0x24, 0x50, 0xe0, 0x1b, 0x6a, 0x92, 0x9a, 0x50,
3710 	0x61, 0xc1, 0xe2, 0xfa, 0x89, 0x46, 0x02, 0xf8, 0x06
3711 };
3712 static const uint8_t nist_186_2_ecdsa_testvector_82_public_y[] = {
3713 /* Qy - byte alignment */
3714 	0x07, 0x14, 0x40, 0x7f, 0x01, 0x02, 0xa1, 0xe3, 0xc2, 0xb9, 0x76, 0xb5,
3715 	0xc1, 0x4d, 0x27, 0xc3, 0x6c, 0xc7, 0xc9, 0x79, 0xcf
3716 };
3717 /* k = 0000003a825776cddc985306cd5aa113f7c564063 */
3718 static const uint8_t nist_186_2_ecdsa_testvector_82_out[] = {
3719 /* R - byte alignment */
3720 	0x01, 0xcf, 0x66, 0xa6, 0x8f, 0x88, 0x23, 0xae, 0xe8, 0xdf, 0x5a, 0x84,
3721 	0x2d, 0x76, 0x9c, 0x59, 0xab, 0x81, 0x52, 0xdd, 0xf2,
3722 /* S - byte alignment */
3723 	0x01, 0x9a, 0xdf, 0x89, 0x20, 0x11, 0x10, 0x5e, 0xcf, 0x4a, 0x9f, 0xf3,
3724 	0x7a, 0xb6, 0x1b, 0x11, 0x12, 0x90, 0x3b, 0x0e, 0xa9
3725 };
3726 static const uint8_t nist_186_2_ecdsa_testvector_83_ptx[] = {
3727 /* Msg */
3728 	0x4c, 0xf2, 0xee, 0x62, 0x40, 0xa7, 0x5c, 0xb1, 0xc7, 0xf9, 0xf3, 0x81,
3729 	0xd1, 0xa4, 0xd0, 0x8e, 0x01, 0x57, 0x39, 0x15, 0x68, 0x65, 0x7f, 0x2f,
3730 	0x94, 0xbd, 0x29, 0x5d, 0xc9, 0x1c, 0x4e, 0x64, 0x8e, 0x81, 0x43, 0x5b,
3731 	0x6b, 0xe2, 0x77, 0x02, 0xf2, 0x1d, 0x9a, 0x55, 0xfc, 0x31, 0x05, 0x61,
3732 	0x35, 0xae, 0x56, 0x57, 0xdb, 0x6a, 0x5a, 0xdf, 0xc2, 0x76, 0x31, 0xae,
3733 	0x9c, 0x50, 0xac, 0x5b, 0x77, 0x5a, 0xfa, 0x6e, 0x87, 0x8b, 0x84, 0xbb,
3734 	0x26, 0x65, 0x15, 0xee, 0x19, 0x27, 0x3e, 0x66, 0x15, 0x43, 0xf9, 0x47,
3735 	0x81, 0x12, 0x8c, 0xca, 0x7e, 0xc7, 0xb0, 0xd8, 0x25, 0xa2, 0xf3, 0xd8,
3736 	0x0f, 0x66, 0x5b, 0xc5, 0x1b, 0x0c, 0x4c, 0x83, 0x6b, 0xb9, 0xab, 0x73,
3737 	0xb0, 0xee, 0x44, 0x45, 0xa8, 0xfe, 0x69, 0x0d, 0xe5, 0xc6, 0xdc, 0x99,
3738 	0xcf, 0x98, 0xf0, 0x02, 0xec, 0x78, 0xea, 0x82
3739 };
3740 static const uint8_t nist_186_2_ecdsa_testvector_83_private[] = {
3741 /* d - byte alignment */
3742 	0x00, 0x00, 0x00, 0x01, 0x12, 0xd8, 0xd8, 0x62, 0xd6, 0x3a, 0xa8, 0xcc,
3743 	0x9a, 0xae, 0x8f, 0xc6, 0x08, 0x93, 0x10, 0x26, 0x1a
3744 };
3745 static const uint8_t nist_186_2_ecdsa_testvector_83_public_x[] = {
3746 /* Qx - byte alignment */
3747 	0x01, 0xfb, 0x53, 0x45, 0x0e, 0x99, 0x8e, 0x10, 0xf3, 0xd7, 0xe2, 0x50,
3748 	0xaf, 0x25, 0x09, 0x1b, 0x34, 0x16, 0xf9, 0x55, 0x7c
3749 };
3750 static const uint8_t nist_186_2_ecdsa_testvector_83_public_y[] = {
3751 /* Qy - byte alignment */
3752 	0x04, 0x20, 0x13, 0xa4, 0x3e, 0x83, 0xde, 0x70, 0xea, 0xe3, 0x4e, 0xc0,
3753 	0xf1, 0xc9, 0xe0, 0x64, 0xf8, 0xb8, 0xa4, 0xcf, 0x96
3754 };
3755 /* k = 0000000f87c1a90f06df81b91e3f5ea2b901dc1ce */
3756 static const uint8_t nist_186_2_ecdsa_testvector_83_out[] = {
3757 /* R - byte alignment */
3758 	0x03, 0x86, 0x52, 0x6c, 0x35, 0x5a, 0x58, 0x65, 0xdd, 0x24, 0x4e, 0x0d,
3759 	0x1d, 0xc7, 0x60, 0x8c, 0x68, 0xa0, 0x5d, 0x09, 0x24,
3760 /* S - byte alignment */
3761 	0x01, 0x2a, 0x0c, 0x46, 0x92, 0x44, 0x23, 0x4a, 0xcf, 0x9e, 0xf7, 0x6a,
3762 	0xab, 0x62, 0x5e, 0xe4, 0xf0, 0x87, 0xd5, 0x87, 0x1d
3763 };
3764 static const uint8_t nist_186_2_ecdsa_testvector_84_ptx[] = {
3765 /* Msg */
3766 	0x72, 0xdd, 0xa4, 0x28, 0x45, 0x65, 0x4c, 0xb2, 0x5d, 0x35, 0xcf, 0x8c,
3767 	0xe3, 0xa7, 0xb3, 0x77, 0xa5, 0x1b, 0x66, 0x72, 0xb1, 0x3b, 0x77, 0x25,
3768 	0x23, 0x84, 0x06, 0x80, 0x3b, 0x02, 0x7a, 0xa0, 0xb3, 0x5a, 0x72, 0xf2,
3769 	0x4f, 0x0e, 0xfd, 0x9a, 0xb5, 0xfd, 0x0d, 0x16, 0x7f, 0x29, 0x29, 0x1e,
3770 	0x8f, 0xbd, 0x63, 0xcf, 0xa2, 0x4f, 0x8a, 0x09, 0x28, 0x62, 0xa0, 0x16,
3771 	0x54, 0x2f, 0x8e, 0x8c, 0x6f, 0xa5, 0x17, 0x74, 0x71, 0xae, 0x0b, 0xab,
3772 	0xd2, 0xb4, 0xbd, 0x89, 0x9e, 0x64, 0xb6, 0xc1, 0xc8, 0xb1, 0xab, 0x88,
3773 	0xc0, 0x1c, 0xad, 0xfa, 0x47, 0x33, 0xa0, 0xb9, 0x83, 0x58, 0xee, 0xd7,
3774 	0x4e, 0xc4, 0x7d, 0xf6, 0xd4, 0xcc, 0xde, 0xad, 0x5d, 0x62, 0xc7, 0x2e,
3775 	0x67, 0xde, 0xc3, 0x26, 0xf8, 0xff, 0x28, 0xe5, 0x32, 0x2c, 0x49, 0xbf,
3776 	0x28, 0x00, 0xee, 0xb2, 0xf0, 0x06, 0x01, 0x49
3777 };
3778 static const uint8_t nist_186_2_ecdsa_testvector_84_private[] = {
3779 /* d - byte alignment */
3780 	0x00, 0x00, 0x00, 0x01, 0x10, 0x0c, 0x44, 0x9f, 0x8f, 0x2a, 0xfb, 0x6c,
3781 	0xc3, 0x7c, 0xb5, 0x9a, 0xbb, 0x74, 0x42, 0x35, 0xaa
3782 };
3783 static const uint8_t nist_186_2_ecdsa_testvector_84_public_x[] = {
3784 /* Qx - byte alignment */
3785 	0x00, 0xcc, 0x30, 0x8b, 0xd9, 0x87, 0xb7, 0x3d, 0xe3, 0xda, 0xde, 0x37,
3786 	0x50, 0xb6, 0x02, 0xb2, 0xaf, 0x38, 0x97, 0x5d, 0x2f
3787 };
3788 static const uint8_t nist_186_2_ecdsa_testvector_84_public_y[] = {
3789 /* Qy - byte alignment */
3790 	0x04, 0x43, 0x40, 0x7a, 0x50, 0xec, 0xcf, 0x27, 0x33, 0x85, 0x84, 0x04,
3791 	0xdb, 0x64, 0x6b, 0x47, 0x81, 0x6a, 0xeb, 0xbf, 0x5d
3792 };
3793 /* k = 0000001f196493e41d9aa701ae69b9efa6ef754d0 */
3794 static const uint8_t nist_186_2_ecdsa_testvector_84_out[] = {
3795 /* R - byte alignment */
3796 	0x02, 0xe9, 0x13, 0xb4, 0x69, 0x87, 0x46, 0x0d, 0x86, 0x35, 0xc8, 0x63,
3797 	0x71, 0xae, 0xb0, 0x89, 0x8d, 0x51, 0xfc, 0x57, 0x9f,
3798 /* S - byte alignment */
3799 	0x01, 0x76, 0x8e, 0xde, 0x6f, 0xa5, 0xbc, 0x7a, 0x16, 0x55, 0x41, 0x89,
3800 	0xd5, 0xdd, 0x8c, 0x6d, 0x64, 0xbb, 0x35, 0x36, 0x5b
3801 };
3802 static const uint8_t nist_186_2_ecdsa_testvector_85_ptx[] = {
3803 /* Msg */
3804 	0xbe, 0xc9, 0x65, 0x87, 0xaf, 0x3c, 0x78, 0x4d, 0xa0, 0xe5, 0x47, 0xbc,
3805 	0xfb, 0x15, 0x34, 0xc0, 0xd2, 0x25, 0x81, 0x9f, 0x23, 0xad, 0xb8, 0xce,
3806 	0x5b, 0xf7, 0x4a, 0x09, 0x18, 0xb4, 0x76, 0xa2, 0x33, 0xed, 0x6c, 0x1a,
3807 	0xfe, 0x3c, 0xb3, 0xee, 0xca, 0x3b, 0xc8, 0xb3, 0xad, 0x3d, 0x08, 0x65,
3808 	0x82, 0x3c, 0xcf, 0xfd, 0x30, 0x13, 0xe2, 0x41, 0x30, 0xed, 0x0a, 0xe0,
3809 	0x49, 0xfe, 0x02, 0xbe, 0x9e, 0x71, 0x93, 0x8d, 0xeb, 0xa1, 0xfe, 0x9d,
3810 	0x0c, 0x8b, 0x9a, 0xf5, 0xbf, 0x84, 0xbe, 0xa2, 0xaa, 0x27, 0xe1, 0x4f,
3811 	0xa0, 0x92, 0x00, 0x16, 0x20, 0xd2, 0x41, 0x96, 0x1e, 0x9b, 0xd5, 0x46,
3812 	0x06, 0x3c, 0x22, 0x08, 0xff, 0xd3, 0x22, 0x02, 0x6d, 0xbd, 0x06, 0xa9,
3813 	0xb9, 0x51, 0x20, 0x1e, 0x54, 0xce, 0xff, 0xbe, 0xf9, 0x91, 0xdc, 0xf5,
3814 	0x33, 0x8c, 0x35, 0x52, 0x20, 0xf3, 0xb7, 0xe1
3815 };
3816 static const uint8_t nist_186_2_ecdsa_testvector_85_private[] = {
3817 /* d - byte alignment */
3818 	0x00, 0x00, 0x00, 0x03, 0xc8, 0x7d, 0x11, 0xdf, 0x7c, 0x27, 0xdd, 0x15,
3819 	0x99, 0x03, 0x5c, 0x33, 0xa5, 0x48, 0x7f, 0xaf, 0x21
3820 };
3821 static const uint8_t nist_186_2_ecdsa_testvector_85_public_x[] = {
3822 /* Qx - byte alignment */
3823 	0x01, 0xa7, 0xd1, 0xab, 0xee, 0x8f, 0x7f, 0x94, 0x12, 0x83, 0x8f, 0xcb,
3824 	0x46, 0x86, 0xf2, 0x46, 0xd8, 0x2b, 0x71, 0xf9, 0x7a
3825 };
3826 static const uint8_t nist_186_2_ecdsa_testvector_85_public_y[] = {
3827 /* Qy - byte alignment */
3828 	0x00, 0xfe, 0xf6, 0x98, 0x42, 0xfb, 0xde, 0x66, 0x1e, 0xee, 0x35, 0xfb,
3829 	0xde, 0x66, 0xf2, 0x69, 0x31, 0xc5, 0x61, 0x54, 0x06
3830 };
3831 /* k = 0000002e991f95b13753b6c9ffb941d4553681bce */
3832 static const uint8_t nist_186_2_ecdsa_testvector_85_out[] = {
3833 /* R - byte alignment */
3834 	0x03, 0x8e, 0x87, 0x1a, 0x80, 0xd0, 0x4d, 0x37, 0x53, 0xaf, 0xee, 0x22,
3835 	0xd4, 0x0e, 0xda, 0xee, 0xa8, 0x55, 0x51, 0xdf, 0x74,
3836 /* S - byte alignment */
3837 	0x03, 0xe2, 0xa9, 0xd7, 0x5c, 0xc3, 0xd7, 0x98, 0x92, 0x89, 0x88, 0xe3,
3838 	0x98, 0x52, 0x59, 0xef, 0x4b, 0x69, 0x6c, 0x91, 0x83
3839 };
3840 static const uint8_t nist_186_2_ecdsa_testvector_86_ptx[] = {
3841 /* Msg */
3842 	0xee, 0xe8, 0x3f, 0x9a, 0xd3, 0xf8, 0x0c, 0x73, 0xc6, 0xe3, 0x3e, 0x4c,
3843 	0x34, 0xf5, 0x38, 0x08, 0x41, 0x4d, 0xf4, 0xca, 0x54, 0x48, 0xa6, 0x0a,
3844 	0xd5, 0x3d, 0x9c, 0xe9, 0x35, 0x6b, 0x69, 0xc1, 0x2f, 0x2f, 0x42, 0x01,
3845 	0x4e, 0x7b, 0xa8, 0x38, 0xb0, 0x83, 0x48, 0x6f, 0x09, 0xb9, 0x1f, 0xbc,
3846 	0xea, 0xfc, 0xe1, 0x14, 0x44, 0x0c, 0x9c, 0x61, 0x28, 0x42, 0x98, 0xd4,
3847 	0xd0, 0x7e, 0x83, 0x7d, 0xe3, 0x60, 0xca, 0x19, 0xf5, 0xbb, 0x4a, 0x2b,
3848 	0x4d, 0x46, 0x28, 0x4e, 0xec, 0x95, 0xfd, 0xc9, 0xcb, 0x48, 0x37, 0x64,
3849 	0x63, 0x83, 0xbc, 0x7a, 0x72, 0x9e, 0xd0, 0x50, 0xfd, 0x1d, 0x38, 0xa5,
3850 	0x91, 0xe2, 0x9f, 0x8a, 0xcf, 0xa1, 0x3a, 0x74, 0x28, 0x95, 0xa8, 0x90,
3851 	0xe4, 0x71, 0x1c, 0x56, 0x69, 0x9a, 0xbd, 0x61, 0xba, 0x93, 0x4d, 0x7e,
3852 	0x3e, 0xb8, 0x09, 0x03, 0xc3, 0x30, 0xd1, 0x62
3853 };
3854 static const uint8_t nist_186_2_ecdsa_testvector_86_private[] = {
3855 /* d - byte alignment */
3856 	0x00, 0x00, 0x00, 0x02, 0x17, 0x95, 0xe5, 0x62, 0xec, 0x44, 0xfa, 0xbf,
3857 	0x86, 0xa7, 0x75, 0xa5, 0x8c, 0xb6, 0x15, 0x8a, 0x4c
3858 };
3859 static const uint8_t nist_186_2_ecdsa_testvector_86_public_x[] = {
3860 /* Qx - byte alignment */
3861 	0x07, 0x45, 0x73, 0x40, 0xc9, 0xec, 0xa2, 0x80, 0xbf, 0x33, 0xd2, 0x97,
3862 	0xa4, 0x65, 0xd4, 0x00, 0xe3, 0x14, 0x18, 0xba, 0xf7
3863 };
3864 static const uint8_t nist_186_2_ecdsa_testvector_86_public_y[] = {
3865 /* Qy - byte alignment */
3866 	0x06, 0xf3, 0x35, 0xb0, 0x7b, 0x49, 0x02, 0x1b, 0xe5, 0x6f, 0x0e, 0x7b,
3867 	0x32, 0x0f, 0x0b, 0x2f, 0xe5, 0x7a, 0x92, 0x36, 0xf2
3868 };
3869 /* k = 00000016d19275205c1d866392ff232ddc4e0e41d */
3870 static const uint8_t nist_186_2_ecdsa_testvector_86_out[] = {
3871 /* R - byte alignment */
3872 	0x00, 0xe8, 0xf2, 0x08, 0xd7, 0x40, 0x8d, 0x23, 0x1b, 0xc0, 0xa0, 0xf8,
3873 	0x85, 0xfc, 0x50, 0xc9, 0xd0, 0x98, 0xf3, 0xe6, 0x9d,
3874 /* S - byte alignment */
3875 	0x03, 0xd7, 0x20, 0xaa, 0xff, 0x03, 0x43, 0xd0, 0xd7, 0xff, 0x93, 0xc1,
3876 	0xff, 0xf9, 0x0e, 0x83, 0xfc, 0x18, 0xc0, 0x7c, 0xcb
3877 };
3878 static const uint8_t nist_186_2_ecdsa_testvector_87_ptx[] = {
3879 /* Msg */
3880 	0x3d, 0x0c, 0x9a, 0x35, 0x03, 0x6a, 0xae, 0xaa, 0xd2, 0xb2, 0xf7, 0xac,
3881 	0x72, 0x1e, 0x15, 0x6c, 0x24, 0x76, 0xfe, 0x17, 0x2a, 0x87, 0xa1, 0xf3,
3882 	0x8a, 0xd0, 0xca, 0xaa, 0x10, 0x7e, 0x46, 0xe6, 0x92, 0x9b, 0x47, 0x1d,
3883 	0x77, 0x82, 0x0a, 0xaf, 0x7a, 0x96, 0xb6, 0x2e, 0xac, 0x33, 0x88, 0xfc,
3884 	0xb8, 0xe5, 0x2d, 0x1c, 0x6b, 0xd8, 0x6f, 0x42, 0x74, 0x90, 0x14, 0x2c,
3885 	0x68, 0xda, 0x03, 0x35, 0x09, 0x03, 0xa9, 0x28, 0xc7, 0x47, 0x9b, 0x52,
3886 	0x87, 0x8c, 0x7d, 0xdb, 0xa4, 0x51, 0x22, 0x56, 0x33, 0xe1, 0xf4, 0x96,
3887 	0x8c, 0xcc, 0x97, 0xc3, 0x06, 0x97, 0xc9, 0xae, 0x01, 0xb3, 0x8d, 0x62,
3888 	0x2a, 0xac, 0x88, 0xfc, 0xfa, 0xa3, 0xab, 0xbc, 0x80, 0xfe, 0x12, 0x5b,
3889 	0x61, 0x5e, 0x2c, 0x9f, 0x1d, 0xd1, 0x1d, 0x2e, 0x93, 0x4a, 0x60, 0xa0,
3890 	0xc8, 0x4e, 0xb1, 0xd7, 0xe4, 0xef, 0x2a, 0x93
3891 };
3892 static const uint8_t nist_186_2_ecdsa_testvector_87_private[] = {
3893 /* d - byte alignment */
3894 	0x00, 0x00, 0x00, 0x03, 0x10, 0xb1, 0x81, 0xa9, 0x71, 0xc6, 0x5b, 0x40,
3895 	0x46, 0xb8, 0x9a, 0x12, 0x76, 0xe1, 0x48, 0x09, 0x47
3896 };
3897 static const uint8_t nist_186_2_ecdsa_testvector_87_public_x[] = {
3898 /* Qx - byte alignment */
3899 	0x04, 0xce, 0x4a, 0xd1, 0x99, 0x09, 0x31, 0xf9, 0x41, 0xf3, 0x38, 0xa9,
3900 	0xd9, 0x6a, 0xf9, 0x57, 0x1a, 0x1d, 0xb9, 0x44, 0xc7
3901 };
3902 static const uint8_t nist_186_2_ecdsa_testvector_87_public_y[] = {
3903 /* Qy - byte alignment */
3904 	0x03, 0xc5, 0x15, 0x88, 0x97, 0xa7, 0xd9, 0x6c, 0x06, 0x56, 0x50, 0xed,
3905 	0x31, 0x41, 0x6f, 0x30, 0x0f, 0xf4, 0x5d, 0xf8, 0x08
3906 };
3907 /* k = 00000010a625837343a44a7d8701636b82a8a950c */
3908 static const uint8_t nist_186_2_ecdsa_testvector_87_out[] = {
3909 /* R - byte alignment */
3910 	0x02, 0xcd, 0xb0, 0x81, 0x1a, 0xc0, 0x4a, 0x55, 0xe2, 0x0d, 0x60, 0x67,
3911 	0x7f, 0xda, 0x53, 0x98, 0x2e, 0xa2, 0x40, 0x71, 0x89,
3912 /* S - byte alignment */
3913 	0x03, 0x67, 0xe4, 0x48, 0x88, 0xd8, 0x29, 0x50, 0xa2, 0x08, 0x14, 0x99,
3914 	0x39, 0xc6, 0xae, 0x73, 0x26, 0x7c, 0x9d, 0x16, 0xc5
3915 };
3916 static const uint8_t nist_186_2_ecdsa_testvector_88_ptx[] = {
3917 /* Msg */
3918 	0x14, 0xd1, 0xfb, 0x46, 0x3a, 0x53, 0xde, 0xad, 0x1c, 0xaa, 0x23, 0x3c,
3919 	0x94, 0x18, 0x9a, 0xd8, 0x00, 0x50, 0xb6, 0x74, 0x99, 0x7e, 0x86, 0x35,
3920 	0x00, 0x88, 0xe7, 0xd4, 0x1a, 0x93, 0xf9, 0x45, 0x1e, 0xca, 0xcf, 0x96,
3921 	0xec, 0x5a, 0x6b, 0x19, 0xa1, 0xc1, 0xe9, 0xc5, 0x68, 0x49, 0xfa, 0xda,
3922 	0x93, 0xcf, 0x94, 0xc4, 0xea, 0xc9, 0xe8, 0x42, 0x42, 0x88, 0x95, 0xc7,
3923 	0x52, 0xba, 0x1b, 0x21, 0xc3, 0x32, 0x92, 0x58, 0x86, 0xec, 0x9c, 0xd9,
3924 	0x6a, 0x4b, 0x98, 0xd3, 0xee, 0xa6, 0x18, 0xe2, 0x53, 0x03, 0x95, 0xeb,
3925 	0xf6, 0x22, 0x62, 0x47, 0xdd, 0xbe, 0xdf, 0x23, 0x90, 0x0f, 0xef, 0x26,
3926 	0x2a, 0x93, 0xac, 0x55, 0xaf, 0x0e, 0x59, 0x34, 0xa0, 0xd0, 0x97, 0x2e,
3927 	0xcd, 0x36, 0xdc, 0x37, 0x6b, 0x73, 0x22, 0xb0, 0x66, 0x90, 0xdc, 0x8b,
3928 	0xf9, 0xb2, 0x2e, 0xaf, 0x7b, 0x9c, 0x5d, 0x9e
3929 };
3930 static const uint8_t nist_186_2_ecdsa_testvector_88_private[] = {
3931 /* d - byte alignment */
3932 	0x00, 0x00, 0x00, 0x00, 0x5b, 0xbc, 0xe8, 0xf1, 0xf0, 0xd1, 0xad, 0xb7,
3933 	0xbd, 0xf2, 0xf5, 0xdd, 0xa8, 0x2f, 0xa4, 0xc6, 0xba
3934 };
3935 static const uint8_t nist_186_2_ecdsa_testvector_88_public_x[] = {
3936 /* Qx - byte alignment */
3937 	0x00, 0xfa, 0xb0, 0x00, 0x0b, 0xb5, 0xd8, 0x16, 0x3e, 0xdf, 0x17, 0xb9,
3938 	0x6c, 0xd5, 0xb7, 0x77, 0x26, 0x1d, 0xf0, 0xfe, 0x12
3939 };
3940 static const uint8_t nist_186_2_ecdsa_testvector_88_public_y[] = {
3941 /* Qy - byte alignment */
3942 	0x05, 0x2a, 0xc5, 0xec, 0x94, 0xf8, 0x87, 0x3a, 0x7b, 0x60, 0xff, 0x2e,
3943 	0x71, 0xfc, 0x17, 0x22, 0x3e, 0xfb, 0xb4, 0x6e, 0x38
3944 };
3945 /* k = 000000067b782d169e842d0077bde068705aee8e7 */
3946 static const uint8_t nist_186_2_ecdsa_testvector_88_out[] = {
3947 /* R - byte alignment */
3948 	0x03, 0x1f, 0x6c, 0x99, 0x6e, 0xc0, 0xd1, 0x61, 0x05, 0xff, 0x1a, 0xc7,
3949 	0x5e, 0xda, 0x35, 0xf1, 0x5e, 0x14, 0x29, 0x25, 0xda,
3950 /* S - byte alignment */
3951 	0x01, 0xe2, 0x3e, 0xef, 0x66, 0xc3, 0x12, 0x6a, 0x36, 0xee, 0x19, 0xa9,
3952 	0x04, 0x80, 0x95, 0xf9, 0x61, 0x38, 0x57, 0x08, 0x23
3953 };
3954 static const uint8_t nist_186_2_ecdsa_testvector_89_ptx[] = {
3955 /* Msg */
3956 	0x1e, 0xf7, 0x9e, 0x82, 0xfd, 0x0c, 0x8d, 0x6e, 0x52, 0xfd, 0x25, 0xa5,
3957 	0xec, 0xb3, 0xbb, 0xfd, 0xd9, 0x51, 0xf6, 0x4e, 0x1e, 0x16, 0x26, 0x79,
3958 	0xab, 0x86, 0xd7, 0xa9, 0x8d, 0xc4, 0xa7, 0xd9, 0x66, 0x43, 0x54, 0x97,
3959 	0x1a, 0x9d, 0x19, 0x07, 0xcc, 0xc3, 0x3b, 0x2a, 0x09, 0x57, 0xdf, 0x60,
3960 	0x42, 0x56, 0x1e, 0x2c, 0x80, 0xfa, 0x5b, 0x38, 0x53, 0xdf, 0xd4, 0x99,
3961 	0x0b, 0x64, 0x78, 0x53, 0x2b, 0x54, 0xf9, 0x20, 0x1b, 0xc6, 0x21, 0x6d,
3962 	0x1d, 0x41, 0x69, 0xa6, 0x82, 0x24, 0xc8, 0xb3, 0x1e, 0x45, 0xc9, 0xc3,
3963 	0xf9, 0xd9, 0xe0, 0x48, 0x47, 0x94, 0xfe, 0x42, 0x9b, 0x11, 0x63, 0xc1,
3964 	0x57, 0x73, 0xb4, 0xa5, 0x67, 0x4d, 0x4d, 0xa9, 0x2f, 0xbf, 0xd8, 0xa0,
3965 	0xc1, 0xe2, 0x1e, 0xfe, 0x54, 0x66, 0x1e, 0x99, 0xf2, 0x7a, 0x5c, 0xb1,
3966 	0x70, 0xec, 0x7c, 0x2e, 0xa3, 0x92, 0x0f, 0x2a
3967 };
3968 static const uint8_t nist_186_2_ecdsa_testvector_89_private[] = {
3969 /* d - byte alignment */
3970 	0x00, 0x00, 0x00, 0x02, 0x34, 0xe1, 0xb3, 0x04, 0x6e, 0xd2, 0x9e, 0xcc,
3971 	0xa9, 0x2e, 0x31, 0xd8, 0x6a, 0x0d, 0xc2, 0x2b, 0xc6
3972 };
3973 static const uint8_t nist_186_2_ecdsa_testvector_89_public_x[] = {
3974 /* Qx - byte alignment */
3975 	0x03, 0x0b, 0x3e, 0x2f, 0xae, 0x4d, 0xdc, 0x9b, 0xde, 0x52, 0x58, 0x68,
3976 	0x95, 0x24, 0x54, 0xd5, 0x93, 0x42, 0x32, 0x70, 0x79
3977 };
3978 static const uint8_t nist_186_2_ecdsa_testvector_89_public_y[] = {
3979 /* Qy - byte alignment */
3980 	0x06, 0x9c, 0xa8, 0x67, 0xd2, 0xd7, 0x9c, 0xd3, 0xa2, 0x32, 0x12, 0x84,
3981 	0x4d, 0x76, 0xb5, 0x0d, 0xbf, 0x9b, 0x47, 0x48, 0xcd
3982 };
3983 /* k = 0000000261db3bb5df417062578d6699ac24bf28a */
3984 static const uint8_t nist_186_2_ecdsa_testvector_89_out[] = {
3985 /* R - byte alignment */
3986 	0x00, 0x49, 0x67, 0xf9, 0xca, 0xe7, 0x4a, 0xcf, 0x37, 0x26, 0xa2, 0x41,
3987 	0xe5, 0x3c, 0xf7, 0x68, 0x1f, 0x7d, 0xc7, 0x2e, 0x2f,
3988 /* S - byte alignment */
3989 	0x03, 0x52, 0x45, 0x77, 0x7c, 0x0e, 0x01, 0xf3, 0x0c, 0x61, 0x31, 0x20,
3990 	0x73, 0x77, 0xbb, 0xae, 0x3c, 0xf8, 0x81, 0x0f, 0xea
3991 };
3992 static const uint8_t nist_186_2_ecdsa_testvector_90_ptx[] = {
3993 /* Msg */
3994 	0xd5, 0xdd, 0x3b, 0x6c, 0xe9, 0x77, 0x2d, 0x9a, 0x97, 0xfe, 0x21, 0x64,
3995 	0x84, 0x97, 0x78, 0x3b, 0xac, 0x5b, 0xb5, 0x25, 0x4a, 0xad, 0x82, 0xb6,
3996 	0xf7, 0xcb, 0xf4, 0x3b, 0x15, 0xa4, 0x0f, 0x38, 0x6e, 0xea, 0x8d, 0x15,
3997 	0x19, 0x67, 0xdb, 0x14, 0x9e, 0x94, 0x65, 0x86, 0x59, 0x68, 0x13, 0x3f,
3998 	0x24, 0x6e, 0x13, 0x47, 0x30, 0x1a, 0xda, 0xd2, 0x34, 0x5d, 0x65, 0x72,
3999 	0xca, 0x77, 0xc5, 0x8c, 0x15, 0x0d, 0xda, 0x09, 0xa8, 0x7b, 0x5f, 0x4d,
4000 	0xa3, 0x6b, 0x26, 0x6d, 0x1f, 0xa7, 0xa5, 0x9c, 0xcd, 0x2b, 0xb2, 0xe7,
4001 	0xd9, 0x7f, 0x8b, 0x23, 0x15, 0x43, 0x19, 0x23, 0x53, 0x0b, 0x76, 0x2e,
4002 	0x12, 0x6e, 0xac, 0xaf, 0x5e, 0x5a, 0xc0, 0x2f, 0xf1, 0xaa, 0xef, 0x81,
4003 	0x9e, 0xfb, 0x37, 0x3c, 0xf0, 0xbb, 0x19, 0x6f, 0x0e, 0x82, 0x9e, 0x8f,
4004 	0xe1, 0xa6, 0x98, 0xb4, 0x79, 0x0a, 0x2a, 0x05
4005 };
4006 static const uint8_t nist_186_2_ecdsa_testvector_90_private[] = {
4007 /* d - byte alignment */
4008 	0x00, 0x00, 0x00, 0x03, 0xf0, 0x76, 0x90, 0x78, 0x0b, 0xd7, 0x56, 0x01,
4009 	0x56, 0x5b, 0x3c, 0x4c, 0xc9, 0x67, 0x15, 0x9f, 0x0e
4010 };
4011 static const uint8_t nist_186_2_ecdsa_testvector_90_public_x[] = {
4012 /* Qx - byte alignment */
4013 	0x00, 0x85, 0xdb, 0x6d, 0x13, 0x12, 0xda, 0xb2, 0xfd, 0x00, 0xc8, 0x01,
4014 	0x62, 0xbe, 0xd1, 0x79, 0x10, 0x7a, 0x4b, 0x7c, 0xf3
4015 };
4016 static const uint8_t nist_186_2_ecdsa_testvector_90_public_y[] = {
4017 /* Qy - byte alignment */
4018 	0x05, 0x80, 0x07, 0xc8, 0x61, 0x93, 0xb2, 0x22, 0x98, 0x77, 0xf2, 0x9b,
4019 	0xce, 0x5b, 0xea, 0xc1, 0xe5, 0x47, 0xee, 0xf2, 0xd2
4020 };
4021 /* k = 000000113523759c8e2b89b3fb82f490a2f9a413f */
4022 static const uint8_t nist_186_2_ecdsa_testvector_90_out[] = {
4023 /* R - byte alignment */
4024 	0x00, 0xe8, 0xe4, 0x2b, 0x4a, 0x02, 0xba, 0x46, 0xb5, 0x85, 0x24, 0xce,
4025 	0x93, 0x3f, 0xad, 0x94, 0x47, 0xd8, 0x7f, 0x01, 0x77,
4026 /* S - byte alignment */
4027 	0x03, 0x4e, 0x41, 0xac, 0x5e, 0x05, 0xc0, 0x76, 0x30, 0x34, 0x91, 0x2f,
4028 	0xd8, 0x6e, 0xb4, 0x6e, 0x2d, 0xbe, 0xbc, 0x2f, 0x4f
4029 };
4030 /* [K-233] - GP NOT SUPPORTED */
4031 static const uint8_t nist_186_2_ecdsa_testvector_91_ptx[] = {
4032 /* Msg */
4033 	0xf7, 0x64, 0xf4, 0x2d, 0x70, 0xcf, 0x6e, 0xce, 0xa6, 0x26, 0xc3, 0x06,
4034 	0x9a, 0xb0, 0x27, 0x07, 0x4b, 0xca, 0x9e, 0x9c, 0xe1, 0x41, 0xc7, 0xb3,
4035 	0x2b, 0x00, 0xf8, 0x18, 0x4b, 0xeb, 0x90, 0x83, 0xb0, 0x0a, 0x89, 0xd5,
4036 	0x45, 0xea, 0x4d, 0x9f, 0xe8, 0x40, 0xcb, 0xe4, 0x1e, 0xd0, 0xc9, 0x20,
4037 	0x05, 0x8d, 0x7c, 0x88, 0x8a, 0x02, 0x56, 0x94, 0xdb, 0xf0, 0x1f, 0xbb,
4038 	0x20, 0x39, 0x47, 0x7d, 0x66, 0xfc, 0x7b, 0xa7, 0xdb, 0x02, 0x76, 0xd3,
4039 	0x41, 0x59, 0x1a, 0x2e, 0x9d, 0x3e, 0xbf, 0x7e, 0x2f, 0x41, 0xcb, 0x63,
4040 	0xa7, 0xa3, 0x82, 0xdc, 0x96, 0x03, 0x20, 0x0e, 0x23, 0x39, 0x25, 0x41,
4041 	0xff, 0x83, 0xf1, 0x2c, 0x9b, 0xdf, 0x90, 0x72, 0x98, 0xb7, 0xd7, 0x6c,
4042 	0x7f, 0xc3, 0xb0, 0x29, 0xb2, 0x2c, 0xb2, 0xb3, 0xa2, 0xed, 0xf5, 0x94,
4043 	0x43, 0x7f, 0x24, 0x99, 0xbd, 0xb5, 0xd3, 0xd6
4044 };
4045 static const uint8_t nist_186_2_ecdsa_testvector_91_private[] = {
4046 /* d - byte alignment */
4047 	0x00, 0x00, 0x00, 0x00, 0x4f, 0xaa, 0xe1, 0x14, 0x0e, 0x1f, 0x42, 0x79,
4048 	0xe1, 0x89, 0x21, 0xc9, 0x41, 0x03, 0x79, 0xfc, 0xe7, 0x16, 0x92, 0xe5,
4049 	0x67, 0x83, 0x41, 0x90, 0x9c, 0xac
4050 };
4051 static const uint8_t nist_186_2_ecdsa_testvector_91_public_x[] = {
4052 /* Qx - byte alignment */
4053 	0x00, 0xc6, 0x36, 0x4b, 0x59, 0x33, 0xbe, 0xcd, 0x86, 0x78, 0xda, 0xa7,
4054 	0x9d, 0xc8, 0xd7, 0x92, 0x73, 0x2e, 0x2f, 0xa7, 0xfa, 0x74, 0xf3, 0xb7,
4055 	0x21, 0x78, 0x71, 0xfb, 0xe5, 0xc7
4056 };
4057 static const uint8_t nist_186_2_ecdsa_testvector_91_public_y[] = {
4058 /* Qy - byte alignment */
4059 	0x00, 0x79, 0x76, 0x4b, 0xdd, 0x86, 0x02, 0xe4, 0x5c, 0x4e, 0x26, 0x68,
4060 	0x9d, 0x0c, 0x39, 0x8c, 0x48, 0x94, 0x66, 0x7c, 0xd6, 0x7f, 0x18, 0x63,
4061 	0x4d, 0x8d, 0xcc, 0x93, 0x20, 0xe8
4062 };
4063 /* k = 00000000e6acf6a5eefdab8b6ad75e200b0a055bffd9293f73ca13d6d41 */
4064 static const uint8_t nist_186_2_ecdsa_testvector_91_out[] = {
4065 /* R - byte alignment */
4066 	0x00, 0x7b, 0x9d, 0x20, 0x1e, 0x5c, 0xf2, 0xb3, 0x80, 0x66, 0xba, 0xca,
4067 	0x3b, 0xbb, 0xa5, 0x5c, 0xb1, 0x64, 0x2d, 0xb5, 0x8e, 0xdf, 0xca, 0xbe,
4068 	0xef, 0xdb, 0x36, 0x60, 0x5f, 0x0d,
4069 /* S - byte alignment */
4070 	0x00, 0x0d, 0x96, 0x6c, 0xf5, 0xed, 0x16, 0x09, 0x11, 0x36, 0x03, 0x1f,
4071 	0xf0, 0xcb, 0x5b, 0x83, 0x04, 0xf5, 0x1a, 0x46, 0xaa, 0xcd, 0x0c, 0xa7,
4072 	0x0e, 0xdf, 0xb8, 0xdd, 0x9e, 0x94
4073 };
4074 static const uint8_t nist_186_2_ecdsa_testvector_92_ptx[] = {
4075 /* Msg */
4076 	0x4f, 0x01, 0x17, 0x01, 0xb0, 0x91, 0x94, 0x4a, 0xd9, 0x43, 0x33, 0x90,
4077 	0xdf, 0xef, 0x3b, 0x8f, 0xdb, 0x52, 0x47, 0x08, 0xd8, 0x62, 0x47, 0xb9,
4078 	0xef, 0xdf, 0xc9, 0x8c, 0xb0, 0x2b, 0x77, 0x0f, 0xc4, 0x5b, 0xe0, 0x24,
4079 	0xd1, 0x8e, 0x7b, 0xfa, 0x9e, 0x7d, 0xe8, 0x3b, 0x78, 0x54, 0x7a, 0x87,
4080 	0xd4, 0xc1, 0xf3, 0x22, 0x35, 0x4a, 0x8e, 0xe9, 0x50, 0xe3, 0x43, 0x8b,
4081 	0x6e, 0xc0, 0x46, 0xf5, 0x13, 0x68, 0xd1, 0x0e, 0xdd, 0x0b, 0x23, 0xa5,
4082 	0xae, 0x15, 0xc9, 0xa7, 0x0e, 0x03, 0x1c, 0x96, 0xca, 0x75, 0x0b, 0x36,
4083 	0xe1, 0x85, 0x1a, 0x8a, 0xa1, 0x58, 0xab, 0xfe, 0x0e, 0xf2, 0x7c, 0xe6,
4084 	0x83, 0x4f, 0x72, 0x27, 0x9c, 0xaf, 0x95, 0x34, 0x52, 0x31, 0x5b, 0x3d,
4085 	0x68, 0xa3, 0x29, 0xa3, 0x07, 0x99, 0x17, 0xae, 0xa5, 0xbc, 0xf4, 0x82,
4086 	0x2b, 0x65, 0x8a, 0x4f, 0x56, 0x6b, 0x22, 0xc9
4087 };
4088 static const uint8_t nist_186_2_ecdsa_testvector_92_private[] = {
4089 /* d - byte alignment */
4090 	0x00, 0x00, 0x00, 0x00, 0x1a, 0x65, 0x57, 0x96, 0xb6, 0x89, 0x6b, 0x4a,
4091 	0xd8, 0xf1, 0xf9, 0xfb, 0x7c, 0x8d, 0xeb, 0x2f, 0xc5, 0xa1, 0x2e, 0x35,
4092 	0x0c, 0xd2, 0x62, 0xda, 0xa0, 0xd7
4093 };
4094 static const uint8_t nist_186_2_ecdsa_testvector_92_public_x[] = {
4095 /* Qx - byte alignment */
4096 	0x00, 0x4b, 0xc5, 0x01, 0x44, 0x1d, 0xdf, 0x32, 0x30, 0x88, 0x78, 0x65,
4097 	0xc9, 0x74, 0x95, 0x41, 0xc7, 0x31, 0x67, 0x53, 0x08, 0x15, 0x58, 0xe5,
4098 	0xdf, 0x20, 0xca, 0xdd, 0x5d, 0x96
4099 };
4100 static const uint8_t nist_186_2_ecdsa_testvector_92_public_y[] = {
4101 /* Qy - byte alignment */
4102 	0x01, 0x7f, 0x90, 0x8f, 0x1b, 0x85, 0xcf, 0x0a, 0xf2, 0xfd, 0xb6, 0x50,
4103 	0xba, 0x58, 0xbb, 0x1d, 0x1a, 0x50, 0xa5, 0x38, 0xf4, 0x22, 0x64, 0x45,
4104 	0xaa, 0xab, 0x67, 0x74, 0x16, 0x7b
4105 };
4106 /* k = 00000001575c1e51145323e428693bdda6c974e997622cf9193aafde2b6 */
4107 static const uint8_t nist_186_2_ecdsa_testvector_92_out[] = {
4108 /* R - byte alignment */
4109 	0x00, 0x0b, 0xfd, 0xa7, 0x98, 0x6f, 0xdf, 0xe8, 0x51, 0xec, 0x65, 0x0e,
4110 	0x57, 0x57, 0xa7, 0x0c, 0x1b, 0xbf, 0xe9, 0xa4, 0x17, 0xdc, 0xa4, 0x4e,
4111 	0xa1, 0xa9, 0x30, 0xb1, 0x5d, 0x63,
4112 /* S - byte alignment */
4113 	0x00, 0x1b, 0xb9, 0x20, 0x16, 0xc9, 0xad, 0xb8, 0x6a, 0x94, 0x02, 0x0a,
4114 	0x79, 0xfa, 0xf0, 0x41, 0xa5, 0xe5, 0xbe, 0xb1, 0x7d, 0x95, 0x05, 0x8b,
4115 	0xe6, 0x46, 0x31, 0xd4, 0x77, 0x4f
4116 };
4117 static const uint8_t nist_186_2_ecdsa_testvector_93_ptx[] = {
4118 /* Msg */
4119 	0x93, 0x8b, 0x1f, 0x1d, 0x62, 0x88, 0x29, 0x39, 0x9e, 0x62, 0x2d, 0xb6,
4120 	0xd1, 0x0d, 0xa1, 0x3f, 0xc8, 0xb1, 0x59, 0x68, 0x97, 0xa3, 0xaa, 0x42,
4121 	0xdd, 0x93, 0xd0, 0x2e, 0x49, 0x07, 0x8d, 0xee, 0x5d, 0x08, 0x13, 0x02,
4122 	0x72, 0x1a, 0x24, 0x31, 0xfd, 0x72, 0x78, 0x66, 0x10, 0x64, 0x5f, 0xbd,
4123 	0x24, 0x1b, 0xa7, 0xde, 0x15, 0x8c, 0xc0, 0x8a, 0x6e, 0xac, 0x1e, 0x73,
4124 	0xe7, 0xe1, 0xdf, 0x51, 0x2c, 0xb7, 0xae, 0x32, 0xe0, 0xd5, 0xe7, 0x11,
4125 	0xe2, 0x2f, 0xfb, 0xab, 0xcf, 0x7d, 0x17, 0x8e, 0xc8, 0xeb, 0x00, 0x73,
4126 	0x75, 0x12, 0x42, 0xcd, 0x49, 0x27, 0x89, 0xa2, 0x08, 0x72, 0x4f, 0x9a,
4127 	0x87, 0x02, 0xb7, 0x56, 0xb4, 0xa0, 0xb9, 0x02, 0xd5, 0x01, 0x80, 0x2e,
4128 	0x15, 0x40, 0x10, 0xd9, 0x3c, 0x8b, 0x2c, 0xcf, 0xbe, 0x1c, 0x77, 0x36,
4129 	0xf7, 0x6a, 0xd9, 0x63, 0xb5, 0xa1, 0x24, 0xf2
4130 };
4131 static const uint8_t nist_186_2_ecdsa_testvector_93_private[] = {
4132 /* d - byte alignment */
4133 	0x00, 0x00, 0x00, 0x00, 0x0c, 0x9b, 0x4f, 0xa1, 0x7e, 0x60, 0xdf, 0x6d,
4134 	0x11, 0xd4, 0x36, 0xed, 0xae, 0x33, 0x4d, 0xd5, 0xc3, 0xf3, 0x04, 0xb9,
4135 	0xa9, 0xf4, 0x1a, 0x4d, 0xfe, 0x01
4136 };
4137 static const uint8_t nist_186_2_ecdsa_testvector_93_public_x[] = {
4138 /* Qx - byte alignment */
4139 	0x00, 0xc7, 0x5a, 0x98, 0xf2, 0xd8, 0x55, 0x17, 0x5b, 0x60, 0xc4, 0xc8,
4140 	0xc6, 0xc3, 0xf7, 0x06, 0x2a, 0x6d, 0x2b, 0x42, 0x56, 0x52, 0xdf, 0x1b,
4141 	0xb2, 0xd6, 0x42, 0x8e, 0x6b, 0x47
4142 };
4143 static const uint8_t nist_186_2_ecdsa_testvector_93_public_y[] = {
4144 /* Qy - byte alignment */
4145 	0x00, 0xbe, 0xe7, 0xf3, 0x0a, 0x60, 0xed, 0x09, 0xba, 0xf3, 0xe2, 0x6d,
4146 	0x30, 0x04, 0x54, 0x62, 0x4f, 0x88, 0x63, 0x41, 0x2a, 0x51, 0x1d, 0x2a,
4147 	0x29, 0x2f, 0xd3, 0x2b, 0xed, 0x6b
4148 };
4149 /* k = 0000000296f1a8b7941f2cfb3fc9a02eadb92e3ca70f3ee32b5f0715a2a */
4150 static const uint8_t nist_186_2_ecdsa_testvector_93_out[] = {
4151 /* R - byte alignment */
4152 	0x00, 0x49, 0xb5, 0x8c, 0x83, 0x38, 0xf8, 0x71, 0x08, 0x94, 0x63, 0x4a,
4153 	0xd4, 0xcd, 0xae, 0x92, 0xa2, 0x59, 0x16, 0x47, 0xe3, 0xa6, 0xd6, 0xb4,
4154 	0xa2, 0xb0, 0x4f, 0x29, 0x24, 0xee,
4155 /* S - byte alignment */
4156 	0x00, 0x5d, 0x2f, 0xb9, 0x19, 0x7e, 0x25, 0xad, 0xc6, 0x01, 0x93, 0xce,
4157 	0x94, 0x01, 0x06, 0x5c, 0xd1, 0xb1, 0x1a, 0x41, 0x29, 0x47, 0x04, 0x96,
4158 	0x31, 0x92, 0xf5, 0x23, 0xff, 0xf5
4159 };
4160 static const uint8_t nist_186_2_ecdsa_testvector_94_ptx[] = {
4161 /* Msg */
4162 	0x44, 0x32, 0x87, 0x17, 0xed, 0x47, 0x56, 0xc5, 0xd2, 0x14, 0xbf, 0x59,
4163 	0xee, 0x71, 0xcd, 0xfb, 0xde, 0x60, 0x0e, 0x58, 0xaa, 0x8f, 0xff, 0x46,
4164 	0xe3, 0x25, 0xc4, 0xa6, 0xee, 0xbb, 0x1c, 0x8f, 0x9f, 0xa7, 0x95, 0xa9,
4165 	0x0a, 0x81, 0xfc, 0xd6, 0x95, 0xe0, 0x18, 0x18, 0x52, 0x65, 0x98, 0xaf,
4166 	0x8c, 0xfb, 0x49, 0x81, 0xa0, 0x5c, 0x8c, 0xbf, 0x0e, 0xd8, 0x08, 0xc6,
4167 	0xd0, 0x52, 0x9c, 0x43, 0xeb, 0x8b, 0x97, 0x9b, 0x43, 0xa3, 0x2c, 0x8a,
4168 	0xb3, 0xdc, 0x20, 0x0a, 0x5d, 0xa2, 0xc6, 0x76, 0x3f, 0xc8, 0x2d, 0xef,
4169 	0x08, 0x15, 0x98, 0xff, 0x29, 0xff, 0x2e, 0x7c, 0x2e, 0xb6, 0xf3, 0xaf,
4170 	0x4f, 0x64, 0xf7, 0xb6, 0x42, 0xb3, 0xce, 0x27, 0x54, 0x91, 0x3f, 0xf6,
4171 	0xb8, 0x30, 0x40, 0x99, 0x1f, 0x50, 0x23, 0x69, 0x89, 0xc0, 0x0a, 0x4c,
4172 	0x5a, 0x22, 0xa0, 0x91, 0xb0, 0xf0, 0x0b, 0x1b
4173 };
4174 static const uint8_t nist_186_2_ecdsa_testvector_94_private[] = {
4175 /* d - byte alignment */
4176 	0x00, 0x00, 0x00, 0x00, 0x53, 0xf2, 0x25, 0x5c, 0xfe, 0xd5, 0x6f, 0x12,
4177 	0x79, 0xc9, 0xec, 0xc2, 0x3c, 0xce, 0xe7, 0x25, 0x65, 0x0d, 0x72, 0x76,
4178 	0x99, 0x34, 0x49, 0x3e, 0x9a, 0x00
4179 };
4180 static const uint8_t nist_186_2_ecdsa_testvector_94_public_x[] = {
4181 /* Qx - byte alignment */
4182 	0x01, 0x7d, 0xc7, 0x4b, 0x9d, 0x26, 0xa4, 0xce, 0x66, 0x66, 0x24, 0x1e,
4183 	0xfd, 0xaf, 0x16, 0x9c, 0xec, 0x9b, 0x82, 0x4a, 0xf6, 0xe7, 0x06, 0xd6,
4184 	0x56, 0x93, 0x04, 0x94, 0x5a, 0x02
4185 };
4186 static const uint8_t nist_186_2_ecdsa_testvector_94_public_y[] = {
4187 /* Qy - byte alignment */
4188 	0x01, 0x09, 0x97, 0x4b, 0x20, 0xb3, 0xb4, 0x33, 0x23, 0x7f, 0xc2, 0xd8,
4189 	0x01, 0x84, 0x84, 0xc2, 0x18, 0xa7, 0xbe, 0x9b, 0x94, 0xa3, 0x21, 0x60,
4190 	0xd4, 0xc2, 0xa1, 0x5f, 0xdb, 0x4c
4191 };
4192 /* k = 00000001c438cc6db3c3c47925f1ea6c1807a84a1f54acac4609bf1af5b */
4193 static const uint8_t nist_186_2_ecdsa_testvector_94_out[] = {
4194 /* R - byte alignment */
4195 	0x00, 0x66, 0x6c, 0xf8, 0xed, 0x39, 0x59, 0x68, 0xf5, 0xfd, 0x1b, 0xe2,
4196 	0x56, 0xc3, 0xc9, 0xf5, 0xe2, 0x23, 0x18, 0x40, 0x03, 0xc4, 0x77, 0xa5,
4197 	0x20, 0xa6, 0xe3, 0x37, 0x26, 0x94,
4198 /* S - byte alignment */
4199 	0x00, 0x4d, 0xca, 0xcd, 0xee, 0x85, 0x9f, 0xce, 0x43, 0x06, 0xe7, 0xa6,
4200 	0x8b, 0x89, 0x2c, 0xb6, 0x0c, 0x36, 0x12, 0x28, 0xfd, 0x5d, 0x3d, 0x91,
4201 	0x6e, 0xc0, 0xad, 0xb4, 0x8a, 0xa7
4202 };
4203 static const uint8_t nist_186_2_ecdsa_testvector_95_ptx[] = {
4204 /* Msg */
4205 	0xca, 0x70, 0x40, 0xfd, 0xec, 0x98, 0x5b, 0x31, 0xff, 0x8e, 0x28, 0xf7,
4206 	0x64, 0x82, 0x2b, 0x95, 0xd4, 0x93, 0x13, 0xce, 0x99, 0x36, 0x8f, 0x63,
4207 	0xfe, 0xdc, 0x63, 0xd9, 0x04, 0xcf, 0xbb, 0x7d, 0x56, 0x5d, 0xbf, 0xa6,
4208 	0x7f, 0x39, 0x67, 0x3a, 0x5b, 0x1e, 0x91, 0x73, 0xcb, 0xb5, 0x51, 0xe3,
4209 	0xad, 0xb9, 0x88, 0xb6, 0x0c, 0x59, 0xb8, 0x38, 0x93, 0xde, 0x16, 0x97,
4210 	0x48, 0x8d, 0xe1, 0xe9, 0x77, 0xcf, 0xf3, 0x70, 0xeb, 0x8f, 0x96, 0x1d,
4211 	0x64, 0xe4, 0x98, 0x54, 0x46, 0xf0, 0xa2, 0xef, 0x8f, 0x08, 0xc5, 0x85,
4212 	0x0b, 0x14, 0x56, 0xec, 0xcb, 0x39, 0xfc, 0xfc, 0xd3, 0xb6, 0x07, 0x96,
4213 	0x13, 0x0c, 0x03, 0xe5, 0x99, 0x62, 0x8d, 0xe4, 0x04, 0x27, 0x66, 0x21,
4214 	0x3c, 0xf9, 0xc6, 0xc0, 0x60, 0xc6, 0xf3, 0xc2, 0x00, 0x31, 0x11, 0x88,
4215 	0x8d, 0x37, 0x3c, 0x92, 0x0d, 0x12, 0xd4, 0x8d
4216 };
4217 static const uint8_t nist_186_2_ecdsa_testvector_95_private[] = {
4218 /* d - byte alignment */
4219 	0x00, 0x00, 0x00, 0x00, 0x36, 0xb1, 0x7d, 0x3a, 0x44, 0x85, 0xc8, 0x60,
4220 	0x32, 0xa4, 0xca, 0x73, 0xdc, 0xd5, 0x04, 0x00, 0x2d, 0x89, 0x07, 0xa2,
4221 	0x64, 0x98, 0xc4, 0xa3, 0xf3, 0xda
4222 };
4223 static const uint8_t nist_186_2_ecdsa_testvector_95_public_x[] = {
4224 /* Qx - byte alignment */
4225 	0x00, 0x14, 0x98, 0xc5, 0xda, 0x88, 0x68, 0x34, 0x7c, 0xc9, 0xc3, 0x50,
4226 	0x7d, 0x5b, 0x4e, 0x53, 0x53, 0x22, 0x0e, 0x2b, 0xf0, 0xd0, 0xfd, 0x0e,
4227 	0xfb, 0xde, 0x84, 0xc9, 0x9b, 0x65
4228 };
4229 static const uint8_t nist_186_2_ecdsa_testvector_95_public_y[] = {
4230 /* Qy - byte alignment */
4231 	0x00, 0x95, 0x7f, 0x22, 0xe2, 0x8b, 0x3d, 0x17, 0xfb, 0xa8, 0x6c, 0xaa,
4232 	0x03, 0xb5, 0xcb, 0xd3, 0x7d, 0xad, 0xb7, 0x51, 0x95, 0x98, 0xdf, 0xc6,
4233 	0x8b, 0x38, 0xed, 0x12, 0xc4, 0x43
4234 };
4235 /* k = 000000057915cb92004afcb45505796ad55ece04dbc4228dfcbf784f1b6 */
4236 static const uint8_t nist_186_2_ecdsa_testvector_95_out[] = {
4237 /* R - byte alignment */
4238 	0x00, 0x18, 0x2c, 0x2d, 0xfe, 0x78, 0x26, 0xc7, 0x68, 0x58, 0xb8, 0x41,
4239 	0xbd, 0xb9, 0xbb, 0x47, 0x31, 0x1b, 0xee, 0xe3, 0x62, 0xc0, 0xdf, 0x3a,
4240 	0xdd, 0x26, 0x8e, 0x3e, 0xd9, 0xbb,
4241 /* S - byte alignment */
4242 	0x00, 0x19, 0x27, 0x58, 0x30, 0xe0, 0x7b, 0x4d, 0x7c, 0x76, 0xec, 0xf2,
4243 	0xf7, 0x42, 0x4b, 0x06, 0x8b, 0xb9, 0x8e, 0x0c, 0x59, 0x7f, 0x76, 0x4f,
4244 	0xa7, 0xec, 0x52, 0x5e, 0x76, 0x7f
4245 };
4246 static const uint8_t nist_186_2_ecdsa_testvector_96_ptx[] = {
4247 /* Msg */
4248 	0xe7, 0xde, 0x41, 0x36, 0x2e, 0x2d, 0x2a, 0x37, 0x30, 0x52, 0x74, 0x67,
4249 	0xb5, 0xcb, 0x3a, 0xc7, 0xc5, 0x47, 0xfa, 0x26, 0x06, 0xae, 0x91, 0x45,
4250 	0x45, 0x61, 0x66, 0x38, 0x52, 0xc3, 0xe5, 0x0f, 0x11, 0xf8, 0x2f, 0xb6,
4251 	0xce, 0xed, 0x0f, 0x1a, 0xd1, 0x98, 0x31, 0x8d, 0x32, 0x81, 0x8e, 0x6c,
4252 	0xef, 0x81, 0x2b, 0xff, 0x3c, 0xc9, 0x03, 0xa0, 0x1a, 0x27, 0x41, 0x20,
4253 	0x2b, 0x85, 0xb3, 0x66, 0xc5, 0xb3, 0x7c, 0x59, 0x45, 0x66, 0x09, 0x01,
4254 	0xa6, 0x80, 0x46, 0xe8, 0x52, 0x91, 0x11, 0xc7, 0x37, 0x9e, 0xef, 0x5e,
4255 	0x1e, 0x22, 0xfd, 0xa4, 0x38, 0x53, 0x2a, 0x20, 0xfa, 0xa6, 0xa4, 0x97,
4256 	0x2b, 0x95, 0x90, 0xe7, 0x3c, 0xa0, 0xfe, 0x33, 0xd7, 0x92, 0x1c, 0x40,
4257 	0xba, 0x05, 0xa9, 0x1f, 0xc6, 0x28, 0xad, 0x0d, 0x53, 0xc0, 0x68, 0x97,
4258 	0xc7, 0x6d, 0x88, 0x02, 0x67, 0x2f, 0x9f, 0xe9
4259 };
4260 static const uint8_t nist_186_2_ecdsa_testvector_96_private[] = {
4261 /* d - byte alignment */
4262 	0x00, 0x00, 0x00, 0x00, 0x40, 0xc9, 0xf8, 0x81, 0x6a, 0xca, 0x2e, 0xfc,
4263 	0xbe, 0x6d, 0xfe, 0x1a, 0xf9, 0xcc, 0x22, 0x57, 0xbc, 0x7d, 0x50, 0xde,
4264 	0x18, 0x6e, 0xea, 0x81, 0xa7, 0x8b
4265 };
4266 static const uint8_t nist_186_2_ecdsa_testvector_96_public_x[] = {
4267 /* Qx - byte alignment */
4268 	0x00, 0xf4, 0x32, 0xdd, 0x0f, 0xf3, 0x5b, 0x71, 0x46, 0x19, 0x00, 0x7b,
4269 	0x3f, 0x4e, 0xd8, 0x6c, 0x6a, 0x2a, 0x13, 0x4c, 0xf4, 0xc3, 0xbb, 0x77,
4270 	0xfd, 0xde, 0x9f, 0xff, 0x4d, 0x18
4271 };
4272 static const uint8_t nist_186_2_ecdsa_testvector_96_public_y[] = {
4273 /* Qy - byte alignment */
4274 	0x00, 0x61, 0x08, 0xe7, 0xd7, 0x5c, 0x57, 0xc2, 0xdd, 0x65, 0x6d, 0x17,
4275 	0x9e, 0x23, 0x60, 0x81, 0x27, 0xd7, 0x0b, 0x1c, 0x58, 0xf2, 0x58, 0x2a,
4276 	0x82, 0x85, 0x7c, 0xbf, 0xb9, 0xd8
4277 };
4278 /* k = 0000000325b8f2d8947423b268761b0544c668df4475bcd722aa1857101 */
4279 static const uint8_t nist_186_2_ecdsa_testvector_96_out[] = {
4280 /* R - byte alignment */
4281 	0x00, 0x0e, 0x46, 0xa7, 0x3e, 0x81, 0xea, 0xdb, 0x86, 0xe0, 0x77, 0xcd,
4282 	0x66, 0x27, 0x15, 0xcd, 0xe1, 0x8e, 0x8f, 0xee, 0x6e, 0xf9, 0xf5, 0x8e,
4283 	0x0a, 0x5b, 0x90, 0x88, 0x91, 0x52,
4284 /* S - byte alignment */
4285 	0x00, 0x2d, 0x7c, 0xa8, 0x42, 0x74, 0xd7, 0x61, 0x89, 0x6d, 0x7a, 0x1f,
4286 	0x4b, 0xb9, 0xd7, 0x13, 0x61, 0xcd, 0x00, 0xc5, 0xcb, 0x80, 0x6a, 0xe1,
4287 	0xb0, 0x83, 0x9b, 0xbf, 0x3c, 0x1e
4288 };
4289 static const uint8_t nist_186_2_ecdsa_testvector_97_ptx[] = {
4290 /* Msg */
4291 	0x4b, 0x39, 0x8c, 0x6d, 0xa9, 0x09, 0x9c, 0xf8, 0x1a, 0xc5, 0x7c, 0x61,
4292 	0x08, 0xbf, 0x82, 0xb4, 0x20, 0x81, 0x61, 0xe6, 0x56, 0xbe, 0x51, 0x67,
4293 	0x29, 0x88, 0x6a, 0xf6, 0x28, 0xc2, 0x51, 0xb9, 0xb5, 0xd9, 0x17, 0x8d,
4294 	0x09, 0xaf, 0x5e, 0x9b, 0x78, 0xd8, 0xbe, 0x2c, 0xf6, 0x09, 0x67, 0xbe,
4295 	0xdb, 0xcd, 0x07, 0x56, 0xe3, 0x7a, 0xee, 0x19, 0x79, 0x64, 0x70, 0x16,
4296 	0x35, 0x50, 0x8a, 0x67, 0xa3, 0x2c, 0xc9, 0x78, 0x46, 0xfd, 0x68, 0xa6,
4297 	0xdc, 0x18, 0xb8, 0x0c, 0xe4, 0x95, 0xc5, 0x99, 0x5e, 0x01, 0x37, 0x66,
4298 	0xd2, 0x53, 0x76, 0x47, 0x93, 0x21, 0x12, 0xa1, 0x45, 0x14, 0x61, 0x7b,
4299 	0x9d, 0x9a, 0x6a, 0xd7, 0x68, 0xda, 0x01, 0x42, 0xcf, 0xed, 0x34, 0xaa,
4300 	0xd9, 0x4b, 0xe6, 0x70, 0x31, 0x83, 0xba, 0xbe, 0x2a, 0x30, 0x33, 0x1b,
4301 	0x00, 0x28, 0x19, 0x3c, 0x61, 0xf6, 0x1e, 0x1d
4302 };
4303 static const uint8_t nist_186_2_ecdsa_testvector_97_private[] = {
4304 /* d - byte alignment */
4305 	0x00, 0x00, 0x00, 0x00, 0x71, 0xb6, 0x27, 0x13, 0x2c, 0xc5, 0x27, 0x96,
4306 	0x7d, 0xba, 0xf7, 0x92, 0x29, 0x03, 0x83, 0x56, 0x33, 0x2d, 0xf1, 0x4a,
4307 	0xc6, 0xd3, 0x9b, 0x0c, 0xd3, 0xdf
4308 };
4309 static const uint8_t nist_186_2_ecdsa_testvector_97_public_x[] = {
4310 /* Qx - byte alignment */
4311 	0x00, 0x54, 0xc5, 0x6c, 0x17, 0x94, 0x87, 0x93, 0x75, 0xd4, 0x2f, 0xed,
4312 	0x34, 0x65, 0xb4, 0x68, 0x28, 0xc0, 0xf6, 0x93, 0x32, 0x3b, 0xcd, 0x39,
4313 	0x3f, 0x59, 0x9f, 0x27, 0xc5, 0xa6
4314 };
4315 static const uint8_t nist_186_2_ecdsa_testvector_97_public_y[] = {
4316 /* Qy - byte alignment */
4317 	0x01, 0x0a, 0x7a, 0xcf, 0x85, 0xe9, 0xbd, 0xff, 0xdd, 0xcf, 0xe7, 0x96,
4318 	0xb1, 0xdb, 0xa2, 0x7c, 0xd4, 0x8c, 0x3d, 0x8a, 0xf5, 0xba, 0xea, 0xff,
4319 	0x31, 0x7d, 0x9e, 0x58, 0x76, 0x97
4320 };
4321 /* k = 000000014c667d9fecec4fcb0c8e80c2dca83cb3919f094b1eb061180d7 */
4322 static const uint8_t nist_186_2_ecdsa_testvector_97_out[] = {
4323 /* R - byte alignment */
4324 	0x00, 0x48, 0x1e, 0xb3, 0x29, 0xf1, 0x48, 0xb4, 0x86, 0x4c, 0xf6, 0x2b,
4325 	0x0f, 0xc7, 0x70, 0xd5, 0x81, 0xd2, 0x4a, 0x15, 0xad, 0xb3, 0x64, 0x15,
4326 	0x2a, 0xc5, 0xb7, 0x13, 0x32, 0x35,
4327 /* S - byte alignment */
4328 	0x00, 0x23, 0x8d, 0x6a, 0x8a, 0x5e, 0x5b, 0x7d, 0x1c, 0x2c, 0x77, 0x0a,
4329 	0x6c, 0x1e, 0x40, 0x53, 0x00, 0xb5, 0xa8, 0x9b, 0x4c, 0xad, 0x39, 0x08,
4330 	0x6d, 0x97, 0xbb, 0x57, 0x6e, 0x19
4331 };
4332 static const uint8_t nist_186_2_ecdsa_testvector_98_ptx[] = {
4333 /* Msg */
4334 	0x9f, 0xc5, 0xd8, 0x40, 0x92, 0xa9, 0x2a, 0x8b, 0x31, 0x93, 0x5c, 0x61,
4335 	0xa5, 0x92, 0x93, 0x66, 0xd5, 0x81, 0x88, 0x7e, 0xe6, 0x80, 0x2e, 0xe0,
4336 	0x02, 0xa5, 0x96, 0x6d, 0x59, 0xee, 0x0f, 0x3f, 0x66, 0x7a, 0x91, 0x84,
4337 	0x74, 0xf9, 0x5c, 0x8d, 0x60, 0x62, 0xdc, 0x22, 0xa0, 0xe4, 0xd0, 0x19,
4338 	0x84, 0x1e, 0xab, 0x27, 0xbc, 0x92, 0x3a, 0xf5, 0x1b, 0x57, 0x88, 0x76,
4339 	0x9b, 0x0f, 0xff, 0x79, 0xa0, 0x19, 0xcf, 0x7a, 0x81, 0x08, 0x94, 0xbe,
4340 	0x44, 0x53, 0x33, 0x9f, 0xa9, 0x4d, 0x04, 0x24, 0x6b, 0x58, 0x37, 0xd4,
4341 	0xc2, 0x56, 0x70, 0xcc, 0x2c, 0x61, 0xb5, 0x10, 0x6d, 0xbc, 0x8a, 0x1f,
4342 	0xd4, 0x09, 0x5a, 0xca, 0xc1, 0xbc, 0x19, 0x45, 0x64, 0xcf, 0x28, 0x7f,
4343 	0xc7, 0xb8, 0x79, 0xaf, 0x0f, 0x98, 0xf3, 0x2f, 0xff, 0xb5, 0x18, 0x8e,
4344 	0xbd, 0x2a, 0xe5, 0xe1, 0xd9, 0xdd, 0xf9, 0x59
4345 };
4346 static const uint8_t nist_186_2_ecdsa_testvector_98_private[] = {
4347 /* d - byte alignment */
4348 	0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0x93, 0x42, 0x62, 0x16, 0x94, 0xf3,
4349 	0xaa, 0x5f, 0x90, 0xd2, 0x8c, 0xd5, 0x4c, 0x4d, 0x82, 0x5b, 0xf9, 0x01,
4350 	0x7f, 0x35, 0x91, 0xc4, 0x30, 0x26
4351 };
4352 static const uint8_t nist_186_2_ecdsa_testvector_98_public_x[] = {
4353 /* Qx - byte alignment */
4354 	0x01, 0xd3, 0x35, 0x12, 0x91, 0xe1, 0xbe, 0xfd, 0x05, 0x1b, 0x6e, 0x84,
4355 	0xdd, 0x72, 0xf1, 0xe5, 0x87, 0xf7, 0xe0, 0x5c, 0xc8, 0x9a, 0xb0, 0x19,
4356 	0x57, 0xea, 0xc9, 0x97, 0xb2, 0xb4
4357 };
4358 static const uint8_t nist_186_2_ecdsa_testvector_98_public_y[] = {
4359 /* Qy - byte alignment */
4360 	0x00, 0x9c, 0x49, 0x2f, 0x3e, 0x35, 0x24, 0xd9, 0x28, 0x8e, 0xe6, 0x1c,
4361 	0x8e, 0x64, 0xa3, 0xf3, 0x21, 0x48, 0x90, 0x19, 0xa2, 0x71, 0x15, 0xda,
4362 	0x34, 0xab, 0x6b, 0xde, 0x30, 0x99
4363 };
4364 /* k = 0000000095a7927a0389b06597f60703194fb6c3ff7493aa3e7b5aeb1da */
4365 static const uint8_t nist_186_2_ecdsa_testvector_98_out[] = {
4366 /* R - byte alignment */
4367 	0x00, 0x4c, 0xbd, 0xfc, 0x77, 0xdc, 0x32, 0x19, 0xad, 0x89, 0x32, 0xe3,
4368 	0x54, 0xc0, 0xdc, 0xf1, 0xc6, 0x52, 0xef, 0x31, 0x70, 0x70, 0xa3, 0x19,
4369 	0x6f, 0x8c, 0x65, 0x42, 0x54, 0x8c,
4370 /* S - byte alignment */
4371 	0x00, 0x04, 0x7c, 0x14, 0xc9, 0xc4, 0xd0, 0x05, 0xbb, 0xae, 0x11, 0x00,
4372 	0x41, 0xfd, 0xfe, 0x82, 0x25, 0x61, 0x51, 0x39, 0x84, 0x24, 0xe9, 0x41,
4373 	0x84, 0xda, 0xf6, 0x13, 0x2c, 0x82
4374 };
4375 static const uint8_t nist_186_2_ecdsa_testvector_99_ptx[] = {
4376 /* Msg */
4377 	0x24, 0x05, 0x89, 0x34, 0x7a, 0x03, 0xca, 0x00, 0xac, 0xed, 0xd2, 0xdc,
4378 	0x7f, 0x7e, 0x3b, 0x88, 0x04, 0x98, 0x34, 0x0a, 0x78, 0x93, 0x82, 0xa2,
4379 	0x68, 0xd5, 0xc5, 0x00, 0x18, 0xa2, 0xfd, 0xb5, 0x26, 0x36, 0x4c, 0xe8,
4380 	0x6b, 0x11, 0xfe, 0x4a, 0x22, 0x93, 0xc6, 0x4c, 0x4c, 0xc8, 0x4a, 0x8f,
4381 	0x53, 0x85, 0xe2, 0x9b, 0xed, 0xb4, 0x9d, 0xd5, 0x43, 0xec, 0x86, 0xab,
4382 	0x53, 0x45, 0x25, 0x12, 0x92, 0x6a, 0x48, 0x32, 0xd6, 0xef, 0x03, 0x5f,
4383 	0x74, 0xe5, 0xf5, 0x4c, 0xa5, 0xac, 0xcd, 0x7b, 0x2f, 0x09, 0x0d, 0xf8,
4384 	0x41, 0x78, 0x0e, 0x47, 0x9e, 0xc4, 0x44, 0x9b, 0xfd, 0xd4, 0xc4, 0x49,
4385 	0xb0, 0xc8, 0x03, 0x7b, 0x85, 0x45, 0xe1, 0x29, 0xea, 0x0c, 0xe6, 0x45,
4386 	0x54, 0xd2, 0xcb, 0x36, 0xe1, 0x4c, 0x3c, 0x88, 0x3c, 0x89, 0xdc, 0xe2,
4387 	0xc1, 0x84, 0x8a, 0x38, 0xe1, 0xfa, 0xe3, 0x41
4388 };
4389 static const uint8_t nist_186_2_ecdsa_testvector_99_private[] = {
4390 /* d - byte alignment */
4391 	0x00, 0x00, 0x00, 0x00, 0x55, 0x12, 0xcb, 0x10, 0x56, 0x46, 0x8e, 0xa7,
4392 	0x82, 0x22, 0xc2, 0xca, 0xd6, 0x7c, 0xb0, 0x59, 0xc0, 0xbe, 0x34, 0x26,
4393 	0x82, 0x20, 0x24, 0x3f, 0xa5, 0xee
4394 };
4395 static const uint8_t nist_186_2_ecdsa_testvector_99_public_x[] = {
4396 /* Qx - byte alignment */
4397 	0x00, 0x2b, 0x21, 0xb8, 0xce, 0x38, 0x27, 0x60, 0x02, 0x03, 0x9d, 0xfa,
4398 	0x33, 0xd3, 0xfe, 0xea, 0xa6, 0xc5, 0x3b, 0x74, 0xa8, 0x0f, 0x0f, 0xcf,
4399 	0x8d, 0xc9, 0xfd, 0x79, 0xe3, 0x89
4400 };
4401 static const uint8_t nist_186_2_ecdsa_testvector_99_public_y[] = {
4402 /* Qy - byte alignment */
4403 	0x01, 0x89, 0x47, 0xf6, 0xa0, 0x01, 0x61, 0xb8, 0xa6, 0x4a, 0xb2, 0x88,
4404 	0x2f, 0x8d, 0x00, 0xd4, 0xa5, 0xe4, 0xf4, 0x1f, 0x22, 0x2e, 0xc7, 0x72,
4405 	0x8c, 0x6a, 0x01, 0x66, 0x56, 0x26
4406 };
4407 /* k = 000000072670f9c6948a6e0f8f3b3b84fba3511ae360a7af745a885671d */
4408 static const uint8_t nist_186_2_ecdsa_testvector_99_out[] = {
4409 /* R - byte alignment */
4410 	0x00, 0x5c, 0x77, 0xee, 0xe6, 0x2d, 0xad, 0x21, 0x8f, 0x7e, 0x94, 0xc9,
4411 	0x43, 0x86, 0xcc, 0xaf, 0x16, 0xfc, 0x3e, 0x33, 0x4e, 0xac, 0x7c, 0x2c,
4412 	0x7d, 0x7f, 0x9d, 0x60, 0x36, 0xf3,
4413 /* S - byte alignment */
4414 	0x00, 0x55, 0x8f, 0x88, 0xe2, 0xf3, 0x48, 0xe4, 0xa4, 0xd5, 0xb1, 0x4c,
4415 	0x05, 0xf5, 0x32, 0xb1, 0x28, 0x3e, 0x7a, 0x05, 0xe5, 0x9e, 0xf2, 0xc8,
4416 	0xd2, 0xa3, 0xd4, 0xe4, 0xa6, 0xc8
4417 };
4418 static const uint8_t nist_186_2_ecdsa_testvector_100_ptx[] = {
4419 /* Msg */
4420 	0x07, 0xde, 0xe1, 0x2f, 0x72, 0x94, 0x1e, 0xa3, 0xdc, 0x45, 0x7c, 0x70,
4421 	0xf7, 0xae, 0x59, 0xd7, 0x13, 0xaa, 0xaf, 0x2f, 0x37, 0xf9, 0xd3, 0xcf,
4422 	0x70, 0x41, 0x63, 0x2e, 0x69, 0x52, 0x79, 0x49, 0x3c, 0xae, 0x25, 0x45,
4423 	0x88, 0x49, 0x1b, 0x56, 0xc4, 0x8d, 0xa8, 0xdf, 0xd2, 0xa1, 0xeb, 0xdb,
4424 	0xd7, 0xeb, 0x41, 0x7b, 0x4b, 0xd4, 0x01, 0x10, 0x4c, 0xcb, 0x6a, 0x2c,
4425 	0x38, 0x8c, 0xd9, 0x04, 0x7a, 0xa2, 0x3f, 0x19, 0xa4, 0x2a, 0xd3, 0x18,
4426 	0xbf, 0xdb, 0x04, 0xfe, 0xde, 0x43, 0xb2, 0x7f, 0xfa, 0x53, 0x9d, 0xa9,
4427 	0xf9, 0x1e, 0x1e, 0xc5, 0x10, 0xde, 0x15, 0x7e, 0x4b, 0x38, 0x22, 0x45,
4428 	0x6a, 0xc1, 0x18, 0xf3, 0xef, 0xc0, 0xae, 0xb0, 0x75, 0x36, 0x78, 0x14,
4429 	0x43, 0x1b, 0x16, 0x8d, 0x21, 0xeb, 0xac, 0x01, 0x6b, 0x61, 0x92, 0xb4,
4430 	0x63, 0x82, 0x4c, 0x6b, 0xcb, 0xde, 0xbc, 0xd2
4431 };
4432 static const uint8_t nist_186_2_ecdsa_testvector_100_private[] = {
4433 /* d - byte alignment */
4434 	0x00, 0x00, 0x00, 0x00, 0x47, 0xbc, 0x59, 0xbd, 0x9d, 0x2f, 0xb5, 0xb2,
4435 	0x95, 0x6d, 0x9d, 0x54, 0xc8, 0x98, 0xac, 0x70, 0x05, 0x55, 0x9a, 0x16,
4436 	0xb0, 0x60, 0xde, 0x4a, 0xd2, 0xe6
4437 };
4438 static const uint8_t nist_186_2_ecdsa_testvector_100_public_x[] = {
4439 /* Qx - byte alignment */
4440 	0x00, 0xe9, 0xa7, 0xf6, 0xab, 0xe2, 0x72, 0xee, 0xbf, 0xbc, 0x85, 0x12,
4441 	0xe7, 0x2d, 0x17, 0xfe, 0x92, 0x2b, 0x58, 0xc6, 0x51, 0x8a, 0xe7, 0xf8,
4442 	0x9f, 0x76, 0x28, 0x06, 0x10, 0x61
4443 };
4444 static const uint8_t nist_186_2_ecdsa_testvector_100_public_y[] = {
4445 /* Qy - byte alignment */
4446 	0x01, 0x22, 0x60, 0xab, 0xa4, 0x24, 0x41, 0x71, 0x0b, 0x54, 0xc1, 0x77,
4447 	0xd2, 0x47, 0xc6, 0x1d, 0xd9, 0x5c, 0xaf, 0x2c, 0xde, 0x1d, 0x12, 0x90,
4448 	0x5e, 0x3c, 0xf3, 0x8a, 0x32, 0xc9
4449 };
4450 /* k = 0000000524234bf1ea81de91d3a69a9c9f5eef0e429d7b2304f45bf60d6 */
4451 static const uint8_t nist_186_2_ecdsa_testvector_100_out[] = {
4452 /* R - byte alignment */
4453 	0x00, 0x7f, 0xb3, 0xa7, 0x8f, 0x41, 0x6f, 0x16, 0x25, 0x35, 0x0c, 0x1b,
4454 	0x96, 0xfd, 0x53, 0x8a, 0x74, 0x5f, 0x9b, 0x3e, 0xc7, 0xb5, 0x0f, 0xb5,
4455 	0xf0, 0x18, 0x27, 0xd4, 0x62, 0x93,
4456 /* S - byte alignment */
4457 	0x00, 0x4a, 0x61, 0xe8, 0xb4, 0xbd, 0x50, 0xf2, 0x62, 0x3a, 0xb8, 0xa8,
4458 	0xd6, 0x7c, 0xc3, 0x15, 0xb5, 0x1c, 0x70, 0xde, 0x29, 0xa7, 0x14, 0x01,
4459 	0x18, 0x2e, 0xb7, 0x15, 0xac, 0x99
4460 };
4461 static const uint8_t nist_186_2_ecdsa_testvector_101_ptx[] = {
4462 /* Msg */
4463 	0x4d, 0x2f, 0xb9, 0xb7, 0x5a, 0x4f, 0xc7, 0x83, 0x52, 0x92, 0xbf, 0xa1,
4464 	0x2e, 0x9d, 0xfd, 0x07, 0xda, 0x3d, 0x6d, 0x04, 0x3a, 0x59, 0xab, 0xd4,
4465 	0x6b, 0x25, 0x69, 0x72, 0x4b, 0x99, 0x12, 0xad, 0x3b, 0x22, 0xac, 0x7e,
4466 	0x23, 0x97, 0x03, 0x99, 0xb7, 0x6e, 0x04, 0x42, 0xf9, 0x30, 0x67, 0x62,
4467 	0xff, 0x2a, 0x91, 0xda, 0xf7, 0x66, 0xb8, 0x17, 0x68, 0xd9, 0x48, 0xe6,
4468 	0xbb, 0xde, 0x85, 0x8a, 0xf9, 0xe3, 0x72, 0x0d, 0xd6, 0x62, 0xf2, 0xd3,
4469 	0xef, 0x14, 0x2e, 0x75, 0x50, 0x61, 0x36, 0xcc, 0x39, 0x1a, 0xeb, 0x4b,
4470 	0x22, 0x6a, 0x1c, 0x92, 0xfc, 0x0a, 0xef, 0x41, 0xba, 0xb5, 0x83, 0x0a,
4471 	0x10, 0xdc, 0xd3, 0x0b, 0x7a, 0x9a, 0xde, 0x5a, 0x81, 0xea, 0x05, 0xe1,
4472 	0x3a, 0x18, 0xb4, 0x6c, 0x0f, 0x75, 0x44, 0x00, 0xc1, 0x4f, 0x20, 0x6f,
4473 	0xae, 0x20, 0x27, 0x29, 0x50, 0x06, 0x52, 0x55
4474 };
4475 static const uint8_t nist_186_2_ecdsa_testvector_101_private[] = {
4476 /* d - byte alignment */
4477 	0x00, 0x00, 0x00, 0x00, 0x4a, 0x54, 0xeb, 0xe2, 0x0a, 0x0d, 0x5f, 0x31,
4478 	0x03, 0x76, 0x63, 0x66, 0x3a, 0xa5, 0xbb, 0x62, 0x82, 0x49, 0x92, 0xd9,
4479 	0x49, 0xea, 0xce, 0xc5, 0xfd, 0xcb
4480 };
4481 static const uint8_t nist_186_2_ecdsa_testvector_101_public_x[] = {
4482 /* Qx - byte alignment */
4483 	0x01, 0x28, 0x97, 0xe3, 0x6d, 0x2a, 0x25, 0xe2, 0x3f, 0x01, 0x1a, 0x20,
4484 	0xb7, 0xfd, 0xf5, 0xb4, 0x94, 0x9d, 0x70, 0xd6, 0xb2, 0x87, 0xaf, 0x45,
4485 	0xad, 0x53, 0x4b, 0x90, 0x38, 0xfa
4486 };
4487 static const uint8_t nist_186_2_ecdsa_testvector_101_public_y[] = {
4488 /* Qy - byte alignment */
4489 	0x00, 0x0d, 0x38, 0x8f, 0x45, 0x7f, 0x2b, 0x2d, 0xf0, 0xf8, 0x61, 0x3e,
4490 	0x9b, 0x57, 0x1f, 0xf0, 0x51, 0xc3, 0x12, 0xf1, 0x1a, 0xe0, 0x9a, 0x20,
4491 	0x03, 0x8d, 0x08, 0x98, 0x46, 0xbc
4492 };
4493 /* k = 00000000750665d8bd56f486fd2627689719630e89671455caeaad89c34 */
4494 static const uint8_t nist_186_2_ecdsa_testvector_101_out[] = {
4495 /* R - byte alignment */
4496 	0x00, 0x27, 0xa0, 0xda, 0xd7, 0x5d, 0x50, 0x4a, 0x7a, 0xdb, 0xbd, 0xd2,
4497 	0x47, 0xd8, 0x0e, 0xb0, 0x51, 0xc7, 0xb8, 0x84, 0xf4, 0xec, 0xd5, 0x53,
4498 	0x7a, 0xba, 0x2f, 0x59, 0xef, 0x57,
4499 /* S - byte alignment */
4500 	0x00, 0x77, 0x20, 0x86, 0x7f, 0x79, 0x76, 0x9d, 0x27, 0xc8, 0x2e, 0x2f,
4501 	0x1f, 0x3e, 0x19, 0x0f, 0xbd, 0xf9, 0xcd, 0xe2, 0x86, 0x35, 0xa8, 0x56,
4502 	0x4b, 0x25, 0x63, 0x16, 0x79, 0x6b
4503 };
4504 static const uint8_t nist_186_2_ecdsa_testvector_102_ptx[] = {
4505 /* Msg */
4506 	0x96, 0x16, 0xdf, 0x5b, 0x4f, 0x67, 0xb5, 0xb9, 0xd2, 0x47, 0x18, 0xc6,
4507 	0x4b, 0x44, 0x2e, 0xa0, 0xa9, 0x9c, 0x0a, 0x9c, 0x47, 0x53, 0x75, 0xf0,
4508 	0xcc, 0x82, 0xee, 0xaf, 0x50, 0xf2, 0xef, 0xfb, 0xc0, 0xe9, 0x72, 0x76,
4509 	0x83, 0x44, 0xb4, 0xf9, 0x5d, 0xc6, 0x39, 0x89, 0x94, 0xb0, 0x10, 0x86,
4510 	0x52, 0x92, 0x58, 0x26, 0x4b, 0x60, 0x03, 0x22, 0x9f, 0xc8, 0xda, 0xaf,
4511 	0x02, 0xc3, 0xc1, 0xb0, 0x1a, 0x6b, 0x3d, 0x2a, 0x28, 0x0c, 0x33, 0xf8,
4512 	0xeb, 0x7d, 0xf3, 0xc0, 0xc2, 0xb1, 0x74, 0x25, 0x10, 0x89, 0xe1, 0x3e,
4513 	0xe4, 0xec, 0x55, 0x47, 0xda, 0x1a, 0xe4, 0x97, 0x3c, 0x3d, 0xda, 0xd2,
4514 	0x6d, 0x42, 0x47, 0x60, 0x88, 0xe6, 0xbb, 0x1e, 0x44, 0x14, 0x4e, 0x53,
4515 	0x1b, 0x6e, 0xe3, 0xe5, 0xab, 0x2a, 0xae, 0xcd, 0x5c, 0x1f, 0xf4, 0xc8,
4516 	0x43, 0x1f, 0x12, 0x4f, 0x46, 0x88, 0xc1, 0xca
4517 };
4518 static const uint8_t nist_186_2_ecdsa_testvector_102_private[] = {
4519 /* d - byte alignment */
4520 	0x00, 0x00, 0x00, 0x00, 0x2a, 0xa6, 0xc4, 0x61, 0xf8, 0xb0, 0xf5, 0x0f,
4521 	0xf7, 0x21, 0xcc, 0x0f, 0x77, 0x3e, 0xcc, 0x19, 0x9f, 0x51, 0xcb, 0xb0,
4522 	0x72, 0xc8, 0xb8, 0xba, 0x39, 0x2e
4523 };
4524 static const uint8_t nist_186_2_ecdsa_testvector_102_public_x[] = {
4525 /* Qx - byte alignment */
4526 	0x01, 0xaa, 0x8e, 0x0d, 0x74, 0x8d, 0x2d, 0x3d, 0xe4, 0xe8, 0x64, 0x14,
4527 	0x9f, 0x32, 0xe2, 0xd7, 0xaf, 0x95, 0x1a, 0xe9, 0x63, 0x7c, 0x46, 0xdb,
4528 	0xfa, 0xd8, 0x78, 0x24, 0x66, 0xae
4529 };
4530 static const uint8_t nist_186_2_ecdsa_testvector_102_public_y[] = {
4531 /* Qy - byte alignment */
4532 	0x01, 0x4a, 0xd6, 0xf2, 0x18, 0x6a, 0xec, 0x78, 0xcc, 0x79, 0x84, 0x79,
4533 	0x5d, 0x5b, 0x9f, 0x5e, 0x1e, 0xe7, 0x0d, 0xe4, 0x3a, 0x53, 0x67, 0x0e,
4534 	0x6d, 0x28, 0xa5, 0x36, 0x25, 0x55
4535 };
4536 /* k = 00000007a73a1ed4c2700b4cbb0beea6c4f5f7721fe00b0d2cdefd62e5c */
4537 static const uint8_t nist_186_2_ecdsa_testvector_102_out[] = {
4538 /* R - byte alignment */
4539 	0x00, 0x3c, 0x50, 0xaf, 0x64, 0xac, 0x35, 0x69, 0x68, 0xd1, 0xc8, 0xde,
4540 	0x2b, 0x4e, 0x13, 0xe7, 0x76, 0xb5, 0xd4, 0xa6, 0x83, 0x41, 0x06, 0xe6,
4541 	0xa8, 0x10, 0x77, 0x2f, 0xe2, 0x75,
4542 /* S - byte alignment */
4543 	0x00, 0x1b, 0x68, 0x89, 0x7e, 0x67, 0x25, 0x87, 0xa6, 0x8c, 0x43, 0xae,
4544 	0xa6, 0x04, 0x4a, 0x09, 0x72, 0x77, 0x3c, 0x4e, 0xd5, 0xfe, 0xe3, 0xfd,
4545 	0xd5, 0xfb, 0x49, 0xc3, 0x33, 0x8d
4546 };
4547 static const uint8_t nist_186_2_ecdsa_testvector_103_ptx[] = {
4548 /* Msg */
4549 	0xda, 0xd1, 0x2a, 0xcf, 0x81, 0x77, 0x9f, 0x7e, 0x90, 0x3b, 0xc6, 0xec,
4550 	0xd7, 0xf7, 0x24, 0x60, 0x0e, 0xd1, 0x53, 0xdb, 0xc9, 0x62, 0x9b, 0x55,
4551 	0xa8, 0x18, 0xc2, 0x4a, 0xce, 0xd8, 0x24, 0x75, 0x95, 0xe8, 0x06, 0xdc,
4552 	0x80, 0x0d, 0x27, 0x0c, 0x72, 0xf0, 0x98, 0xa6, 0x1d, 0xc6, 0xce, 0x1a,
4553 	0xbc, 0x30, 0xf6, 0xb3, 0x05, 0x60, 0x88, 0xd4, 0x59, 0x7e, 0x1f, 0x81,
4554 	0x3f, 0x4a, 0x88, 0x20, 0x10, 0x02, 0x18, 0x81, 0xf4, 0x86, 0x43, 0x1d,
4555 	0x0c, 0xba, 0x6b, 0x9b, 0xf1, 0x2c, 0xf6, 0x99, 0x5e, 0xf7, 0xa3, 0xa8,
4556 	0x29, 0xe7, 0x1e, 0x98, 0x78, 0xdd, 0xd2, 0xf7, 0x31, 0x75, 0xfe, 0xd4,
4557 	0xb2, 0xe7, 0x0b, 0xc8, 0xc3, 0x2b, 0x1d, 0x38, 0xc8, 0x61, 0xe8, 0xd4,
4558 	0x3c, 0x6f, 0xc5, 0x63, 0x5a, 0xec, 0x04, 0xc3, 0x1d, 0x3d, 0x84, 0x2b,
4559 	0x6b, 0xfd, 0x82, 0xb4, 0x8d, 0xa3, 0xaf, 0x18
4560 };
4561 static const uint8_t nist_186_2_ecdsa_testvector_103_private[] = {
4562 /* d - byte alignment */
4563 	0x00, 0x00, 0x00, 0x00, 0x67, 0x4f, 0xd6, 0x30, 0x51, 0x76, 0x9b, 0x32,
4564 	0x1d, 0x74, 0x56, 0x4c, 0x0b, 0xc9, 0xde, 0x95, 0x84, 0x38, 0xe1, 0x3f,
4565 	0xdd, 0xb4, 0xf8, 0xa9, 0x51, 0x71
4566 };
4567 static const uint8_t nist_186_2_ecdsa_testvector_103_public_x[] = {
4568 /* Qx - byte alignment */
4569 	0x01, 0x01, 0x9e, 0xfa, 0x37, 0x20, 0x62, 0xa1, 0x5e, 0x62, 0xd4, 0x84,
4570 	0x85, 0x31, 0xf6, 0xf2, 0xe3, 0xcc, 0x37, 0x4c, 0xea, 0x5b, 0x01, 0x03,
4571 	0x44, 0xb4, 0x05, 0xa0, 0xbe, 0x37
4572 };
4573 static const uint8_t nist_186_2_ecdsa_testvector_103_public_y[] = {
4574 /* Qy - byte alignment */
4575 	0x01, 0x02, 0x8a, 0x9b, 0xd5, 0xef, 0xad, 0xbb, 0xe9, 0xc2, 0x32, 0x35,
4576 	0x6f, 0x93, 0x10, 0xeb, 0xd5, 0x0d, 0x54, 0xcb, 0x34, 0x9e, 0xf7, 0x0c,
4577 	0x72, 0x37, 0xdf, 0xc3, 0x55, 0xd4
4578 };
4579 /* k = 00000001f92d4ce1bc35799bd39adf7613ca26088c659f80426a21014db */
4580 static const uint8_t nist_186_2_ecdsa_testvector_103_out[] = {
4581 /* R - byte alignment */
4582 	0x00, 0x1d, 0x26, 0xcc, 0xdb, 0xa5, 0xca, 0x39, 0x7e, 0x73, 0xcf, 0x7c,
4583 	0x8e, 0x35, 0x7e, 0x9a, 0xd8, 0x7c, 0x4f, 0xda, 0x86, 0x6d, 0x87, 0x23,
4584 	0x63, 0x23, 0xb8, 0x9c, 0xeb, 0x82,
4585 /* S - byte alignment */
4586 	0x00, 0x69, 0xf0, 0xa5, 0xf2, 0x86, 0x53, 0xbf, 0x40, 0x08, 0x43, 0x8e,
4587 	0xbf, 0x19, 0x50, 0xd9, 0x39, 0xe4, 0xdb, 0x9c, 0x53, 0x08, 0xde, 0xdd,
4588 	0x29, 0x1e, 0x8d, 0x61, 0xa3, 0x2a
4589 };
4590 static const uint8_t nist_186_2_ecdsa_testvector_104_ptx[] = {
4591 /* Msg */
4592 	0x56, 0xc8, 0x64, 0xa8, 0xc4, 0x25, 0x91, 0x96, 0xe0, 0x66, 0x57, 0xe8,
4593 	0x3b, 0x9f, 0x0a, 0xf3, 0xe7, 0x6f, 0x5d, 0xf3, 0x44, 0x85, 0xd2, 0xaa,
4594 	0x17, 0x63, 0x75, 0x4a, 0xdc, 0x62, 0xca, 0x95, 0x5e, 0xf7, 0x04, 0x43,
4595 	0x84, 0x34, 0x77, 0xa4, 0x6e, 0x92, 0x50, 0x86, 0xc0, 0xed, 0x84, 0x59,
4596 	0x3e, 0xd0, 0x06, 0x91, 0x9a, 0xf3, 0x3d, 0x4c, 0x89, 0x02, 0xb5, 0x35,
4597 	0x1c, 0xa0, 0x15, 0xa8, 0x4e, 0xac, 0x51, 0x17, 0xda, 0xc3, 0x20, 0xac,
4598 	0x4f, 0x06, 0xb1, 0x2f, 0x65, 0x1d, 0x99, 0x2b, 0x92, 0x7c, 0x11, 0x4c,
4599 	0xd9, 0xe4, 0x5e, 0x0c, 0xe3, 0x2d, 0x90, 0x8e, 0x50, 0x44, 0x6f, 0xca,
4600 	0x4f, 0x70, 0xb3, 0xeb, 0x6c, 0xd9, 0x73, 0xf5, 0xaa, 0x4a, 0xe0, 0xab,
4601 	0xd2, 0x36, 0x33, 0xb0, 0x0a, 0xf9, 0xe4, 0xec, 0xa9, 0x61, 0x1d, 0x31,
4602 	0x4a, 0x6d, 0x6e, 0x1f, 0x20, 0x54, 0xc2, 0x45
4603 };
4604 static const uint8_t nist_186_2_ecdsa_testvector_104_private[] = {
4605 /* d - byte alignment */
4606 	0x00, 0x00, 0x00, 0x00, 0x10, 0x5e, 0xc1, 0x55, 0xc1, 0x53, 0xc2, 0xae,
4607 	0x7b, 0xb9, 0xf6, 0xdb, 0xa5, 0xd3, 0x01, 0x6a, 0x3d, 0x44, 0xae, 0x80,
4608 	0x03, 0x55, 0x40, 0xce, 0xa9, 0xf4
4609 };
4610 static const uint8_t nist_186_2_ecdsa_testvector_104_public_x[] = {
4611 /* Qx - byte alignment */
4612 	0x01, 0x7c, 0x13, 0x91, 0x21, 0xbe, 0x81, 0xda, 0x9a, 0xb4, 0xf9, 0x28,
4613 	0xb7, 0xd5, 0xd9, 0x06, 0x46, 0x8b, 0x76, 0x84, 0xa1, 0x1e, 0x14, 0x14,
4614 	0xf3, 0x45, 0x90, 0x01, 0x15, 0x4b
4615 };
4616 static const uint8_t nist_186_2_ecdsa_testvector_104_public_y[] = {
4617 /* Qy - byte alignment */
4618 	0x00, 0x9d, 0x05, 0x50, 0x8f, 0x18, 0x00, 0x93, 0x1b, 0x03, 0xdd, 0x29,
4619 	0x0a, 0x9c, 0x74, 0xc4, 0x7e, 0xd4, 0x3a, 0x0b, 0x47, 0x9d, 0x55, 0x84,
4620 	0xd9, 0xbf, 0xfc, 0x2b, 0xca, 0x32
4621 };
4622 /* k = 0000000195eeed8137349bb0ae8c941ca8a6fe0dbdf4cacac9a28507c95 */
4623 static const uint8_t nist_186_2_ecdsa_testvector_104_out[] = {
4624 /* R - byte alignment */
4625 	0x00, 0x49, 0x17, 0x29, 0xe9, 0x92, 0x91, 0x68, 0x4d, 0xc8, 0x75, 0xf1,
4626 	0x80, 0x1d, 0xda, 0x25, 0xa9, 0x97, 0xe9, 0x89, 0x44, 0x54, 0x15, 0xd0,
4627 	0xf7, 0x4f, 0xc8, 0xab, 0xe7, 0x7b,
4628 /* S - byte alignment */
4629 	0x00, 0x7b, 0x28, 0x90, 0x2f, 0x9f, 0x6c, 0x9d, 0x35, 0xde, 0x0f, 0x1b,
4630 	0x3a, 0xd1, 0xff, 0x1a, 0x60, 0xee, 0xc2, 0x3a, 0x0e, 0x8d, 0x5c, 0x8b,
4631 	0xa4, 0x7b, 0xf2, 0x4e, 0x5e, 0x8d
4632 };
4633 static const uint8_t nist_186_2_ecdsa_testvector_105_ptx[] = {
4634 /* Msg */
4635 	0x75, 0x8f, 0x26, 0xa0, 0xa2, 0xbd, 0xb5, 0xe5, 0x3e, 0xea, 0x6c, 0x43,
4636 	0xdb, 0x2c, 0x9a, 0x1d, 0x61, 0x9c, 0x84, 0xf3, 0x61, 0x59, 0x5a, 0x86,
4637 	0xa5, 0xd0, 0x6a, 0x3d, 0x0c, 0x3a, 0x94, 0xc8, 0x95, 0x65, 0xfe, 0x03,
4638 	0xb9, 0xb8, 0x09, 0x1d, 0xfe, 0x72, 0x83, 0xf9, 0xc9, 0x32, 0x1e, 0xd4,
4639 	0x73, 0xbc, 0x20, 0x29, 0xa0, 0xfa, 0x5d, 0xd1, 0xcc, 0x41, 0x62, 0x6f,
4640 	0x27, 0xd6, 0xf4, 0x0b, 0xa3, 0xb1, 0xb9, 0xfd, 0x4b, 0x80, 0x34, 0x0d,
4641 	0xd6, 0xef, 0xf7, 0xd8, 0x7c, 0x27, 0x13, 0x76, 0x08, 0x94, 0xd4, 0x59,
4642 	0x2f, 0xec, 0xab, 0x78, 0x20, 0x6d, 0x6c, 0xad, 0x5c, 0x66, 0xb9, 0x5c,
4643 	0xc8, 0xf8, 0xbe, 0x56, 0x00, 0x1e, 0x20, 0xfd, 0xef, 0xeb, 0x2f, 0xa8,
4644 	0x9d, 0x13, 0x63, 0x49, 0x47, 0xad, 0x06, 0x4d, 0xb5, 0x37, 0x2e, 0xc3,
4645 	0xc8, 0xdb, 0xee, 0xc1, 0x53, 0xf0, 0xcd, 0x03
4646 };
4647 static const uint8_t nist_186_2_ecdsa_testvector_105_private[] = {
4648 /* d - byte alignment */
4649 	0x00, 0x00, 0x00, 0x00, 0x10, 0x64, 0x52, 0xe5, 0xca, 0x45, 0x76, 0xad,
4650 	0x01, 0x52, 0x29, 0xdf, 0x08, 0xc3, 0xf2, 0xff, 0xdb, 0x58, 0x90, 0x4b,
4651 	0xa8, 0x92, 0x3c, 0xf3, 0x50, 0xd4
4652 };
4653 static const uint8_t nist_186_2_ecdsa_testvector_105_public_x[] = {
4654 /* Qx - byte alignment */
4655 	0x00, 0x2b, 0x7c, 0xd9, 0x24, 0xc4, 0x41, 0x00, 0x39, 0x5f, 0x23, 0x90,
4656 	0x68, 0x99, 0x24, 0x76, 0x3d, 0x59, 0x74, 0x99, 0xe0, 0xcb, 0x4e, 0x15,
4657 	0xc7, 0x8e, 0x80, 0x7f, 0xca, 0x02
4658 };
4659 static const uint8_t nist_186_2_ecdsa_testvector_105_public_y[] = {
4660 /* Qy - byte alignment */
4661 	0x00, 0x32, 0xd2, 0xd4, 0xae, 0x07, 0xdd, 0x7e, 0x6c, 0xc9, 0xe6, 0xf6,
4662 	0x59, 0x18, 0xd6, 0x49, 0xfe, 0xe9, 0x8b, 0x08, 0xe2, 0xd8, 0x97, 0x9b,
4663 	0xe8, 0x87, 0x58, 0x5c, 0x0f, 0xe1
4664 };
4665 /* k = 00000000f1f9a014d98bc3729a23f74820c2395cfba1ff7cf767af47573 */
4666 static const uint8_t nist_186_2_ecdsa_testvector_105_out[] = {
4667 /* R - byte alignment */
4668 	0x00, 0x51, 0x82, 0x91, 0x4d, 0x54, 0x5b, 0xc8, 0xb5, 0x21, 0xba, 0x6c,
4669 	0x92, 0xa4, 0x92, 0x4c, 0x18, 0x05, 0x35, 0xf0, 0x9a, 0x9c, 0xd0, 0xdd,
4670 	0x22, 0xd5, 0xa5, 0xe4, 0x28, 0x89,
4671 /* S - byte alignment */
4672 	0x00, 0x76, 0x42, 0xf4, 0xf1, 0x3b, 0xca, 0xe9, 0xa2, 0x7a, 0x47, 0xa8,
4673 	0x63, 0xc8, 0x45, 0xd3, 0x39, 0x53, 0x17, 0x55, 0xc9, 0x5b, 0x27, 0x83,
4674 	0xf9, 0x81, 0xa2, 0x12, 0xaa, 0x1b
4675 };
4676 /* [K-283] - GP NOT SUPPORTED */
4677 static const uint8_t nist_186_2_ecdsa_testvector_106_ptx[] = {
4678 /* Msg */
4679 	0xf0, 0x6b, 0x64, 0x2f, 0xdb, 0x21, 0x1d, 0xad, 0xa7, 0x2e, 0xea, 0xae,
4680 	0xa5, 0x6c, 0xc7, 0x93, 0xc7, 0xd7, 0x50, 0xd3, 0xb2, 0x4f, 0x79, 0xe5,
4681 	0x15, 0x9a, 0x7f, 0x61, 0x39, 0xa9, 0x1f, 0x62, 0xda, 0x1c, 0x05, 0x2e,
4682 	0x36, 0x08, 0x87, 0x19, 0x63, 0xf7, 0x93, 0xa6, 0xe5, 0x30, 0xe6, 0xf0,
4683 	0x80, 0x39, 0x7f, 0x48, 0x4b, 0x9b, 0x54, 0x20, 0x06, 0xe5, 0x43, 0x28,
4684 	0xad, 0xf3, 0x4b, 0xb6, 0x4d, 0x70, 0xfc, 0x6b, 0x17, 0x9a, 0x2c, 0x14,
4685 	0xb3, 0x45, 0xec, 0xce, 0xd7, 0x23, 0xbb, 0x6e, 0x17, 0x42, 0xf9, 0x1f,
4686 	0xff, 0xd6, 0x9e, 0x4d, 0x5f, 0x39, 0x2b, 0xc2, 0xe6, 0x30, 0xe1, 0x0f,
4687 	0xf2, 0x70, 0x31, 0x2e, 0xa7, 0x61, 0x75, 0x65, 0x3f, 0x21, 0xdd, 0x6d,
4688 	0xa0, 0xcc, 0xac, 0xd4, 0x34, 0xfb, 0xa4, 0xa0, 0xf5, 0x8a, 0xbe, 0x35,
4689 	0xc7, 0x9f, 0x1f, 0x79, 0x0b, 0xe7, 0x48, 0x35
4690 };
4691 static const uint8_t nist_186_2_ecdsa_testvector_106_private[] = {
4692 /* d - byte alignment */
4693 	0x00, 0x5b, 0xa8, 0x71, 0x21, 0x9b, 0xd8, 0x03, 0x5f, 0xfe, 0x4f, 0xca,
4694 	0xfd, 0x38, 0x1f, 0x38, 0x02, 0x73, 0x46, 0x97, 0x00, 0xdb, 0x81, 0xb4,
4695 	0xb3, 0xab, 0x35, 0xe9, 0xe8, 0x82, 0x8b, 0x22, 0x7b, 0x97, 0x58, 0x7f
4696 };
4697 static const uint8_t nist_186_2_ecdsa_testvector_106_public_x[] = {
4698 /* Qx - byte alignment */
4699 	0x02, 0xac, 0x04, 0xf2, 0xa3, 0xfc, 0x49, 0x91, 0x2b, 0x16, 0x67, 0x75,
4700 	0xe6, 0xb2, 0x37, 0x15, 0x11, 0x64, 0xe9, 0x38, 0x11, 0x25, 0x76, 0x5c,
4701 	0x51, 0x2c, 0x4c, 0x23, 0x12, 0x21, 0xaa, 0x22, 0x13, 0x1a, 0xb7, 0xec
4702 };
4703 static const uint8_t nist_186_2_ecdsa_testvector_106_public_y[] = {
4704 /* Qy - byte alignment */
4705 	0x06, 0x5c, 0x18, 0x36, 0x2b, 0xb4, 0x6d, 0x48, 0x68, 0x3d, 0x14, 0xfe,
4706 	0xb3, 0xd0, 0x07, 0x88, 0xec, 0x13, 0xe2, 0xf4, 0xcb, 0xc2, 0x1e, 0x09,
4707 	0x4a, 0x76, 0xc1, 0x18, 0x3f, 0x0d, 0xb0, 0x0e, 0x52, 0x92, 0xb9, 0x38
4708 };
4709 /* k = 0f291f9fd39310ecbd8e6067e82f4d18c3b35a081d9ce2fb9d9f5847f80afd5074f76eb */
4710 static const uint8_t nist_186_2_ecdsa_testvector_106_out[] = {
4711 /* R - byte alignment */
4712 	0x00, 0xc1, 0xf8, 0xd8, 0x6e, 0xf4, 0x95, 0x78, 0x28, 0xab, 0x0a, 0xf8,
4713 	0x9a, 0x18, 0x2c, 0x54, 0x95, 0xd6, 0x4f, 0xb4, 0xb9, 0x16, 0x46, 0xb7,
4714 	0x82, 0x4c, 0x41, 0x9b, 0x7c, 0x92, 0xe6, 0x87, 0xd7, 0x6b, 0x88, 0xf3,
4715 /* S - byte alignment */
4716 	0x00, 0x66, 0x79, 0x13, 0xe0, 0xcb, 0x09, 0xfe, 0x65, 0x65, 0xac, 0x5a,
4717 	0x27, 0xe6, 0x85, 0xc1, 0x76, 0x99, 0xcd, 0xaf, 0x44, 0x3d, 0xe3, 0xfb,
4718 	0xb6, 0x53, 0x77, 0x4f, 0xe2, 0x63, 0xb2, 0xed, 0xba, 0x0d, 0xac, 0xa3
4719 };
4720 static const uint8_t nist_186_2_ecdsa_testvector_107_ptx[] = {
4721 /* Msg */
4722 	0xd8, 0xf7, 0xf3, 0xe9, 0x79, 0xdf, 0x1c, 0x0a, 0x81, 0xcc, 0x8c, 0x58,
4723 	0xfd, 0x62, 0xe2, 0x44, 0xad, 0x38, 0xf1, 0xa7, 0x13, 0x95, 0x71, 0xa9,
4724 	0xca, 0x77, 0xf3, 0xe3, 0x19, 0xda, 0x1b, 0xc0, 0xc8, 0x36, 0x09, 0x29,
4725 	0x32, 0x4a, 0x18, 0x61, 0x9c, 0x18, 0xcb, 0x2d, 0xc5, 0x31, 0x04, 0x39,
4726 	0xbe, 0x32, 0x77, 0xb7, 0xfc, 0x8f, 0x5f, 0x49, 0xac, 0x8f, 0x6f, 0x21,
4727 	0x46, 0x98, 0x0c, 0x66, 0x65, 0xad, 0xb9, 0xda, 0xd6, 0x35, 0xd3, 0xbb,
4728 	0xef, 0xfe, 0x7e, 0xe7, 0x22, 0x81, 0xdf, 0x43, 0xd2, 0x68, 0x8c, 0x5c,
4729 	0x64, 0x4d, 0x40, 0x4f, 0x9a, 0xc5, 0xd4, 0xe7, 0x1c, 0x9d, 0x6a, 0x06,
4730 	0x58, 0x63, 0xec, 0x46, 0x8c, 0x28, 0xb5, 0xdf, 0x21, 0x85, 0x8d, 0xcc,
4731 	0x3b, 0xdc, 0xdb, 0x29, 0x8e, 0xe0, 0x16, 0xe0, 0x73, 0x58, 0x7d, 0x84,
4732 	0x3b, 0x20, 0x08, 0x7d, 0xc3, 0x70, 0x9e, 0x66
4733 };
4734 static const uint8_t nist_186_2_ecdsa_testvector_107_private[] = {
4735 /* d - byte alignment */
4736 	0x01, 0xf4, 0x12, 0x2e, 0x6b, 0xbf, 0xd5, 0x4c, 0x74, 0xc2, 0x09, 0x09,
4737 	0xb5, 0x17, 0xad, 0xca, 0x2a, 0xa6, 0x15, 0xa3, 0xa9, 0x70, 0xaf, 0x49,
4738 	0xf1, 0xb6, 0xd4, 0x82, 0xe5, 0x29, 0x55, 0x67, 0x8d, 0x90, 0x08, 0xca
4739 };
4740 static const uint8_t nist_186_2_ecdsa_testvector_107_public_x[] = {
4741 /* Qx - byte alignment */
4742 	0x07, 0xc9, 0x29, 0x09, 0x8f, 0x03, 0x9b, 0xd5, 0xb1, 0xcd, 0x28, 0x85,
4743 	0x45, 0xd2, 0xed, 0xa3, 0x52, 0x5a, 0x4f, 0xc3, 0x1b, 0x1c, 0x50, 0x50,
4744 	0x78, 0xb2, 0x1b, 0xd9, 0x33, 0x70, 0x6a, 0xa8, 0xa3, 0x09, 0x6c, 0x00
4745 };
4746 static const uint8_t nist_186_2_ecdsa_testvector_107_public_y[] = {
4747 /* Qy - byte alignment */
4748 	0x01, 0xb9, 0x09, 0x6a, 0x35, 0x68, 0x91, 0xfe, 0xe0, 0xf7, 0xa3, 0x46,
4749 	0xf4, 0xa5, 0xc4, 0xfd, 0xa4, 0xb5, 0xac, 0xe8, 0x2b, 0xc3, 0xb6, 0x68,
4750 	0xe3, 0x1f, 0x50, 0x5d, 0x82, 0x11, 0x7a, 0xfb, 0x1e, 0x9b, 0x2d, 0xa6
4751 };
4752 /* k = 139c2fb0c80eb68c87b60947fdbcfc542f522b17684153bc6fc68abd76f97d1543dedd0 */
4753 static const uint8_t nist_186_2_ecdsa_testvector_107_out[] = {
4754 /* R - byte alignment */
4755 	0x01, 0x69, 0xac, 0x4c, 0x71, 0x42, 0xfd, 0x56, 0x29, 0xe9, 0x80, 0x0d,
4756 	0x4c, 0x80, 0xf2, 0x02, 0xba, 0x9b, 0xae, 0xb7, 0xf1, 0xbe, 0x25, 0xed,
4757 	0xb2, 0x49, 0xe1, 0x54, 0x2d, 0xd3, 0x0a, 0xf1, 0xce, 0x5e, 0x1d, 0x0a,
4758 /* S - byte alignment */
4759 	0x00, 0x6e, 0x84, 0x72, 0xe5, 0x5f, 0x81, 0x7f, 0xcf, 0xf2, 0x88, 0x6f,
4760 	0x1b, 0x3d, 0x67, 0x54, 0xa6, 0x09, 0xe7, 0x25, 0xfc, 0x2c, 0xea, 0x17,
4761 	0x92, 0x07, 0xf4, 0x9d, 0xf0, 0x47, 0xac, 0x07, 0x38, 0x4f, 0x08, 0x1c
4762 };
4763 static const uint8_t nist_186_2_ecdsa_testvector_108_ptx[] = {
4764 /* Msg */
4765 	0xc8, 0x27, 0xf3, 0x8a, 0xc2, 0x4f, 0x78, 0x3c, 0x28, 0xf2, 0x5a, 0x7e,
4766 	0xec, 0x43, 0xc7, 0x51, 0x5d, 0x6d, 0x14, 0x4e, 0x04, 0xe2, 0xb8, 0x95,
4767 	0xcc, 0xef, 0x9c, 0x07, 0x67, 0x95, 0x92, 0xb5, 0xec, 0x94, 0x22, 0x97,
4768 	0xc5, 0xc8, 0x8d, 0x82, 0xc8, 0xb8, 0x0c, 0x54, 0xa4, 0x6d, 0x59, 0x72,
4769 	0x7f, 0x80, 0x70, 0x74, 0xdd, 0x77, 0x97, 0x1e, 0xc4, 0x52, 0x9c, 0x92,
4770 	0x1e, 0x60, 0x5e, 0xc5, 0x5e, 0x57, 0x8e, 0x30, 0x66, 0xa4, 0xb7, 0xc8,
4771 	0xa8, 0x00, 0x7c, 0x2f, 0x8c, 0x44, 0x22, 0x2c, 0x12, 0x7e, 0x4e, 0x59,
4772 	0xb9, 0x44, 0x0f, 0x1b, 0x9f, 0x48, 0x1e, 0xd7, 0xe9, 0x2d, 0x65, 0x63,
4773 	0x65, 0x99, 0xbf, 0xbb, 0x6e, 0x8c, 0xff, 0xf6, 0x11, 0xf0, 0x33, 0x78,
4774 	0x6e, 0x71, 0x2a, 0x68, 0x60, 0x8e, 0x33, 0x65, 0x60, 0xf0, 0x28, 0x74,
4775 	0xa6, 0xfb, 0xab, 0x3d, 0x92, 0xa4, 0xb0, 0x78
4776 };
4777 static const uint8_t nist_186_2_ecdsa_testvector_108_private[] = {
4778 /* d - byte alignment */
4779 	0x01, 0x10, 0xac, 0xab, 0x54, 0xde, 0x0a, 0xee, 0x30, 0xf9, 0xcf, 0x6b,
4780 	0x02, 0xc7, 0xa4, 0x96, 0xe2, 0x19, 0xbc, 0x0a, 0x13, 0xf7, 0x45, 0xa5,
4781 	0xf5, 0xb9, 0xed, 0xbd, 0x9f, 0xa4, 0x81, 0xb9, 0x48, 0x5c, 0xea, 0x58
4782 };
4783 static const uint8_t nist_186_2_ecdsa_testvector_108_public_x[] = {
4784 /* Qx - byte alignment */
4785 	0x04, 0xb1, 0x89, 0x0a, 0xcf, 0x9b, 0x84, 0xbb, 0xc2, 0x3f, 0xce, 0x4f,
4786 	0xcf, 0x05, 0x49, 0x93, 0xe3, 0xa2, 0x09, 0x05, 0x8e, 0x3f, 0x68, 0x70,
4787 	0xc9, 0xb9, 0xb7, 0x55, 0x2d, 0xbe, 0x4d, 0x01, 0xe6, 0xa5, 0x7a, 0x5b
4788 };
4789 static const uint8_t nist_186_2_ecdsa_testvector_108_public_y[] = {
4790 /* Qy - byte alignment */
4791 	0x05, 0xda, 0x10, 0xfb, 0x30, 0x80, 0xa0, 0x27, 0xfb, 0x1d, 0x8c, 0x06,
4792 	0x66, 0x11, 0xad, 0x52, 0x9f, 0x2f, 0x22, 0x58, 0xfb, 0xed, 0x2b, 0xde,
4793 	0x4c, 0x44, 0x1a, 0x41, 0x59, 0xf4, 0x3f, 0x35, 0x49, 0x3c, 0xd7, 0xbc
4794 };
4795 /* k = 18b3ca7f07bd7598ff56b8039eb37b38771ccf2bf01943188001636ef35303a603ffa6f */
4796 static const uint8_t nist_186_2_ecdsa_testvector_108_out[] = {
4797 /* R - byte alignment */
4798 	0x00, 0xba, 0x25, 0x30, 0xcc, 0x00, 0xb0, 0xc5, 0x5f, 0xdd, 0x5c, 0x37,
4799 	0xcc, 0x37, 0xb6, 0x8e, 0x9b, 0x9f, 0x88, 0xaa, 0x26, 0x4b, 0x57, 0x6e,
4800 	0x9f, 0x60, 0xad, 0xf0, 0xef, 0x41, 0x92, 0x11, 0x5f, 0xd2, 0x07, 0x05,
4801 /* S - byte alignment */
4802 	0x01, 0x1b, 0x07, 0x37, 0x0a, 0xe7, 0x1d, 0x82, 0x1f, 0xd5, 0x70, 0xbc,
4803 	0x3d, 0x25, 0xf0, 0x85, 0x98, 0x48, 0x13, 0x03, 0x07, 0x0a, 0xa9, 0x4b,
4804 	0x99, 0xc9, 0x56, 0x2e, 0xf2, 0xc9, 0x7e, 0x06, 0x04, 0x85, 0xa6, 0xd4
4805 };
4806 static const uint8_t nist_186_2_ecdsa_testvector_109_ptx[] = {
4807 /* Msg */
4808 	0x75, 0xea, 0xda, 0x8d, 0x9f, 0xda, 0x06, 0x5d, 0x74, 0xca, 0x2d, 0x45,
4809 	0xe7, 0x2f, 0x01, 0xfd, 0x5f, 0x27, 0x3a, 0x31, 0x68, 0x5c, 0xe6, 0x84,
4810 	0xa8, 0x2c, 0x00, 0xd5, 0x16, 0x08, 0x45, 0xc1, 0x66, 0x1a, 0x43, 0x69,
4811 	0xc7, 0x2b, 0xb3, 0x75, 0xd1, 0xc3, 0x08, 0x59, 0xb9, 0x92, 0x48, 0xd6,
4812 	0xc8, 0x0e, 0x1b, 0xc4, 0x0b, 0x5e, 0x22, 0x10, 0x4b, 0x77, 0x89, 0x01,
4813 	0x3f, 0x85, 0xe0, 0xbf, 0x01, 0x8c, 0x26, 0x15, 0xbf, 0x4f, 0x27, 0x76,
4814 	0xb3, 0x71, 0x09, 0x3e, 0x55, 0xda, 0x21, 0x3b, 0xcf, 0x5c, 0x0b, 0x6c,
4815 	0xb1, 0x96, 0xf9, 0x08, 0xe6, 0x19, 0x4b, 0xc2, 0xe7, 0xca, 0x60, 0x4c,
4816 	0x2e, 0x88, 0xac, 0x1a, 0xee, 0x0e, 0x0b, 0x68, 0x01, 0x1a, 0x55, 0x7e,
4817 	0x21, 0xcf, 0x33, 0x33, 0x5c, 0x57, 0x31, 0xb0, 0xc2, 0xce, 0x14, 0x76,
4818 	0x61, 0x5b, 0x6d, 0xa3, 0x73, 0xa0, 0x6e, 0x70
4819 };
4820 static const uint8_t nist_186_2_ecdsa_testvector_109_private[] = {
4821 /* d - byte alignment */
4822 	0x01, 0x4c, 0xb8, 0x48, 0x03, 0x78, 0x9e, 0x2b, 0xb7, 0x1e, 0xf8, 0x4e,
4823 	0xb2, 0xbd, 0x35, 0xa3, 0xed, 0x51, 0x61, 0xf9, 0xc8, 0x95, 0xf5, 0x30,
4824 	0x37, 0xef, 0xf8, 0x35, 0x2d, 0xe6, 0x10, 0x71, 0xc1, 0xc1, 0x0a, 0x22
4825 };
4826 static const uint8_t nist_186_2_ecdsa_testvector_109_public_x[] = {
4827 /* Qx - byte alignment */
4828 	0x03, 0xdb, 0x6c, 0x52, 0x07, 0x76, 0xe5, 0x85, 0x7b, 0x1c, 0xf7, 0xf0,
4829 	0xc2, 0xff, 0x5a, 0xf8, 0x9f, 0x32, 0x9b, 0xe2, 0x73, 0xa8, 0xd7, 0xb6,
4830 	0x28, 0xc0, 0x08, 0xa6, 0x62, 0x7d, 0xdf, 0x08, 0x45, 0xa7, 0x98, 0x30
4831 };
4832 static const uint8_t nist_186_2_ecdsa_testvector_109_public_y[] = {
4833 /* Qy - byte alignment */
4834 	0x02, 0xdc, 0x68, 0xac, 0x24, 0x69, 0xaf, 0x1b, 0xfa, 0x7c, 0xc7, 0xde,
4835 	0x61, 0x46, 0x6a, 0xd9, 0xf1, 0x64, 0xa0, 0x2d, 0x65, 0x42, 0x8f, 0xef,
4836 	0x7e, 0x57, 0x6a, 0xa5, 0x51, 0x79, 0x09, 0xb0, 0x00, 0xf3, 0x40, 0xaa
4837 };
4838 /* k = 1dc37802ec3d06d3fa6e665214a5e7ca7dc6e51584af57edfdf6c2171e89c29fbd5bc0b */
4839 static const uint8_t nist_186_2_ecdsa_testvector_109_out[] = {
4840 /* R - byte alignment */
4841 	0x01, 0xfa, 0x2d, 0xd3, 0xcd, 0x44, 0x95, 0xe9, 0x21, 0x8e, 0x1f, 0x6e,
4842 	0x19, 0xe3, 0x38, 0x66, 0x68, 0xc5, 0x69, 0x77, 0x3b, 0x51, 0xd5, 0xf0,
4843 	0xe2, 0x15, 0x8a, 0xf9, 0x4d, 0x98, 0xa7, 0x90, 0x7b, 0x52, 0xf8, 0x18,
4844 /* S - byte alignment */
4845 	0x00, 0xe8, 0x56, 0x1e, 0x4c, 0xb6, 0x76, 0xce, 0x73, 0xe3, 0xbd, 0xed,
4846 	0x25, 0x72, 0xcc, 0xb3, 0x68, 0xca, 0xb7, 0xb7, 0x56, 0x2a, 0x18, 0x4f,
4847 	0xcd, 0x58, 0x28, 0x41, 0x57, 0x48, 0x00, 0x24, 0xfd, 0x14, 0x46, 0x94
4848 };
4849 static const uint8_t nist_186_2_ecdsa_testvector_110_ptx[] = {
4850 /* Msg */
4851 	0x3f, 0x30, 0x1e, 0x82, 0x81, 0xf0, 0x90, 0x55, 0xc5, 0x29, 0x15, 0x7b,
4852 	0x76, 0xed, 0x84, 0x3b, 0x50, 0x58, 0x9b, 0x2e, 0x14, 0x74, 0x4d, 0x45,
4853 	0x80, 0x5a, 0x5d, 0x0d, 0x7e, 0x9a, 0x2c, 0x32, 0x9c, 0xdd, 0xd0, 0x43,
4854 	0xbc, 0xc9, 0x65, 0xb4, 0x0c, 0x25, 0xa8, 0x29, 0x39, 0x3e, 0xc2, 0xf2,
4855 	0xe0, 0x89, 0x61, 0xd1, 0x46, 0x89, 0x0d, 0x04, 0x48, 0xf3, 0xba, 0x7f,
4856 	0x95, 0x11, 0x99, 0x7a, 0x1a, 0x64, 0x34, 0x2b, 0xbe, 0x8d, 0xba, 0xd5,
4857 	0x50, 0x6e, 0x97, 0x01, 0xbd, 0x8c, 0x48, 0x0b, 0x87, 0xb7, 0x6e, 0xe1,
4858 	0x72, 0xee, 0x21, 0x08, 0x81, 0x7d, 0x86, 0xe0, 0x20, 0x68, 0xa4, 0x28,
4859 	0xa3, 0x0c, 0x73, 0xc4, 0xef, 0x04, 0x36, 0xbe, 0x77, 0x4a, 0x0b, 0x8c,
4860 	0x6b, 0x9e, 0xc1, 0x91, 0x2b, 0x2c, 0xe9, 0xe6, 0x02, 0x69, 0x30, 0x59,
4861 	0x11, 0x3e, 0xec, 0xb6, 0x89, 0x68, 0xf4, 0x46
4862 };
4863 static const uint8_t nist_186_2_ecdsa_testvector_110_private[] = {
4864 /* d - byte alignment */
4865 	0x00, 0xc8, 0xd5, 0x48, 0x6a, 0x78, 0x1e, 0x1e, 0x3d, 0xa0, 0x0f, 0x48,
4866 	0x8e, 0x6c, 0xc7, 0x64, 0x42, 0xfb, 0x96, 0xb3, 0x86, 0xdf, 0xd4, 0xf9,
4867 	0x8f, 0x64, 0x61, 0x10, 0xd7, 0xde, 0x44, 0x14, 0xcb, 0x17, 0x86, 0xf7
4868 };
4869 static const uint8_t nist_186_2_ecdsa_testvector_110_public_x[] = {
4870 /* Qx - byte alignment */
4871 	0x03, 0x79, 0x06, 0xd4, 0xf2, 0xfb, 0xaf, 0x1e, 0x35, 0x35, 0x7e, 0xcc,
4872 	0xc6, 0xfd, 0xe7, 0xe1, 0xce, 0x23, 0x8c, 0xfd, 0x86, 0xa1, 0xe0, 0x1b,
4873 	0xb3, 0x12, 0x50, 0x80, 0xb5, 0x43, 0x44, 0xe0, 0x0f, 0x30, 0xdb, 0x42
4874 };
4875 static const uint8_t nist_186_2_ecdsa_testvector_110_public_y[] = {
4876 /* Qy - byte alignment */
4877 	0x01, 0xd3, 0x3f, 0xfa, 0x8b, 0x33, 0xb3, 0xcb, 0x3c, 0xc4, 0x0e, 0x31,
4878 	0x71, 0x48, 0x61, 0x66, 0x72, 0xfe, 0xa4, 0x44, 0xdc, 0x58, 0x67, 0x2b,
4879 	0x2e, 0xff, 0x9a, 0xea, 0x53, 0xb1, 0x51, 0x64, 0x58, 0x03, 0x81, 0x12
4880 };
4881 /* k = 01121d761d048f9792b699e0130cde517e5170c9f898457e72604791053bba2a7efee9a */
4882 static const uint8_t nist_186_2_ecdsa_testvector_110_out[] = {
4883 /* R - byte alignment */
4884 	0x00, 0x91, 0xb7, 0x67, 0x07, 0x5b, 0x3a, 0xbf, 0xe2, 0x20, 0xb0, 0xf6,
4885 	0xbd, 0x05, 0x71, 0x41, 0xb8, 0x5c, 0x21, 0x5b, 0x37, 0x49, 0x00, 0xe7,
4886 	0xff, 0x67, 0x52, 0x8c, 0xa8, 0x02, 0x14, 0x26, 0xe5, 0xec, 0x4a, 0x5d,
4887 /* S - byte alignment */
4888 	0x00, 0xda, 0x1f, 0x7d, 0x29, 0xe0, 0x24, 0x49, 0x52, 0x41, 0xe1, 0x71,
4889 	0x96, 0x5d, 0xb5, 0x50, 0xdc, 0x40, 0x80, 0xe8, 0x8b, 0x7b, 0xfc, 0xf2,
4890 	0xee, 0x90, 0x24, 0x3d, 0xe0, 0x9e, 0x79, 0xd4, 0x90, 0x98, 0x13, 0x70
4891 };
4892 static const uint8_t nist_186_2_ecdsa_testvector_111_ptx[] = {
4893 /* Msg */
4894 	0x79, 0x51, 0xcb, 0xcb, 0x32, 0xb5, 0x33, 0x19, 0xf8, 0x93, 0x49, 0x04,
4895 	0xec, 0xda, 0x51, 0x94, 0x87, 0x6b, 0xba, 0x4b, 0xd2, 0x7b, 0xf2, 0xa9,
4896 	0xda, 0x38, 0x7f, 0xf6, 0x5e, 0xaf, 0x4c, 0x3b, 0xcc, 0xed, 0x40, 0x92,
4897 	0x6c, 0x64, 0x15, 0x9f, 0xda, 0x91, 0x68, 0x5f, 0xb9, 0xdc, 0x0c, 0x20,
4898 	0xa6, 0xc0, 0xa4, 0xd1, 0x6b, 0x2b, 0x71, 0x7c, 0x75, 0x28, 0x68, 0x11,
4899 	0x89, 0xbb, 0x88, 0x65, 0xb2, 0x0c, 0x6a, 0x7a, 0x7e, 0xc8, 0x1a, 0x01,
4900 	0x69, 0xc5, 0x25, 0x1d, 0x9a, 0xe5, 0xf3, 0x6a, 0xcd, 0x3c, 0x57, 0x3e,
4901 	0x91, 0x75, 0x65, 0x2f, 0xb3, 0x71, 0x84, 0xd5, 0xfa, 0x32, 0xc4, 0xd1,
4902 	0x14, 0xf8, 0x71, 0x0d, 0xd1, 0xa9, 0xe8, 0x46, 0x8f, 0x76, 0xa9, 0xc8,
4903 	0xf6, 0xbc, 0xae, 0x79, 0xe5, 0x28, 0xfb, 0x19, 0xab, 0x1f, 0x77, 0xc8,
4904 	0x7b, 0x5d, 0xfa, 0xc9, 0x1a, 0xdc, 0xa7, 0x85
4905 };
4906 static const uint8_t nist_186_2_ecdsa_testvector_111_private[] = {
4907 /* d - byte alignment */
4908 	0x00, 0xff, 0x58, 0x02, 0xe7, 0x58, 0x94, 0x55, 0xfe, 0x8e, 0x87, 0x75,
4909 	0x6a, 0x7c, 0xb7, 0x21, 0x4e, 0x73, 0x70, 0x1b, 0xd6, 0x35, 0x70, 0x97,
4910 	0x13, 0xb5, 0xbe, 0x4b, 0xcb, 0xe5, 0x10, 0x91, 0xcb, 0xab, 0x25, 0x80
4911 };
4912 static const uint8_t nist_186_2_ecdsa_testvector_111_public_x[] = {
4913 /* Qx - byte alignment */
4914 	0x06, 0x42, 0xf1, 0x1a, 0xc3, 0xbd, 0x7e, 0xff, 0x65, 0x01, 0x77, 0x66,
4915 	0x33, 0xa1, 0x0c, 0x14, 0x23, 0x3c, 0xc6, 0x56, 0xf8, 0x89, 0x15, 0xcd,
4916 	0x90, 0x48, 0xa4, 0xfc, 0x41, 0x19, 0xb1, 0x82, 0xa0, 0xe7, 0x84, 0x47
4917 };
4918 static const uint8_t nist_186_2_ecdsa_testvector_111_public_y[] = {
4919 /* Qy - byte alignment */
4920 	0x02, 0x5f, 0x7e, 0xa4, 0x34, 0xdb, 0xab, 0x0c, 0x2c, 0x4c, 0xd7, 0x75,
4921 	0xcf, 0x3d, 0x8c, 0xb7, 0x18, 0x9e, 0x47, 0xf1, 0x0e, 0x40, 0xde, 0xaa,
4922 	0x47, 0xf0, 0x56, 0x80, 0x9c, 0xb1, 0x62, 0xd2, 0x8e, 0xb3, 0x2b, 0xb2
4923 };
4924 /* k = 13dbae9d89dd59876b87934fd6025084d6bdbe946f1bee4a173665063f9af9d61b5e92f */
4925 static const uint8_t nist_186_2_ecdsa_testvector_111_out[] = {
4926 /* R - byte alignment */
4927 	0x01, 0xeb, 0x31, 0x93, 0x04, 0xff, 0xd6, 0xdc, 0xce, 0x3b, 0x57, 0x32,
4928 	0xe3, 0x42, 0x19, 0x6b, 0x48, 0x27, 0xde, 0xc3, 0x16, 0x85, 0x81, 0xc8,
4929 	0x65, 0x78, 0x82, 0xbb, 0xc5, 0xe2, 0x7e, 0x73, 0xa2, 0x73, 0x6b, 0x90,
4930 /* S - byte alignment */
4931 	0x00, 0x29, 0xcf, 0xcc, 0x7e, 0xff, 0x79, 0x15, 0xe1, 0xd4, 0xc8, 0xb7,
4932 	0x0f, 0xda, 0x11, 0x86, 0xc7, 0xfe, 0xab, 0x22, 0xd7, 0x58, 0xbc, 0x10,
4933 	0x28, 0x51, 0xfa, 0x9b, 0xa5, 0x6c, 0x31, 0xf6, 0x21, 0xc1, 0xbb, 0xa4
4934 };
4935 static const uint8_t nist_186_2_ecdsa_testvector_112_ptx[] = {
4936 /* Msg */
4937 	0x9c, 0x84, 0x64, 0x69, 0x1a, 0xb7, 0xfe, 0x42, 0xe0, 0xb5, 0x54, 0x8c,
4938 	0x56, 0x95, 0x33, 0xb8, 0xbe, 0xdf, 0x11, 0x2e, 0x69, 0xf0, 0xe6, 0xda,
4939 	0x2b, 0x9f, 0x3d, 0xe7, 0x0c, 0x20, 0x8a, 0xca, 0x40, 0x29, 0xbe, 0x83,
4940 	0x5a, 0x54, 0x19, 0x1f, 0xbc, 0xc5, 0x3f, 0x82, 0x52, 0x0c, 0x8f, 0x63,
4941 	0x80, 0x4c, 0xb0, 0x98, 0x58, 0x9d, 0x6c, 0x94, 0x11, 0xb0, 0xc2, 0x2e,
4942 	0xb4, 0xb2, 0x36, 0xa4, 0x19, 0x72, 0x6c, 0xdf, 0x12, 0xc5, 0xf5, 0xf8,
4943 	0xe6, 0x2a, 0x69, 0xfc, 0x01, 0xaa, 0xb6, 0xec, 0xe9, 0x02, 0xb7, 0x08,
4944 	0x74, 0x04, 0x09, 0x4d, 0x39, 0x3b, 0x1a, 0x3d, 0x44, 0xce, 0x82, 0xde,
4945 	0x0e, 0xa6, 0x97, 0x05, 0xac, 0xd3, 0x3b, 0xd4, 0x46, 0x2c, 0xf9, 0x82,
4946 	0xcb, 0x36, 0x51, 0x5a, 0xe3, 0x48, 0x4f, 0x07, 0x25, 0xec, 0x63, 0x0e,
4947 	0x8b, 0x87, 0x6c, 0x9c, 0x22, 0x3d, 0x16, 0x82
4948 };
4949 static const uint8_t nist_186_2_ecdsa_testvector_112_private[] = {
4950 /* d - byte alignment */
4951 	0x00, 0x3f, 0xf4, 0x93, 0x07, 0x06, 0x3d, 0xe1, 0x26, 0x27, 0x1b, 0xa6,
4952 	0x65, 0x00, 0x9c, 0x1a, 0xb2, 0x7b, 0xe4, 0x12, 0xbe, 0xe1, 0xc6, 0x15,
4953 	0xc9, 0x6b, 0x26, 0x6a, 0xb7, 0x13, 0x24, 0xf0, 0x11, 0x61, 0x9f, 0x3a
4954 };
4955 static const uint8_t nist_186_2_ecdsa_testvector_112_public_x[] = {
4956 /* Qx - byte alignment */
4957 	0x01, 0x08, 0x8d, 0x92, 0x98, 0x98, 0xc3, 0xae, 0xcd, 0x20, 0x94, 0xb6,
4958 	0xd5, 0x2b, 0x6b, 0xa1, 0x0c, 0x5f, 0xd6, 0x3a, 0x73, 0xea, 0xd1, 0x50,
4959 	0x77, 0x0a, 0x9d, 0xaa, 0x98, 0xb1, 0x26, 0xfc, 0x0e, 0x21, 0xd1, 0x79
4960 };
4961 static const uint8_t nist_186_2_ecdsa_testvector_112_public_y[] = {
4962 /* Qy - byte alignment */
4963 	0x06, 0x0c, 0x27, 0x16, 0x3f, 0xc8, 0x4d, 0xc5, 0xb4, 0xe5, 0xa4, 0x78,
4964 	0xeb, 0x4e, 0xf8, 0xbf, 0xbb, 0xdb, 0xfa, 0x52, 0xd1, 0xbe, 0xf0, 0xb8,
4965 	0xa2, 0x4f, 0xe4, 0x8d, 0x9c, 0xf2, 0x36, 0x0a, 0x18, 0x85, 0xe0, 0x91
4966 };
4967 /* k = 1d304d9fc85e8e31cf7ab232dd851341db971c67c83b1f5e3312f53b4d2df053db2b9d7 */
4968 static const uint8_t nist_186_2_ecdsa_testvector_112_out[] = {
4969 /* R - byte alignment */
4970 	0x01, 0xd9, 0xcc, 0x14, 0xaf, 0x94, 0x23, 0x07, 0x80, 0x24, 0x66, 0x12,
4971 	0x38, 0xb5, 0xe4, 0x9b, 0x20, 0xfe, 0x8e, 0x98, 0x9e, 0x6b, 0xe6, 0x95,
4972 	0xd8, 0x0a, 0xab, 0xb7, 0xf4, 0x9b, 0xe0, 0xf3, 0x24, 0x9d, 0x7d, 0x84,
4973 /* S - byte alignment */
4974 	0x01, 0xff, 0x18, 0x9c, 0x0c, 0x55, 0x77, 0xb6, 0xcf, 0x7f, 0xde, 0x2c,
4975 	0xf6, 0xf7, 0x11, 0x59, 0x0c, 0xbc, 0x58, 0x3d, 0x61, 0xef, 0x19, 0x4e,
4976 	0xa2, 0x89, 0x97, 0x0c, 0x4c, 0x18, 0x34, 0x6d, 0x80, 0xf7, 0xcd, 0x12
4977 };
4978 static const uint8_t nist_186_2_ecdsa_testvector_113_ptx[] = {
4979 /* Msg */
4980 	0x37, 0xf2, 0x2d, 0x64, 0x75, 0xd3, 0xf9, 0xf4, 0x2c, 0xbe, 0x47, 0x1b,
4981 	0xc3, 0x0d, 0x5d, 0x16, 0x5b, 0xf0, 0xf5, 0xcb, 0x0d, 0xaa, 0x9a, 0xa1,
4982 	0x72, 0xfd, 0x55, 0x95, 0x69, 0xe2, 0x89, 0x8b, 0x14, 0x7e, 0x1c, 0xe1,
4983 	0x24, 0x52, 0xd7, 0x4a, 0x57, 0xb2, 0x10, 0xda, 0x3e, 0x78, 0x86, 0x5d,
4984 	0x44, 0xf9, 0x8c, 0xed, 0xec, 0x38, 0x6a, 0xc4, 0x5a, 0x5a, 0x00, 0x4e,
4985 	0x15, 0x5a, 0xac, 0x82, 0x0b, 0xfe, 0x6e, 0x73, 0xd6, 0x0a, 0x4a, 0x22,
4986 	0x3d, 0xb3, 0xee, 0x97, 0xfe, 0x56, 0x95, 0x30, 0xcb, 0x6a, 0x2b, 0x38,
4987 	0x92, 0xb4, 0xb2, 0xbb, 0x01, 0xb9, 0xe4, 0x99, 0x4a, 0x79, 0x1a, 0xda,
4988 	0x23, 0x5a, 0x6c, 0x41, 0x11, 0x63, 0x1a, 0x24, 0xe7, 0xaa, 0x2b, 0x7b,
4989 	0x89, 0x10, 0x53, 0x36, 0xf6, 0x2b, 0x1a, 0xd4, 0x86, 0x84, 0x3b, 0x31,
4990 	0x70, 0x03, 0x4a, 0x9f, 0x8e, 0xa7, 0x9a, 0x39
4991 };
4992 static const uint8_t nist_186_2_ecdsa_testvector_113_private[] = {
4993 /* d - byte alignment */
4994 	0x01, 0xe5, 0x69, 0x3c, 0xfc, 0xe0, 0xf4, 0x1b, 0x4f, 0xaf, 0xbd, 0x6b,
4995 	0x44, 0xd4, 0x93, 0x65, 0x12, 0x15, 0xe2, 0x5a, 0xfe, 0x3f, 0x40, 0x3d,
4996 	0x3f, 0x45, 0xc7, 0x3a, 0x87, 0x9d, 0xf7, 0xf3, 0x42, 0x5b, 0xde, 0x81
4997 };
4998 static const uint8_t nist_186_2_ecdsa_testvector_113_public_x[] = {
4999 /* Qx - byte alignment */
5000 	0x01, 0xad, 0xf6, 0x7f, 0x4b, 0x2f, 0xba, 0xcf, 0x3f, 0xa8, 0x65, 0x67,
5001 	0xcd, 0x54, 0xdc, 0x86, 0x85, 0x62, 0x39, 0x1a, 0x06, 0xd6, 0x11, 0xf1,
5002 	0xbc, 0xc0, 0x5c, 0x0e, 0x4a, 0xad, 0x28, 0x5c, 0x99, 0x13, 0x5a, 0xa9
5003 };
5004 static const uint8_t nist_186_2_ecdsa_testvector_113_public_y[] = {
5005 /* Qy - byte alignment */
5006 	0x05, 0x2f, 0x13, 0x75, 0xee, 0xec, 0x12, 0xf4, 0x4d, 0x0d, 0x18, 0x67,
5007 	0x04, 0x73, 0xf2, 0x4f, 0xee, 0xb3, 0x82, 0x0b, 0xf5, 0x0a, 0x57, 0x45,
5008 	0x41, 0xbe, 0xc0, 0x97, 0x11, 0x67, 0x6e, 0xf7, 0xc0, 0xa9, 0x1b, 0x2b
5009 };
5010 /* k = 16706bb67cc99d89560a49ba21a1644ae83e22f5bc1be388343dfca768536b5220204a0 */
5011 static const uint8_t nist_186_2_ecdsa_testvector_113_out[] = {
5012 /* R - byte alignment */
5013 	0x00, 0xc9, 0xad, 0xd0, 0x5e, 0xec, 0x55, 0xf4, 0x28, 0xba, 0x4d, 0xd3,
5014 	0xbc, 0xba, 0xbe, 0x90, 0xb6, 0xa7, 0xc1, 0xb7, 0x1c, 0x28, 0xce, 0x25,
5015 	0x59, 0x84, 0xf0, 0xf0, 0x89, 0xf4, 0x0a, 0x6d, 0x15, 0xf7, 0x37, 0x74,
5016 /* S - byte alignment */
5017 	0x00, 0x50, 0x46, 0x50, 0x03, 0x3a, 0x44, 0x8b, 0xcc, 0xfb, 0xb1, 0x77,
5018 	0x83, 0x88, 0xac, 0x6a, 0x28, 0xe4, 0x85, 0x85, 0x77, 0x74, 0x00, 0xd6,
5019 	0xf3, 0xdf, 0xbf, 0x74, 0x2c, 0x5d, 0x7b, 0x70, 0x1a, 0xa5, 0x5e, 0xa0
5020 };
5021 static const uint8_t nist_186_2_ecdsa_testvector_114_ptx[] = {
5022 /* Msg */
5023 	0xc9, 0x49, 0xc2, 0x96, 0xd1, 0xae, 0x5a, 0xbe, 0xcb, 0xa3, 0x13, 0x0d,
5024 	0xae, 0xd2, 0x3b, 0xad, 0xc3, 0xf0, 0x0b, 0x05, 0xac, 0xa9, 0xcc, 0x45,
5025 	0xa4, 0xd6, 0x3d, 0x3e, 0x08, 0xf6, 0x39, 0x78, 0x17, 0xdc, 0x95, 0x7e,
5026 	0xf6, 0xa5, 0x48, 0x7d, 0xf6, 0xed, 0xce, 0x0d, 0x1a, 0x43, 0xce, 0x4f,
5027 	0xd4, 0xd9, 0xfa, 0x38, 0x10, 0x80, 0x36, 0x2c, 0x73, 0xd4, 0xfd, 0xcf,
5028 	0xe5, 0xb4, 0x01, 0x18, 0x4d, 0xf6, 0x12, 0xa7, 0x9b, 0x58, 0x41, 0x58,
5029 	0x0c, 0xb9, 0x45, 0x18, 0xa9, 0x89, 0x1e, 0xf7, 0x12, 0x7e, 0xf8, 0x7f,
5030 	0x79, 0x88, 0x51, 0x44, 0xf1, 0x08, 0x5e, 0xbd, 0xe9, 0x3d, 0xab, 0x52,
5031 	0xf3, 0xfe, 0x03, 0xb6, 0xcb, 0xaf, 0x8f, 0x77, 0x94, 0x6e, 0x41, 0xd4,
5032 	0x64, 0x8d, 0x74, 0xce, 0x03, 0x45, 0xcc, 0x82, 0xf0, 0xa8, 0x64, 0xb5,
5033 	0xa5, 0xd8, 0x28, 0xb1, 0x1c, 0x77, 0x7f, 0x50
5034 };
5035 static const uint8_t nist_186_2_ecdsa_testvector_114_private[] = {
5036 /* d - byte alignment */
5037 	0x00, 0x2f, 0xdd, 0xd8, 0xf3, 0xe8, 0x14, 0x0b, 0x9a, 0x06, 0x6b, 0x80,
5038 	0x40, 0x2d, 0xb5, 0xb3, 0x45, 0xbf, 0x89, 0x8d, 0x80, 0xae, 0xd2, 0xd0,
5039 	0xe3, 0xa0, 0x7c, 0x27, 0xd8, 0x7d, 0xaf, 0x27, 0x76, 0x93, 0x25, 0xc4
5040 };
5041 static const uint8_t nist_186_2_ecdsa_testvector_114_public_x[] = {
5042 /* Qx - byte alignment */
5043 	0x01, 0xfe, 0x5f, 0x36, 0xa1, 0xac, 0x57, 0x70, 0x03, 0xc8, 0x8e, 0xa4,
5044 	0xa0, 0x95, 0x70, 0x4f, 0x39, 0xef, 0xbb, 0x44, 0xdf, 0xe2, 0x1f, 0x33,
5045 	0xc2, 0xeb, 0x84, 0xfe, 0x77, 0x80, 0x91, 0x94, 0x06, 0x24, 0xff, 0xa4
5046 };
5047 static const uint8_t nist_186_2_ecdsa_testvector_114_public_y[] = {
5048 /* Qy - byte alignment */
5049 	0x02, 0x75, 0x4c, 0x7b, 0xde, 0x4c, 0x7c, 0xc0, 0x5f, 0x6b, 0x30, 0x8b,
5050 	0xa8, 0x72, 0x50, 0x18, 0x00, 0xea, 0xc3, 0x8d, 0x52, 0x2d, 0xf0, 0xc6,
5051 	0x04, 0x70, 0xce, 0xa1, 0xab, 0x10, 0xb2, 0x95, 0xe2, 0x84, 0x1c, 0x6c
5052 };
5053 /* k = 1f0682ed3f910946c617e385c78b410104ed341d4fc3068958980ad1955a2516d553380 */
5054 static const uint8_t nist_186_2_ecdsa_testvector_114_out[] = {
5055 /* R - byte alignment */
5056 	0x00, 0x59, 0x93, 0x2e, 0x17, 0x60, 0x54, 0x7c, 0x91, 0xa5, 0x0f, 0x4d,
5057 	0x9b, 0xf6, 0x33, 0xe7, 0x2f, 0x5f, 0x96, 0x3b, 0x79, 0x3f, 0x16, 0xe6,
5058 	0xbe, 0xa3, 0x59, 0xa7, 0xd4, 0xf8, 0x1e, 0xee, 0x16, 0xb1, 0xf8, 0xcd,
5059 /* S - byte alignment */
5060 	0x00, 0xda, 0x9e, 0x43, 0x7b, 0x65, 0x01, 0x93, 0x73, 0x1a, 0xbb, 0xb9,
5061 	0x2f, 0xdd, 0x57, 0x50, 0x78, 0xdf, 0x41, 0x1b, 0xc4, 0xbb, 0x12, 0xfc,
5062 	0xf3, 0x3f, 0xa4, 0xe0, 0xed, 0xad, 0x9a, 0xff, 0x3a, 0x90, 0xac, 0xa5
5063 };
5064 static const uint8_t nist_186_2_ecdsa_testvector_115_ptx[] = {
5065 /* Msg */
5066 	0x89, 0xa5, 0x35, 0x8b, 0x6c, 0x4f, 0x82, 0x01, 0x30, 0xd2, 0xcf, 0xde,
5067 	0x90, 0x0d, 0x49, 0x26, 0xcf, 0x47, 0xf4, 0x63, 0xa0, 0x7b, 0xa8, 0x9b,
5068 	0x44, 0xf2, 0x59, 0x7f, 0xf2, 0x17, 0x9b, 0xe5, 0x7b, 0x88, 0x64, 0x78,
5069 	0x2e, 0x69, 0x14, 0xae, 0xf9, 0xfd, 0xb4, 0xfb, 0xd2, 0x77, 0x7b, 0x45,
5070 	0x55, 0x0d, 0x97, 0x97, 0xaf, 0x4f, 0x2a, 0x19, 0xba, 0xb7, 0x92, 0x40,
5071 	0x69, 0x81, 0xed, 0x42, 0x67, 0xbc, 0xdc, 0xcd, 0xfb, 0xa2, 0x88, 0xf8,
5072 	0x2f, 0x25, 0xe3, 0x7a, 0x31, 0xca, 0x31, 0x19, 0xf9, 0xba, 0xc6, 0x66,
5073 	0x2c, 0x17, 0x11, 0xa8, 0x41, 0x8c, 0xd9, 0x16, 0xe2, 0x28, 0xc7, 0x49,
5074 	0x95, 0x6c, 0x25, 0xf0, 0x9b, 0xa2, 0xe5, 0xc6, 0x18, 0x71, 0xe5, 0xc1,
5075 	0x75, 0xaf, 0x71, 0x8c, 0x03, 0x76, 0x0a, 0x38, 0xe1, 0x7a, 0x65, 0x2f,
5076 	0x1f, 0x99, 0xb7, 0x69, 0x23, 0xb4, 0x30, 0xe2
5077 };
5078 static const uint8_t nist_186_2_ecdsa_testvector_115_private[] = {
5079 /* d - byte alignment */
5080 	0x01, 0xda, 0x9c, 0x38, 0x43, 0x43, 0xe2, 0xde, 0x38, 0xa1, 0x5f, 0x27,
5081 	0x68, 0x64, 0x6f, 0x63, 0x26, 0x4e, 0xa5, 0x7b, 0xe6, 0x61, 0x59, 0x15,
5082 	0x53, 0x20, 0x08, 0x7b, 0x18, 0x41, 0x80, 0x44, 0x0d, 0x76, 0x75, 0xd0
5083 };
5084 static const uint8_t nist_186_2_ecdsa_testvector_115_public_x[] = {
5085 /* Qx - byte alignment */
5086 	0x03, 0xd0, 0x5a, 0x98, 0xcc, 0x74, 0x68, 0xbc, 0xcb, 0x23, 0x37, 0x32,
5087 	0xa9, 0xa3, 0x8f, 0x60, 0x42, 0x25, 0x61, 0x9c, 0xd6, 0x16, 0x74, 0x70,
5088 	0xcf, 0xd7, 0xc5, 0x57, 0x05, 0xa8, 0x29, 0xf0, 0x55, 0xc2, 0x34, 0x54
5089 };
5090 static const uint8_t nist_186_2_ecdsa_testvector_115_public_y[] = {
5091 /* Qy - byte alignment */
5092 	0x06, 0x30, 0x34, 0xb8, 0xc1, 0x2c, 0xbc, 0x1d, 0x6d, 0x01, 0xfe, 0x64,
5093 	0x6f, 0xbf, 0xde, 0x6e, 0x4f, 0xfb, 0x9b, 0xa1, 0x65, 0xce, 0x1b, 0x7e,
5094 	0xcb, 0xad, 0x60, 0x81, 0x2d, 0x22, 0x07, 0x4e, 0x65, 0xc9, 0x5e, 0xcb
5095 };
5096 /* k = 1f2c34ee3c4a2c2d9504b4c560c572f0c9e713dabcc215e784314fecfb2c3b771fe6362 */
5097 static const uint8_t nist_186_2_ecdsa_testvector_115_out[] = {
5098 /* R - byte alignment */
5099 	0x01, 0x3b, 0x10, 0xfb, 0xc3, 0x3d, 0xc4, 0xd0, 0xcf, 0x16, 0x72, 0xae,
5100 	0x57, 0x7b, 0x70, 0xf8, 0x22, 0x3e, 0x9c, 0x64, 0x8b, 0x9a, 0x79, 0x18,
5101 	0x80, 0xb3, 0xd5, 0x74, 0x5a, 0x80, 0x5f, 0xa4, 0x2c, 0x99, 0xe7, 0xc5,
5102 /* S - byte alignment */
5103 	0x01, 0xa4, 0x24, 0xc8, 0x6e, 0x66, 0x15, 0xa7, 0x1b, 0x61, 0x7d, 0xee,
5104 	0x72, 0xa8, 0xe4, 0x97, 0x02, 0x18, 0x2b, 0x36, 0x06, 0x98, 0xba, 0x5f,
5105 	0x06, 0xdd, 0xda, 0x19, 0x3f, 0xa6, 0xf3, 0x6b, 0xfd, 0xcb, 0xfe, 0xae
5106 };
5107 static const uint8_t nist_186_2_ecdsa_testvector_116_ptx[] = {
5108 /* Msg */
5109 	0x5e, 0x78, 0x56, 0xa7, 0xa6, 0xcb, 0x24, 0x2f, 0x7f, 0x27, 0x91, 0x9f,
5110 	0x46, 0xcd, 0xf0, 0xd2, 0xf8, 0x14, 0x47, 0x88, 0xe7, 0x53, 0xa3, 0x67,
5111 	0xb2, 0x01, 0xaf, 0x3f, 0x73, 0x1b, 0x85, 0x92, 0x3a, 0xc6, 0xc4, 0x54,
5112 	0xbb, 0x36, 0xe3, 0xef, 0x43, 0xce, 0xc5, 0x8a, 0xf1, 0x89, 0x8d, 0x8b,
5113 	0x22, 0x98, 0xb3, 0x5a, 0x2d, 0x4d, 0x58, 0x68, 0x51, 0x37, 0xd6, 0x71,
5114 	0xeb, 0x8f, 0x9c, 0xfe, 0xec, 0xd2, 0x39, 0x2d, 0x8b, 0xb0, 0xb6, 0xb4,
5115 	0x37, 0x25, 0x29, 0x24, 0xd0, 0xe6, 0x87, 0x6b, 0x16, 0xfe, 0xba, 0x9d,
5116 	0x62, 0xb9, 0xf3, 0xf4, 0x94, 0xc1, 0x42, 0x15, 0x4c, 0x87, 0x64, 0x94,
5117 	0x5d, 0xe4, 0xdc, 0xbb, 0x7e, 0x01, 0x45, 0x87, 0x43, 0x74, 0xe6, 0xf4,
5118 	0x4c, 0xab, 0x87, 0x7a, 0xbd, 0x8e, 0x83, 0xd8, 0xed, 0x60, 0x1f, 0x10,
5119 	0x63, 0xe6, 0x1a, 0xb3, 0xfe, 0xcc, 0x85, 0x5e
5120 };
5121 static const uint8_t nist_186_2_ecdsa_testvector_116_private[] = {
5122 /* d - byte alignment */
5123 	0x01, 0x58, 0x0d, 0x8a, 0xca, 0x42, 0x6c, 0x30, 0x55, 0x45, 0x63, 0x08,
5124 	0xd3, 0x99, 0xcb, 0x94, 0xa7, 0xf0, 0xc9, 0xbd, 0x3f, 0x04, 0x49, 0xc9,
5125 	0x79, 0xf1, 0xeb, 0xfb, 0x9d, 0xf9, 0x50, 0xa9, 0xda, 0x54, 0xca, 0x71
5126 };
5127 static const uint8_t nist_186_2_ecdsa_testvector_116_public_x[] = {
5128 /* Qx - byte alignment */
5129 	0x01, 0xe8, 0xbe, 0x02, 0xe0, 0x6f, 0x92, 0x07, 0x85, 0xaf, 0x95, 0x3b,
5130 	0xe0, 0x9a, 0x12, 0x2d, 0x42, 0x1a, 0xf5, 0x49, 0x5d, 0x5a, 0x56, 0x17,
5131 	0xed, 0xfa, 0x99, 0x67, 0xe6, 0x8f, 0x2f, 0xca, 0xe1, 0xf6, 0xe3, 0xdb
5132 };
5133 static const uint8_t nist_186_2_ecdsa_testvector_116_public_y[] = {
5134 /* Qy - byte alignment */
5135 	0x06, 0x85, 0x28, 0xbc, 0xa3, 0x28, 0x78, 0xd7, 0x41, 0xb6, 0xfe, 0xfb,
5136 	0xb0, 0x2a, 0xe9, 0x7f, 0x11, 0x4a, 0xdb, 0x81, 0x6f, 0xf4, 0xb9, 0xc9,
5137 	0xb2, 0xd0, 0x4a, 0x6b, 0x65, 0xb1, 0x3b, 0x9b, 0xbb, 0xdd, 0x55, 0x4d
5138 };
5139 /* k = 1e90d37fe1d50b7d1ceadf965452ef3b724ff79fec1c907102ca873fbf33fd788341c30 */
5140 static const uint8_t nist_186_2_ecdsa_testvector_116_out[] = {
5141 /* R - byte alignment */
5142 	0x00, 0xf5, 0x77, 0x63, 0xe5, 0x26, 0x31, 0xde, 0xb2, 0x4a, 0x53, 0x4f,
5143 	0xba, 0xde, 0x5d, 0x71, 0xec, 0x38, 0x1c, 0xe1, 0xf3, 0x9d, 0xcf, 0xd3,
5144 	0xea, 0xbe, 0x52, 0x32, 0xe1, 0x0b, 0xbc, 0x4c, 0x91, 0x98, 0x51, 0x4c,
5145 /* S - byte alignment */
5146 	0x01, 0x1a, 0xb8, 0x2d, 0x77, 0x0a, 0x91, 0xa3, 0x23, 0x3b, 0x72, 0x7c,
5147 	0x31, 0x3f, 0x68, 0xbf, 0x7c, 0x6d, 0x82, 0xe3, 0xf5, 0xe5, 0xfa, 0x22,
5148 	0xf1, 0x81, 0xf5, 0xfb, 0x38, 0x29, 0x82, 0x41, 0x9b, 0xbd, 0x95, 0x4c
5149 };
5150 static const uint8_t nist_186_2_ecdsa_testvector_117_ptx[] = {
5151 /* Msg */
5152 	0x72, 0xf3, 0xf9, 0xfb, 0xa5, 0xc0, 0x98, 0x4a, 0x73, 0x6d, 0x8f, 0xa6,
5153 	0xd8, 0x10, 0x6f, 0xef, 0x89, 0x9e, 0x26, 0xe5, 0x91, 0x01, 0xc8, 0xe1,
5154 	0x3c, 0x6a, 0x8f, 0xc3, 0x34, 0xe9, 0x20, 0x2b, 0xea, 0x3b, 0x0f, 0xec,
5155 	0x37, 0xe3, 0xa6, 0xbd, 0x44, 0x7c, 0xe2, 0x32, 0xa7, 0x4d, 0xbf, 0xeb,
5156 	0xce, 0x1e, 0xb5, 0x0c, 0xa1, 0x4a, 0x83, 0xec, 0x63, 0x16, 0x2b, 0x12,
5157 	0xd9, 0x41, 0x3e, 0x5d, 0xaf, 0xdc, 0x59, 0x82, 0x17, 0x5c, 0xf0, 0xbc,
5158 	0xb3, 0xee, 0x4a, 0xbe, 0xb5, 0x0a, 0xcd, 0xed, 0x45, 0x4b, 0x7c, 0xcc,
5159 	0x23, 0x7e, 0xbe, 0xb7, 0x8d, 0xf9, 0x61, 0xd5, 0x63, 0x2e, 0xde, 0x48,
5160 	0x89, 0x7f, 0xdf, 0xa6, 0x8d, 0x54, 0xfe, 0xad, 0x89, 0x6b, 0xd0, 0x32,
5161 	0x4b, 0x70, 0x22, 0x5b, 0xb4, 0xce, 0x82, 0x0e, 0x5e, 0xc4, 0x02, 0xa9,
5162 	0x81, 0xbb, 0x38, 0xf4, 0x18, 0xd7, 0x89, 0x54
5163 };
5164 static const uint8_t nist_186_2_ecdsa_testvector_117_private[] = {
5165 /* d - byte alignment */
5166 	0x00, 0x7a, 0x71, 0xfd, 0x04, 0xdf, 0xfa, 0x5c, 0x22, 0xe2, 0xde, 0x6b,
5167 	0xea, 0x0b, 0xc1, 0xa9, 0x8f, 0xd6, 0xac, 0x39, 0xcf, 0x26, 0x12, 0xa4,
5168 	0xaf, 0x1c, 0x4b, 0x3f, 0x2f, 0x82, 0xf9, 0xd8, 0x80, 0xd8, 0x1c, 0x29
5169 };
5170 static const uint8_t nist_186_2_ecdsa_testvector_117_public_x[] = {
5171 /* Qx - byte alignment */
5172 	0x06, 0x01, 0xc0, 0xc4, 0xe9, 0xe9, 0xbe, 0x16, 0x86, 0x12, 0x00, 0xb8,
5173 	0x1f, 0x48, 0xe4, 0xbf, 0x3b, 0x7e, 0x4c, 0x7a, 0xb2, 0xf4, 0x8b, 0xbe,
5174 	0xe3, 0xbf, 0x26, 0x92, 0x26, 0xf6, 0x9d, 0x57, 0xa3, 0xe3, 0x00, 0xe9
5175 };
5176 static const uint8_t nist_186_2_ecdsa_testvector_117_public_y[] = {
5177 /* Qy - byte alignment */
5178 	0x02, 0x91, 0x7b, 0x38, 0xac, 0x03, 0x74, 0x89, 0x36, 0x7b, 0x57, 0x20,
5179 	0x9a, 0x45, 0x59, 0xe1, 0xfe, 0xe9, 0x09, 0x72, 0x5a, 0xb8, 0x54, 0x34,
5180 	0x27, 0x4e, 0xff, 0x49, 0xaf, 0x0e, 0x6d, 0xf2, 0x0c, 0x60, 0x5b, 0xff
5181 };
5182 /* k = 03837ed333cef5e0ff44c70808e7a0e3d4c90eced420249c6aba43a064612add2256b93 */
5183 static const uint8_t nist_186_2_ecdsa_testvector_117_out[] = {
5184 /* R - byte alignment */
5185 	0x01, 0x29, 0x82, 0xe4, 0x95, 0x21, 0x0f, 0x20, 0xe8, 0xfa, 0x92, 0x01,
5186 	0xa1, 0x53, 0x5e, 0xeb, 0xec, 0xdd, 0xf3, 0x7e, 0x2f, 0x5c, 0x8b, 0xd8,
5187 	0xc3, 0x20, 0x4f, 0xfe, 0x3a, 0x93, 0x4a, 0x30, 0x09, 0x32, 0xf2, 0xd7,
5188 /* S - byte alignment */
5189 	0x00, 0x40, 0x08, 0xa9, 0x69, 0x3d, 0x40, 0x27, 0x78, 0x12, 0xe8, 0xf1,
5190 	0x12, 0x1a, 0x3e, 0xc1, 0x92, 0xba, 0x88, 0x04, 0x8d, 0xce, 0x82, 0x11,
5191 	0x83, 0xbd, 0xda, 0x79, 0x5f, 0x2b, 0x79, 0xe6, 0xcd, 0x1c, 0x05, 0x3f
5192 };
5193 static const uint8_t nist_186_2_ecdsa_testvector_118_ptx[] = {
5194 /* Msg */
5195 	0xd5, 0xec, 0xb0, 0xbe, 0x35, 0xdf, 0xe0, 0x4d, 0x67, 0xec, 0x11, 0xf5,
5196 	0x02, 0x9e, 0xb1, 0x37, 0x15, 0x1c, 0x58, 0x1c, 0x15, 0x4f, 0x5c, 0x76,
5197 	0x1a, 0x47, 0xa0, 0x68, 0x4b, 0xdb, 0xac, 0x28, 0x97, 0x90, 0x03, 0x04,
5198 	0xa7, 0xbd, 0xb0, 0xa3, 0x10, 0xec, 0x23, 0x8e, 0xcc, 0x82, 0x3b, 0xee,
5199 	0xeb, 0xa3, 0xa4, 0x98, 0x86, 0x50, 0x63, 0x46, 0xf5, 0xd2, 0xaf, 0x27,
5200 	0x41, 0x5c, 0x03, 0x9b, 0xdc, 0xec, 0x71, 0x37, 0x90, 0x72, 0x39, 0x10,
5201 	0xb6, 0x34, 0x9a, 0x36, 0xa8, 0x71, 0xe8, 0x7e, 0x79, 0x44, 0xdf, 0x85,
5202 	0xe3, 0xcc, 0x37, 0xf1, 0x80, 0x8a, 0x78, 0xfa, 0x3d, 0x0a, 0x10, 0x2a,
5203 	0x0d, 0xc6, 0xa3, 0x60, 0xda, 0x47, 0xa2, 0x1b, 0xc1, 0x8d, 0x1f, 0xf5,
5204 	0x7e, 0xb1, 0xe0, 0x6e, 0x25, 0xc9, 0xb2, 0xeb, 0x14, 0x0c, 0xff, 0xff,
5205 	0x25, 0x37, 0xa3, 0xe8, 0x28, 0x2f, 0xfc, 0x5d
5206 };
5207 static const uint8_t nist_186_2_ecdsa_testvector_118_private[] = {
5208 /* d - byte alignment */
5209 	0x01, 0xab, 0x85, 0x82, 0x15, 0x5c, 0xfa, 0x50, 0x64, 0x33, 0xac, 0xf6,
5210 	0xc1, 0x25, 0x3f, 0xf2, 0x04, 0x34, 0x5c, 0x32, 0xe3, 0xe1, 0x41, 0x88,
5211 	0x28, 0xe4, 0x68, 0xa6, 0x36, 0xbf, 0x65, 0xf4, 0x60, 0x01, 0xa2, 0x63
5212 };
5213 static const uint8_t nist_186_2_ecdsa_testvector_118_public_x[] = {
5214 /* Qx - byte alignment */
5215 	0x03, 0x35, 0x03, 0x5d, 0x24, 0x2f, 0x45, 0xe0, 0xf2, 0x57, 0x85, 0x53,
5216 	0xe5, 0xc3, 0x10, 0x73, 0x57, 0x30, 0x7a, 0xa2, 0xde, 0x71, 0x3d, 0xf6,
5217 	0xbe, 0xce, 0x98, 0x20, 0x90, 0xc1, 0xca, 0x76, 0x00, 0x96, 0xac, 0xa8
5218 };
5219 static const uint8_t nist_186_2_ecdsa_testvector_118_public_y[] = {
5220 /* Qy - byte alignment */
5221 	0x01, 0xe6, 0x82, 0x34, 0x13, 0xd9, 0x75, 0xe2, 0xf1, 0x23, 0x9f, 0x42,
5222 	0xcb, 0x30, 0xbf, 0x4f, 0xbb, 0x8b, 0x88, 0x19, 0xde, 0xe6, 0x3f, 0x99,
5223 	0x56, 0xa9, 0x53, 0xea, 0x10, 0xea, 0x6b, 0xd3, 0xc7, 0x4d, 0x91, 0x11
5224 };
5225 /* k = 11f07fdfe8534ff7b1d370bf3ee284e69e074ebd7c379cf5dbd271f6197adbb31a643f2 */
5226 static const uint8_t nist_186_2_ecdsa_testvector_118_out[] = {
5227 /* R - byte alignment */
5228 	0x00, 0xd4, 0x83, 0xde, 0x90, 0x09, 0xee, 0xa6, 0x55, 0xc0, 0xf6, 0x6b,
5229 	0x38, 0x8f, 0xc3, 0x55, 0xfe, 0x6d, 0xa7, 0x5e, 0x38, 0x64, 0xa2, 0x4c,
5230 	0x78, 0x77, 0xf8, 0x7c, 0x33, 0x47, 0x3e, 0x5c, 0x5f, 0x72, 0x7b, 0xce,
5231 /* S - byte alignment */
5232 	0x00, 0x5e, 0xdb, 0x94, 0xfd, 0xc3, 0xac, 0x1d, 0x55, 0x3c, 0x0f, 0xb4,
5233 	0xde, 0x54, 0x1a, 0x0f, 0x84, 0x97, 0x15, 0xe2, 0x82, 0xbb, 0xf5, 0xd1,
5234 	0xde, 0xc0, 0xec, 0x0e, 0x8f, 0xb2, 0x13, 0x0c, 0x95, 0x4a, 0x94, 0x38
5235 };
5236 static const uint8_t nist_186_2_ecdsa_testvector_119_ptx[] = {
5237 /* Msg */
5238 	0xe3, 0xc8, 0x76, 0x07, 0x77, 0xf1, 0x96, 0x1e, 0x0b, 0xe4, 0xed, 0xc6,
5239 	0x50, 0xa1, 0x52, 0x09, 0x75, 0xac, 0x02, 0xbc, 0x48, 0xa9, 0xe9, 0xb4,
5240 	0x9f, 0x29, 0x1d, 0x37, 0xf6, 0xc4, 0xac, 0xb1, 0x59, 0x68, 0x97, 0xa8,
5241 	0x85, 0xf0, 0x1e, 0xf2, 0x4a, 0xf8, 0x3e, 0x26, 0x33, 0xf0, 0x79, 0x50,
5242 	0x69, 0x70, 0xd5, 0xe9, 0xd5, 0xcb, 0x27, 0x06, 0x85, 0xe7, 0x91, 0xcf,
5243 	0x51, 0x4c, 0x4a, 0x33, 0xbe, 0x7a, 0x9d, 0xda, 0x22, 0x80, 0x35, 0x5b,
5244 	0x09, 0xca, 0x97, 0xb0, 0xd8, 0x3b, 0xf0, 0xe7, 0xb0, 0x7c, 0x11, 0x19,
5245 	0x95, 0x93, 0xb8, 0xa0, 0xd0, 0xb7, 0x11, 0x85, 0x91, 0x62, 0x7c, 0x38,
5246 	0xd9, 0xa9, 0x91, 0x84, 0x97, 0xc9, 0x61, 0xc1, 0x12, 0x02, 0xff, 0x4c,
5247 	0x86, 0xa8, 0x40, 0x34, 0x12, 0x77, 0xbe, 0x36, 0xd1, 0x27, 0x23, 0xec,
5248 	0x48, 0x40, 0xa4, 0x41, 0x00, 0x30, 0xcb, 0x28
5249 };
5250 static const uint8_t nist_186_2_ecdsa_testvector_119_private[] = {
5251 /* d - byte alignment */
5252 	0x00, 0x11, 0x06, 0x8d, 0x2c, 0x25, 0x04, 0x2c, 0x60, 0x84, 0x59, 0x61,
5253 	0x57, 0x90, 0x91, 0x2e, 0x58, 0x7b, 0x67, 0xcf, 0x65, 0xa9, 0xb3, 0x0a,
5254 	0x61, 0x96, 0x15, 0xf9, 0x16, 0x5e, 0xd8, 0x9f, 0x30, 0xdb, 0xb1, 0x2c
5255 };
5256 static const uint8_t nist_186_2_ecdsa_testvector_119_public_x[] = {
5257 /* Qx - byte alignment */
5258 	0x01, 0x02, 0xc0, 0x2e, 0x0b, 0x3c, 0xaa, 0xd8, 0x5b, 0x1c, 0xbf, 0x31,
5259 	0xf9, 0x2d, 0x00, 0x41, 0x0a, 0xc3, 0xcd, 0x31, 0xb0, 0x08, 0x0c, 0x56,
5260 	0x4b, 0x5a, 0x31, 0xb1, 0x5e, 0x7a, 0xa8, 0x3e, 0xef, 0x2d, 0xab, 0x21
5261 };
5262 static const uint8_t nist_186_2_ecdsa_testvector_119_public_y[] = {
5263 /* Qy - byte alignment */
5264 	0x07, 0x6b, 0xe5, 0xed, 0xa9, 0x3a, 0x20, 0x78, 0xb0, 0xbb, 0x72, 0x2b,
5265 	0xd9, 0x0e, 0x38, 0xe6, 0x18, 0xe8, 0x3d, 0x6b, 0x95, 0x01, 0x4f, 0x96,
5266 	0x7f, 0xad, 0xb3, 0xbe, 0xd2, 0x87, 0x52, 0x9b, 0x0c, 0x1a, 0xa8, 0x28
5267 };
5268 /* k = 07e2c03faa50b97a323ed2622ac95da642d1e2c69e2635c2506c736f9cd9cb4aee27383 */
5269 static const uint8_t nist_186_2_ecdsa_testvector_119_out[] = {
5270 /* R - byte alignment */
5271 	0x01, 0x39, 0x39, 0x0c, 0xf1, 0x1a, 0x28, 0x51, 0x48, 0x67, 0x2a, 0x70,
5272 	0x6b, 0x69, 0x65, 0x03, 0x48, 0x8e, 0x11, 0xa2, 0xed, 0xc0, 0xff, 0x17,
5273 	0x7a, 0x70, 0x00, 0x15, 0xfd, 0x5f, 0x87, 0x5c, 0xdd, 0xcc, 0xab, 0x7f,
5274 /* S - byte alignment */
5275 	0x01, 0x0c, 0x8d, 0x96, 0x3c, 0x0d, 0xff, 0x78, 0x84, 0x96, 0x8b, 0xa6,
5276 	0xb9, 0x6b, 0xbc, 0x42, 0xb1, 0xc7, 0x70, 0x6c, 0x30, 0xad, 0x35, 0xb7,
5277 	0xec, 0x19, 0xde, 0xe5, 0xad, 0x8b, 0xb2, 0x40, 0xa8, 0x1b, 0x02, 0x50
5278 };
5279 static const uint8_t nist_186_2_ecdsa_testvector_120_ptx[] = {
5280 /* Msg */
5281 	0x58, 0xc9, 0x19, 0xf5, 0xe8, 0xa7, 0x14, 0x7d, 0x23, 0xc1, 0xa6, 0x66,
5282 	0xca, 0xe2, 0x3c, 0xf8, 0x59, 0xaa, 0xc8, 0xef, 0xe8, 0xe0, 0xc0, 0x74,
5283 	0x4f, 0x09, 0x69, 0x4c, 0x8d, 0x3a, 0x55, 0x50, 0x6b, 0x2a, 0x2a, 0x1d,
5284 	0x5c, 0x8b, 0xa6, 0x0c, 0xa8, 0x9b, 0xe0, 0x65, 0xc9, 0xf6, 0xd1, 0xcf,
5285 	0x15, 0xae, 0x12, 0x0b, 0x9e, 0x9d, 0xe7, 0xe2, 0x57, 0xfa, 0x7d, 0x5c,
5286 	0x78, 0x2b, 0x70, 0x33, 0x23, 0xda, 0x90, 0x87, 0x47, 0x4b, 0xe5, 0xd3,
5287 	0xc5, 0xed, 0xf1, 0x20, 0xd1, 0x2f, 0x34, 0x79, 0x9b, 0x94, 0xf6, 0x9e,
5288 	0x2f, 0x0a, 0x40, 0xfd, 0x9a, 0x78, 0x2c, 0xdd, 0x4f, 0x96, 0x5e, 0xdd,
5289 	0xc9, 0x01, 0xd3, 0x9d, 0x71, 0x8f, 0xda, 0xbb, 0xc1, 0xdf, 0x5f, 0x01,
5290 	0xaa, 0x35, 0x6f, 0xdc, 0x33, 0x85, 0xf9, 0x10, 0x64, 0xce, 0xd2, 0xab,
5291 	0x62, 0xaa, 0xfc, 0x37, 0xdb, 0x22, 0x28, 0x34
5292 };
5293 static const uint8_t nist_186_2_ecdsa_testvector_120_private[] = {
5294 /* d - byte alignment */
5295 	0x00, 0xef, 0xeb, 0xf8, 0x3d, 0xff, 0xf3, 0x4f, 0x1b, 0x3f, 0x4b, 0x33,
5296 	0xd0, 0xa5, 0x5d, 0x53, 0xdd, 0xa7, 0xcc, 0xed, 0xbf, 0xfb, 0xe2, 0x59,
5297 	0x4e, 0x4d, 0xb2, 0xd7, 0xcb, 0xc6, 0x81, 0xe2, 0x6f, 0xd3, 0x0c, 0xe0
5298 };
5299 static const uint8_t nist_186_2_ecdsa_testvector_120_public_x[] = {
5300 /* Qx - byte alignment */
5301 	0x03, 0x01, 0xa1, 0xba, 0x3c, 0x25, 0xfa, 0xb1, 0xf6, 0xd3, 0xa0, 0x2a,
5302 	0xfc, 0xe1, 0xad, 0xf3, 0x9c, 0x69, 0xa5, 0x1d, 0xe8, 0xce, 0x92, 0x58,
5303 	0xe9, 0xec, 0x91, 0x12, 0xb8, 0x88, 0x55, 0x4b, 0x90, 0xc3, 0x39, 0xcb
5304 };
5305 static const uint8_t nist_186_2_ecdsa_testvector_120_public_y[] = {
5306 /* Qy - byte alignment */
5307 	0x02, 0xca, 0xdd, 0x42, 0x98, 0x5e, 0xe5, 0x9e, 0x7b, 0xb3, 0x61, 0xbe,
5308 	0x74, 0xc7, 0x20, 0x87, 0xa8, 0x88, 0x76, 0x2b, 0x43, 0xae, 0xcb, 0xbe,
5309 	0xc7, 0x70, 0x5b, 0x5e, 0x9e, 0x5c, 0x01, 0x16, 0x34, 0x2f, 0xd3, 0x44
5310 };
5311 /* k = 11c175da1bcf4459d0da24dc404885157216c49dda35ceb2b055d5794ab7f1b6ac4002a */
5312 static const uint8_t nist_186_2_ecdsa_testvector_120_out[] = {
5313 /* R - byte alignment */
5314 	0x00, 0xdc, 0x41, 0xd0, 0xa1, 0x32, 0x61, 0xe5, 0x14, 0xdf, 0x2a, 0x5c,
5315 	0x73, 0x92, 0xfb, 0xed, 0xed, 0xf1, 0x12, 0x5b, 0x05, 0xaa, 0xd3, 0x49,
5316 	0x68, 0xc9, 0xdd, 0x73, 0x2c, 0x26, 0x16, 0xc7, 0x73, 0xb2, 0xa0, 0x3a,
5317 /* S - byte alignment */
5318 	0x00, 0x14, 0xa2, 0x53, 0x79, 0x4a, 0x90, 0xe6, 0x6a, 0xea, 0x23, 0xf5,
5319 	0x31, 0x3a, 0x29, 0x55, 0x3b, 0xb7, 0xbf, 0x46, 0xfd, 0x46, 0x89, 0x17,
5320 	0x78, 0xc7, 0x98, 0xd5, 0x8c, 0xe4, 0xa0, 0x24, 0x80, 0x52, 0x07, 0x9e
5321 };
5322 /* [K-409] - GP NOT SUPPORTED */
5323 static const uint8_t nist_186_2_ecdsa_testvector_121_ptx[] = {
5324 /* Msg */
5325 	0xb6, 0xab, 0x51, 0x3b, 0x9d, 0x08, 0x45, 0x80, 0xae, 0x77, 0x51, 0x95,
5326 	0x01, 0x02, 0x64, 0x7d, 0x23, 0x51, 0x97, 0xbf, 0x0b, 0xcf, 0xbe, 0xaf,
5327 	0x4f, 0x08, 0x3d, 0xee, 0x98, 0x55, 0x1e, 0x34, 0x54, 0xbc, 0x60, 0x4d,
5328 	0xaa, 0x12, 0x91, 0x62, 0xb3, 0x62, 0x9f, 0x7a, 0xe7, 0x93, 0xeb, 0x40,
5329 	0xd5, 0x44, 0x9f, 0x07, 0x18, 0xfb, 0x42, 0x0b, 0x86, 0x7f, 0x89, 0xfa,
5330 	0xaa, 0x82, 0x70, 0xb3, 0x75, 0x83, 0x8a, 0x4d, 0x30, 0xf3, 0x95, 0x5b,
5331 	0xb5, 0x97, 0x52, 0x6e, 0xdf, 0x2d, 0x94, 0xdc, 0x3f, 0x52, 0x96, 0xc0,
5332 	0x10, 0xa3, 0x91, 0x42, 0x6d, 0x23, 0x8e, 0x19, 0xc2, 0xdd, 0x79, 0x4e,
5333 	0x81, 0xca, 0x78, 0x42, 0x16, 0xf4, 0x7b, 0xf2, 0x1c, 0xdc, 0x13, 0x7a,
5334 	0xd1, 0x19, 0x87, 0xd8, 0xc7, 0x43, 0x25, 0xf3, 0xdd, 0x0f, 0xd6, 0xdc,
5335 	0x6e, 0xbb, 0xf5, 0x53, 0xc8, 0xad, 0x61, 0x8d
5336 };
5337 static const uint8_t nist_186_2_ecdsa_testvector_121_private[] = {
5338 /* d - byte alignment */
5339 	0x00, 0x00, 0x31, 0xb7, 0x2b, 0x38, 0x79, 0x86, 0x2d, 0xbf, 0xb6, 0xd0,
5340 	0xb5, 0x74, 0x26, 0x7a, 0x56, 0x0e, 0xd5, 0xde, 0x2b, 0x88, 0x20, 0x63,
5341 	0xe9, 0x67, 0xc1, 0x8a, 0x62, 0xbb, 0x4e, 0xe3, 0x42, 0xab, 0x54, 0x15,
5342 	0x06, 0x32, 0xa9, 0xa8, 0x46, 0x28, 0x36, 0x02, 0x4c, 0xe6, 0x5d, 0x4c,
5343 	0x79, 0x97, 0x2a, 0x3b
5344 };
5345 static const uint8_t nist_186_2_ecdsa_testvector_121_public_x[] = {
5346 /* Qx - byte alignment */
5347 	0x00, 0x2e, 0x80, 0x26, 0x16, 0x36, 0xdd, 0x38, 0x58, 0xf3, 0x12, 0x81,
5348 	0xbd, 0x40, 0xd5, 0x19, 0x14, 0x64, 0x8b, 0x1b, 0x95, 0xb6, 0xab, 0x62,
5349 	0x17, 0x84, 0xec, 0x11, 0xb2, 0x76, 0x77, 0x85, 0x90, 0xdd, 0x88, 0xf2,
5350 	0x56, 0x64, 0x3d, 0xf3, 0xf2, 0x04, 0xba, 0x82, 0xdb, 0xc3, 0x8c, 0x19,
5351 	0x7a, 0x92, 0xb6, 0x0a
5352 };
5353 static const uint8_t nist_186_2_ecdsa_testvector_121_public_y[] = {
5354 /* Qy - byte alignment */
5355 	0x00, 0xca, 0x47, 0x73, 0x03, 0xa5, 0x91, 0x65, 0x82, 0x81, 0xfb, 0x9f,
5356 	0x48, 0x66, 0x3b, 0x53, 0x05, 0x65, 0xfa, 0x8e, 0xa0, 0x58, 0x7f, 0xd0,
5357 	0x36, 0x1d, 0x6c, 0x83, 0x01, 0x30, 0xa9, 0xae, 0x14, 0x98, 0x55, 0x93,
5358 	0x0a, 0x35, 0x86, 0x27, 0xc2, 0xcd, 0x8b, 0x66, 0x82, 0xe1, 0x6a, 0x72,
5359 	0x70, 0x1d, 0x46, 0xa7
5360 };
5361 /* k = 00038421e9318c4cc05519a6eb81d87a1d16331f8e7cdac4f0c47c390a381e4bb193c43ea7eb5e47d4756d41e1eef586acf6741 */
5362 static const uint8_t nist_186_2_ecdsa_testvector_121_out[] = {
5363 /* R - byte alignment */
5364 	0x00, 0x7a, 0xca, 0xa9, 0xa1, 0x3d, 0x6a, 0x0c, 0x7d, 0xf8, 0xe6, 0x0d,
5365 	0x5d, 0x32, 0x44, 0x65, 0x85, 0x4d, 0x6f, 0x78, 0xa3, 0xe8, 0x1e, 0x94,
5366 	0xee, 0x74, 0x4c, 0x7a, 0xe4, 0x5c, 0xce, 0x94, 0x68, 0xc8, 0x5b, 0x16,
5367 	0xe2, 0xea, 0xfb, 0x18, 0x49, 0x01, 0xd9, 0x8b, 0xef, 0x18, 0xd5, 0x2e,
5368 	0x8d, 0x93, 0x33, 0xf1,
5369 /* S - byte alignment */
5370 	0x00, 0x3b, 0x24, 0x7f, 0x58, 0x1f, 0x59, 0x04, 0x70, 0xa9, 0x06, 0x64,
5371 	0x28, 0x75, 0xb7, 0x49, 0x9b, 0x3a, 0xf1, 0x4a, 0x96, 0x14, 0xf4, 0xe6,
5372 	0xaa, 0x00, 0xcd, 0x5e, 0xa3, 0xf5, 0xda, 0xc4, 0xf7, 0xf5, 0xf1, 0x33,
5373 	0x32, 0x27, 0xb6, 0xcb, 0x0d, 0xea, 0x73, 0x62, 0xc7, 0x95, 0x69, 0x53,
5374 	0x21, 0xf8, 0x00, 0x21
5375 };
5376 static const uint8_t nist_186_2_ecdsa_testvector_122_ptx[] = {
5377 /* Msg */
5378 	0x12, 0x5c, 0x4b, 0x0a, 0x58, 0x3f, 0xc2, 0x86, 0x85, 0x18, 0x5b, 0x8a,
5379 	0x46, 0xaa, 0x5f, 0x92, 0x39, 0xf4, 0x60, 0x30, 0xb7, 0xb3, 0xb8, 0xae,
5380 	0xf1, 0x28, 0x32, 0xf4, 0x3e, 0x1b, 0x06, 0xad, 0xb3, 0x20, 0x0b, 0xa6,
5381 	0xf5, 0x19, 0x28, 0x76, 0x4b, 0xfc, 0x0b, 0x64, 0xf7, 0xd7, 0x1e, 0x85,
5382 	0xc7, 0x11, 0xb7, 0x25, 0xe7, 0xf2, 0x90, 0x68, 0xf9, 0x65, 0x76, 0x31,
5383 	0x67, 0xfd, 0x45, 0x43, 0xf8, 0x37, 0x13, 0xa7, 0xa2, 0xff, 0xac, 0x4d,
5384 	0xa0, 0x75, 0x3f, 0xf6, 0xc4, 0xf0, 0x56, 0x50, 0x0d, 0x43, 0x0b, 0x63,
5385 	0x7c, 0x40, 0x79, 0x2d, 0x24, 0x7b, 0x72, 0x89, 0x81, 0x51, 0x70, 0x56,
5386 	0x0a, 0x28, 0xcd, 0xd4, 0x09, 0xf7, 0x36, 0x51, 0xab, 0x0a, 0x5d, 0x06,
5387 	0x53, 0xff, 0xee, 0x3c, 0x34, 0x15, 0xc5, 0xb3, 0x1f, 0xa6, 0x5e, 0x43,
5388 	0x99, 0xf1, 0x8c, 0xc4, 0x31, 0x1d, 0x6e, 0x2c
5389 };
5390 static const uint8_t nist_186_2_ecdsa_testvector_122_private[] = {
5391 /* d - byte alignment */
5392 	0x00, 0x00, 0x7a, 0x7c, 0x91, 0x60, 0x9a, 0x8b, 0x4f, 0xe2, 0xf9, 0x78,
5393 	0x67, 0x88, 0x8f, 0x20, 0xbd, 0x02, 0x8d, 0xff, 0xf0, 0xf9, 0xd2, 0x78,
5394 	0xb6, 0x85, 0x62, 0x33, 0xed, 0xa9, 0x2a, 0xb6, 0x52, 0x1a, 0x47, 0x90,
5395 	0xb7, 0xd3, 0x17, 0xa1, 0x25, 0xec, 0xef, 0xe1, 0xcd, 0xce, 0x03, 0xe2,
5396 	0x2e, 0xc4, 0xdc, 0x55
5397 };
5398 static const uint8_t nist_186_2_ecdsa_testvector_122_public_x[] = {
5399 /* Qx - byte alignment */
5400 	0x00, 0x1c, 0xc6, 0xe1, 0xc8, 0x78, 0x91, 0xc7, 0x27, 0x20, 0x4a, 0xcb,
5401 	0xcc, 0x85, 0x3e, 0xbe, 0x42, 0x29, 0x93, 0x38, 0xb8, 0x14, 0x44, 0x6b,
5402 	0x9a, 0xe4, 0x0f, 0x73, 0x1f, 0x9e, 0x8f, 0x9e, 0x5c, 0xd9, 0x9a, 0x5e,
5403 	0x47, 0x07, 0x87, 0x5e, 0xa8, 0x0e, 0x06, 0x7e, 0x08, 0x8e, 0x22, 0xe9,
5404 	0xcc, 0x12, 0x5a, 0xc0
5405 };
5406 static const uint8_t nist_186_2_ecdsa_testvector_122_public_y[] = {
5407 /* Qy - byte alignment */
5408 	0x01, 0xab, 0x77, 0x02, 0xd8, 0x7a, 0x34, 0x09, 0x3c, 0x0a, 0xb9, 0xfb,
5409 	0xac, 0xbe, 0x7d, 0x93, 0x31, 0xc4, 0xfd, 0xc5, 0x22, 0x0f, 0x8f, 0x02,
5410 	0xc0, 0x69, 0xd4, 0xe4, 0xdb, 0x5a, 0x2f, 0xcd, 0x4f, 0x42, 0xea, 0x7f,
5411 	0xab, 0xad, 0x70, 0x4c, 0x8c, 0x10, 0xb1, 0x2b, 0xd8, 0x13, 0x91, 0xa4,
5412 	0x0a, 0xff, 0x90, 0xba
5413 };
5414 /* k = 000700d3107da55e6b926e2b749bb4a7efc19775e838d19bdb647f0afb8d69ea58f42efb421850e7c0d3aec09790a44f29ed6ca */
5415 static const uint8_t nist_186_2_ecdsa_testvector_122_out[] = {
5416 /* R - byte alignment */
5417 	0x00, 0x2b, 0xb5, 0xbf, 0x94, 0xce, 0x12, 0x29, 0xa0, 0xdc, 0xfc, 0x5c,
5418 	0x49, 0xf8, 0xb1, 0x14, 0xe2, 0x4f, 0xb5, 0x65, 0xca, 0x2c, 0x72, 0x11,
5419 	0xf0, 0x44, 0xe2, 0x9d, 0xf2, 0xae, 0x55, 0xec, 0xad, 0x9d, 0x4e, 0x7d,
5420 	0x47, 0x49, 0xa8, 0xb9, 0x6f, 0x1f, 0x47, 0xa8, 0x77, 0x94, 0x6d, 0x85,
5421 	0x93, 0x94, 0xda, 0xd4,
5422 /* S - byte alignment */
5423 	0x00, 0x61, 0x68, 0xfd, 0x2d, 0x43, 0xa3, 0xcf, 0x8c, 0x8a, 0x1d, 0xf8,
5424 	0xdd, 0x03, 0x81, 0x20, 0xdf, 0x95, 0xbd, 0x8c, 0x5b, 0xd0, 0xef, 0x85,
5425 	0x4a, 0x11, 0x8b, 0x88, 0x14, 0x01, 0x76, 0x52, 0x9a, 0x9b, 0xfc, 0x71,
5426 	0x31, 0x42, 0x72, 0x68, 0xa7, 0x25, 0xda, 0xec, 0x4b, 0x6a, 0x86, 0xe6,
5427 	0xc2, 0x23, 0x50, 0x84
5428 };
5429 static const uint8_t nist_186_2_ecdsa_testvector_123_ptx[] = {
5430 /* Msg */
5431 	0xaf, 0x81, 0x7d, 0xe5, 0x87, 0x42, 0xa0, 0x88, 0xb6, 0xab, 0xc4, 0x3d,
5432 	0x72, 0x29, 0x73, 0xf9, 0x27, 0x89, 0x12, 0x17, 0x19, 0x0e, 0xae, 0x05,
5433 	0x4c, 0xc1, 0xf8, 0x3e, 0xa1, 0x09, 0x8d, 0x78, 0x41, 0x7b, 0x7b, 0x1e,
5434 	0x3e, 0xf3, 0x01, 0x00, 0x78, 0xe4, 0x97, 0x4a, 0xbe, 0xec, 0x2e, 0xb2,
5435 	0x36, 0xac, 0xb9, 0xf6, 0xff, 0xd6, 0xec, 0x86, 0x14, 0x87, 0x44, 0x7d,
5436 	0x74, 0xd8, 0x47, 0xd6, 0x80, 0xb0, 0x0d, 0xdd, 0xa4, 0xdc, 0xff, 0xe3,
5437 	0x39, 0x61, 0xdf, 0x36, 0xaa, 0x10, 0x09, 0x51, 0xd6, 0x5c, 0xf8, 0x4f,
5438 	0xb6, 0x69, 0x0b, 0xa6, 0x40, 0x65, 0x89, 0x11, 0x8b, 0x1b, 0xe4, 0xce,
5439 	0x33, 0xc5, 0x3a, 0x0a, 0xff, 0x22, 0x21, 0x9a, 0xc1, 0xc9, 0xa4, 0xeb,
5440 	0x7e, 0xbd, 0x89, 0x3c, 0xcf, 0x41, 0xd6, 0x0a, 0x87, 0xee, 0x93, 0xcc,
5441 	0x96, 0x02, 0xd0, 0xe1, 0x2e, 0xfb, 0xea, 0xc7
5442 };
5443 static const uint8_t nist_186_2_ecdsa_testvector_123_private[] = {
5444 /* d - byte alignment */
5445 	0x00, 0x00, 0x38, 0x42, 0x1e, 0x93, 0x18, 0xc4, 0xcc, 0x05, 0x51, 0x9a,
5446 	0x6e, 0xb8, 0x1d, 0x87, 0xa1, 0xd1, 0x63, 0x31, 0xf8, 0xe7, 0xcd, 0xac,
5447 	0x4f, 0x0c, 0x47, 0xc3, 0x90, 0xa3, 0x81, 0xe4, 0xbb, 0x19, 0x3c, 0x43,
5448 	0xea, 0x7e, 0xb5, 0xe4, 0x7d, 0x47, 0x56, 0xd4, 0x1e, 0x1e, 0xef, 0x58,
5449 	0x6a, 0xcf, 0x67, 0x41
5450 };
5451 static const uint8_t nist_186_2_ecdsa_testvector_123_public_x[] = {
5452 /* Qx - byte alignment */
5453 	0x01, 0xfa, 0xca, 0xa9, 0xa1, 0x3d, 0x6a, 0x0c, 0x7d, 0xf8, 0xe6, 0x0d,
5454 	0x5d, 0x32, 0x44, 0x65, 0x85, 0x4d, 0x6f, 0x78, 0xa3, 0xe8, 0x1e, 0x94,
5455 	0xee, 0x74, 0x47, 0x99, 0x6f, 0x75, 0x4d, 0x52, 0xc9, 0x88, 0x87, 0x63,
5456 	0xe3, 0x63, 0x17, 0x93, 0xf4, 0xb9, 0x38, 0x9d, 0xd1, 0x2e, 0x60, 0x59,
5457 	0x2d, 0xee, 0x53, 0x5e
5458 };
5459 static const uint8_t nist_186_2_ecdsa_testvector_123_public_y[] = {
5460 /* Qy - byte alignment */
5461 	0x01, 0x50, 0x25, 0x9a, 0x8e, 0xfd, 0xf3, 0x9f, 0x94, 0x79, 0x72, 0x24,
5462 	0x88, 0xb3, 0x6f, 0x8f, 0x37, 0xd6, 0x25, 0xc4, 0xfa, 0x98, 0xfc, 0xd7,
5463 	0x1e, 0x37, 0x06, 0x7d, 0x2a, 0xda, 0x08, 0x6d, 0xd4, 0x7e, 0x35, 0xf9,
5464 	0xb3, 0x0d, 0xb2, 0xbe, 0xd8, 0x70, 0x3d, 0xdf, 0x42, 0x5c, 0x67, 0x02,
5465 	0xc5, 0xe0, 0xc3, 0xab
5466 };
5467 /* k = 00062b38c52225795d13c0c60c0124cb90748338c1a3960166d0d5282e203207c2da1dacd1d4af81614a6ad94ad3a64c29cb344 */
5468 static const uint8_t nist_186_2_ecdsa_testvector_123_out[] = {
5469 /* R - byte alignment */
5470 	0x00, 0x42, 0xd6, 0x10, 0x96, 0x59, 0xda, 0xbb, 0xa1, 0x15, 0x30, 0x53,
5471 	0xa5, 0x45, 0x98, 0x7c, 0x13, 0x0e, 0x54, 0x3c, 0x0e, 0x60, 0xa7, 0x06,
5472 	0xa8, 0x8a, 0xdf, 0x93, 0x81, 0x1a, 0xee, 0xe4, 0x88, 0x19, 0xf7, 0x6a,
5473 	0x66, 0xc1, 0x05, 0xf9, 0x99, 0xd9, 0x2c, 0x9f, 0x5c, 0x66, 0xb8, 0xcd,
5474 	0xc1, 0xde, 0x9e, 0x01,
5475 /* S - byte alignment */
5476 	0x00, 0x15, 0x17, 0x07, 0xd2, 0x54, 0x34, 0x04, 0xf2, 0x6f, 0x8b, 0x6a,
5477 	0xf3, 0x8f, 0x82, 0x63, 0xea, 0x2a, 0x7a, 0x0a, 0x42, 0xb0, 0x53, 0x35,
5478 	0x85, 0xb4, 0x41, 0x99, 0x1e, 0x81, 0xf8, 0x04, 0xf4, 0x32, 0x5e, 0x3a,
5479 	0xb4, 0x08, 0x4c, 0x91, 0x69, 0xda, 0x5a, 0xe3, 0x0c, 0x11, 0x2d, 0x13,
5480 	0x39, 0x8f, 0x15, 0xb1
5481 };
5482 static const uint8_t nist_186_2_ecdsa_testvector_124_ptx[] = {
5483 /* Msg */
5484 	0xa2, 0x8c, 0x69, 0xb4, 0x21, 0x1f, 0xc1, 0xb6, 0x35, 0xd1, 0x27, 0x56,
5485 	0x23, 0xdf, 0xb1, 0xe0, 0x54, 0x23, 0x9f, 0x1f, 0xb3, 0xe9, 0xe3, 0xd3,
5486 	0x57, 0xff, 0xe1, 0x60, 0x62, 0x0b, 0x73, 0xc4, 0x29, 0x21, 0x30, 0xcb,
5487 	0x95, 0x95, 0xee, 0x86, 0xc9, 0x0e, 0x85, 0xf9, 0x04, 0xdc, 0xd6, 0x14,
5488 	0xc9, 0x8c, 0x0c, 0xe5, 0x3e, 0xb9, 0x22, 0x0b, 0xd3, 0x25, 0xa6, 0x6e,
5489 	0x23, 0x08, 0xbc, 0x2d, 0x1f, 0xa7, 0x65, 0xd8, 0x69, 0x29, 0x01, 0xe0,
5490 	0xfe, 0xa6, 0x13, 0x4b, 0x18, 0x82, 0x45, 0xac, 0x53, 0xf9, 0xac, 0x53,
5491 	0x0e, 0xfa, 0x4c, 0xc1, 0x14, 0x39, 0xdf, 0x5f, 0x7c, 0x80, 0xd2, 0x6f,
5492 	0xcd, 0x45, 0x91, 0x42, 0x66, 0x82, 0x04, 0xab, 0x1d, 0xc1, 0x59, 0xb5,
5493 	0x27, 0x76, 0x05, 0x91, 0x38, 0x92, 0x05, 0xd2, 0xea, 0x55, 0x6a, 0xdd,
5494 	0x63, 0x64, 0x14, 0x9a, 0x32, 0x1b, 0xbe, 0x70
5495 };
5496 static const uint8_t nist_186_2_ecdsa_testvector_124_private[] = {
5497 /* d - byte alignment */
5498 	0x00, 0x00, 0x76, 0x2e, 0x08, 0xaa, 0x0b, 0xad, 0xdf, 0x4a, 0x50, 0xb1,
5499 	0x69, 0xca, 0x78, 0xc5, 0xa1, 0x9b, 0xe0, 0x3e, 0x7f, 0x11, 0x6f, 0xad,
5500 	0x0e, 0x41, 0x69, 0x72, 0x32, 0x49, 0x20, 0x60, 0xa5, 0x2e, 0x30, 0x64,
5501 	0xf2, 0xc8, 0xd0, 0x54, 0x86, 0x13, 0x85, 0xb0, 0x44, 0xba, 0xa1, 0xec,
5502 	0xaa, 0x0b, 0x90, 0x1c
5503 };
5504 static const uint8_t nist_186_2_ecdsa_testvector_124_public_x[] = {
5505 /* Qx - byte alignment */
5506 	0x00, 0xb3, 0xec, 0x10, 0x86, 0x8f, 0xc3, 0x6d, 0x33, 0x25, 0x4f, 0xd3,
5507 	0xf1, 0x25, 0xf0, 0xe6, 0xac, 0x7c, 0x73, 0x47, 0x49, 0x45, 0x98, 0x7a,
5508 	0xc2, 0x7e, 0x13, 0x13, 0xba, 0x00, 0x45, 0xe8, 0xd2, 0x43, 0x77, 0x16,
5509 	0x0f, 0x43, 0xa6, 0xea, 0xcf, 0x02, 0xcb, 0x70, 0x02, 0x9c, 0xee, 0xd1,
5510 	0x88, 0x43, 0x1d, 0x4c
5511 };
5512 static const uint8_t nist_186_2_ecdsa_testvector_124_public_y[] = {
5513 /* Qy - byte alignment */
5514 	0x01, 0x21, 0x5e, 0xe1, 0xa5, 0xf5, 0xd0, 0x2b, 0xf0, 0xda, 0xfe, 0x15,
5515 	0x5e, 0x9c, 0x95, 0x64, 0x11, 0xc6, 0xff, 0xcc, 0x6c, 0x4a, 0x2c, 0x4b,
5516 	0x0b, 0xdc, 0xeb, 0x11, 0x26, 0xb4, 0xa1, 0x21, 0xe6, 0xf7, 0x70, 0x28,
5517 	0xa3, 0x69, 0x96, 0x51, 0x06, 0xe3, 0x04, 0xa5, 0x38, 0xae, 0xa8, 0x83,
5518 	0x97, 0xb7, 0xd0, 0xf7
5519 };
5520 /* k = 0007a496e31791af248ee59fdcb77eb5547ac6d4ca36383d0870d3a35c81b3d620426458586241519543b33e394be5cfa2b9139 */
5521 static const uint8_t nist_186_2_ecdsa_testvector_124_out[] = {
5522 /* R - byte alignment */
5523 	0x00, 0x69, 0xb8, 0xc4, 0xbe, 0x27, 0xf0, 0x5e, 0xc3, 0x48, 0x36, 0xbc,
5524 	0xd8, 0xac, 0xc6, 0x65, 0xe4, 0x57, 0xf1, 0x55, 0x2c, 0x1d, 0x4b, 0x36,
5525 	0x09, 0x43, 0xc3, 0x50, 0x39, 0xb6, 0xf2, 0xf3, 0xa7, 0xba, 0xe9, 0x7b,
5526 	0x91, 0x02, 0xca, 0x7a, 0xf2, 0x87, 0x5c, 0x73, 0x6d, 0x1e, 0xf2, 0x90,
5527 	0xed, 0x8d, 0x75, 0x88,
5528 /* S - byte alignment */
5529 	0x00, 0x52, 0xcb, 0x8b, 0xd5, 0xdd, 0x83, 0xe5, 0xd5, 0xa7, 0x40, 0xb5,
5530 	0x62, 0x02, 0xb4, 0xf2, 0xf3, 0x9f, 0xf6, 0xe9, 0x8f, 0xfa, 0x38, 0x19,
5531 	0x3e, 0x6b, 0x6c, 0xc4, 0x5b, 0x76, 0x8e, 0x90, 0xa8, 0xe3, 0xeb, 0x66,
5532 	0x52, 0x07, 0x85, 0xf9, 0x69, 0xb6, 0xed, 0xf0, 0x87, 0x4d, 0xd8, 0xc5,
5533 	0xdf, 0x5d, 0x1a, 0x9c
5534 };
5535 static const uint8_t nist_186_2_ecdsa_testvector_125_ptx[] = {
5536 /* Msg */
5537 	0x1a, 0x11, 0x2a, 0x50, 0x38, 0x63, 0x6f, 0x16, 0x6e, 0x6e, 0x84, 0x74,
5538 	0xc0, 0x77, 0xab, 0x72, 0xa4, 0x6c, 0x2c, 0x0e, 0xb5, 0xc9, 0xa5, 0x3a,
5539 	0xab, 0xb8, 0xa2, 0x25, 0x8b, 0x7c, 0x6d, 0xbb, 0x1b, 0x0f, 0x28, 0x6f,
5540 	0x99, 0x0a, 0x18, 0x38, 0xac, 0xc6, 0x44, 0xd9, 0x9b, 0xc1, 0x3f, 0x66,
5541 	0xbd, 0x43, 0x42, 0x04, 0x31, 0x41, 0x7d, 0xf0, 0xce, 0x81, 0xaf, 0xc3,
5542 	0x5d, 0xff, 0xf5, 0xf4, 0x06, 0x90, 0xdf, 0x9e, 0x09, 0xc5, 0xc9, 0x83,
5543 	0xaf, 0x12, 0x69, 0x52, 0x7f, 0x2f, 0xa4, 0x25, 0xb4, 0xbf, 0xa6, 0x4e,
5544 	0xef, 0x30, 0x31, 0x53, 0x2a, 0xe2, 0x35, 0x37, 0xed, 0x8b, 0xa2, 0xfb,
5545 	0xc4, 0xda, 0x7a, 0x65, 0xf0, 0x5a, 0x2a, 0x00, 0x5d, 0x9a, 0x1a, 0x64,
5546 	0xd4, 0x8b, 0x83, 0xb7, 0x72, 0x29, 0x81, 0x74, 0x59, 0x5d, 0x69, 0x6b,
5547 	0xa5, 0x22, 0x5c, 0x0a, 0xa2, 0xe8, 0x1c, 0xda
5548 };
5549 static const uint8_t nist_186_2_ecdsa_testvector_125_private[] = {
5550 /* d - byte alignment */
5551 	0x00, 0x00, 0x61, 0xeb, 0x2b, 0xae, 0x31, 0x10, 0x95, 0xea, 0x51, 0x9f,
5552 	0x89, 0xea, 0xd3, 0x8d, 0xa3, 0x78, 0xe3, 0x2e, 0xfa, 0x65, 0xab, 0x4f,
5553 	0xf8, 0xc2, 0xe9, 0xbf, 0xaa, 0x6f, 0xeb, 0x8f, 0x44, 0x38, 0x74, 0x2a,
5554 	0xd3, 0x31, 0x1a, 0x4b, 0x8d, 0x4f, 0x07, 0x38, 0x93, 0xeb, 0xb2, 0x11,
5555 	0x41, 0x0f, 0xc8, 0xa1
5556 };
5557 static const uint8_t nist_186_2_ecdsa_testvector_125_public_x[] = {
5558 /* Qx - byte alignment */
5559 	0x00, 0xfa, 0xa2, 0x6a, 0xf7, 0xa4, 0x77, 0xc2, 0x41, 0x38, 0x7d, 0xfb,
5560 	0xec, 0x89, 0xf6, 0xd2, 0x46, 0xdd, 0x46, 0x45, 0xa2, 0xd6, 0x89, 0x27,
5561 	0x67, 0xe3, 0xf3, 0xa4, 0x6e, 0x26, 0x2a, 0xb4, 0x9a, 0x89, 0xc6, 0x9a,
5562 	0x9a, 0xb8, 0x88, 0x78, 0x24, 0x1f, 0xf7, 0xe2, 0x67, 0xb1, 0x18, 0xab,
5563 	0x11, 0x65, 0xcd, 0x16
5564 };
5565 static const uint8_t nist_186_2_ecdsa_testvector_125_public_y[] = {
5566 /* Qy - byte alignment */
5567 	0x00, 0xdb, 0xde, 0x2e, 0x35, 0xc7, 0xec, 0xbb, 0x73, 0xca, 0x32, 0x76,
5568 	0x1b, 0x87, 0x2e, 0x09, 0xe1, 0x92, 0xdc, 0xd3, 0x0f, 0xcd, 0xd6, 0x36,
5569 	0x6a, 0x7c, 0xb7, 0x60, 0x0b, 0x1d, 0xcc, 0x0d, 0xe3, 0x33, 0xfe, 0xec,
5570 	0xf5, 0x90, 0xf1, 0x0b, 0xa4, 0xe3, 0x7e, 0xf0, 0x55, 0xba, 0xde, 0x25,
5571 	0xff, 0xc9, 0x98, 0xc6
5572 };
5573 /* k = 00036dc870af1992f9dac60892e35b7d3feb89a05a1fff46652816de8d8f8ebe1c51ad06009eaf1483269856bf1cb1a85a14c11 */
5574 static const uint8_t nist_186_2_ecdsa_testvector_125_out[] = {
5575 /* R - byte alignment */
5576 	0x00, 0x28, 0xa9, 0xc2, 0xbd, 0x4b, 0xa0, 0x2f, 0x64, 0x5b, 0xc5, 0x0a,
5577 	0xdb, 0xfe, 0x28, 0x9c, 0x22, 0xfb, 0x90, 0xd7, 0x1b, 0x6e, 0x92, 0x6f,
5578 	0x67, 0xfb, 0x6b, 0x17, 0x7b, 0xea, 0x53, 0x8f, 0xef, 0x57, 0x83, 0xf5,
5579 	0x5f, 0xa6, 0x46, 0xb0, 0xc4, 0x45, 0xff, 0x54, 0x10, 0xc8, 0x39, 0xfd,
5580 	0xd5, 0xf1, 0x7f, 0xef,
5581 /* S - byte alignment */
5582 	0x00, 0x75, 0x40, 0x75, 0xcc, 0x6f, 0xfe, 0x8d, 0xcb, 0xe0, 0x72, 0x6f,
5583 	0x22, 0x22, 0x0a, 0xf5, 0x69, 0xc0, 0x69, 0x1a, 0xf0, 0x11, 0x5a, 0xeb,
5584 	0x1d, 0x09, 0x05, 0x4f, 0xfa, 0x77, 0xd2, 0x74, 0xff, 0x02, 0xe3, 0x1c,
5585 	0xc3, 0xa2, 0xc8, 0x42, 0x8a, 0xfc, 0x9c, 0x24, 0x67, 0xbf, 0xb0, 0x64,
5586 	0x3e, 0x56, 0xcd, 0x47
5587 };
5588 static const uint8_t nist_186_2_ecdsa_testvector_126_ptx[] = {
5589 /* Msg */
5590 	0x1f, 0xaf, 0x00, 0x7c, 0x6e, 0x57, 0x8e, 0x86, 0x79, 0xfc, 0x92, 0xe5,
5591 	0x5b, 0x9a, 0x25, 0x1f, 0x0f, 0x95, 0x30, 0x4c, 0xe1, 0x58, 0x7f, 0xd5,
5592 	0x22, 0x3c, 0x17, 0x7c, 0x20, 0xac, 0xca, 0x9c, 0x56, 0x88, 0x08, 0xb2,
5593 	0xdf, 0xc6, 0xf8, 0x1d, 0x31, 0x5f, 0xc7, 0x22, 0x07, 0x69, 0x41, 0x33,
5594 	0x9f, 0x80, 0x9e, 0x71, 0x26, 0x6b, 0x9e, 0x6f, 0x71, 0xfd, 0xd8, 0x39,
5595 	0xed, 0x38, 0x4e, 0x95, 0xd9, 0xb9, 0x46, 0x88, 0xb2, 0x50, 0x55, 0x1c,
5596 	0xef, 0xee, 0xbd, 0x61, 0xef, 0xc4, 0xf9, 0xb2, 0x30, 0xa9, 0x95, 0x39,
5597 	0xc1, 0xbc, 0x43, 0xb6, 0xfa, 0x4b, 0x2c, 0x7b, 0x6a, 0xf4, 0x84, 0xbb,
5598 	0x11, 0x0a, 0x61, 0x05, 0xcf, 0x3b, 0xcd, 0x0c, 0x1d, 0x6f, 0x19, 0xa9,
5599 	0xfb, 0xf2, 0x75, 0x23, 0x29, 0xd6, 0xbe, 0xad, 0x9a, 0x93, 0x97, 0x30,
5600 	0x26, 0xf1, 0xbb, 0x4b, 0x7f, 0x28, 0x92, 0x99
5601 };
5602 static const uint8_t nist_186_2_ecdsa_testvector_126_private[] = {
5603 /* d - byte alignment */
5604 	0x00, 0x00, 0x48, 0x67, 0xad, 0xe1, 0x7b, 0x1c, 0x21, 0x96, 0xfb, 0x37,
5605 	0x7e, 0xa1, 0x7a, 0xaa, 0x1c, 0xb1, 0x75, 0x2d, 0x5e, 0xfe, 0x9f, 0xff,
5606 	0xaf, 0xf7, 0x7b, 0x76, 0xf6, 0x3d, 0xa7, 0xf6, 0xb4, 0x09, 0x3d, 0xc9,
5607 	0x83, 0xca, 0xe2, 0xa4, 0x44, 0x79, 0xdd, 0xfe, 0xc3, 0x99, 0x92, 0xee,
5608 	0x3b, 0x37, 0xf2, 0xc7
5609 };
5610 static const uint8_t nist_186_2_ecdsa_testvector_126_public_x[] = {
5611 /* Qx - byte alignment */
5612 	0x00, 0xb3, 0xce, 0x1f, 0xbf, 0x76, 0x41, 0x0f, 0x49, 0x23, 0xea, 0x96,
5613 	0x8e, 0xa4, 0xf2, 0x6e, 0x2f, 0x5a, 0xb0, 0x34, 0xb8, 0xa1, 0xb7, 0xe3,
5614 	0x7f, 0xf2, 0xa6, 0xb9, 0x57, 0x24, 0x5e, 0x68, 0x21, 0xf3, 0x05, 0x38,
5615 	0x7f, 0xdf, 0xbd, 0xb0, 0x73, 0xf7, 0x2d, 0x2c, 0x18, 0xc2, 0x28, 0x5b,
5616 	0x12, 0xd8, 0xb1, 0x86
5617 };
5618 static const uint8_t nist_186_2_ecdsa_testvector_126_public_y[] = {
5619 /* Qy - byte alignment */
5620 	0x00, 0x5d, 0x15, 0xf2, 0x47, 0x12, 0x82, 0xac, 0x16, 0x3d, 0x9d, 0x66,
5621 	0xd7, 0x19, 0xd0, 0x0a, 0x33, 0xcd, 0x99, 0x5d, 0x59, 0xb5, 0xd7, 0xd5,
5622 	0xb2, 0xa9, 0x21, 0x34, 0x4f, 0xb6, 0x59, 0x1c, 0x60, 0x65, 0x34, 0x89,
5623 	0x40, 0x84, 0x84, 0xd8, 0xa4, 0x3f, 0xd2, 0x71, 0xa1, 0x2b, 0xc7, 0x45,
5624 	0x1a, 0xb4, 0x38, 0xdc
5625 };
5626 /* k = 00071d3e240a04eac60d80f26557009d8f66ecdf9be60ad72ce159bdbbc597cfe6e9125beec626d6769cef109fa0d732978646e */
5627 static const uint8_t nist_186_2_ecdsa_testvector_126_out[] = {
5628 /* R - byte alignment */
5629 	0x00, 0x45, 0x7b, 0x85, 0x03, 0x6a, 0x52, 0x26, 0x69, 0xf6, 0xd5, 0xf8,
5630 	0x22, 0xb8, 0x85, 0x77, 0xf6, 0x3f, 0x58, 0xcb, 0x87, 0x98, 0x01, 0x59,
5631 	0xa7, 0xb8, 0xfb, 0xde, 0xad, 0x41, 0xde, 0x4f, 0x24, 0x03, 0xe1, 0x7a,
5632 	0xab, 0x49, 0xdd, 0xca, 0x29, 0x1c, 0x8d, 0x39, 0xe4, 0x51, 0x73, 0x68,
5633 	0xb4, 0xaf, 0xef, 0x71,
5634 /* S - byte alignment */
5635 	0x00, 0x10, 0x8f, 0xc9, 0x58, 0x3b, 0x97, 0x90, 0x8f, 0xfb, 0x8e, 0xf4,
5636 	0x7c, 0x6e, 0xea, 0xa9, 0xeb, 0x10, 0xf3, 0xed, 0xa1, 0xad, 0x66, 0xf8,
5637 	0x24, 0x7a, 0xa8, 0xf6, 0x72, 0x7b, 0xb1, 0xdb, 0x15, 0x42, 0x4c, 0xbf,
5638 	0x2f, 0x7e, 0x8a, 0xbf, 0x29, 0xf9, 0xb3, 0x34, 0x15, 0xb3, 0xc6, 0xff,
5639 	0x99, 0x73, 0x83, 0x61
5640 };
5641 static const uint8_t nist_186_2_ecdsa_testvector_127_ptx[] = {
5642 /* Msg */
5643 	0xc4, 0x31, 0x0a, 0x0d, 0x8c, 0xec, 0xe8, 0x90, 0xee, 0x3f, 0xbe, 0xdb,
5644 	0xe9, 0x02, 0x9a, 0x13, 0x16, 0x37, 0x09, 0xe6, 0x81, 0x8c, 0x88, 0x2a,
5645 	0xb7, 0x28, 0x3b, 0xc0, 0x20, 0xa3, 0xe2, 0xbf, 0x8f, 0x56, 0x08, 0xce,
5646 	0x18, 0xd6, 0x7d, 0xd2, 0x22, 0xbb, 0x07, 0xca, 0xbc, 0xa6, 0x55, 0xf6,
5647 	0x35, 0x82, 0x34, 0x3f, 0xe6, 0x09, 0x06, 0xd3, 0x53, 0x8a, 0x6f, 0x10,
5648 	0x73, 0xea, 0x51, 0xa3, 0x4b, 0xea, 0xfb, 0xf1, 0xc2, 0xa7, 0x9d, 0xb6,
5649 	0xb0, 0x67, 0xff, 0xeb, 0x38, 0x92, 0x73, 0xee, 0x58, 0xff, 0x09, 0xdd,
5650 	0xbe, 0x71, 0x01, 0x42, 0xdd, 0x62, 0x86, 0xf6, 0x41, 0xff, 0x99, 0x3f,
5651 	0x1f, 0x73, 0x4b, 0x3c, 0x31, 0x68, 0x2f, 0x83, 0xc0, 0xcb, 0x0f, 0x08,
5652 	0x03, 0xd0, 0xde, 0x41, 0xa7, 0x37, 0xee, 0x87, 0xaf, 0xcd, 0x63, 0xc0,
5653 	0x7e, 0x35, 0xe8, 0x3b, 0x32, 0xe8, 0xa0, 0xdb
5654 };
5655 static const uint8_t nist_186_2_ecdsa_testvector_127_private[] = {
5656 /* d - byte alignment */
5657 	0x00, 0x00, 0x54, 0xe2, 0xa7, 0xc7, 0x44, 0x93, 0x63, 0xd7, 0x2f, 0x66,
5658 	0x10, 0xf2, 0x93, 0x1e, 0x82, 0xa7, 0x24, 0xab, 0xea, 0x79, 0x30, 0xbd,
5659 	0x36, 0xed, 0xcc, 0xa5, 0x7b, 0xdc, 0x84, 0xd4, 0x2e, 0x07, 0x0b, 0xf0,
5660 	0xb7, 0x94, 0xde, 0x47, 0xd1, 0xb1, 0xe0, 0xc0, 0x97, 0x35, 0x0e, 0xf6,
5661 	0x64, 0x97, 0x29, 0xa0
5662 };
5663 static const uint8_t nist_186_2_ecdsa_testvector_127_public_x[] = {
5664 /* Qx - byte alignment */
5665 	0x00, 0x25, 0xb1, 0x0b, 0x27, 0x9a, 0x04, 0x10, 0xbd, 0x42, 0x45, 0x11,
5666 	0x2e, 0x51, 0xc2, 0x98, 0xbc, 0xa1, 0x43, 0x65, 0xf0, 0xd7, 0x26, 0xfe,
5667 	0x85, 0xfb, 0x57, 0x7a, 0x17, 0xd3, 0xbe, 0xc8, 0xdc, 0x5d, 0x06, 0x92,
5668 	0xdc, 0x83, 0xf4, 0x99, 0x03, 0x57, 0xf2, 0x99, 0x61, 0xa9, 0x61, 0xf0,
5669 	0xd0, 0x16, 0x0a, 0xac
5670 };
5671 static const uint8_t nist_186_2_ecdsa_testvector_127_public_y[] = {
5672 /* Qy - byte alignment */
5673 	0x01, 0xa4, 0xbb, 0x6f, 0xe1, 0x8d, 0x9e, 0xd9, 0x78, 0xf8, 0xd6, 0x8a,
5674 	0x0e, 0xda, 0xe6, 0x59, 0xe4, 0xa9, 0x3f, 0x23, 0xfa, 0x2a, 0x5a, 0xd3,
5675 	0xcf, 0x70, 0x32, 0x77, 0xa5, 0x53, 0x34, 0xfa, 0x0b, 0x5a, 0x22, 0x1d,
5676 	0x30, 0x51, 0xdf, 0x5a, 0xbd, 0x4f, 0x36, 0x50, 0x98, 0xbb, 0x88, 0x32,
5677 	0x71, 0x62, 0x06, 0x25
5678 };
5679 /* k = 00016e79c6ee8d97dedd9c2b0fd56ad8a06d9a3690735656a47e664cfbb745ab61b620d8c33ef6467b316b2488566208397f4be */
5680 static const uint8_t nist_186_2_ecdsa_testvector_127_out[] = {
5681 /* R - byte alignment */
5682 	0x00, 0x70, 0x9a, 0x59, 0x35, 0x1f, 0x81, 0x73, 0xf9, 0xdc, 0x85, 0x07,
5683 	0x6c, 0x1d, 0xfa, 0x25, 0x79, 0x2f, 0xc9, 0xa2, 0xf8, 0xcc, 0xe5, 0x4b,
5684 	0x72, 0xd0, 0x14, 0x66, 0x60, 0x67, 0x4c, 0x1f, 0x20, 0x5a, 0xec, 0x5f,
5685 	0xef, 0x6d, 0x93, 0x52, 0xcb, 0xd8, 0xc4, 0xde, 0xc2, 0x44, 0x93, 0x0e,
5686 	0xdd, 0x7c, 0x70, 0x9a,
5687 /* S - byte alignment */
5688 	0x00, 0x26, 0x23, 0xbf, 0xa0, 0x1c, 0x32, 0xcc, 0x0a, 0x84, 0x43, 0x8d,
5689 	0x60, 0xdd, 0xe1, 0xfe, 0x82, 0xe9, 0xb5, 0x61, 0x0f, 0x45, 0x19, 0xae,
5690 	0x48, 0xe8, 0xa8, 0x82, 0xb2, 0x2b, 0xe6, 0x7e, 0xce, 0x8b, 0xa2, 0x98,
5691 	0xec, 0x19, 0xce, 0x4b, 0xa7, 0xe6, 0x20, 0xa1, 0xa6, 0xc0, 0xb6, 0xde,
5692 	0x12, 0x99, 0x6d, 0x77
5693 };
5694 static const uint8_t nist_186_2_ecdsa_testvector_128_ptx[] = {
5695 /* Msg */
5696 	0xa8, 0xc9, 0xa5, 0x8a, 0xe4, 0x68, 0x16, 0x90, 0x05, 0xab, 0x9b, 0x57,
5697 	0xed, 0x7e, 0xc1, 0x49, 0x2d, 0xbf, 0x3d, 0x54, 0xc8, 0xf2, 0xd3, 0x41,
5698 	0x3a, 0x37, 0x76, 0x41, 0xb8, 0x7a, 0xb1, 0xc9, 0xba, 0xea, 0x45, 0xa0,
5699 	0xb7, 0xac, 0x14, 0x37, 0x2f, 0xd0, 0x3d, 0x38, 0xef, 0x84, 0x89, 0x61,
5700 	0x91, 0x87, 0x06, 0x93, 0x42, 0xe1, 0xf1, 0x26, 0xc8, 0xd2, 0xd9, 0x80,
5701 	0xc3, 0x08, 0x02, 0xe6, 0x32, 0x14, 0x08, 0x91, 0x3a, 0x1f, 0xc4, 0x05,
5702 	0x23, 0xd9, 0x73, 0x9e, 0xa4, 0xb3, 0x15, 0x6c, 0x60, 0x4e, 0x14, 0x41,
5703 	0xb0, 0x33, 0x26, 0x07, 0xa3, 0xc4, 0x74, 0x57, 0x43, 0x73, 0xfc, 0x48,
5704 	0x1a, 0x31, 0x34, 0x85, 0xf5, 0x29, 0xf0, 0xa3, 0xe8, 0xaf, 0x85, 0xb1,
5705 	0x92, 0x73, 0x2f, 0x10, 0xa2, 0xfb, 0xb0, 0x85, 0x9a, 0x50, 0x3a, 0x8c,
5706 	0xd4, 0xf7, 0x8f, 0xef, 0xc2, 0x22, 0x67, 0x98
5707 };
5708 static const uint8_t nist_186_2_ecdsa_testvector_128_private[] = {
5709 /* d - byte alignment */
5710 	0x00, 0x00, 0x58, 0xd1, 0x3f, 0x58, 0x45, 0xfd, 0xba, 0xa2, 0x3d, 0xb9,
5711 	0xde, 0x5f, 0xb7, 0xdd, 0x25, 0x80, 0x1e, 0x49, 0x28, 0x8b, 0xee, 0x32,
5712 	0xf6, 0x03, 0x5e, 0x69, 0xa2, 0x1d, 0xa8, 0xd3, 0x36, 0xe1, 0xc7, 0x6b,
5713 	0x59, 0xe4, 0x26, 0x9f, 0x3a, 0xf8, 0x4d, 0x8d, 0x47, 0xaf, 0xfb, 0x48,
5714 	0x25, 0xe4, 0x6e, 0xf2
5715 };
5716 static const uint8_t nist_186_2_ecdsa_testvector_128_public_x[] = {
5717 /* Qx - byte alignment */
5718 	0x01, 0x42, 0xa7, 0xe9, 0x7e, 0xa9, 0xec, 0x59, 0xfa, 0x59, 0x6b, 0x50,
5719 	0x1c, 0xef, 0xc0, 0x31, 0x89, 0x91, 0x29, 0x32, 0xef, 0xd3, 0xa5, 0xf5,
5720 	0xf3, 0xcf, 0x5d, 0x3f, 0x68, 0x11, 0x66, 0x57, 0x35, 0x22, 0xbf, 0xcf,
5721 	0xf4, 0x0f, 0x08, 0x0b, 0x01, 0x3d, 0x57, 0x01, 0x0d, 0x33, 0x13, 0x63,
5722 	0x5c, 0x06, 0x40, 0x90
5723 };
5724 static const uint8_t nist_186_2_ecdsa_testvector_128_public_y[] = {
5725 /* Qy - byte alignment */
5726 	0x00, 0x45, 0xf0, 0x57, 0x14, 0x21, 0xd4, 0x88, 0x85, 0x3f, 0x5c, 0x61,
5727 	0x46, 0x33, 0x03, 0xdd, 0x99, 0x6a, 0x7d, 0xca, 0xe2, 0x80, 0xa0, 0x13,
5728 	0x8f, 0xdd, 0xbd, 0x8c, 0x05, 0xee, 0x51, 0xf2, 0xd4, 0x89, 0xf6, 0xbb,
5729 	0xb9, 0x56, 0x16, 0x48, 0x02, 0xe2, 0xb6, 0xc6, 0xa8, 0x07, 0xf8, 0xdf,
5730 	0x49, 0x01, 0x0e, 0x66
5731 };
5732 /* k = 00010d75461d11156b46f7dac65750135ced6271516de97b660ac9b535bf3ef20739089443c2257673591a970dabc12ba8e4064 */
5733 static const uint8_t nist_186_2_ecdsa_testvector_128_out[] = {
5734 /* R - byte alignment */
5735 	0x00, 0x7d, 0xfc, 0x37, 0x83, 0x3f, 0x96, 0x63, 0xd4, 0xa4, 0xab, 0x2c,
5736 	0xfa, 0x40, 0x20, 0x02, 0x10, 0x6d, 0x83, 0xb8, 0x9a, 0x3d, 0xa7, 0xc9,
5737 	0x74, 0xff, 0x35, 0xf6, 0xd0, 0xa5, 0xa0, 0x30, 0x44, 0xf7, 0x83, 0x67,
5738 	0xb9, 0xb4, 0x01, 0xd5, 0x22, 0x2b, 0x4d, 0xb2, 0xcd, 0xe1, 0x39, 0x7a,
5739 	0xbb, 0xd7, 0x35, 0xb6,
5740 /* S - byte alignment */
5741 	0x00, 0x37, 0x61, 0x43, 0xde, 0x67, 0xfe, 0xcd, 0xb6, 0xda, 0x1c, 0x82,
5742 	0x65, 0xfb, 0x79, 0xea, 0x92, 0x79, 0x76, 0x78, 0xf2, 0x60, 0x13, 0xa0,
5743 	0x25, 0x75, 0xde, 0xac, 0x47, 0x6c, 0xcd, 0x5d, 0x35, 0x92, 0xc4, 0xda,
5744 	0xfa, 0x99, 0xc9, 0x2b, 0x84, 0x4c, 0xf7, 0x21, 0x63, 0xe8, 0xe8, 0x98,
5745 	0x01, 0xbe, 0x32, 0x31
5746 };
5747 static const uint8_t nist_186_2_ecdsa_testvector_129_ptx[] = {
5748 /* Msg */
5749 	0xf2, 0x32, 0x3a, 0x75, 0xbe, 0x27, 0x91, 0x18, 0x23, 0x50, 0x52, 0x5f,
5750 	0xec, 0x58, 0x4f, 0x69, 0x0f, 0x6e, 0xcb, 0xf9, 0x90, 0x99, 0x82, 0x6e,
5751 	0xa3, 0x4b, 0xea, 0xf5, 0x11, 0x3a, 0xb9, 0xfd, 0xdc, 0x6b, 0xa7, 0xeb,
5752 	0x26, 0x8f, 0x75, 0x0f, 0x4f, 0x93, 0x2e, 0xd7, 0x5e, 0x73, 0xad, 0x43,
5753 	0xa2, 0x4f, 0x5f, 0x99, 0x99, 0xc0, 0x4a, 0x5a, 0x10, 0x6c, 0x4e, 0x74,
5754 	0x8c, 0xd8, 0xab, 0xb9, 0xe9, 0x7e, 0xc4, 0x90, 0x41, 0x20, 0x23, 0xeb,
5755 	0x0f, 0x5b, 0xbc, 0x79, 0x94, 0x7f, 0x76, 0x1c, 0x7a, 0x9e, 0xe7, 0x9d,
5756 	0xb8, 0xe3, 0x5f, 0x9f, 0xb5, 0x25, 0x29, 0xd1, 0xb0, 0xbc, 0x0d, 0x68,
5757 	0x5f, 0x94, 0x19, 0xcd, 0xd6, 0x80, 0xa2, 0x92, 0xab, 0xd0, 0x85, 0xab,
5758 	0x58, 0x25, 0xb2, 0xdb, 0xe0, 0x84, 0xec, 0x6c, 0xb6, 0xaa, 0xca, 0x23,
5759 	0xda, 0x9f, 0x02, 0x73, 0x45, 0x8e, 0xe6, 0xf1
5760 };
5761 static const uint8_t nist_186_2_ecdsa_testvector_129_private[] = {
5762 /* d - byte alignment */
5763 	0x00, 0x00, 0x6d, 0xff, 0xc3, 0xf5, 0x92, 0x2c, 0x17, 0xfa, 0x81, 0x38,
5764 	0xf0, 0x9c, 0xce, 0x93, 0x47, 0x4d, 0xfd, 0x06, 0x78, 0x6c, 0x27, 0xe2,
5765 	0x23, 0x38, 0x40, 0xb8, 0xcf, 0xd2, 0xbf, 0xf3, 0x83, 0xe1, 0xd7, 0x16,
5766 	0x2b, 0xc5, 0x94, 0xd6, 0xf9, 0x58, 0x8c, 0xf8, 0xf9, 0x65, 0x3d, 0x28,
5767 	0xa6, 0x99, 0xaa, 0x6d
5768 };
5769 static const uint8_t nist_186_2_ecdsa_testvector_129_public_x[] = {
5770 /* Qx - byte alignment */
5771 	0x01, 0x15, 0xb5, 0x99, 0x8b, 0x3a, 0xd4, 0xd8, 0x98, 0x77, 0xa0, 0x52,
5772 	0x9d, 0x63, 0x15, 0x59, 0x47, 0xfa, 0x36, 0x8f, 0xaf, 0x70, 0x90, 0x5d,
5773 	0xd2, 0xd3, 0x3b, 0x18, 0x3c, 0xb9, 0xeb, 0xef, 0x11, 0x49, 0x2d, 0x81,
5774 	0x25, 0x8c, 0xa5, 0xca, 0x3f, 0xdd, 0x7a, 0x4d, 0xa3, 0x75, 0xa9, 0x85,
5775 	0xe4, 0x75, 0xe3, 0x42
5776 };
5777 static const uint8_t nist_186_2_ecdsa_testvector_129_public_y[] = {
5778 /* Qy - byte alignment */
5779 	0x00, 0x5d, 0x00, 0x7b, 0x8f, 0xb5, 0x2d, 0x28, 0x26, 0xd0, 0x0d, 0xa4,
5780 	0x7e, 0x72, 0xd5, 0xa9, 0xaf, 0xc3, 0x69, 0xed, 0x7e, 0x30, 0x88, 0x5f,
5781 	0x65, 0xa0, 0x80, 0x87, 0xcf, 0x3c, 0x70, 0x57, 0xac, 0xed, 0xa4, 0x87,
5782 	0x00, 0x38, 0x34, 0x43, 0x5b, 0xbd, 0xc9, 0xcb, 0xd1, 0xe1, 0x41, 0x82,
5783 	0x13, 0x05, 0x01, 0xc8
5784 };
5785 /* k = 000478825379adb579470f028566011597ea6d63429a9d13e019b628e83c5b11732f2c9a430f7e8892566868e12a058ad1ce2ec */
5786 static const uint8_t nist_186_2_ecdsa_testvector_129_out[] = {
5787 /* R - byte alignment */
5788 	0x00, 0x18, 0x35, 0x4d, 0xaf, 0xae, 0x65, 0xb5, 0xed, 0x8a, 0xdb, 0xc1,
5789 	0x2b, 0x90, 0xa0, 0x96, 0xd5, 0x0d, 0x94, 0xf0, 0x39, 0xba, 0xd9, 0x56,
5790 	0x46, 0xd7, 0x7c, 0xed, 0x3c, 0x5b, 0x62, 0x06, 0xa9, 0x7b, 0x2f, 0x6b,
5791 	0x0a, 0x65, 0xa7, 0x98, 0xab, 0x14, 0x85, 0x92, 0xd0, 0x23, 0x5d, 0x79,
5792 	0xe7, 0xe5, 0xc0, 0x2d,
5793 /* S - byte alignment */
5794 	0x00, 0x2c, 0x8b, 0xaf, 0x9f, 0xd4, 0x7b, 0x26, 0xb4, 0x4c, 0x7c, 0xcb,
5795 	0x96, 0x7c, 0x36, 0xa5, 0xbd, 0xc5, 0x49, 0x21, 0x5e, 0x72, 0x90, 0x5f,
5796 	0x3a, 0x77, 0xb9, 0xd5, 0x70, 0x05, 0x83, 0x2a, 0xcc, 0x65, 0xe5, 0x4b,
5797 	0x7e, 0x1d, 0x22, 0x84, 0x83, 0x8c, 0xf4, 0x1f, 0x7f, 0x78, 0x8f, 0x87,
5798 	0x8d, 0x85, 0xc2, 0xf9
5799 };
5800 static const uint8_t nist_186_2_ecdsa_testvector_130_ptx[] = {
5801 /* Msg */
5802 	0x79, 0x63, 0x32, 0x4b, 0xdf, 0x37, 0xe2, 0xfb, 0xd0, 0xa1, 0x31, 0xad,
5803 	0x26, 0xa0, 0x70, 0x79, 0x63, 0x3e, 0xd2, 0xd8, 0xf5, 0xc4, 0xd2, 0x6e,
5804 	0xb9, 0x2a, 0xcf, 0x26, 0xbd, 0xd1, 0xf9, 0x84, 0x4a, 0x75, 0x71, 0x37,
5805 	0x22, 0x5d, 0xac, 0xee, 0x06, 0xd4, 0x19, 0x6d, 0x7b, 0xdd, 0x03, 0xe0,
5806 	0xce, 0x23, 0xb8, 0x6f, 0x56, 0x2f, 0xeb, 0x12, 0xf9, 0xdd, 0x57, 0xa7,
5807 	0xf1, 0x11, 0xa5, 0x42, 0xd0, 0xa6, 0x90, 0xc4, 0xc2, 0xa7, 0x47, 0xaf,
5808 	0x13, 0xc2, 0x12, 0x38, 0xf1, 0xf9, 0x39, 0x9e, 0x72, 0x9b, 0x22, 0xbb,
5809 	0xd9, 0x73, 0xb9, 0xd9, 0x15, 0x3f, 0x14, 0xc6, 0x8a, 0x64, 0x58, 0x2b,
5810 	0x14, 0xdf, 0xd6, 0x19, 0x49, 0x7f, 0x7a, 0xe5, 0xff, 0x51, 0x66, 0x36,
5811 	0x0f, 0x5c, 0xda, 0x5c, 0x58, 0x8f, 0x57, 0xe3, 0x06, 0xf8, 0x04, 0x68,
5812 	0x14, 0x37, 0x50, 0xac, 0x0f, 0x31, 0xd9, 0xe7
5813 };
5814 static const uint8_t nist_186_2_ecdsa_testvector_130_private[] = {
5815 /* d - byte alignment */
5816 	0x00, 0x00, 0x66, 0x9a, 0x1d, 0xa4, 0xa2, 0x16, 0x9b, 0x6d, 0xdd, 0x27,
5817 	0xb0, 0x98, 0x97, 0x38, 0x7b, 0x4c, 0x64, 0x24, 0xfc, 0x4a, 0x4b, 0xab,
5818 	0x74, 0xbc, 0xf7, 0x68, 0x97, 0xe7, 0x75, 0xc0, 0x11, 0x03, 0xf6, 0x27,
5819 	0xe3, 0x57, 0x8f, 0x5d, 0xd6, 0x14, 0xf8, 0x8b, 0x80, 0x94, 0xcb, 0x47,
5820 	0x5e, 0x17, 0xf1, 0x0c
5821 };
5822 static const uint8_t nist_186_2_ecdsa_testvector_130_public_x[] = {
5823 /* Qx - byte alignment */
5824 	0x01, 0x13, 0xc1, 0x7a, 0xa3, 0xbf, 0x85, 0x86, 0x59, 0x2c, 0xed, 0x7e,
5825 	0x80, 0x2b, 0xa8, 0x71, 0x08, 0x8f, 0xfd, 0xd1, 0x7c, 0xa1, 0xe3, 0xc1,
5826 	0x28, 0xac, 0x11, 0x83, 0x83, 0x16, 0x66, 0x6f, 0x4f, 0x06, 0xd4, 0x64,
5827 	0x67, 0x76, 0x39, 0xc8, 0xc8, 0x08, 0xf6, 0x2d, 0xbd, 0xcf, 0x07, 0xdd,
5828 	0x4f, 0xa1, 0x24, 0xf0
5829 };
5830 static const uint8_t nist_186_2_ecdsa_testvector_130_public_y[] = {
5831 /* Qy - byte alignment */
5832 	0x00, 0x9b, 0x86, 0x7e, 0x2e, 0x29, 0x60, 0x8a, 0xad, 0x63, 0x5b, 0xb2,
5833 	0x57, 0xb2, 0xa2, 0x4f, 0x71, 0x39, 0x5c, 0x8e, 0x6a, 0x22, 0xbb, 0xef,
5834 	0x60, 0x8a, 0xf9, 0x38, 0x19, 0x75, 0x44, 0x99, 0xf9, 0x1d, 0xe4, 0xc3,
5835 	0x37, 0xed, 0x21, 0xed, 0x81, 0xd1, 0x65, 0xe9, 0xcf, 0xa9, 0x71, 0x57,
5836 	0xa3, 0xa0, 0xc8, 0xde
5837 };
5838 /* k = 000033608dd88995c994f72266cfff53c4901a04560f9c5b33f9478ed32461ea3a28d67634a8fbaf497d315e1a2b178300fde2e */
5839 static const uint8_t nist_186_2_ecdsa_testvector_130_out[] = {
5840 /* R - byte alignment */
5841 	0x00, 0x72, 0xea, 0xaf, 0xde, 0xfd, 0x9a, 0xfd, 0x85, 0x76, 0xf0, 0xda,
5842 	0x99, 0x93, 0x3a, 0x9c, 0xf4, 0x51, 0x36, 0xb7, 0x3c, 0xb7, 0xd7, 0xa1,
5843 	0x15, 0xa5, 0x83, 0xd3, 0x7e, 0xe6, 0x44, 0x20, 0xeb, 0x4d, 0x51, 0x92,
5844 	0xb4, 0x33, 0x2a, 0x84, 0x6f, 0xa1, 0xc3, 0x81, 0xaa, 0x37, 0xec, 0xda,
5845 	0x89, 0x66, 0x20, 0xfc,
5846 /* S - byte alignment */
5847 	0x00, 0x34, 0x96, 0x3b, 0x47, 0xf5, 0x28, 0x9b, 0xd9, 0x81, 0xe2, 0x3b,
5848 	0xff, 0x06, 0xa2, 0x15, 0xa7, 0xfe, 0x97, 0x55, 0xa1, 0xf8, 0xcf, 0xa7,
5849 	0xb2, 0x90, 0x2b, 0xb8, 0x30, 0xa0, 0xb1, 0x0e, 0xa1, 0x51, 0xa0, 0x0a,
5850 	0x6e, 0x98, 0x4b, 0xcb, 0xef, 0x13, 0x7d, 0x06, 0xdf, 0xf0, 0x11, 0xd4,
5851 	0xfd, 0xd8, 0x72, 0x3d
5852 };
5853 static const uint8_t nist_186_2_ecdsa_testvector_131_ptx[] = {
5854 /* Msg */
5855 	0x59, 0xa4, 0x50, 0xd6, 0x16, 0x92, 0x56, 0x92, 0xb8, 0x66, 0xec, 0xdb,
5856 	0xfd, 0x74, 0x63, 0xcc, 0x64, 0xd4, 0xc7, 0x54, 0xed, 0x13, 0xc0, 0x8c,
5857 	0x20, 0x28, 0xb6, 0x48, 0x50, 0xaa, 0x38, 0xed, 0x21, 0x40, 0x9f, 0x82,
5858 	0x48, 0x58, 0xee, 0x09, 0x92, 0x1c, 0xfd, 0x0f, 0x28, 0xa1, 0xd7, 0x82,
5859 	0x11, 0x62, 0x60, 0xc3, 0xf8, 0xee, 0x3b, 0xfc, 0x30, 0xdd, 0xea, 0xb4,
5860 	0xf5, 0x08, 0x37, 0xa0, 0xf5, 0xfa, 0xd3, 0xbc, 0x0f, 0xa1, 0x3e, 0x9b,
5861 	0x5a, 0x49, 0xe6, 0xfb, 0x69, 0xcc, 0x93, 0x9d, 0xcd, 0x02, 0x02, 0x54,
5862 	0xdc, 0x7f, 0xd0, 0x5b, 0xb1, 0x7e, 0x9b, 0xeb, 0x74, 0x18, 0x63, 0x0d,
5863 	0xdc, 0xba, 0x36, 0xae, 0xf1, 0xd5, 0x0c, 0xf1, 0x17, 0xd7, 0xf0, 0xc9,
5864 	0x48, 0x5b, 0x60, 0xc6, 0xa1, 0x9c, 0xf7, 0x2f, 0x20, 0x30, 0x49, 0x52,
5865 	0xac, 0xf3, 0x0f, 0x18, 0x55, 0x41, 0x84, 0xdc
5866 };
5867 static const uint8_t nist_186_2_ecdsa_testvector_131_private[] = {
5868 /* d - byte alignment */
5869 	0x00, 0x00, 0x11, 0x82, 0x52, 0x18, 0x93, 0xfe, 0x9b, 0xbd, 0xab, 0x3d,
5870 	0x51, 0x7b, 0x99, 0x2c, 0xe4, 0xc8, 0xb5, 0xb9, 0x13, 0x44, 0x9a, 0x1e,
5871 	0x8a, 0x64, 0x6d, 0x46, 0x82, 0x6e, 0x3d, 0x39, 0x2c, 0x9e, 0xd8, 0x37,
5872 	0x9f, 0x1f, 0xab, 0x71, 0x24, 0x31, 0x27, 0xf0, 0xf3, 0x7f, 0x9b, 0xcc,
5873 	0xdc, 0x48, 0xb3, 0xab
5874 };
5875 static const uint8_t nist_186_2_ecdsa_testvector_131_public_x[] = {
5876 /* Qx - byte alignment */
5877 	0x00, 0x22, 0xda, 0x40, 0x19, 0x4e, 0x34, 0xf7, 0xa1, 0xe5, 0x15, 0xaf,
5878 	0x92, 0x19, 0x73, 0xe3, 0x36, 0x60, 0xb2, 0xcf, 0x4f, 0xc1, 0xbc, 0xee,
5879 	0xbf, 0x3f, 0xf9, 0x42, 0x4c, 0xf7, 0x52, 0x84, 0x63, 0x75, 0x7f, 0xcd,
5880 	0x25, 0x8e, 0xd2, 0x58, 0x42, 0xa1, 0xdf, 0xc3, 0x96, 0x2d, 0xd3, 0xcc,
5881 	0x7b, 0x09, 0x86, 0xee
5882 };
5883 static const uint8_t nist_186_2_ecdsa_testvector_131_public_y[] = {
5884 /* Qy - byte alignment */
5885 	0x00, 0x99, 0x30, 0x3a, 0x1c, 0x50, 0x7e, 0x07, 0x97, 0xd5, 0xac, 0x19,
5886 	0xd2, 0xb6, 0xfc, 0x42, 0xec, 0xfd, 0xed, 0x12, 0x70, 0xa1, 0x63, 0xa9,
5887 	0x5e, 0x51, 0x53, 0xe8, 0xbd, 0xa4, 0x84, 0xc3, 0x26, 0x30, 0x03, 0xcd,
5888 	0xcb, 0x4b, 0x4c, 0xeb, 0xfb, 0xca, 0x2d, 0x0b, 0x4b, 0x07, 0x66, 0x45,
5889 	0x16, 0xd9, 0x19, 0x43
5890 };
5891 /* k = 000591d2484fd67a396b07bdd351d61b66eb791e22991530de6fce16be730a95af789789bf86dcffe8d3e49af64fcd7aa026d0e */
5892 static const uint8_t nist_186_2_ecdsa_testvector_131_out[] = {
5893 /* R - byte alignment */
5894 	0x00, 0x6c, 0x33, 0x31, 0xc5, 0x87, 0x19, 0x7e, 0x5d, 0x4b, 0x74, 0x02,
5895 	0x99, 0x39, 0xd9, 0xc0, 0x8b, 0xd0, 0x65, 0xed, 0x5b, 0x03, 0x16, 0x1e,
5896 	0xfa, 0xc2, 0x49, 0x5d, 0x2e, 0x86, 0x41, 0x55, 0xf2, 0x02, 0x0c, 0x52,
5897 	0xb1, 0xbf, 0xdf, 0xa1, 0x13, 0x20, 0x74, 0x86, 0x4b, 0x29, 0x5f, 0xe4,
5898 	0x5b, 0xe3, 0x07, 0x07,
5899 /* S - byte alignment */
5900 	0x00, 0x38, 0x08, 0x1e, 0x2c, 0x12, 0x60, 0x31, 0x1d, 0xd1, 0xb7, 0x53,
5901 	0x3d, 0xf3, 0x14, 0x55, 0xe0, 0xf9, 0x7f, 0x98, 0x89, 0x22, 0x5e, 0x73,
5902 	0x6c, 0x81, 0xd7, 0x61, 0xb9, 0x74, 0xdd, 0x6c, 0xd0, 0x62, 0xd9, 0x58,
5903 	0x6c, 0x6c, 0x4f, 0x93, 0xf9, 0x0b, 0x15, 0xfb, 0xa9, 0xb8, 0x86, 0x42,
5904 	0x89, 0x32, 0x70, 0xac
5905 };
5906 static const uint8_t nist_186_2_ecdsa_testvector_132_ptx[] = {
5907 /* Msg */
5908 	0x31, 0x04, 0x25, 0x69, 0x53, 0x62, 0x01, 0x2e, 0x38, 0x55, 0x7b, 0x02,
5909 	0x37, 0x2e, 0xb4, 0x54, 0x8f, 0x7c, 0x06, 0xe0, 0x9d, 0x78, 0xe0, 0x31,
5910 	0x53, 0xa0, 0xd1, 0x64, 0xe5, 0xa1, 0xe2, 0x30, 0xc5, 0x7a, 0x29, 0x23,
5911 	0xd2, 0xdf, 0x9b, 0x2e, 0xcd, 0xdb, 0x22, 0x64, 0x0c, 0xba, 0xf0, 0xff,
5912 	0x72, 0x26, 0x12, 0xa4, 0x9e, 0x90, 0x48, 0xe8, 0x63, 0xd2, 0x14, 0x12,
5913 	0x78, 0x12, 0x11, 0x22, 0x71, 0xe9, 0x86, 0x13, 0xee, 0xc4, 0x3b, 0x5e,
5914 	0x13, 0x8b, 0x8b, 0xbf, 0x38, 0x81, 0xbb, 0x3b, 0xe1, 0x6c, 0x8a, 0x62,
5915 	0xf0, 0xf5, 0x09, 0xd2, 0x19, 0x51, 0xad, 0xfc, 0x97, 0x21, 0xa3, 0x2b,
5916 	0x1d, 0x97, 0x63, 0xc2, 0x10, 0xdb, 0x88, 0xc4, 0xf3, 0xad, 0xdf, 0x9a,
5917 	0x23, 0x4b, 0xbe, 0x11, 0xc4, 0x95, 0x97, 0xa3, 0xfb, 0x6f, 0xcc, 0xf7,
5918 	0x5d, 0x67, 0xc5, 0xab, 0xa8, 0x98, 0x41, 0x50
5919 };
5920 static const uint8_t nist_186_2_ecdsa_testvector_132_private[] = {
5921 /* d - byte alignment */
5922 	0x00, 0x00, 0x39, 0xe1, 0x29, 0x56, 0xad, 0xcc, 0x35, 0x0f, 0xea, 0x48,
5923 	0x18, 0xe4, 0x65, 0xef, 0xde, 0x85, 0x1d, 0xfa, 0x14, 0x0d, 0xa9, 0x82,
5924 	0x2f, 0xde, 0x7a, 0x26, 0xe2, 0xd7, 0xf7, 0x4d, 0x65, 0x1e, 0x59, 0x77,
5925 	0x1e, 0x3f, 0xa0, 0x89, 0xb7, 0x6c, 0xaf, 0x73, 0x22, 0x38, 0xd5, 0xc9,
5926 	0x82, 0x6d, 0xbe, 0x66
5927 };
5928 static const uint8_t nist_186_2_ecdsa_testvector_132_public_x[] = {
5929 /* Qx - byte alignment */
5930 	0x00, 0xb2, 0x5d, 0x8a, 0xf0, 0x8e, 0x3e, 0x91, 0xac, 0x51, 0x98, 0x5a,
5931 	0x2b, 0x0f, 0xd4, 0x37, 0xbf, 0x32, 0xf9, 0x1b, 0x2c, 0x87, 0x6f, 0x68,
5932 	0xbd, 0x7a, 0x19, 0x94, 0x17, 0xeb, 0xc0, 0x75, 0x59, 0x3f, 0x09, 0xba,
5933 	0x5c, 0xcf, 0x90, 0xf1, 0x41, 0x26, 0x60, 0x34, 0x75, 0x5a, 0x03, 0x2b,
5934 	0xeb, 0x78, 0x4c, 0x28
5935 };
5936 static const uint8_t nist_186_2_ecdsa_testvector_132_public_y[] = {
5937 /* Qy - byte alignment */
5938 	0x01, 0xe2, 0x2e, 0x1d, 0xc5, 0xe4, 0xfb, 0x11, 0x19, 0xc3, 0x30, 0x3e,
5939 	0x6f, 0x33, 0x77, 0xc2, 0x26, 0x10, 0x01, 0xcd, 0xbb, 0xa9, 0x5f, 0xd4,
5940 	0xa4, 0x96, 0x90, 0xb6, 0x26, 0xaf, 0x4a, 0xdb, 0x0f, 0x92, 0xd5, 0xb3,
5941 	0x71, 0x82, 0x1d, 0x9b, 0xfe, 0x6d, 0xcd, 0xcf, 0x83, 0xff, 0x89, 0x40,
5942 	0x27, 0xaf, 0xbc, 0x19
5943 };
5944 /* k = 000572dba48019e2779fadeae40f8efcc690aa39811814f5218781382e2e4460da443d2a81eff5d0aabbb37693408e0a45e1964 */
5945 static const uint8_t nist_186_2_ecdsa_testvector_132_out[] = {
5946 /* R - byte alignment */
5947 	0x00, 0x04, 0xac, 0x35, 0x7f, 0xe0, 0x9a, 0x9c, 0x05, 0x36, 0x23, 0x52,
5948 	0xd0, 0xa8, 0xe7, 0xde, 0xfd, 0xf2, 0x03, 0x4e, 0x98, 0x09, 0x07, 0x3a,
5949 	0x24, 0x87, 0x10, 0x8e, 0x66, 0x64, 0x0a, 0x7b, 0x97, 0x23, 0x80, 0x53,
5950 	0x59, 0x63, 0x64, 0x3d, 0x5e, 0xfb, 0xa4, 0xe8, 0x27, 0x1c, 0x74, 0xd7,
5951 	0xaf, 0x18, 0x01, 0xbd,
5952 /* S - byte alignment */
5953 	0x00, 0x22, 0x14, 0x1c, 0x29, 0x0b, 0xcb, 0xab, 0x70, 0x9b, 0xaa, 0xb7,
5954 	0x0c, 0xa5, 0x86, 0xda, 0x85, 0x05, 0x2c, 0x1e, 0x0d, 0x94, 0xe9, 0xf6,
5955 	0xf8, 0x4e, 0x8f, 0x55, 0x15, 0x51, 0x81, 0xff, 0x7f, 0xf9, 0x9c, 0x25,
5956 	0x26, 0x6f, 0x6a, 0x35, 0xf2, 0xa7, 0x98, 0xe2, 0x72, 0xe6, 0xf5, 0x5b,
5957 	0x05, 0x5e, 0x17, 0xf1
5958 };
5959 static const uint8_t nist_186_2_ecdsa_testvector_133_ptx[] = {
5960 /* Msg */
5961 	0x74, 0xb1, 0xfb, 0x86, 0x5f, 0x5d, 0xf6, 0xe1, 0xac, 0x90, 0x45, 0x78,
5962 	0x9f, 0xd7, 0x56, 0xcf, 0x35, 0x82, 0x4a, 0x5a, 0xa3, 0x4b, 0x01, 0x43,
5963 	0xfe, 0x38, 0x77, 0x67, 0x3c, 0xc2, 0x54, 0xa2, 0x5b, 0x36, 0xbe, 0x4c,
5964 	0xe0, 0x5c, 0x72, 0x03, 0x83, 0x57, 0x13, 0xab, 0x29, 0xcc, 0xc1, 0xb4,
5965 	0x12, 0x46, 0xee, 0x9b, 0x54, 0xd9, 0x6d, 0xb4, 0x88, 0x06, 0xcc, 0x26,
5966 	0xc3, 0xdf, 0xe4, 0x37, 0xc8, 0x6b, 0xae, 0xca, 0x7b, 0x4c, 0x59, 0x25,
5967 	0x99, 0x9f, 0x99, 0xf8, 0xa7, 0x24, 0x41, 0x9b, 0x28, 0x9f, 0x14, 0x98,
5968 	0x13, 0x7e, 0xd8, 0x69, 0x84, 0xbb, 0xad, 0x83, 0xb2, 0x04, 0x9d, 0x93,
5969 	0x21, 0x1a, 0x74, 0x07, 0x19, 0x77, 0xd2, 0xd0, 0x56, 0x33, 0x7e, 0x66,
5970 	0x01, 0x28, 0xfd, 0x0d, 0xdf, 0x55, 0x64, 0x58, 0xc9, 0x80, 0x6a, 0xeb,
5971 	0x5c, 0x1f, 0xc1, 0x84, 0xf1, 0x79, 0xa7, 0x3d
5972 };
5973 static const uint8_t nist_186_2_ecdsa_testvector_133_private[] = {
5974 /* d - byte alignment */
5975 	0x00, 0x00, 0x1e, 0x24, 0xd2, 0xd3, 0x63, 0x56, 0xa6, 0x4c, 0x9f, 0xe3,
5976 	0xb1, 0xb9, 0x55, 0xe9, 0x9c, 0x30, 0xf6, 0xa2, 0x23, 0xc3, 0x0b, 0xcf,
5977 	0x33, 0xf3, 0x6e, 0xeb, 0x4a, 0xa8, 0x46, 0x63, 0xf4, 0x36, 0xac, 0x02,
5978 	0x48, 0x9b, 0xe1, 0x9c, 0xe3, 0x91, 0x3c, 0xcf, 0x19, 0xca, 0xe0, 0xc6,
5979 	0xee, 0x45, 0xe6, 0x57
5980 };
5981 static const uint8_t nist_186_2_ecdsa_testvector_133_public_x[] = {
5982 /* Qx - byte alignment */
5983 	0x00, 0xe4, 0x00, 0x75, 0xcc, 0x1a, 0x8d, 0xb1, 0xdc, 0x3a, 0xe8, 0x4f,
5984 	0xb1, 0x1d, 0xf4, 0x9f, 0x0e, 0xb6, 0x4c, 0x57, 0xea, 0xcf, 0x77, 0x65,
5985 	0x5c, 0x6d, 0x4c, 0x88, 0x1d, 0x52, 0x84, 0x12, 0x7f, 0x68, 0xf9, 0x91,
5986 	0x5c, 0xbd, 0x84, 0x79, 0x7d, 0x59, 0x95, 0x93, 0x2c, 0x40, 0x3b, 0x99,
5987 	0x69, 0xe3, 0x0e, 0xaa
5988 };
5989 static const uint8_t nist_186_2_ecdsa_testvector_133_public_y[] = {
5990 /* Qy - byte alignment */
5991 	0x01, 0x71, 0x77, 0x1c, 0x3e, 0xc1, 0x82, 0x76, 0x0c, 0x14, 0xc1, 0x10,
5992 	0xb2, 0x22, 0x4e, 0xe0, 0x29, 0x1c, 0xc2, 0x51, 0x8f, 0xa1, 0xfd, 0xcd,
5993 	0x43, 0x1e, 0x41, 0x66, 0x66, 0xe8, 0x5d, 0xac, 0x29, 0x92, 0x70, 0xe1,
5994 	0x0d, 0xe2, 0xd2, 0x02, 0x6a, 0x4f, 0xa7, 0x27, 0xa2, 0x4a, 0x3d, 0x61,
5995 	0x47, 0x5e, 0x64, 0x8c
5996 };
5997 /* k = 0000b9ce98a3e275f6b96ebeb01e29766e32057d51ff5ed2b76f0465d63988e557fde97ed3bd79ec76bf1d3f4bc466696228b99 */
5998 static const uint8_t nist_186_2_ecdsa_testvector_133_out[] = {
5999 /* R - byte alignment */
6000 	0x00, 0x41, 0x47, 0x63, 0x15, 0x8b, 0xf4, 0xa2, 0x43, 0x07, 0xe0, 0x54,
6001 	0x92, 0x9d, 0x63, 0x74, 0xa0, 0x4c, 0x9a, 0x35, 0x0d, 0x54, 0x45, 0xd1,
6002 	0x20, 0xbc, 0xca, 0x19, 0xa8, 0x23, 0x04, 0x67, 0x87, 0x0f, 0xe6, 0xc7,
6003 	0xce, 0xc6, 0x9d, 0x3d, 0xeb, 0xc1, 0x5d, 0xe8, 0xb8, 0x1d, 0xd3, 0x13,
6004 	0x3b, 0xaf, 0xde, 0xbc,
6005 /* S - byte alignment */
6006 	0x00, 0x22, 0xc4, 0xc3, 0xd8, 0xa4, 0x59, 0x33, 0xce, 0x59, 0xb7, 0x80,
6007 	0x2a, 0x35, 0xc6, 0xd2, 0xc7, 0x16, 0x01, 0x6a, 0x74, 0x66, 0x08, 0xe0,
6008 	0x23, 0x24, 0x4e, 0x42, 0xeb, 0x34, 0xde, 0x87, 0x68, 0xe9, 0xbe, 0x16,
6009 	0xeb, 0xc4, 0xe5, 0x6f, 0x9a, 0x50, 0xc1, 0xa6, 0x6a, 0x5e, 0x32, 0xd9,
6010 	0x0d, 0x4b, 0x66, 0x95
6011 };
6012 static const uint8_t nist_186_2_ecdsa_testvector_134_ptx[] = {
6013 /* Msg */
6014 	0xbd, 0xda, 0xd3, 0xed, 0xbf, 0x5a, 0x09, 0x67, 0x37, 0x7e, 0x38, 0x49,
6015 	0x84, 0xfb, 0xd2, 0x8d, 0xca, 0x38, 0x2e, 0x79, 0x42, 0x56, 0x7f, 0xc7,
6016 	0xd5, 0x6e, 0x07, 0x02, 0xea, 0x19, 0x88, 0x33, 0x7c, 0x36, 0xfc, 0xbd,
6017 	0x6f, 0xe7, 0x85, 0x86, 0x24, 0xdd, 0xa7, 0x57, 0x4b, 0xd6, 0xb5, 0x86,
6018 	0xf8, 0x63, 0x89, 0xd2, 0xf9, 0xef, 0x78, 0x8e, 0x68, 0xfd, 0x86, 0x02,
6019 	0x7c, 0xb1, 0xd5, 0x0e, 0xa4, 0x92, 0x64, 0x10, 0xd7, 0x8e, 0xf6, 0x08,
6020 	0x25, 0x3f, 0x4f, 0xfa, 0x93, 0x6c, 0xa6, 0x94, 0x25, 0xd3, 0x58, 0x11,
6021 	0x3c, 0x25, 0xda, 0x5d, 0x22, 0x53, 0xf1, 0x7a, 0xe4, 0x08, 0x25, 0x22,
6022 	0x60, 0x76, 0x73, 0xae, 0x9e, 0x56, 0x42, 0x36, 0x64, 0x2a, 0x98, 0xfa,
6023 	0x04, 0xc6, 0x8e, 0x00, 0x79, 0x0e, 0x01, 0xff, 0xb2, 0x01, 0x8b, 0x7c,
6024 	0x2e, 0xf7, 0xb1, 0x33, 0xc9, 0x26, 0x5e, 0xb8
6025 };
6026 static const uint8_t nist_186_2_ecdsa_testvector_134_private[] = {
6027 /* d - byte alignment */
6028 	0x00, 0x00, 0x74, 0x29, 0xb9, 0xed, 0x32, 0x37, 0x19, 0x5e, 0x77, 0x45,
6029 	0x66, 0xb7, 0xb6, 0xe3, 0xbb, 0x51, 0xdf, 0xcc, 0xe9, 0x5f, 0xbd, 0x2d,
6030 	0x6f, 0x67, 0x74, 0xa3, 0xcd, 0xc2, 0x55, 0x86, 0xae, 0x0a, 0xae, 0x09,
6031 	0xbd, 0x7e, 0xf7, 0x32, 0xc9, 0x69, 0x16, 0x15, 0xa0, 0xb3, 0x11, 0x86,
6032 	0x31, 0x33, 0xfd, 0xaf
6033 };
6034 static const uint8_t nist_186_2_ecdsa_testvector_134_public_x[] = {
6035 /* Qx - byte alignment */
6036 	0x00, 0x67, 0xdc, 0xe3, 0x69, 0x17, 0x67, 0xdc, 0x30, 0xc2, 0xaf, 0x5c,
6037 	0x39, 0x6b, 0x9d, 0xc0, 0xc8, 0x40, 0x91, 0x41, 0xc5, 0x79, 0x3c, 0xea,
6038 	0x87, 0xab, 0x8c, 0x18, 0xfd, 0xc6, 0x43, 0xf3, 0x7f, 0xac, 0x2a, 0x8c,
6039 	0xc2, 0x11, 0xe8, 0x2f, 0x9e, 0x11, 0x4d, 0x0b, 0x05, 0xce, 0xd8, 0x27,
6040 	0x25, 0x09, 0xf1, 0xe4
6041 };
6042 static const uint8_t nist_186_2_ecdsa_testvector_134_public_y[] = {
6043 /* Qy - byte alignment */
6044 	0x00, 0xda, 0x55, 0xee, 0xc9, 0x01, 0xca, 0x02, 0xad, 0x05, 0xa5, 0x59,
6045 	0x46, 0x53, 0xa3, 0x51, 0x1d, 0x7d, 0x45, 0xa5, 0x77, 0xb7, 0xf4, 0x9e,
6046 	0x3d, 0x53, 0x70, 0x41, 0xe7, 0x96, 0xed, 0xe1, 0xb0, 0x13, 0xd0, 0xeb,
6047 	0x9e, 0x5f, 0xd2, 0x49, 0x28, 0x0d, 0x59, 0xdd, 0xac, 0x85, 0xe8, 0xa0,
6048 	0xf1, 0xf7, 0x08, 0xb0
6049 };
6050 /* k = 0005c0c854e66eb2df3381f4de0f8b05e187735b4e2b329ff96dd0710edfc950eaaeb09b8b7242da5a1639300a981f6cb5e62ec */
6051 static const uint8_t nist_186_2_ecdsa_testvector_134_out[] = {
6052 /* R - byte alignment */
6053 	0x00, 0x0e, 0xbe, 0x27, 0x77, 0xcc, 0x4d, 0x7b, 0x02, 0x6a, 0xd5, 0x6d,
6054 	0x2d, 0xc0, 0x89, 0xb5, 0xd6, 0xf7, 0xb2, 0x29, 0xa2, 0xf4, 0x4f, 0x8b,
6055 	0xb5, 0x36, 0xa3, 0x21, 0x92, 0x02, 0xf8, 0xef, 0x9c, 0xe8, 0x00, 0x04,
6056 	0x06, 0xe0, 0x32, 0x86, 0x2b, 0x1c, 0xc5, 0x68, 0x5c, 0x5d, 0xf8, 0x6e,
6057 	0xba, 0x97, 0xd2, 0x30,
6058 /* S - byte alignment */
6059 	0x00, 0x58, 0xdd, 0x30, 0x1a, 0xc3, 0x66, 0xc2, 0x44, 0xd0, 0x5c, 0x06,
6060 	0x49, 0x18, 0x09, 0x53, 0x29, 0x00, 0x2a, 0x18, 0xa0, 0x82, 0x51, 0xf1,
6061 	0xbd, 0x04, 0x9a, 0x2c, 0x42, 0x21, 0xd7, 0xbe, 0xe7, 0x5e, 0x26, 0x66,
6062 	0x92, 0x37, 0xf8, 0x53, 0xd1, 0xdc, 0xab, 0x6d, 0x1d, 0x5c, 0x59, 0x7b,
6063 	0x23, 0x71, 0x2d, 0xc0
6064 };
6065 static const uint8_t nist_186_2_ecdsa_testvector_135_ptx[] = {
6066 /* Msg */
6067 	0x81, 0x73, 0xcc, 0x65, 0x1e, 0x14, 0xc1, 0x3d, 0xae, 0x61, 0x23, 0x7e,
6068 	0xfa, 0x8f, 0xa3, 0x22, 0xe7, 0x81, 0xe8, 0x42, 0xf7, 0x3c, 0x33, 0x2c,
6069 	0x12, 0x9b, 0x43, 0xb7, 0x87, 0x43, 0x76, 0xd3, 0x4e, 0xda, 0x32, 0x64,
6070 	0x90, 0x74, 0x83, 0x51, 0x68, 0x4e, 0x05, 0xd7, 0xec, 0xbf, 0x05, 0x24,
6071 	0x67, 0x6b, 0xe3, 0x21, 0xe9, 0xba, 0xba, 0x8f, 0x02, 0x89, 0x43, 0x55,
6072 	0xca, 0x1f, 0xf7, 0x18, 0x24, 0x62, 0x74, 0x0d, 0x44, 0x4a, 0x22, 0x0b,
6073 	0x6f, 0x97, 0x16, 0xe5, 0x02, 0xbf, 0x37, 0xf6, 0xb6, 0x2b, 0x9f, 0xfd,
6074 	0x22, 0xa2, 0x44, 0x2c, 0x82, 0x06, 0xd7, 0x7b, 0xb6, 0x3e, 0xec, 0x42,
6075 	0x8e, 0x73, 0x5c, 0x07, 0x44, 0x7f, 0xe7, 0x94, 0x4a, 0xa2, 0x1e, 0x4d,
6076 	0x46, 0x77, 0x81, 0xc1, 0x5c, 0x27, 0xe4, 0x7f, 0xab, 0xdd, 0x17, 0x2b,
6077 	0x1a, 0x7a, 0xc5, 0xd1, 0x54, 0x89, 0x9d, 0x78
6078 };
6079 static const uint8_t nist_186_2_ecdsa_testvector_135_private[] = {
6080 /* d - byte alignment */
6081 	0x00, 0x00, 0x2e, 0x1a, 0x6f, 0x65, 0x8a, 0x05, 0x8b, 0x79, 0xa8, 0xc0,
6082 	0x62, 0x8a, 0x93, 0xab, 0x3b, 0x35, 0xb6, 0x04, 0xce, 0xa4, 0xa9, 0x5b,
6083 	0x89, 0xe2, 0x3e, 0xf5, 0xa8, 0xf8, 0xd5, 0x7c, 0x1b, 0xda, 0xe7, 0x3f,
6084 	0x76, 0x60, 0x72, 0xca, 0x53, 0x16, 0xd0, 0x96, 0x70, 0x41, 0x7f, 0xae,
6085 	0x85, 0x46, 0xa5, 0x24
6086 };
6087 static const uint8_t nist_186_2_ecdsa_testvector_135_public_x[] = {
6088 /* Qx - byte alignment */
6089 	0x01, 0x75, 0x7b, 0xa5, 0x97, 0x3d, 0xf2, 0x80, 0x09, 0x27, 0xf7, 0x3f,
6090 	0xa4, 0x13, 0x25, 0x47, 0xe6, 0x98, 0x99, 0xb7, 0xc3, 0xf7, 0x0b, 0x82,
6091 	0xf6, 0xe7, 0x23, 0x01, 0x6a, 0xf3, 0xa2, 0x26, 0xa5, 0x26, 0xc6, 0xc1,
6092 	0x15, 0x39, 0x5e, 0x67, 0x1a, 0x59, 0x8a, 0x1b, 0xc2, 0x31, 0x78, 0x00,
6093 	0x28, 0x81, 0xb6, 0xaa
6094 };
6095 static const uint8_t nist_186_2_ecdsa_testvector_135_public_y[] = {
6096 /* Qy - byte alignment */
6097 	0x01, 0x81, 0x25, 0xaf, 0x3b, 0x70, 0x2c, 0x4a, 0x2c, 0x36, 0xeb, 0x95,
6098 	0x5c, 0x70, 0x36, 0x04, 0x29, 0xdc, 0x0b, 0xd0, 0x82, 0xc4, 0x09, 0x7c,
6099 	0x56, 0xe1, 0xae, 0x13, 0xd8, 0x3c, 0xeb, 0x53, 0xe0, 0x08, 0x03, 0xda,
6100 	0x18, 0x60, 0xea, 0xac, 0xd8, 0x57, 0x6c, 0x09, 0x2a, 0xcb, 0x91, 0x47,
6101 	0xb5, 0xc0, 0x4f, 0xe5
6102 };
6103 /* k = 0007b7c4449d744e373a38aab13ff033d14ab96dd2e56ed9a650e4e03f9a29f1ad5f788c754f3e5e90662e6277f7548051ff84e */
6104 static const uint8_t nist_186_2_ecdsa_testvector_135_out[] = {
6105 /* R - byte alignment */
6106 	0x00, 0x75, 0x00, 0x24, 0x69, 0x8e, 0xfa, 0xc4, 0xe1, 0xce, 0x6b, 0x6b,
6107 	0xc3, 0x00, 0x4e, 0x4b, 0x73, 0xf8, 0x7b, 0x7e, 0x5e, 0x22, 0x6a, 0x0e,
6108 	0x8a, 0x10, 0x02, 0xba, 0x23, 0x09, 0xa4, 0xca, 0xca, 0xb0, 0x54, 0x58,
6109 	0xdc, 0xf2, 0x40, 0x7c, 0x30, 0xff, 0x34, 0xe5, 0xf8, 0x8f, 0xbc, 0xd7,
6110 	0xd5, 0xfa, 0xfa, 0x1b,
6111 /* S - byte alignment */
6112 	0x00, 0x28, 0xae, 0xb1, 0xc4, 0x04, 0xa5, 0xc2, 0x9b, 0x3c, 0x4a, 0xa5,
6113 	0x61, 0x56, 0xab, 0x8f, 0x92, 0x0a, 0xfe, 0x25, 0xfe, 0xd6, 0x69, 0x68,
6114 	0x5d, 0xdb, 0xbc, 0x2c, 0xfc, 0x69, 0xab, 0x62, 0x5d, 0xd5, 0xed, 0xf2,
6115 	0x63, 0xab, 0xe5, 0x2b, 0x75, 0xad, 0x2c, 0x8a, 0x3d, 0x3e, 0x1d, 0xe3,
6116 	0xf0, 0x4f, 0xe3, 0xee
6117 };
6118 /* [K-571] - GP NOT SUPPORTED */
6119 static const uint8_t nist_186_2_ecdsa_testvector_136_ptx[] = {
6120 /* Msg */
6121 	0xc8, 0xca, 0x3f, 0xa3, 0xa0, 0xe0, 0x69, 0x22, 0x6c, 0xdd, 0x8f, 0x9a,
6122 	0x87, 0x43, 0x7c, 0xb9, 0xb6, 0x51, 0xc1, 0xde, 0xae, 0x79, 0x57, 0x2a,
6123 	0xd6, 0x14, 0x87, 0xda, 0x4f, 0x55, 0x07, 0xd4, 0x32, 0x7b, 0x66, 0x7f,
6124 	0x18, 0x4b, 0xa9, 0xd8, 0xe0, 0xbe, 0x37, 0xc3, 0xac, 0xf7, 0xf2, 0x9e,
6125 	0x2d, 0x77, 0xa7, 0x1c, 0x21, 0x94, 0xa8, 0x51, 0x19, 0x27, 0xb7, 0x09,
6126 	0x80, 0x86, 0x26, 0x5e, 0xd9, 0xb2, 0x3d, 0x8a, 0x48, 0xd1, 0xdc, 0xf9,
6127 	0x54, 0xde, 0x61, 0xa3, 0xeb, 0x9f, 0xcc, 0x98, 0xa6, 0xd7, 0x22, 0xdc,
6128 	0x4f, 0xbe, 0x0f, 0x76, 0xa1, 0xae, 0xce, 0xc4, 0x4e, 0x1f, 0x4e, 0x11,
6129 	0x47, 0xd5, 0x8d, 0x69, 0x37, 0x58, 0x48, 0xac, 0x50, 0xa5, 0xd7, 0xe2,
6130 	0x4b, 0x23, 0x53, 0xce, 0xaa, 0xd8, 0xf9, 0xc6, 0x41, 0xdd, 0xd3, 0xc2,
6131 	0xf4, 0x0f, 0x95, 0xb2, 0xc2, 0x08, 0xc5, 0x15
6132 };
6133 static const uint8_t nist_186_2_ecdsa_testvector_136_private[] = {
6134 /* d - byte alignment */
6135 	0x01, 0xa6, 0xfc, 0xa9, 0xb7, 0x19, 0x13, 0xac, 0xe1, 0x5d, 0xe7, 0x92,
6136 	0xbe, 0x91, 0x29, 0xdd, 0x4a, 0x25, 0xdb, 0x43, 0xfb, 0xf2, 0xee, 0x5f,
6137 	0x01, 0x97, 0xe2, 0x48, 0xa5, 0xeb, 0x31, 0x2b, 0xaf, 0x72, 0xa7, 0x84,
6138 	0x59, 0xc4, 0xb3, 0x55, 0xcb, 0x6f, 0x1f, 0x24, 0x4f, 0x05, 0x1a, 0x17,
6139 	0x26, 0xe2, 0xce, 0xe4, 0xcb, 0xcb, 0x16, 0x7e, 0x09, 0x69, 0x4a, 0x04,
6140 	0x74, 0x5b, 0xaa, 0xec, 0x61, 0x0f, 0x3a, 0xcb, 0x08, 0x7d, 0xaf, 0xa9
6141 };
6142 static const uint8_t nist_186_2_ecdsa_testvector_136_public_x[] = {
6143 /* Qx - byte alignment */
6144 	0x03, 0xb8, 0x1a, 0xc9, 0x91, 0xf6, 0x19, 0xb2, 0x14, 0xc6, 0xce, 0x1e,
6145 	0x4f, 0xb4, 0x80, 0x9d, 0x18, 0xdb, 0xc1, 0x2f, 0x8b, 0x30, 0xf8, 0x6e,
6146 	0x34, 0x92, 0xc4, 0x54, 0xbc, 0x5c, 0x22, 0x06, 0x77, 0x92, 0x68, 0x2c,
6147 	0xcd, 0xd8, 0xd5, 0x3f, 0x8f, 0xd8, 0x61, 0x32, 0x53, 0x5d, 0x73, 0x1e,
6148 	0x64, 0xcc, 0x2a, 0x85, 0x51, 0x3a, 0x86, 0x12, 0xf7, 0x52, 0x11, 0xa6,
6149 	0x0a, 0x1c, 0x47, 0x5b, 0xa1, 0x24, 0x5e, 0xd9, 0x43, 0xe4, 0xfe, 0xc5
6150 };
6151 static const uint8_t nist_186_2_ecdsa_testvector_136_public_y[] = {
6152 /* Qy - byte alignment */
6153 	0x06, 0x88, 0xb0, 0xb2, 0x58, 0xc4, 0x1f, 0xf1, 0x74, 0xad, 0xb6, 0x5c,
6154 	0x8c, 0xfd, 0x63, 0x0c, 0x88, 0xc5, 0x77, 0x17, 0x30, 0x37, 0x05, 0xd3,
6155 	0x4f, 0xd0, 0x71, 0x01, 0x40, 0xb2, 0x5c, 0x4a, 0xd2, 0x04, 0x0e, 0x40,
6156 	0x66, 0xa5, 0xbd, 0x21, 0x64, 0xf2, 0xfb, 0x98, 0xb0, 0x96, 0x2d, 0x6a,
6157 	0x88, 0x71, 0x90, 0x2d, 0x8d, 0x6e, 0xef, 0x02, 0x46, 0x0d, 0xa5, 0x7d,
6158 	0xcd, 0x92, 0xb3, 0x0e, 0x24, 0xe8, 0xd7, 0x59, 0xb1, 0x1a, 0xd6, 0x39
6159 };
6160 /* k = 17cd7b62dde55ca12e74b81a852b4f8f400fca8df8a3c03027a247dba330b08ea751d3fa704c1a6521d8494a8fc8c670fdc35208d61722bb1d4d7efe7a42c32b0afb713369fbfa0 */
6161 static const uint8_t nist_186_2_ecdsa_testvector_136_out[] = {
6162 /* R - byte alignment */
6163 	0x00, 0x31, 0x2a, 0xa5, 0x93, 0xaf, 0xe9, 0x87, 0x55, 0x4e, 0xff, 0x95,
6164 	0x66, 0x47, 0xf6, 0xc8, 0xc4, 0xa2, 0x33, 0xa9, 0xc7, 0x72, 0xd3, 0x82,
6165 	0x4b, 0x2b, 0xfb, 0x12, 0xfe, 0x9f, 0x5e, 0xfd, 0x47, 0x63, 0xc2, 0x84,
6166 	0x75, 0xcd, 0x76, 0x4f, 0x67, 0xe0, 0x94, 0x7d, 0x43, 0x94, 0x5d, 0x78,
6167 	0x38, 0x4f, 0xfb, 0xf7, 0xd9, 0xf9, 0xc4, 0x7b, 0x96, 0x77, 0xb5, 0x9d,
6168 	0xc2, 0xdf, 0xd6, 0x58, 0x77, 0xab, 0xff, 0x95, 0xe1, 0x16, 0xf1, 0x90,
6169 /* S - byte alignment */
6170 	0x00, 0x66, 0xba, 0x80, 0xd6, 0x13, 0xe9, 0x80, 0x7e, 0xc1, 0x7b, 0x46,
6171 	0xe9, 0x62, 0x53, 0x57, 0xeb, 0x5a, 0x32, 0xb3, 0xaf, 0x21, 0x96, 0x2d,
6172 	0x4e, 0xd1, 0x2a, 0x52, 0x3a, 0xf8, 0xc8, 0x4b, 0x6c, 0x5e, 0x35, 0x7b,
6173 	0xee, 0x20, 0x6c, 0xe7, 0x34, 0xf5, 0xe1, 0x96, 0x6a, 0xe5, 0xc0, 0x47,
6174 	0xe9, 0x8d, 0x56, 0xd4, 0x35, 0xc0, 0xe6, 0xa3, 0xe9, 0xb7, 0x61, 0xce,
6175 	0xf9, 0xdc, 0x57, 0x7e, 0x14, 0x5e, 0x72, 0x47, 0xe2, 0x39, 0x09, 0x1d
6176 };
6177 static const uint8_t nist_186_2_ecdsa_testvector_137_ptx[] = {
6178 /* Msg */
6179 	0x6d, 0x0b, 0x8b, 0xb0, 0x43, 0xb2, 0x5c, 0x2a, 0x4e, 0x69, 0xf8, 0x59,
6180 	0xfb, 0xf4, 0xdf, 0x4c, 0x6e, 0xf9, 0xf0, 0xf3, 0x25, 0x12, 0x30, 0xd6,
6181 	0xd8, 0x21, 0xc7, 0x06, 0xa4, 0xe4, 0x4b, 0x54, 0x69, 0xc9, 0x41, 0xc2,
6182 	0x71, 0x03, 0xe1, 0x37, 0x52, 0xdd, 0x1a, 0x77, 0x15, 0x4e, 0xd6, 0x51,
6183 	0x97, 0xce, 0x7f, 0x1b, 0x30, 0x69, 0xc2, 0x5b, 0x93, 0x12, 0x93, 0xc7,
6184 	0xf5, 0x39, 0x71, 0x70, 0x72, 0xa0, 0xeb, 0x3a, 0xac, 0x6a, 0x63, 0x8f,
6185 	0xb5, 0x75, 0x12, 0x54, 0x2f, 0xe9, 0x4c, 0x1c, 0xb1, 0x11, 0x05, 0x9c,
6186 	0x6d, 0x6a, 0x95, 0x60, 0x10, 0xfa, 0xb8, 0xbc, 0xea, 0xe3, 0xd9, 0x04,
6187 	0x4f, 0x38, 0x90, 0xff, 0x3d, 0x0f, 0x69, 0x9a, 0x3e, 0xd8, 0xe7, 0xda,
6188 	0x90, 0xed, 0xc8, 0x14, 0x84, 0x6a, 0x8b, 0x60, 0x24, 0x3e, 0x30, 0x4b,
6189 	0x18, 0x82, 0x3f, 0xcc, 0xcb, 0x0a, 0x0b, 0x7a
6190 };
6191 static const uint8_t nist_186_2_ecdsa_testvector_137_private[] = {
6192 /* d - byte alignment */
6193 	0x00, 0x31, 0xdc, 0xf1, 0xb8, 0xaf, 0x2a, 0xb6, 0x2b, 0x76, 0xe1, 0x6a,
6194 	0x99, 0x52, 0x06, 0xd2, 0x4c, 0x14, 0xae, 0x95, 0xa1, 0x36, 0x59, 0x69,
6195 	0x97, 0xb8, 0x97, 0x23, 0xcd, 0xc1, 0xbd, 0xf0, 0xbe, 0x2d, 0x1d, 0x62,
6196 	0xff, 0x6f, 0x2b, 0xeb, 0x88, 0xa5, 0x59, 0x2f, 0xcd, 0x4d, 0x88, 0xca,
6197 	0x67, 0x6a, 0x8c, 0xa2, 0xb5, 0x2c, 0xb5, 0x25, 0xa2, 0x8e, 0x91, 0xec,
6198 	0xf6, 0x49, 0x22, 0xac, 0xde, 0xf3, 0x88, 0x49, 0x49, 0x2d, 0x62, 0x3f
6199 };
6200 static const uint8_t nist_186_2_ecdsa_testvector_137_public_x[] = {
6201 /* Qx - byte alignment */
6202 	0x06, 0xcd, 0xa2, 0xb2, 0xb3, 0x0b, 0xac, 0xf5, 0xd1, 0x7f, 0x34, 0x25,
6203 	0xba, 0x7e, 0x56, 0x24, 0x15, 0x19, 0xe4, 0xe7, 0x61, 0x5c, 0x22, 0xed,
6204 	0xad, 0xc4, 0xfd, 0x0c, 0x3e, 0x73, 0x1b, 0x33, 0x5e, 0xa7, 0x4d, 0x2f,
6205 	0xc0, 0xb5, 0x11, 0x01, 0xdc, 0xd2, 0x39, 0xbc, 0xab, 0xd8, 0xab, 0xf6,
6206 	0xa1, 0x6d, 0x2b, 0x96, 0xa8, 0x5c, 0x0e, 0x39, 0xbd, 0x9a, 0x67, 0x59,
6207 	0x1b, 0xc1, 0x4c, 0x05, 0xd3, 0x17, 0x6d, 0xbc, 0xe6, 0x65, 0xa8, 0xcb
6208 };
6209 static const uint8_t nist_186_2_ecdsa_testvector_137_public_y[] = {
6210 /* Qy - byte alignment */
6211 	0x05, 0xb1, 0xe2, 0x71, 0xff, 0x46, 0x4f, 0x0e, 0x2b, 0x30, 0xee, 0xe4,
6212 	0x14, 0x47, 0xed, 0xb0, 0x65, 0xff, 0xf9, 0x37, 0x5a, 0x0c, 0x49, 0x69,
6213 	0x01, 0xc3, 0x8e, 0xf2, 0x54, 0xaa, 0x1a, 0x7d, 0x90, 0x24, 0x74, 0x1f,
6214 	0x99, 0x84, 0x1a, 0xf2, 0xaa, 0xb8, 0xe3, 0x08, 0x66, 0x23, 0x46, 0x4f,
6215 	0x23, 0x15, 0x09, 0x4c, 0x02, 0x56, 0x4f, 0x8b, 0xfe, 0x8c, 0xec, 0x30,
6216 	0xe4, 0xd6, 0xa8, 0x19, 0x51, 0xfd, 0x3b, 0x4b, 0x45, 0x81, 0x39, 0x12
6217 };
6218 /* k = 0f660a7340497ba7a7fe947d51573bc9e0cadb7890cb8f8969651467d4172efa0d201d9f19fc047177a04261794cd85e17829eb569e414b7829f07f8546b38c454a9ab124daf638 */
6219 static const uint8_t nist_186_2_ecdsa_testvector_137_out[] = {
6220 /* R - byte alignment */
6221 	0x01, 0xf4, 0x8f, 0xb9, 0xc3, 0x18, 0x15, 0x34, 0x19, 0x85, 0x9f, 0xc2,
6222 	0xe3, 0x3d, 0x42, 0x6f, 0x3d, 0x04, 0x83, 0xb6, 0x0e, 0x6f, 0x2d, 0x27,
6223 	0xb7, 0xa8, 0xef, 0xb5, 0xce, 0x70, 0xde, 0x48, 0x61, 0xe4, 0xf9, 0xbc,
6224 	0x01, 0xcc, 0xfb, 0x95, 0x7a, 0x17, 0x94, 0x13, 0x9e, 0x06, 0x91, 0x25,
6225 	0xcf, 0x25, 0xa4, 0xd4, 0x5e, 0x2b, 0xfa, 0xd1, 0x5f, 0x79, 0x77, 0x4a,
6226 	0xb9, 0x73, 0x33, 0x57, 0x79, 0xb0, 0x95, 0xea, 0xef, 0x7f, 0x06, 0xac,
6227 /* S - byte alignment */
6228 	0x01, 0x83, 0x81, 0x4e, 0x2e, 0x7d, 0xdd, 0x53, 0xaa, 0x0d, 0xd3, 0xec,
6229 	0x36, 0x89, 0x0b, 0xe7, 0x0c, 0x30, 0xd6, 0x24, 0x19, 0x21, 0x7b, 0x60,
6230 	0x74, 0x61, 0xa6, 0xfe, 0xf8, 0x28, 0x84, 0xfe, 0x91, 0xaf, 0x44, 0xee,
6231 	0xc6, 0xad, 0xd4, 0xc0, 0x58, 0x6d, 0x27, 0x2d, 0x9c, 0x57, 0x39, 0x8c,
6232 	0x3f, 0x94, 0x42, 0xa3, 0x22, 0x21, 0xed, 0x0f, 0x71, 0xd4, 0xe5, 0x84,
6233 	0x46, 0x03, 0x94, 0xcf, 0x34, 0xe0, 0x18, 0x2f, 0x0b, 0x92, 0x24, 0xbd
6234 };
6235 static const uint8_t nist_186_2_ecdsa_testvector_138_ptx[] = {
6236 /* Msg */
6237 	0x6d, 0x6b, 0x2c, 0xeb, 0x19, 0xfa, 0x08, 0xfa, 0x47, 0xa8, 0x9c, 0xae,
6238 	0x1b, 0x97, 0xc8, 0x76, 0x1c, 0xc6, 0xea, 0x49, 0x38, 0xf8, 0x02, 0x37,
6239 	0x09, 0xf1, 0x14, 0x45, 0x56, 0xe8, 0xce, 0x77, 0xdd, 0x3a, 0x6b, 0x2e,
6240 	0x4f, 0x5c, 0xd7, 0xb4, 0x9d, 0x13, 0x14, 0x16, 0x72, 0xe7, 0xdc, 0x32,
6241 	0x00, 0xd5, 0x88, 0x10, 0x00, 0x44, 0x30, 0x76, 0xf4, 0x3a, 0x14, 0xb6,
6242 	0xb0, 0xd0, 0x3a, 0xcb, 0x18, 0xe3, 0x59, 0xa4, 0x2b, 0x0d, 0xf6, 0xc0,
6243 	0x41, 0xd3, 0xcd, 0xfb, 0x90, 0x20, 0x72, 0xa8, 0xf5, 0xf3, 0x38, 0xdf,
6244 	0xf2, 0x54, 0x52, 0x18, 0xf3, 0x8c, 0x38, 0xf9, 0xd5, 0x95, 0x4d, 0x6d,
6245 	0xa8, 0xd0, 0xbe, 0xf6, 0xb4, 0xf6, 0xad, 0x44, 0xbb, 0x51, 0x8f, 0x06,
6246 	0x7e, 0x2c, 0xd2, 0x00, 0x82, 0x88, 0xc3, 0x5e, 0x14, 0x10, 0xb0, 0x48,
6247 	0x8b, 0x4f, 0x49, 0xb6, 0xcd, 0x21, 0x4c, 0x86
6248 };
6249 static const uint8_t nist_186_2_ecdsa_testvector_138_private[] = {
6250 /* d - byte alignment */
6251 	0x01, 0x45, 0x45, 0x6a, 0x77, 0x55, 0x32, 0x1b, 0x3c, 0xbc, 0x7b, 0xf9,
6252 	0x9e, 0x06, 0x12, 0xa8, 0xfc, 0x0a, 0x2b, 0x2d, 0x12, 0xee, 0x48, 0xb1,
6253 	0xe6, 0xb5, 0x34, 0x79, 0xb1, 0x4b, 0x0a, 0xf5, 0x61, 0xe9, 0xa9, 0xce,
6254 	0x95, 0x38, 0x6b, 0xd1, 0x33, 0x2c, 0x25, 0xaf, 0x0f, 0x35, 0x19, 0x2b,
6255 	0x13, 0x9a, 0x46, 0x7c, 0x3e, 0xbc, 0x6d, 0xf2, 0x23, 0x44, 0xc9, 0xc4,
6256 	0xdd, 0xaf, 0xe5, 0x4d, 0x9a, 0x87, 0x5e, 0xc1, 0xad, 0x34, 0xb1, 0xa4
6257 };
6258 static const uint8_t nist_186_2_ecdsa_testvector_138_public_x[] = {
6259 /* Qx - byte alignment */
6260 	0x07, 0x4a, 0x4e, 0x54, 0x6d, 0x69, 0x27, 0xb6, 0xab, 0xc9, 0xd2, 0x82,
6261 	0x6e, 0x23, 0xbb, 0x4c, 0x2d, 0x2a, 0x3a, 0x67, 0x96, 0xe8, 0x61, 0xae,
6262 	0x8f, 0x4e, 0xab, 0x8a, 0x4f, 0x90, 0x16, 0xbd, 0xa3, 0x69, 0x71, 0xe1,
6263 	0x04, 0xba, 0x38, 0xcf, 0x1a, 0xba, 0x3a, 0x4f, 0x42, 0xe4, 0x76, 0x9d,
6264 	0xad, 0x09, 0xbd, 0xa9, 0x5a, 0x75, 0x00, 0x1a, 0xe6, 0x15, 0xc5, 0x0d,
6265 	0x52, 0x79, 0x3b, 0xec, 0x9f, 0xdf, 0x77, 0x63, 0x21, 0xac, 0xd5, 0x8c
6266 };
6267 static const uint8_t nist_186_2_ecdsa_testvector_138_public_y[] = {
6268 /* Qy - byte alignment */
6269 	0x00, 0xd6, 0xf8, 0x52, 0x91, 0xc9, 0xa1, 0x41, 0x08, 0xbd, 0xbd, 0x1e,
6270 	0x57, 0xf5, 0x45, 0xac, 0xd3, 0x96, 0x02, 0x88, 0x71, 0x1d, 0x06, 0x14,
6271 	0xd7, 0x4d, 0x6c, 0xdf, 0x85, 0x06, 0x67, 0x0b, 0xcb, 0x20, 0xa6, 0x80,
6272 	0xbf, 0x6b, 0xc5, 0x34, 0xab, 0x2f, 0x82, 0xfa, 0x9d, 0x8a, 0x5a, 0xe2,
6273 	0xd6, 0x01, 0xc8, 0xb3, 0xf4, 0x7c, 0xdd, 0x5a, 0xbf, 0x01, 0x23, 0xaf,
6274 	0x80, 0xf7, 0xce, 0x4d, 0xcb, 0x98, 0xb0, 0xd8, 0x10, 0xd8, 0x52, 0x19
6275 };
6276 /* k = 1bb40f8257538fc900ce705b7ba3beab9b736871de75092547320051960fac4c531fcc7d67d849aa07ea35eb7773cd344329aa8a50c949cb2ef9e12a5cd46b4d10e02f8d4f31bb9 */
6277 static const uint8_t nist_186_2_ecdsa_testvector_138_out[] = {
6278 /* R - byte alignment */
6279 	0x00, 0x63, 0xca, 0x4a, 0xbb, 0x7e, 0x43, 0x9f, 0x90, 0xd1, 0x4d, 0x76,
6280 	0x76, 0x86, 0x91, 0x01, 0xb5, 0xcc, 0x88, 0xc0, 0xa5, 0xdd, 0x1c, 0xb9,
6281 	0x6c, 0x36, 0xef, 0x1a, 0xee, 0x9b, 0xce, 0x43, 0x13, 0x68, 0x92, 0x62,
6282 	0x20, 0xda, 0x46, 0x19, 0x5f, 0xf4, 0x64, 0x29, 0x45, 0x43, 0xfe, 0xd4,
6283 	0xce, 0x21, 0xb9, 0xfa, 0x5a, 0x50, 0x6f, 0x6e, 0x13, 0x18, 0x3c, 0x4a,
6284 	0x50, 0x52, 0xca, 0xf1, 0x0d, 0x8b, 0xd4, 0x81, 0xe5, 0x1c, 0x87, 0x1d,
6285 /* S - byte alignment */
6286 	0x01, 0xda, 0x94, 0x69, 0x30, 0xd6, 0xcf, 0x5b, 0x27, 0xe3, 0x64, 0xc1,
6287 	0x9b, 0x7a, 0x16, 0xd4, 0x70, 0x59, 0xde, 0x3a, 0x43, 0x91, 0xb9, 0x9c,
6288 	0x80, 0xd8, 0x2b, 0x35, 0x4d, 0x77, 0xde, 0x00, 0xe2, 0x70, 0xe6, 0xda,
6289 	0x67, 0x87, 0x96, 0x84, 0xfa, 0x5f, 0x51, 0x85, 0xe6, 0x39, 0x11, 0xde,
6290 	0x52, 0x1c, 0x80, 0xbf, 0xc3, 0xf4, 0x2a, 0xfd, 0x37, 0x2a, 0xd7, 0x22,
6291 	0x2f, 0xfd, 0xa1, 0xbd, 0xc2, 0x90, 0x35, 0x4f, 0x55, 0x84, 0xa2, 0x93
6292 };
6293 static const uint8_t nist_186_2_ecdsa_testvector_139_ptx[] = {
6294 /* Msg */
6295 	0x89, 0x38, 0x19, 0x18, 0xe8, 0x03, 0x41, 0x47, 0xa8, 0x1a, 0x32, 0x14,
6296 	0xa3, 0x43, 0xa8, 0x17, 0x9f, 0x7a, 0xc3, 0xc9, 0xc5, 0x94, 0x13, 0x45,
6297 	0x55, 0x22, 0xf1, 0x4b, 0x97, 0x98, 0x16, 0x8a, 0x15, 0xaf, 0x66, 0x1f,
6298 	0x07, 0x07, 0x0d, 0x59, 0x0f, 0x11, 0xcd, 0xbf, 0x26, 0x2c, 0x96, 0x54,
6299 	0xd6, 0x0e, 0x58, 0x19, 0xab, 0x66, 0x15, 0xd4, 0xe4, 0xbf, 0x3a, 0x10,
6300 	0x6d, 0xa8, 0x2f, 0x65, 0x12, 0x12, 0x2d, 0xf9, 0xed, 0xf9, 0x50, 0x47,
6301 	0x20, 0x47, 0xed, 0x1f, 0xca, 0xf5, 0x25, 0xee, 0x33, 0x73, 0xba, 0x40,
6302 	0x4a, 0x4a, 0x22, 0x83, 0x52, 0x00, 0xda, 0x0e, 0xd8, 0x3b, 0xfd, 0x62,
6303 	0xe8, 0x2a, 0x15, 0xaf, 0x80, 0x21, 0x31, 0x9a, 0x45, 0x83, 0x38, 0x3d,
6304 	0x75, 0xe5, 0x7c, 0x6f, 0x1d, 0x70, 0x92, 0x46, 0x8c, 0x87, 0x62, 0xdb,
6305 	0x07, 0xaa, 0x7a, 0x4d, 0xbe, 0x9b, 0xa8, 0x09
6306 };
6307 static const uint8_t nist_186_2_ecdsa_testvector_139_private[] = {
6308 /* d - byte alignment */
6309 	0x01, 0xf8, 0x79, 0x9a, 0xda, 0x52, 0x27, 0x82, 0xb4, 0x25, 0x39, 0x72,
6310 	0x1c, 0x9a, 0x41, 0x87, 0x03, 0xd1, 0x75, 0xf4, 0xfa, 0x72, 0xe9, 0x8f,
6311 	0x73, 0x87, 0x74, 0xd6, 0x8e, 0x02, 0x6f, 0xf6, 0x0d, 0x57, 0xa0, 0x39,
6312 	0x70, 0xb2, 0xf6, 0x07, 0xc9, 0xce, 0x6d, 0x32, 0x6d, 0x6f, 0xad, 0x7e,
6313 	0x1c, 0x86, 0x5f, 0x15, 0x1e, 0x89, 0xf7, 0xa3, 0x33, 0x3e, 0xa6, 0xfc,
6314 	0xfc, 0x9c, 0x51, 0xd1, 0xeb, 0xe6, 0xf6, 0xaa, 0xfd, 0x9f, 0xf9, 0xfc
6315 };
6316 static const uint8_t nist_186_2_ecdsa_testvector_139_public_x[] = {
6317 /* Qx - byte alignment */
6318 	0x05, 0x40, 0x1a, 0x65, 0x61, 0x79, 0xf5, 0x45, 0x2b, 0x1a, 0x1f, 0xdd,
6319 	0x17, 0xe7, 0x35, 0xc6, 0xc4, 0x09, 0xa6, 0xd9, 0xbb, 0xa2, 0x99, 0xce,
6320 	0xe1, 0x66, 0xc4, 0xf4, 0xa7, 0x7f, 0xfc, 0xbb, 0x1c, 0x83, 0x3c, 0x18,
6321 	0x54, 0xb7, 0xc0, 0x99, 0x07, 0x3e, 0x2d, 0x16, 0xce, 0x24, 0xac, 0xfd,
6322 	0x02, 0x68, 0xaf, 0x65, 0xc3, 0x56, 0x6e, 0xf3, 0xdd, 0xe7, 0x96, 0x61,
6323 	0xee, 0xd1, 0x8b, 0x58, 0x64, 0xaa, 0x94, 0xd0, 0x27, 0x7c, 0x1f, 0x12
6324 };
6325 static const uint8_t nist_186_2_ecdsa_testvector_139_public_y[] = {
6326 /* Qy - byte alignment */
6327 	0x05, 0x6a, 0xf9, 0x9d, 0x03, 0xe7, 0x22, 0x2d, 0x03, 0x3c, 0x30, 0x91,
6328 	0x42, 0x30, 0x01, 0x88, 0xdd, 0xf4, 0xfa, 0x52, 0xfb, 0xdc, 0x46, 0xe7,
6329 	0xbe, 0xe8, 0xe3, 0x74, 0x49, 0x00, 0x86, 0xa8, 0xeb, 0x4f, 0xc9, 0x1f,
6330 	0xdb, 0xab, 0x67, 0xe5, 0xaa, 0x55, 0xd9, 0xfd, 0x80, 0x91, 0xe1, 0x40,
6331 	0x12, 0x93, 0xeb, 0x96, 0x3b, 0x2c, 0x14, 0x5b, 0x52, 0xc7, 0xfa, 0xa3,
6332 	0x8d, 0x80, 0x12, 0xe8, 0x85, 0xbe, 0xaf, 0x15, 0x5e, 0xca, 0x7a, 0x4b
6333 };
6334 /* k = 1bd9d3ecf3ac1c7b8c1631d9647222372d6830e81b880f1dc86a23a24849d7eb3602d970b7cffb138023702ca02164cc62f526daec5158619ea8b79f2384b60ab4ddf034d2c5f28 */
6335 static const uint8_t nist_186_2_ecdsa_testvector_139_out[] = {
6336 /* R - byte alignment */
6337 	0x01, 0x4c, 0x44, 0xb4, 0x90, 0xdb, 0x92, 0x39, 0x26, 0xbd, 0x9b, 0x39,
6338 	0x6f, 0x7e, 0xfb, 0xab, 0xd1, 0x11, 0xa6, 0x2a, 0x98, 0x13, 0xeb, 0x4b,
6339 	0x86, 0x95, 0xb0, 0x87, 0x95, 0x80, 0x22, 0x26, 0x3b, 0x10, 0xdd, 0xd9,
6340 	0x96, 0x4b, 0x0e, 0xc2, 0x20, 0x1c, 0x0f, 0xb5, 0x47, 0x77, 0x45, 0x86,
6341 	0x55, 0x3f, 0x9e, 0x09, 0xe2, 0x33, 0x97, 0x5e, 0x85, 0xcb, 0x74, 0x98,
6342 	0xa9, 0xeb, 0x69, 0x01, 0x76, 0x8f, 0xea, 0x70, 0xfa, 0x53, 0x0d, 0x42,
6343 /* S - byte alignment */
6344 	0x01, 0x79, 0x72, 0xbf, 0x17, 0xf9, 0xa7, 0x52, 0x9b, 0xdb, 0x84, 0xe2,
6345 	0xbb, 0xd7, 0x6c, 0x95, 0x72, 0x17, 0x6f, 0x3c, 0x02, 0x17, 0xaf, 0x1f,
6346 	0x98, 0x19, 0xd2, 0x16, 0xd8, 0x71, 0xff, 0x91, 0xb4, 0xdc, 0xc0, 0x90,
6347 	0xc3, 0x93, 0xee, 0xc2, 0x76, 0x62, 0xf4, 0xb2, 0x72, 0xa5, 0xe0, 0x70,
6348 	0x60, 0xb6, 0xd6, 0xf4, 0xf4, 0xe5, 0x72, 0x96, 0x2b, 0xc4, 0xec, 0x3f,
6349 	0x70, 0xd5, 0x2b, 0x73, 0x1c, 0xb6, 0x54, 0xeb, 0x3b, 0x3f, 0xa7, 0x08
6350 };
6351 static const uint8_t nist_186_2_ecdsa_testvector_140_ptx[] = {
6352 /* Msg */
6353 	0x43, 0x78, 0x26, 0x28, 0x31, 0x57, 0xd8, 0x6b, 0x9f, 0xab, 0x3c, 0x58,
6354 	0xcb, 0x8f, 0x9a, 0x6a, 0x53, 0xf8, 0x99, 0xf7, 0x49, 0x83, 0xfa, 0x11,
6355 	0x85, 0x71, 0x86, 0xab, 0x3f, 0xef, 0x45, 0xfc, 0xdd, 0x9b, 0xf1, 0x29,
6356 	0x09, 0x45, 0xaa, 0x1e, 0x07, 0xf2, 0xeb, 0xbc, 0x45, 0x27, 0xbd, 0x3a,
6357 	0x34, 0x64, 0x2b, 0xc5, 0x57, 0xee, 0xf5, 0x6a, 0x9a, 0xd1, 0x89, 0x36,
6358 	0xe4, 0x26, 0x2e, 0x9c, 0xef, 0x92, 0x83, 0x16, 0x58, 0x0f, 0x28, 0x0f,
6359 	0xf2, 0xef, 0xbb, 0x01, 0x60, 0x1e, 0x06, 0xdb, 0xe3, 0xa7, 0x76, 0xa5,
6360 	0x70, 0x79, 0xcf, 0x66, 0x06, 0x6c, 0x1f, 0x46, 0x3e, 0x7f, 0xf1, 0xf0,
6361 	0x24, 0x63, 0xc2, 0x3a, 0x45, 0x3e, 0xb9, 0x08, 0x09, 0xa9, 0x92, 0x6d,
6362 	0x43, 0xfa, 0xdc, 0x14, 0x07, 0xc9, 0x64, 0xdf, 0xbc, 0xad, 0xf1, 0xcd,
6363 	0x71, 0x47, 0x31, 0x21, 0x75, 0x82, 0xf4, 0xc1
6364 };
6365 static const uint8_t nist_186_2_ecdsa_testvector_140_private[] = {
6366 /* d - byte alignment */
6367 	0x01, 0x7f, 0x4f, 0xd6, 0x76, 0x9e, 0x2b, 0x06, 0xe2, 0x8a, 0xd0, 0x7b,
6368 	0x58, 0x6c, 0x88, 0x8a, 0x3f, 0xb6, 0x2d, 0x90, 0x4a, 0x79, 0x5d, 0x82,
6369 	0x97, 0x5d, 0xaf, 0x90, 0x02, 0xad, 0xda, 0x1a, 0x48, 0x12, 0xad, 0xbc,
6370 	0xa3, 0x27, 0x21, 0x52, 0x26, 0x88, 0x5d, 0x70, 0x24, 0x1d, 0xd4, 0xf5,
6371 	0xfd, 0xf6, 0xdb, 0xf5, 0xdd, 0xbc, 0x97, 0xfb, 0x43, 0x81, 0x53, 0x11,
6372 	0xd3, 0x9c, 0x82, 0xa0, 0xc3, 0xc7, 0xaf, 0xad, 0x7d, 0xf7, 0x5a, 0x83
6373 };
6374 static const uint8_t nist_186_2_ecdsa_testvector_140_public_x[] = {
6375 /* Qx - byte alignment */
6376 	0x04, 0x52, 0xd9, 0x55, 0x8a, 0x4e, 0x7c, 0x0a, 0x74, 0xfc, 0xe5, 0x1a,
6377 	0x62, 0x27, 0x00, 0x13, 0x61, 0x67, 0xe7, 0x0f, 0x07, 0xf2, 0xcb, 0x4c,
6378 	0x11, 0x3d, 0xd2, 0xdd, 0x42, 0x60, 0xf0, 0xc6, 0x63, 0x36, 0xb4, 0x0d,
6379 	0xb3, 0xc5, 0xf9, 0x00, 0xae, 0x15, 0xf9, 0x0f, 0x58, 0x0d, 0x0a, 0x2f,
6380 	0x4e, 0xe8, 0x87, 0xc1, 0x6c, 0x12, 0xc2, 0xa7, 0x00, 0x61, 0x80, 0x1a,
6381 	0x96, 0xdd, 0x6f, 0xcb, 0x89, 0xb5, 0xca, 0x13, 0x08, 0xc0, 0xba, 0x91
6382 };
6383 static const uint8_t nist_186_2_ecdsa_testvector_140_public_y[] = {
6384 /* Qy - byte alignment */
6385 	0x06, 0x08, 0xfa, 0x08, 0xed, 0xe3, 0x83, 0x3a, 0x0a, 0xce, 0xba, 0xb0,
6386 	0x03, 0xb9, 0xc2, 0x2c, 0x43, 0x7e, 0x7a, 0x2b, 0x2a, 0x25, 0x20, 0xb1,
6387 	0x50, 0x33, 0xbf, 0x4f, 0x9e, 0x94, 0x3f, 0x2f, 0x77, 0x6b, 0x3e, 0xdc,
6388 	0x55, 0xa6, 0xcc, 0x41, 0x2c, 0xf6, 0x08, 0x9f, 0x0c, 0x48, 0x65, 0x64,
6389 	0xc3, 0x71, 0x8c, 0x4a, 0x15, 0x41, 0x48, 0x6b, 0x79, 0x24, 0xe8, 0x60,
6390 	0x5d, 0x72, 0xc5, 0x91, 0x80, 0x7c, 0x1c, 0x83, 0xbd, 0x09, 0xf9, 0x34
6391 };
6392 /* k = 07d322958bb1c35a57a5c12b9791419a127a7731d550acb027bebe102140e1ecb72cb7f986e930320733dbbe7d8680f221c3fea64416db7484da8270ff7b1e32be7d30e27169954 */
6393 static const uint8_t nist_186_2_ecdsa_testvector_140_out[] = {
6394 /* R - byte alignment */
6395 	0x01, 0xd8, 0x56, 0x2a, 0xb3, 0x89, 0x78, 0xd1, 0xdd, 0x6a, 0x64, 0xd8,
6396 	0x23, 0xf9, 0x4c, 0x1a, 0xd5, 0xbe, 0x5d, 0xd4, 0x1e, 0x78, 0x5d, 0xd9,
6397 	0x1f, 0x2e, 0xb5, 0xc5, 0x20, 0x42, 0x0e, 0x4e, 0xdc, 0x4d, 0xec, 0xfc,
6398 	0x2e, 0xb6, 0x9e, 0x4a, 0x43, 0xe3, 0x22, 0x41, 0xb9, 0xbb, 0x5a, 0x41,
6399 	0x77, 0x22, 0xac, 0xeb, 0xad, 0x1c, 0x5f, 0x43, 0x98, 0x30, 0x0f, 0xde,
6400 	0xc3, 0x47, 0x35, 0xeb, 0x22, 0x97, 0x43, 0xd4, 0x14, 0x75, 0xfd, 0xcc,
6401 /* S - byte alignment */
6402 	0x00, 0xd7, 0xa8, 0xfe, 0x30, 0x04, 0x07, 0x2c, 0x40, 0xbe, 0xd0, 0x3c,
6403 	0xc2, 0xbf, 0x7f, 0x32, 0x9d, 0xef, 0x7e, 0xb2, 0x90, 0x44, 0x37, 0x2b,
6404 	0xd8, 0x3c, 0x6b, 0xeb, 0xa0, 0xbb, 0x6c, 0xab, 0x90, 0xec, 0xb8, 0x6c,
6405 	0x94, 0x32, 0xa0, 0xbc, 0xb8, 0x25, 0xce, 0xce, 0x47, 0x19, 0x00, 0xc0,
6406 	0xe6, 0x0a, 0xad, 0x50, 0x4d, 0xac, 0xc7, 0xd4, 0x6f, 0x63, 0x27, 0x68,
6407 	0x2d, 0xc4, 0xc8, 0x51, 0x24, 0x83, 0xcf, 0x47, 0x6f, 0xc8, 0x3d, 0xb5
6408 };
6409 static const uint8_t nist_186_2_ecdsa_testvector_141_ptx[] = {
6410 /* Msg */
6411 	0xbe, 0xd6, 0xe6, 0x9f, 0xe6, 0x2e, 0xae, 0x11, 0x73, 0x1e, 0x55, 0xf7,
6412 	0x70, 0x5a, 0x50, 0x43, 0x1a, 0xf7, 0xea, 0x62, 0x36, 0x74, 0x39, 0x63,
6413 	0xa8, 0xfa, 0x50, 0x5c, 0x42, 0xe3, 0xb6, 0x09, 0xda, 0x7a, 0x17, 0xb7,
6414 	0x9f, 0x01, 0x3a, 0x60, 0xad, 0xf9, 0x33, 0x18, 0xde, 0x9d, 0xda, 0xa7,
6415 	0xe3, 0xb0, 0x7b, 0x78, 0x94, 0x78, 0xcf, 0xb2, 0x85, 0x0b, 0x2b, 0xa4,
6416 	0xda, 0xc9, 0xf8, 0x66, 0x5c, 0x2a, 0x63, 0xbd, 0xcc, 0xba, 0x55, 0x40,
6417 	0x77, 0x61, 0xa6, 0xb9, 0x0a, 0xe8, 0x8e, 0xce, 0xa8, 0xb9, 0x5c, 0xe1,
6418 	0x3a, 0xe6, 0x6a, 0x34, 0x06, 0x6d, 0x50, 0x51, 0x84, 0xbb, 0x58, 0xa9,
6419 	0x6c, 0x6e, 0x32, 0x7b, 0x14, 0x5f, 0xe9, 0xf7, 0xf9, 0xe0, 0x16, 0xa4,
6420 	0x9b, 0x42, 0x54, 0xff, 0x8f, 0x9b, 0xf3, 0x65, 0xcf, 0xc5, 0xf1, 0x32,
6421 	0x54, 0xaa, 0x25, 0x2b, 0xe7, 0xbf, 0xbe, 0x19
6422 };
6423 static const uint8_t nist_186_2_ecdsa_testvector_141_private[] = {
6424 /* d - byte alignment */
6425 	0x00, 0x6d, 0xdd, 0xac, 0x33, 0x80, 0xd7, 0x99, 0x85, 0x0f, 0xb7, 0xe2,
6426 	0xd2, 0xc8, 0x71, 0x35, 0x47, 0xf7, 0x6b, 0x30, 0x92, 0x4b, 0xa7, 0xa3,
6427 	0xc2, 0xa0, 0x51, 0x10, 0x52, 0xe0, 0x63, 0x51, 0xe0, 0xc2, 0x10, 0x51,
6428 	0x79, 0xd5, 0xb4, 0x30, 0xad, 0x3e, 0xa9, 0xbe, 0x3d, 0xa5, 0x1a, 0x8d,
6429 	0x4f, 0x3c, 0xa9, 0x13, 0xb4, 0xa8, 0x4b, 0xfe, 0x0a, 0x4a, 0x38, 0xfc,
6430 	0xfe, 0xe6, 0xd5, 0x11, 0x71, 0x44, 0x3b, 0x31, 0x52, 0x71, 0xc5, 0x85
6431 };
6432 static const uint8_t nist_186_2_ecdsa_testvector_141_public_x[] = {
6433 /* Qx - byte alignment */
6434 	0x05, 0xb5, 0x73, 0x91, 0x18, 0xa1, 0x9a, 0xa7, 0x2e, 0xfa, 0x96, 0x97,
6435 	0x16, 0x82, 0x7f, 0xff, 0xf7, 0x4d, 0xa1, 0x7f, 0xae, 0x33, 0xdc, 0xa2,
6436 	0xe7, 0xfe, 0xbc, 0x36, 0x96, 0x6f, 0x27, 0xb5, 0x4e, 0xac, 0x18, 0xd0,
6437 	0x01, 0x8c, 0x98, 0xcf, 0xe5, 0xaa, 0x84, 0xd4, 0x54, 0x11, 0xae, 0x69,
6438 	0xc8, 0x15, 0xeb, 0x92, 0x99, 0xf0, 0x11, 0x5d, 0xc4, 0x44, 0x3f, 0xdc,
6439 	0x6d, 0x01, 0x8a, 0x38, 0x92, 0x0c, 0x63, 0x99, 0x43, 0x2c, 0xb5, 0x04
6440 };
6441 static const uint8_t nist_186_2_ecdsa_testvector_141_public_y[] = {
6442 /* Qy - byte alignment */
6443 	0x07, 0x6a, 0xa0, 0x85, 0x67, 0x97, 0xe3, 0x7b, 0x6f, 0x16, 0xf7, 0x0e,
6444 	0xb5, 0xcd, 0xd8, 0xb8, 0xef, 0x20, 0x13, 0xae, 0xcf, 0xa4, 0x4c, 0x43,
6445 	0xd4, 0x7f, 0xca, 0x5e, 0x41, 0x72, 0xd0, 0xa0, 0x35, 0x47, 0xe4, 0xf5,
6446 	0xdf, 0x2a, 0xe3, 0x61, 0x12, 0xe4, 0x0b, 0x69, 0x98, 0x40, 0xc9, 0xff,
6447 	0x1a, 0xa5, 0x9e, 0x76, 0xe3, 0xfe, 0xc8, 0x72, 0x1a, 0x01, 0xb5, 0xe5,
6448 	0xa4, 0x04, 0xda, 0xaa, 0x39, 0x58, 0x12, 0x62, 0xa2, 0x60, 0xe4, 0xb8
6449 };
6450 /* k = 030222f1352ac2444d325de02d037d8dbe9a7c40e5db167f0d76d2f805c04a1c6a4535ca435fe38628b65aeb0043dbd14d35363bd138dc8543da3646b419672f9d193e4c9383fcb */
6451 static const uint8_t nist_186_2_ecdsa_testvector_141_out[] = {
6452 /* R - byte alignment */
6453 	0x01, 0x2b, 0xbd, 0xae, 0xbe, 0x06, 0xe3, 0xf5, 0x26, 0xcc, 0x72, 0x22,
6454 	0xa8, 0x0f, 0xea, 0xc9, 0x37, 0xa1, 0x2d, 0xa5, 0xf4, 0xd7, 0x78, 0x04,
6455 	0x39, 0x58, 0x57, 0x80, 0xee, 0x52, 0x6c, 0x83, 0x8b, 0x38, 0xd2, 0x6d,
6456 	0x12, 0x65, 0x6b, 0x61, 0xf2, 0xcb, 0x5b, 0x9c, 0xf0, 0xf9, 0x6e, 0xbc,
6457 	0x64, 0x21, 0x0f, 0x29, 0xac, 0xc4, 0x01, 0x24, 0xa8, 0x93, 0x74, 0xb4,
6458 	0x27, 0xb7, 0x18, 0xfb, 0x5d, 0x0f, 0x47, 0xdb, 0x02, 0xd6, 0x7d, 0x89,
6459 /* S - byte alignment */
6460 	0x01, 0xb6, 0xd0, 0x8c, 0xc5, 0x3e, 0xbc, 0xa5, 0xd9, 0x09, 0x61, 0xa6,
6461 	0xd8, 0x7c, 0x61, 0x78, 0xc3, 0x62, 0xc4, 0xb1, 0xef, 0x2f, 0xee, 0xc3,
6462 	0x8d, 0x87, 0xac, 0x4d, 0x37, 0x92, 0x42, 0x3b, 0x83, 0x4b, 0x70, 0xce,
6463 	0xc9, 0x19, 0x47, 0xdb, 0x65, 0x05, 0xb0, 0x31, 0x9a, 0xba, 0xb7, 0xb5,
6464 	0xdb, 0x0d, 0x4d, 0x8b, 0x6e, 0xbe, 0x29, 0x0b, 0xe0, 0xb9, 0xf5, 0x6a,
6465 	0x19, 0x53, 0xd4, 0xb6, 0x1e, 0xce, 0x9e, 0xde, 0x96, 0x91, 0x45, 0xdf
6466 };
6467 static const uint8_t nist_186_2_ecdsa_testvector_142_ptx[] = {
6468 /* Msg */
6469 	0x9c, 0x1f, 0xdd, 0xc0, 0xf4, 0x33, 0x97, 0xf5, 0x68, 0xd7, 0xe2, 0xab,
6470 	0xca, 0x6e, 0x2c, 0xe1, 0x25, 0xa2, 0x04, 0x3f, 0x95, 0xed, 0x8a, 0xb5,
6471 	0x5c, 0x5e, 0x24, 0x60, 0x33, 0x9a, 0x73, 0xad, 0xde, 0x21, 0x86, 0xc0,
6472 	0x03, 0xd2, 0x4d, 0x17, 0x3c, 0xb2, 0x50, 0x6a, 0x6b, 0xe9, 0xa0, 0xd6,
6473 	0x4e, 0x0d, 0x0e, 0x3b, 0x53, 0xa3, 0x9c, 0xe3, 0xad, 0xe3, 0x31, 0x64,
6474 	0xa7, 0xbc, 0x91, 0xc7, 0x38, 0x18, 0x8b, 0xe9, 0xd8, 0x61, 0x75, 0x22,
6475 	0x93, 0x44, 0xd5, 0x25, 0x5c, 0xb5, 0x61, 0x27, 0xa3, 0x33, 0x2a, 0x44,
6476 	0x2a, 0x4d, 0x14, 0x1e, 0x14, 0x65, 0x89, 0xc7, 0x3f, 0xb4, 0x6e, 0xe1,
6477 	0xd3, 0x8e, 0x56, 0x03, 0x1b, 0xe7, 0xf6, 0x5f, 0x94, 0x17, 0xda, 0xa2,
6478 	0x44, 0xda, 0x56, 0x1c, 0x4d, 0x9b, 0xbe, 0x21, 0xc2, 0xf2, 0xd9, 0xaf,
6479 	0xb9, 0x6b, 0x94, 0x50, 0xa2, 0x89, 0xf4, 0x42
6480 };
6481 static const uint8_t nist_186_2_ecdsa_testvector_142_private[] = {
6482 /* d - byte alignment */
6483 	0x01, 0x09, 0xb0, 0x9c, 0x1b, 0xb1, 0x8f, 0x36, 0x3e, 0x67, 0x35, 0xa6,
6484 	0xd0, 0xae, 0xd4, 0xa2, 0x2e, 0x83, 0xe3, 0x3d, 0xc1, 0xf7, 0xbd, 0x74,
6485 	0xe0, 0x28, 0xd2, 0x07, 0xe2, 0xc8, 0x88, 0x37, 0x1b, 0x42, 0xd1, 0x8c,
6486 	0x37, 0x6b, 0xd5, 0x0f, 0x16, 0xdb, 0x9b, 0xef, 0x49, 0x11, 0x3f, 0xc3,
6487 	0xc0, 0x09, 0x21, 0x4c, 0xcc, 0x78, 0xb5, 0x8a, 0x73, 0x1b, 0xc0, 0x1d,
6488 	0xbe, 0x37, 0x4a, 0xfb, 0x58, 0x8f, 0x09, 0xbe, 0x08, 0xba, 0x14, 0xcc
6489 };
6490 static const uint8_t nist_186_2_ecdsa_testvector_142_public_x[] = {
6491 /* Qx - byte alignment */
6492 	0x05, 0x6e, 0xd6, 0x64, 0x95, 0xaa, 0x19, 0x9e, 0x00, 0x88, 0xfd, 0x9a,
6493 	0xe6, 0xba, 0x4a, 0xbe, 0x61, 0x71, 0xcf, 0xfe, 0x75, 0x67, 0xfb, 0x37,
6494 	0x3c, 0x59, 0x86, 0xec, 0x0f, 0xbb, 0xe6, 0xad, 0x4e, 0x8d, 0xbb, 0x90,
6495 	0x16, 0x69, 0x02, 0x81, 0xa9, 0x72, 0x89, 0xbd, 0x58, 0x96, 0x4d, 0x62,
6496 	0xf7, 0xf7, 0x84, 0x30, 0x93, 0x53, 0xbe, 0xfa, 0x0f, 0x82, 0x47, 0xbf,
6497 	0xd1, 0xd5, 0x42, 0x7d, 0x06, 0xfb, 0x25, 0x64, 0xb8, 0x9d, 0x11, 0x0b
6498 };
6499 static const uint8_t nist_186_2_ecdsa_testvector_142_public_y[] = {
6500 /* Qy - byte alignment */
6501 	0x00, 0x08, 0xc7, 0x0b, 0x99, 0x35, 0xb3, 0x6e, 0xb4, 0x07, 0x60, 0x16,
6502 	0x8e, 0x67, 0xae, 0x5a, 0x25, 0x06, 0x76, 0x32, 0xcd, 0xce, 0xc5, 0x87,
6503 	0x75, 0x8a, 0x62, 0x66, 0x43, 0xbd, 0x9b, 0xca, 0x16, 0x67, 0x06, 0x95,
6504 	0xe0, 0xbc, 0x79, 0x2a, 0x9b, 0x1e, 0x32, 0xc5, 0x01, 0xbb, 0xf6, 0xc7,
6505 	0x19, 0x0f, 0x98, 0xc3, 0x3e, 0xdd, 0x68, 0x45, 0xd6, 0xfb, 0x55, 0x2f,
6506 	0x31, 0x4c, 0x13, 0x60, 0x59, 0x97, 0x0a, 0xf7, 0xe6, 0xc6, 0xe6, 0x01
6507 };
6508 /* k = 0d8acc4a715cdf8aeaed8d4fafd06459f4d4d88a0a7f66f59319ad2402ba250f8fc7da47ff2215fd6f59783344f900e1615d9c3e287623a5534afaa1f9cd1dd96bbbca443477be4 */
6509 static const uint8_t nist_186_2_ecdsa_testvector_142_out[] = {
6510 /* R - byte alignment */
6511 	0x00, 0x33, 0xfa, 0xd5, 0xd3, 0x5e, 0x11, 0x35, 0x3a, 0xf1, 0x88, 0x11,
6512 	0xa1, 0xe7, 0x8d, 0xd8, 0xd0, 0xe6, 0xd4, 0xbd, 0xd9, 0xf3, 0xe5, 0xc2,
6513 	0x99, 0xfa, 0x48, 0x0e, 0x0b, 0x8f, 0x41, 0xfb, 0x5a, 0x38, 0xa7, 0x0d,
6514 	0x0e, 0x7a, 0x07, 0x38, 0xaa, 0xde, 0xe8, 0xed, 0xdc, 0x06, 0x98, 0xfd,
6515 	0x8b, 0x7d, 0x33, 0x31, 0x14, 0x08, 0xf5, 0xfe, 0xc2, 0x2a, 0x45, 0x69,
6516 	0x53, 0x08, 0xa2, 0xb6, 0x04, 0x62, 0xe4, 0x94, 0xb3, 0x56, 0xe0, 0x65,
6517 /* S - byte alignment */
6518 	0x01, 0xdb, 0x16, 0xa2, 0xf2, 0x25, 0xfb, 0xc4, 0xd4, 0x01, 0xe9, 0x81,
6519 	0x76, 0x6e, 0x69, 0x1e, 0x69, 0x47, 0x76, 0xcb, 0xf2, 0x21, 0xc3, 0x2f,
6520 	0x4c, 0x1f, 0xf2, 0xee, 0xc6, 0xf4, 0xd9, 0xd5, 0x50, 0xb5, 0x7f, 0xe1,
6521 	0xe7, 0x08, 0xcf, 0x4c, 0x48, 0x0f, 0xe4, 0xa2, 0xf4, 0x51, 0xe0, 0xa0,
6522 	0xc3, 0x90, 0x52, 0xfb, 0xc5, 0x89, 0x51, 0xa5, 0x76, 0x0c, 0x55, 0x78,
6523 	0xaa, 0x22, 0x01, 0x4e, 0xba, 0x22, 0x47, 0xd9, 0x52, 0x92, 0x04, 0xc8
6524 };
6525 static const uint8_t nist_186_2_ecdsa_testvector_143_ptx[] = {
6526 /* Msg */
6527 	0xd0, 0x0d, 0x1c, 0x0f, 0x85, 0x28, 0x5b, 0xda, 0xc9, 0xa7, 0x40, 0x4d,
6528 	0x4e, 0xc4, 0x25, 0x29, 0x5a, 0xfa, 0xab, 0x59, 0xc1, 0x25, 0x51, 0x32,
6529 	0x11, 0xe5, 0x46, 0xf9, 0x0c, 0x43, 0x7c, 0xa5, 0x5b, 0x97, 0xfe, 0xe7,
6530 	0x80, 0xa9, 0x83, 0x68, 0x0d, 0x16, 0x43, 0x52, 0x13, 0xf5, 0x09, 0x11,
6531 	0xde, 0xbb, 0x8a, 0x5b, 0xdf, 0x5c, 0xf5, 0x6d, 0xea, 0xb3, 0xcb, 0x98,
6532 	0xa2, 0x24, 0xf1, 0xfd, 0x31, 0x80, 0x04, 0x95, 0x3c, 0x28, 0xec, 0x74,
6533 	0x15, 0x76, 0xb4, 0x4e, 0x33, 0x58, 0x98, 0x3a, 0xe0, 0x3e, 0x60, 0xb6,
6534 	0x32, 0x37, 0xed, 0xeb, 0x3c, 0x56, 0x12, 0x33, 0x85, 0x5b, 0xa5, 0xd9,
6535 	0xba, 0x8f, 0xd5, 0x20, 0x9f, 0xf0, 0xbd, 0x86, 0x4b, 0x8e, 0x3a, 0x49,
6536 	0x95, 0x35, 0xfa, 0x2b, 0xca, 0x4c, 0xd6, 0x72, 0xa1, 0xfd, 0x62, 0x34,
6537 	0x70, 0x97, 0xc2, 0xd1, 0x9f, 0x30, 0xbf, 0xc1
6538 };
6539 static const uint8_t nist_186_2_ecdsa_testvector_143_private[] = {
6540 /* d - byte alignment */
6541 	0x00, 0xfd, 0xbf, 0x5b, 0x8e, 0xc9, 0x97, 0xdc, 0x35, 0x30, 0xe5, 0xdb,
6542 	0x8b, 0x43, 0x18, 0xb0, 0x8b, 0x5b, 0xe2, 0xc7, 0x63, 0x82, 0x2b, 0x0a,
6543 	0xe3, 0x1e, 0x45, 0x6f, 0x76, 0xad, 0xa1, 0xde, 0x4e, 0x1b, 0xc5, 0x2f,
6544 	0xbc, 0x9a, 0x2c, 0x8b, 0xa3, 0x54, 0x46, 0x7b, 0x09, 0xca, 0xd6, 0xec,
6545 	0x28, 0x18, 0x08, 0x10, 0x52, 0xd7, 0xa9, 0x4e, 0x48, 0x1f, 0xb8, 0xd1,
6546 	0x03, 0xc6, 0x55, 0x8c, 0xaa, 0x5d, 0x9d, 0x07, 0x62, 0xf0, 0xe5, 0xd6
6547 };
6548 static const uint8_t nist_186_2_ecdsa_testvector_143_public_x[] = {
6549 /* Qx - byte alignment */
6550 	0x01, 0x57, 0x13, 0x80, 0x19, 0xcd, 0x1f, 0xc5, 0x0c, 0xb6, 0x99, 0x6b,
6551 	0xdb, 0x4d, 0xe7, 0x33, 0x2a, 0x95, 0xb4, 0x34, 0x46, 0x83, 0x87, 0xcb,
6552 	0x1a, 0xcc, 0x82, 0xec, 0x7b, 0x8f, 0x25, 0xd9, 0xee, 0xa7, 0xf0, 0x48,
6553 	0x4f, 0x26, 0x32, 0x0e, 0x9c, 0x32, 0x16, 0xf0, 0x89, 0xce, 0x5b, 0xfc,
6554 	0xbf, 0x0a, 0xb5, 0xd2, 0x77, 0xe3, 0xc4, 0xd2, 0xd5, 0xbf, 0x04, 0xa7,
6555 	0x69, 0x5b, 0xab, 0x50, 0x4e, 0x28, 0xc2, 0xe8, 0x2d, 0x21, 0x93, 0x37
6556 };
6557 static const uint8_t nist_186_2_ecdsa_testvector_143_public_y[] = {
6558 /* Qy - byte alignment */
6559 	0x00, 0x60, 0xec, 0x1b, 0x48, 0x8a, 0x47, 0x8a, 0x19, 0xf3, 0x33, 0x8b,
6560 	0xfb, 0x91, 0x38, 0xe7, 0xb8, 0x7f, 0x67, 0xfb, 0x7e, 0xf8, 0xb1, 0xa0,
6561 	0xeb, 0x26, 0x78, 0x46, 0x2a, 0xf5, 0x90, 0xc5, 0xa2, 0xc9, 0x00, 0xa1,
6562 	0xbb, 0x3c, 0xaf, 0xfb, 0x30, 0xff, 0x80, 0x3e, 0x04, 0xff, 0x26, 0x7c,
6563 	0x97, 0x1f, 0x05, 0xd4, 0x81, 0xd4, 0x20, 0x0c, 0x6e, 0xe8, 0x9d, 0x8c,
6564 	0x20, 0x5c, 0xa8, 0xa6, 0xe1, 0x3b, 0x47, 0x28, 0xbc, 0x23, 0xc5, 0xe8
6565 };
6566 /* k = 00795bb246effbdd1cf8e9ef2313851f9d0ebfcf1b8d78b7026960559e675f0435dff97e7d6cfa33951a12f63c4b6aebe4fe8f32e32af170f27547a92d670405b9764aae85029d8 */
6567 static const uint8_t nist_186_2_ecdsa_testvector_143_out[] = {
6568 /* R - byte alignment */
6569 	0x01, 0xbc, 0xc7, 0x85, 0x3b, 0xa5, 0x34, 0x83, 0x5b, 0xbb, 0x2e, 0x41,
6570 	0xb3, 0xa8, 0x92, 0x70, 0xba, 0xac, 0xd7, 0x3f, 0x9c, 0xf1, 0x0d, 0x58,
6571 	0x41, 0x57, 0xee, 0xcf, 0xa7, 0x3a, 0xe6, 0x76, 0x82, 0x94, 0x99, 0x16,
6572 	0x6e, 0x34, 0x69, 0x19, 0x8e, 0xc3, 0x86, 0xfd, 0x55, 0x73, 0x85, 0xfd,
6573 	0x9b, 0x93, 0xf8, 0x0a, 0xdb, 0xde, 0x19, 0x3c, 0x4f, 0x20, 0x73, 0x5c,
6574 	0x7b, 0x4d, 0xe7, 0xe2, 0xac, 0x44, 0x84, 0x14, 0x81, 0xf9, 0xad, 0x2e,
6575 /* S - byte alignment */
6576 	0x00, 0x6f, 0xae, 0xc4, 0xdf, 0xd4, 0x07, 0x81, 0xb8, 0xba, 0x3b, 0x66,
6577 	0x94, 0x3b, 0x72, 0xe4, 0x6e, 0x50, 0x20, 0x57, 0xd0, 0x5e, 0xda, 0xbc,
6578 	0x3f, 0xfe, 0xa9, 0x35, 0x1e, 0xfc, 0xe6, 0xde, 0xd2, 0x65, 0x0f, 0x96,
6579 	0xeb, 0xf0, 0xd5, 0x86, 0x7f, 0x3a, 0xcd, 0x38, 0xc3, 0x43, 0xb2, 0x80,
6580 	0x4b, 0x36, 0xbc, 0xbb, 0x8c, 0x1c, 0x69, 0x63, 0x16, 0x4d, 0x38, 0xec,
6581 	0x9a, 0x61, 0x88, 0x71, 0x09, 0x24, 0x63, 0xbd, 0x4b, 0x84, 0x42, 0x63
6582 };
6583 static const uint8_t nist_186_2_ecdsa_testvector_144_ptx[] = {
6584 /* Msg */
6585 	0xda, 0xde, 0xab, 0xe7, 0xb8, 0x6a, 0xd4, 0x42, 0x63, 0x74, 0xd4, 0x26,
6586 	0x4b, 0x3b, 0x40, 0xe2, 0x55, 0xa2, 0xbc, 0x9d, 0xdc, 0x28, 0x1b, 0xea,
6587 	0xf6, 0x1a, 0xc8, 0x9d, 0xf8, 0x08, 0x64, 0xdc, 0x3c, 0x75, 0xb0, 0x79,
6588 	0x21, 0xd2, 0xae, 0x7f, 0x54, 0xae, 0x03, 0x0a, 0x4e, 0x27, 0xa0, 0x5c,
6589 	0x1e, 0xa4, 0xa1, 0x2e, 0x69, 0xc6, 0x75, 0x44, 0xaf, 0x9b, 0x40, 0x44,
6590 	0xcf, 0x15, 0x7d, 0xc8, 0xce, 0xbb, 0xe8, 0xb2, 0xd4, 0x9f, 0x9b, 0xc0,
6591 	0x77, 0x90, 0x77, 0x60, 0x3c, 0x90, 0xc5, 0xc5, 0x5b, 0x89, 0x1d, 0x3a,
6592 	0xc3, 0x3b, 0x87, 0xb6, 0x5e, 0x79, 0xe1, 0xb1, 0x96, 0x95, 0x81, 0x37,
6593 	0x18, 0x19, 0x1b, 0x3b, 0xd8, 0xb7, 0xe4, 0x2d, 0x55, 0x83, 0xf7, 0xcf,
6594 	0x1e, 0x60, 0xf8, 0x44, 0x95, 0xb8, 0xf8, 0x69, 0xf3, 0x71, 0x99, 0x69,
6595 	0x8c, 0x1c, 0x73, 0x8c, 0x55, 0x6f, 0xb6, 0x50
6596 };
6597 static const uint8_t nist_186_2_ecdsa_testvector_144_private[] = {
6598 /* d - byte alignment */
6599 	0x00, 0x4a, 0xfe, 0x51, 0x29, 0x80, 0x6d, 0x0a, 0xb6, 0xb8, 0x8d, 0x86,
6600 	0x0b, 0x71, 0xd9, 0x8a, 0x00, 0xf1, 0x0d, 0x5a, 0x79, 0x5b, 0x35, 0xd0,
6601 	0x98, 0x7b, 0x7c, 0x97, 0xf8, 0xbb, 0x9c, 0x2f, 0x2e, 0x8c, 0x53, 0x8c,
6602 	0x72, 0x44, 0x36, 0xab, 0xf6, 0x66, 0x47, 0xfa, 0x90, 0xbc, 0x01, 0xff,
6603 	0xe3, 0xa8, 0x7f, 0xbd, 0xa1, 0xe6, 0x8f, 0x71, 0x71, 0xf7, 0x6e, 0xe6,
6604 	0x64, 0x01, 0x4f, 0x33, 0x0c, 0x4d, 0x4a, 0x28, 0xf9, 0x37, 0x20, 0xba
6605 };
6606 static const uint8_t nist_186_2_ecdsa_testvector_144_public_x[] = {
6607 /* Qx - byte alignment */
6608 	0x00, 0x9b, 0x36, 0xab, 0x8f, 0xcb, 0x8c, 0x9d, 0x6e, 0xe8, 0xa6, 0x39,
6609 	0x2c, 0xa1, 0x90, 0x09, 0xd4, 0xfe, 0xb9, 0x02, 0xdb, 0xbd, 0xf9, 0x4b,
6610 	0xb9, 0xd0, 0x69, 0x15, 0x2e, 0xb5, 0xb6, 0x7f, 0x41, 0xa4, 0x97, 0x23,
6611 	0xe3, 0xc4, 0xdf, 0xd8, 0xce, 0x77, 0xb5, 0xd0, 0x91, 0x9b, 0xea, 0x8b,
6612 	0x26, 0x81, 0xf7, 0x48, 0xe8, 0x04, 0xbd, 0xd1, 0x11, 0x1b, 0x7c, 0xae,
6613 	0xc3, 0x02, 0x73, 0xde, 0x28, 0xba, 0x47, 0x62, 0xe9, 0x7f, 0x56, 0x0d
6614 };
6615 static const uint8_t nist_186_2_ecdsa_testvector_144_public_y[] = {
6616 /* Qy - byte alignment */
6617 	0x07, 0x87, 0x8e, 0x31, 0x10, 0xe4, 0x96, 0x3a, 0xab, 0x77, 0xde, 0x8d,
6618 	0xb2, 0x04, 0xde, 0xfe, 0x4e, 0xaa, 0x6b, 0xe6, 0x16, 0x95, 0x0e, 0x67,
6619 	0x80, 0xc2, 0x3d, 0x1b, 0x88, 0x88, 0xc1, 0xac, 0x22, 0x82, 0xd3, 0x80,
6620 	0x45, 0xcc, 0x4d, 0xdd, 0x0e, 0xa8, 0x41, 0xdf, 0x48, 0x44, 0xf8, 0x75,
6621 	0x16, 0xd0, 0x4b, 0x1d, 0x2e, 0x99, 0x4f, 0x12, 0xf6, 0xe9, 0xe0, 0xc0,
6622 	0xa6, 0xbb, 0x64, 0x0a, 0xf7, 0x4e, 0xb4, 0xa6, 0xb4, 0x05, 0x45, 0x86
6623 };
6624 /* k = 03d86bdadcb891157e3fe27b57adf717388fcad072c32ba8a8e90c3c2f9410b61ec376f9512eb1a190a34c4ac7fbfbcce77e4cdf4bf31aa2577b1a8a7c3d0505e926a21c4a10253 */
6625 static const uint8_t nist_186_2_ecdsa_testvector_144_out[] = {
6626 /* R - byte alignment */
6627 	0x00, 0xa9, 0x4e, 0xaa, 0x42, 0xdb, 0x67, 0xd1, 0x3a, 0xa3, 0x76, 0xcf,
6628 	0x0c, 0xed, 0x26, 0x01, 0x9c, 0x04, 0x90, 0xa6, 0x2c, 0x09, 0x28, 0xbf,
6629 	0x8f, 0xfe, 0x56, 0xc7, 0x25, 0x1b, 0xab, 0xd3, 0x77, 0x6f, 0x04, 0x35,
6630 	0xa5, 0xf9, 0x94, 0x4b, 0xca, 0xea, 0x78, 0x48, 0xd5, 0x51, 0xd6, 0x20,
6631 	0x19, 0x81, 0xa1, 0x82, 0x53, 0x40, 0x7e, 0x18, 0x76, 0x18, 0x1e, 0xa3,
6632 	0x40, 0x06, 0xc7, 0xe0, 0x0e, 0x1a, 0x0b, 0x64, 0xf2, 0x0a, 0x8b, 0x96,
6633 /* S - byte alignment */
6634 	0x00, 0x96, 0xe9, 0x8e, 0xcb, 0x15, 0x68, 0xcc, 0x09, 0x1e, 0x22, 0x7e,
6635 	0x46, 0xb6, 0xc0, 0x13, 0xf7, 0xf2, 0x0a, 0x22, 0xae, 0x10, 0x78, 0x20,
6636 	0xad, 0x9b, 0xc4, 0xf4, 0x81, 0x0e, 0x90, 0x06, 0x2a, 0xb6, 0xb3, 0xb0,
6637 	0x26, 0x0e, 0x39, 0xf8, 0xb8, 0x07, 0xeb, 0xd3, 0xd0, 0xb2, 0x86, 0xe7,
6638 	0x18, 0x7e, 0xd9, 0x84, 0x73, 0x20, 0x59, 0xe3, 0xf9, 0xc2, 0xb8, 0x49,
6639 	0x06, 0xd7, 0x46, 0x11, 0x97, 0x5d, 0x6e, 0xbc, 0x41, 0x25, 0xf6, 0x86
6640 };
6641 static const uint8_t nist_186_2_ecdsa_testvector_145_ptx[] = {
6642 /* Msg */
6643 	0x7c, 0x86, 0xb7, 0xa4, 0x12, 0x18, 0x47, 0x65, 0xb7, 0xad, 0x39, 0xba,
6644 	0x77, 0x73, 0x16, 0xda, 0x3b, 0xfd, 0x34, 0x8b, 0x40, 0xe6, 0xd2, 0xe7,
6645 	0xc8, 0xb7, 0x64, 0x60, 0x10, 0x0a, 0x2c, 0x02, 0x81, 0xf0, 0x0a, 0xf8,
6646 	0x2a, 0x91, 0x95, 0x52, 0x6e, 0x12, 0x6a, 0x05, 0xfa, 0xbc, 0xc5, 0x33,
6647 	0xfb, 0x5a, 0x4e, 0xad, 0x8d, 0xe2, 0x35, 0xb7, 0x76, 0x58, 0x80, 0x0b,
6648 	0x14, 0xf0, 0xa4, 0x20, 0x94, 0x73, 0x53, 0xab, 0x65, 0xe3, 0x96, 0x67,
6649 	0xec, 0x62, 0x1b, 0x11, 0x7a, 0x50, 0xd0, 0xb7, 0x7b, 0xb4, 0xb1, 0x33,
6650 	0xf0, 0xdd, 0xdd, 0xf3, 0x1f, 0x49, 0xf0, 0xfb, 0x88, 0xc5, 0x8d, 0x2c,
6651 	0x1c, 0xd6, 0x3a, 0xc6, 0xaa, 0x58, 0x71, 0x2c, 0x9a, 0x65, 0xf3, 0xe7,
6652 	0xdd, 0x78, 0x60, 0xee, 0x24, 0xd2, 0x05, 0x24, 0x50, 0x1d, 0xf5, 0x23,
6653 	0x2a, 0x50, 0x5b, 0x38, 0x55, 0xd2, 0x0e, 0xae
6654 };
6655 static const uint8_t nist_186_2_ecdsa_testvector_145_private[] = {
6656 /* d - byte alignment */
6657 	0x00, 0x6a, 0x46, 0xb7, 0x27, 0xb6, 0x4f, 0x68, 0x81, 0x0c, 0x10, 0x3b,
6658 	0x8e, 0x9d, 0x33, 0xa0, 0x16, 0x8e, 0xad, 0xd2, 0xca, 0x6d, 0xc8, 0xb8,
6659 	0x08, 0x0f, 0xa0, 0x5a, 0x05, 0x23, 0x33, 0xc0, 0xb5, 0x67, 0xd2, 0x26,
6660 	0xc7, 0x20, 0xd4, 0xea, 0x5a, 0x90, 0x40, 0xf2, 0x46, 0x7f, 0xd9, 0x3a,
6661 	0xdf, 0x0b, 0x43, 0xd5, 0xdc, 0x0a, 0x77, 0x0a, 0x66, 0xf8, 0x6c, 0x29,
6662 	0x7d, 0x35, 0xdf, 0x29, 0xc4, 0x42, 0x60, 0xfe, 0x1b, 0x17, 0xe4, 0x49
6663 };
6664 static const uint8_t nist_186_2_ecdsa_testvector_145_public_x[] = {
6665 /* Qx - byte alignment */
6666 	0x02, 0xad, 0x7e, 0xe2, 0xda, 0x9e, 0x6d, 0x28, 0xd5, 0xc2, 0x60, 0x5e,
6667 	0x9d, 0x95, 0xf6, 0x74, 0x97, 0x17, 0x90, 0x92, 0x35, 0x0d, 0x4b, 0xe4,
6668 	0x44, 0x1b, 0x08, 0x93, 0x26, 0x3e, 0xa7, 0x08, 0x91, 0x79, 0xbe, 0x06,
6669 	0x08, 0xe6, 0x44, 0x93, 0xde, 0xb7, 0xc6, 0x50, 0x84, 0x2e, 0xa3, 0x81,
6670 	0x3e, 0x70, 0xa9, 0x10, 0xad, 0x3d, 0x2b, 0x78, 0x56, 0xa5, 0xb5, 0x89,
6671 	0x25, 0x0a, 0x99, 0x75, 0x9c, 0x6f, 0xa8, 0xe5, 0xd4, 0xff, 0x3a, 0xc1
6672 };
6673 static const uint8_t nist_186_2_ecdsa_testvector_145_public_y[] = {
6674 /* Qy - byte alignment */
6675 	0x03, 0x16, 0xa6, 0x04, 0x01, 0x9d, 0xf5, 0x55, 0x27, 0x89, 0x6c, 0x79,
6676 	0xb7, 0xdf, 0xc0, 0xe2, 0x38, 0x78, 0xe1, 0x8b, 0x6f, 0xf1, 0x80, 0x3f,
6677 	0xe8, 0x5d, 0xc4, 0x3f, 0x42, 0xc7, 0xfc, 0xe8, 0x02, 0x8d, 0xa8, 0x8a,
6678 	0xc5, 0x5b, 0x61, 0x38, 0x07, 0xb3, 0x13, 0x95, 0x5f, 0x29, 0xe7, 0x2b,
6679 	0x16, 0xed, 0xba, 0x7c, 0xc3, 0xdb, 0xfc, 0x3c, 0x24, 0xf1, 0x55, 0x98,
6680 	0xc9, 0x16, 0x10, 0x1f, 0x1e, 0x32, 0x01, 0x0b, 0xd6, 0x16, 0xc9, 0xc0
6681 };
6682 /* k = 0403d95f88d2713cc6ed6b6fb96562d4406a8dc54290d943ab01cfb9a548f5e47246a33ee995d2a9878bba141dcf0aa22382f6bd41173862bf698315750081d15b4d6024fd05792 */
6683 static const uint8_t nist_186_2_ecdsa_testvector_145_out[] = {
6684 /* R - byte alignment */
6685 	0x01, 0xc5, 0x63, 0x2f, 0xa6, 0x52, 0x90, 0xf1, 0x55, 0x6e, 0x4e, 0x9b,
6686 	0x20, 0x02, 0xb8, 0x02, 0x87, 0x82, 0xcc, 0x9e, 0x3e, 0x92, 0x18, 0xff,
6687 	0x59, 0xb2, 0x52, 0xce, 0x6f, 0xe7, 0xe9, 0x11, 0x4c, 0x79, 0x9a, 0x6e,
6688 	0x72, 0xca, 0xcc, 0x1b, 0x54, 0xe7, 0xe7, 0xe2, 0x94, 0xee, 0x32, 0x39,
6689 	0x6a, 0x2b, 0x49, 0xe2, 0x87, 0x89, 0xe7, 0xbb, 0x5a, 0xe8, 0x49, 0x2f,
6690 	0x49, 0x5f, 0x7f, 0x2c, 0x8c, 0x01, 0xcd, 0x51, 0xe3, 0x23, 0x08, 0xe4,
6691 /* S - byte alignment */
6692 	0x00, 0x32, 0xbc, 0x1c, 0x37, 0x3a, 0x54, 0x14, 0x96, 0x86, 0x42, 0x27,
6693 	0x7b, 0xf9, 0x66, 0x1f, 0x7f, 0x2e, 0x1f, 0x2e, 0x26, 0xc9, 0xa1, 0x57,
6694 	0x2b, 0x2a, 0x00, 0xbb, 0x8a, 0x9e, 0x93, 0x68, 0x81, 0x49, 0x7d, 0x8c,
6695 	0xb4, 0x50, 0x0a, 0xf3, 0xfe, 0xda, 0xe9, 0x53, 0xdc, 0x44, 0x5c, 0x84,
6696 	0xe0, 0x62, 0x74, 0xa3, 0xe4, 0x2d, 0x78, 0x46, 0xfd, 0xb7, 0x62, 0xb1,
6697 	0x85, 0xa1, 0x5e, 0xc9, 0x69, 0xa5, 0xb2, 0xf1, 0xe9, 0xfe, 0x68, 0x83
6698 };
6699 static const uint8_t nist_186_2_ecdsa_testvector_146_ptx[] = {
6700 /* Msg */
6701 	0x2b, 0xab, 0xf4, 0x2f, 0xe8, 0x6c, 0x04, 0x3e, 0x40, 0x1f, 0xff, 0x55,
6702 	0x21, 0x46, 0x6a, 0xb5, 0x5d, 0xbe, 0xbf, 0xc0, 0x5b, 0xa1, 0xc0, 0x02,
6703 	0x0d, 0x6a, 0x0a, 0x6f, 0x21, 0x5a, 0xed, 0xeb, 0x7c, 0x1b, 0x7b, 0x10,
6704 	0xe4, 0xa4, 0xdf, 0x2b, 0xfc, 0x5c, 0xf1, 0x87, 0x76, 0x82, 0x07, 0xef,
6705 	0x84, 0xcc, 0x0d, 0x6e, 0x8f, 0x4e, 0xd8, 0x59, 0x2c, 0x9e, 0xb7, 0x8f,
6706 	0x4c, 0x36, 0x4b, 0x00, 0xb2, 0x19, 0x99, 0x6c, 0xab, 0xba, 0x5e, 0x6d,
6707 	0xf9, 0x19, 0xa2, 0xb8, 0x10, 0x2f, 0x90, 0xa0, 0x85, 0x8c, 0x85, 0xdc,
6708 	0xc3, 0x3f, 0x67, 0x89, 0x00, 0xf6, 0x38, 0x73, 0x6f, 0x66, 0xeb, 0x90,
6709 	0xb7, 0xed, 0x76, 0xcd, 0xa5, 0x76, 0x28, 0x0d, 0x1d, 0x9e, 0x3d, 0x6f,
6710 	0x57, 0x15, 0xb0, 0xd0, 0x48, 0x46, 0x50, 0x92, 0x5d, 0x3a, 0x16, 0x9b,
6711 	0x6f, 0xb9, 0xb6, 0xa0, 0xf4, 0xb3, 0x74, 0xa3
6712 };
6713 static const uint8_t nist_186_2_ecdsa_testvector_146_private[] = {
6714 /* d - byte alignment */
6715 	0x00, 0x31, 0x43, 0x90, 0xd2, 0x1e, 0xf2, 0x41, 0x32, 0x8c, 0xc0, 0xe1,
6716 	0xf6, 0x27, 0xe2, 0xde, 0x01, 0xcd, 0x3c, 0x64, 0x45, 0x7e, 0xc0, 0xe0,
6717 	0x11, 0x3b, 0xbf, 0xdd, 0x05, 0x5f, 0x84, 0x75, 0x55, 0xbc, 0xe1, 0xde,
6718 	0x8a, 0x5b, 0x15, 0xa1, 0x15, 0x78, 0x57, 0xb6, 0x1d, 0x85, 0x97, 0xc1,
6719 	0xe9, 0x78, 0xfe, 0xdc, 0xa4, 0x5a, 0x99, 0xf2, 0x81, 0x33, 0x24, 0x42,
6720 	0xf4, 0x4a, 0x1e, 0x68, 0xfc, 0x3a, 0x05, 0x09, 0xc4, 0x95, 0x79, 0x4b
6721 };
6722 static const uint8_t nist_186_2_ecdsa_testvector_146_public_x[] = {
6723 /* Qx - byte alignment */
6724 	0x06, 0x78, 0xbd, 0x75, 0xdf, 0xa0, 0xbc, 0x87, 0x4f, 0x88, 0xc6, 0x79,
6725 	0x9b, 0x59, 0x86, 0xe1, 0x80, 0xa4, 0x81, 0xd3, 0xc3, 0x84, 0xa8, 0x10,
6726 	0xef, 0x43, 0xbc, 0x7e, 0x8c, 0x0e, 0x07, 0x89, 0x94, 0x30, 0x89, 0x4a,
6727 	0xe6, 0x87, 0x72, 0x2d, 0x7f, 0x06, 0x7c, 0x83, 0x31, 0xc2, 0xd9, 0x7d,
6728 	0x31, 0xd5, 0x58, 0x97, 0xd3, 0xa3, 0xa9, 0xf6, 0x6d, 0xf1, 0xa3, 0xbe,
6729 	0x25, 0xa8, 0x0e, 0x49, 0x0e, 0xe0, 0x79, 0x24, 0xf2, 0x3b, 0x56, 0x23
6730 };
6731 static const uint8_t nist_186_2_ecdsa_testvector_146_public_y[] = {
6732 /* Qy - byte alignment */
6733 	0x07, 0x61, 0xac, 0x3b, 0xee, 0xc4, 0xe0, 0xb2, 0x38, 0xc2, 0x66, 0xb0,
6734 	0x57, 0x23, 0xe1, 0x98, 0x3e, 0x24, 0x67, 0x70, 0x9e, 0x9f, 0xed, 0x61,
6735 	0xc1, 0x31, 0xfc, 0x1e, 0xab, 0xcd, 0x8f, 0x43, 0x1f, 0x62, 0x77, 0x5c,
6736 	0x5c, 0xc2, 0xd4, 0x5c, 0xac, 0x83, 0xd0, 0x00, 0x3c, 0x9a, 0xd6, 0xc3,
6737 	0x95, 0x3a, 0x18, 0x9d, 0x13, 0xd9, 0xf6, 0x42, 0xf6, 0x56, 0x52, 0x06,
6738 	0x30, 0x89, 0xf1, 0xf2, 0xec, 0x57, 0x43, 0x85, 0xce, 0x33, 0x3b, 0x0e
6739 };
6740 /* k = 1c562493602d5a35eb6e7ebbf821c8aa021f0125f845f32f33fc8fac1955cbd8f6ecd370fe8e0a405248d00de47c0d596d90c796dbecd13c2edc9fadc28b98f07e9e2f288a745b2 */
6741 static const uint8_t nist_186_2_ecdsa_testvector_146_out[] = {
6742 /* R - byte alignment */
6743 	0x00, 0x48, 0xf2, 0x80, 0x47, 0x8d, 0xe4, 0xec, 0x2d, 0xfd, 0x9a, 0x15,
6744 	0x10, 0x02, 0x2b, 0xfe, 0x97, 0xe9, 0xe1, 0xe8, 0x3e, 0x0a, 0xef, 0x24,
6745 	0xa4, 0xfe, 0x08, 0x70, 0x06, 0xca, 0x27, 0xec, 0x28, 0xf2, 0x72, 0x23,
6746 	0x7a, 0xe3, 0x75, 0x05, 0x72, 0x27, 0xbc, 0xb5, 0x41, 0x72, 0x24, 0xa3,
6747 	0xff, 0xc2, 0x9a, 0x26, 0xfe, 0xb5, 0x07, 0xea, 0xc4, 0x19, 0xdc, 0x8d,
6748 	0x69, 0x32, 0x7a, 0x97, 0xae, 0xc2, 0xfd, 0xea, 0x80, 0x7e, 0xbc, 0x08,
6749 /* S - byte alignment */
6750 	0x00, 0x5a, 0xd5, 0xbb, 0xfa, 0xf9, 0xc5, 0x33, 0x2b, 0xd9, 0xa4, 0x45,
6751 	0xd5, 0x8c, 0xa0, 0xcc, 0xeb, 0x55, 0x91, 0xc2, 0x84, 0x41, 0xca, 0xe9,
6752 	0xe6, 0xab, 0xd6, 0x68, 0x1b, 0xcb, 0x48, 0x45, 0xc3, 0xb2, 0xc9, 0xd6,
6753 	0x3c, 0xc1, 0x58, 0xcd, 0x24, 0x85, 0xc1, 0xd8, 0x78, 0xf0, 0x4f, 0xbd,
6754 	0x64, 0x9a, 0xd9, 0x6f, 0x06, 0x3c, 0x6a, 0x9e, 0xe8, 0xa4, 0xa9, 0xed,
6755 	0x56, 0x21, 0x12, 0xd4, 0x81, 0x3d, 0xe8, 0x36, 0xf5, 0xe6, 0xdc, 0x24
6756 };
6757 static const uint8_t nist_186_2_ecdsa_testvector_147_ptx[] = {
6758 /* Msg */
6759 	0xc4, 0xe1, 0xd8, 0x3d, 0xa0, 0x6f, 0x0e, 0x3b, 0x05, 0x64, 0x00, 0x32,
6760 	0xf8, 0x46, 0x6b, 0xfd, 0xb6, 0xeb, 0x1f, 0x39, 0x3d, 0xea, 0xa7, 0x54,
6761 	0x0e, 0x4f, 0x2c, 0xe6, 0x32, 0x93, 0x97, 0x45, 0x7b, 0xcb, 0xf6, 0x54,
6762 	0x0c, 0x1f, 0x21, 0x9b, 0x1b, 0x7e, 0x9d, 0x9d, 0xf6, 0x90, 0xc0, 0x65,
6763 	0x44, 0xec, 0x16, 0x63, 0x8e, 0x8c, 0x04, 0x76, 0xfe, 0x7d, 0xab, 0x4a,
6764 	0x66, 0xdb, 0x0f, 0xe4, 0x83, 0xfd, 0x79, 0x7b, 0x84, 0xed, 0x1a, 0x8a,
6765 	0xc6, 0x1b, 0xf0, 0x23, 0xe2, 0x52, 0xee, 0x86, 0xe9, 0xea, 0x57, 0xf2,
6766 	0xee, 0x40, 0x6b, 0xbb, 0xc5, 0x63, 0x45, 0x9d, 0x0b, 0x10, 0x04, 0x50,
6767 	0x66, 0xe1, 0x29, 0x5c, 0x0e, 0xc1, 0x40, 0x2f, 0x8d, 0xa3, 0xc3, 0x6d,
6768 	0xc3, 0x74, 0x3b, 0x87, 0x2c, 0x4d, 0xa8, 0x8f, 0x66, 0xee, 0x23, 0x4b,
6769 	0xed, 0x68, 0xc2, 0x88, 0x2a, 0x19, 0xbc, 0xb0
6770 };
6771 static const uint8_t nist_186_2_ecdsa_testvector_147_private[] = {
6772 /* d - byte alignment */
6773 	0x00, 0x5f, 0x3f, 0x6c, 0x0a, 0x13, 0xa2, 0x11, 0x23, 0x85, 0x4a, 0x6f,
6774 	0xfa, 0x49, 0xf1, 0x5a, 0x3f, 0x06, 0x35, 0x2a, 0xfe, 0x9b, 0x85, 0xf4,
6775 	0xae, 0xc4, 0x0d, 0x8b, 0x22, 0x4c, 0x78, 0x54, 0xc5, 0x06, 0x3e, 0xa1,
6776 	0xe1, 0xe6, 0x72, 0x52, 0xc1, 0x63, 0x43, 0x86, 0x8d, 0xdf, 0x2a, 0xb3,
6777 	0xd1, 0xc9, 0xc1, 0x03, 0x78, 0x8e, 0x72, 0xe7, 0xab, 0x73, 0x63, 0x81,
6778 	0x60, 0x3b, 0xb9, 0xf7, 0xf9, 0x1e, 0x2b, 0xcb, 0x26, 0xc3, 0xe2, 0x03
6779 };
6780 static const uint8_t nist_186_2_ecdsa_testvector_147_public_x[] = {
6781 /* Qx - byte alignment */
6782 	0x06, 0xf9, 0xa3, 0x87, 0x0b, 0x2a, 0x26, 0x2e, 0xdd, 0x5c, 0x03, 0x5e,
6783 	0x4e, 0xb2, 0x58, 0x1f, 0x70, 0x58, 0x9d, 0xdd, 0x0d, 0x20, 0x97, 0xe7,
6784 	0xfa, 0x62, 0xd7, 0x27, 0xd0, 0xd2, 0x66, 0x97, 0x45, 0x7a, 0xf6, 0x8e,
6785 	0x27, 0x3e, 0x92, 0x71, 0xe2, 0x80, 0xdc, 0x09, 0x2c, 0x08, 0x11, 0x6b,
6786 	0xc8, 0x3a, 0x88, 0x09, 0x94, 0x1a, 0xdc, 0x89, 0xe7, 0x8b, 0x6e, 0xa1,
6787 	0x40, 0x1d, 0xd7, 0x06, 0xe5, 0x95, 0xfd, 0xa0, 0xdd, 0xec, 0xa6, 0xcf
6788 };
6789 static const uint8_t nist_186_2_ecdsa_testvector_147_public_y[] = {
6790 /* Qy - byte alignment */
6791 	0x03, 0xab, 0xbb, 0x91, 0xd7, 0x38, 0x20, 0xed, 0x69, 0x0f, 0x90, 0x94,
6792 	0x05, 0x9f, 0x90, 0xcf, 0x66, 0x9c, 0x69, 0x91, 0x05, 0x0c, 0xd4, 0x9b,
6793 	0x09, 0x12, 0x1e, 0x87, 0x6e, 0x33, 0x10, 0x57, 0x2b, 0xdf, 0xd6, 0x77,
6794 	0xab, 0x7f, 0x96, 0x2c, 0x69, 0x2a, 0xb2, 0xda, 0x1f, 0xc2, 0x1f, 0xfc,
6795 	0xa4, 0x68, 0xe9, 0x15, 0xbd, 0x44, 0x85, 0x37, 0xe0, 0xee, 0xe1, 0x24,
6796 	0x11, 0x90, 0x18, 0x77, 0x08, 0xab, 0x71, 0xf6, 0x59, 0xcd, 0xe6, 0x17
6797 };
6798 /* k = 0e3f1ea1fd26217e314d8bb1bb06930fc4f98039a4067aa5bfa9825d706e9ce89354d2a215298e003b227eb7defa5c3cefc8f5696135e7373c6d278f17eaee4d0b9bd9eddcc75ea */
6799 static const uint8_t nist_186_2_ecdsa_testvector_147_out[] = {
6800 /* R - byte alignment */
6801 	0x00, 0xd1, 0x61, 0x48, 0x13, 0x0f, 0xde, 0xfb, 0x6c, 0x2b, 0x6c, 0xb3,
6802 	0x05, 0xea, 0x8c, 0x58, 0x6f, 0x7c, 0x5e, 0x9c, 0x06, 0xcb, 0xed, 0xe1,
6803 	0x34, 0x50, 0xde, 0x7b, 0xe7, 0xbd, 0xf2, 0xaa, 0x18, 0x22, 0xcf, 0x10,
6804 	0x91, 0x86, 0xde, 0x3b, 0xf1, 0x14, 0xc2, 0x74, 0xca, 0x3a, 0x05, 0x66,
6805 	0x2b, 0x56, 0xb9, 0x78, 0x30, 0x46, 0x45, 0x7e, 0xae, 0x64, 0x5c, 0x14,
6806 	0xdc, 0x72, 0x2e, 0x36, 0xd7, 0x7e, 0x62, 0x89, 0x64, 0xd5, 0x2f, 0xbc,
6807 /* S - byte alignment */
6808 	0x01, 0x9d, 0xed, 0x7e, 0xd1, 0xa6, 0x12, 0xa2, 0xe6, 0x53, 0x60, 0xd6,
6809 	0x15, 0x19, 0xf9, 0x8b, 0xfe, 0x98, 0x15, 0xdb, 0x1b, 0x2a, 0xc8, 0xfc,
6810 	0x7d, 0xa8, 0xca, 0x76, 0xfc, 0xa8, 0x86, 0x93, 0x3b, 0xfb, 0x95, 0xd9,
6811 	0x20, 0xeb, 0x7a, 0xf4, 0xfd, 0xe7, 0x31, 0xee, 0xbf, 0x19, 0x20, 0x0d,
6812 	0xbd, 0x1e, 0x9e, 0xa5, 0x1f, 0x1f, 0x9e, 0x41, 0xf5, 0xd6, 0xd0, 0xc9,
6813 	0x09, 0xfe, 0x3b, 0x45, 0x10, 0x4e, 0xc3, 0xad, 0xc8, 0x99, 0xd4, 0x60
6814 };
6815 static const uint8_t nist_186_2_ecdsa_testvector_148_ptx[] = {
6816 /* Msg */
6817 	0x3f, 0xdd, 0xfe, 0x5f, 0xe1, 0x9b, 0x1a, 0x4a, 0x9f, 0x23, 0x7f, 0x61,
6818 	0xcb, 0x8e, 0xb7, 0x92, 0xe9, 0x5d, 0x09, 0x9a, 0x14, 0x55, 0xfb, 0x78,
6819 	0x9d, 0x8d, 0x16, 0x22, 0xf6, 0xc5, 0xe9, 0x76, 0xce, 0xf9, 0x51, 0x73,
6820 	0x7e, 0x36, 0xf7, 0xa9, 0xa4, 0xad, 0x19, 0xee, 0x0d, 0x06, 0x8e, 0x53,
6821 	0xd9, 0xf6, 0x04, 0x57, 0xd9, 0x14, 0x8d, 0x5a, 0x3c, 0xe8, 0x5a, 0x54,
6822 	0x6b, 0x45, 0xc5, 0xc6, 0x31, 0xd9, 0x95, 0xf1, 0x1f, 0x03, 0x7e, 0x47,
6823 	0x2f, 0xe4, 0xe8, 0x1f, 0xa7, 0xb9, 0xf2, 0xac, 0x40, 0x68, 0xb5, 0x30,
6824 	0x88, 0x58, 0xcd, 0x6d, 0x85, 0x86, 0x16, 0x5c, 0x9b, 0xd6, 0xb3, 0x22,
6825 	0xaf, 0xa7, 0x55, 0x40, 0x8d, 0xa9, 0xb9, 0x0a, 0x87, 0xf3, 0x73, 0x5a,
6826 	0x5f, 0x50, 0xeb, 0x85, 0x68, 0xda, 0xa5, 0x8e, 0xe7, 0xcb, 0xc5, 0x9a,
6827 	0xbf, 0x8f, 0xd2, 0xa4, 0x4e, 0x1e, 0xba, 0x72
6828 };
6829 static const uint8_t nist_186_2_ecdsa_testvector_148_private[] = {
6830 /* d - byte alignment */
6831 	0x01, 0x06, 0x22, 0x53, 0x72, 0xae, 0x1a, 0x8c, 0x90, 0xb4, 0x61, 0xef,
6832 	0x65, 0x7b, 0xc7, 0xf5, 0x6f, 0x14, 0x7e, 0x06, 0x4d, 0x2b, 0x9e, 0xcc,
6833 	0x3e, 0x25, 0xf0, 0x1a, 0xcb, 0xd3, 0xd7, 0xd9, 0x79, 0xef, 0xf4, 0x8d,
6834 	0x70, 0x36, 0x34, 0x28, 0x4a, 0x2d, 0x6f, 0xdd, 0xb2, 0x16, 0x19, 0x18,
6835 	0xe9, 0xa1, 0x8a, 0x9a, 0x2d, 0x5d, 0x4e, 0x7b, 0xbe, 0xd2, 0xf7, 0x5b,
6836 	0x7a, 0x4c, 0xad, 0x37, 0x2a, 0x11, 0xbf, 0x7e, 0x11, 0x8d, 0xab, 0x4a
6837 };
6838 static const uint8_t nist_186_2_ecdsa_testvector_148_public_x[] = {
6839 /* Qx - byte alignment */
6840 	0x05, 0xab, 0x89, 0x4b, 0x73, 0xae, 0x5f, 0xcf, 0x82, 0x2e, 0x79, 0x2c,
6841 	0x06, 0x78, 0xfc, 0xaf, 0xa8, 0x10, 0x84, 0x71, 0x19, 0xa1, 0xbf, 0x44,
6842 	0x75, 0x6d, 0xd1, 0x5e, 0x44, 0xab, 0xd9, 0x94, 0x57, 0x7f, 0xdc, 0x33,
6843 	0x66, 0xc9, 0xf8, 0x1e, 0xaf, 0xa8, 0xaa, 0x1b, 0x50, 0x97, 0x7e, 0x86,
6844 	0xe1, 0xcf, 0xc9, 0xdc, 0x0a, 0xe9, 0xde, 0x38, 0xa9, 0x2c, 0x66, 0x90,
6845 	0x05, 0x93, 0x7d, 0xa7, 0xd5, 0xbc, 0x8a, 0xdf, 0x1a, 0xbc, 0x3e, 0x97
6846 };
6847 static const uint8_t nist_186_2_ecdsa_testvector_148_public_y[] = {
6848 /* Qy - byte alignment */
6849 	0x04, 0xba, 0xf7, 0x96, 0x45, 0x66, 0xb3, 0x8b, 0xaa, 0xa3, 0x33, 0x4d,
6850 	0xe1, 0x21, 0x14, 0x99, 0x43, 0xf2, 0x12, 0xd2, 0xd6, 0xa8, 0xb8, 0x91,
6851 	0xe0, 0x68, 0x24, 0xb4, 0x59, 0x9a, 0x03, 0x3a, 0xdd, 0x0c, 0x47, 0xa7,
6852 	0xf3, 0xa3, 0xe2, 0x33, 0x7b, 0x88, 0xf6, 0x24, 0x6c, 0xd2, 0xbe, 0x4f,
6853 	0x78, 0xdd, 0xd4, 0x1a, 0xdf, 0xb5, 0xb5, 0xae, 0x1f, 0x11, 0x16, 0x96,
6854 	0x6b, 0xad, 0xa7, 0xb3, 0x05, 0x98, 0xef, 0x5e, 0x9e, 0x5f, 0x0e, 0xe7
6855 };
6856 /* k = 0e16e40c853dc6c904ae4ed9c43a362c3a3edec8475b624b93e38002934f609aaec6a673bd38b6f4f579abe36435a608ec286ba1b3f56fdf9691a23bc70a276d4247f5310e04d7a */
6857 static const uint8_t nist_186_2_ecdsa_testvector_148_out[] = {
6858 /* R - byte alignment */
6859 	0x00, 0x73, 0xe1, 0x3e, 0x82, 0xa6, 0x62, 0xfd, 0x94, 0xb0, 0x2b, 0xea,
6860 	0xd7, 0x1d, 0x9b, 0x8c, 0x68, 0x22, 0x3b, 0xc5, 0x7d, 0x1b, 0x89, 0x28,
6861 	0x2a, 0xa2, 0x0a, 0x7a, 0xad, 0x71, 0xae, 0xc9, 0xae, 0xf3, 0x12, 0xa7,
6862 	0x67, 0x27, 0x55, 0x9c, 0xa6, 0xd1, 0xe9, 0xc5, 0xcd, 0xdb, 0x63, 0xe1,
6863 	0x0e, 0x18, 0x88, 0x42, 0xa7, 0x9b, 0x78, 0xe2, 0x71, 0x8b, 0x31, 0x21,
6864 	0x93, 0x1d, 0x7e, 0x12, 0x02, 0xb0, 0x42, 0x7b, 0x94, 0x64, 0x30, 0x29,
6865 /* S - byte alignment */
6866 	0x01, 0x04, 0x80, 0x75, 0xf9, 0x68, 0x12, 0x13, 0x5c, 0xdf, 0x64, 0x4f,
6867 	0x3c, 0x7b, 0x3c, 0x02, 0xe5, 0x71, 0x97, 0x56, 0x1c, 0xf1, 0x7b, 0x6b,
6868 	0xa1, 0xd4, 0xd7, 0x7f, 0x48, 0xcf, 0x53, 0x01, 0x67, 0xa4, 0x6e, 0xa7,
6869 	0x82, 0x9b, 0xec, 0x00, 0x9b, 0x20, 0xde, 0x15, 0xe5, 0x75, 0x3b, 0x35,
6870 	0x51, 0xda, 0x65, 0xc2, 0xc5, 0x5d, 0xb0, 0xb4, 0x90, 0x06, 0xd0, 0x85,
6871 	0x95, 0x53, 0xd0, 0xfe, 0xe0, 0x31, 0xc2, 0xc5, 0x82, 0xf4, 0x78, 0xc9
6872 };
6873 static const uint8_t nist_186_2_ecdsa_testvector_149_ptx[] = {
6874 /* Msg */
6875 	0x11, 0x94, 0x75, 0xc3, 0x75, 0x3a, 0x4e, 0x1a, 0x09, 0xf6, 0xf4, 0xd9,
6876 	0xff, 0xbe, 0xd7, 0xbc, 0xf0, 0x5e, 0xe6, 0x0a, 0xd9, 0x6a, 0xaf, 0x25,
6877 	0x63, 0x77, 0xc7, 0x60, 0x67, 0x8a, 0x6c, 0x12, 0xb1, 0xd1, 0x69, 0xe9,
6878 	0x04, 0x91, 0x3a, 0x80, 0x5f, 0x60, 0x71, 0x33, 0x7f, 0x94, 0x58, 0x32,
6879 	0xa5, 0xfb, 0xd8, 0xd4, 0x99, 0xcd, 0x99, 0x2e, 0xef, 0xde, 0x6b, 0xe5,
6880 	0x89, 0x18, 0xe5, 0x40, 0x5d, 0x29, 0x4b, 0x81, 0x78, 0x79, 0xb5, 0x76,
6881 	0x43, 0x5f, 0x6e, 0x4b, 0x06, 0x94, 0x9b, 0xa2, 0xaa, 0xe8, 0x1d, 0xe5,
6882 	0xc3, 0x33, 0xb8, 0xdb, 0xce, 0x8f, 0x74, 0x7a, 0xb6, 0xc4, 0x43, 0xfd,
6883 	0x9e, 0x04, 0xe5, 0x36, 0xda, 0xd9, 0x09, 0x24, 0x3e, 0x5b, 0xb5, 0xc8,
6884 	0x9c, 0xa6, 0xe7, 0x35, 0x88, 0x8b, 0x7d, 0xe7, 0x5e, 0x86, 0x52, 0x55,
6885 	0x87, 0xf0, 0xaa, 0xc9, 0xf7, 0x76, 0xd0, 0x70
6886 };
6887 static const uint8_t nist_186_2_ecdsa_testvector_149_private[] = {
6888 /* d - byte alignment */
6889 	0x00, 0xea, 0x88, 0xfc, 0x4d, 0x45, 0xc3, 0x68, 0x56, 0xc0, 0x4d, 0x6f,
6890 	0x90, 0x00, 0x3d, 0xdc, 0xfa, 0x10, 0xc0, 0xe4, 0x9a, 0x4e, 0xb4, 0x36,
6891 	0xe1, 0xe9, 0x92, 0x41, 0x37, 0x80, 0x91, 0x70, 0x87, 0xf2, 0xb0, 0x52,
6892 	0xde, 0x62, 0x39, 0x09, 0xfa, 0xeb, 0x99, 0x5b, 0x67, 0x4a, 0x8a, 0xb2,
6893 	0x14, 0x20, 0x8c, 0xaa, 0x3c, 0xd5, 0x0c, 0xf4, 0x53, 0x08, 0x95, 0xcf,
6894 	0x5a, 0xa9, 0xaf, 0x27, 0xc9, 0xbe, 0x7d, 0xc4, 0x47, 0x37, 0x7d, 0x4d
6895 };
6896 static const uint8_t nist_186_2_ecdsa_testvector_149_public_x[] = {
6897 /* Qx - byte alignment */
6898 	0x02, 0x8c, 0x5a, 0x67, 0x38, 0x2e, 0x01, 0xdc, 0x19, 0xf9, 0x49, 0xd9,
6899 	0xc8, 0xfb, 0x0b, 0x0e, 0xab, 0x5b, 0x08, 0x3b, 0x89, 0xf3, 0x63, 0x61,
6900 	0x58, 0x0c, 0x94, 0x61, 0xdd, 0xbe, 0x34, 0x15, 0x55, 0x9c, 0x6b, 0xdc,
6901 	0x6e, 0xd7, 0x61, 0xb4, 0x53, 0x73, 0x54, 0x57, 0xe2, 0x0c, 0xb8, 0x46,
6902 	0x8a, 0xa8, 0xaf, 0x81, 0x66, 0x0e, 0x4d, 0x5f, 0xb0, 0x0f, 0x7e, 0x50,
6903 	0x8e, 0x14, 0x18, 0xfa, 0xbd, 0xba, 0x20, 0xe9, 0x31, 0x35, 0x25, 0x9b
6904 };
6905 static const uint8_t nist_186_2_ecdsa_testvector_149_public_y[] = {
6906 /* Qy - byte alignment */
6907 	0x04, 0x43, 0xdf, 0x4d, 0x7b, 0xc9, 0x7d, 0xff, 0x16, 0xf5, 0xeb, 0xb7,
6908 	0xe9, 0x25, 0x1d, 0x3a, 0x33, 0xe2, 0x1f, 0xe3, 0x5c, 0xee, 0x80, 0xa9,
6909 	0x17, 0xfe, 0x46, 0xd9, 0xce, 0x6f, 0xef, 0xee, 0xd6, 0x8b, 0xe9, 0x60,
6910 	0x1b, 0x8f, 0xd4, 0x75, 0x0f, 0x63, 0x0d, 0x9e, 0xf5, 0x02, 0x8c, 0xb6,
6911 	0xc6, 0x19, 0x00, 0x9d, 0x05, 0xcd, 0xa1, 0xf9, 0xc4, 0x68, 0x6b, 0x89,
6912 	0x8d, 0x7e, 0x40, 0x23, 0x87, 0xf3, 0x97, 0xce, 0xd8, 0xc8, 0xec, 0x90
6913 };
6914 /* k = 17466571d853ff59d6471ac324805af5d5d72d2360a3f7a3e9529cb3489ed0c66c71b0dac9f0fa2d1de1f67c2eb01553e0c14b77e35f2db48ae361025241afd4ecc818dc50133a4 */
6915 static const uint8_t nist_186_2_ecdsa_testvector_149_out[] = {
6916 /* R - byte alignment */
6917 	0x00, 0xd4, 0x0d, 0xb5, 0x62, 0xa9, 0xac, 0xe3, 0x40, 0xbb, 0xfb, 0x70,
6918 	0xb0, 0x7a, 0xd9, 0x90, 0x29, 0x4b, 0xfb, 0xaf, 0x5b, 0xe6, 0xb8, 0x83,
6919 	0x9c, 0x9d, 0xf5, 0x34, 0x75, 0x46, 0x35, 0x03, 0xae, 0x55, 0x99, 0xda,
6920 	0xf2, 0xa6, 0x56, 0xcf, 0xcc, 0xbf, 0xa9, 0x08, 0xc8, 0x8c, 0xe3, 0x7c,
6921 	0x2b, 0x46, 0xb3, 0xac, 0x71, 0xcc, 0x58, 0x45, 0x60, 0xa7, 0x50, 0x7d,
6922 	0xb8, 0x00, 0x9e, 0x63, 0xb0, 0x88, 0x8c, 0x8e, 0x53, 0x19, 0xfe, 0xde,
6923 /* S - byte alignment */
6924 	0x00, 0xc7, 0xf0, 0x6c, 0xb8, 0xb8, 0xf8, 0x3c, 0x86, 0x2c, 0xd3, 0x50,
6925 	0x62, 0xe9, 0x09, 0xe3, 0xee, 0x61, 0x5a, 0x8c, 0x3f, 0x83, 0x15, 0x67,
6926 	0x80, 0x45, 0xa0, 0x1e, 0xdc, 0x4d, 0x89, 0x88, 0xe1, 0x01, 0xc1, 0xea,
6927 	0xe8, 0x80, 0x1e, 0x3d, 0xa4, 0x7f, 0x92, 0xa2, 0xd3, 0xcc, 0x67, 0xba,
6928 	0x84, 0x2e, 0x5a, 0xf1, 0x3e, 0x0b, 0xaf, 0x96, 0xe0, 0x4e, 0x60, 0xfc,
6929 	0xb2, 0xa4, 0x85, 0x2e, 0x11, 0x54, 0xb6, 0x27, 0xfe, 0xbb, 0x72, 0x7a
6930 };
6931 static const uint8_t nist_186_2_ecdsa_testvector_150_ptx[] = {
6932 /* Msg */
6933 	0x31, 0x94, 0x16, 0xc2, 0x93, 0x4e, 0x83, 0xe5, 0x2e, 0xb3, 0xf1, 0x01,
6934 	0xe8, 0xa3, 0x11, 0x14, 0x94, 0x2f, 0xfd, 0xe1, 0xba, 0x50, 0x1c, 0x43,
6935 	0x9b, 0xd8, 0x45, 0xc2, 0x70, 0xa8, 0x27, 0x64, 0xf3, 0x24, 0xe8, 0xc5,
6936 	0x20, 0xe4, 0x0c, 0x6a, 0x3d, 0xac, 0x99, 0x53, 0x18, 0x9f, 0x78, 0xcf,
6937 	0x90, 0xaf, 0x1f, 0x95, 0x56, 0x58, 0x6d, 0x0f, 0xf5, 0x8e, 0xd5, 0xf9,
6938 	0x10, 0xf4, 0xbf, 0x2b, 0xeb, 0x4e, 0x2b, 0xb3, 0x2e, 0x39, 0x98, 0x27,
6939 	0xe5, 0x1a, 0x24, 0x3a, 0xca, 0x54, 0xf4, 0x8c, 0xc7, 0xbe, 0xd6, 0xc7,
6940 	0xb7, 0x54, 0x25, 0xe7, 0x6d, 0x2c, 0xee, 0xd9, 0xf7, 0xac, 0x50, 0x48,
6941 	0x23, 0xfb, 0x29, 0xb4, 0x43, 0xb5, 0xef, 0xc4, 0x2e, 0xe3, 0xdb, 0xdd,
6942 	0x87, 0x2a, 0x4d, 0xf3, 0x42, 0x42, 0x6c, 0x9f, 0x63, 0xaa, 0x0c, 0x72,
6943 	0x09, 0x9a, 0xd6, 0x8a, 0xac, 0x3a, 0xa2, 0x62
6944 };
6945 static const uint8_t nist_186_2_ecdsa_testvector_150_private[] = {
6946 /* d - byte alignment */
6947 	0x00, 0xd7, 0x64, 0x1d, 0x00, 0xae, 0x2a, 0xa1, 0xb8, 0x4e, 0x28, 0x5e,
6948 	0x8a, 0xec, 0x02, 0xf3, 0xd0, 0xdb, 0x16, 0x83, 0xec, 0xa0, 0x2e, 0xee,
6949 	0x2a, 0x1e, 0x14, 0x52, 0x3e, 0x32, 0x6f, 0x1f, 0x5b, 0x7c, 0xbd, 0x14,
6950 	0xa0, 0x9f, 0x90, 0x5b, 0xe2, 0xad, 0x6b, 0xde, 0x53, 0x99, 0x18, 0x51,
6951 	0x66, 0xb0, 0xe0, 0x13, 0x50, 0xcb, 0x28, 0x88, 0x5b, 0x0f, 0x6b, 0x09,
6952 	0x5a, 0x81, 0x9d, 0xe5, 0x6c, 0xe3, 0x15, 0xbf, 0x05, 0x0c, 0x02, 0x9b
6953 };
6954 static const uint8_t nist_186_2_ecdsa_testvector_150_public_x[] = {
6955 /* Qx - byte alignment */
6956 	0x07, 0x3d, 0x87, 0x9a, 0x43, 0x3d, 0x98, 0x9f, 0x74, 0xb2, 0x13, 0xd7,
6957 	0x67, 0x69, 0x64, 0x48, 0x50, 0x57, 0x92, 0x3d, 0xd1, 0x73, 0x50, 0x16,
6958 	0xa3, 0x61, 0x36, 0xca, 0x62, 0xad, 0xf8, 0xa6, 0xa4, 0xec, 0x40, 0x25,
6959 	0x5e, 0xdf, 0x9b, 0x07, 0xcb, 0x40, 0x75, 0xc2, 0xef, 0x0e, 0xc5, 0x8e,
6960 	0xeb, 0x9e, 0x02, 0xba, 0xfc, 0x75, 0x9d, 0x67, 0xbe, 0xeb, 0xe8, 0xdb,
6961 	0x14, 0xe2, 0x23, 0x58, 0x50, 0xbe, 0x1d, 0x2b, 0x59, 0x48, 0x5b, 0x8d
6962 };
6963 static const uint8_t nist_186_2_ecdsa_testvector_150_public_y[] = {
6964 /* Qy - byte alignment */
6965 	0x07, 0x0e, 0x91, 0x0d, 0xbf, 0x6e, 0x83, 0xcc, 0xd6, 0x46, 0xea, 0x00,
6966 	0x44, 0x85, 0x75, 0x03, 0xab, 0x42, 0x74, 0x9a, 0xfb, 0x92, 0x70, 0x17,
6967 	0x98, 0xda, 0x87, 0x1e, 0xbe, 0x35, 0x0e, 0x69, 0x1b, 0x14, 0xc6, 0xbd,
6968 	0xcb, 0x23, 0x28, 0xdf, 0x0d, 0x41, 0x18, 0x3e, 0x83, 0xec, 0xc3, 0x5a,
6969 	0xbc, 0x47, 0x55, 0xbc, 0xfb, 0x28, 0xdd, 0x8f, 0x3b, 0xbf, 0x60, 0x40,
6970 	0xd1, 0x9e, 0x6d, 0x89, 0x95, 0x3c, 0x47, 0xa3, 0x94, 0x30, 0xa2, 0xf5
6971 };
6972 /* k = 122174974c29e11768cf326bbd0f82c042b4f380f2920d2a331e08f5f8755067a7269a2d8ac0798509ed42ac00f3a1c7fbdaaa8d673f9524eb269d2eff04d86ac0cb0f6d809748a */
6973 static const uint8_t nist_186_2_ecdsa_testvector_150_out[] = {
6974 /* R - byte alignment */
6975 	0x01, 0x80, 0x33, 0x77, 0xea, 0x63, 0xf9, 0xf5, 0x57, 0x45, 0x11, 0x28,
6976 	0xb1, 0xa8, 0x85, 0xf4, 0xaf, 0xab, 0xc2, 0x86, 0x8a, 0xef, 0xe6, 0xa9,
6977 	0xfe, 0x2e, 0x84, 0xee, 0x15, 0x29, 0x40, 0x5c, 0x60, 0xd3, 0x13, 0x2a,
6978 	0x22, 0x1b, 0x6d, 0x7c, 0xe1, 0xb6, 0xd2, 0x8c, 0x55, 0xd5, 0x5c, 0xac,
6979 	0x2d, 0x00, 0x0e, 0x96, 0x9d, 0xa0, 0xab, 0x90, 0xa1, 0x8a, 0x0a, 0xf2,
6980 	0x8c, 0xd3, 0x59, 0x0b, 0xca, 0xc8, 0x5d, 0x71, 0xf8, 0x1b, 0x5e, 0x48,
6981 /* S - byte alignment */
6982 	0x01, 0x64, 0xc4, 0x20, 0xcc, 0x98, 0x41, 0x41, 0xa4, 0xbd, 0x14, 0x42,
6983 	0xd1, 0x8a, 0xb8, 0xdc, 0x6f, 0x57, 0xa8, 0xe8, 0xf7, 0x7c, 0xd2, 0xfa,
6984 	0x89, 0x94, 0x56, 0xff, 0xd1, 0x72, 0x89, 0xd1, 0x05, 0x46, 0x01, 0xfc,
6985 	0x10, 0x54, 0x70, 0xbc, 0x9a, 0xce, 0xc8, 0x60, 0xcd, 0xa2, 0x07, 0x4c,
6986 	0xe7, 0xb7, 0xbb, 0xdf, 0xf5, 0x9a, 0xf1, 0x33, 0x1d, 0xf1, 0x91, 0xae,
6987 	0xf4, 0x29, 0x8c, 0xf1, 0x3f, 0xf7, 0x65, 0x06, 0x7b, 0xd1, 0x63, 0x74
6988 };
6989 /* [B-163] - GP NOT SUPPORTED */
6990 static const uint8_t nist_186_2_ecdsa_testvector_151_ptx[] = {
6991 /* Msg */
6992 	0xc2, 0xd1, 0xaf, 0xa4, 0x0b, 0x33, 0x18, 0x01, 0x6d, 0xe5, 0xb6, 0x42,
6993 	0x91, 0xfe, 0x1b, 0x45, 0x32, 0x5e, 0x73, 0x15, 0x7f, 0x87, 0x0a, 0x5d,
6994 	0xc0, 0xaf, 0x0e, 0x23, 0x3d, 0x13, 0x95, 0xb2, 0x5b, 0x8d, 0xe1, 0xd8,
6995 	0x09, 0x69, 0xe3, 0x52, 0x5a, 0x75, 0xff, 0x85, 0x73, 0x57, 0x0f, 0x6f,
6996 	0xa8, 0x23, 0xaa, 0xdc, 0xe2, 0x2d, 0xa6, 0xdd, 0x44, 0x1c, 0xdb, 0x76,
6997 	0x0e, 0x40, 0x2a, 0x97, 0xc1, 0x26, 0xbf, 0x4d, 0x84, 0x69, 0x92, 0x3a,
6998 	0xc6, 0xca, 0x34, 0x43, 0x25, 0x83, 0xc8, 0x88, 0x8e, 0xd9, 0x4f, 0x99,
6999 	0xa6, 0xf1, 0x2a, 0xe7, 0x69, 0xe4, 0xd9, 0x78, 0x11, 0x15, 0x09, 0xdf,
7000 	0x3a, 0xc3, 0xce, 0x6c, 0x43, 0xda, 0x2d, 0xa0, 0xf7, 0x0f, 0xdd, 0xe3,
7001 	0x6d, 0x2b, 0x4e, 0x79, 0x2c, 0xa7, 0xeb, 0xb3, 0x93, 0x7a, 0x9d, 0x62,
7002 	0x79, 0x2f, 0x90, 0x91, 0x10, 0x3a, 0x39, 0x74
7003 };
7004 static const uint8_t nist_186_2_ecdsa_testvector_151_private[] = {
7005 /* d - byte alignment */
7006 	0x00, 0x00, 0x00, 0x01, 0x87, 0xc0, 0xc5, 0x88, 0xfb, 0xdc, 0xf9, 0x4a,
7007 	0x53, 0xb4, 0x51, 0x6d, 0x62, 0xd8, 0x98, 0xd0, 0x20
7008 };
7009 static const uint8_t nist_186_2_ecdsa_testvector_151_public_x[] = {
7010 /* Qx - byte alignment */
7011 	0x01, 0xe1, 0x6c, 0x18, 0xb8, 0x00, 0xd4, 0xd5, 0x5c, 0xea, 0x0e, 0x77,
7012 	0x22, 0x46, 0x73, 0x11, 0xd8, 0x98, 0xe4, 0x65, 0x4e
7013 };
7014 static const uint8_t nist_186_2_ecdsa_testvector_151_public_y[] = {
7015 /* Qy - byte alignment */
7016 	0x06, 0x9e, 0xc2, 0xe9, 0x5a, 0x75, 0xa5, 0x9f, 0x01, 0x41, 0x4c, 0xed,
7017 	0x5c, 0xeb, 0x72, 0xb8, 0xf3, 0x47, 0xa9, 0x62, 0x09
7018 };
7019 /* k = 0000002e9c9c0846b936a6c112c0131cfe9e997b7 */
7020 static const uint8_t nist_186_2_ecdsa_testvector_151_out[] = {
7021 /* R - byte alignment */
7022 	0x02, 0x66, 0x06, 0xf4, 0xab, 0xd3, 0xb5, 0x8b, 0x9f, 0x68, 0xd6, 0x4a,
7023 	0x55, 0xbf, 0x68, 0xa2, 0x2c, 0xf7, 0x3d, 0x02, 0x6d,
7024 /* S - byte alignment */
7025 	0x00, 0x20, 0xda, 0x66, 0x4d, 0x91, 0x19, 0x81, 0x36, 0x07, 0xaf, 0xbb,
7026 	0x17, 0xf4, 0xc3, 0xcb, 0x55, 0x5e, 0x1b, 0xc0, 0xd0
7027 };
7028 static const uint8_t nist_186_2_ecdsa_testvector_152_ptx[] = {
7029 /* Msg */
7030 	0xf0, 0x1c, 0x31, 0x54, 0x3a, 0x4a, 0xc1, 0x99, 0xca, 0xbd, 0x42, 0xc7,
7031 	0x67, 0xac, 0x61, 0xec, 0xba, 0xb0, 0xa0, 0x89, 0x0d, 0x78, 0x44, 0xe9,
7032 	0x52, 0xbf, 0x6e, 0xb0, 0x67, 0x7b, 0x88, 0xb7, 0x98, 0x57, 0xe2, 0x17,
7033 	0x66, 0x64, 0x9d, 0x84, 0x86, 0x0b, 0xc9, 0xdd, 0x2d, 0x47, 0xca, 0x00,
7034 	0x8b, 0x11, 0x00, 0xe3, 0x95, 0x1b, 0xa7, 0xe1, 0x08, 0xc0, 0xfb, 0x51,
7035 	0xab, 0x3b, 0xa0, 0x5d, 0xd4, 0x18, 0x42, 0x12, 0x2d, 0xe9, 0x79, 0xb3,
7036 	0xb8, 0x3a, 0xef, 0x53, 0x11, 0xc7, 0xc4, 0xa2, 0xf4, 0xec, 0x31, 0x08,
7037 	0xfe, 0x5c, 0x6c, 0xf0, 0xb8, 0x16, 0xcc, 0x67, 0xd1, 0x95, 0x2e, 0xe5,
7038 	0xab, 0x47, 0x97, 0x6a, 0x1a, 0x41, 0x1b, 0xcd, 0x68, 0x31, 0xfd, 0x51,
7039 	0x9c, 0x94, 0x17, 0x7a, 0xfb, 0x29, 0x7c, 0x1f, 0xd0, 0xa5, 0x5d, 0xbf,
7040 	0x69, 0xa8, 0x29, 0x19, 0x62, 0xf0, 0xf8, 0xf6
7041 };
7042 static const uint8_t nist_186_2_ecdsa_testvector_152_private[] = {
7043 /* d - byte alignment */
7044 	0x00, 0x00, 0x00, 0x02, 0xc9, 0x5e, 0xdf, 0x46, 0xf6, 0xe6, 0x10, 0x38,
7045 	0x48, 0xed, 0x80, 0xfa, 0x5b, 0x8c, 0x69, 0xa6, 0x29
7046 };
7047 static const uint8_t nist_186_2_ecdsa_testvector_152_public_x[] = {
7048 /* Qx - byte alignment */
7049 	0x02, 0xbb, 0xcf, 0x0a, 0xa9, 0x0a, 0xea, 0xd1, 0x76, 0x8b, 0x54, 0xb4,
7050 	0xb4, 0xf6, 0x64, 0x50, 0xd1, 0x8f, 0xd3, 0xc3, 0x96
7051 };
7052 static const uint8_t nist_186_2_ecdsa_testvector_152_public_y[] = {
7053 /* Qy - byte alignment */
7054 	0x00, 0xe1, 0x6e, 0x24, 0xf6, 0x01, 0xd7, 0xdd, 0x5d, 0x53, 0x22, 0x0f,
7055 	0x86, 0x38, 0x3c, 0x5d, 0x93, 0x4b, 0x57, 0x6b, 0xfb
7056 };
7057 /* k = 000000333fd7cc66b6f57a447d0bab348fb697710 */
7058 static const uint8_t nist_186_2_ecdsa_testvector_152_out[] = {
7059 /* R - byte alignment */
7060 	0x02, 0xe8, 0x4a, 0x2c, 0xef, 0x9d, 0x8e, 0x24, 0x69, 0xe1, 0x05, 0x93,
7061 	0x6d, 0x9f, 0x52, 0x23, 0x9f, 0xdf, 0x7c, 0x68, 0x0c,
7062 /* S - byte alignment */
7063 	0x01, 0xb7, 0x8c, 0xa4, 0xe6, 0xe8, 0xe6, 0x34, 0x08, 0x1f, 0x9d, 0x1a,
7064 	0x1f, 0x50, 0xaa, 0xdc, 0xe2, 0x64, 0x6a, 0x0c, 0x58
7065 };
7066 static const uint8_t nist_186_2_ecdsa_testvector_153_ptx[] = {
7067 /* Msg */
7068 	0xd0, 0xfa, 0xbb, 0x6f, 0x60, 0x95, 0x4c, 0xd1, 0x36, 0x59, 0x6d, 0x6a,
7069 	0xbb, 0x1c, 0x6a, 0xe2, 0x42, 0xf8, 0xc3, 0x4b, 0xe9, 0xa1, 0x30, 0x0e,
7070 	0xc0, 0xf5, 0xe3, 0x25, 0x2e, 0xd5, 0x0d, 0x8b, 0x90, 0x34, 0xa3, 0xf1,
7071 	0x22, 0x6d, 0x62, 0xb3, 0x23, 0xda, 0x11, 0x0a, 0x34, 0xa2, 0x06, 0x83,
7072 	0x02, 0xd2, 0xeb, 0xb0, 0x24, 0xb0, 0xc2, 0x1d, 0x47, 0x4c, 0x27, 0x85,
7073 	0x88, 0x57, 0xd5, 0x46, 0x21, 0x38, 0x6c, 0x13, 0x48, 0x5d, 0x72, 0xe9,
7074 	0x54, 0xcf, 0x97, 0x44, 0x22, 0x0a, 0x3d, 0x92, 0xb7, 0x0b, 0x37, 0xe8,
7075 	0x26, 0xaa, 0xd1, 0xf4, 0xb4, 0x2a, 0x11, 0x33, 0x3b, 0x0f, 0x3d, 0x63,
7076 	0xcc, 0x2f, 0x9d, 0x3c, 0x98, 0x0c, 0x82, 0x5b, 0x11, 0x61, 0x88, 0x7f,
7077 	0x4c, 0xfb, 0x17, 0xf7, 0xaa, 0xca, 0x30, 0x5b, 0xb7, 0x38, 0x66, 0x7b,
7078 	0x52, 0xb9, 0x2a, 0x95, 0x0f, 0xa4, 0x4c, 0xcb
7079 };
7080 static const uint8_t nist_186_2_ecdsa_testvector_153_private[] = {
7081 /* d - byte alignment */
7082 	0x00, 0x00, 0x00, 0x03, 0xf4, 0xc3, 0x94, 0xa9, 0xa5, 0xfa, 0x49, 0xf7,
7083 	0x8b, 0x90, 0x21, 0xe2, 0xb4, 0x7a, 0xfd, 0xb3, 0x8b
7084 };
7085 static const uint8_t nist_186_2_ecdsa_testvector_153_public_x[] = {
7086 /* Qx - byte alignment */
7087 	0x05, 0x78, 0x31, 0x04, 0xa8, 0x2a, 0x81, 0xf2, 0xe9, 0x77, 0xa7, 0xde,
7088 	0x8d, 0x8c, 0xdd, 0xed, 0x90, 0x23, 0x81, 0x41, 0xe6
7089 };
7090 static const uint8_t nist_186_2_ecdsa_testvector_153_public_y[] = {
7091 /* Qy - byte alignment */
7092 	0x05, 0x4d, 0x41, 0xba, 0x6a, 0xc3, 0xc4, 0xec, 0x5e, 0x49, 0x1c, 0x96,
7093 	0x4a, 0x9d, 0xe5, 0xeb, 0x04, 0x2a, 0xb8, 0x6c, 0xca
7094 };
7095 /* k = 00000009afe938c8eb8a501a12d6c6cb7759f72e5 */
7096 static const uint8_t nist_186_2_ecdsa_testvector_153_out[] = {
7097 /* R - byte alignment */
7098 	0x01, 0xda, 0x8a, 0xa8, 0xd7, 0x1f, 0x1e, 0x4f, 0x41, 0x70, 0x76, 0xd3,
7099 	0x5e, 0xa0, 0x9d, 0x28, 0x1f, 0x78, 0xbb, 0xd3, 0x15,
7100 /* S - byte alignment */
7101 	0x01, 0x4c, 0x68, 0x88, 0xc2, 0x4e, 0xb3, 0x17, 0x58, 0x32, 0x76, 0xb8,
7102 	0x21, 0x71, 0x34, 0x0c, 0x83, 0x72, 0x3c, 0xb0, 0x1e
7103 };
7104 static const uint8_t nist_186_2_ecdsa_testvector_154_ptx[] = {
7105 /* Msg */
7106 	0xa4, 0xa3, 0x72, 0xcf, 0xcb, 0x4e, 0x50, 0xd6, 0x14, 0x99, 0x41, 0xcf,
7107 	0x02, 0x89, 0x83, 0x14, 0x53, 0x73, 0x67, 0xc1, 0x86, 0x6f, 0xf7, 0xc5,
7108 	0x9b, 0x0a, 0xdb, 0x39, 0x1a, 0x3b, 0x7e, 0xf1, 0x56, 0x99, 0x6c, 0x51,
7109 	0xf3, 0xca, 0xff, 0x62, 0xa6, 0x3f, 0x3a, 0x25, 0x3c, 0x1e, 0xf5, 0x28,
7110 	0xde, 0x80, 0x3a, 0x56, 0x93, 0xdd, 0xf0, 0x13, 0x06, 0xc4, 0xb6, 0x89,
7111 	0x8a, 0xd0, 0x12, 0x3c, 0x5b, 0xd7, 0xcb, 0xe5, 0x26, 0x64, 0x93, 0x7d,
7112 	0xcc, 0x68, 0xe9, 0x98, 0x64, 0x2c, 0x3e, 0xf4, 0x7f, 0x8a, 0x57, 0x52,
7113 	0xaf, 0x5d, 0xf2, 0x84, 0x4a, 0x36, 0xac, 0xc8, 0x6b, 0x51, 0x22, 0x54,
7114 	0x3a, 0xc7, 0x57, 0x32, 0x6d, 0x04, 0x56, 0x4e, 0x0f, 0x7c, 0x18, 0xce,
7115 	0x80, 0x9a, 0xa7, 0xa1, 0xbe, 0xf9, 0x84, 0x5b, 0xe2, 0xd7, 0x46, 0x40,
7116 	0xee, 0xc7, 0x85, 0x9e, 0xc5, 0xa5, 0xf6, 0x61
7117 };
7118 static const uint8_t nist_186_2_ecdsa_testvector_154_private[] = {
7119 /* d - byte alignment */
7120 	0x00, 0x00, 0x00, 0x00, 0x10, 0x32, 0x29, 0x78, 0x79, 0x14, 0xb2, 0xc6,
7121 	0x85, 0x06, 0xdd, 0xc2, 0xef, 0xe5, 0x63, 0x01, 0x69
7122 };
7123 static const uint8_t nist_186_2_ecdsa_testvector_154_public_x[] = {
7124 /* Qx - byte alignment */
7125 	0x01, 0x81, 0x7c, 0xb0, 0x47, 0x6e, 0x95, 0x5d, 0xad, 0x76, 0x8f, 0x77,
7126 	0xba, 0x52, 0x23, 0x3d, 0xb1, 0xa5, 0x8c, 0x03, 0x5d
7127 };
7128 static const uint8_t nist_186_2_ecdsa_testvector_154_public_y[] = {
7129 /* Qy - byte alignment */
7130 	0x06, 0x18, 0xa8, 0x5d, 0x44, 0x19, 0x31, 0x11, 0x0d, 0xdd, 0x2e, 0xdc,
7131 	0x5b, 0x13, 0x4e, 0xa1, 0x06, 0x34, 0xe1, 0x79, 0x5a
7132 };
7133 /* k = 0000002fb9b0762de99093bb55e342fea56ee5330 */
7134 static const uint8_t nist_186_2_ecdsa_testvector_154_out[] = {
7135 /* R - byte alignment */
7136 	0x00, 0x86, 0xeb, 0x7a, 0x66, 0x59, 0x76, 0xa5, 0xd5, 0x8a, 0xa3, 0x6c,
7137 	0xbb, 0x50, 0xfd, 0x2a, 0xa4, 0x6a, 0x11, 0x8b, 0x2d,
7138 /* S - byte alignment */
7139 	0x00, 0xf9, 0x9a, 0x5d, 0xac, 0x0b, 0x35, 0xc5, 0x9f, 0x87, 0x03, 0x5f,
7140 	0x20, 0xbb, 0xba, 0x30, 0xba, 0xaa, 0x99, 0xb8, 0x79
7141 };
7142 static const uint8_t nist_186_2_ecdsa_testvector_155_ptx[] = {
7143 /* Msg */
7144 	0xd1, 0xb4, 0x16, 0x83, 0x6f, 0x44, 0x6b, 0xb1, 0x9e, 0xcd, 0xd0, 0xc5,
7145 	0xdc, 0xe3, 0x55, 0x1d, 0x5e, 0xfd, 0x6a, 0xfb, 0xb0, 0x83, 0xa1, 0x36,
7146 	0x9d, 0x28, 0xb5, 0x2f, 0x4e, 0x7a, 0xcc, 0x07, 0xb6, 0xb7, 0xf9, 0x0f,
7147 	0x2d, 0xe3, 0x05, 0x80, 0x5a, 0x17, 0x6f, 0x6d, 0x57, 0x1c, 0xb1, 0xf5,
7148 	0x10, 0x39, 0xc5, 0xbd, 0xec, 0x48, 0xe8, 0x9e, 0xb0, 0x0f, 0x9e, 0x9a,
7149 	0xa0, 0xce, 0xf6, 0x15, 0xe7, 0x15, 0x0f, 0x41, 0x38, 0xd8, 0xdb, 0xdb,
7150 	0xb6, 0xc5, 0x23, 0x15, 0x11, 0xd5, 0xcb, 0xd3, 0xf2, 0x22, 0x58, 0x19,
7151 	0x9a, 0xf8, 0xaf, 0xc4, 0xc6, 0x2e, 0x1f, 0x79, 0xd5, 0xb7, 0xa2, 0xdc,
7152 	0x2c, 0x74, 0x60, 0x02, 0xda, 0x4c, 0x75, 0x28, 0x78, 0x7f, 0xf4, 0xa5,
7153 	0x53, 0x37, 0x2c, 0x1d, 0xce, 0x61, 0x2a, 0xf8, 0x01, 0xba, 0x7f, 0x12,
7154 	0xa6, 0x2d, 0x43, 0xb4, 0x36, 0x5c, 0x59, 0xc4
7155 };
7156 static const uint8_t nist_186_2_ecdsa_testvector_155_private[] = {
7157 /* d - byte alignment */
7158 	0x00, 0x00, 0x00, 0x00, 0x90, 0x0c, 0x60, 0x8d, 0x8a, 0x2f, 0x46, 0xf1,
7159 	0x0e, 0x02, 0x39, 0x0e, 0x74, 0xec, 0x61, 0x14, 0xaf
7160 };
7161 static const uint8_t nist_186_2_ecdsa_testvector_155_public_x[] = {
7162 /* Qx - byte alignment */
7163 	0x01, 0xaa, 0x21, 0x7c, 0x61, 0x15, 0xe2, 0x60, 0x0d, 0x97, 0xde, 0xc6,
7164 	0x64, 0x55, 0x87, 0x64, 0x8b, 0xf6, 0x6b, 0x69, 0xf2
7165 };
7166 static const uint8_t nist_186_2_ecdsa_testvector_155_public_y[] = {
7167 /* Qy - byte alignment */
7168 	0x06, 0xc2, 0xf3, 0x05, 0x37, 0xeb, 0xbb, 0x44, 0x2d, 0xf6, 0x9e, 0xdf,
7169 	0x9f, 0xcd, 0xe8, 0xa2, 0x73, 0xc3, 0xe0, 0x26, 0xcc
7170 };
7171 /* k = 000000129013ba5076d03a52ed0bbeafadd591a72 */
7172 static const uint8_t nist_186_2_ecdsa_testvector_155_out[] = {
7173 /* R - byte alignment */
7174 	0x00, 0x60, 0x2f, 0x25, 0x0e, 0x61, 0x71, 0xac, 0x1a, 0xb8, 0x5f, 0x13,
7175 	0xad, 0x6b, 0x0c, 0x75, 0x19, 0xe7, 0xaa, 0xc3, 0xe0,
7176 /* S - byte alignment */
7177 	0x01, 0x45, 0x8f, 0xb5, 0xf2, 0x88, 0xa6, 0x52, 0x4d, 0xec, 0x62, 0x06,
7178 	0x76, 0xd7, 0xd3, 0xc0, 0x1c, 0x22, 0xfe, 0xa6, 0xcb
7179 };
7180 static const uint8_t nist_186_2_ecdsa_testvector_156_ptx[] = {
7181 /* Msg */
7182 	0x18, 0xab, 0xee, 0x60, 0xc8, 0x09, 0xc6, 0x41, 0x2d, 0x00, 0xb7, 0x33,
7183 	0x4b, 0x0f, 0x8d, 0xe0, 0xee, 0x63, 0x17, 0xf1, 0xee, 0x06, 0x86, 0xdf,
7184 	0xb2, 0x53, 0x17, 0x06, 0xf3, 0xad, 0xf2, 0xfc, 0xc2, 0x70, 0x51, 0x20,
7185 	0xcd, 0x28, 0xe4, 0x76, 0xde, 0x01, 0x75, 0xb2, 0xa4, 0x7f, 0xc8, 0x92,
7186 	0xb6, 0x6f, 0xc5, 0x71, 0xd5, 0x1e, 0xd8, 0x1a, 0x71, 0xc8, 0x99, 0xda,
7187 	0x6f, 0x53, 0xa8, 0xd9, 0x2a, 0x3d, 0xdb, 0xa9, 0xb8, 0xd4, 0x9c, 0x20,
7188 	0x6e, 0xa5, 0x8c, 0x63, 0xa6, 0x36, 0x6d, 0x44, 0xbf, 0xf8, 0x3e, 0xce,
7189 	0x66, 0x77, 0xa7, 0x1d, 0x14, 0xd4, 0x98, 0x74, 0xd8, 0x75, 0x2e, 0x89,
7190 	0x57, 0xfb, 0xd6, 0x23, 0x11, 0x74, 0xb4, 0xe7, 0xe6, 0xd2, 0x46, 0x6f,
7191 	0xd8, 0x9d, 0x44, 0x9d, 0x12, 0xe4, 0xcb, 0x2f, 0x2a, 0x79, 0xbb, 0x93,
7192 	0xa3, 0x5e, 0x5e, 0xfc, 0xb6, 0x7a, 0x4a, 0xb5
7193 };
7194 static const uint8_t nist_186_2_ecdsa_testvector_156_private[] = {
7195 /* d - byte alignment */
7196 	0x00, 0x00, 0x00, 0x03, 0x7b, 0x61, 0x94, 0xa9, 0xe4, 0xbe, 0xc4, 0xd1,
7197 	0x58, 0x6a, 0x2a, 0x24, 0x5f, 0xae, 0xab, 0x25, 0xac
7198 };
7199 static const uint8_t nist_186_2_ecdsa_testvector_156_public_x[] = {
7200 /* Qx - byte alignment */
7201 	0x01, 0x05, 0x8a, 0x0a, 0xb4, 0x61, 0xe8, 0x06, 0x53, 0x34, 0xc5, 0x4c,
7202 	0x80, 0x72, 0x31, 0x90, 0x93, 0x8c, 0xac, 0x81, 0x57
7203 };
7204 static const uint8_t nist_186_2_ecdsa_testvector_156_public_y[] = {
7205 /* Qy - byte alignment */
7206 	0x00, 0x7b, 0x51, 0x1e, 0xad, 0xd2, 0x50, 0x39, 0x5d, 0x96, 0x8a, 0x0a,
7207 	0x95, 0x94, 0xb2, 0x80, 0x9d, 0x88, 0x6a, 0x36, 0xc4
7208 };
7209 /* k = 0000001b020387027d94b94f2a8959e1e8634f544 */
7210 static const uint8_t nist_186_2_ecdsa_testvector_156_out[] = {
7211 /* R - byte alignment */
7212 	0x02, 0xae, 0x2d, 0x90, 0xd5, 0x73, 0xa8, 0x2e, 0x2c, 0x70, 0x4f, 0x1a,
7213 	0x1d, 0x6c, 0x1b, 0xb3, 0x36, 0xb3, 0x08, 0xd0, 0x0e,
7214 /* S - byte alignment */
7215 	0x01, 0x7e, 0xfb, 0x4e, 0x03, 0xe3, 0x0a, 0xee, 0x08, 0x91, 0x6a, 0xaa,
7216 	0xe8, 0x03, 0xf9, 0x3b, 0x9f, 0xa8, 0x9e, 0x88, 0x97
7217 };
7218 static const uint8_t nist_186_2_ecdsa_testvector_157_ptx[] = {
7219 /* Msg */
7220 	0xa9, 0xd6, 0x26, 0xa2, 0x1a, 0x5a, 0x4c, 0x54, 0xd8, 0xe4, 0xa9, 0x91,
7221 	0x62, 0xc2, 0xdd, 0xcb, 0x74, 0x90, 0xa6, 0x17, 0xdb, 0xb9, 0x53, 0xd6,
7222 	0x87, 0x3a, 0x7c, 0x94, 0xe2, 0xa9, 0xf1, 0x30, 0x60, 0x76, 0xf0, 0x3d,
7223 	0x57, 0x72, 0x9b, 0xa9, 0x12, 0x8d, 0xa8, 0x9c, 0x21, 0xe4, 0x5b, 0xa3,
7224 	0xf2, 0xfb, 0xb1, 0x0e, 0xa6, 0x46, 0xdf, 0x97, 0x1d, 0xef, 0xfa, 0x44,
7225 	0x53, 0xd3, 0xf8, 0x8e, 0xf0, 0xce, 0xd7, 0xc2, 0x1a, 0x38, 0x1c, 0xa8,
7226 	0x8e, 0xaf, 0x7f, 0x63, 0xef, 0x17, 0xe5, 0x98, 0x5d, 0xe0, 0x8e, 0xd2,
7227 	0x4a, 0x87, 0x90, 0x25, 0x89, 0x60, 0x84, 0x12, 0xa8, 0x92, 0x7f, 0xab,
7228 	0x80, 0x63, 0x44, 0xf7, 0x0a, 0xb6, 0xb7, 0x98, 0x75, 0xd1, 0x95, 0xab,
7229 	0x75, 0x64, 0x63, 0xf0, 0xdd, 0xc7, 0xa4, 0x2b, 0x70, 0x84, 0x4f, 0xca,
7230 	0xf4, 0x15, 0x80, 0xc7, 0x89, 0xef, 0x6e, 0xd0
7231 };
7232 static const uint8_t nist_186_2_ecdsa_testvector_157_private[] = {
7233 /* d - byte alignment */
7234 	0x00, 0x00, 0x00, 0x01, 0xe8, 0xd0, 0x55, 0xc3, 0x29, 0xc4, 0xa6, 0x00,
7235 	0x5f, 0xd2, 0x8c, 0xb0, 0x9e, 0xe0, 0x28, 0xcf, 0x84
7236 };
7237 static const uint8_t nist_186_2_ecdsa_testvector_157_public_x[] = {
7238 /* Qx - byte alignment */
7239 	0x00, 0xbb, 0x20, 0x5e, 0x46, 0xcf, 0x73, 0xd7, 0x6a, 0x06, 0x5f, 0xfd,
7240 	0xdb, 0xdc, 0x2c, 0x55, 0x7c, 0xd8, 0xba, 0x63, 0xf4
7241 };
7242 static const uint8_t nist_186_2_ecdsa_testvector_157_public_y[] = {
7243 /* Qy - byte alignment */
7244 	0x03, 0x33, 0x92, 0x53, 0xcd, 0xc8, 0x2c, 0xcf, 0x24, 0x58, 0x05, 0x33,
7245 	0x89, 0x59, 0x59, 0xbc, 0xeb, 0x46, 0x7a, 0xda, 0xd0
7246 };
7247 /* k = 0000000d70f69010361a39558ae58c460cc9fdf0a */
7248 static const uint8_t nist_186_2_ecdsa_testvector_157_out[] = {
7249 /* R - byte alignment */
7250 	0x02, 0xa7, 0x75, 0xfa, 0xfe, 0xb8, 0x16, 0xbe, 0x66, 0x0f, 0xcd, 0x7f,
7251 	0x1a, 0x94, 0xa9, 0x45, 0x50, 0x52, 0x55, 0xa8, 0xd9,
7252 /* S - byte alignment */
7253 	0x02, 0x68, 0xbd, 0x5e, 0xdb, 0xb6, 0x43, 0x27, 0x46, 0xa2, 0xfd, 0xe7,
7254 	0xa5, 0xfb, 0xcc, 0x37, 0xdf, 0x6f, 0x04, 0xbf, 0xd4
7255 };
7256 static const uint8_t nist_186_2_ecdsa_testvector_158_ptx[] = {
7257 /* Msg */
7258 	0x32, 0x83, 0xa8, 0x5c, 0x84, 0x30, 0xf2, 0xca, 0x98, 0x1b, 0x00, 0x74,
7259 	0x5e, 0xbe, 0x73, 0x47, 0x9c, 0x1c, 0x50, 0x07, 0x9b, 0xa8, 0x54, 0x4b,
7260 	0x21, 0x62, 0x88, 0xc9, 0x9e, 0x43, 0x15, 0xd3, 0xaa, 0xdb, 0x58, 0x22,
7261 	0xaf, 0x39, 0x39, 0xd3, 0xe3, 0x0b, 0xb9, 0xaf, 0x7a, 0x06, 0xcb, 0xaf,
7262 	0x19, 0x88, 0x65, 0xbf, 0x8d, 0x7c, 0xd6, 0xc3, 0xbd, 0x7f, 0x5a, 0xd8,
7263 	0xdd, 0x40, 0xec, 0xdc, 0xe5, 0x2d, 0x5b, 0x30, 0x42, 0x4c, 0xa0, 0xbc,
7264 	0xcb, 0x66, 0x6f, 0x34, 0xf6, 0x6b, 0x0c, 0x9a, 0x4c, 0x12, 0x60, 0x05,
7265 	0x1a, 0xc0, 0x4c, 0xa0, 0x6a, 0xab, 0x3d, 0xf5, 0x31, 0x3f, 0x01, 0x6c,
7266 	0xca, 0xc1, 0xd9, 0x0e, 0xa3, 0x32, 0xcf, 0x8f, 0x37, 0x76, 0x49, 0x8c,
7267 	0x3c, 0xb5, 0xdf, 0x11, 0x1d, 0x02, 0x6a, 0x5e, 0xaa, 0x3a, 0x5d, 0xeb,
7268 	0x0f, 0x2f, 0x59, 0xa9, 0x02, 0x06, 0xfb, 0x8b
7269 };
7270 static const uint8_t nist_186_2_ecdsa_testvector_158_private[] = {
7271 /* d - byte alignment */
7272 	0x00, 0x00, 0x00, 0x01, 0x03, 0xd9, 0xc3, 0x95, 0x81, 0x45, 0xf2, 0x4c,
7273 	0x41, 0x60, 0x07, 0x69, 0x0d, 0x7d, 0xf1, 0x43, 0x88
7274 };
7275 static const uint8_t nist_186_2_ecdsa_testvector_158_public_x[] = {
7276 /* Qx - byte alignment */
7277 	0x06, 0xa3, 0xbe, 0x2c, 0x25, 0x99, 0x7e, 0x75, 0x6d, 0xe9, 0xe2, 0x28,
7278 	0x6e, 0x7a, 0xc0, 0x33, 0xac, 0xb1, 0xbd, 0x90, 0x78
7279 };
7280 static const uint8_t nist_186_2_ecdsa_testvector_158_public_y[] = {
7281 /* Qy - byte alignment */
7282 	0x05, 0xed, 0xfa, 0x21, 0x57, 0x65, 0x58, 0xbb, 0x32, 0xe6, 0xbb, 0x7c,
7283 	0x4e, 0x4a, 0xed, 0xdf, 0x57, 0xf2, 0x17, 0xd4, 0x89
7284 };
7285 /* k = 0000002b007ad6ec8aebb6388cfe7a060672e50fb */
7286 static const uint8_t nist_186_2_ecdsa_testvector_158_out[] = {
7287 /* R - byte alignment */
7288 	0x03, 0xa6, 0x91, 0xe5, 0xbe, 0x8c, 0xbe, 0x8b, 0x5e, 0xd3, 0xeb, 0x8e,
7289 	0x2e, 0xbb, 0x6e, 0xee, 0xf1, 0xa5, 0x64, 0xae, 0xd2,
7290 /* S - byte alignment */
7291 	0x02, 0xd8, 0x64, 0xaa, 0x86, 0x20, 0x16, 0x34, 0x08, 0xe5, 0xff, 0x81,
7292 	0x52, 0x5e, 0x16, 0xf2, 0x77, 0xec, 0x4e, 0x4c, 0x40
7293 };
7294 static const uint8_t nist_186_2_ecdsa_testvector_159_ptx[] = {
7295 /* Msg */
7296 	0xc2, 0xdc, 0x36, 0xa2, 0xa3, 0xc2, 0x2f, 0xfd, 0xfe, 0xa9, 0xce, 0x61,
7297 	0x54, 0x62, 0xb7, 0xaf, 0x93, 0x6f, 0x70, 0x25, 0x8d, 0xad, 0x73, 0x26,
7298 	0xa9, 0x36, 0x81, 0x3e, 0xd9, 0x85, 0x3a, 0x61, 0xcc, 0xdb, 0xeb, 0x73,
7299 	0x64, 0xe2, 0xa7, 0x0e, 0x6a, 0x90, 0x99, 0x7f, 0x81, 0x4f, 0x98, 0x11,
7300 	0x58, 0x5b, 0xfc, 0x8f, 0x24, 0x6b, 0xb0, 0x04, 0x4e, 0x93, 0x89, 0xc5,
7301 	0x68, 0x69, 0xd6, 0xb1, 0x66, 0x67, 0x39, 0xb8, 0x0b, 0x90, 0xb5, 0x9a,
7302 	0xa1, 0x56, 0x07, 0xf1, 0xed, 0xbc, 0x3a, 0x72, 0x62, 0xb8, 0x76, 0x70,
7303 	0x95, 0xdb, 0x19, 0xa1, 0xf1, 0x33, 0x08, 0x25, 0xac, 0x71, 0x48, 0xc4,
7304 	0xf9, 0x47, 0xc8, 0x78, 0x80, 0x14, 0x81, 0x2b, 0x0b, 0xc3, 0xc1, 0xc1,
7305 	0x82, 0xf0, 0xc4, 0x59, 0x19, 0x4d, 0x85, 0xd0, 0xc8, 0x45, 0xd3, 0x87,
7306 	0xfc, 0xdf, 0xa7, 0x67, 0x8c, 0xe4, 0xb5, 0x22
7307 };
7308 static const uint8_t nist_186_2_ecdsa_testvector_159_private[] = {
7309 /* d - byte alignment */
7310 	0x00, 0x00, 0x00, 0x03, 0x2f, 0xee, 0x2b, 0xb5, 0xf7, 0xb2, 0xcf, 0x24,
7311 	0x2a, 0x14, 0x9c, 0xdc, 0x2a, 0xf3, 0x28, 0x8c, 0x98
7312 };
7313 static const uint8_t nist_186_2_ecdsa_testvector_159_public_x[] = {
7314 /* Qx - byte alignment */
7315 	0x02, 0x74, 0xb4, 0x32, 0x30, 0xb8, 0xb7, 0x4c, 0x55, 0x4b, 0xf4, 0xf4,
7316 	0x0a, 0x94, 0x30, 0xb5, 0xc9, 0xdf, 0x16, 0x24, 0xe8
7317 };
7318 static const uint8_t nist_186_2_ecdsa_testvector_159_public_y[] = {
7319 /* Qy - byte alignment */
7320 	0x02, 0x35, 0xc4, 0xf1, 0xfa, 0xe7, 0x72, 0xcc, 0xca, 0x08, 0xa4, 0xe7,
7321 	0xb7, 0x00, 0xc1, 0xbe, 0x54, 0x80, 0xfa, 0x84, 0x38
7322 };
7323 /* k = 0000000d91ac5eb54506ebfe2a8ab846e2b30c3a2 */
7324 static const uint8_t nist_186_2_ecdsa_testvector_159_out[] = {
7325 /* R - byte alignment */
7326 	0x01, 0x74, 0xf2, 0xba, 0xf3, 0xf7, 0xb3, 0x1a, 0xdc, 0x85, 0xdb, 0x39,
7327 	0x6c, 0xf2, 0xcc, 0x8b, 0x34, 0x50, 0xb8, 0x0c, 0x40,
7328 /* S - byte alignment */
7329 	0x03, 0xec, 0x94, 0xcb, 0x19, 0xf4, 0xf2, 0xb0, 0x29, 0x5a, 0x14, 0x27,
7330 	0x3d, 0xea, 0xe9, 0xd6, 0xa1, 0x5a, 0xcc, 0xa8, 0x0f
7331 };
7332 static const uint8_t nist_186_2_ecdsa_testvector_160_ptx[] = {
7333 /* Msg */
7334 	0xf4, 0x84, 0x1c, 0xb2, 0x46, 0x37, 0x4d, 0x7b, 0x0a, 0xc6, 0x4a, 0xc1,
7335 	0xc4, 0x3a, 0x4d, 0xe4, 0x1d, 0x23, 0xef, 0x23, 0x2c, 0xd1, 0x92, 0x6d,
7336 	0xf5, 0xc7, 0x00, 0x73, 0x2f, 0x6d, 0x50, 0x02, 0x4b, 0x05, 0x0a, 0x90,
7337 	0xb1, 0xe0, 0x8b, 0x15, 0x4d, 0xd2, 0xaa, 0x1c, 0x4a, 0xe3, 0x9b, 0x19,
7338 	0x1d, 0x47, 0x14, 0xfd, 0xc6, 0x91, 0xaf, 0x08, 0x52, 0x23, 0x90, 0xde,
7339 	0xa5, 0xe9, 0x47, 0xde, 0x76, 0x47, 0xf7, 0xaf, 0x9b, 0x4f, 0xb8, 0x1b,
7340 	0x87, 0x38, 0x3b, 0x21, 0x11, 0x0b, 0xad, 0x45, 0x77, 0xa0, 0xdd, 0x2b,
7341 	0xa2, 0xc9, 0xa0, 0x64, 0xab, 0xcd, 0x75, 0x88, 0x9f, 0x18, 0x65, 0x85,
7342 	0x7f, 0x30, 0x2d, 0x36, 0x8b, 0xeb, 0x9f, 0x38, 0xc0, 0xe0, 0x46, 0xf9,
7343 	0xa0, 0x1b, 0x49, 0x11, 0x31, 0x15, 0x91, 0xd6, 0x48, 0xe3, 0x2e, 0x2a,
7344 	0x07, 0xad, 0xf7, 0x98, 0xa5, 0x62, 0x71, 0xa0
7345 };
7346 static const uint8_t nist_186_2_ecdsa_testvector_160_private[] = {
7347 /* d - byte alignment */
7348 	0x00, 0x00, 0x00, 0x03, 0xf8, 0x99, 0x5d, 0xc1, 0xeb, 0x5b, 0x51, 0x69,
7349 	0xb2, 0x3b, 0x3f, 0x79, 0x1b, 0xe9, 0x10, 0x30, 0xe2
7350 };
7351 static const uint8_t nist_186_2_ecdsa_testvector_160_public_x[] = {
7352 /* Qx - byte alignment */
7353 	0x02, 0xfd, 0xe9, 0xa6, 0x3f, 0x79, 0xc8, 0xc8, 0x5b, 0x95, 0x9e, 0x89,
7354 	0x66, 0xd2, 0xa5, 0x25, 0x21, 0xa6, 0x39, 0xc2, 0xd0
7355 };
7356 static const uint8_t nist_186_2_ecdsa_testvector_160_public_y[] = {
7357 /* Qy - byte alignment */
7358 	0x01, 0xc1, 0x84, 0x87, 0xed, 0xe8, 0x81, 0x54, 0x98, 0xc0, 0xfa, 0x1a,
7359 	0x75, 0x6a, 0x95, 0x0f, 0xef, 0x03, 0x3d, 0x52, 0x3b
7360 };
7361 /* k = 00000013d1e8e7e08d3e5f315a32d2061bedf8065 */
7362 static const uint8_t nist_186_2_ecdsa_testvector_160_out[] = {
7363 /* R - byte alignment */
7364 	0x02, 0x71, 0x5e, 0x19, 0x54, 0x44, 0x80, 0x01, 0x06, 0xb9, 0x56, 0xcb,
7365 	0xcb, 0x8f, 0x25, 0x8a, 0xd8, 0x35, 0x21, 0x4b, 0x22,
7366 /* S - byte alignment */
7367 	0x01, 0x64, 0xa1, 0xd8, 0x2d, 0x2a, 0xc3, 0xcd, 0x5b, 0x76, 0x1e, 0x58,
7368 	0x8d, 0xd4, 0xc5, 0xc6, 0x83, 0x8b, 0xad, 0xfd, 0x43
7369 };
7370 static const uint8_t nist_186_2_ecdsa_testvector_161_ptx[] = {
7371 /* Msg */
7372 	0x56, 0x52, 0x6f, 0x99, 0x8e, 0x82, 0x99, 0x2f, 0xd1, 0xf0, 0xf3, 0x79,
7373 	0x26, 0x93, 0x65, 0x50, 0x56, 0x1f, 0xa3, 0x2a, 0x51, 0xda, 0xaf, 0x8d,
7374 	0xce, 0xac, 0xa0, 0xca, 0x32, 0x76, 0xa1, 0xe7, 0xb3, 0xa5, 0x3c, 0xdd,
7375 	0xbd, 0x07, 0xd9, 0x04, 0x94, 0xdd, 0x81, 0xcb, 0x3c, 0x31, 0xe8, 0xac,
7376 	0x96, 0x6a, 0xab, 0x5f, 0xcb, 0x1d, 0xd6, 0x4e, 0xed, 0x26, 0xa9, 0x4a,
7377 	0xdc, 0xf8, 0x9c, 0x7c, 0x67, 0x31, 0xa0, 0x9e, 0xb4, 0x72, 0xa8, 0x6b,
7378 	0xe2, 0x6d, 0x68, 0x53, 0xec, 0x3f, 0x5c, 0x74, 0xd1, 0x01, 0x0d, 0xc6,
7379 	0xf2, 0x99, 0x90, 0x95, 0xbb, 0xd6, 0x4f, 0x35, 0x85, 0xbd, 0x0c, 0xf1,
7380 	0xbb, 0x1d, 0x22, 0x44, 0x3c, 0x6a, 0x0e, 0x4c, 0x01, 0xc7, 0x2f, 0x7b,
7381 	0x00, 0x65, 0xca, 0x90, 0x50, 0x0c, 0x51, 0xc5, 0x8d, 0xf7, 0xe5, 0x4a,
7382 	0x7e, 0xe5, 0x19, 0xf3, 0xf5, 0x6d, 0xf9, 0x2e
7383 };
7384 static const uint8_t nist_186_2_ecdsa_testvector_161_private[] = {
7385 /* d - byte alignment */
7386 	0x00, 0x00, 0x00, 0x00, 0x09, 0xed, 0x47, 0x3f, 0xc4, 0xd9, 0x06, 0x96,
7387 	0x46, 0xe8, 0xda, 0xe1, 0x43, 0x4f, 0x2a, 0x05, 0x66
7388 };
7389 static const uint8_t nist_186_2_ecdsa_testvector_161_public_x[] = {
7390 /* Qx - byte alignment */
7391 	0x04, 0xd0, 0xfa, 0x3a, 0xc7, 0x35, 0xcf, 0x1c, 0xc1, 0x56, 0xf0, 0x47,
7392 	0x70, 0xff, 0x3f, 0x71, 0x48, 0x9e, 0xcb, 0x44, 0x4f
7393 };
7394 static const uint8_t nist_186_2_ecdsa_testvector_161_public_y[] = {
7395 /* Qy - byte alignment */
7396 	0x04, 0x54, 0x3c, 0xb6, 0x4c, 0xfa, 0xe5, 0xed, 0x2c, 0xd8, 0x1e, 0x54,
7397 	0x70, 0xe5, 0x89, 0x88, 0x1e, 0x32, 0xaf, 0x76, 0x16
7398 };
7399 /* k = 000000383482f2cd0b0635e07dc0179f8d4a478ca */
7400 static const uint8_t nist_186_2_ecdsa_testvector_161_out[] = {
7401 /* R - byte alignment */
7402 	0x01, 0xa0, 0x0a, 0xa7, 0xce, 0xc4, 0xf1, 0xbf, 0x5d, 0xc0, 0x86, 0x5c,
7403 	0xf2, 0xf6, 0x6b, 0x2a, 0x23, 0x6f, 0x92, 0xf0, 0xf6,
7404 /* S - byte alignment */
7405 	0x03, 0x65, 0x7c, 0xdd, 0x4f, 0x17, 0xfe, 0x59, 0x2f, 0xa0, 0x17, 0x3c,
7406 	0x57, 0xc8, 0x55, 0x4e, 0xf6, 0xb1, 0xf6, 0x3b, 0x90
7407 };
7408 static const uint8_t nist_186_2_ecdsa_testvector_162_ptx[] = {
7409 /* Msg */
7410 	0x0c, 0x12, 0x8f, 0x1c, 0x5f, 0x04, 0x38, 0xe8, 0xe2, 0x05, 0xda, 0x4e,
7411 	0x08, 0xc7, 0x33, 0xa6, 0x19, 0x88, 0x5a, 0x38, 0x8f, 0xe4, 0x47, 0xab,
7412 	0xc1, 0xed, 0x96, 0xc1, 0xbe, 0x7d, 0x88, 0x41, 0x7c, 0xcb, 0x4b, 0x34,
7413 	0x32, 0x3d, 0x7b, 0x53, 0x02, 0x7d, 0xe8, 0xc1, 0xdb, 0xcf, 0x9a, 0xf6,
7414 	0x9e, 0xa2, 0x12, 0xfb, 0x7f, 0x64, 0xd3, 0xdd, 0xaf, 0x9b, 0x21, 0x5c,
7415 	0x38, 0x32, 0x09, 0xe3, 0x28, 0x10, 0xa1, 0xbd, 0xf1, 0xf0, 0x91, 0x85,
7416 	0x10, 0x6c, 0xd2, 0xde, 0xed, 0x5a, 0xb6, 0x65, 0x02, 0x5c, 0x29, 0xe4,
7417 	0x40, 0xb3, 0x36, 0xc9, 0xae, 0x54, 0xcd, 0xd6, 0x54, 0x3e, 0xc3, 0x19,
7418 	0x57, 0x0a, 0x1a, 0x1f, 0x65, 0xc4, 0x83, 0x65, 0x53, 0xf9, 0x21, 0x0f,
7419 	0x05, 0x11, 0x90, 0xdc, 0x8f, 0xdf, 0x26, 0x5a, 0x99, 0x77, 0x78, 0x56,
7420 	0x08, 0x40, 0x20, 0x97, 0xdb, 0x4a, 0xbe, 0xcc
7421 };
7422 static const uint8_t nist_186_2_ecdsa_testvector_162_private[] = {
7423 /* d - byte alignment */
7424 	0x00, 0x00, 0x00, 0x03, 0x7a, 0xeb, 0x88, 0x81, 0xcc, 0x1a, 0x37, 0x86,
7425 	0x8f, 0xee, 0xbf, 0x0a, 0xfb, 0x16, 0x63, 0x47, 0xe3
7426 };
7427 static const uint8_t nist_186_2_ecdsa_testvector_162_public_x[] = {
7428 /* Qx - byte alignment */
7429 	0x05, 0x3c, 0x87, 0x66, 0x95, 0x7f, 0xa8, 0x79, 0x0a, 0xde, 0x8a, 0xbb,
7430 	0xe0, 0xe7, 0x43, 0xfe, 0x97, 0x07, 0x5e, 0xe0, 0xd4
7431 };
7432 static const uint8_t nist_186_2_ecdsa_testvector_162_public_y[] = {
7433 /* Qy - byte alignment */
7434 	0x01, 0x54, 0x17, 0x7a, 0x8f, 0xb1, 0x82, 0xd8, 0xb1, 0xdf, 0x53, 0x12,
7435 	0xc4, 0x90, 0x21, 0xdc, 0x8d, 0x23, 0x1c, 0xb7, 0x87
7436 };
7437 /* k = 00000023c13933cd6db18498861ce7341b3769879 */
7438 static const uint8_t nist_186_2_ecdsa_testvector_162_out[] = {
7439 /* R - byte alignment */
7440 	0x00, 0x50, 0xb4, 0x70, 0x1f, 0xbf, 0xfa, 0x98, 0xad, 0x36, 0x3c, 0x2b,
7441 	0x2a, 0xaf, 0xa3, 0xdb, 0xeb, 0x71, 0x82, 0xde, 0x3f,
7442 /* S - byte alignment */
7443 	0x03, 0x10, 0x65, 0xd4, 0xb4, 0x20, 0xe1, 0xac, 0xe0, 0x9d, 0x5b, 0xd9,
7444 	0x57, 0x02, 0xbf, 0x8b, 0x76, 0x4e, 0xd3, 0x04, 0x48
7445 };
7446 static const uint8_t nist_186_2_ecdsa_testvector_163_ptx[] = {
7447 /* Msg */
7448 	0xf1, 0x76, 0xec, 0x2d, 0x74, 0xb0, 0x34, 0xa9, 0x38, 0xf2, 0x02, 0xcd,
7449 	0x68, 0xd0, 0x62, 0xfc, 0x28, 0xe8, 0x4d, 0xe3, 0xc1, 0x75, 0xe2, 0xae,
7450 	0xfe, 0x21, 0xf3, 0x7c, 0xd6, 0x1b, 0xc3, 0x10, 0x4a, 0x6a, 0x0e, 0xc9,
7451 	0x91, 0x81, 0x4a, 0xd4, 0x73, 0x13, 0x2d, 0xa0, 0xf3, 0x28, 0x6f, 0x92,
7452 	0x30, 0x71, 0xd1, 0xfb, 0x8d, 0xd8, 0x5e, 0x47, 0x10, 0x5c, 0xf1, 0x77,
7453 	0x08, 0x1c, 0xf7, 0xd1, 0xf3, 0xb1, 0x76, 0xd5, 0x9e, 0xc1, 0x4f, 0x74,
7454 	0x8e, 0xd1, 0xc0, 0x7d, 0x9f, 0x5b, 0x2c, 0x58, 0xeb, 0x21, 0x1f, 0xf6,
7455 	0xed, 0xc0, 0x8d, 0x08, 0xe7, 0x88, 0x5a, 0x6f, 0x80, 0x8b, 0x1f, 0xf4,
7456 	0xb2, 0xf4, 0x2c, 0x3a, 0xe3, 0x9b, 0xc9, 0xf0, 0x52, 0xd6, 0xc2, 0x4b,
7457 	0xb5, 0x91, 0x22, 0xb4, 0x21, 0xa1, 0x3e, 0xbe, 0x29, 0x55, 0xf5, 0x5a,
7458 	0x4a, 0x4e, 0x37, 0x4e, 0x87, 0x91, 0xc4, 0xe3
7459 };
7460 static const uint8_t nist_186_2_ecdsa_testvector_163_private[] = {
7461 /* d - byte alignment */
7462 	0x00, 0x00, 0x00, 0x01, 0x29, 0x01, 0x3b, 0xa5, 0x07, 0x6d, 0x03, 0xa5,
7463 	0x2e, 0xd0, 0xbb, 0xea, 0xfa, 0xdd, 0x59, 0x1a, 0x72
7464 };
7465 static const uint8_t nist_186_2_ecdsa_testvector_163_public_x[] = {
7466 /* Qx - byte alignment */
7467 	0x00, 0x60, 0x2f, 0x25, 0x0e, 0x61, 0x71, 0xac, 0x1a, 0xb8, 0x5f, 0x13,
7468 	0xad, 0x6b, 0x0c, 0x75, 0x19, 0xe7, 0xaa, 0xc3, 0xe0
7469 };
7470 static const uint8_t nist_186_2_ecdsa_testvector_163_public_y[] = {
7471 /* Qy - byte alignment */
7472 	0x00, 0x82, 0xbb, 0x2d, 0xda, 0xaf, 0x24, 0xca, 0xe0, 0xe6, 0xb0, 0x6b,
7473 	0x8c, 0x6a, 0xdf, 0xd5, 0xcc, 0xb4, 0x52, 0xa9, 0x93
7474 };
7475 /* k = 00000022ff25c072ee5833817bc0c9a30d3a08374 */
7476 static const uint8_t nist_186_2_ecdsa_testvector_163_out[] = {
7477 /* R - byte alignment */
7478 	0x03, 0x1e, 0x58, 0x80, 0xe9, 0xd7, 0x3d, 0xbb, 0xa8, 0x0e, 0xc7, 0x68,
7479 	0x7c, 0x56, 0x2c, 0xf1, 0x0f, 0x7a, 0x21, 0xf3, 0x57,
7480 /* S - byte alignment */
7481 	0x00, 0xb9, 0x96, 0x5d, 0x7d, 0xb0, 0xf4, 0x92, 0x9e, 0x5e, 0xe7, 0xf3,
7482 	0xbd, 0x8d, 0xa8, 0xc3, 0xfe, 0xb9, 0x4e, 0x77, 0x3c
7483 };
7484 static const uint8_t nist_186_2_ecdsa_testvector_164_ptx[] = {
7485 /* Msg */
7486 	0x8a, 0x9e, 0x55, 0x09, 0x57, 0x5c, 0xea, 0x1b, 0xea, 0x88, 0xff, 0x55,
7487 	0x18, 0xac, 0xc6, 0xaa, 0x54, 0x84, 0xd8, 0xe6, 0x8c, 0x57, 0x31, 0xa0,
7488 	0x4e, 0x87, 0x7c, 0x69, 0x2f, 0x68, 0x92, 0x4a, 0x6d, 0x4e, 0x3d, 0x6e,
7489 	0xd3, 0xea, 0x41, 0x1b, 0xdd, 0xd6, 0x9d, 0xe7, 0x1d, 0x6e, 0x0e, 0x28,
7490 	0xdd, 0xe2, 0xd5, 0xac, 0x06, 0x89, 0xba, 0xaa, 0x41, 0x78, 0x51, 0xf9,
7491 	0x5b, 0x54, 0x7c, 0x80, 0xee, 0x64, 0x31, 0xee, 0x3e, 0xea, 0x7d, 0xab,
7492 	0x61, 0xb4, 0xc9, 0x0e, 0xa3, 0xee, 0x5d, 0xd0, 0x28, 0x3a, 0x22, 0xc0,
7493 	0xd3, 0x03, 0xac, 0xb9, 0x67, 0x0d, 0x77, 0xd1, 0xec, 0x51, 0x71, 0xd4,
7494 	0x55, 0x09, 0xb9, 0xf1, 0x5f, 0x07, 0xa7, 0xb2, 0xbc, 0x4a, 0x0c, 0x32,
7495 	0x71, 0xd3, 0xbb, 0x8a, 0x7d, 0xb5, 0x48, 0x8c, 0xbb, 0x6c, 0x0f, 0xb4,
7496 	0x09, 0x6f, 0x78, 0x5b, 0xaa, 0x09, 0x7a, 0x2e
7497 };
7498 static const uint8_t nist_186_2_ecdsa_testvector_164_private[] = {
7499 /* d - byte alignment */
7500 	0x00, 0x00, 0x00, 0x03, 0x64, 0xad, 0xbc, 0x7d, 0x7d, 0x8c, 0x34, 0x7e,
7501 	0x80, 0x41, 0xa0, 0x90, 0xd7, 0xbe, 0x32, 0x0d, 0x43
7502 };
7503 static const uint8_t nist_186_2_ecdsa_testvector_164_public_x[] = {
7504 /* Qx - byte alignment */
7505 	0x06, 0x4e, 0x52, 0xdf, 0x28, 0xfa, 0xd7, 0x75, 0xcc, 0x62, 0xd5, 0x75,
7506 	0x39, 0x38, 0x4b, 0x8a, 0x0c, 0xf2, 0x25, 0x2c, 0x0b
7507 };
7508 static const uint8_t nist_186_2_ecdsa_testvector_164_public_y[] = {
7509 /* Qy - byte alignment */
7510 	0x04, 0xb7, 0xd2, 0x72, 0xad, 0x99, 0xb4, 0x1b, 0x88, 0x50, 0x68, 0x26,
7511 	0x92, 0xd3, 0xe1, 0xbc, 0x35, 0x0e, 0x47, 0xb8, 0xc5
7512 };
7513 /* k = 00000008bd7183a6955813153d452d4fe92571e5f */
7514 static const uint8_t nist_186_2_ecdsa_testvector_164_out[] = {
7515 /* R - byte alignment */
7516 	0x03, 0xd6, 0xf4, 0x9e, 0xc3, 0x50, 0xaf, 0x2d, 0x0d, 0x5d, 0x4e, 0xbf,
7517 	0x37, 0x60, 0xb3, 0xd8, 0x5d, 0xcd, 0x39, 0xef, 0xc0,
7518 /* S - byte alignment */
7519 	0x01, 0xe6, 0x84, 0x91, 0xf6, 0x42, 0xab, 0x6f, 0xf6, 0xfc, 0x60, 0xf0,
7520 	0x8d, 0xcc, 0xb0, 0x71, 0x51, 0x5d, 0x09, 0x78, 0x21
7521 };
7522 static const uint8_t nist_186_2_ecdsa_testvector_165_ptx[] = {
7523 /* Msg */
7524 	0xa0, 0x78, 0x53, 0xcc, 0xb3, 0xb7, 0x70, 0x25, 0xd9, 0xf3, 0xfa, 0x14,
7525 	0xa8, 0xf5, 0xdf, 0xdd, 0x20, 0x54, 0xaf, 0xe3, 0xe9, 0xa4, 0xff, 0x79,
7526 	0xdc, 0xeb, 0x0b, 0xf6, 0xc5, 0x54, 0x9f, 0x07, 0x67, 0x28, 0x37, 0x4a,
7527 	0xc1, 0xf9, 0x65, 0x18, 0x90, 0x21, 0x73, 0xa2, 0x15, 0x6b, 0x49, 0x3f,
7528 	0x18, 0x0f, 0x92, 0x04, 0x2d, 0xe4, 0x1b, 0x96, 0x36, 0xd1, 0x7b, 0x3c,
7529 	0x29, 0x84, 0xf9, 0x38, 0x14, 0x67, 0xaa, 0x58, 0x5e, 0xd0, 0xda, 0xc8,
7530 	0x4f, 0x79, 0xad, 0x2a, 0xd2, 0x2f, 0x06, 0xe8, 0x7a, 0xce, 0xa8, 0xc9,
7531 	0xc4, 0x6c, 0x9c, 0xc3, 0x9c, 0xd5, 0xd2, 0x11, 0x22, 0x38, 0x0b, 0x85,
7532 	0xad, 0x1f, 0xf5, 0x1e, 0x10, 0xa4, 0x98, 0xdd, 0x1d, 0xe2, 0xf2, 0xd5,
7533 	0x68, 0xab, 0xde, 0x82, 0x4e, 0x79, 0x3b, 0x5b, 0x35, 0xa6, 0x49, 0xaa,
7534 	0x14, 0xdf, 0x56, 0x9c, 0x37, 0xd6, 0x9b, 0x94
7535 };
7536 static const uint8_t nist_186_2_ecdsa_testvector_165_private[] = {
7537 /* d - byte alignment */
7538 	0x00, 0x00, 0x00, 0x00, 0x70, 0xd5, 0x9b, 0xc0, 0x59, 0xdf, 0x30, 0xc6,
7539 	0x0e, 0xc0, 0x38, 0x55, 0x38, 0x05, 0x24, 0xdc, 0xb5
7540 };
7541 static const uint8_t nist_186_2_ecdsa_testvector_165_public_x[] = {
7542 /* Qx - byte alignment */
7543 	0x06, 0x21, 0x11, 0x9b, 0xcf, 0xbb, 0xcd, 0xff, 0xf8, 0x8a, 0x82, 0x6c,
7544 	0xc8, 0xbb, 0x54, 0xbb, 0xa6, 0xb4, 0xa3, 0x9b, 0x6e
7545 };
7546 static const uint8_t nist_186_2_ecdsa_testvector_165_public_y[] = {
7547 /* Qy - byte alignment */
7548 	0x04, 0x3e, 0xbc, 0x3a, 0xd3, 0x8b, 0x32, 0x3a, 0x36, 0x8a, 0xe0, 0xbb,
7549 	0xb2, 0x9f, 0xbc, 0xc4, 0x84, 0xbf, 0x76, 0x71, 0xeb
7550 };
7551 /* k = 0000001ecd85d31dfba4ce8e363a548e259f207c1 */
7552 static const uint8_t nist_186_2_ecdsa_testvector_165_out[] = {
7553 /* R - byte alignment */
7554 	0x03, 0xd8, 0x53, 0x45, 0x25, 0xb3, 0xce, 0xf4, 0x0c, 0xc4, 0xa5, 0x51,
7555 	0xfe, 0x77, 0x81, 0x50, 0x83, 0xb0, 0x8b, 0x6f, 0x1f,
7556 /* S - byte alignment */
7557 	0x02, 0x15, 0x62, 0x2f, 0xc7, 0xa0, 0x59, 0x7f, 0x3e, 0xda, 0x19, 0xd3,
7558 	0xc6, 0xe6, 0x7b, 0x76, 0xfb, 0x36, 0x22, 0xba, 0x00
7559 };
7560 /* [B-233] - GP NOT SUPPORTED */
7561 static const uint8_t nist_186_2_ecdsa_testvector_166_ptx[] = {
7562 /* Msg */
7563 	0xc2, 0xd1, 0xaf, 0xa4, 0x0b, 0x33, 0x18, 0x01, 0x6d, 0xe5, 0xb6, 0x42,
7564 	0x91, 0xfe, 0x1b, 0x45, 0x32, 0x5e, 0x73, 0x15, 0x7f, 0x87, 0x0a, 0x5d,
7565 	0xc0, 0xaf, 0x0e, 0x23, 0x3d, 0x13, 0x95, 0xb2, 0x5b, 0x8d, 0xe1, 0xd8,
7566 	0x09, 0x69, 0xe3, 0x52, 0x5a, 0x75, 0xff, 0x85, 0x73, 0x57, 0x0f, 0x6f,
7567 	0xa8, 0x23, 0xaa, 0xdc, 0xe2, 0x2d, 0xa6, 0xdd, 0x44, 0x1c, 0xdb, 0x76,
7568 	0x0e, 0x40, 0x2a, 0x97, 0xc1, 0x26, 0xbf, 0x4d, 0x84, 0x69, 0x92, 0x3a,
7569 	0xc6, 0xca, 0x34, 0x43, 0x25, 0x83, 0xc8, 0x88, 0x8e, 0xd9, 0x4f, 0x99,
7570 	0xa6, 0xf1, 0x2a, 0xe7, 0x69, 0xe4, 0xd9, 0x78, 0x11, 0x15, 0x09, 0xdf,
7571 	0x3a, 0xc3, 0xce, 0x6c, 0x43, 0xda, 0x2d, 0xa0, 0xf7, 0x0f, 0xdd, 0xe3,
7572 	0x6d, 0x2b, 0x4e, 0x79, 0x2c, 0xa7, 0xeb, 0xb3, 0x93, 0x7a, 0x9d, 0x62,
7573 	0x79, 0x2f, 0x90, 0x91, 0x10, 0x3a, 0x39, 0x74
7574 };
7575 static const uint8_t nist_186_2_ecdsa_testvector_166_private[] = {
7576 /* d - byte alignment */
7577 	0x00, 0x00, 0x00, 0xd4, 0x67, 0xbb, 0x20, 0x60, 0xec, 0xb1, 0x05, 0x29,
7578 	0x68, 0x49, 0x47, 0xe1, 0xe9, 0x5a, 0x74, 0x03, 0x48, 0xab, 0x21, 0xc3,
7579 	0x8a, 0xfa, 0xf6, 0xe4, 0x64, 0xa2
7580 };
7581 static const uint8_t nist_186_2_ecdsa_testvector_166_public_x[] = {
7582 /* Qx - byte alignment */
7583 	0x00, 0xb8, 0x93, 0x2e, 0xe9, 0x9a, 0xdf, 0x72, 0xb6, 0x20, 0xe1, 0xa6,
7584 	0x77, 0x9c, 0x9d, 0xc5, 0xf9, 0xad, 0x38, 0xbd, 0x3f, 0x64, 0x75, 0xca,
7585 	0xe8, 0x4e, 0x20, 0x9c, 0x70, 0x4e
7586 };
7587 static const uint8_t nist_186_2_ecdsa_testvector_166_public_y[] = {
7588 /* Qy - byte alignment */
7589 	0x01, 0x04, 0x05, 0x1c, 0xed, 0x12, 0x59, 0xd5, 0x08, 0x5f, 0x2e, 0x1c,
7590 	0x8f, 0x5c, 0xa5, 0x39, 0x4e, 0x09, 0x4c, 0x33, 0xe7, 0x57, 0xa6, 0x3c,
7591 	0xe4, 0x3d, 0x1c, 0x06, 0xd3, 0xec
7592 };
7593 /* k = 000005f77b867f215519eafb9807e239068db9cb19253ed669163cb7cec */
7594 static const uint8_t nist_186_2_ecdsa_testvector_166_out[] = {
7595 /* R - byte alignment */
7596 	0x00, 0x5f, 0x25, 0xaf, 0x72, 0xc9, 0x8e, 0x8e, 0x9b, 0x4a, 0x2c, 0x73,
7597 	0x0f, 0xec, 0x92, 0x2c, 0x29, 0x4f, 0x4d, 0xaa, 0x78, 0x19, 0xa4, 0xef,
7598 	0xe3, 0x5a, 0x80, 0x56, 0xea, 0x84,
7599 /* S - byte alignment */
7600 	0x00, 0x0d, 0xbd, 0xb0, 0x01, 0x3d, 0x94, 0x8a, 0xe6, 0x84, 0xb5, 0x86,
7601 	0x96, 0xa2, 0x60, 0xa2, 0x25, 0xba, 0x09, 0x1c, 0xbd, 0xa3, 0x70, 0x49,
7602 	0x86, 0x94, 0x41, 0x13, 0x70, 0x0d
7603 };
7604 static const uint8_t nist_186_2_ecdsa_testvector_167_ptx[] = {
7605 /* Msg */
7606 	0xf3, 0x19, 0xf9, 0x53, 0x85, 0xa1, 0xe9, 0x2a, 0x49, 0xb9, 0xae, 0xf3,
7607 	0xe2, 0x4e, 0x11, 0xa6, 0x7c, 0xa9, 0xc7, 0x6e, 0xa4, 0xf1, 0xeb, 0x4f,
7608 	0x5d, 0xf1, 0xab, 0x0c, 0x70, 0x1c, 0x41, 0x48, 0x03, 0xce, 0x25, 0xeb,
7609 	0x6d, 0xd5, 0x80, 0xc7, 0x49, 0x30, 0xe4, 0x7c, 0xc9, 0x16, 0x3b, 0x98,
7610 	0x4e, 0x3b, 0xfe, 0x03, 0x35, 0x4e, 0xa8, 0x9b, 0xf3, 0xc6, 0x69, 0x1b,
7611 	0x64, 0xde, 0x1e, 0x41, 0x60, 0xde, 0x81, 0x30, 0x90, 0x9d, 0x9d, 0x13,
7612 	0x7f, 0x44, 0x86, 0x03, 0xf4, 0x54, 0x46, 0x2b, 0x80, 0xeb, 0x1a, 0x29,
7613 	0x53, 0x43, 0xdf, 0xb8, 0x53, 0x7b, 0xc7, 0x8c, 0x70, 0x9a, 0x50, 0x7e,
7614 	0x31, 0xd1, 0x77, 0xe9, 0x93, 0x00, 0x28, 0x54, 0x14, 0x7c, 0xfa, 0x51,
7615 	0x0b, 0x10, 0x19, 0xa4, 0x3a, 0x41, 0x83, 0xa8, 0xa6, 0xd6, 0x78, 0xef,
7616 	0xa7, 0x98, 0x2b, 0x29, 0x3b, 0x57, 0xbe, 0x47
7617 };
7618 static const uint8_t nist_186_2_ecdsa_testvector_167_private[] = {
7619 /* d - byte alignment */
7620 	0x00, 0x00, 0x00, 0xdb, 0xd1, 0xb2, 0x54, 0x78, 0xb8, 0x2c, 0x19, 0x44,
7621 	0xc4, 0x1f, 0x89, 0x05, 0xfe, 0x27, 0x1c, 0x2c, 0x01, 0xd6, 0xe6, 0xe9,
7622 	0xfa, 0xfd, 0x42, 0xd8, 0xbc, 0xdf
7623 };
7624 static const uint8_t nist_186_2_ecdsa_testvector_167_public_x[] = {
7625 /* Qx - byte alignment */
7626 	0x01, 0x08, 0x90, 0x15, 0xf7, 0x85, 0xed, 0x88, 0x0a, 0x20, 0x0c, 0x2c,
7627 	0x8e, 0x09, 0xa8, 0xd7, 0x0f, 0x5e, 0x79, 0x17, 0x4c, 0x60, 0x9b, 0x25,
7628 	0x2a, 0xb4, 0xf5, 0x4d, 0xcc, 0x43
7629 };
7630 static const uint8_t nist_186_2_ecdsa_testvector_167_public_y[] = {
7631 /* Qy - byte alignment */
7632 	0x01, 0x5e, 0x5e, 0x52, 0x97, 0xd2, 0x96, 0x36, 0xd6, 0xae, 0xb2, 0xca,
7633 	0x63, 0x54, 0xf5, 0x18, 0x39, 0x36, 0x52, 0xb7, 0xeb, 0x2c, 0x7a, 0xa5,
7634 	0x5f, 0x9e, 0x08, 0xfb, 0xe7, 0x10
7635 };
7636 /* k = 000008a3e301af481418118308ee6a5e93fa25b8cd87e778611ce96e726 */
7637 static const uint8_t nist_186_2_ecdsa_testvector_167_out[] = {
7638 /* R - byte alignment */
7639 	0x00, 0xf5, 0x9a, 0x4f, 0xf3, 0xb7, 0xb4, 0x2b, 0x64, 0x93, 0x1d, 0xcd,
7640 	0xe2, 0x47, 0x88, 0x3c, 0x05, 0x79, 0x15, 0xcc, 0x67, 0x84, 0xc7, 0xf9,
7641 	0xc8, 0x34, 0x9e, 0xf7, 0x53, 0x53,
7642 /* S - byte alignment */
7643 	0x00, 0x3f, 0x3c, 0x4a, 0x48, 0xe4, 0x06, 0x80, 0x74, 0x4c, 0x89, 0x10,
7644 	0x43, 0xc6, 0xff, 0x8f, 0xd0, 0x4a, 0x6f, 0x4b, 0xd3, 0x54, 0x80, 0xb1,
7645 	0x4e, 0xdc, 0x6c, 0xe7, 0x7b, 0x61
7646 };
7647 static const uint8_t nist_186_2_ecdsa_testvector_168_ptx[] = {
7648 /* Msg */
7649 	0x7e, 0xc7, 0x30, 0x55, 0x38, 0x4b, 0xd2, 0x28, 0xd2, 0x80, 0x60, 0x35,
7650 	0xc8, 0x8b, 0xbe, 0xdf, 0xc0, 0x02, 0x7a, 0x8c, 0x58, 0xa0, 0xaf, 0xfb,
7651 	0x21, 0x3e, 0x29, 0xd8, 0xeb, 0xfe, 0xc9, 0x8d, 0x44, 0xca, 0x2b, 0x5c,
7652 	0x3b, 0xfd, 0x87, 0xaa, 0x6a, 0x5f, 0xd5, 0x9e, 0x33, 0x57, 0x35, 0xeb,
7653 	0x49, 0x5c, 0x8d, 0xea, 0x72, 0xad, 0x74, 0xec, 0x8c, 0x42, 0x4f, 0xce,
7654 	0xce, 0x02, 0xb9, 0xce, 0x51, 0x36, 0x29, 0x9c, 0xcf, 0x3e, 0xce, 0xb5,
7655 	0xaa, 0x82, 0xbe, 0xec, 0x30, 0xac, 0x50, 0x49, 0x1d, 0x15, 0xc6, 0x17,
7656 	0x61, 0x7c, 0x30, 0x39, 0x24, 0xfe, 0x8d, 0xbd, 0x08, 0x42, 0x32, 0xb4,
7657 	0xae, 0xf5, 0x70, 0x40, 0x7b, 0x76, 0x71, 0xee, 0x9c, 0xd2, 0x63, 0x46,
7658 	0x47, 0xf2, 0xd8, 0xa1, 0x44, 0x13, 0x6d, 0x3b, 0xad, 0x77, 0xaa, 0x89,
7659 	0xf2, 0x5a, 0x2a, 0xcd, 0x1f, 0x28, 0xfc, 0xe7
7660 };
7661 static const uint8_t nist_186_2_ecdsa_testvector_168_private[] = {
7662 /* d - byte alignment */
7663 	0x00, 0x00, 0x00, 0x66, 0x38, 0x78, 0xeb, 0xb3, 0x4c, 0x38, 0xdf, 0x8d,
7664 	0xca, 0xf9, 0x68, 0xaa, 0xbe, 0x48, 0xca, 0xe2, 0xbf, 0xa4, 0xd1, 0xe3,
7665 	0xb6, 0x7e, 0xce, 0xeb, 0x5f, 0xaa
7666 };
7667 static const uint8_t nist_186_2_ecdsa_testvector_168_public_x[] = {
7668 /* Qx - byte alignment */
7669 	0x01, 0x9c, 0x72, 0x22, 0xce, 0x23, 0x4b, 0xf3, 0xca, 0x69, 0x8f, 0xe0,
7670 	0x6c, 0x61, 0x5f, 0x69, 0x2b, 0xfa, 0x89, 0xd2, 0xc3, 0x2b, 0xb7, 0xb0,
7671 	0x46, 0x2e, 0xfa, 0x2b, 0xa9, 0x8c
7672 };
7673 static const uint8_t nist_186_2_ecdsa_testvector_168_public_y[] = {
7674 /* Qy - byte alignment */
7675 	0x00, 0x63, 0xab, 0x9a, 0xd6, 0x0b, 0xb7, 0x76, 0x24, 0xae, 0xfc, 0x10,
7676 	0x0e, 0x30, 0xc4, 0xc3, 0x81, 0x58, 0x6e, 0x12, 0x21, 0xcf, 0xa5, 0x2a,
7677 	0x9d, 0x99, 0x71, 0x46, 0x47, 0x34
7678 };
7679 /* k = 000003c78b556033fddac988ffd24bb952d59be10c7e6a104acd76bedc5 */
7680 static const uint8_t nist_186_2_ecdsa_testvector_168_out[] = {
7681 /* R - byte alignment */
7682 	0x00, 0xde, 0xd3, 0xe1, 0xa3, 0xdf, 0x2c, 0xc4, 0xb1, 0x3b, 0xbe, 0xec,
7683 	0xb0, 0x12, 0x72, 0x86, 0x81, 0xe9, 0x80, 0x78, 0x61, 0x72, 0x9f, 0xba,
7684 	0xd0, 0x64, 0xed, 0xa4, 0x16, 0x2b,
7685 /* S - byte alignment */
7686 	0x00, 0x1f, 0x35, 0x1e, 0xa6, 0xfd, 0x7b, 0xaa, 0xb5, 0x7a, 0x8c, 0xc6,
7687 	0x7c, 0xd2, 0xac, 0x90, 0x8a, 0xc4, 0x4f, 0x86, 0x0c, 0xfb, 0xbf, 0x3a,
7688 	0x34, 0x2b, 0x8a, 0x80, 0xa6, 0xfb
7689 };
7690 static const uint8_t nist_186_2_ecdsa_testvector_169_ptx[] = {
7691 /* Msg */
7692 	0x85, 0xad, 0x5f, 0xba, 0x82, 0x13, 0x55, 0xa0, 0xb9, 0xf5, 0x5a, 0xc9,
7693 	0xd2, 0x2a, 0x7f, 0x55, 0x82, 0x60, 0x43, 0x15, 0x60, 0xa9, 0x06, 0x38,
7694 	0xf4, 0x36, 0xc0, 0x27, 0x11, 0x61, 0xf2, 0xad, 0x65, 0xf1, 0xdd, 0x5b,
7695 	0x4f, 0x9a, 0xf3, 0x2b, 0xf0, 0xc4, 0x8b, 0x63, 0x85, 0x8e, 0xd8, 0xbc,
7696 	0xf4, 0x11, 0x1c, 0xc4, 0xa4, 0xe9, 0x19, 0x81, 0x92, 0xf2, 0xc8, 0x57,
7697 	0xa2, 0x4f, 0x4e, 0x2b, 0x33, 0xb1, 0x2c, 0xc9, 0xf5, 0xd5, 0xb6, 0x83,
7698 	0xff, 0x4f, 0xc6, 0x1b, 0x1c, 0x87, 0xb1, 0xe4, 0x66, 0x01, 0x7a, 0x23,
7699 	0x17, 0xe1, 0x46, 0xbb, 0x9b, 0xae, 0x10, 0x0a, 0xea, 0x56, 0x9e, 0x0e,
7700 	0x14, 0x72, 0xb4, 0xcc, 0x1d, 0xcc, 0x87, 0xf2, 0x0c, 0x1e, 0x74, 0xbb,
7701 	0x3f, 0x1d, 0xf2, 0x13, 0x01, 0xb6, 0xc6, 0xfc, 0x5f, 0x98, 0x76, 0x30,
7702 	0x37, 0xf2, 0xff, 0x07, 0x91, 0x7e, 0xca, 0x9c
7703 };
7704 static const uint8_t nist_186_2_ecdsa_testvector_169_private[] = {
7705 /* d - byte alignment */
7706 	0x00, 0x00, 0x00, 0xed, 0xd6, 0xa7, 0xa4, 0x6a, 0x1f, 0xdb, 0x56, 0xf4,
7707 	0xd4, 0xd3, 0xa5, 0x92, 0x3a, 0x96, 0x13, 0xf5, 0x19, 0x79, 0x0a, 0x6a,
7708 	0x9e, 0x45, 0x6c, 0x1d, 0x1a, 0xca
7709 };
7710 static const uint8_t nist_186_2_ecdsa_testvector_169_public_x[] = {
7711 /* Qx - byte alignment */
7712 	0x00, 0xad, 0x3e, 0x9c, 0xef, 0xf5, 0x2b, 0xa5, 0x51, 0xfe, 0x95, 0x18,
7713 	0x69, 0xc0, 0xf2, 0xb3, 0xcf, 0x83, 0xde, 0xb1, 0x8e, 0x7a, 0xaa, 0xbd,
7714 	0x1e, 0x28, 0xc5, 0x5d, 0xa0, 0x00
7715 };
7716 static const uint8_t nist_186_2_ecdsa_testvector_169_public_y[] = {
7717 /* Qy - byte alignment */
7718 	0x00, 0xb8, 0x28, 0x65, 0x60, 0x56, 0xbd, 0x75, 0xdd, 0xa5, 0xa3, 0xa7,
7719 	0xba, 0x49, 0x0a, 0x70, 0x39, 0x50, 0xc3, 0x51, 0xcb, 0x29, 0x4e, 0xd7,
7720 	0x37, 0x7e, 0x73, 0xc1, 0x70, 0x9f
7721 };
7722 /* k = 0000062d295aa4294802636682b2a5b59b30fe637e7d462f34752dc93de */
7723 static const uint8_t nist_186_2_ecdsa_testvector_169_out[] = {
7724 /* R - byte alignment */
7725 	0x00, 0x72, 0x10, 0xe8, 0xe4, 0x8e, 0xff, 0xca, 0xfd, 0xa6, 0x87, 0x04,
7726 	0xdd, 0xc2, 0x1c, 0x23, 0x58, 0x9a, 0x8d, 0x8e, 0xfd, 0x32, 0xad, 0x67,
7727 	0x8f, 0x4f, 0x7b, 0x05, 0xbd, 0xc6,
7728 /* S - byte alignment */
7729 	0x00, 0xc8, 0x8a, 0x70, 0xc6, 0x61, 0x5e, 0xb3, 0x5a, 0x90, 0xe3, 0xe0,
7730 	0x22, 0xcf, 0x96, 0x6c, 0x5b, 0x09, 0x4f, 0x5f, 0x74, 0x8b, 0x9b, 0xbb,
7731 	0x55, 0x67, 0x75, 0x10, 0x1e, 0x0e
7732 };
7733 static const uint8_t nist_186_2_ecdsa_testvector_170_ptx[] = {
7734 /* Msg */
7735 	0x0d, 0xcd, 0xe4, 0x4a, 0x0c, 0x16, 0x75, 0x8f, 0x8b, 0xee, 0x34, 0xc5,
7736 	0xda, 0x6f, 0x9e, 0xfa, 0x1a, 0x4d, 0x6c, 0x9b, 0x5b, 0x66, 0xd0, 0x9f,
7737 	0x01, 0x9b, 0xfb, 0x02, 0x6c, 0xdf, 0xe2, 0x75, 0xd8, 0x8d, 0x42, 0x54,
7738 	0x81, 0xff, 0xe1, 0xd8, 0x0b, 0x5c, 0x18, 0x8e, 0x22, 0xb1, 0x8e, 0x07,
7739 	0x5e, 0x44, 0x46, 0xd1, 0x69, 0x25, 0xdc, 0xa7, 0x63, 0x05, 0x0b, 0xe5,
7740 	0x85, 0x4b, 0x73, 0x3f, 0x05, 0x65, 0x99, 0xb1, 0x3a, 0x5c, 0x30, 0xb9,
7741 	0x01, 0xac, 0x97, 0xc5, 0x5f, 0x52, 0xa2, 0xe7, 0x68, 0x26, 0x9d, 0xd0,
7742 	0x5f, 0x6b, 0x8e, 0xfc, 0x1e, 0xa5, 0xbb, 0x2a, 0xb8, 0xaa, 0x6c, 0x0f,
7743 	0x5e, 0xfc, 0xf2, 0x4b, 0x7f, 0x56, 0xe8, 0x9c, 0x33, 0x85, 0xb9, 0x52,
7744 	0xda, 0x79, 0x63, 0x03, 0x00, 0x9c, 0x7a, 0x7f, 0x85, 0x63, 0x6f, 0x06,
7745 	0xfa, 0x22, 0x12, 0xb9, 0x4d, 0x24, 0x56, 0x4f
7746 };
7747 static const uint8_t nist_186_2_ecdsa_testvector_170_private[] = {
7748 /* d - byte alignment */
7749 	0x00, 0x00, 0x00, 0xac, 0x9c, 0xfc, 0x36, 0xde, 0x28, 0x04, 0xc8, 0x07,
7750 	0x16, 0xbe, 0xf7, 0xcb, 0x64, 0xe8, 0x6f, 0xd2, 0xbd, 0x10, 0xe2, 0xe2,
7751 	0xa3, 0xff, 0x75, 0xeb, 0x3d, 0x3b
7752 };
7753 static const uint8_t nist_186_2_ecdsa_testvector_170_public_x[] = {
7754 /* Qx - byte alignment */
7755 	0x00, 0xa9, 0xc5, 0xd9, 0x6b, 0x46, 0xf6, 0xa3, 0x58, 0xd2, 0x57, 0xb1,
7756 	0x73, 0x18, 0x61, 0x0a, 0xc3, 0xbc, 0x03, 0xd6, 0x54, 0xe3, 0x50, 0x86,
7757 	0x9e, 0xae, 0xb5, 0x22, 0xc6, 0x2d
7758 };
7759 static const uint8_t nist_186_2_ecdsa_testvector_170_public_y[] = {
7760 /* Qy - byte alignment */
7761 	0x00, 0xef, 0xe9, 0x12, 0x9c, 0x74, 0xf9, 0xf0, 0x6c, 0xc4, 0x85, 0xff,
7762 	0x93, 0x1a, 0x94, 0x30, 0x2f, 0x47, 0xa3, 0xbd, 0x19, 0x03, 0x5f, 0xf9,
7763 	0x84, 0xe1, 0x56, 0x47, 0x11, 0xcb
7764 };
7765 /* k = 000009e397d554cac46643884ae3fb87110f2e58d9106ed66b23dd901d5 */
7766 static const uint8_t nist_186_2_ecdsa_testvector_170_out[] = {
7767 /* R - byte alignment */
7768 	0x00, 0x11, 0x9f, 0xb2, 0xff, 0xfc, 0x19, 0xf6, 0x78, 0x2b, 0xd3, 0x44,
7769 	0x59, 0x61, 0x87, 0xbe, 0x6b, 0xaf, 0x1d, 0x7f, 0x98, 0x22, 0x80, 0xe7,
7770 	0x1b, 0x86, 0x62, 0x31, 0x30, 0x16,
7771 /* S - byte alignment */
7772 	0x00, 0xce, 0xac, 0x24, 0x8e, 0x4b, 0x31, 0xc3, 0x64, 0x08, 0xe1, 0xc8,
7773 	0xbf, 0x3f, 0x63, 0x4d, 0xb5, 0xa5, 0xf5, 0xaf, 0x3d, 0x98, 0x94, 0x5b,
7774 	0xa2, 0x53, 0x7d, 0x08, 0x8e, 0xcc
7775 };
7776 static const uint8_t nist_186_2_ecdsa_testvector_171_ptx[] = {
7777 /* Msg */
7778 	0x37, 0x92, 0x8d, 0x29, 0x9f, 0x8b, 0x4d, 0x25, 0x32, 0x80, 0xa3, 0xc7,
7779 	0xa3, 0x69, 0x74, 0xeb, 0xad, 0x24, 0xfb, 0x75, 0xf9, 0xc4, 0xc8, 0x40,
7780 	0x42, 0x2d, 0x08, 0x57, 0xb7, 0xde, 0x06, 0x68, 0xa1, 0x0d, 0xf2, 0x75,
7781 	0x45, 0xf9, 0xe2, 0xcd, 0x0c, 0x7c, 0x16, 0x3b, 0xe1, 0xdf, 0x80, 0x7d,
7782 	0xdb, 0xf3, 0x83, 0xf7, 0x1c, 0x5d, 0xfc, 0xa9, 0xf9, 0x32, 0x7f, 0x5f,
7783 	0x5b, 0xc4, 0xe3, 0x27, 0x64, 0xbb, 0x00, 0x08, 0x56, 0x67, 0xb7, 0xf1,
7784 	0xb1, 0x54, 0x33, 0xf0, 0x9c, 0x1f, 0x6f, 0xa4, 0x86, 0x89, 0xf8, 0xf5,
7785 	0x0d, 0xca, 0xf5, 0x02, 0x1f, 0x28, 0x64, 0x5b, 0x5f, 0xc7, 0xa6, 0x71,
7786 	0xca, 0xc3, 0x3e, 0x4b, 0x9a, 0x7c, 0xd6, 0x7a, 0x6a, 0x31, 0x82, 0x4e,
7787 	0x9c, 0xd1, 0x49, 0x4a, 0xf8, 0x0d, 0xe2, 0xd6, 0x95, 0xb2, 0xbb, 0x34,
7788 	0xfd, 0x36, 0x40, 0xb5, 0x8c, 0x90, 0x59, 0x2d
7789 };
7790 static const uint8_t nist_186_2_ecdsa_testvector_171_private[] = {
7791 /* d - byte alignment */
7792 	0x00, 0x00, 0x00, 0x45, 0xae, 0x3c, 0x55, 0x41, 0xfd, 0x4a, 0xba, 0xb4,
7793 	0xa3, 0x2b, 0xc5, 0xb3, 0x59, 0x20, 0x51, 0x3c, 0x74, 0xce, 0x8b, 0xf9,
7794 	0xd5, 0xd9, 0x6e, 0x30, 0x5a, 0xd8
7795 };
7796 static const uint8_t nist_186_2_ecdsa_testvector_171_public_x[] = {
7797 /* Qx - byte alignment */
7798 	0x00, 0xb4, 0xb2, 0xc4, 0xdd, 0x07, 0x8a, 0xc1, 0x7b, 0x2f, 0x84, 0x08,
7799 	0x9a, 0x9a, 0xd4, 0x78, 0x80, 0x9f, 0x3a, 0x14, 0x53, 0x06, 0x81, 0xb0,
7800 	0xcc, 0xdc, 0xea, 0xa9, 0x4b, 0x56
7801 };
7802 static const uint8_t nist_186_2_ecdsa_testvector_171_public_y[] = {
7803 /* Qy - byte alignment */
7804 	0x00, 0xa5, 0x0c, 0x5f, 0xde, 0xd7, 0xdb, 0xc9, 0x82, 0xfe, 0x90, 0x40,
7805 	0x33, 0xa6, 0xef, 0xa0, 0xf7, 0xb8, 0xb8, 0x13, 0x3c, 0xa9, 0x1d, 0xc7,
7806 	0x8b, 0xc8, 0x19, 0xb8, 0xe6, 0x3f
7807 };
7808 /* k = 0000002bc8d93e325751d5dbbe2383c74faafa4087c33bbc421a61f046a */
7809 static const uint8_t nist_186_2_ecdsa_testvector_171_out[] = {
7810 /* R - byte alignment */
7811 	0x00, 0x68, 0xdf, 0x21, 0x6e, 0xe2, 0xb1, 0xe6, 0x92, 0xe3, 0xcf, 0xac,
7812 	0x3f, 0x66, 0x52, 0xa7, 0xdf, 0xcc, 0xf0, 0x13, 0x2d, 0x52, 0x41, 0xe5,
7813 	0xf0, 0x8d, 0x2c, 0xe3, 0xf5, 0x62,
7814 /* S - byte alignment */
7815 	0x00, 0x44, 0xfa, 0xd1, 0xed, 0x97, 0x12, 0x9a, 0xa6, 0x93, 0xcd, 0xfe,
7816 	0x1a, 0xc9, 0x60, 0xb7, 0xed, 0x15, 0xec, 0x3b, 0x4f, 0xd0, 0xcf, 0xb4,
7817 	0x5b, 0x96, 0xab, 0x8a, 0x0a, 0xeb
7818 };
7819 static const uint8_t nist_186_2_ecdsa_testvector_172_ptx[] = {
7820 /* Msg */
7821 	0xa7, 0x72, 0xdd, 0xe5, 0xe6, 0xc9, 0xdf, 0x0e, 0x19, 0x60, 0xc9, 0x87,
7822 	0x4f, 0x1a, 0xc0, 0x6a, 0x89, 0x07, 0x69, 0x5f, 0x1c, 0x37, 0x64, 0x12,
7823 	0x56, 0xcc, 0x16, 0xe5, 0x64, 0x53, 0xac, 0xe2, 0x73, 0x55, 0x5c, 0xf3,
7824 	0x16, 0x28, 0xee, 0x55, 0xe8, 0x0b, 0x7c, 0x4a, 0x72, 0x73, 0x76, 0x0e,
7825 	0x4f, 0x9f, 0xe8, 0x0d, 0x8d, 0x72, 0x00, 0x53, 0x57, 0x82, 0xcb, 0x44,
7826 	0xd1, 0x6d, 0x3f, 0x8d, 0x44, 0x6c, 0x7e, 0x5a, 0x7b, 0x2a, 0x59, 0xca,
7827 	0x6d, 0xd6, 0x13, 0x9f, 0x1c, 0x76, 0x68, 0x3b, 0xbc, 0x7f, 0xce, 0xc8,
7828 	0x18, 0xa3, 0xfb, 0xb6, 0x32, 0xeb, 0xa7, 0x6a, 0x29, 0x05, 0x93, 0x34,
7829 	0x60, 0xdf, 0xca, 0x82, 0xdd, 0x75, 0x27, 0x54, 0xef, 0xe7, 0x17, 0xf0,
7830 	0x14, 0xce, 0xa0, 0xd7, 0x19, 0xd0, 0xa3, 0xf7, 0x83, 0x72, 0x5e, 0x22,
7831 	0x2e, 0x2e, 0x34, 0xbf, 0x34, 0xc6, 0xb1, 0xc0
7832 };
7833 static const uint8_t nist_186_2_ecdsa_testvector_172_private[] = {
7834 /* d - byte alignment */
7835 	0x00, 0x00, 0x00, 0x11, 0x43, 0xbe, 0x2c, 0x59, 0x9d, 0x6b, 0xb5, 0x81,
7836 	0xe9, 0x88, 0xa5, 0xa2, 0x7b, 0xeb, 0x8f, 0x2f, 0xe8, 0x95, 0x8c, 0x5d,
7837 	0x33, 0x80, 0xe9, 0x15, 0x33, 0x0e
7838 };
7839 static const uint8_t nist_186_2_ecdsa_testvector_172_public_x[] = {
7840 /* Qx - byte alignment */
7841 	0x01, 0xfa, 0xe6, 0x45, 0x98, 0x83, 0x06, 0xe8, 0x2c, 0x47, 0xdf, 0x92,
7842 	0xf4, 0xba, 0x5d, 0x3a, 0xd8, 0x05, 0xe6, 0x94, 0x93, 0x69, 0xd3, 0x02,
7843 	0x96, 0xac, 0x0a, 0x16, 0x20, 0x52
7844 };
7845 static const uint8_t nist_186_2_ecdsa_testvector_172_public_y[] = {
7846 /* Qy - byte alignment */
7847 	0x01, 0x47, 0x9b, 0x9a, 0xd3, 0x7a, 0xd3, 0xba, 0xea, 0x5d, 0xaa, 0x6e,
7848 	0x5e, 0x1d, 0xdf, 0x8e, 0x22, 0x8c, 0x03, 0x14, 0xe6, 0x97, 0x2e, 0xd5,
7849 	0x28, 0xeb, 0xca, 0xc5, 0x1d, 0xdb
7850 };
7851 /* k = 000000bbcddc5a72df1abd6186f85ccec9426d11995f5fe0de315afff86 */
7852 static const uint8_t nist_186_2_ecdsa_testvector_172_out[] = {
7853 /* R - byte alignment */
7854 	0x00, 0x12, 0x68, 0xce, 0xe2, 0xf2, 0x5e, 0x98, 0xb5, 0x2b, 0xe0, 0xeb,
7855 	0xda, 0xb3, 0x0e, 0x09, 0xdb, 0x73, 0x54, 0xd8, 0x86, 0xdb, 0x55, 0xb9,
7856 	0x84, 0x28, 0x27, 0x9b, 0xd1, 0xc1,
7857 /* S - byte alignment */
7858 	0x00, 0x79, 0x77, 0x6e, 0xcf, 0xdc, 0x94, 0x51, 0xe2, 0x5b, 0x93, 0x67,
7859 	0x6b, 0x04, 0xfd, 0xf4, 0x1d, 0xdf, 0x7d, 0xb5, 0xb4, 0x5d, 0xea, 0x3c,
7860 	0x26, 0x9a, 0x23, 0xf9, 0xb4, 0x47
7861 };
7862 static const uint8_t nist_186_2_ecdsa_testvector_173_ptx[] = {
7863 /* Msg */
7864 	0x97, 0xfe, 0x91, 0x73, 0x2b, 0x56, 0x8c, 0xb9, 0xf6, 0x65, 0x57, 0xb0,
7865 	0x4a, 0xfd, 0x0d, 0x58, 0x37, 0xc7, 0x41, 0x44, 0x14, 0x87, 0x37, 0xfc,
7866 	0x5c, 0xa1, 0x54, 0xa1, 0xbc, 0xdd, 0xd4, 0xcf, 0x69, 0x67, 0xbb, 0xc7,
7867 	0xb7, 0x1a, 0x0e, 0xce, 0xe8, 0xfd, 0x42, 0xd0, 0x41, 0x0e, 0xf5, 0x49,
7868 	0x64, 0x3f, 0xdc, 0x66, 0xd9, 0xbf, 0xfd, 0x67, 0xee, 0x7a, 0x1e, 0x47,
7869 	0xc1, 0xe3, 0x7d, 0x9f, 0x9b, 0xf1, 0xc1, 0xc8, 0x7f, 0x67, 0x31, 0x3f,
7870 	0x03, 0x59, 0x24, 0x4e, 0x5f, 0xec, 0xb8, 0xe9, 0xc4, 0x5d, 0xc7, 0xd7,
7871 	0xef, 0x45, 0x17, 0x12, 0xfd, 0x1b, 0xd1, 0x6f, 0x81, 0xfa, 0x35, 0x81,
7872 	0xd4, 0xa4, 0x8b, 0xbb, 0xac, 0xc8, 0x5d, 0xd6, 0xf0, 0x80, 0xe3, 0x72,
7873 	0xcb, 0x1e, 0xbf, 0x00, 0x00, 0x28, 0xeb, 0xdf, 0x7d, 0xa1, 0xef, 0xc5,
7874 	0x32, 0x8a, 0x57, 0x61, 0x23, 0xa9, 0x64, 0x3f
7875 };
7876 static const uint8_t nist_186_2_ecdsa_testvector_173_private[] = {
7877 /* d - byte alignment */
7878 	0x00, 0x00, 0x00, 0x1f, 0x73, 0x5a, 0x6c, 0x43, 0x4a, 0xe8, 0x0a, 0xed,
7879 	0x64, 0x42, 0x43, 0x8b, 0x46, 0xe4, 0x24, 0x16, 0x19, 0xc7, 0x81, 0x27,
7880 	0x81, 0x1c, 0x4a, 0x01, 0xe4, 0x78
7881 };
7882 static const uint8_t nist_186_2_ecdsa_testvector_173_public_x[] = {
7883 /* Qx - byte alignment */
7884 	0x00, 0xa9, 0xe2, 0x95, 0x86, 0xe5, 0x67, 0xff, 0x7e, 0xd1, 0xfd, 0x86,
7885 	0x63, 0xf0, 0xa3, 0x2b, 0x01, 0x1d, 0x94, 0xf2, 0xbe, 0x69, 0xe5, 0xbb,
7886 	0xb3, 0x88, 0x7b, 0xec, 0x8f, 0x66
7887 };
7888 static const uint8_t nist_186_2_ecdsa_testvector_173_public_y[] = {
7889 /* Qy - byte alignment */
7890 	0x00, 0xa4, 0xea, 0x53, 0xc8, 0x6c, 0x27, 0x04, 0xc0, 0x13, 0x95, 0xf5,
7891 	0x8f, 0x88, 0x38, 0x8a, 0x7b, 0xa0, 0x39, 0xe1, 0x94, 0x03, 0xad, 0x80,
7892 	0x33, 0xea, 0x09, 0xdd, 0x2e, 0x4a
7893 };
7894 /* k = 00000642e71d725e137731d250648fd8f5d1aa2bd7da608f08065700242 */
7895 static const uint8_t nist_186_2_ecdsa_testvector_173_out[] = {
7896 /* R - byte alignment */
7897 	0x00, 0x7f, 0x00, 0x0c, 0xea, 0x21, 0x71, 0x7b, 0x7e, 0xcf, 0x27, 0x9d,
7898 	0xae, 0xff, 0x07, 0xbc, 0x81, 0x61, 0xfd, 0xaa, 0x79, 0x6b, 0xfa, 0x87,
7899 	0xad, 0x00, 0xeb, 0x08, 0xb6, 0xf1,
7900 /* S - byte alignment */
7901 	0x00, 0xd2, 0x05, 0x9c, 0xd4, 0xfc, 0x81, 0x4b, 0x4d, 0x0d, 0xa7, 0x1d,
7902 	0xa5, 0x31, 0xa4, 0x7c, 0x72, 0xfa, 0x14, 0x31, 0x6a, 0x67, 0x08, 0xf0,
7903 	0x3b, 0x8b, 0x6b, 0xcc, 0x3e, 0xbb
7904 };
7905 static const uint8_t nist_186_2_ecdsa_testvector_174_ptx[] = {
7906 /* Msg */
7907 	0x1e, 0xa6, 0x72, 0x92, 0x99, 0x7e, 0x53, 0xf2, 0xae, 0xe2, 0x7c, 0xc2,
7908 	0xa3, 0x14, 0xef, 0x86, 0x3d, 0xd7, 0x3d, 0x20, 0x25, 0x39, 0x03, 0x44,
7909 	0x90, 0xb0, 0xb5, 0x2d, 0x1f, 0x68, 0x9a, 0x8e, 0x04, 0xdc, 0x18, 0xcc,
7910 	0x67, 0xa4, 0x32, 0x6a, 0x08, 0x8d, 0x4f, 0xc5, 0x25, 0xef, 0x3d, 0x01,
7911 	0x9e, 0x3b, 0x75, 0x43, 0x57, 0xd4, 0xa1, 0x20, 0xde, 0x20, 0x5b, 0x56,
7912 	0x4e, 0xde, 0x38, 0xba, 0x73, 0xba, 0x05, 0x72, 0x2e, 0x1e, 0x50, 0x64,
7913 	0x1b, 0x4c, 0x2b, 0xee, 0x72, 0xaa, 0x2c, 0xd8, 0x2b, 0x5c, 0xb8, 0x87,
7914 	0x66, 0x18, 0x81, 0x73, 0x09, 0x36, 0x4e, 0xdb, 0xab, 0x07, 0xfb, 0xb7,
7915 	0xb1, 0x68, 0xc0, 0xee, 0xb6, 0x97, 0xb6, 0xc9, 0x31, 0x45, 0x96, 0xa7,
7916 	0x51, 0xec, 0xc4, 0xf3, 0x2c, 0x62, 0x8d, 0x54, 0x19, 0xaf, 0xad, 0x23,
7917 	0x5a, 0x1c, 0x15, 0x22, 0xff, 0x8c, 0xeb, 0x6b
7918 };
7919 static const uint8_t nist_186_2_ecdsa_testvector_174_private[] = {
7920 /* d - byte alignment */
7921 	0x00, 0x00, 0x00, 0xc0, 0x9c, 0x66, 0xf8, 0x94, 0x32, 0xee, 0xe8, 0xf6,
7922 	0x36, 0xb2, 0x32, 0x4a, 0x56, 0x40, 0x68, 0x5f, 0x71, 0xf1, 0x3e, 0x20,
7923 	0x02, 0x0d, 0x46, 0x0b, 0x86, 0x6c
7924 };
7925 static const uint8_t nist_186_2_ecdsa_testvector_174_public_x[] = {
7926 /* Qx - byte alignment */
7927 	0x01, 0x40, 0x52, 0x34, 0xb9, 0x95, 0x5b, 0xd0, 0xb6, 0xf3, 0x94, 0xc4,
7928 	0x59, 0xec, 0x58, 0xcc, 0xc2, 0xf6, 0x8f, 0x0f, 0x2d, 0x7b, 0x5f, 0xc0,
7929 	0xef, 0x2b, 0x0b, 0x5e, 0xb3, 0xea
7930 };
7931 static const uint8_t nist_186_2_ecdsa_testvector_174_public_y[] = {
7932 /* Qy - byte alignment */
7933 	0x01, 0x5c, 0xd0, 0x85, 0x77, 0x35, 0x7c, 0x97, 0xa8, 0xb1, 0x86, 0x13,
7934 	0xa2, 0xa2, 0xb7, 0x9d, 0x64, 0x54, 0xe6, 0x54, 0xd0, 0x48, 0xf3, 0x46,
7935 	0xdc, 0x28, 0xef, 0x50, 0x5e, 0x8e
7936 };
7937 /* k = 000008ce062ed814f46fba5276d2439cd455f6d22aaf77f31dbc4f8a417 */
7938 static const uint8_t nist_186_2_ecdsa_testvector_174_out[] = {
7939 /* R - byte alignment */
7940 	0x00, 0xe5, 0xff, 0xd3, 0xda, 0x8d, 0xd8, 0x07, 0x66, 0x9e, 0xac, 0x82,
7941 	0xc5, 0xb8, 0xe9, 0xfc, 0x37, 0x05, 0x5e, 0x18, 0xf3, 0x36, 0x6a, 0x78,
7942 	0xc4, 0x52, 0xa7, 0xf4, 0x5c, 0x68,
7943 /* S - byte alignment */
7944 	0x00, 0x24, 0xbf, 0xcd, 0x45, 0x8c, 0x67, 0xb6, 0xf2, 0x96, 0x7e, 0x89,
7945 	0xe3, 0x80, 0x37, 0xdf, 0xe4, 0xc1, 0x86, 0xfd, 0xb7, 0xec, 0x75, 0x10,
7946 	0x6f, 0x07, 0x44, 0x5a, 0x2c, 0xcc
7947 };
7948 static const uint8_t nist_186_2_ecdsa_testvector_175_ptx[] = {
7949 /* Msg */
7950 	0xfc, 0xb2, 0x9e, 0x64, 0x68, 0x88, 0x12, 0x63, 0x93, 0xcd, 0x32, 0x75,
7951 	0x47, 0x32, 0xba, 0xf4, 0xc4, 0x0a, 0x86, 0xdd, 0x64, 0x59, 0x54, 0x85,
7952 	0x7b, 0x2d, 0xca, 0x87, 0x81, 0x31, 0xbb, 0x01, 0x73, 0x7f, 0xa6, 0x00,
7953 	0x76, 0xb6, 0x7f, 0x38, 0xbe, 0x4c, 0xb2, 0xf9, 0xae, 0x26, 0x66, 0x5e,
7954 	0x40, 0x66, 0xfe, 0xc8, 0xa8, 0x85, 0xe6, 0x8a, 0x34, 0xa1, 0x8c, 0xe6,
7955 	0x77, 0x18, 0xac, 0x39, 0xa6, 0x55, 0xd1, 0x72, 0x42, 0xea, 0x19, 0xc8,
7956 	0xf7, 0xdf, 0x38, 0xad, 0xc5, 0x4a, 0xbf, 0xfd, 0x5d, 0x20, 0x9f, 0x7c,
7957 	0xce, 0x4b, 0xe8, 0x7f, 0x60, 0xfd, 0xd7, 0xe9, 0xc0, 0x43, 0x10, 0x59,
7958 	0x5e, 0xdd, 0x28, 0xa2, 0x14, 0x4d, 0x66, 0x7c, 0x08, 0x2e, 0xcb, 0x79,
7959 	0xd3, 0xc7, 0x4f, 0x3a, 0xe3, 0xe0, 0x6e, 0xe2, 0x1d, 0xd4, 0xe3, 0xcb,
7960 	0xc7, 0xe8, 0xb4, 0x78, 0xa6, 0xdb, 0x6e, 0xcb
7961 };
7962 static const uint8_t nist_186_2_ecdsa_testvector_175_private[] = {
7963 /* d - byte alignment */
7964 	0x00, 0x00, 0x00, 0xdc, 0xa4, 0x78, 0xf7, 0xf5, 0xa5, 0xbe, 0x46, 0xb4,
7965 	0x07, 0x0c, 0x9f, 0x22, 0x97, 0xe8, 0x0c, 0x3d, 0x7c, 0xd1, 0x06, 0x31,
7966 	0xc0, 0x25, 0x9e, 0xc4, 0xaa, 0x83
7967 };
7968 static const uint8_t nist_186_2_ecdsa_testvector_175_public_x[] = {
7969 /* Qx - byte alignment */
7970 	0x00, 0x19, 0xd3, 0x90, 0xa8, 0x6e, 0x98, 0xd1, 0x3b, 0x47, 0xd4, 0x6b,
7971 	0xea, 0x13, 0xd0, 0x98, 0xd0, 0x4f, 0xd1, 0x81, 0xf1, 0x48, 0x5f, 0xc3,
7972 	0x7c, 0xc1, 0x8c, 0x92, 0xd3, 0xca
7973 };
7974 static const uint8_t nist_186_2_ecdsa_testvector_175_public_y[] = {
7975 /* Qy - byte alignment */
7976 	0x01, 0x11, 0xa6, 0x6a, 0xff, 0x04, 0x27, 0x38, 0x16, 0x3d, 0x0a, 0x7e,
7977 	0x89, 0x55, 0x5b, 0x5c, 0xf4, 0x19, 0x30, 0x34, 0xc4, 0x17, 0xe6, 0x48,
7978 	0x6f, 0xc0, 0xff, 0x41, 0xf8, 0x43
7979 };
7980 /* k = 000000720c7f812ae1b94da84b4c6f206a253692e7a9da1a4e0ba7115b6 */
7981 static const uint8_t nist_186_2_ecdsa_testvector_175_out[] = {
7982 /* R - byte alignment */
7983 	0x00, 0xa3, 0x33, 0x48, 0xc7, 0xbf, 0x63, 0xd7, 0x24, 0x22, 0x7e, 0x09,
7984 	0x65, 0x15, 0x2f, 0x31, 0xca, 0x4c, 0xc1, 0x06, 0x5b, 0x1d, 0x76, 0x22,
7985 	0x60, 0x94, 0x23, 0xd0, 0xda, 0xa4,
7986 /* S - byte alignment */
7987 	0x00, 0x3e, 0xbd, 0x07, 0x20, 0x45, 0x41, 0x66, 0xed, 0x6f, 0x04, 0xbf,
7988 	0x32, 0x15, 0x3a, 0xf1, 0xa8, 0xd7, 0x60, 0xad, 0x1c, 0x98, 0x97, 0xa6,
7989 	0xd1, 0x93, 0x54, 0xd1, 0xc6, 0x0f
7990 };
7991 static const uint8_t nist_186_2_ecdsa_testvector_176_ptx[] = {
7992 /* Msg */
7993 	0x19, 0x35, 0xf9, 0x50, 0x92, 0x66, 0xce, 0xda, 0x1e, 0x89, 0x53, 0xc4,
7994 	0x35, 0x03, 0xe8, 0x3d, 0x5d, 0x13, 0x5e, 0x28, 0xfb, 0x5b, 0x63, 0xc2,
7995 	0x69, 0x9c, 0x41, 0x86, 0x48, 0xc1, 0xc9, 0x4e, 0x18, 0x1f, 0x89, 0xba,
7996 	0x06, 0xfb, 0x46, 0xd5, 0x04, 0x4c, 0xa6, 0xf6, 0x1f, 0xc3, 0x2c, 0xe5,
7997 	0x0d, 0x09, 0x69, 0x3f, 0x06, 0x48, 0x71, 0x1c, 0xd6, 0xec, 0x8d, 0xee,
7998 	0x2f, 0xab, 0x2f, 0xad, 0x43, 0xc2, 0x2b, 0x31, 0x92, 0x82, 0x23, 0xdf,
7999 	0x01, 0x0c, 0x43, 0x87, 0x2d, 0x59, 0x2f, 0x8d, 0xfe, 0x7d, 0x3a, 0x47,
8000 	0x7f, 0x2c, 0xd9, 0xa7, 0xed, 0x7d, 0x57, 0x1a, 0x0e, 0xee, 0xca, 0xaf,
8001 	0xc3, 0xa8, 0x45, 0x7c, 0xe1, 0x05, 0x4f, 0x3e, 0x3d, 0x50, 0x94, 0x3f,
8002 	0x06, 0xcc, 0xdb, 0x7d, 0x58, 0xf7, 0x38, 0x08, 0x0d, 0x0f, 0x83, 0xac,
8003 	0xd7, 0xd6, 0x08, 0xd0, 0x8c, 0x93, 0x80, 0x9e
8004 };
8005 static const uint8_t nist_186_2_ecdsa_testvector_176_private[] = {
8006 /* d - byte alignment */
8007 	0x00, 0x00, 0x00, 0xf7, 0x7c, 0x1d, 0x84, 0x93, 0x2b, 0xd0, 0xe8, 0x87,
8008 	0x84, 0xac, 0x00, 0xf6, 0x07, 0xe0, 0x35, 0xb2, 0xb8, 0x51, 0x6e, 0xbc,
8009 	0xe8, 0xd2, 0x83, 0xfd, 0xf9, 0x1b
8010 };
8011 static const uint8_t nist_186_2_ecdsa_testvector_176_public_x[] = {
8012 /* Qx - byte alignment */
8013 	0x01, 0x5e, 0x55, 0x9e, 0x4a, 0x07, 0xb1, 0x46, 0xb4, 0x94, 0x02, 0x4d,
8014 	0xd9, 0x9f, 0x95, 0x95, 0xd1, 0x48, 0xd8, 0x3f, 0xd4, 0x66, 0x65, 0x65,
8015 	0x6c, 0xc2, 0x14, 0x8b, 0x32, 0x8b
8016 };
8017 static const uint8_t nist_186_2_ecdsa_testvector_176_public_y[] = {
8018 /* Qy - byte alignment */
8019 	0x00, 0x75, 0xea, 0x9f, 0x8e, 0xed, 0xd0, 0x1a, 0xea, 0xab, 0xfe, 0x81,
8020 	0x00, 0x95, 0x28, 0x88, 0xf0, 0x50, 0xb6, 0x99, 0x6a, 0x9a, 0xab, 0x65,
8021 	0x1b, 0x50, 0x11, 0x4f, 0xee, 0xa7
8022 };
8023 /* k = 000006f702f3b453551bd67d4414e5604f4a48382890ead5efea1a4d747 */
8024 static const uint8_t nist_186_2_ecdsa_testvector_176_out[] = {
8025 /* R - byte alignment */
8026 	0x00, 0x43, 0xc0, 0x93, 0x0b, 0x46, 0x2d, 0x98, 0x76, 0xf8, 0xb6, 0x09,
8027 	0x86, 0x6a, 0xa3, 0x1d, 0x86, 0x0d, 0x89, 0xff, 0x38, 0xce, 0xd0, 0x97,
8028 	0x76, 0x11, 0x4b, 0xde, 0x23, 0x20,
8029 /* S - byte alignment */
8030 	0x00, 0x76, 0x64, 0x90, 0xc3, 0xd0, 0xed, 0x29, 0x92, 0xf4, 0x52, 0xd4,
8031 	0xc8, 0x6f, 0x3c, 0x35, 0x80, 0xf3, 0x8b, 0xa4, 0xd5, 0xd1, 0xf5, 0x18,
8032 	0xa4, 0xe1, 0x52, 0xd0, 0x12, 0xf1
8033 };
8034 static const uint8_t nist_186_2_ecdsa_testvector_177_ptx[] = {
8035 /* Msg */
8036 	0x52, 0xe1, 0xf6, 0x5d, 0x62, 0x18, 0x54, 0x76, 0xba, 0x62, 0xbf, 0x9b,
8037 	0x5e, 0x83, 0x7a, 0x50, 0xcd, 0xca, 0x27, 0x00, 0xd8, 0x97, 0x3a, 0x9f,
8038 	0xb3, 0x1a, 0xad, 0x8e, 0x4d, 0x5d, 0xf6, 0xbf, 0xdd, 0x85, 0x36, 0x19,
8039 	0xbd, 0x55, 0xb3, 0x1e, 0x7c, 0xf3, 0x88, 0xcb, 0x2f, 0xef, 0x9b, 0xbf,
8040 	0x07, 0x81, 0xd0, 0xa0, 0x29, 0x12, 0x7c, 0xbb, 0xb9, 0xfe, 0x1d, 0xea,
8041 	0x38, 0x99, 0x48, 0xbb, 0x11, 0x70, 0xe2, 0xce, 0x6e, 0xd1, 0x93, 0x7f,
8042 	0x50, 0x8d, 0x78, 0xc5, 0xdf, 0xfc, 0x18, 0x5a, 0xff, 0x42, 0x9a, 0x1d,
8043 	0x23, 0xd1, 0x35, 0xb4, 0x66, 0x2f, 0xe7, 0x75, 0xd8, 0xfa, 0x6a, 0x87,
8044 	0x15, 0x29, 0x64, 0x44, 0x1d, 0x94, 0xde, 0xe2, 0x5f, 0xb7, 0xf7, 0x53,
8045 	0x17, 0xb2, 0xd9, 0x69, 0xda, 0x95, 0xed, 0x3e, 0x6f, 0xdb, 0x4b, 0xd3,
8046 	0xe1, 0x34, 0x75, 0xf7, 0xd2, 0x88, 0x44, 0x6b
8047 };
8048 static const uint8_t nist_186_2_ecdsa_testvector_177_private[] = {
8049 /* d - byte alignment */
8050 	0x00, 0x00, 0x00, 0xb7, 0x16, 0x9e, 0xfc, 0xe7, 0x77, 0x48, 0x43, 0x04,
8051 	0x4a, 0xc9, 0x8a, 0x9f, 0xc8, 0x94, 0x10, 0xf0, 0xa6, 0x98, 0x96, 0x83,
8052 	0x6a, 0x8c, 0x4e, 0xd0, 0xa9, 0x4c
8053 };
8054 static const uint8_t nist_186_2_ecdsa_testvector_177_public_x[] = {
8055 /* Qx - byte alignment */
8056 	0x01, 0xba, 0x0d, 0xac, 0xef, 0x4d, 0x48, 0x32, 0x53, 0x42, 0xe9, 0x94,
8057 	0xa3, 0xfb, 0x7a, 0xc5, 0x49, 0x79, 0xda, 0x27, 0x35, 0x27, 0x2c, 0x38,
8058 	0x64, 0xa4, 0x42, 0x63, 0x6f, 0xd2
8059 };
8060 static const uint8_t nist_186_2_ecdsa_testvector_177_public_y[] = {
8061 /* Qy - byte alignment */
8062 	0x01, 0x3d, 0x8c, 0x12, 0x74, 0xce, 0xf3, 0x6b, 0xb3, 0xe1, 0x72, 0x77,
8063 	0x3a, 0xb5, 0x2d, 0xbb, 0x33, 0xbc, 0xfc, 0xb9, 0xd4, 0xf5, 0x0c, 0x89,
8064 	0xf5, 0x9f, 0xa2, 0x96, 0x6d, 0x1a
8065 };
8066 /* k = 0000029215f5e7f6dd5fe45200b03952e76b3af952d7622e7d05eef86c8 */
8067 static const uint8_t nist_186_2_ecdsa_testvector_177_out[] = {
8068 /* R - byte alignment */
8069 	0x00, 0xd5, 0xc7, 0x02, 0xb0, 0x43, 0xea, 0xf7, 0xb5, 0xa8, 0x31, 0x86,
8070 	0x8e, 0xcb, 0xde, 0x23, 0x4e, 0xc1, 0x0f, 0x78, 0x72, 0x2e, 0xcc, 0x46,
8071 	0x62, 0x42, 0xa9, 0xda, 0x42, 0x29,
8072 /* S - byte alignment */
8073 	0x00, 0x36, 0x5b, 0x0f, 0x55, 0xb7, 0x90, 0xf9, 0xe9, 0xd3, 0x4d, 0x3c,
8074 	0x78, 0xa3, 0x1c, 0x27, 0x96, 0x16, 0xf2, 0xf5, 0x75, 0xcf, 0x68, 0x84,
8075 	0x4e, 0x7d, 0xd8, 0xe7, 0xc7, 0xb7
8076 };
8077 static const uint8_t nist_186_2_ecdsa_testvector_178_ptx[] = {
8078 /* Msg */
8079 	0x83, 0x69, 0xf3, 0xd5, 0x21, 0x18, 0x8d, 0x4e, 0x1b, 0x38, 0x47, 0x18,
8080 	0x1e, 0x51, 0xd5, 0x1e, 0x32, 0xda, 0x25, 0xaf, 0x40, 0xac, 0xfa, 0x8d,
8081 	0xd2, 0xb7, 0xd7, 0x40, 0x1b, 0xf4, 0x1e, 0xb0, 0x37, 0x9a, 0x79, 0xf3,
8082 	0xb4, 0x95, 0x79, 0x64, 0x50, 0x34, 0x7d, 0xf5, 0x04, 0x22, 0xd6, 0xc6,
8083 	0x42, 0x97, 0x28, 0xf6, 0x7c, 0xcf, 0x13, 0xb9, 0xe5, 0xbc, 0x13, 0xaa,
8084 	0x7b, 0xf8, 0xa5, 0x63, 0x45, 0xfd, 0xac, 0x4b, 0xd9, 0x98, 0x12, 0xb0,
8085 	0x22, 0x9b, 0xb2, 0x16, 0x60, 0xd3, 0x76, 0xce, 0x70, 0x39, 0xbc, 0xca,
8086 	0x4e, 0x6c, 0xff, 0xaf, 0xd8, 0x5f, 0xb3, 0x2c, 0xd5, 0x4f, 0x70, 0x8b,
8087 	0x35, 0xf9, 0x53, 0x85, 0x9a, 0x09, 0xa2, 0x5b, 0x18, 0xd5, 0xae, 0x22,
8088 	0x39, 0x4b, 0xfe, 0x5e, 0x45, 0x28, 0xa9, 0xd3, 0xc0, 0x6c, 0x04, 0x98,
8089 	0x33, 0x0a, 0x7d, 0x6d, 0x30, 0xe3, 0xc7, 0x4e
8090 };
8091 static const uint8_t nist_186_2_ecdsa_testvector_178_private[] = {
8092 /* d - byte alignment */
8093 	0x00, 0x00, 0x00, 0xb5, 0x3d, 0x07, 0xd9, 0xde, 0xd1, 0x2e, 0xf7, 0x22,
8094 	0x3e, 0x5a, 0xd3, 0x0f, 0xea, 0x81, 0xa5, 0x42, 0x50, 0x27, 0x7c, 0xa7,
8095 	0xb1, 0x4e, 0x39, 0xd7, 0xf7, 0x0f
8096 };
8097 static const uint8_t nist_186_2_ecdsa_testvector_178_public_x[] = {
8098 /* Qx - byte alignment */
8099 	0x01, 0xae, 0x55, 0x28, 0x58, 0xd6, 0x30, 0x0b, 0x9b, 0xf2, 0x07, 0x11,
8100 	0xca, 0xde, 0x4d, 0xb4, 0x7c, 0x70, 0xdb, 0x9a, 0x1c, 0x65, 0x88, 0xdb,
8101 	0xc6, 0xe7, 0x2d, 0x8d, 0xe1, 0x85
8102 };
8103 static const uint8_t nist_186_2_ecdsa_testvector_178_public_y[] = {
8104 /* Qy - byte alignment */
8105 	0x00, 0xcf, 0xdb, 0x85, 0xf3, 0xea, 0xf4, 0xa9, 0x51, 0xd8, 0x37, 0xf5,
8106 	0x51, 0xac, 0x09, 0xdb, 0x28, 0xc4, 0x68, 0x7b, 0x00, 0x4d, 0x1f, 0x16,
8107 	0x95, 0x20, 0xbf, 0xcf, 0xc5, 0xa4
8108 };
8109 /* k = 00000980235bd756979641956e695fc5152b88d3f279e95b0e3ffb786cb */
8110 static const uint8_t nist_186_2_ecdsa_testvector_178_out[] = {
8111 /* R - byte alignment */
8112 	0x00, 0xa0, 0xaf, 0x0e, 0xab, 0x40, 0x12, 0xf8, 0x13, 0x40, 0x8b, 0x3b,
8113 	0x13, 0x6e, 0xe4, 0xd2, 0x39, 0x7f, 0x28, 0x6b, 0x5c, 0xf0, 0x7a, 0xbf,
8114 	0x6d, 0xf7, 0xd6, 0x6e, 0x5f, 0xd7,
8115 /* S - byte alignment */
8116 	0x00, 0xae, 0xdf, 0x9e, 0xd2, 0xf6, 0x6b, 0xe4, 0x79, 0x60, 0x29, 0xdb,
8117 	0x91, 0xc9, 0x67, 0xbf, 0xcd, 0xb8, 0x1e, 0x2d, 0x3a, 0x59, 0x94, 0xd2,
8118 	0x82, 0x91, 0x84, 0x6f, 0xbb, 0xa1
8119 };
8120 static const uint8_t nist_186_2_ecdsa_testvector_179_ptx[] = {
8121 /* Msg */
8122 	0x06, 0xd5, 0x53, 0x4b, 0x77, 0x69, 0x25, 0x6e, 0x8c, 0xf6, 0x5c, 0x6c,
8123 	0xe5, 0x2a, 0x3e, 0x86, 0x96, 0x5a, 0x1f, 0xd1, 0x2c, 0x75, 0x82, 0xd2,
8124 	0xeb, 0x36, 0x82, 0x4a, 0x5a, 0x9d, 0x70, 0x53, 0x02, 0x9f, 0xbe, 0xac,
8125 	0x72, 0x1d, 0x1b, 0x52, 0x86, 0x13, 0xe0, 0x50, 0xe9, 0x12, 0xab, 0xd7,
8126 	0xd9, 0xf0, 0x49, 0x91, 0x2a, 0xbe, 0xda, 0x33, 0x8e, 0xfa, 0x2f, 0x52,
8127 	0x13, 0x06, 0x77, 0x77, 0xed, 0xd9, 0x1b, 0x75, 0x76, 0xf5, 0xe6, 0xfa,
8128 	0x73, 0x98, 0x69, 0x65, 0x99, 0x37, 0x9e, 0xd7, 0x50, 0x28, 0xcb, 0x8d,
8129 	0xb6, 0x9f, 0xa9, 0x6d, 0xe7, 0xdb, 0xc6, 0xde, 0x7c, 0xa1, 0x28, 0xdd,
8130 	0x51, 0xea, 0x33, 0x4e, 0x8c, 0xd9, 0xcd, 0x8f, 0xda, 0xef, 0xbf, 0x53,
8131 	0xfc, 0x82, 0x5e, 0xae, 0x83, 0x6b, 0x6c, 0x6c, 0xd7, 0x00, 0x39, 0xa7,
8132 	0x7e, 0x42, 0x0d, 0x99, 0x9b, 0x57, 0xca, 0xae
8133 };
8134 static const uint8_t nist_186_2_ecdsa_testvector_179_private[] = {
8135 /* d - byte alignment */
8136 	0x00, 0x00, 0x00, 0xe1, 0xa5, 0x11, 0xbf, 0x74, 0xa9, 0xf8, 0x2d, 0x2e,
8137 	0xe3, 0x1a, 0x75, 0x0d, 0x64, 0x2d, 0x62, 0x0d, 0x9d, 0x0d, 0x1e, 0x13,
8138 	0xb2, 0xfd, 0xcf, 0xf9, 0xa7, 0xa8
8139 };
8140 static const uint8_t nist_186_2_ecdsa_testvector_179_public_x[] = {
8141 /* Qx - byte alignment */
8142 	0x00, 0x90, 0x94, 0x29, 0x95, 0x53, 0x21, 0xe4, 0x27, 0xd9, 0x3a, 0x52,
8143 	0xa1, 0x16, 0x38, 0xc0, 0x45, 0x4c, 0x85, 0x5e, 0xba, 0xa5, 0xc0, 0xb3,
8144 	0x3e, 0x0e, 0x04, 0x11, 0x32, 0x17
8145 };
8146 static const uint8_t nist_186_2_ecdsa_testvector_179_public_y[] = {
8147 /* Qy - byte alignment */
8148 	0x00, 0x2a, 0xbb, 0x5f, 0x53, 0xa0, 0x78, 0x46, 0xbb, 0x88, 0x8a, 0xec,
8149 	0x61, 0x1b, 0xce, 0x88, 0x35, 0xeb, 0x4b, 0x36, 0xfd, 0xe6, 0x9a, 0x7e,
8150 	0x9d, 0xd9, 0xe6, 0xfa, 0x89, 0xed
8151 };
8152 /* k = 000001c22bc25286ee5b895d61d834780e4fa197cf90f3003cb60e79514 */
8153 static const uint8_t nist_186_2_ecdsa_testvector_179_out[] = {
8154 /* R - byte alignment */
8155 	0x00, 0x0b, 0x8e, 0x42, 0xc1, 0x39, 0xa9, 0xf1, 0xd8, 0x6b, 0x67, 0x24,
8156 	0xac, 0x62, 0xbc, 0x4d, 0xac, 0xc7, 0x9a, 0x85, 0xd9, 0xc0, 0x84, 0xca,
8157 	0xbb, 0x99, 0xc5, 0xf7, 0xa2, 0x59,
8158 /* S - byte alignment */
8159 	0x00, 0xfa, 0x52, 0x3a, 0x97, 0xe8, 0x53, 0x5e, 0xa1, 0x08, 0x45, 0x4b,
8160 	0xca, 0x9f, 0xe4, 0x8b, 0xc1, 0xc6, 0xb6, 0x55, 0x9e, 0x3c, 0x97, 0x58,
8161 	0x76, 0x59, 0x4b, 0xdb, 0x62, 0xdc
8162 };
8163 static const uint8_t nist_186_2_ecdsa_testvector_180_ptx[] = {
8164 /* Msg */
8165 	0xa7, 0xa2, 0x2d, 0x03, 0x51, 0x6d, 0xb5, 0xf6, 0x16, 0x7f, 0x9a, 0x32,
8166 	0xdf, 0xec, 0x35, 0xff, 0xe0, 0xee, 0x66, 0x0a, 0x25, 0x2a, 0xcd, 0xc3,
8167 	0x6e, 0x34, 0x3d, 0x04, 0x3d, 0x56, 0x6d, 0xf3, 0x2d, 0x8d, 0xf1, 0x29,
8168 	0x85, 0xd5, 0x69, 0x14, 0x0d, 0xa6, 0xf9, 0x99, 0x21, 0xbf, 0xf9, 0xfe,
8169 	0x03, 0x22, 0xed, 0x08, 0x76, 0x60, 0xb7, 0x60, 0x88, 0x16, 0x0b, 0x3b,
8170 	0xaf, 0xb8, 0x24, 0x3a, 0x17, 0x8d, 0xb5, 0x8f, 0x3b, 0xfb, 0x23, 0x62,
8171 	0xb3, 0x05, 0xf1, 0x73, 0x4c, 0x12, 0x7c, 0x00, 0x5e, 0xf0, 0xe8, 0xe9,
8172 	0x5a, 0x18, 0x5a, 0x12, 0xa3, 0x34, 0x67, 0x09, 0x9f, 0xde, 0xcd, 0xe9,
8173 	0x0d, 0xab, 0x61, 0x7e, 0x99, 0x68, 0x49, 0xa9, 0xad, 0xa3, 0x6b, 0x06,
8174 	0x8b, 0x6e, 0x25, 0xcd, 0x99, 0x5f, 0x3f, 0xf6, 0xfb, 0xdb, 0x1e, 0xa1,
8175 	0x67, 0x94, 0x3a, 0xb4, 0x35, 0x51, 0xd2, 0xc6
8176 };
8177 static const uint8_t nist_186_2_ecdsa_testvector_180_private[] = {
8178 /* d - byte alignment */
8179 	0x00, 0x00, 0x00, 0x30, 0x74, 0x6b, 0x53, 0xd2, 0x07, 0x22, 0x80, 0x69,
8180 	0xd5, 0x8b, 0x60, 0xfb, 0xf9, 0xf3, 0x84, 0x99, 0x88, 0x81, 0xa2, 0x7c,
8181 	0x04, 0x7e, 0x22, 0xb9, 0x78, 0x89
8182 };
8183 static const uint8_t nist_186_2_ecdsa_testvector_180_public_x[] = {
8184 /* Qx - byte alignment */
8185 	0x00, 0xbb, 0x1b, 0xc2, 0xe3, 0x7b, 0x85, 0x2c, 0x23, 0x74, 0x02, 0xfa,
8186 	0xb4, 0xba, 0x65, 0x84, 0xc6, 0x85, 0x36, 0x32, 0xa2, 0xc0, 0x60, 0xf5,
8187 	0x03, 0x99, 0x2b, 0x03, 0x37, 0xa7
8188 };
8189 static const uint8_t nist_186_2_ecdsa_testvector_180_public_y[] = {
8190 /* Qy - byte alignment */
8191 	0x00, 0x3a, 0x0e, 0xa8, 0xb4, 0x3f, 0x49, 0xd9, 0x42, 0x26, 0x9b, 0xbd,
8192 	0x31, 0xd6, 0x0d, 0x8f, 0xd7, 0xc1, 0xf2, 0x88, 0x89, 0x18, 0x35, 0x69,
8193 	0xac, 0xd8, 0x8e, 0xe4, 0x6c, 0xc3
8194 };
8195 /* k = 00000ad833129fbb7605452a7b9bc5dcece7ed67b81d5fdd93569e76c17 */
8196 static const uint8_t nist_186_2_ecdsa_testvector_180_out[] = {
8197 /* R - byte alignment */
8198 	0x00, 0x2f, 0x13, 0xc7, 0xd7, 0xd7, 0x51, 0xb2, 0x40, 0xdc, 0x80, 0x56,
8199 	0xca, 0xce, 0x86, 0x83, 0x47, 0xd4, 0xef, 0xc7, 0x27, 0x01, 0x80, 0xf1,
8200 	0x0d, 0x5e, 0x24, 0xbd, 0xc8, 0x29,
8201 /* S - byte alignment */
8202 	0x00, 0xd3, 0x45, 0x23, 0xbe, 0xe6, 0x0f, 0xe2, 0xc9, 0x12, 0xef, 0x53,
8203 	0x51, 0x95, 0x91, 0x34, 0x5f, 0xc9, 0xa9, 0xb7, 0x1b, 0x7a, 0x08, 0x0a,
8204 	0x19, 0xc8, 0x3a, 0xb4, 0xbb, 0xe5
8205 };
8206 /* [B-283] - GP NOT SUPPORTED */
8207 static const uint8_t nist_186_2_ecdsa_testvector_181_ptx[] = {
8208 /* Msg */
8209 	0x9b, 0xfc, 0x4d, 0xac, 0x8c, 0x22, 0x32, 0x38, 0x72, 0x16, 0xa5, 0x32,
8210 	0xce, 0x62, 0xd9, 0x8c, 0x1a, 0xaf, 0xa3, 0x5c, 0x65, 0xdc, 0x38, 0x8e,
8211 	0x3d, 0x4d, 0x37, 0xd6, 0xd1, 0x86, 0xea, 0xe9, 0x57, 0xf8, 0xc9, 0xed,
8212 	0xac, 0x1a, 0x3f, 0x2e, 0x3a, 0xbc, 0xb1, 0x12, 0x1f, 0x99, 0xbd, 0x4f,
8213 	0x8c, 0x2b, 0xbf, 0x5b, 0x6a, 0xc3, 0x9a, 0x25, 0x44, 0xd8, 0xb5, 0x02,
8214 	0x61, 0x9f, 0x43, 0xea, 0x30, 0xdd, 0xc8, 0xe4, 0xea, 0xfa, 0xd8, 0xbf,
8215 	0x72, 0x56, 0x22, 0x03, 0x80, 0xe0, 0xae, 0x27, 0xfe, 0xe4, 0x63, 0x04,
8216 	0xb2, 0x24, 0xcc, 0x8a, 0x1e, 0x2b, 0x1c, 0xb2, 0xa4, 0xde, 0x6f, 0xb3,
8217 	0xee, 0x54, 0x52, 0x79, 0x8d, 0xe7, 0x86, 0x53, 0xe0, 0x8b, 0x01, 0xec,
8218 	0x38, 0x5f, 0x36, 0x7c, 0x39, 0x82, 0x96, 0x3f, 0x84, 0x28, 0x57, 0x27,
8219 	0x93, 0xed, 0x74, 0xce, 0xe3, 0x69, 0xf5, 0xae
8220 };
8221 static const uint8_t nist_186_2_ecdsa_testvector_181_private[] = {
8222 /* d - byte alignment */
8223 	0x00, 0x31, 0xca, 0x77, 0xb8, 0x9d, 0xf0, 0xc2, 0xf9, 0x0a, 0xe6, 0xd3,
8224 	0x8c, 0x93, 0x5a, 0x75, 0xeb, 0xd7, 0x4d, 0x64, 0xf8, 0x26, 0xcf, 0xe6,
8225 	0xd2, 0x3d, 0x13, 0x5e, 0x28, 0xbb, 0x66, 0xa0, 0xba, 0xea, 0xfb, 0xa9
8226 };
8227 static const uint8_t nist_186_2_ecdsa_testvector_181_public_x[] = {
8228 /* Qx - byte alignment */
8229 	0x03, 0x23, 0x0e, 0x12, 0x93, 0x9f, 0x6d, 0x02, 0x0d, 0xbf, 0xe0, 0x77,
8230 	0x26, 0x7a, 0x40, 0xe8, 0xe3, 0xc4, 0x21, 0x9c, 0x5d, 0x3b, 0x1f, 0x04,
8231 	0x25, 0x89, 0x97, 0x66, 0xa5, 0x97, 0x0c, 0x90, 0x95, 0x06, 0x83, 0x85
8232 };
8233 static const uint8_t nist_186_2_ecdsa_testvector_181_public_y[] = {
8234 /* Qy - byte alignment */
8235 	0x01, 0xc5, 0x57, 0xb8, 0x84, 0xef, 0x70, 0x03, 0xfd, 0x84, 0x69, 0x2b,
8236 	0x6b, 0x69, 0xcd, 0xa8, 0x5f, 0xf9, 0xb5, 0x86, 0xd5, 0xfd, 0x6a, 0xe2,
8237 	0x3a, 0xc9, 0x42, 0x1b, 0xb3, 0xb1, 0xb5, 0x70, 0x26, 0x5c, 0xa7, 0x7a
8238 };
8239 /* k = 0c20977aed96ec8ec3abce9ed21ffd7f6469ef0696150418844edd960b9d7d90391ee7f */
8240 static const uint8_t nist_186_2_ecdsa_testvector_181_out[] = {
8241 /* R - byte alignment */
8242 	0x03, 0x07, 0x40, 0x7b, 0x6a, 0x2d, 0xcc, 0x40, 0x01, 0x2a, 0xdc, 0x4e,
8243 	0x7b, 0x72, 0xb4, 0xc1, 0x20, 0x02, 0xbf, 0x5c, 0x94, 0xb4, 0x40, 0x2c,
8244 	0x78, 0x53, 0x65, 0x81, 0x06, 0x48, 0xb8, 0xb3, 0x5a, 0x7d, 0xab, 0x10,
8245 /* S - byte alignment */
8246 	0x01, 0xc4, 0x49, 0x49, 0x1c, 0xc8, 0xd5, 0x61, 0x06, 0x34, 0xb7, 0xb3,
8247 	0x6c, 0xf2, 0x8e, 0xc3, 0x0f, 0x08, 0xa3, 0xdb, 0xa2, 0x28, 0x02, 0x0a,
8248 	0x08, 0xb6, 0x46, 0x52, 0xda, 0xb5, 0xb1, 0xb8, 0x86, 0xbb, 0x5f, 0xcd
8249 };
8250 static const uint8_t nist_186_2_ecdsa_testvector_182_ptx[] = {
8251 /* Msg */
8252 	0xc0, 0x7b, 0xe7, 0xf9, 0x32, 0xe6, 0xa0, 0x20, 0x07, 0xcf, 0xef, 0x54,
8253 	0x4d, 0x99, 0xff, 0x1e, 0x38, 0x39, 0x3c, 0x51, 0x22, 0x31, 0x70, 0x9b,
8254 	0xd0, 0xc2, 0x2c, 0x5b, 0xf7, 0x5d, 0x6a, 0xb2, 0xfe, 0x5c, 0x70, 0xdd,
8255 	0x06, 0xef, 0xf8, 0xc2, 0x28, 0x59, 0x8d, 0xc8, 0xfd, 0x5c, 0x38, 0xec,
8256 	0x64, 0xf1, 0x5c, 0x12, 0x7f, 0x3d, 0xdf, 0x98, 0xff, 0xc1, 0x8a, 0x31,
8257 	0xa2, 0xd1, 0xb3, 0xf1, 0xf9, 0x47, 0x19, 0xa4, 0x6f, 0x78, 0x0f, 0x64,
8258 	0x87, 0x67, 0xdd, 0x6b, 0x65, 0x39, 0x63, 0x25, 0x90, 0xe9, 0xff, 0x89,
8259 	0xf6, 0x3d, 0xb1, 0xaa, 0x31, 0xf9, 0x7d, 0x89, 0x08, 0x52, 0x11, 0x2e,
8260 	0x39, 0xa5, 0xa8, 0xf7, 0x76, 0x69, 0x2e, 0x2f, 0xad, 0x63, 0xa5, 0xe2,
8261 	0x8c, 0x18, 0xc7, 0xf0, 0x45, 0x88, 0xed, 0x61, 0x8e, 0x19, 0x2f, 0xf8,
8262 	0xec, 0xd2, 0xcd, 0x0b, 0x32, 0xc9, 0xce, 0x92
8263 };
8264 static const uint8_t nist_186_2_ecdsa_testvector_182_private[] = {
8265 /* d - byte alignment */
8266 	0x03, 0xa3, 0xa1, 0xc1, 0x6d, 0x76, 0xa6, 0xd7, 0x60, 0xcc, 0x20, 0x67,
8267 	0x05, 0x82, 0xd0, 0xc9, 0xf8, 0xd1, 0x9c, 0x99, 0x19, 0x59, 0x54, 0x8d,
8268 	0x46, 0x58, 0x91, 0xb7, 0xed, 0xcb, 0xd3, 0x3c, 0xb1, 0xf2, 0xf3, 0x4d
8269 };
8270 static const uint8_t nist_186_2_ecdsa_testvector_182_public_x[] = {
8271 /* Qx - byte alignment */
8272 	0x04, 0x3c, 0xf4, 0x26, 0x11, 0x9b, 0xdb, 0xa4, 0xb6, 0x83, 0x38, 0x8d,
8273 	0xd3, 0xc4, 0x90, 0x77, 0x71, 0x9e, 0xe3, 0x98, 0x9d, 0x29, 0x0d, 0x07,
8274 	0xb4, 0x9c, 0xf5, 0xf4, 0xf8, 0x24, 0x1e, 0xc4, 0xb3, 0xfa, 0x8a, 0x76
8275 };
8276 static const uint8_t nist_186_2_ecdsa_testvector_182_public_y[] = {
8277 /* Qy - byte alignment */
8278 	0x01, 0x79, 0xe8, 0x77, 0xcb, 0x44, 0x8c, 0x84, 0x61, 0xca, 0x7f, 0x82,
8279 	0x52, 0x97, 0xec, 0x06, 0xc1, 0xac, 0x21, 0x60, 0x80, 0x88, 0x42, 0x08,
8280 	0xfe, 0x18, 0x51, 0x6d, 0xd0, 0xeb, 0x56, 0xec, 0x7a, 0xab, 0x9e, 0x2a
8281 };
8282 /* k = 0f4568a9683e9da78745a492b8d3aea0a0f734abd1594687013f09aef361f34b806bdfb */
8283 static const uint8_t nist_186_2_ecdsa_testvector_182_out[] = {
8284 /* R - byte alignment */
8285 	0x02, 0xc0, 0x19, 0x76, 0xc9, 0x64, 0xe8, 0x46, 0xab, 0x4d, 0x05, 0xd4,
8286 	0x97, 0x85, 0x19, 0x84, 0x30, 0x1a, 0xb6, 0x80, 0xf1, 0xf3, 0xc1, 0x59,
8287 	0xda, 0x27, 0xed, 0x4f, 0x10, 0xc7, 0xe8, 0x53, 0x37, 0x27, 0x79, 0x56,
8288 /* S - byte alignment */
8289 	0x02, 0xa2, 0xd8, 0x8d, 0xdf, 0x6b, 0x89, 0x57, 0xfb, 0x2c, 0x04, 0xda,
8290 	0x26, 0xe3, 0x38, 0x3e, 0xc8, 0x30, 0x58, 0x63, 0x6f, 0x8a, 0xcb, 0x8d,
8291 	0xdf, 0xc0, 0xb6, 0x39, 0x90, 0xf0, 0x33, 0x0e, 0x98, 0xce, 0xbc, 0xd7
8292 };
8293 static const uint8_t nist_186_2_ecdsa_testvector_183_ptx[] = {
8294 /* Msg */
8295 	0x7a, 0xfd, 0xac, 0xad, 0x6e, 0x0d, 0xfe, 0x6d, 0x4c, 0x59, 0xa8, 0x09,
8296 	0xe6, 0x7d, 0x9f, 0x34, 0x76, 0xde, 0x8b, 0x85, 0x83, 0xf6, 0xcb, 0x70,
8297 	0x04, 0xec, 0xb9, 0x75, 0xc8, 0x68, 0x2f, 0x97, 0x15, 0xa5, 0x4a, 0x10,
8298 	0x90, 0xc8, 0x6d, 0x43, 0x5c, 0x70, 0x89, 0xf2, 0x86, 0x8e, 0x9c, 0xb1,
8299 	0xa1, 0x77, 0x78, 0x9b, 0xad, 0x37, 0xc6, 0x43, 0x3e, 0x28, 0x4a, 0xee,
8300 	0xda, 0xc4, 0x69, 0xff, 0xa2, 0xb8, 0xe8, 0xb2, 0x34, 0x39, 0xf6, 0x0d,
8301 	0xd1, 0x9b, 0x6d, 0x14, 0xbb, 0x20, 0x55, 0x3d, 0xe1, 0x0e, 0xaa, 0x23,
8302 	0xbe, 0x04, 0x5e, 0x7e, 0x7f, 0x8d, 0xa2, 0x53, 0x64, 0xf6, 0x62, 0x68,
8303 	0x68, 0x5d, 0x0e, 0xfb, 0x24, 0x0b, 0xa0, 0xb3, 0xf1, 0x04, 0xdb, 0xd7,
8304 	0x4d, 0xdb, 0xd0, 0xbe, 0x80, 0xcb, 0xa7, 0x87, 0x7f, 0x04, 0x9c, 0x0a,
8305 	0x10, 0x43, 0x48, 0x0d, 0x2f, 0xa5, 0x22, 0xbc
8306 };
8307 static const uint8_t nist_186_2_ecdsa_testvector_183_private[] = {
8308 /* d - byte alignment */
8309 	0x01, 0x18, 0x7c, 0xa0, 0x9d, 0xba, 0x19, 0x51, 0x0a, 0x5e, 0x55, 0x5a,
8310 	0xf2, 0x62, 0x6e, 0xd1, 0xfb, 0x00, 0x50, 0x72, 0xbe, 0x13, 0x0d, 0x77,
8311 	0x45, 0xd7, 0xd4, 0xc0, 0x43, 0x13, 0x62, 0xd0, 0x49, 0x81, 0xa5, 0x5b
8312 };
8313 static const uint8_t nist_186_2_ecdsa_testvector_183_public_x[] = {
8314 /* Qx - byte alignment */
8315 	0x00, 0x5c, 0xd1, 0x3a, 0xe1, 0xe8, 0xfd, 0x9c, 0x9b, 0x02, 0x50, 0xf2,
8316 	0xfa, 0xe1, 0x5b, 0xa4, 0x9b, 0xb5, 0x9b, 0x03, 0x77, 0xff, 0x48, 0x05,
8317 	0x36, 0x1f, 0x83, 0x9a, 0x95, 0x8e, 0x41, 0x42, 0x36, 0x8b, 0xc6, 0xa6
8318 };
8319 static const uint8_t nist_186_2_ecdsa_testvector_183_public_y[] = {
8320 /* Qy - byte alignment */
8321 	0x00, 0xc3, 0x1a, 0x44, 0x1a, 0x21, 0x36, 0x8a, 0x40, 0xe3, 0x6b, 0x17,
8322 	0x09, 0x0e, 0x9b, 0x5e, 0x11, 0xf1, 0x9a, 0x72, 0xd6, 0x40, 0xa2, 0x1f,
8323 	0x02, 0x9d, 0x61, 0x13, 0x4c, 0xca, 0xed, 0xa9, 0x50, 0x99, 0xdb, 0xec
8324 };
8325 /* k = 2e23b033f329a2b605c8cdee982b78099be3157b06b32bbd4fe10bb475c2fca92c55a54 */
8326 static const uint8_t nist_186_2_ecdsa_testvector_183_out[] = {
8327 /* R - byte alignment */
8328 	0x02, 0x1d, 0xb5, 0xc4, 0x50, 0x3c, 0x3b, 0x7d, 0x8b, 0x51, 0x63, 0x1f,
8329 	0x39, 0x26, 0xeb, 0x8e, 0x9d, 0xf2, 0x49, 0x5a, 0xa2, 0xef, 0x17, 0x3c,
8330 	0x29, 0x4b, 0xf9, 0xe4, 0xc5, 0x60, 0xe0, 0xb2, 0xc4, 0x64, 0x03, 0x15,
8331 /* S - byte alignment */
8332 	0x00, 0x56, 0x14, 0x22, 0xc5, 0x55, 0x9c, 0x17, 0x00, 0xac, 0xf6, 0xc8,
8333 	0xb2, 0x13, 0xfa, 0x04, 0xf0, 0x1c, 0x1f, 0x3f, 0xaa, 0x2d, 0x84, 0x79,
8334 	0x0e, 0xd7, 0x40, 0xa4, 0xdf, 0xc1, 0x0f, 0xce, 0xf6, 0x0c, 0x9d, 0x9b
8335 };
8336 static const uint8_t nist_186_2_ecdsa_testvector_184_ptx[] = {
8337 /* Msg */
8338 	0xf3, 0x6d, 0x12, 0x96, 0x9c, 0x07, 0xbf, 0x5b, 0x2b, 0xfe, 0x30, 0x48,
8339 	0xe5, 0x90, 0x7a, 0xb0, 0x1e, 0xd3, 0x27, 0x82, 0x5a, 0x4b, 0x7f, 0x7b,
8340 	0xb1, 0xbc, 0x06, 0x9a, 0x78, 0x3d, 0x45, 0xd5, 0x1d, 0x8e, 0xcd, 0x0a,
8341 	0x53, 0xab, 0x7a, 0x38, 0x6f, 0xa1, 0xf5, 0xef, 0x12, 0xa1, 0x7c, 0x05,
8342 	0x09, 0x53, 0xe6, 0x8b, 0x71, 0x6c, 0xe1, 0xff, 0x1f, 0x83, 0x7f, 0xc3,
8343 	0x3f, 0x21, 0xf1, 0xce, 0x3a, 0x17, 0x92, 0xa2, 0xde, 0x14, 0x27, 0x7e,
8344 	0xb9, 0x76, 0x64, 0xd4, 0xc5, 0x61, 0xb3, 0xfd, 0x4b, 0x0e, 0x32, 0x2c,
8345 	0x01, 0x66, 0xfa, 0xa1, 0x75, 0xd0, 0xa7, 0x1f, 0xaf, 0x47, 0x15, 0x9f,
8346 	0x12, 0xaf, 0x67, 0x46, 0x84, 0x69, 0x4e, 0x95, 0xcf, 0x25, 0x88, 0xe0,
8347 	0x46, 0xf7, 0xa6, 0x01, 0xab, 0xae, 0x13, 0x4d, 0x50, 0x61, 0x52, 0xc7,
8348 	0x7d, 0x4a, 0x87, 0x94, 0x12, 0xd7, 0x39, 0xaf
8349 };
8350 static const uint8_t nist_186_2_ecdsa_testvector_184_private[] = {
8351 /* d - byte alignment */
8352 	0x02, 0xdf, 0x90, 0x2b, 0xc8, 0xa6, 0x55, 0x0a, 0x1c, 0x3c, 0xf3, 0x80,
8353 	0x3a, 0x38, 0x91, 0xe8, 0x94, 0xc3, 0xbe, 0xb5, 0x6d, 0xc0, 0x06, 0xb9,
8354 	0x49, 0xb8, 0x26, 0x03, 0xd7, 0x64, 0xe1, 0x81, 0x91, 0xd0, 0xf4, 0x90
8355 };
8356 static const uint8_t nist_186_2_ecdsa_testvector_184_public_x[] = {
8357 /* Qx - byte alignment */
8358 	0x05, 0x37, 0xf9, 0x64, 0x6c, 0x9c, 0x0d, 0xdb, 0x8d, 0x88, 0x1f, 0xef,
8359 	0x33, 0x1c, 0x5c, 0xbf, 0xaf, 0xe8, 0x25, 0x77, 0x11, 0xbd, 0x3e, 0xa0,
8360 	0xf6, 0xdc, 0xb0, 0xaf, 0xbe, 0x12, 0x2b, 0xc0, 0xf0, 0xeb, 0x5c, 0x9e
8361 };
8362 static const uint8_t nist_186_2_ecdsa_testvector_184_public_y[] = {
8363 /* Qy - byte alignment */
8364 	0x06, 0x6b, 0xcd, 0x06, 0xcd, 0x95, 0xa5, 0xa6, 0xdf, 0x5a, 0x4d, 0xbd,
8365 	0x6a, 0x5a, 0xdb, 0x9e, 0x3a, 0xb0, 0x8a, 0x4b, 0x30, 0xae, 0x54, 0x98,
8366 	0x4a, 0x5a, 0x36, 0x65, 0xca, 0x98, 0xd0, 0xee, 0x86, 0xa7, 0x0c, 0xf5
8367 };
8368 /* k = 01e4cfdf4a0d809bf6e464fe6c1561672571b40ed9aa78d4546d4719ccbc32ec81da657 */
8369 static const uint8_t nist_186_2_ecdsa_testvector_184_out[] = {
8370 /* R - byte alignment */
8371 	0x00, 0xf9, 0x55, 0x29, 0xf3, 0xf4, 0x78, 0x6d, 0xdb, 0xbd, 0x90, 0xb6,
8372 	0x35, 0x8d, 0xf8, 0x88, 0x42, 0x83, 0xd3, 0xe8, 0xc3, 0x6c, 0xda, 0xe5,
8373 	0xb3, 0x83, 0x14, 0xb9, 0xb3, 0x10, 0x50, 0xba, 0xbf, 0xd8, 0x17, 0xd6,
8374 /* S - byte alignment */
8375 	0x03, 0xe7, 0x6e, 0x4a, 0xd3, 0x9c, 0xff, 0xa3, 0x8b, 0x3f, 0x2b, 0xb5,
8376 	0x43, 0x53, 0xd1, 0xda, 0x6c, 0x53, 0x8c, 0xd1, 0x47, 0xc4, 0x5e, 0xea,
8377 	0x83, 0xfe, 0xe3, 0x32, 0x5b, 0xdb, 0xa6, 0xa2, 0x92, 0x39, 0x95, 0x32
8378 };
8379 static const uint8_t nist_186_2_ecdsa_testvector_185_ptx[] = {
8380 /* Msg */
8381 	0x4d, 0xfc, 0x7c, 0x45, 0x3b, 0xd2, 0x55, 0xe6, 0x17, 0x48, 0x14, 0x85,
8382 	0xe3, 0x28, 0xeb, 0xde, 0x7d, 0xa7, 0xc9, 0x73, 0x73, 0xea, 0xd1, 0x2c,
8383 	0x18, 0xc8, 0x0a, 0x41, 0xd8, 0xd2, 0x58, 0x59, 0xc8, 0x90, 0xab, 0xf4,
8384 	0x81, 0x0e, 0x76, 0x06, 0x2f, 0x97, 0x63, 0xe4, 0xe5, 0xc1, 0x45, 0x64,
8385 	0x34, 0xaa, 0x4d, 0x40, 0xfb, 0x80, 0x82, 0xbc, 0x80, 0x47, 0x6b, 0x89,
8386 	0xc0, 0xd6, 0x0e, 0xe8, 0x04, 0x23, 0x1f, 0x13, 0xb5, 0xc1, 0x71, 0xd8,
8387 	0x71, 0xa7, 0xb0, 0x87, 0x5e, 0x33, 0x52, 0x0e, 0xbf, 0x6f, 0xcb, 0x63,
8388 	0xc5, 0x92, 0x00, 0x22, 0xa7, 0xca, 0xff, 0x78, 0xf5, 0x38, 0xed, 0x3f,
8389 	0x29, 0x3c, 0x3f, 0x6a, 0x7f, 0xf4, 0x2e, 0xa4, 0x06, 0xff, 0x64, 0x34,
8390 	0xf7, 0x87, 0xfc, 0x24, 0x46, 0x7e, 0xa9, 0xa2, 0x78, 0x27, 0x35, 0xa6,
8391 	0xb4, 0xd9, 0x2e, 0xd5, 0x1c, 0x00, 0xdc, 0xa6
8392 };
8393 static const uint8_t nist_186_2_ecdsa_testvector_185_private[] = {
8394 /* d - byte alignment */
8395 	0x02, 0x99, 0xcb, 0xae, 0xc3, 0x25, 0x75, 0xd3, 0x64, 0x9f, 0xaf, 0xb0,
8396 	0xa5, 0xa3, 0xe5, 0x19, 0xa1, 0x64, 0x1f, 0xc3, 0xa5, 0x07, 0x95, 0xb1,
8397 	0x2e, 0x95, 0xb9, 0xf2, 0xda, 0xa7, 0xb2, 0x72, 0x76, 0xf5, 0x0e, 0xc7
8398 };
8399 static const uint8_t nist_186_2_ecdsa_testvector_185_public_x[] = {
8400 /* Qx - byte alignment */
8401 	0x06, 0x86, 0xfc, 0xf9, 0x70, 0x31, 0x83, 0xc1, 0xe8, 0xb0, 0x4b, 0x4d,
8402 	0xcf, 0xfb, 0x90, 0xd2, 0x97, 0x4c, 0x78, 0xcc, 0x5e, 0x95, 0xb6, 0x55,
8403 	0xdb, 0x23, 0x6b, 0x23, 0x4f, 0x8a, 0x7e, 0x25, 0xbc, 0xa9, 0x81, 0xfa
8404 };
8405 static const uint8_t nist_186_2_ecdsa_testvector_185_public_y[] = {
8406 /* Qy - byte alignment */
8407 	0x04, 0xfe, 0x9b, 0x68, 0x60, 0xff, 0x39, 0xed, 0x30, 0x1d, 0x94, 0xf8,
8408 	0x38, 0xbf, 0x1f, 0x2a, 0xb9, 0xda, 0x1f, 0x21, 0x5c, 0x3a, 0x78, 0x23,
8409 	0xa0, 0xe9, 0x6d, 0x94, 0xca, 0x54, 0x79, 0xa6, 0x61, 0xf4, 0x85, 0x34
8410 };
8411 /* k = 2b71bc909d8ca418ebf17c6ca61fb51d839b44989991023ff35d556c98c788c5922e877 */
8412 static const uint8_t nist_186_2_ecdsa_testvector_185_out[] = {
8413 /* R - byte alignment */
8414 	0x03, 0x63, 0x16, 0x8d, 0x66, 0x5a, 0x86, 0xea, 0xef, 0x81, 0x16, 0x1c,
8415 	0x49, 0xa2, 0xf9, 0x60, 0x73, 0x7f, 0x60, 0x9c, 0x18, 0xad, 0x30, 0x59,
8416 	0xf5, 0xf6, 0xc8, 0xbd, 0x7f, 0xaf, 0xf1, 0x91, 0x89, 0xb5, 0x71, 0x18,
8417 /* S - byte alignment */
8418 	0x00, 0xbe, 0xfa, 0x58, 0x07, 0xde, 0x6b, 0x72, 0x2d, 0x0c, 0xa5, 0x15,
8419 	0xa4, 0x97, 0xf3, 0xca, 0x83, 0xe7, 0x5e, 0x1b, 0x09, 0xcf, 0x4b, 0x0a,
8420 	0xbd, 0x14, 0xb8, 0x99, 0xfc, 0x49, 0x6e, 0x63, 0xd2, 0x1a, 0xc0, 0x06
8421 };
8422 static const uint8_t nist_186_2_ecdsa_testvector_186_ptx[] = {
8423 /* Msg */
8424 	0x8e, 0x96, 0x36, 0x9a, 0x51, 0x77, 0x58, 0x2f, 0xea, 0xe5, 0x9c, 0xf4,
8425 	0x27, 0xca, 0x58, 0xb8, 0x2b, 0x0c, 0xeb, 0x32, 0x63, 0xb3, 0x4f, 0x43,
8426 	0xbb, 0x4a, 0xee, 0x7c, 0x11, 0x87, 0xb7, 0xe0, 0xe9, 0x2e, 0x70, 0xeb,
8427 	0x63, 0x32, 0x4e, 0xd3, 0x6b, 0x1d, 0xc3, 0x0d, 0x30, 0xb3, 0x97, 0x13,
8428 	0xd7, 0xd2, 0x3a, 0x65, 0x70, 0x9d, 0x59, 0xcd, 0x29, 0xda, 0xaf, 0xe8,
8429 	0xc1, 0x97, 0x1e, 0xe2, 0x40, 0x14, 0xfe, 0x81, 0xe6, 0xdd, 0xb5, 0x65,
8430 	0x61, 0x37, 0x87, 0x8e, 0x43, 0xbd, 0xb0, 0x1e, 0xb2, 0x4b, 0xb0, 0x60,
8431 	0x61, 0x1b, 0xe7, 0x0a, 0xc0, 0x2e, 0x61, 0xbf, 0x70, 0xee, 0xf3, 0xd8,
8432 	0xfa, 0x11, 0x87, 0x64, 0xc0, 0xc0, 0xb4, 0x6d, 0x34, 0xf9, 0x92, 0x7e,
8433 	0x47, 0x32, 0xcc, 0x61, 0x25, 0x3f, 0xf6, 0x2d, 0x1f, 0x75, 0x21, 0x81,
8434 	0xe8, 0x10, 0xad, 0x0a, 0x05, 0xd2, 0x5f, 0x4b
8435 };
8436 static const uint8_t nist_186_2_ecdsa_testvector_186_private[] = {
8437 /* d - byte alignment */
8438 	0x03, 0x2e, 0x5f, 0x90, 0xe7, 0xb2, 0xd3, 0x67, 0x62, 0x69, 0x70, 0x0e,
8439 	0x54, 0x91, 0x1d, 0x2f, 0x93, 0x69, 0xb1, 0xbd, 0x4f, 0xe7, 0x6a, 0x80,
8440 	0x97, 0xf0, 0xfa, 0x88, 0x01, 0xe4, 0xdb, 0xe0, 0xcc, 0xd6, 0x3c, 0x48
8441 };
8442 static const uint8_t nist_186_2_ecdsa_testvector_186_public_x[] = {
8443 /* Qx - byte alignment */
8444 	0x01, 0xf5, 0x64, 0xb6, 0x7c, 0x00, 0x09, 0xb3, 0x85, 0xd0, 0x33, 0xc4,
8445 	0x71, 0x8e, 0xd0, 0xbc, 0x33, 0x58, 0x9e, 0xa3, 0x2a, 0x25, 0xe5, 0xff,
8446 	0xca, 0x8d, 0x06, 0x0a, 0xf5, 0x8e, 0x3f, 0x2a, 0x9f, 0xd6, 0x74, 0x87
8447 };
8448 static const uint8_t nist_186_2_ecdsa_testvector_186_public_y[] = {
8449 /* Qy - byte alignment */
8450 	0x04, 0x4f, 0x74, 0xeb, 0xdd, 0x5f, 0x03, 0x87, 0xf3, 0xb4, 0x27, 0x3f,
8451 	0x2d, 0xb6, 0x1d, 0xb0, 0xff, 0x8d, 0xd6, 0xee, 0xbd, 0xaa, 0xd8, 0xb3,
8452 	0xb2, 0xdf, 0xa5, 0x34, 0x0e, 0x59, 0xea, 0x34, 0xb2, 0xfe, 0x63, 0xb6
8453 };
8454 /* k = 33c1685b8aa35959f6e76228bf71f3d1ddcd04ea6c39f153fd34b21407ea001d74d1c79 */
8455 static const uint8_t nist_186_2_ecdsa_testvector_186_out[] = {
8456 /* R - byte alignment */
8457 	0x00, 0x95, 0x45, 0x89, 0x47, 0x0e, 0x0e, 0x87, 0xd5, 0x3a, 0xc0, 0x2b,
8458 	0xfc, 0x08, 0x42, 0x07, 0x30, 0x2b, 0x62, 0x14, 0xa9, 0xdb, 0x45, 0xfb,
8459 	0xdf, 0x66, 0xb1, 0x9e, 0x61, 0x85, 0x10, 0xe1, 0xdd, 0x92, 0x80, 0xe4,
8460 /* S - byte alignment */
8461 	0x01, 0xc6, 0xd7, 0x91, 0xa8, 0x5b, 0x7c, 0x75, 0xcc, 0xc3, 0x29, 0xf4,
8462 	0x18, 0x5b, 0xb5, 0x94, 0x78, 0x66, 0xcc, 0x65, 0xe0, 0xd7, 0x27, 0x84,
8463 	0x5f, 0x9a, 0xf0, 0x61, 0xfe, 0x1f, 0x88, 0x08, 0x72, 0x1c, 0x1b, 0x9c
8464 };
8465 static const uint8_t nist_186_2_ecdsa_testvector_187_ptx[] = {
8466 /* Msg */
8467 	0x48, 0x8a, 0xfd, 0x29, 0x87, 0x79, 0x70, 0x54, 0xbc, 0xfa, 0xcc, 0xe1,
8468 	0x73, 0xfb, 0x9c, 0x40, 0x2f, 0x81, 0x1c, 0xcb, 0xaf, 0xe1, 0x9d, 0x9d,
8469 	0x6f, 0x33, 0x2b, 0xa8, 0x72, 0x04, 0x6e, 0x02, 0x3f, 0x4b, 0xce, 0x80,
8470 	0x2a, 0x9e, 0xda, 0x86, 0xd4, 0xa6, 0xeb, 0x1d, 0xf5, 0xd1, 0x04, 0x46,
8471 	0x59, 0x46, 0xfd, 0x8f, 0x29, 0x1e, 0xe1, 0xe3, 0x6c, 0xd1, 0x94, 0xa6,
8472 	0xcd, 0xee, 0xb9, 0x02, 0x9f, 0x10, 0xd2, 0x7b, 0x1e, 0x0d, 0xa9, 0xca,
8473 	0xf8, 0x70, 0xf0, 0xe8, 0x0c, 0x2a, 0x24, 0x69, 0x71, 0x84, 0xb7, 0x0b,
8474 	0xba, 0x58, 0x6d, 0x8f, 0x78, 0x81, 0x07, 0xc7, 0x01, 0x90, 0x1f, 0xf1,
8475 	0x70, 0xc0, 0x53, 0x43, 0xed, 0x2d, 0xa5, 0xc7, 0x2f, 0x40, 0x22, 0x69,
8476 	0x3e, 0x6e, 0xc2, 0x4f, 0x7e, 0x22, 0x90, 0x68, 0xe9, 0xf7, 0x0a, 0x48,
8477 	0x9c, 0x2b, 0xcb, 0x33, 0x95, 0x51, 0x67, 0x77
8478 };
8479 static const uint8_t nist_186_2_ecdsa_testvector_187_private[] = {
8480 /* d - byte alignment */
8481 	0x02, 0x15, 0x2c, 0x3e, 0x39, 0x02, 0x8f, 0x07, 0xe7, 0xe3, 0xbe, 0x6c,
8482 	0x13, 0x2c, 0xd7, 0x3b, 0x65, 0xe8, 0xf3, 0x94, 0xfc, 0x57, 0x02, 0x0e,
8483 	0xcb, 0x3d, 0xa4, 0xc9, 0xa9, 0x07, 0x31, 0x49, 0xcb, 0x80, 0xcb, 0x90
8484 };
8485 static const uint8_t nist_186_2_ecdsa_testvector_187_public_x[] = {
8486 /* Qx - byte alignment */
8487 	0x02, 0x12, 0x4d, 0x9f, 0x3a, 0x3a, 0x3c, 0x23, 0xf1, 0xc5, 0x89, 0xe4,
8488 	0x57, 0x9e, 0x7c, 0xd0, 0xf8, 0xe1, 0x86, 0x99, 0x78, 0x2e, 0xf9, 0x5b,
8489 	0xef, 0xd4, 0x33, 0x31, 0x95, 0x73, 0x57, 0x84, 0xc4, 0xbe, 0x3c, 0x05
8490 };
8491 static const uint8_t nist_186_2_ecdsa_testvector_187_public_y[] = {
8492 /* Qy - byte alignment */
8493 	0x04, 0x36, 0xe2, 0xb0, 0x9b, 0xf2, 0x6e, 0xee, 0xa0, 0xcb, 0xeb, 0x8b,
8494 	0x93, 0xdb, 0xb3, 0x60, 0xae, 0x07, 0x36, 0x9a, 0xd9, 0x9d, 0x21, 0x10,
8495 	0xf9, 0x2d, 0x36, 0xe5, 0x04, 0xd5, 0x0c, 0x79, 0x91, 0xb0, 0x1e, 0x77
8496 };
8497 /* k = 34ca338d6fd6ef9815416b00cec2277972856cc3ff1eaa5e022ecba782084963aea90c7 */
8498 static const uint8_t nist_186_2_ecdsa_testvector_187_out[] = {
8499 /* R - byte alignment */
8500 	0x01, 0x60, 0xfb, 0x38, 0xf0, 0x9d, 0x0b, 0x90, 0x82, 0xf9, 0xcb, 0xdf,
8501 	0xab, 0xfc, 0x80, 0xb5, 0x80, 0xcb, 0x93, 0xee, 0xe2, 0x53, 0x20, 0x1b,
8502 	0x1e, 0x3e, 0xcd, 0xa1, 0xb8, 0x8f, 0x23, 0xe9, 0x7a, 0x5a, 0x8e, 0xb9,
8503 /* S - byte alignment */
8504 	0x03, 0x20, 0xc8, 0x1b, 0xd2, 0x4f, 0xd6, 0x10, 0xa1, 0x25, 0xa8, 0xa8,
8505 	0x4e, 0xab, 0x73, 0x72, 0xcc, 0xe1, 0x7a, 0xad, 0x0f, 0xc6, 0xb7, 0xef,
8506 	0x49, 0x6b, 0xb3, 0xd0, 0xfd, 0x2b, 0xc6, 0xfa, 0xd1, 0x22, 0x9b, 0x12
8507 };
8508 static const uint8_t nist_186_2_ecdsa_testvector_188_ptx[] = {
8509 /* Msg */
8510 	0x5f, 0x53, 0x8e, 0x87, 0xd3, 0xb6, 0x65, 0x44, 0x14, 0xcc, 0xd6, 0x13,
8511 	0x7a, 0x5f, 0x17, 0xa6, 0x03, 0x3e, 0x47, 0xed, 0xec, 0x86, 0xa3, 0x7f,
8512 	0x83, 0x20, 0xfc, 0x3b, 0x37, 0x8b, 0x69, 0x2f, 0xf1, 0xdc, 0x39, 0xb9,
8513 	0xa7, 0x03, 0x2b, 0xeb, 0x2e, 0x4f, 0xe2, 0x34, 0x4f, 0x35, 0x93, 0x3d,
8514 	0x1e, 0x4d, 0x01, 0x12, 0x87, 0x9d, 0xab, 0x82, 0x2a, 0x1a, 0x43, 0xc8,
8515 	0x69, 0x6c, 0x63, 0x6b, 0xbe, 0xf2, 0x7c, 0x62, 0x52, 0x06, 0x0f, 0x7c,
8516 	0xcc, 0x82, 0x1f, 0xff, 0x67, 0x82, 0xe6, 0x8f, 0x48, 0x6c, 0xc7, 0x52,
8517 	0x0e, 0x2e, 0x84, 0x52, 0xaa, 0xc7, 0xb1, 0x23, 0x71, 0x09, 0x68, 0xc5,
8518 	0x6f, 0x9d, 0x3f, 0xcb, 0xff, 0x47, 0x77, 0xbd, 0x99, 0x6b, 0x76, 0xbc,
8519 	0xea, 0xd1, 0x77, 0x64, 0x2a, 0xa5, 0x81, 0xf7, 0xaa, 0xc2, 0x95, 0xb7,
8520 	0xac, 0x30, 0x2c, 0x93, 0x78, 0xea, 0xe1, 0x06
8521 };
8522 static const uint8_t nist_186_2_ecdsa_testvector_188_private[] = {
8523 /* d - byte alignment */
8524 	0x02, 0x1f, 0x71, 0x54, 0xf5, 0x23, 0xa0, 0xf3, 0x28, 0x92, 0x8f, 0x9b,
8525 	0x86, 0x63, 0xc0, 0x2a, 0x58, 0x8c, 0x4d, 0x9d, 0xa2, 0x8a, 0xe6, 0x55,
8526 	0xa3, 0x67, 0x91, 0x7e, 0x18, 0x78, 0xf2, 0xff, 0x39, 0x99, 0x7b, 0x38
8527 };
8528 static const uint8_t nist_186_2_ecdsa_testvector_188_public_x[] = {
8529 /* Qx - byte alignment */
8530 	0x05, 0xa1, 0xbf, 0xc7, 0x0e, 0x68, 0xb4, 0xda, 0xf6, 0xe2, 0xde, 0x91,
8531 	0xf7, 0x51, 0xf6, 0x05, 0xbf, 0x16, 0xf3, 0x99, 0xd1, 0xc7, 0x00, 0xd4,
8532 	0x2c, 0x3d, 0xe8, 0x94, 0x4b, 0x00, 0x8d, 0x8b, 0x19, 0x71, 0x23, 0x82
8533 };
8534 static const uint8_t nist_186_2_ecdsa_testvector_188_public_y[] = {
8535 /* Qy - byte alignment */
8536 	0x02, 0x03, 0xc3, 0x98, 0xda, 0x7c, 0xc1, 0xd2, 0x54, 0x2d, 0xcf, 0xc7,
8537 	0x30, 0x0a, 0x05, 0x9c, 0x2d, 0xad, 0xf8, 0x0e, 0xe9, 0x3b, 0x01, 0xb3,
8538 	0xf3, 0xa7, 0xcc, 0x8f, 0x67, 0xd8, 0x43, 0x5d, 0x54, 0xc9, 0xc2, 0x19
8539 };
8540 /* k = 3ccf0daf98653825495b36ef481a3d810fc81cd6dad82e7667780d6c7b08b462fe5c510 */
8541 static const uint8_t nist_186_2_ecdsa_testvector_188_out[] = {
8542 /* R - byte alignment */
8543 	0x00, 0xe1, 0xe8, 0x3a, 0x74, 0x62, 0xb5, 0xf4, 0xc0, 0xa2, 0xcd, 0x62,
8544 	0x47, 0x65, 0xfb, 0x50, 0xa4, 0x64, 0x05, 0x66, 0x85, 0x81, 0x4a, 0x70,
8545 	0xc6, 0x5d, 0x85, 0x5c, 0x8e, 0x3e, 0x96, 0x7f, 0x72, 0x58, 0x8f, 0xd0,
8546 /* S - byte alignment */
8547 	0x03, 0x6b, 0x92, 0x69, 0x15, 0x11, 0xf9, 0xc0, 0x16, 0xdb, 0xd6, 0xda,
8548 	0xbf, 0xdf, 0x12, 0x61, 0x98, 0xee, 0x61, 0x11, 0x2e, 0x8a, 0x95, 0x0b,
8549 	0xca, 0xab, 0xca, 0x9f, 0xbd, 0x05, 0x6e, 0xd8, 0x1c, 0x96, 0xc1, 0x0b
8550 };
8551 static const uint8_t nist_186_2_ecdsa_testvector_189_ptx[] = {
8552 /* Msg */
8553 	0x36, 0xf7, 0x1a, 0xad, 0x73, 0x51, 0x13, 0xeb, 0x75, 0x53, 0x35, 0x4e,
8554 	0x32, 0xac, 0xc4, 0x18, 0xb5, 0xc3, 0xd6, 0x14, 0x68, 0xf1, 0xb7, 0x71,
8555 	0x92, 0xef, 0x8b, 0xd0, 0x1f, 0x8a, 0x35, 0x9c, 0xa0, 0x9e, 0x78, 0x9a,
8556 	0x92, 0x41, 0x5c, 0xc1, 0xe3, 0x3f, 0xd4, 0x4b, 0xb2, 0xc7, 0x9d, 0x0c,
8557 	0x57, 0x63, 0x69, 0x03, 0xa3, 0x2d, 0x3d, 0x2f, 0x68, 0x41, 0x18, 0xa3,
8558 	0x3c, 0x6e, 0xd5, 0xdd, 0x7b, 0x31, 0x52, 0x54, 0x8b, 0xe3, 0xd2, 0x50,
8559 	0x64, 0x31, 0xa0, 0xfe, 0x4f, 0xcd, 0xf6, 0xc4, 0xed, 0x63, 0x1c, 0xd2,
8560 	0x7c, 0xcf, 0xd4, 0xfa, 0x56, 0x8d, 0xf6, 0xc1, 0xba, 0x70, 0x58, 0xb6,
8561 	0xcf, 0x97, 0xf0, 0x02, 0xe6, 0x9e, 0x3d, 0x41, 0x00, 0x11, 0xe2, 0x90,
8562 	0x90, 0x26, 0x95, 0xe7, 0x82, 0xab, 0x37, 0xaa, 0x7b, 0x3d, 0x44, 0x7a,
8563 	0x63, 0xbb, 0x6e, 0x51, 0x21, 0xfa, 0x85, 0xce
8564 };
8565 static const uint8_t nist_186_2_ecdsa_testvector_189_private[] = {
8566 /* d - byte alignment */
8567 	0x03, 0xcb, 0xbe, 0xbf, 0xcd, 0x2d, 0xc6, 0x13, 0xbf, 0x16, 0xfc, 0xe4,
8568 	0x7b, 0xb4, 0xa0, 0xf7, 0xf7, 0xc3, 0x2b, 0x7a, 0xdf, 0x74, 0xfd, 0x85,
8569 	0x8f, 0xa1, 0x96, 0xa1, 0xc8, 0x7c, 0xf1, 0x52, 0xd0, 0xa0, 0x03, 0x19
8570 };
8571 static const uint8_t nist_186_2_ecdsa_testvector_189_public_x[] = {
8572 /* Qx - byte alignment */
8573 	0x04, 0x5f, 0x75, 0x5e, 0x65, 0x7c, 0x50, 0xda, 0xd7, 0xdf, 0x12, 0x71,
8574 	0x7d, 0x7b, 0x0b, 0x17, 0x99, 0x3a, 0x90, 0x2a, 0x4f, 0xb4, 0xa2, 0xd5,
8575 	0x4f, 0x8b, 0xaa, 0x4f, 0xc0, 0x56, 0x06, 0x1f, 0x0d, 0x4a, 0xba, 0x07
8576 };
8577 static const uint8_t nist_186_2_ecdsa_testvector_189_public_y[] = {
8578 /* Qy - byte alignment */
8579 	0x06, 0x52, 0xcf, 0x38, 0x73, 0x94, 0x95, 0x0f, 0xe9, 0xe0, 0xba, 0xcb,
8580 	0x73, 0xf5, 0x98, 0xea, 0x42, 0xe4, 0xf6, 0xe3, 0x86, 0x46, 0x71, 0x3a,
8581 	0x2f, 0x84, 0x66, 0xaf, 0x03, 0x33, 0xc4, 0x77, 0xc6, 0x67, 0xd1, 0x2f
8582 };
8583 /* k = 0991a66ea073a99b9bde01e928ca6caba36af91ef9a6f1307e898eb15e90c8f15a08725 */
8584 static const uint8_t nist_186_2_ecdsa_testvector_189_out[] = {
8585 /* R - byte alignment */
8586 	0x01, 0x2a, 0x18, 0x33, 0x2c, 0xf4, 0xc8, 0x1e, 0x44, 0x09, 0xa4, 0x99,
8587 	0x30, 0x9f, 0xc0, 0xf7, 0xc2, 0x5d, 0x06, 0x97, 0x8c, 0x43, 0x8b, 0x4a,
8588 	0x5a, 0x5d, 0xd5, 0x09, 0x7e, 0x34, 0x53, 0xc6, 0x99, 0x81, 0xcb, 0x69,
8589 /* S - byte alignment */
8590 	0x03, 0xbb, 0x17, 0xd7, 0xb8, 0x85, 0xbd, 0x26, 0x5c, 0xf9, 0x0d, 0x93,
8591 	0xc3, 0x61, 0x1f, 0xbf, 0x44, 0x7d, 0x17, 0xb6, 0x4a, 0x45, 0x39, 0x54,
8592 	0x94, 0xb4, 0x7e, 0x12, 0x94, 0x42, 0x0d, 0xa1, 0xe3, 0x94, 0x3e, 0xf2
8593 };
8594 static const uint8_t nist_186_2_ecdsa_testvector_190_ptx[] = {
8595 /* Msg */
8596 	0x82, 0xe2, 0xdb, 0x12, 0xb8, 0xd5, 0x81, 0xe5, 0x32, 0xce, 0xa2, 0x9e,
8597 	0xf0, 0x1c, 0x60, 0xaa, 0x38, 0x3d, 0x54, 0x0f, 0x8b, 0xfe, 0x22, 0xad,
8598 	0xd7, 0xe4, 0x50, 0xc4, 0xee, 0xcb, 0x58, 0xb7, 0x37, 0xcd, 0xfb, 0x10,
8599 	0xa3, 0x65, 0xd9, 0xc3, 0xe3, 0xd4, 0x3f, 0xb7, 0xd9, 0xc4, 0x40, 0x82,
8600 	0x4c, 0x2c, 0x07, 0x75, 0xdf, 0x73, 0x6b, 0xd8, 0x44, 0xd8, 0xc4, 0x76,
8601 	0xad, 0x11, 0xfd, 0x5d, 0x83, 0x32, 0xeb, 0xdf, 0x5b, 0xd1, 0xdd, 0xdc,
8602 	0x26, 0x68, 0x75, 0x44, 0xa7, 0xfa, 0xb6, 0xd7, 0x2b, 0xfa, 0x5d, 0x2f,
8603 	0x74, 0x68, 0x75, 0x01, 0xf6, 0x3d, 0x26, 0xa0, 0x46, 0x09, 0xce, 0xc2,
8604 	0xcf, 0xdb, 0x53, 0x87, 0xc7, 0x61, 0xb7, 0xb7, 0x61, 0x50, 0xec, 0x4b,
8605 	0x44, 0x06, 0xea, 0x30, 0x3d, 0x6f, 0x00, 0x47, 0x30, 0x25, 0x67, 0xb0,
8606 	0x55, 0xdb, 0x1d, 0x48, 0xa0, 0xfb, 0xf0, 0x70
8607 };
8608 static const uint8_t nist_186_2_ecdsa_testvector_190_private[] = {
8609 /* d - byte alignment */
8610 	0x03, 0xfb, 0x84, 0xca, 0xa7, 0xcb, 0xeb, 0x11, 0xd4, 0x91, 0x45, 0x95,
8611 	0x51, 0x0c, 0x5d, 0x02, 0xdd, 0x16, 0xd2, 0xd6, 0x58, 0x06, 0x47, 0x3e,
8612 	0x1d, 0x52, 0xd8, 0x2a, 0x20, 0xa0, 0x44, 0x42, 0x80, 0xd9, 0x1b, 0x6d
8613 };
8614 static const uint8_t nist_186_2_ecdsa_testvector_190_public_x[] = {
8615 /* Qx - byte alignment */
8616 	0x07, 0x52, 0x01, 0x15, 0x70, 0x50, 0xa7, 0x73, 0x71, 0x01, 0x73, 0x7e,
8617 	0xe9, 0x47, 0xd1, 0x65, 0x9d, 0x76, 0x69, 0x2b, 0x4d, 0x39, 0x1b, 0x99,
8618 	0x6d, 0x6e, 0x99, 0x55, 0x1a, 0x74, 0x2e, 0x31, 0x17, 0xb8, 0x53, 0x9f
8619 };
8620 static const uint8_t nist_186_2_ecdsa_testvector_190_public_y[] = {
8621 /* Qy - byte alignment */
8622 	0x00, 0x00, 0x99, 0xc1, 0xcf, 0x05, 0x77, 0xe0, 0x81, 0x13, 0x09, 0x57,
8623 	0x93, 0x09, 0x72, 0x19, 0x19, 0xe8, 0xd8, 0x9b, 0xae, 0xc5, 0xab, 0x83,
8624 	0xa1, 0x8e, 0x6b, 0x60, 0x9f, 0x70, 0x71, 0x2b, 0xf4, 0x9c, 0x13, 0x5b
8625 };
8626 /* k = 3cc06e9dd24971a106849f45d780284e8fca99d19abd79aba02d07ded33006c601d6374 */
8627 static const uint8_t nist_186_2_ecdsa_testvector_190_out[] = {
8628 /* R - byte alignment */
8629 	0x03, 0xd9, 0x75, 0x57, 0x6d, 0x05, 0x48, 0x2e, 0x95, 0xca, 0x1e, 0xc8,
8630 	0x02, 0x30, 0xf9, 0x96, 0xa5, 0x7a, 0x43, 0x0a, 0x78, 0x5a, 0x7b, 0xf1,
8631 	0x48, 0xa6, 0x46, 0x77, 0x0c, 0x70, 0xd9, 0x05, 0x58, 0xb7, 0xdc, 0x65,
8632 /* S - byte alignment */
8633 	0x02, 0xc5, 0x70, 0x0a, 0x18, 0x2f, 0xe3, 0x58, 0x54, 0xde, 0xbe, 0x4c,
8634 	0x13, 0xcd, 0x23, 0x19, 0x55, 0x5f, 0x4e, 0x18, 0x52, 0x4f, 0x8a, 0x50,
8635 	0x6b, 0xee, 0x3b, 0x75, 0x95, 0xe4, 0xb8, 0xf8, 0x01, 0xaa, 0x37, 0x99
8636 };
8637 static const uint8_t nist_186_2_ecdsa_testvector_191_ptx[] = {
8638 /* Msg */
8639 	0xd3, 0x38, 0x3b, 0x11, 0x9c, 0xbf, 0x3b, 0x8b, 0x04, 0x4d, 0x87, 0x08,
8640 	0xa7, 0x58, 0xc9, 0x5f, 0x8e, 0x19, 0x63, 0x36, 0x5e, 0xf0, 0x4a, 0x7d,
8641 	0xcf, 0x04, 0x17, 0x3c, 0x60, 0x2a, 0x5b, 0x8f, 0x4a, 0x08, 0x33, 0xee,
8642 	0xb2, 0x7a, 0x1d, 0xb2, 0x22, 0x34, 0x0a, 0xd5, 0x3a, 0xa9, 0xb5, 0xfa,
8643 	0xa3, 0x2c, 0x32, 0xad, 0x45, 0x55, 0xca, 0xeb, 0xba, 0xa7, 0x06, 0xe5,
8644 	0x02, 0x6f, 0x0a, 0x01, 0x78, 0xef, 0x24, 0x22, 0x04, 0xbc, 0xa5, 0x29,
8645 	0x93, 0x65, 0xf0, 0xbc, 0xc4, 0x55, 0xd0, 0x46, 0xe4, 0xfb, 0x0f, 0x3e,
8646 	0x1d, 0x28, 0x44, 0xad, 0xea, 0xb8, 0xec, 0xea, 0xce, 0x74, 0xbc, 0xa8,
8647 	0x46, 0x37, 0x36, 0x33, 0xfc, 0x50, 0x7b, 0xf7, 0x3d, 0x28, 0x60, 0x42,
8648 	0xad, 0x25, 0xc3, 0x4b, 0x3a, 0xcd, 0x20, 0x72, 0x4e, 0x2f, 0x5f, 0xc9,
8649 	0x49, 0x7e, 0xf0, 0xd4, 0x2e, 0x00, 0x1a, 0x8d
8650 };
8651 static const uint8_t nist_186_2_ecdsa_testvector_191_private[] = {
8652 /* d - byte alignment */
8653 	0x02, 0xe3, 0x01, 0x5f, 0xc3, 0x01, 0x78, 0x20, 0x19, 0x46, 0x19, 0xb9,
8654 	0x2a, 0xb7, 0x51, 0xa8, 0x25, 0x5c, 0xd2, 0xfd, 0xab, 0x80, 0x6b, 0xb5,
8655 	0x7b, 0x12, 0x18, 0xa8, 0xce, 0xca, 0xfe, 0x26, 0xe9, 0xf6, 0xa5, 0x12
8656 };
8657 static const uint8_t nist_186_2_ecdsa_testvector_191_public_x[] = {
8658 /* Qx - byte alignment */
8659 	0x00, 0x61, 0x5a, 0xb2, 0x40, 0xb7, 0xd2, 0x04, 0xa8, 0x25, 0x0d, 0x37,
8660 	0xfc, 0x3d, 0x29, 0x89, 0xde, 0x1b, 0x49, 0xde, 0x75, 0xa9, 0x62, 0x79,
8661 	0xa6, 0x40, 0xe6, 0x12, 0x85, 0xe5, 0x00, 0x4d, 0xb5, 0x07, 0xd1, 0xa3
8662 };
8663 static const uint8_t nist_186_2_ecdsa_testvector_191_public_y[] = {
8664 /* Qy - byte alignment */
8665 	0x02, 0x6b, 0x8b, 0xe9, 0x30, 0xdf, 0x02, 0x42, 0x48, 0x56, 0xe0, 0x53,
8666 	0xbf, 0x93, 0x6d, 0xbc, 0xf2, 0xe9, 0xee, 0xf6, 0x1d, 0x24, 0x19, 0xc4,
8667 	0x53, 0x29, 0x3c, 0x37, 0xc9, 0x75, 0x41, 0xe9, 0xb6, 0x31, 0x60, 0x66
8668 };
8669 /* k = 194b411a9fbd218da63883fa439585a9c86a0e4f4a2526b6eab8de30e959e0a5872f3d3 */
8670 static const uint8_t nist_186_2_ecdsa_testvector_191_out[] = {
8671 /* R - byte alignment */
8672 	0x02, 0xba, 0x5a, 0xb6, 0x22, 0x4c, 0x46, 0x5b, 0xa1, 0x44, 0x09, 0xd9,
8673 	0x18, 0xdf, 0x41, 0xb0, 0xc8, 0x90, 0x9a, 0xba, 0x61, 0x1b, 0xb8, 0xf2,
8674 	0xf5, 0x25, 0xdc, 0xa1, 0x6c, 0xa0, 0x37, 0x9c, 0x74, 0x27, 0xcb, 0x2c,
8675 /* S - byte alignment */
8676 	0x00, 0x71, 0x1f, 0x14, 0x2d, 0x5e, 0x68, 0xde, 0x71, 0x6e, 0x2a, 0xb6,
8677 	0x6f, 0x50, 0xf9, 0xbe, 0xe8, 0xa8, 0x66, 0x76, 0xe0, 0x3a, 0x74, 0x88,
8678 	0xb6, 0x38, 0xf8, 0x66, 0x57, 0x46, 0xf2, 0xb5, 0x2d, 0x4e, 0x64, 0x2d
8679 };
8680 static const uint8_t nist_186_2_ecdsa_testvector_192_ptx[] = {
8681 /* Msg */
8682 	0x6b, 0x58, 0x16, 0xfe, 0xd0, 0xe5, 0x75, 0x09, 0x71, 0xff, 0x79, 0x4d,
8683 	0xf9, 0xac, 0xdb, 0x2b, 0x91, 0x88, 0x97, 0x3f, 0xbd, 0x18, 0xf3, 0x4a,
8684 	0x80, 0x5c, 0xbd, 0x6f, 0xc7, 0xa3, 0xd4, 0xa3, 0x05, 0xa3, 0xea, 0x5f,
8685 	0x1a, 0xc9, 0x87, 0x97, 0x79, 0xce, 0x51, 0xf0, 0x8a, 0x8b, 0x8c, 0x2e,
8686 	0x4d, 0x0e, 0xdd, 0xeb, 0x41, 0xed, 0x53, 0x8f, 0x84, 0xda, 0xa7, 0x7c,
8687 	0x3b, 0x78, 0xc3, 0x89, 0x34, 0x6e, 0x82, 0xb2, 0xca, 0xb9, 0xb7, 0x0e,
8688 	0x09, 0x46, 0x70, 0x01, 0x13, 0xc0, 0x7c, 0xb2, 0xc2, 0xa7, 0x2a, 0xbf,
8689 	0x8f, 0xa2, 0x54, 0x30, 0xb3, 0x16, 0x9c, 0xaa, 0x8c, 0xf7, 0xf6, 0xe5,
8690 	0x41, 0xde, 0x67, 0x60, 0xa9, 0x5c, 0x0c, 0x54, 0x69, 0x8f, 0x5d, 0xe6,
8691 	0x5d, 0xf2, 0xb3, 0xa0, 0x3a, 0x79, 0x08, 0x22, 0x71, 0xde, 0xfe, 0x15,
8692 	0x56, 0x35, 0x23, 0x61, 0x81, 0xc7, 0x74, 0xa0
8693 };
8694 static const uint8_t nist_186_2_ecdsa_testvector_192_private[] = {
8695 /* d - byte alignment */
8696 	0x03, 0x9f, 0x1b, 0x78, 0x58, 0x8a, 0x7a, 0xee, 0x6f, 0x2b, 0x05, 0x23,
8697 	0xa4, 0x88, 0x58, 0x8b, 0xea, 0xc1, 0x21, 0xaf, 0x07, 0x22, 0x95, 0xd0,
8698 	0x9c, 0x1b, 0x00, 0xcb, 0xce, 0xd9, 0xf6, 0xf3, 0x5d, 0xed, 0xe5, 0xd1
8699 };
8700 static const uint8_t nist_186_2_ecdsa_testvector_192_public_x[] = {
8701 /* Qx - byte alignment */
8702 	0x06, 0x46, 0x51, 0x62, 0x5b, 0xcd, 0xfe, 0xdc, 0x22, 0x12, 0xa5, 0x33,
8703 	0xc8, 0x07, 0xec, 0x31, 0x64, 0xbe, 0x42, 0x13, 0x3b, 0x4f, 0xbf, 0x8b,
8704 	0xa2, 0xd8, 0x0c, 0xf1, 0xef, 0x17, 0x11, 0xec, 0x3a, 0x5f, 0xb8, 0x43
8705 };
8706 static const uint8_t nist_186_2_ecdsa_testvector_192_public_y[] = {
8707 /* Qy - byte alignment */
8708 	0x07, 0x0a, 0xae, 0x79, 0xc0, 0x17, 0xd3, 0x45, 0x25, 0x6d, 0x43, 0x50,
8709 	0xb8, 0x44, 0xaa, 0x20, 0x42, 0x9b, 0x2c, 0x49, 0x8d, 0x64, 0x9d, 0x35,
8710 	0x97, 0x47, 0xd8, 0x84, 0x56, 0x03, 0x4c, 0x5b, 0xb4, 0x39, 0xe3, 0x28
8711 };
8712 /* k = 07480702d0232848fb242113f468c39d83ccf4bce0451b29f379297dfbc78b7cc782477 */
8713 static const uint8_t nist_186_2_ecdsa_testvector_192_out[] = {
8714 /* R - byte alignment */
8715 	0x00, 0xf8, 0xe9, 0xbd, 0x16, 0xf8, 0xd2, 0x21, 0x06, 0x58, 0x69, 0x14,
8716 	0xc7, 0x87, 0x39, 0x2c, 0x35, 0xfe, 0xd3, 0xf5, 0xaf, 0xdc, 0x12, 0x06,
8717 	0xfd, 0x4b, 0x07, 0x3d, 0x9c, 0xbb, 0x87, 0x88, 0x3a, 0x99, 0xbb, 0xe0,
8718 /* S - byte alignment */
8719 	0x00, 0x52, 0x05, 0x5f, 0x74, 0x2b, 0x05, 0xc5, 0x56, 0x79, 0xcf, 0xcc,
8720 	0x1b, 0x7a, 0xe0, 0x17, 0xce, 0x08, 0xc7, 0x95, 0x6e, 0x5d, 0x76, 0xc1,
8721 	0xad, 0xa0, 0x2a, 0x69, 0x80, 0xa5, 0x53, 0xee, 0x96, 0xc2, 0x59, 0xf2
8722 };
8723 static const uint8_t nist_186_2_ecdsa_testvector_193_ptx[] = {
8724 /* Msg */
8725 	0x6b, 0xea, 0xfa, 0x91, 0x27, 0x47, 0x75, 0xaf, 0x63, 0x12, 0xd1, 0xa2,
8726 	0xb3, 0xe4, 0x55, 0x66, 0xb7, 0x2a, 0xc9, 0x73, 0x92, 0xcc, 0x88, 0x88,
8727 	0x9e, 0x0d, 0xd7, 0xa7, 0x5f, 0xb3, 0x75, 0x60, 0xb5, 0x67, 0x74, 0x53,
8728 	0x55, 0x5e, 0x46, 0xf1, 0x79, 0x39, 0x1b, 0x82, 0xd7, 0x2a, 0x6b, 0x6c,
8729 	0xd0, 0x59, 0xce, 0xb2, 0xeb, 0x86, 0x14, 0xbb, 0x81, 0xef, 0x92, 0x55,
8730 	0xba, 0x74, 0xba, 0xf9, 0xb8, 0xf9, 0xef, 0x51, 0x11, 0x0c, 0x97, 0xf7,
8731 	0x83, 0xc7, 0x71, 0x80, 0xe3, 0xf8, 0x28, 0xb9, 0x57, 0x80, 0x29, 0x30,
8732 	0xc5, 0xf9, 0xb2, 0xf6, 0x8b, 0x9c, 0x2c, 0xa4, 0x71, 0x61, 0xbb, 0x9c,
8733 	0xdb, 0x67, 0x13, 0x91, 0x44, 0x97, 0x8d, 0x4a, 0xe7, 0x85, 0x7a, 0xa2,
8734 	0xbf, 0x96, 0xb7, 0xd4, 0xb2, 0x68, 0x82, 0xf5, 0x0a, 0x6e, 0x8b, 0xc2,
8735 	0x24, 0xdb, 0x4e, 0x9c, 0x6c, 0xc2, 0xa1, 0xd1
8736 };
8737 static const uint8_t nist_186_2_ecdsa_testvector_193_private[] = {
8738 /* d - byte alignment */
8739 	0x00, 0x8d, 0x2e, 0x32, 0x5a, 0xd4, 0xaf, 0x49, 0xfe, 0x2e, 0x60, 0xd7,
8740 	0xff, 0xab, 0xee, 0xc2, 0x42, 0xf4, 0x76, 0xd2, 0xac, 0xe5, 0x27, 0x3f,
8741 	0x00, 0x45, 0xe3, 0xb5, 0x15, 0xd1, 0x65, 0x20, 0x9a, 0x09, 0xfd, 0x60
8742 };
8743 static const uint8_t nist_186_2_ecdsa_testvector_193_public_x[] = {
8744 /* Qx - byte alignment */
8745 	0x04, 0x63, 0x74, 0x38, 0x13, 0x86, 0x12, 0xce, 0xad, 0x95, 0x84, 0x6c,
8746 	0x71, 0x6e, 0x3f, 0xdf, 0x8b, 0xd1, 0xa9, 0x0d, 0x99, 0xda, 0x93, 0xcd,
8747 	0xc6, 0x08, 0xbd, 0x42, 0x83, 0x31, 0x7a, 0xfe, 0x05, 0x36, 0x69, 0xe1
8748 };
8749 static const uint8_t nist_186_2_ecdsa_testvector_193_public_y[] = {
8750 /* Qy - byte alignment */
8751 	0x03, 0xf7, 0x81, 0x99, 0x62, 0x2b, 0x25, 0x16, 0x58, 0xa2, 0xe7, 0x3f,
8752 	0x5d, 0x0b, 0x74, 0xa2, 0xb4, 0xae, 0x88, 0x11, 0x19, 0xb9, 0x74, 0xfa,
8753 	0xf0, 0xb6, 0x5f, 0xed, 0x8b, 0x21, 0x75, 0x95, 0xaa, 0x94, 0x10, 0x3e
8754 };
8755 /* k = 0a06efb818ad3ba2f917b8003c0c1c18a4196c94a8e2b42612ed53ed71859c6a1353bf0 */
8756 static const uint8_t nist_186_2_ecdsa_testvector_193_out[] = {
8757 /* R - byte alignment */
8758 	0x01, 0x45, 0x4c, 0x36, 0x2f, 0x36, 0xee, 0x53, 0x2f, 0x11, 0x0c, 0x39,
8759 	0x53, 0xdc, 0x6a, 0xa1, 0x31, 0xbd, 0xa4, 0x71, 0xb4, 0x98, 0x06, 0x0e,
8760 	0xf8, 0x6e, 0xf3, 0x53, 0x3b, 0x3d, 0xcd, 0x92, 0x34, 0x98, 0xda, 0x4b,
8761 /* S - byte alignment */
8762 	0x03, 0xff, 0x22, 0x58, 0x3b, 0x80, 0x5c, 0xc8, 0xfe, 0xa3, 0x03, 0x48,
8763 	0x8b, 0x13, 0x22, 0x13, 0x49, 0x69, 0xd8, 0x6e, 0xe4, 0xe2, 0x43, 0xcf,
8764 	0x5b, 0x49, 0xa7, 0x7c, 0x4d, 0x85, 0x71, 0xfe, 0xa7, 0xff, 0x27, 0xce
8765 };
8766 static const uint8_t nist_186_2_ecdsa_testvector_194_ptx[] = {
8767 /* Msg */
8768 	0x3a, 0x5e, 0x0b, 0xeb, 0x07, 0x2c, 0x40, 0xa7, 0xfa, 0x1c, 0x52, 0x0e,
8769 	0x36, 0x57, 0x14, 0xaf, 0xdd, 0x08, 0x56, 0x2d, 0xd2, 0x10, 0xc3, 0x96,
8770 	0xc4, 0xfa, 0x0a, 0xf1, 0x68, 0x31, 0x3c, 0x16, 0x05, 0x70, 0x75, 0xc3,
8771 	0x36, 0x7b, 0xbf, 0xeb, 0xec, 0x0d, 0x33, 0x51, 0xb2, 0x11, 0x62, 0x56,
8772 	0x35, 0x14, 0xf3, 0x0f, 0x03, 0xfb, 0x8d, 0x9b, 0x93, 0xf1, 0xf7, 0xb4,
8773 	0x86, 0xa4, 0x7d, 0x83, 0x2c, 0xb1, 0x96, 0xb9, 0x4a, 0x5c, 0xc5, 0xdb,
8774 	0x1a, 0x85, 0xbd, 0xdd, 0x94, 0xd8, 0xc8, 0xf3, 0xec, 0x43, 0x69, 0xa4,
8775 	0x5c, 0xad, 0x40, 0x20, 0x23, 0xe5, 0x2f, 0xd3, 0xce, 0xd8, 0xbb, 0x3a,
8776 	0xb6, 0x08, 0xb5, 0xf6, 0xca, 0x39, 0x19, 0x1f, 0x8e, 0x6d, 0x36, 0xda,
8777 	0x64, 0x13, 0x0f, 0x2e, 0x0b, 0x7c, 0x02, 0x13, 0x65, 0x8e, 0xa7, 0xcc,
8778 	0x7d, 0xbc, 0xfb, 0x77, 0xc8, 0x36, 0xbe, 0xe3
8779 };
8780 static const uint8_t nist_186_2_ecdsa_testvector_194_private[] = {
8781 /* d - byte alignment */
8782 	0x03, 0x22, 0x30, 0x44, 0xf9, 0x7b, 0xc3, 0x01, 0xa6, 0x70, 0x7e, 0xa3,
8783 	0xd8, 0x0f, 0x5a, 0x58, 0x5e, 0x1e, 0x48, 0xbe, 0x45, 0x23, 0x86, 0x20,
8784 	0x60, 0xa1, 0xf4, 0x59, 0xcd, 0xaa, 0x62, 0x6b, 0x7c, 0x07, 0x09, 0xc1
8785 };
8786 static const uint8_t nist_186_2_ecdsa_testvector_194_public_x[] = {
8787 /* Qx - byte alignment */
8788 	0x01, 0xba, 0xa5, 0xb0, 0x12, 0xef, 0x1b, 0x1c, 0xb4, 0xd8, 0xb4, 0x11,
8789 	0x3b, 0x30, 0x54, 0xf7, 0xe5, 0xc9, 0x21, 0x9e, 0x88, 0x26, 0x92, 0xdb,
8790 	0xde, 0xaa, 0xf1, 0x0f, 0x2b, 0x5a, 0x76, 0x36, 0xd0, 0x1c, 0x98, 0xe4
8791 };
8792 static const uint8_t nist_186_2_ecdsa_testvector_194_public_y[] = {
8793 /* Qy - byte alignment */
8794 	0x04, 0x15, 0xea, 0x87, 0xe5, 0xc5, 0xbb, 0xc9, 0x60, 0x18, 0xdf, 0x31,
8795 	0xe8, 0xb5, 0x57, 0x9f, 0x9f, 0x95, 0x24, 0xd0, 0x36, 0x83, 0x74, 0x58,
8796 	0xdf, 0xc4, 0x62, 0x86, 0x8e, 0x6f, 0x44, 0xff, 0x0a, 0x80, 0x9e, 0xf9
8797 };
8798 /* k = 19d0f59f71634f979df2f75b17e5737a2013cd01e9f0f0ede74789485b2f585ecb6ff38 */
8799 static const uint8_t nist_186_2_ecdsa_testvector_194_out[] = {
8800 /* R - byte alignment */
8801 	0x03, 0xf2, 0xd8, 0x41, 0x61, 0x4e, 0x11, 0x76, 0xbf, 0xd7, 0x35, 0xb2,
8802 	0x59, 0x5a, 0x3a, 0xf1, 0xbf, 0x3a, 0x46, 0xf1, 0xd6, 0xbf, 0xa3, 0xd2,
8803 	0xbe, 0xf3, 0x3c, 0x01, 0x75, 0xde, 0x29, 0x6b, 0xec, 0x07, 0x30, 0x77,
8804 /* S - byte alignment */
8805 	0x01, 0xeb, 0xff, 0x29, 0x92, 0x88, 0xb7, 0x73, 0x2a, 0x91, 0xea, 0xe3,
8806 	0x30, 0x20, 0x81, 0xd6, 0x01, 0x0d, 0x80, 0x0b, 0xb0, 0x60, 0x2a, 0x8f,
8807 	0x32, 0x7d, 0xc8, 0x06, 0x3f, 0xae, 0x6d, 0xf4, 0x8d, 0xaa, 0x63, 0xa2
8808 };
8809 static const uint8_t nist_186_2_ecdsa_testvector_195_ptx[] = {
8810 /* Msg */
8811 	0x9a, 0x7d, 0xd0, 0x9a, 0xe3, 0x42, 0xe2, 0x75, 0x57, 0x11, 0x35, 0x85,
8812 	0x4f, 0xf0, 0x7e, 0x37, 0xd1, 0xe1, 0x8a, 0xb5, 0xb2, 0x71, 0x82, 0x15,
8813 	0xfd, 0x8e, 0x6d, 0xcf, 0x99, 0x99, 0xf6, 0x75, 0x25, 0xbc, 0x6f, 0x9e,
8814 	0x27, 0x7e, 0x17, 0x24, 0x66, 0x94, 0x98, 0x8f, 0x94, 0xfa, 0xd4, 0xd0,
8815 	0x30, 0x43, 0xe1, 0x33, 0xab, 0x2e, 0x52, 0x8f, 0xca, 0x79, 0xb9, 0xbf,
8816 	0x4b, 0xfa, 0x6a, 0x56, 0xcb, 0xeb, 0x81, 0x8f, 0xe7, 0x86, 0x26, 0x83,
8817 	0xa2, 0xd2, 0x0f, 0x9f, 0x06, 0xbc, 0x47, 0x54, 0x0f, 0x69, 0x2e, 0x10,
8818 	0xc4, 0xcb, 0xc2, 0x6e, 0xa7, 0x72, 0x1c, 0xaa, 0x4f, 0xa5, 0x3d, 0x57,
8819 	0x54, 0xb2, 0x0b, 0x54, 0x6b, 0x82, 0x97, 0xfc, 0xd2, 0x70, 0xa1, 0x9d,
8820 	0xef, 0x5b, 0x5e, 0x2b, 0x34, 0xfa, 0x79, 0x36, 0x45, 0x70, 0x57, 0x1a,
8821 	0x5d, 0x21, 0x9f, 0x76, 0xee, 0xc3, 0xfa, 0xdf
8822 };
8823 static const uint8_t nist_186_2_ecdsa_testvector_195_private[] = {
8824 /* d - byte alignment */
8825 	0x00, 0x83, 0xff, 0xa9, 0x7b, 0x2b, 0xd8, 0x59, 0xce, 0x0c, 0xd7, 0xb9,
8826 	0xb3, 0x68, 0x0e, 0xc2, 0xb3, 0x0e, 0xd6, 0x3b, 0xed, 0x24, 0x44, 0x04,
8827 	0xe1, 0x9c, 0x81, 0xa8, 0x88, 0x3b, 0x7a, 0xd8, 0x68, 0xec, 0xbf, 0xb9
8828 };
8829 static const uint8_t nist_186_2_ecdsa_testvector_195_public_x[] = {
8830 /* Qx - byte alignment */
8831 	0x00, 0x36, 0x7a, 0x18, 0xb2, 0xbf, 0x2f, 0xb1, 0x24, 0x41, 0x76, 0x39,
8832 	0xf7, 0x71, 0xaa, 0x84, 0xc4, 0xc4, 0xdf, 0x68, 0xed, 0x50, 0x9e, 0x54,
8833 	0x36, 0xf7, 0xce, 0x48, 0x6a, 0x79, 0x1b, 0xf2, 0x16, 0x30, 0xf1, 0x25
8834 };
8835 static const uint8_t nist_186_2_ecdsa_testvector_195_public_y[] = {
8836 /* Qy - byte alignment */
8837 	0x01, 0x48, 0x26, 0x14, 0xac, 0x11, 0x65, 0x3d, 0x51, 0x36, 0xa8, 0xfa,
8838 	0x73, 0xe2, 0x98, 0x78, 0x25, 0x75, 0x1d, 0x71, 0x9f, 0x19, 0x61, 0x54,
8839 	0x4c, 0x2e, 0x8a, 0x83, 0x87, 0x2c, 0x65, 0x0c, 0x6e, 0xad, 0x34, 0xcc
8840 };
8841 /* k = 3e035a2c4706c4690fa5aee52828f2af2d00394927141ea1c1ea4e6fd5d1c7ac4fbe4fb */
8842 static const uint8_t nist_186_2_ecdsa_testvector_195_out[] = {
8843 /* R - byte alignment */
8844 	0x01, 0xdf, 0xee, 0xdf, 0x32, 0x25, 0xb0, 0x11, 0xa1, 0x03, 0xf0, 0xa7,
8845 	0xd9, 0x0a, 0x86, 0x01, 0xbc, 0x6c, 0x61, 0x4e, 0xa3, 0xce, 0x29, 0xb6,
8846 	0xa7, 0xfa, 0x85, 0x82, 0x99, 0x39, 0x65, 0x80, 0x54, 0xd7, 0x3b, 0x3c,
8847 /* S - byte alignment */
8848 	0x02, 0x7e, 0x4a, 0xf9, 0x09, 0x0e, 0xa2, 0x0c, 0x21, 0x84, 0x0c, 0xb1,
8849 	0xbf, 0x82, 0xdc, 0xc5, 0xe8, 0x83, 0x97, 0x03, 0x63, 0x03, 0x31, 0xd6,
8850 	0xef, 0x64, 0x64, 0xdd, 0x88, 0x68, 0x74, 0x5f, 0x68, 0xb3, 0xfb, 0xa4
8851 };
8852 /* [B-409] - GP NOT SUPPORTED */
8853 static const uint8_t nist_186_2_ecdsa_testvector_196_ptx[] = {
8854 /* Msg */
8855 	0x84, 0x16, 0xd3, 0xb1, 0x82, 0xc3, 0x17, 0x43, 0xf4, 0x33, 0xb1, 0xfd,
8856 	0x72, 0xf2, 0x08, 0x75, 0xcc, 0xdf, 0x94, 0x1c, 0x40, 0x8d, 0xa8, 0xc0,
8857 	0xf0, 0xea, 0x8f, 0x55, 0x93, 0x1e, 0xdb, 0xf4, 0x6a, 0xb6, 0xfa, 0x24,
8858 	0x75, 0x02, 0x0a, 0x59, 0xe8, 0xbb, 0xee, 0xba, 0xd9, 0xe9, 0xa2, 0x27,
8859 	0x3b, 0x04, 0xcb, 0x7b, 0x0f, 0x5a, 0x93, 0x0e, 0xd9, 0xb0, 0xb3, 0x7f,
8860 	0x51, 0x2c, 0xd1, 0xb0, 0x5c, 0x73, 0x0d, 0x11, 0x3a, 0x0e, 0xd7, 0x22,
8861 	0x01, 0x12, 0x03, 0x33, 0x4a, 0x00, 0x1f, 0x6e, 0x2a, 0xea, 0x04, 0x18,
8862 	0x64, 0xd7, 0xab, 0x14, 0xdc, 0x69, 0x42, 0xa9, 0x4f, 0xbd, 0x7f, 0x85,
8863 	0x42, 0x93, 0x35, 0x01, 0x38, 0xaf, 0x25, 0xa6, 0x28, 0x7f, 0x16, 0xf0,
8864 	0x2e, 0xfd, 0x28, 0x53, 0x81, 0xd7, 0x65, 0x7c, 0xa5, 0xcd, 0x99, 0xd9,
8865 	0xe2, 0x5b, 0x63, 0x5b, 0xf4, 0x99, 0x8d, 0x7b
8866 };
8867 static const uint8_t nist_186_2_ecdsa_testvector_196_private[] = {
8868 /* d - byte alignment */
8869 	0x00, 0x83, 0xd2, 0x07, 0x00, 0x93, 0xf0, 0xcf, 0x1e, 0xec, 0xec, 0x5b,
8870 	0xee, 0x3d, 0xeb, 0x44, 0x03, 0xb2, 0xe4, 0x71, 0x49, 0xbe, 0x09, 0x55,
8871 	0x08, 0x8f, 0x95, 0xa7, 0x50, 0xd7, 0x7f, 0xd2, 0xe5, 0x93, 0xd3, 0x7b,
8872 	0xaf, 0xe5, 0x37, 0xea, 0x79, 0xa7, 0xad, 0x33, 0xf8, 0x0b, 0xc3, 0xda,
8873 	0xf3, 0xb4, 0x58, 0xd1
8874 };
8875 static const uint8_t nist_186_2_ecdsa_testvector_196_public_x[] = {
8876 /* Qx - byte alignment */
8877 	0x01, 0x2a, 0x05, 0xf6, 0xe3, 0x18, 0x4e, 0x97, 0x24, 0x00, 0xf2, 0x6f,
8878 	0xfa, 0xad, 0x2b, 0xee, 0x81, 0x3f, 0x4f, 0x0e, 0x9a, 0x7e, 0x76, 0xbc,
8879 	0x21, 0x65, 0xa1, 0x07, 0xc9, 0x77, 0x0c, 0x67, 0xfa, 0x14, 0x2f, 0xe5,
8880 	0x06, 0xb9, 0x39, 0xc7, 0x94, 0x06, 0xaa, 0x99, 0xde, 0x29, 0x1b, 0x65,
8881 	0x7f, 0x39, 0xe8, 0xa9
8882 };
8883 static const uint8_t nist_186_2_ecdsa_testvector_196_public_y[] = {
8884 /* Qy - byte alignment */
8885 	0x00, 0xe2, 0x6d, 0x28, 0xe6, 0xa0, 0x56, 0xe9, 0x4e, 0xd6, 0xc0, 0x12,
8886 	0x60, 0x69, 0x5f, 0xaf, 0xe4, 0x4d, 0x44, 0xcd, 0xf3, 0x4f, 0xb4, 0x09,
8887 	0x58, 0xdc, 0xa1, 0x80, 0xd1, 0x5f, 0x3e, 0x67, 0xb6, 0xda, 0x1d, 0x4b,
8888 	0x2b, 0x0e, 0xc9, 0xfa, 0xa0, 0xdc, 0x3c, 0x6d, 0x60, 0x8f, 0x27, 0xb2,
8889 	0x5c, 0x2b, 0x08, 0x7a
8890 };
8891 /* k = 0eb71c20ffcf0445bc220da612064ea36f0b8f1a6e9532f6739d3888f906785ebd04987671df192e77fd070b090fba2e8a67b8d */
8892 static const uint8_t nist_186_2_ecdsa_testvector_196_out[] = {
8893 /* R - byte alignment */
8894 	0x00, 0x4f, 0x4d, 0x74, 0x92, 0x7e, 0x6a, 0x86, 0x06, 0x54, 0xf1, 0x3d,
8895 	0xe1, 0xda, 0x11, 0x20, 0x1a, 0x54, 0xcf, 0x2c, 0x52, 0xcd, 0x2a, 0x25,
8896 	0xbf, 0xb7, 0x1a, 0x6a, 0xf3, 0xf1, 0xbd, 0x1c, 0x2b, 0x2c, 0xdb, 0x73,
8897 	0x20, 0x09, 0x8d, 0x5c, 0xc7, 0x2e, 0x39, 0x63, 0xf7, 0x03, 0xc2, 0x9c,
8898 	0xcf, 0xeb, 0x1b, 0x82,
8899 /* S - byte alignment */
8900 	0x00, 0x20, 0x71, 0x0e, 0x88, 0xc7, 0x79, 0x36, 0x38, 0x9b, 0xd0, 0x77,
8901 	0x42, 0xe4, 0x16, 0xca, 0xb0, 0x94, 0x8a, 0x17, 0x31, 0x4a, 0x49, 0xe1,
8902 	0xa9, 0xec, 0x59, 0xd0, 0x1f, 0xb4, 0xe0, 0x82, 0x9a, 0x27, 0x59, 0x68,
8903 	0xc9, 0x7b, 0x5a, 0x69, 0x25, 0x6b, 0x4e, 0x9d, 0x2b, 0x40, 0x80, 0x8d,
8904 	0x02, 0x44, 0x26, 0xcf
8905 };
8906 static const uint8_t nist_186_2_ecdsa_testvector_197_ptx[] = {
8907 /* Msg */
8908 	0x9d, 0xbc, 0x49, 0x51, 0xe3, 0x23, 0xae, 0x97, 0xec, 0xaf, 0x51, 0x1f,
8909 	0x46, 0x0a, 0x42, 0x85, 0xac, 0x54, 0x32, 0x84, 0x7a, 0xc6, 0x88, 0xbc,
8910 	0x64, 0x96, 0xb2, 0xb2, 0x66, 0x1b, 0xb9, 0x19, 0xfe, 0x32, 0x19, 0x50,
8911 	0x9a, 0xe0, 0xcf, 0x2b, 0x4c, 0x39, 0xb3, 0xf6, 0xc5, 0x80, 0x08, 0xb7,
8912 	0x81, 0x8f, 0x52, 0xb4, 0x3f, 0x79, 0x67, 0x35, 0xb4, 0x6f, 0xc9, 0x8b,
8913 	0x80, 0xe0, 0x33, 0x51, 0x61, 0xe4, 0x72, 0xf2, 0xa7, 0xdb, 0x76, 0x6c,
8914 	0xe8, 0x51, 0xa9, 0x53, 0xf4, 0x26, 0x80, 0x18, 0x0b, 0xeb, 0x4f, 0x8b,
8915 	0x4e, 0x8e, 0x61, 0x9f, 0x74, 0x3a, 0x48, 0x6d, 0xbe, 0x79, 0x72, 0x7c,
8916 	0x2d, 0x9c, 0xfd, 0x40, 0xf2, 0x5c, 0xcc, 0xe0, 0x26, 0xc1, 0xdb, 0x3d,
8917 	0xbb, 0x43, 0xcf, 0x2f, 0xb3, 0x30, 0xd2, 0x11, 0x8f, 0x4d, 0x9d, 0x81,
8918 	0x0b, 0xc0, 0xd6, 0x61, 0x08, 0x2d, 0x9d, 0x21
8919 };
8920 static const uint8_t nist_186_2_ecdsa_testvector_197_private[] = {
8921 /* d - byte alignment */
8922 	0x00, 0x0a, 0x9c, 0x92, 0x40, 0xd3, 0xe8, 0x29, 0x09, 0xd8, 0x6a, 0xf8,
8923 	0x98, 0xa9, 0xf1, 0x69, 0x4b, 0x5e, 0x6c, 0x19, 0x38, 0xa3, 0x23, 0x5f,
8924 	0x5c, 0x14, 0x8b, 0xa4, 0xfd, 0x5f, 0x07, 0x50, 0xc9, 0xe7, 0x33, 0x82,
8925 	0x4c, 0xa9, 0xda, 0x34, 0xca, 0x23, 0x25, 0x54, 0xd8, 0x60, 0x1a, 0x11,
8926 	0xcc, 0xec, 0x7c, 0xed
8927 };
8928 static const uint8_t nist_186_2_ecdsa_testvector_197_public_x[] = {
8929 /* Qx - byte alignment */
8930 	0x01, 0xf5, 0x35, 0xe9, 0xf4, 0xe7, 0x8c, 0x2e, 0x20, 0x7c, 0xa5, 0x92,
8931 	0x88, 0x5d, 0x03, 0x31, 0x37, 0x5d, 0x72, 0xf9, 0x99, 0x7a, 0x22, 0x76,
8932 	0xc4, 0x12, 0xe7, 0x74, 0x8f, 0xa1, 0x7d, 0x5d, 0xe6, 0x86, 0xfe, 0x85,
8933 	0x9e, 0xdd, 0x64, 0x3e, 0x18, 0x0f, 0xd7, 0x87, 0x2b, 0x3c, 0x75, 0x98,
8934 	0x4d, 0x11, 0x4e, 0x2f
8935 };
8936 static const uint8_t nist_186_2_ecdsa_testvector_197_public_y[] = {
8937 /* Qy - byte alignment */
8938 	0x00, 0xf2, 0x43, 0x3a, 0x78, 0xac, 0xae, 0xad, 0x2a, 0x3c, 0xca, 0x87,
8939 	0xea, 0xbd, 0x0a, 0x03, 0xa2, 0xf1, 0x22, 0x69, 0xbb, 0xea, 0x25, 0xe5,
8940 	0xdd, 0x56, 0x5c, 0xf3, 0x46, 0xd6, 0x56, 0x95, 0x3c, 0xa9, 0x6d, 0x70,
8941 	0x3d, 0x11, 0x34, 0x30, 0xa0, 0xb2, 0xa0, 0xb2, 0xe6, 0xe9, 0x90, 0xd8,
8942 	0x23, 0xe8, 0x9d, 0x5b
8943 };
8944 /* k = 021133e73d9ea0bdab83640d1652b88804454500893f1653a673b84cc6a6b9877adbd655c076af2980299e98f67738a5258c54f */
8945 static const uint8_t nist_186_2_ecdsa_testvector_197_out[] = {
8946 /* R - byte alignment */
8947 	0x00, 0x72, 0x39, 0xa2, 0xc9, 0x1e, 0xc7, 0x01, 0x88, 0x3f, 0xb9, 0x63,
8948 	0xd6, 0x52, 0xd9, 0x82, 0xd5, 0x91, 0x9e, 0xd7, 0x4f, 0x3b, 0xce, 0x8d,
8949 	0xc7, 0x3c, 0x18, 0x19, 0x72, 0x2c, 0x85, 0x65, 0x0e, 0x89, 0x6b, 0x3d,
8950 	0x95, 0xb9, 0xe4, 0x7d, 0xbe, 0xda, 0x72, 0x47, 0x60, 0x29, 0x17, 0x13,
8951 	0xb1, 0x70, 0xe0, 0x95,
8952 /* S - byte alignment */
8953 	0x00, 0x32, 0x8e, 0x43, 0x23, 0x00, 0x14, 0xef, 0x7c, 0x6e, 0xa0, 0x87,
8954 	0x72, 0xa3, 0xb7, 0x95, 0x89, 0xf4, 0x12, 0xf3, 0xaf, 0x4e, 0x4e, 0x23,
8955 	0x14, 0xe4, 0x0a, 0xb6, 0x7b, 0x81, 0xdc, 0x5a, 0xab, 0x46, 0x7e, 0x31,
8956 	0x5b, 0xa3, 0x0a, 0x0b, 0xa3, 0xd1, 0x82, 0x49, 0xb1, 0xeb, 0x9e, 0x45,
8957 	0xd3, 0x50, 0xae, 0x35
8958 };
8959 static const uint8_t nist_186_2_ecdsa_testvector_198_ptx[] = {
8960 /* Msg */
8961 	0xe7, 0x70, 0x25, 0xc9, 0x85, 0x8e, 0x2a, 0xdc, 0x23, 0x65, 0xcc, 0xbc,
8962 	0x6e, 0x03, 0xb4, 0x01, 0xeb, 0xe9, 0x2c, 0x5b, 0xdb, 0x62, 0x26, 0x82,
8963 	0x63, 0x13, 0x80, 0x70, 0xe9, 0xd2, 0x86, 0xcd, 0xc1, 0xbc, 0xb9, 0xab,
8964 	0x09, 0x81, 0xcf, 0x73, 0xd1, 0x03, 0xfa, 0x1f, 0x80, 0x20, 0x6d, 0xaa,
8965 	0x72, 0xcb, 0x1d, 0xc5, 0xe6, 0x62, 0xc4, 0xcc, 0x18, 0x3b, 0x2c, 0xf8,
8966 	0xaa, 0x81, 0xaa, 0xd6, 0x48, 0x3e, 0xe8, 0xf8, 0x8c, 0xb8, 0xe8, 0xea,
8967 	0x1f, 0x01, 0x46, 0x67, 0x22, 0xca, 0xbe, 0xcd, 0xcc, 0x78, 0xed, 0xcf,
8968 	0x54, 0x7a, 0x5c, 0x6a, 0x11, 0xd9, 0xba, 0x1a, 0xe0, 0x10, 0x69, 0x4d,
8969 	0xc6, 0x1f, 0x3d, 0x18, 0xd6, 0xdb, 0x80, 0x29, 0x55, 0x88, 0x39, 0xfd,
8970 	0x1d, 0xa9, 0xad, 0x53, 0x3f, 0x17, 0x27, 0xe0, 0xec, 0x51, 0xf5, 0x44,
8971 	0x96, 0x13, 0xb3, 0x3d, 0x52, 0x2a, 0xcc, 0x1a
8972 };
8973 static const uint8_t nist_186_2_ecdsa_testvector_198_private[] = {
8974 /* d - byte alignment */
8975 	0x00, 0xb9, 0xad, 0x78, 0x4b, 0xfd, 0x87, 0xb3, 0xea, 0xa6, 0x13, 0x1f,
8976 	0xc8, 0x27, 0x3c, 0x88, 0x93, 0xad, 0xe1, 0xca, 0x44, 0x49, 0x76, 0xdd,
8977 	0x25, 0x8b, 0xe5, 0xdd, 0xab, 0xa0, 0xb8, 0xdd, 0xfb, 0x9d, 0xce, 0x58,
8978 	0x95, 0x7a, 0x7e, 0x41, 0xf9, 0xad, 0x60, 0xc9, 0x49, 0x70, 0x22, 0xbb,
8979 	0xe7, 0x24, 0x49, 0x9d
8980 };
8981 static const uint8_t nist_186_2_ecdsa_testvector_198_public_x[] = {
8982 /* Qx - byte alignment */
8983 	0x00, 0xc6, 0xf4, 0x92, 0x77, 0x11, 0x0d, 0xef, 0xb2, 0x02, 0x7b, 0x3e,
8984 	0xac, 0xc9, 0x32, 0x8b, 0x4c, 0x9b, 0xb7, 0x7e, 0x7b, 0xa2, 0xf8, 0xbf,
8985 	0x68, 0x89, 0x55, 0xe4, 0xa8, 0x59, 0x84, 0xe7, 0x51, 0x36, 0xab, 0x6a,
8986 	0x98, 0x91, 0x76, 0x6d, 0x87, 0xf2, 0xde, 0x5a, 0x23, 0x49, 0x2f, 0xc1,
8987 	0x06, 0x72, 0x74, 0x0d
8988 };
8989 static const uint8_t nist_186_2_ecdsa_testvector_198_public_y[] = {
8990 /* Qy - byte alignment */
8991 	0x00, 0xf6, 0xf3, 0xe5, 0x87, 0x4b, 0x9a, 0x51, 0x4a, 0xac, 0xfc, 0x66,
8992 	0x1e, 0x7d, 0x98, 0x7c, 0x01, 0xbd, 0xe6, 0xee, 0xf2, 0x81, 0xb9, 0xce,
8993 	0xe6, 0x6f, 0x66, 0xc6, 0x54, 0x3f, 0xe9, 0x26, 0x19, 0xf9, 0x42, 0xa4,
8994 	0x0d, 0x7a, 0xd5, 0xa7, 0xea, 0xd3, 0x98, 0x5b, 0x2b, 0x5f, 0x39, 0x1f,
8995 	0x20, 0x45, 0xfd, 0x69
8996 };
8997 /* k = 053a5ae09193c3ba143cb46dc8803eadcf0cff0cb5739efc349c5e8172845ee8f27d5ae18847a8e0996ab649f5986e80cac0320 */
8998 static const uint8_t nist_186_2_ecdsa_testvector_198_out[] = {
8999 /* R - byte alignment */
9000 	0x00, 0x67, 0x16, 0xff, 0x3d, 0x60, 0x1d, 0x13, 0x01, 0xf1, 0xe4, 0xff,
9001 	0xc1, 0xcf, 0xef, 0x3e, 0x90, 0xc0, 0x7b, 0x95, 0x8d, 0xb8, 0x61, 0xbd,
9002 	0x43, 0x2c, 0x39, 0xcc, 0xdc, 0x38, 0x41, 0xda, 0x5b, 0x9e, 0x0b, 0x8b,
9003 	0x39, 0xeb, 0xc2, 0xef, 0xf8, 0x03, 0xb9, 0x11, 0x44, 0x03, 0x7a, 0x63,
9004 	0xf1, 0x1c, 0x97, 0xb3,
9005 /* S - byte alignment */
9006 	0x00, 0x35, 0xe7, 0x30, 0x6a, 0x4c, 0x0f, 0xdb, 0x82, 0x35, 0xbd, 0x21,
9007 	0x28, 0x96, 0x9d, 0xda, 0x0f, 0x64, 0x35, 0x59, 0xda, 0xeb, 0xa7, 0x51,
9008 	0x78, 0xe5, 0x66, 0x6d, 0x5f, 0x21, 0xa5, 0xf8, 0x3d, 0x12, 0xfe, 0xf7,
9009 	0x95, 0xfd, 0xa3, 0x40, 0xa8, 0x15, 0xe1, 0x96, 0x2e, 0x9b, 0xd0, 0x0d,
9010 	0xe8, 0xcb, 0x08, 0x7f
9011 };
9012 static const uint8_t nist_186_2_ecdsa_testvector_199_ptx[] = {
9013 /* Msg */
9014 	0x4d, 0xcc, 0x25, 0x48, 0x48, 0x3f, 0xdf, 0x25, 0xd6, 0x69, 0x2e, 0x15,
9015 	0xab, 0x39, 0x13, 0xaa, 0x62, 0xf0, 0x9b, 0x49, 0x1e, 0x32, 0xaa, 0xdb,
9016 	0x72, 0x5d, 0xf7, 0xc4, 0x7e, 0x1b, 0x58, 0x19, 0x5b, 0x33, 0x40, 0x0d,
9017 	0xba, 0xa5, 0x85, 0xad, 0xc7, 0xf5, 0x67, 0xce, 0x54, 0xc7, 0xcf, 0x43,
9018 	0x33, 0xac, 0xd4, 0x53, 0xe3, 0x3c, 0x83, 0x6a, 0x70, 0x65, 0xe0, 0x0e,
9019 	0x94, 0x02, 0x28, 0x15, 0x22, 0xaf, 0x59, 0x15, 0xa4, 0xdc, 0xf4, 0x1d,
9020 	0x43, 0x21, 0x02, 0xa2, 0xe8, 0xd1, 0x55, 0xbc, 0xa1, 0xd2, 0x10, 0x93,
9021 	0x46, 0xac, 0x6a, 0x13, 0x5c, 0xdf, 0xae, 0xe8, 0x39, 0x7a, 0x86, 0xa6,
9022 	0x69, 0xe9, 0x7a, 0x47, 0x51, 0x0f, 0xb4, 0xdb, 0x12, 0x95, 0x06, 0x7b,
9023 	0xb1, 0x81, 0x2e, 0x7f, 0x74, 0x0a, 0x58, 0xf1, 0x8f, 0xaa, 0xe4, 0x41,
9024 	0xff, 0x76, 0x6a, 0x39, 0xb7, 0xab, 0xfb, 0x34
9025 };
9026 static const uint8_t nist_186_2_ecdsa_testvector_199_private[] = {
9027 /* d - byte alignment */
9028 	0x00, 0x9b, 0xb0, 0x0b, 0x37, 0xcd, 0x84, 0xb4, 0x15, 0x5e, 0xc5, 0x94,
9029 	0x91, 0xa0, 0x02, 0xb7, 0xf0, 0xdb, 0x38, 0xb4, 0xa1, 0xaf, 0x39, 0xe8,
9030 	0xae, 0xab, 0x83, 0xe7, 0x10, 0xb2, 0xe4, 0xe4, 0x3e, 0xbb, 0xa3, 0x64,
9031 	0xc6, 0xeb, 0x6a, 0x5e, 0x61, 0xd3, 0x64, 0x26, 0xcd, 0x66, 0x81, 0x5c,
9032 	0x79, 0xfa, 0x21, 0x9d
9033 };
9034 static const uint8_t nist_186_2_ecdsa_testvector_199_public_x[] = {
9035 /* Qx - byte alignment */
9036 	0x00, 0x85, 0x8a, 0x4a, 0xc6, 0x13, 0x19, 0x53, 0xd6, 0xbf, 0x24, 0x58,
9037 	0xf2, 0x3c, 0x83, 0x2f, 0x23, 0x1d, 0xad, 0x09, 0x4d, 0x08, 0x74, 0xca,
9038 	0x02, 0x2d, 0x99, 0x11, 0xa7, 0x86, 0x12, 0xd5, 0xe6, 0x3e, 0xf9, 0x07,
9039 	0xd8, 0x2f, 0xf8, 0xb4, 0x39, 0x2e, 0x40, 0xe5, 0x53, 0x53, 0x83, 0x85,
9040 	0x5e, 0x28, 0xa5, 0x39
9041 };
9042 static const uint8_t nist_186_2_ecdsa_testvector_199_public_y[] = {
9043 /* Qy - byte alignment */
9044 	0x01, 0xf9, 0xa5, 0x52, 0xbd, 0x3c, 0x18, 0x3a, 0xc8, 0x85, 0xe4, 0x11,
9045 	0x8b, 0x21, 0x85, 0x4a, 0x0d, 0x36, 0x9a, 0xd9, 0x1b, 0x3a, 0xce, 0x47,
9046 	0x07, 0xcb, 0x6e, 0x6a, 0x99, 0xe0, 0xe6, 0xb0, 0x54, 0xda, 0x4d, 0x71,
9047 	0xfe, 0x69, 0xe9, 0x9d, 0x07, 0x2a, 0xb8, 0x65, 0x33, 0x4f, 0x6f, 0x63,
9048 	0xdb, 0x9b, 0x4e, 0xa7
9049 };
9050 /* k = 029691df256d0b4794600f785f809922326b9c2553488cfb7aa60b311932b32822583b5c60463b2ff901a1a35cca0641c4fc0cc */
9051 static const uint8_t nist_186_2_ecdsa_testvector_199_out[] = {
9052 /* R - byte alignment */
9053 	0x00, 0xd9, 0x3c, 0x6f, 0xfd, 0x1f, 0x80, 0x7a, 0x49, 0x08, 0xcb, 0x3b,
9054 	0xef, 0x22, 0xf5, 0x57, 0x66, 0x4a, 0x16, 0x07, 0xce, 0x04, 0x40, 0x74,
9055 	0xc4, 0x1e, 0x56, 0x8d, 0xb4, 0x7e, 0x67, 0x19, 0x6a, 0x6e, 0x50, 0x38,
9056 	0x5b, 0x8a, 0xb5, 0x95, 0x89, 0x82, 0x77, 0x67, 0xb1, 0xaa, 0xa1, 0xb3,
9057 	0x48, 0xb2, 0xf2, 0xbd,
9058 /* S - byte alignment */
9059 	0x00, 0xa1, 0x8f, 0x0f, 0x28, 0xb5, 0xbf, 0x3c, 0xe8, 0x70, 0xb9, 0x48,
9060 	0xb5, 0x5f, 0xdb, 0xce, 0xa9, 0x91, 0x61, 0x3d, 0x0b, 0x74, 0xa5, 0xc5,
9061 	0x0e, 0xaf, 0xc2, 0x65, 0xff, 0x02, 0x3b, 0x8c, 0x6f, 0x85, 0x64, 0xde,
9062 	0xa5, 0x5c, 0xa7, 0x61, 0x7f, 0x46, 0xab, 0x90, 0x62, 0x55, 0xf4, 0x30,
9063 	0x3b, 0x96, 0x15, 0xda
9064 };
9065 static const uint8_t nist_186_2_ecdsa_testvector_200_ptx[] = {
9066 /* Msg */
9067 	0xa3, 0xcb, 0x2e, 0x23, 0xd8, 0x2b, 0x4b, 0x50, 0x01, 0xde, 0xe9, 0x91,
9068 	0x31, 0xb7, 0x5e, 0x71, 0x13, 0xca, 0x3f, 0xc1, 0x89, 0x7e, 0x27, 0x44,
9069 	0x92, 0xe3, 0xb3, 0xac, 0x71, 0x45, 0xd1, 0xc5, 0x0c, 0x01, 0x3b, 0xf1,
9070 	0x92, 0x97, 0x3e, 0xd4, 0x60, 0x01, 0xc0, 0x50, 0x26, 0x43, 0x81, 0xb4,
9071 	0x45, 0x44, 0xa1, 0x30, 0x7c, 0xdc, 0x63, 0x8d, 0xc4, 0x2e, 0x30, 0x1a,
9072 	0x78, 0x38, 0xdf, 0xea, 0xb9, 0xa8, 0x33, 0x3c, 0x11, 0xf1, 0xa5, 0x3b,
9073 	0x56, 0x9f, 0x64, 0xe8, 0xd2, 0xe7, 0x9b, 0x54, 0xa0, 0x83, 0xf2, 0x12,
9074 	0x59, 0xbd, 0x57, 0xec, 0xf1, 0xc9, 0xfe, 0xd5, 0xdb, 0x57, 0xa6, 0x1f,
9075 	0x74, 0x69, 0x1f, 0xee, 0x9e, 0x62, 0x09, 0xed, 0xab, 0x60, 0xde, 0x3f,
9076 	0x7e, 0xcc, 0x33, 0xb9, 0xec, 0x30, 0x3a, 0x4e, 0x68, 0x48, 0x8c, 0xca,
9077 	0xe0, 0x5b, 0x25, 0xc4, 0xe2, 0xcb, 0xb0, 0xcd
9078 };
9079 static const uint8_t nist_186_2_ecdsa_testvector_200_private[] = {
9080 /* d - byte alignment */
9081 	0x00, 0x4a, 0xba, 0xab, 0x51, 0xaa, 0xd7, 0x0e, 0x18, 0x6d, 0xe5, 0x77,
9082 	0x34, 0xeb, 0x32, 0xbf, 0xfc, 0x39, 0x28, 0x7c, 0xf3, 0x59, 0x7c, 0xa5,
9083 	0xa1, 0x5f, 0x18, 0x1b, 0xc1, 0x69, 0xc8, 0x87, 0xdd, 0xb1, 0x4e, 0x20,
9084 	0x94, 0xac, 0xcb, 0xba, 0x06, 0xd4, 0xa7, 0xed, 0x6d, 0x86, 0xfd, 0x38,
9085 	0x89, 0x9a, 0x5c, 0x4e
9086 };
9087 static const uint8_t nist_186_2_ecdsa_testvector_200_public_x[] = {
9088 /* Qx - byte alignment */
9089 	0x01, 0x8b, 0x4a, 0x5f, 0x7c, 0xd1, 0x2b, 0x74, 0xe7, 0xe3, 0xd3, 0x3a,
9090 	0xe4, 0x79, 0x15, 0xf7, 0x25, 0xe5, 0x6a, 0x13, 0xe2, 0x2a, 0x4e, 0x07,
9091 	0xcd, 0x8c, 0x5e, 0x1f, 0x65, 0x0a, 0xcb, 0x69, 0x74, 0x91, 0x8a, 0x81,
9092 	0x44, 0xeb, 0xf7, 0xe7, 0x8d, 0xad, 0xb1, 0x8f, 0x0f, 0x30, 0x5a, 0xac,
9093 	0x68, 0x75, 0x74, 0xef
9094 };
9095 static const uint8_t nist_186_2_ecdsa_testvector_200_public_y[] = {
9096 /* Qy - byte alignment */
9097 	0x01, 0x9c, 0x5f, 0xc9, 0xce, 0x7d, 0x5a, 0x4a, 0xe3, 0x42, 0x8f, 0xc9,
9098 	0x4c, 0xf2, 0x4e, 0xcb, 0xab, 0xf2, 0x68, 0xcc, 0x47, 0x21, 0xce, 0xcb,
9099 	0x8b, 0xd7, 0x02, 0x84, 0x20, 0x0e, 0x97, 0x55, 0xde, 0x4a, 0xf2, 0x01,
9100 	0x4f, 0xaa, 0xa6, 0x38, 0x54, 0xd6, 0x0f, 0x2a, 0xda, 0x89, 0x5b, 0x90,
9101 	0x55, 0x91, 0x10, 0xd4
9102 };
9103 /* k = 0c0109b439973efd6d62bf38c4d7afa79d756e9d97433d7748dbaa635a3ffbd5ff3b9224d926d71f5c9e3eefc57f9a3da352523 */
9104 static const uint8_t nist_186_2_ecdsa_testvector_200_out[] = {
9105 /* R - byte alignment */
9106 	0x00, 0xce, 0xe8, 0xe0, 0x19, 0xd4, 0xb2, 0x3d, 0x36, 0xd8, 0x9f, 0xd4,
9107 	0x39, 0x1a, 0x92, 0x2c, 0x66, 0xb0, 0xc2, 0xf0, 0x1e, 0xda, 0x9a, 0x22,
9108 	0xdd, 0x1e, 0x9a, 0x48, 0x0d, 0x3f, 0x4f, 0xdb, 0x50, 0xb1, 0x29, 0x63,
9109 	0xec, 0x7f, 0x55, 0x92, 0x87, 0x94, 0x72, 0x9c, 0x7d, 0x6c, 0x0a, 0x0c,
9110 	0x1e, 0x1f, 0x8b, 0xdf,
9111 /* S - byte alignment */
9112 	0x00, 0x45, 0x94, 0x13, 0x1a, 0x93, 0x19, 0x66, 0x08, 0xca, 0x3a, 0x24,
9113 	0xd3, 0x9a, 0xaf, 0xdd, 0x5d, 0xb2, 0xee, 0xb0, 0x3c, 0x2e, 0x8d, 0x6b,
9114 	0xdf, 0xc8, 0x22, 0xb5, 0x6f, 0x64, 0x82, 0xbe, 0xac, 0xa1, 0xdf, 0x3c,
9115 	0x47, 0x2f, 0xec, 0x59, 0xab, 0x88, 0x28, 0x2e, 0x02, 0x07, 0xb3, 0x7e,
9116 	0x35, 0x17, 0x8f, 0x3e
9117 };
9118 static const uint8_t nist_186_2_ecdsa_testvector_201_ptx[] = {
9119 /* Msg */
9120 	0x73, 0x1c, 0x69, 0x97, 0xfc, 0x71, 0xd6, 0x4c, 0x29, 0x43, 0x91, 0xc7,
9121 	0xf1, 0x80, 0x60, 0x08, 0x65, 0xc1, 0x07, 0x13, 0x87, 0xd0, 0xbb, 0x96,
9122 	0x5e, 0x68, 0xd9, 0xcc, 0x4a, 0x3b, 0xd8, 0xa1, 0x96, 0x39, 0x7d, 0x17,
9123 	0x4c, 0x10, 0x4d, 0xe8, 0x4d, 0xef, 0x48, 0x6d, 0xa0, 0x90, 0xd4, 0xbe,
9124 	0x0b, 0x75, 0xf8, 0x1b, 0xe0, 0x72, 0xca, 0x8b, 0x1a, 0x6b, 0x2b, 0xc2,
9125 	0xa8, 0x5f, 0xb1, 0x48, 0x09, 0xa5, 0xe5, 0xd8, 0x19, 0x76, 0xaf, 0x07,
9126 	0x2b, 0xac, 0x0e, 0x26, 0x57, 0xc9, 0x0c, 0x68, 0x16, 0x3b, 0xf2, 0x48,
9127 	0x0c, 0xdf, 0xb8, 0x25, 0x24, 0xc3, 0xbf, 0x2f, 0xe2, 0x30, 0xc3, 0x87,
9128 	0xf5, 0xe8, 0x0b, 0xa2, 0x0c, 0xac, 0xe2, 0xef, 0xeb, 0x01, 0x4b, 0xb9,
9129 	0xbe, 0x34, 0xf1, 0x4e, 0xad, 0x9c, 0x5d, 0x61, 0xb0, 0x1f, 0x6b, 0xad,
9130 	0xa5, 0xf7, 0xff, 0xdb, 0xa0, 0xb6, 0xf4, 0xa6
9131 };
9132 static const uint8_t nist_186_2_ecdsa_testvector_201_private[] = {
9133 /* d - byte alignment */
9134 	0x00, 0x12, 0xee, 0xe9, 0x8d, 0x39, 0xf1, 0x54, 0x1f, 0x70, 0xb2, 0xc5,
9135 	0x45, 0xbe, 0xc7, 0x4b, 0x66, 0x84, 0x47, 0xb9, 0x42, 0x45, 0x9a, 0x1e,
9136 	0xd8, 0xdf, 0xcd, 0x93, 0xc0, 0xf1, 0x5f, 0x94, 0x4d, 0xb7, 0x66, 0x66,
9137 	0x36, 0x40, 0x81, 0xfc, 0x0d, 0xd3, 0xaf, 0xb3, 0xbe, 0xf7, 0xf5, 0xb5,
9138 	0x90, 0x92, 0xcf, 0x8f
9139 };
9140 static const uint8_t nist_186_2_ecdsa_testvector_201_public_x[] = {
9141 /* Qx - byte alignment */
9142 	0x00, 0xdc, 0x4b, 0xca, 0x5f, 0xf4, 0x2c, 0xe3, 0xf0, 0xf4, 0x14, 0x1e,
9143 	0x91, 0x2c, 0xbb, 0xcf, 0x56, 0x20, 0x87, 0x1f, 0xa3, 0x5d, 0xe2, 0x7d,
9144 	0xc7, 0xf3, 0xf0, 0xfd, 0x80, 0x75, 0x24, 0xba, 0x64, 0x98, 0x1f, 0x16,
9145 	0x4c, 0xa5, 0x45, 0x3d, 0xc5, 0xb2, 0xa3, 0x63, 0x8e, 0x1f, 0xea, 0x84,
9146 	0x18, 0x72, 0x8a, 0x3f
9147 };
9148 static const uint8_t nist_186_2_ecdsa_testvector_201_public_y[] = {
9149 /* Qy - byte alignment */
9150 	0x01, 0x1e, 0xc0, 0xf5, 0x90, 0x1e, 0xe9, 0x03, 0xe6, 0x04, 0xe9, 0xe6,
9151 	0xc8, 0x3c, 0x5e, 0xf8, 0x4b, 0x0a, 0x16, 0x54, 0xe9, 0xdd, 0xbd, 0xd5,
9152 	0x62, 0xd2, 0xb2, 0x23, 0x1b, 0x8f, 0x5b, 0x5f, 0xdd, 0x6d, 0x8e, 0xaf,
9153 	0x04, 0x3b, 0xf3, 0x27, 0x4e, 0xf5, 0x12, 0xab, 0x7a, 0xd7, 0x88, 0x64,
9154 	0xef, 0x89, 0xa0, 0x6d
9155 };
9156 /* k = 0d98a9c6d99e49fc3657a674f483cf87d3848b199d8decf7478035807f25bcbf02af09055f8156176ab814ee87e29d5ae978bed */
9157 static const uint8_t nist_186_2_ecdsa_testvector_201_out[] = {
9158 /* R - byte alignment */
9159 	0x00, 0x16, 0xd5, 0xc0, 0xc9, 0xca, 0xed, 0x1e, 0xf8, 0x71, 0x09, 0x6f,
9160 	0xea, 0x97, 0x10, 0x29, 0x8b, 0x21, 0x01, 0x4b, 0x00, 0xba, 0x27, 0xaa,
9161 	0x22, 0x81, 0x77, 0x84, 0x8d, 0xdf, 0x63, 0x9a, 0xef, 0xbe, 0x8f, 0xae,
9162 	0x05, 0xd4, 0x04, 0xb4, 0xca, 0x57, 0x06, 0x15, 0xa7, 0x1d, 0xa4, 0xf4,
9163 	0xae, 0x0a, 0xaa, 0x43,
9164 /* S - byte alignment */
9165 	0x00, 0xca, 0xe8, 0xea, 0xbd, 0x63, 0x3f, 0xef, 0x32, 0x15, 0x39, 0x3b,
9166 	0x5b, 0x84, 0x98, 0xc6, 0xfb, 0xf4, 0x82, 0xd6, 0x6b, 0xf8, 0x5e, 0x91,
9167 	0x13, 0x83, 0xc6, 0x4c, 0x97, 0x6e, 0x22, 0xb5, 0x53, 0x68, 0x8d, 0xdd,
9168 	0x9c, 0xdc, 0xdb, 0xca, 0x26, 0x78, 0x5d, 0xc0, 0x1f, 0x39, 0x50, 0x21,
9169 	0xd1, 0x97, 0x17, 0xad
9170 };
9171 static const uint8_t nist_186_2_ecdsa_testvector_202_ptx[] = {
9172 /* Msg */
9173 	0x7a, 0x4d, 0xde, 0x7d, 0x59, 0x8a, 0xd7, 0xc3, 0x35, 0x34, 0x66, 0xb2,
9174 	0xd7, 0x39, 0xcf, 0x4a, 0xd6, 0x29, 0x75, 0x33, 0xc6, 0x99, 0xab, 0x46,
9175 	0xad, 0xc5, 0xc8, 0x4f, 0xb6, 0x79, 0x79, 0x11, 0x2a, 0x31, 0x5c, 0x8b,
9176 	0x9b, 0x7f, 0xca, 0x7a, 0x63, 0xad, 0xf4, 0x1f, 0x4d, 0xa3, 0x31, 0x42,
9177 	0x91, 0x0c, 0x96, 0x77, 0x06, 0xb5, 0xc8, 0xa0, 0x93, 0x35, 0x0e, 0xb3,
9178 	0xe6, 0xd3, 0xaa, 0xbe, 0x69, 0xa4, 0x6a, 0x28, 0x72, 0xf4, 0x7a, 0x39,
9179 	0xbb, 0xe7, 0x7c, 0xdc, 0x11, 0x60, 0xda, 0xa4, 0x50, 0x22, 0x5b, 0x0e,
9180 	0x8e, 0x36, 0xf5, 0x06, 0x97, 0x8c, 0xe3, 0xac, 0x9a, 0xe5, 0xf7, 0x57,
9181 	0x21, 0xef, 0x30, 0xda, 0x46, 0xb2, 0x8f, 0x07, 0x24, 0x2c, 0x27, 0x72,
9182 	0x8d, 0x38, 0x74, 0x78, 0xfb, 0xb5, 0xed, 0x7f, 0xc8, 0xe3, 0xdc, 0x7e,
9183 	0xa1, 0x10, 0x6e, 0xc1, 0x38, 0x75, 0x06, 0xe6
9184 };
9185 static const uint8_t nist_186_2_ecdsa_testvector_202_private[] = {
9186 /* d - byte alignment */
9187 	0x00, 0x3d, 0xda, 0x4a, 0xcf, 0x12, 0x75, 0xa9, 0xc8, 0xd7, 0xda, 0x0c,
9188 	0x7b, 0xcc, 0x1f, 0x06, 0xb8, 0xc3, 0xeb, 0x44, 0x47, 0x2d, 0x81, 0xf5,
9189 	0x01, 0x5e, 0x7b, 0x39, 0x74, 0xbc, 0x72, 0x71, 0x7f, 0x4c, 0x81, 0x13,
9190 	0xf7, 0x2f, 0xcf, 0xb6, 0xba, 0xd5, 0xe1, 0x0a, 0x4f, 0x57, 0xe0, 0x6a,
9191 	0x4a, 0x7d, 0x61, 0x62
9192 };
9193 static const uint8_t nist_186_2_ecdsa_testvector_202_public_x[] = {
9194 /* Qx - byte alignment */
9195 	0x01, 0xd8, 0x64, 0x9a, 0xc8, 0xd0, 0x85, 0x6c, 0x86, 0x21, 0xe7, 0xb7,
9196 	0x01, 0xaa, 0x2d, 0x86, 0x9f, 0x18, 0xf0, 0x12, 0x39, 0x16, 0x89, 0xa7,
9197 	0xfb, 0xb3, 0x82, 0x8d, 0xc8, 0xef, 0xac, 0xcc, 0xa7, 0x04, 0x87, 0x8b,
9198 	0xc2, 0x97, 0xe1, 0x06, 0x33, 0xb4, 0x2b, 0x1c, 0x22, 0x15, 0xc8, 0xf4,
9199 	0x16, 0xf7, 0xd8, 0x49
9200 };
9201 static const uint8_t nist_186_2_ecdsa_testvector_202_public_y[] = {
9202 /* Qy - byte alignment */
9203 	0x01, 0x4d, 0x30, 0x26, 0xd0, 0xe8, 0x77, 0x1c, 0xf3, 0x27, 0xc3, 0x81,
9204 	0xbf, 0xfe, 0x50, 0xc2, 0x8f, 0xdd, 0x00, 0x88, 0x24, 0xd8, 0x89, 0xc0,
9205 	0x37, 0x2b, 0x27, 0x02, 0xd4, 0xb2, 0x1d, 0x46, 0x51, 0x1d, 0x00, 0xba,
9206 	0x42, 0x4f, 0xe5, 0x61, 0x39, 0x40, 0xc9, 0x8b, 0xde, 0x1c, 0x0c, 0x37,
9207 	0x31, 0x52, 0x24, 0x1e
9208 };
9209 /* k = 035f0a268fa93e03e6c2ad7a28c61ab3e19e83a41d5d9f28865cce8eb3a5bc8ed4bd6c5e744444959d762f6b30ed63405667ee7 */
9210 static const uint8_t nist_186_2_ecdsa_testvector_202_out[] = {
9211 /* R - byte alignment */
9212 	0x00, 0x98, 0x98, 0xd7, 0x3a, 0xee, 0x50, 0xeb, 0x24, 0x16, 0xc7, 0x03,
9213 	0x75, 0x62, 0xe2, 0xa3, 0xa7, 0x14, 0xbe, 0x98, 0xff, 0x63, 0xf0, 0xec,
9214 	0x7e, 0x6e, 0x32, 0x8b, 0x3f, 0x40, 0x2c, 0xb9, 0x97, 0xc5, 0x78, 0x3d,
9215 	0x5d, 0x27, 0x1a, 0x58, 0x4f, 0x96, 0x7e, 0xba, 0xf6, 0x1d, 0x6d, 0xfc,
9216 	0x78, 0x56, 0xcb, 0xd4,
9217 /* S - byte alignment */
9218 	0x00, 0xb5, 0x3e, 0xf2, 0x5a, 0x9a, 0x7b, 0xe8, 0x6f, 0xc8, 0xb8, 0xe9,
9219 	0x12, 0x76, 0xfa, 0x46, 0x10, 0xdc, 0x63, 0xae, 0x4b, 0xee, 0x7d, 0x22,
9220 	0xfa, 0x5a, 0x85, 0xda, 0x54, 0x49, 0x85, 0x45, 0x15, 0xcb, 0xae, 0xe1,
9221 	0x60, 0x1d, 0xab, 0xef, 0x7c, 0x37, 0x52, 0x35, 0x7b, 0xe0, 0x62, 0x29,
9222 	0x33, 0xcc, 0x89, 0x2f
9223 };
9224 static const uint8_t nist_186_2_ecdsa_testvector_203_ptx[] = {
9225 /* Msg */
9226 	0xb5, 0x11, 0xd8, 0xdf, 0xe9, 0xe0, 0x6a, 0x6d, 0xac, 0x8a, 0xce, 0x58,
9227 	0xe7, 0x27, 0x50, 0x0b, 0x66, 0x20, 0x41, 0xdf, 0x2e, 0x37, 0xef, 0x3f,
9228 	0x11, 0xc7, 0xd5, 0x0b, 0x7f, 0x4d, 0x0e, 0x39, 0x9f, 0x28, 0x10, 0xc2,
9229 	0x9e, 0x9d, 0x96, 0xbc, 0x48, 0x1e, 0xde, 0xc3, 0xd5, 0xcc, 0x15, 0x9e,
9230 	0x05, 0x3a, 0x10, 0x20, 0x6f, 0x74, 0x3c, 0x4b, 0x15, 0x40, 0xd8, 0xbc,
9231 	0x3d, 0xa3, 0x61, 0x43, 0x7c, 0xa7, 0x4e, 0xd1, 0x14, 0x5c, 0xfe, 0x97,
9232 	0x80, 0x1d, 0xef, 0x6c, 0x4c, 0x14, 0x30, 0x6f, 0x2a, 0x01, 0x19, 0xee,
9233 	0x43, 0x36, 0x39, 0x87, 0xcb, 0xe6, 0x90, 0x8d, 0xd8, 0xa0, 0xfe, 0xae,
9234 	0x74, 0x17, 0xfc, 0xd2, 0xf0, 0x24, 0x8a, 0x45, 0x7c, 0x0e, 0x68, 0x19,
9235 	0xf5, 0x08, 0x89, 0xc6, 0xfe, 0xfb, 0xc5, 0x14, 0x52, 0x86, 0xce, 0x3b,
9236 	0x59, 0x44, 0x65, 0x48, 0xf9, 0x4d, 0xce, 0xc2
9237 };
9238 static const uint8_t nist_186_2_ecdsa_testvector_203_private[] = {
9239 /* d - byte alignment */
9240 	0x00, 0x17, 0x14, 0xa3, 0x15, 0xa0, 0xf3, 0xd7, 0x1e, 0xe5, 0x53, 0xb8,
9241 	0x20, 0x4b, 0xc6, 0x57, 0xa7, 0x24, 0x65, 0xe4, 0x37, 0x4e, 0xb6, 0xae,
9242 	0x77, 0xcc, 0x2f, 0x04, 0x9b, 0x68, 0x58, 0x3b, 0x87, 0x09, 0x60, 0x7e,
9243 	0x32, 0x1c, 0xa7, 0x61, 0x44, 0x9c, 0x66, 0x33, 0x03, 0x4c, 0x28, 0xa7,
9244 	0x2c, 0x38, 0xda, 0x20
9245 };
9246 static const uint8_t nist_186_2_ecdsa_testvector_203_public_x[] = {
9247 /* Qx - byte alignment */
9248 	0x00, 0x7f, 0xc8, 0xfa, 0xfd, 0x2c, 0xe5, 0x85, 0xcd, 0xea, 0xd3, 0x17,
9249 	0x7b, 0x8c, 0xfc, 0xfa, 0x09, 0x61, 0xc6, 0xf1, 0x21, 0x99, 0x11, 0xa0,
9250 	0x70, 0xaa, 0x45, 0x10, 0xe9, 0xdc, 0x11, 0x09, 0x6e, 0xed, 0xb2, 0x3b,
9251 	0xfd, 0xcd, 0xd8, 0xe7, 0xbd, 0x27, 0x49, 0x90, 0x6b, 0x4f, 0x15, 0x59,
9252 	0x3a, 0x3b, 0xf7, 0x61
9253 };
9254 static const uint8_t nist_186_2_ecdsa_testvector_203_public_y[] = {
9255 /* Qy - byte alignment */
9256 	0x01, 0xaf, 0x05, 0x22, 0x54, 0x63, 0x1f, 0xf7, 0x99, 0x97, 0x39, 0x85,
9257 	0x9d, 0x93, 0x22, 0x9d, 0xce, 0x24, 0x22, 0x43, 0xda, 0xde, 0xae, 0x42,
9258 	0xc1, 0xef, 0xb7, 0xba, 0xc4, 0x8b, 0x7f, 0x09, 0xc2, 0x7d, 0xb7, 0xc8,
9259 	0x7d, 0xd5, 0x20, 0xa7, 0xa2, 0xb9, 0x90, 0x65, 0x60, 0x32, 0x8a, 0x67,
9260 	0xdb, 0x6c, 0x8d, 0xf2
9261 };
9262 /* k = 0c5f8589aff6152ef23d020157f712083d7901b711de486da9fa0ec3243a1780ea6941e1a2e9ca5082e9127f16e930e6a82eb5e */
9263 static const uint8_t nist_186_2_ecdsa_testvector_203_out[] = {
9264 /* R - byte alignment */
9265 	0x00, 0xaf, 0xc9, 0x92, 0xe4, 0x79, 0xf2, 0x59, 0x51, 0x90, 0x3c, 0x52,
9266 	0x21, 0xf0, 0x9f, 0x11, 0xb3, 0x38, 0xf2, 0x7c, 0x65, 0x70, 0x11, 0x8f,
9267 	0xfb, 0x2a, 0xdc, 0xec, 0xb9, 0x9e, 0x9c, 0x91, 0x55, 0x6c, 0xe4, 0xbd,
9268 	0x4d, 0xb0, 0x11, 0xcd, 0x8a, 0xf8, 0x1b, 0x4e, 0x67, 0x09, 0x0e, 0x12,
9269 	0xdc, 0xb1, 0x92, 0x4b,
9270 /* S - byte alignment */
9271 	0x00, 0x48, 0x46, 0xc5, 0x03, 0xdd, 0xe7, 0x2b, 0x6d, 0x72, 0xaf, 0xbf,
9272 	0x60, 0x65, 0x9c, 0xcb, 0x2f, 0x4c, 0x7d, 0x94, 0x87, 0x82, 0x19, 0x56,
9273 	0x0e, 0xde, 0x27, 0xc2, 0x76, 0x4b, 0xa4, 0x36, 0xce, 0x52, 0x1f, 0xd0,
9274 	0x64, 0xc7, 0xa0, 0x6f, 0x3a, 0xf4, 0x2b, 0xef, 0xb7, 0x77, 0x55, 0xbe,
9275 	0x52, 0x6a, 0xc1, 0xc8
9276 };
9277 static const uint8_t nist_186_2_ecdsa_testvector_204_ptx[] = {
9278 /* Msg */
9279 	0xd6, 0x7a, 0xa8, 0xfd, 0xd8, 0x68, 0x44, 0x3c, 0x1c, 0xd5, 0x90, 0xd9,
9280 	0x01, 0x32, 0x8e, 0xdf, 0x34, 0x0e, 0xe3, 0x6a, 0x2e, 0x87, 0x80, 0xbc,
9281 	0xfe, 0x04, 0x81, 0x8e, 0x49, 0x26, 0x55, 0xa4, 0x8f, 0xfb, 0x20, 0xa4,
9282 	0xaf, 0x75, 0x5d, 0x28, 0xae, 0x1b, 0xc8, 0x12, 0xb4, 0xff, 0x7b, 0x20,
9283 	0x57, 0xf0, 0x57, 0xc0, 0x1c, 0xf0, 0xa5, 0x25, 0x3b, 0xe9, 0xfd, 0x9a,
9284 	0xa3, 0x9b, 0x67, 0x16, 0x3e, 0xd9, 0xc1, 0x11, 0x76, 0xf5, 0x61, 0x97,
9285 	0xf8, 0x79, 0xfb, 0x9b, 0xb8, 0x17, 0xc4, 0x8d, 0x35, 0xe3, 0xd7, 0x2f,
9286 	0xfe, 0xc0, 0xd8, 0xa4, 0x75, 0x18, 0xd8, 0xc9, 0xd3, 0xd1, 0x79, 0xc9,
9287 	0x6c, 0x7c, 0x53, 0xec, 0x35, 0xcf, 0x96, 0xb0, 0x83, 0x55, 0xf0, 0x1b,
9288 	0x15, 0x64, 0xb1, 0x4f, 0x55, 0x50, 0x2d, 0x5f, 0xdb, 0xde, 0x61, 0x61,
9289 	0x33, 0xfb, 0xda, 0xc5, 0xe0, 0xae, 0xd3, 0xe5
9290 };
9291 static const uint8_t nist_186_2_ecdsa_testvector_204_private[] = {
9292 /* d - byte alignment */
9293 	0x00, 0xe1, 0x6f, 0x43, 0x1c, 0x80, 0x4c, 0x22, 0x20, 0x5d, 0xaa, 0xcd,
9294 	0x72, 0x2b, 0x0b, 0xae, 0xb6, 0xb0, 0x3e, 0xe0, 0x2e, 0x3a, 0x0e, 0x49,
9295 	0xe8, 0x8e, 0xda, 0x3f, 0x8f, 0xe9, 0x5f, 0xc3, 0x1f, 0xb5, 0x16, 0xfa,
9296 	0x51, 0xab, 0x02, 0x14, 0xda, 0xb0, 0xcf, 0x74, 0xd4, 0x26, 0x22, 0x4e,
9297 	0x52, 0x4d, 0xc3, 0x0d
9298 };
9299 static const uint8_t nist_186_2_ecdsa_testvector_204_public_x[] = {
9300 /* Qx - byte alignment */
9301 	0x00, 0x47, 0x08, 0xc0, 0x64, 0x1f, 0x07, 0xc8, 0x8d, 0x4f, 0xf2, 0xc2,
9302 	0xfe, 0x4d, 0x7a, 0x11, 0x7d, 0xf8, 0xfb, 0x96, 0x9e, 0x86, 0x04, 0x17,
9303 	0x3f, 0x72, 0x1d, 0x69, 0x1c, 0xa5, 0x08, 0x8c, 0x38, 0x9b, 0xd4, 0x17,
9304 	0x5b, 0x71, 0xf2, 0x0d, 0x89, 0x93, 0x76, 0xf0, 0x8d, 0xef, 0xcd, 0x01,
9305 	0xe1, 0xed, 0x47, 0x41
9306 };
9307 static const uint8_t nist_186_2_ecdsa_testvector_204_public_y[] = {
9308 /* Qy - byte alignment */
9309 	0x01, 0x14, 0xd1, 0x16, 0x1d, 0x1a, 0xda, 0x4a, 0x30, 0x15, 0xa0, 0xfc,
9310 	0x9a, 0x61, 0x63, 0xe3, 0xd3, 0x48, 0x09, 0x91, 0x5e, 0x47, 0x7a, 0x63,
9311 	0x77, 0x8f, 0xdf, 0x09, 0xe8, 0x20, 0x2f, 0xc9, 0xba, 0x6d, 0x41, 0xd0,
9312 	0x9f, 0x9f, 0x8f, 0xa1, 0x37, 0x7e, 0xf3, 0xaa, 0x06, 0xa6, 0xe4, 0x5d,
9313 	0xcb, 0x36, 0xdf, 0x5c
9314 };
9315 /* k = 05f3f6c0a13a21123854a6ffa49f15a3f048181aa05de4b8a951e35745d19b53ccf73d47d9e7b4f580ac0a28a52d2be059aaf21 */
9316 static const uint8_t nist_186_2_ecdsa_testvector_204_out[] = {
9317 /* R - byte alignment */
9318 	0x00, 0x9c, 0x9b, 0xd4, 0x83, 0x71, 0x61, 0x59, 0xee, 0xda, 0x02, 0x20,
9319 	0x66, 0x5f, 0xfa, 0x68, 0x20, 0xa3, 0xd6, 0x9e, 0x88, 0x20, 0x7e, 0xcc,
9320 	0x6b, 0xc9, 0x20, 0xf6, 0x05, 0xdf, 0x6c, 0x15, 0xd1, 0x47, 0x37, 0xf7,
9321 	0xca, 0xaf, 0x96, 0xea, 0x62, 0xac, 0xb5, 0x30, 0xb2, 0x08, 0xb3, 0xc6,
9322 	0xfc, 0x25, 0xe3, 0x3e,
9323 /* S - byte alignment */
9324 	0x00, 0xb6, 0x1d, 0x36, 0xb3, 0xce, 0x87, 0x60, 0xc2, 0x06, 0x2a, 0x0a,
9325 	0x54, 0x1d, 0x87, 0xa9, 0x19, 0xaa, 0x33, 0x93, 0x5c, 0xa9, 0x96, 0x55,
9326 	0x0b, 0x00, 0x7f, 0x74, 0xe2, 0x44, 0x6a, 0xf8, 0x59, 0xc9, 0xfa, 0xd1,
9327 	0x66, 0xaf, 0x23, 0x1e, 0xba, 0x62, 0x62, 0x2d, 0xcc, 0x96, 0x5a, 0x1c,
9328 	0xa2, 0x06, 0x30, 0x04
9329 };
9330 static const uint8_t nist_186_2_ecdsa_testvector_205_ptx[] = {
9331 /* Msg */
9332 	0x88, 0x60, 0xd5, 0x6c, 0xf5, 0xe0, 0x3c, 0xc1, 0x95, 0x5f, 0xd9, 0xd6,
9333 	0xd3, 0x72, 0x83, 0x75, 0x5f, 0xd1, 0x9b, 0xca, 0xc8, 0xa2, 0x42, 0xc4,
9334 	0x4c, 0xfb, 0xc9, 0xbe, 0xef, 0xa2, 0x69, 0x5f, 0xca, 0x17, 0x35, 0xbe,
9335 	0xa6, 0xd4, 0x4c, 0xca, 0xc9, 0xd3, 0x53, 0xea, 0x10, 0x51, 0x23, 0xe0,
9336 	0x3e, 0xd2, 0xbe, 0xf3, 0x94, 0x65, 0x88, 0x4d, 0xa2, 0x29, 0xb4, 0xa2,
9337 	0x5c, 0x10, 0xfc, 0x12, 0x70, 0xe3, 0x95, 0x51, 0xd7, 0x86, 0x62, 0x05,
9338 	0xaa, 0x7e, 0x68, 0x6f, 0x38, 0xb0, 0x82, 0x4e, 0x55, 0x6b, 0x55, 0x00,
9339 	0xf5, 0xa9, 0x87, 0xeb, 0xf9, 0x92, 0x2c, 0x1b, 0x48, 0x42, 0x81, 0x2c,
9340 	0x22, 0xcc, 0xdd, 0x6b, 0xb1, 0x7f, 0xe4, 0x38, 0xe1, 0x68, 0xfe, 0xaf,
9341 	0x72, 0x17, 0x08, 0x87, 0x4c, 0xa6, 0x49, 0x39, 0x12, 0xf8, 0xa7, 0x65,
9342 	0xf9, 0x3f, 0x1a, 0x72, 0xdb, 0xc1, 0x62, 0x76
9343 };
9344 static const uint8_t nist_186_2_ecdsa_testvector_205_private[] = {
9345 /* d - byte alignment */
9346 	0x00, 0x98, 0x8d, 0x40, 0xb2, 0x1e, 0xa9, 0x9e, 0x93, 0xf4, 0xf5, 0x08,
9347 	0xb5, 0x3e, 0x18, 0x96, 0xcb, 0xfc, 0xd1, 0x0f, 0x4e, 0xcd, 0xbe, 0x30,
9348 	0x27, 0x8b, 0x95, 0xbb, 0x14, 0xc0, 0x75, 0x10, 0xd0, 0x12, 0x5f, 0xa3,
9349 	0xf5, 0x31, 0xf6, 0xcb, 0xcc, 0x3c, 0x39, 0x23, 0x77, 0xbc, 0xd6, 0x04,
9350 	0xc5, 0x82, 0xfe, 0xa9
9351 };
9352 static const uint8_t nist_186_2_ecdsa_testvector_205_public_x[] = {
9353 /* Qx - byte alignment */
9354 	0x01, 0xc5, 0x64, 0x64, 0xa2, 0xff, 0x1f, 0xa2, 0x7a, 0x5c, 0x61, 0x5a,
9355 	0x30, 0x1e, 0xfa, 0xe2, 0xd0, 0x52, 0xa5, 0x2b, 0xd9, 0x9b, 0x32, 0x52,
9356 	0x94, 0x00, 0xcb, 0xe0, 0xed, 0x44, 0x06, 0xdd, 0x15, 0x73, 0x6e, 0xb4,
9357 	0x13, 0xb6, 0x38, 0x1c, 0x56, 0xca, 0x68, 0x9d, 0xd0, 0xe4, 0x0d, 0x0e,
9358 	0x1b, 0x2e, 0x25, 0x19
9359 };
9360 static const uint8_t nist_186_2_ecdsa_testvector_205_public_y[] = {
9361 /* Qy - byte alignment */
9362 	0x00, 0xcd, 0xcd, 0x0c, 0x8e, 0x3a, 0x9a, 0xde, 0x00, 0x9d, 0xca, 0x37,
9363 	0xa3, 0x99, 0xd8, 0xe4, 0x12, 0xed, 0x1a, 0x55, 0xdc, 0x0c, 0x9c, 0x92,
9364 	0x64, 0x67, 0xe3, 0x5c, 0x9b, 0x89, 0x5d, 0x4d, 0x59, 0x08, 0x3c, 0x8f,
9365 	0xeb, 0xb2, 0xe8, 0xa3, 0x81, 0x81, 0x24, 0x65, 0xff, 0x70, 0x64, 0x99,
9366 	0x6a, 0xed, 0xb6, 0x68
9367 };
9368 /* k = 09611532af142d75dfbda90b6a375351660ad39c30b7320f73b56ac7488ce62a2357538fc2a7cb73147ca2a8163b754d6d2e94e */
9369 static const uint8_t nist_186_2_ecdsa_testvector_205_out[] = {
9370 /* R - byte alignment */
9371 	0x00, 0x25, 0xd8, 0x0a, 0xb8, 0x45, 0x97, 0x76, 0xfd, 0xf1, 0x88, 0xc1,
9372 	0x03, 0xe9, 0xcc, 0x7a, 0x4c, 0xa2, 0xce, 0xaa, 0x2f, 0xee, 0xa1, 0x8e,
9373 	0xa7, 0xf2, 0xb4, 0xba, 0x06, 0x30, 0xec, 0x0f, 0xf3, 0x03, 0xd4, 0x0a,
9374 	0xbb, 0xe2, 0x5e, 0xc2, 0x08, 0xa9, 0xcc, 0xe3, 0xd3, 0xd9, 0x2d, 0x81,
9375 	0xa5, 0xa4, 0xfd, 0xcc,
9376 /* S - byte alignment */
9377 	0x00, 0x1a, 0x08, 0x28, 0x4e, 0xd5, 0xd9, 0xbf, 0xed, 0x00, 0x3b, 0xb5,
9378 	0xf0, 0x64, 0x57, 0x00, 0x38, 0xc4, 0xa8, 0x31, 0x65, 0xbd, 0x78, 0xc1,
9379 	0x63, 0xf1, 0xeb, 0x41, 0x7a, 0x93, 0x37, 0x4e, 0x19, 0xdc, 0x87, 0xc4,
9380 	0x7b, 0x79, 0xf0, 0x46, 0x27, 0xe9, 0x39, 0x0f, 0xa0, 0xcf, 0x93, 0xe6,
9381 	0x9e, 0xd8, 0x4d, 0xc5
9382 };
9383 static const uint8_t nist_186_2_ecdsa_testvector_206_ptx[] = {
9384 /* Msg */
9385 	0x59, 0x24, 0xcd, 0xe8, 0xbf, 0x72, 0xa6, 0x55, 0xd2, 0x6b, 0x5c, 0x88,
9386 	0x7c, 0xe7, 0xbf, 0x21, 0xad, 0xa3, 0xe0, 0xfc, 0xa0, 0x7e, 0x76, 0x06,
9387 	0x5f, 0xe8, 0x80, 0x4f, 0x89, 0x97, 0x2c, 0x61, 0x53, 0x7b, 0xf8, 0xd1,
9388 	0xcd, 0xf5, 0x17, 0x13, 0x67, 0x44, 0x16, 0x92, 0xb3, 0x40, 0xbf, 0x00,
9389 	0x6c, 0x4a, 0x3e, 0xeb, 0xb8, 0x83, 0x82, 0x92, 0xaa, 0x3c, 0xe6, 0xf6,
9390 	0x0b, 0xae, 0x11, 0x34, 0x5a, 0xeb, 0x1a, 0x11, 0x11, 0x15, 0xf0, 0xd7,
9391 	0x2a, 0xce, 0xfa, 0x60, 0xe2, 0xef, 0xfa, 0x70, 0xbd, 0x7d, 0x37, 0x48,
9392 	0xca, 0xd9, 0xdb, 0x77, 0x28, 0x36, 0x9a, 0xf4, 0xc9, 0x50, 0x94, 0x6a,
9393 	0x76, 0x5c, 0x7d, 0xd3, 0x13, 0x3a, 0xfb, 0x48, 0x25, 0xf2, 0x4f, 0x17,
9394 	0x91, 0x5e, 0x38, 0x17, 0xa6, 0x24, 0x14, 0x38, 0x5e, 0xe8, 0x49, 0x5e,
9395 	0xe1, 0xbf, 0xe3, 0x70, 0x4b, 0xe6, 0x7f, 0xab
9396 };
9397 static const uint8_t nist_186_2_ecdsa_testvector_206_private[] = {
9398 /* d - byte alignment */
9399 	0x00, 0x76, 0xa9, 0x20, 0x86, 0x24, 0x0f, 0x51, 0xa0, 0x00, 0xb7, 0x87,
9400 	0x35, 0x06, 0xf6, 0x4e, 0xb1, 0x44, 0xaa, 0xc0, 0xd0, 0xa8, 0xda, 0x2b,
9401 	0x28, 0x9f, 0x94, 0x0a, 0xbd, 0x35, 0x39, 0xef, 0x58, 0x67, 0xb0, 0x8d,
9402 	0x4a, 0x79, 0xc0, 0xb5, 0xbf, 0x18, 0x36, 0x6d, 0x7c, 0xfe, 0xfa, 0xc7,
9403 	0xb0, 0x91, 0x9c, 0x0e
9404 };
9405 static const uint8_t nist_186_2_ecdsa_testvector_206_public_x[] = {
9406 /* Qx - byte alignment */
9407 	0x01, 0x1e, 0x48, 0x59, 0x66, 0x9e, 0x29, 0xaa, 0xdb, 0x00, 0x20, 0xf3,
9408 	0x76, 0xc1, 0x21, 0x4d, 0x1b, 0x34, 0x44, 0x4b, 0x92, 0x9c, 0xee, 0xe2,
9409 	0x6a, 0xdb, 0xf6, 0xf2, 0xc5, 0x4f, 0x65, 0xf6, 0xa7, 0x4a, 0x52, 0xbe,
9410 	0x67, 0xb2, 0x12, 0x53, 0x63, 0xcd, 0xe3, 0xaa, 0xbe, 0x9d, 0xa3, 0xa3,
9411 	0xe0, 0x18, 0x1a, 0x77
9412 };
9413 static const uint8_t nist_186_2_ecdsa_testvector_206_public_y[] = {
9414 /* Qy - byte alignment */
9415 	0x00, 0x83, 0xab, 0x0d, 0xa1, 0xf5, 0x29, 0xa5, 0x8c, 0x3e, 0x68, 0x75,
9416 	0x06, 0x18, 0xcb, 0x40, 0x99, 0x63, 0x31, 0xac, 0xdc, 0x2a, 0x70, 0x90,
9417 	0xc3, 0x2f, 0x1f, 0x2b, 0xb5, 0x94, 0x14, 0xd1, 0x1a, 0x30, 0x0d, 0x13,
9418 	0x6e, 0x08, 0x79, 0xc3, 0x66, 0x8a, 0xeb, 0xbe, 0x66, 0x27, 0x26, 0x7c,
9419 	0x49, 0xcc, 0x19, 0x06
9420 };
9421 /* k = 0e52a50b6bbdd7f109b01341502dd471e60de74c0c3b37bdefa78d9f4e5b875d3744c109fa205e25109d081dfc2fbd363939551 */
9422 static const uint8_t nist_186_2_ecdsa_testvector_206_out[] = {
9423 /* R - byte alignment */
9424 	0x00, 0xfd, 0xc5, 0x3f, 0xe5, 0xe4, 0x97, 0x62, 0x5c, 0x8d, 0x69, 0xb7,
9425 	0x66, 0x61, 0xda, 0x56, 0x6a, 0x97, 0xde, 0x20, 0x09, 0xd2, 0xcc, 0xde,
9426 	0xd1, 0x1e, 0x02, 0x4e, 0xad, 0x4c, 0xbc, 0xb3, 0xf7, 0x38, 0x3a, 0x1e,
9427 	0x3d, 0xab, 0x04, 0x64, 0xc4, 0x9f, 0xdd, 0x7b, 0xe2, 0x3c, 0xcd, 0xbf,
9428 	0xc1, 0x6d, 0xc7, 0x9b,
9429 /* S - byte alignment */
9430 	0x00, 0x6f, 0x64, 0x9e, 0x3a, 0x89, 0xbd, 0x86, 0x03, 0x10, 0xf9, 0x7b,
9431 	0x3f, 0x0f, 0xc4, 0xf9, 0x66, 0x38, 0x55, 0x56, 0xe1, 0xff, 0x62, 0x0b,
9432 	0x4c, 0x5b, 0x0d, 0x6e, 0x84, 0xaa, 0xac, 0x50, 0x3c, 0x42, 0x81, 0x03,
9433 	0xd2, 0xf1, 0x43, 0xac, 0x9f, 0xb1, 0x4b, 0xc4, 0xff, 0xbe, 0xde, 0xe5,
9434 	0xa5, 0x38, 0xc5, 0xd8
9435 };
9436 static const uint8_t nist_186_2_ecdsa_testvector_207_ptx[] = {
9437 /* Msg */
9438 	0x30, 0x3b, 0x55, 0x09, 0xd2, 0xf9, 0x6f, 0xfb, 0x7b, 0xbe, 0x1e, 0x35,
9439 	0x3f, 0x61, 0xac, 0x65, 0x61, 0x25, 0x20, 0x08, 0xbb, 0x8e, 0xbf, 0xdd,
9440 	0x60, 0x73, 0xd4, 0x99, 0x81, 0x53, 0xad, 0xdc, 0x8d, 0xed, 0xe6, 0x64,
9441 	0x9c, 0x0a, 0xea, 0x81, 0x0e, 0x9e, 0xb6, 0xc8, 0x6f, 0x0f, 0xe0, 0x0c,
9442 	0x9e, 0xd5, 0xd8, 0x8a, 0x2f, 0x43, 0x6f, 0x64, 0x0d, 0xa4, 0x95, 0x51,
9443 	0x64, 0x8a, 0x67, 0x92, 0xbe, 0x63, 0x69, 0x28, 0x6c, 0x4d, 0x0f, 0x44,
9444 	0x27, 0x2c, 0x83, 0xff, 0xf7, 0xf9, 0xa2, 0x4b, 0x54, 0x5d, 0x47, 0x29,
9445 	0x8b, 0x7e, 0xcd, 0x1d, 0x64, 0x19, 0xcf, 0xdf, 0x02, 0xd1, 0x32, 0x54,
9446 	0x0a, 0xc6, 0x66, 0xbc, 0x08, 0x6a, 0xe8, 0x2d, 0x0e, 0x90, 0x0c, 0x40,
9447 	0x9e, 0xc6, 0xf9, 0x0a, 0xc9, 0xe5, 0xf5, 0x4e, 0x99, 0xe6, 0xe3, 0xf0,
9448 	0xad, 0xf7, 0x09, 0xad, 0x23, 0xce, 0x17, 0x0a
9449 };
9450 static const uint8_t nist_186_2_ecdsa_testvector_207_private[] = {
9451 /* d - byte alignment */
9452 	0x00, 0x53, 0x1e, 0xd2, 0xc1, 0x33, 0x5a, 0x2b, 0x8c, 0x8c, 0x40, 0x99,
9453 	0x25, 0x00, 0xc5, 0xfe, 0x5d, 0xd3, 0xde, 0x77, 0x95, 0x3b, 0x20, 0xc6,
9454 	0x7d, 0xc5, 0xc3, 0xe1, 0x42, 0x97, 0xd9, 0x64, 0xdd, 0xef, 0xb7, 0x4e,
9455 	0x82, 0x67, 0x9c, 0xbd, 0x32, 0x60, 0xed, 0x52, 0xdb, 0xd8, 0xca, 0x1c,
9456 	0xf4, 0x6a, 0x77, 0xe7
9457 };
9458 static const uint8_t nist_186_2_ecdsa_testvector_207_public_x[] = {
9459 /* Qx - byte alignment */
9460 	0x00, 0x55, 0xc7, 0x44, 0x98, 0x28, 0x54, 0xc1, 0x22, 0x02, 0xe5, 0x51,
9461 	0x72, 0x36, 0x25, 0xd5, 0x22, 0x88, 0x30, 0x4f, 0x62, 0x8d, 0x33, 0xd6,
9462 	0xa8, 0x4b, 0xcf, 0x5d, 0xb3, 0x17, 0xd1, 0x5b, 0x4c, 0xed, 0x7f, 0xf9,
9463 	0x36, 0x02, 0x5e, 0x7e, 0x86, 0x34, 0xab, 0x99, 0x52, 0x6a, 0x50, 0x01,
9464 	0x01, 0xc7, 0xf4, 0x53
9465 };
9466 static const uint8_t nist_186_2_ecdsa_testvector_207_public_y[] = {
9467 /* Qy - byte alignment */
9468 	0x01, 0x67, 0x6a, 0xb6, 0x66, 0xa9, 0xe9, 0xcd, 0xd7, 0xda, 0x45, 0x20,
9469 	0xfe, 0x82, 0x10, 0x80, 0x75, 0x9e, 0x9b, 0xe2, 0x3f, 0xd5, 0xdd, 0x74,
9470 	0x9d, 0x66, 0x89, 0xab, 0xae, 0x50, 0x1e, 0xd2, 0x55, 0xda, 0xfe, 0x02,
9471 	0x13, 0x60, 0xe5, 0xab, 0xbd, 0xde, 0x07, 0xdf, 0x05, 0xf5, 0x46, 0x57,
9472 	0xa6, 0x87, 0x12, 0x53
9473 };
9474 /* k = 09213abf4a10b44c52c89d0dee38089cd52fc54959d1a4006a3f8771b57ebd30f4f58c9ab3f54d4dbfd6fcc304dea203137c34b */
9475 static const uint8_t nist_186_2_ecdsa_testvector_207_out[] = {
9476 /* R - byte alignment */
9477 	0x00, 0x8e, 0x0c, 0x19, 0xef, 0x52, 0x51, 0x9e, 0xb2, 0x27, 0x4e, 0xa0,
9478 	0x53, 0xa6, 0xb3, 0x4e, 0xa8, 0x82, 0xc1, 0xb7, 0xd3, 0xe1, 0x9c, 0x9f,
9479 	0x05, 0x97, 0x48, 0x82, 0x31, 0x0b, 0x05, 0x9c, 0x02, 0xa4, 0x85, 0xbd,
9480 	0xe6, 0x31, 0xaf, 0x08, 0xd2, 0x0f, 0x3e, 0x12, 0x04, 0x32, 0x51, 0xb5,
9481 	0x02, 0x7c, 0xa3, 0xa7,
9482 /* S - byte alignment */
9483 	0x00, 0x15, 0xeb, 0xc7, 0x7e, 0xb4, 0x55, 0x66, 0x61, 0x08, 0x11, 0xb6,
9484 	0xa4, 0xac, 0xcc, 0x5c, 0x85, 0x08, 0xff, 0x8b, 0xab, 0x68, 0x7c, 0xb9,
9485 	0xa7, 0xd6, 0x0d, 0x61, 0x85, 0x6c, 0x73, 0x80, 0x27, 0x39, 0x33, 0x06,
9486 	0xc3, 0x40, 0x07, 0x8e, 0x7d, 0x77, 0xeb, 0x1c, 0x43, 0xb9, 0x41, 0xe1,
9487 	0x97, 0xcd, 0xed, 0x48
9488 };
9489 static const uint8_t nist_186_2_ecdsa_testvector_208_ptx[] = {
9490 /* Msg */
9491 	0x8c, 0xf2, 0x2f, 0x5a, 0xa2, 0x23, 0x84, 0xe7, 0x98, 0xa9, 0xf9, 0xb3,
9492 	0xfc, 0x6c, 0x29, 0xf6, 0xf2, 0x8b, 0x05, 0xf5, 0x7b, 0x96, 0x2f, 0xd7,
9493 	0xf7, 0xfe, 0xa4, 0xb4, 0xe9, 0xc9, 0x9e, 0xf0, 0xfb, 0x8a, 0xb9, 0xc7,
9494 	0x42, 0x91, 0x54, 0x28, 0xc2, 0x5f, 0x3a, 0xc7, 0x35, 0x5d, 0x82, 0x6e,
9495 	0x08, 0xcd, 0xb3, 0x93, 0xa7, 0x00, 0x2c, 0x30, 0xfa, 0xc9, 0xc3, 0xcf,
9496 	0x2f, 0x33, 0xad, 0xe4, 0xbb, 0x6f, 0x9e, 0x60, 0x9b, 0x10, 0x30, 0x83,
9497 	0xe0, 0x7b, 0x89, 0xf2, 0x6a, 0x98, 0x38, 0x09, 0xf4, 0xce, 0x61, 0x72,
9498 	0x51, 0x2f, 0x1a, 0xf7, 0xf4, 0xef, 0x14, 0x94, 0xb6, 0x1b, 0x7e, 0xd1,
9499 	0xd4, 0x87, 0x26, 0x4f, 0x37, 0x09, 0xe2, 0xa0, 0xf9, 0xe4, 0x2e, 0x5b,
9500 	0x24, 0x87, 0x16, 0x70, 0xbd, 0x78, 0x57, 0xba, 0x01, 0x8b, 0xc1, 0xd3,
9501 	0xee, 0x57, 0xdf, 0x2c, 0x05, 0xea, 0xda, 0x5d
9502 };
9503 static const uint8_t nist_186_2_ecdsa_testvector_208_private[] = {
9504 /* d - byte alignment */
9505 	0x00, 0x57, 0x2e, 0x4c, 0x0f, 0x38, 0x1b, 0x61, 0xa0, 0xd4, 0x7d, 0xfd,
9506 	0xa6, 0x77, 0xe9, 0x91, 0x5d, 0x98, 0x46, 0x3d, 0xfd, 0x3d, 0x5b, 0x87,
9507 	0xf2, 0xa4, 0xa4, 0x10, 0x54, 0xdf, 0xab, 0x92, 0x7b, 0xbc, 0x9b, 0x5e,
9508 	0x45, 0xf0, 0xe4, 0x37, 0xd0, 0x15, 0xc3, 0x79, 0xcb, 0x3d, 0x18, 0xc3,
9509 	0x75, 0x1f, 0x2b, 0x8f
9510 };
9511 static const uint8_t nist_186_2_ecdsa_testvector_208_public_x[] = {
9512 /* Qx - byte alignment */
9513 	0x00, 0xfd, 0xec, 0xb7, 0xbf, 0xe2, 0xd0, 0xa0, 0x5a, 0xf1, 0xa9, 0xbc,
9514 	0xfb, 0xa7, 0x75, 0xf1, 0x99, 0xa9, 0x6c, 0x95, 0x7f, 0x9d, 0xc7, 0x76,
9515 	0x25, 0x1f, 0x7a, 0x76, 0x1f, 0x11, 0xc6, 0x90, 0x3f, 0xa2, 0xc0, 0xb0,
9516 	0x11, 0x82, 0xee, 0xa0, 0xdb, 0xdb, 0xe1, 0x4f, 0x05, 0x42, 0x87, 0x6c,
9517 	0xb8, 0xf9, 0x72, 0xff
9518 };
9519 static const uint8_t nist_186_2_ecdsa_testvector_208_public_y[] = {
9520 /* Qy - byte alignment */
9521 	0x00, 0x23, 0x38, 0x98, 0x88, 0xf2, 0x1b, 0x65, 0x88, 0x5c, 0x86, 0xa1,
9522 	0x2a, 0x87, 0x05, 0x82, 0x9c, 0xa1, 0x96, 0x77, 0xcd, 0x34, 0x42, 0xf5,
9523 	0x8c, 0x0e, 0x7b, 0xa1, 0xde, 0x37, 0x9b, 0x0c, 0x6e, 0xe8, 0xd4, 0x64,
9524 	0x9f, 0x79, 0x99, 0xa4, 0x3f, 0x9c, 0x21, 0x0f, 0x12, 0xf2, 0x83, 0xe8,
9525 	0xd5, 0x63, 0x30, 0x64
9526 };
9527 /* k = 0e96980c24a092c58f466f7bbbc194b03e0200a0a714f778caab9fe956feaa4d2e3a1bfd8f2bbe376588d3d3cb90071fec4502a */
9528 static const uint8_t nist_186_2_ecdsa_testvector_208_out[] = {
9529 /* R - byte alignment */
9530 	0x00, 0xb8, 0x3b, 0xdd, 0xf5, 0x8e, 0x3e, 0x82, 0x77, 0x0f, 0x38, 0x12,
9531 	0x71, 0x53, 0x2d, 0x11, 0xc4, 0xb4, 0xc0, 0x15, 0x38, 0x09, 0x1c, 0x29,
9532 	0xd3, 0x6a, 0x34, 0x24, 0x0b, 0xfa, 0x63, 0xe1, 0x1f, 0x03, 0x2b, 0xad,
9533 	0x90, 0xa4, 0x3a, 0xed, 0x00, 0x71, 0x0c, 0xf7, 0x97, 0xb5, 0xe8, 0x54,
9534 	0xa6, 0x55, 0x23, 0xe3,
9535 /* S - byte alignment */
9536 	0x00, 0xe1, 0x24, 0x36, 0x09, 0x1b, 0xc3, 0x50, 0x51, 0x48, 0xab, 0x15,
9537 	0x73, 0xc9, 0x73, 0xbe, 0x1e, 0xa1, 0x5e, 0x8e, 0x55, 0x96, 0x7d, 0xf3,
9538 	0xad, 0x54, 0xf7, 0xca, 0x03, 0xe2, 0x69, 0x96, 0x17, 0x90, 0xbf, 0x26,
9539 	0xcc, 0x87, 0xbd, 0xaa, 0x09, 0xc9, 0x47, 0x65, 0xaa, 0x1e, 0xeb, 0xfb,
9540 	0x2c, 0x10, 0xe0, 0x2f
9541 };
9542 static const uint8_t nist_186_2_ecdsa_testvector_209_ptx[] = {
9543 /* Msg */
9544 	0xb9, 0x52, 0x06, 0xdd, 0x32, 0x95, 0x79, 0x17, 0x0b, 0xb8, 0x45, 0x51,
9545 	0xc7, 0x82, 0x2b, 0x15, 0x5d, 0x60, 0xf2, 0xdd, 0xe9, 0x4d, 0xb9, 0x1d,
9546 	0xa2, 0xf4, 0x8d, 0x84, 0x0c, 0x19, 0x37, 0x7f, 0x6f, 0x35, 0x57, 0x00,
9547 	0x87, 0x60, 0xb7, 0x7d, 0x7d, 0x74, 0xd9, 0x3b, 0x16, 0x70, 0xd2, 0xcc,
9548 	0x2b, 0x1a, 0x5b, 0xd7, 0x59, 0xe9, 0x26, 0x17, 0xf9, 0x21, 0x6e, 0xa6,
9549 	0x52, 0x40, 0xd2, 0x7c, 0x0e, 0x99, 0x63, 0x32, 0xeb, 0x3f, 0xfc, 0x0c,
9550 	0xb3, 0x24, 0xd2, 0x37, 0x6e, 0x82, 0x4b, 0x4f, 0xd6, 0x7a, 0x14, 0x25,
9551 	0x0b, 0xfc, 0x6e, 0xbe, 0x88, 0xe6, 0xc8, 0x9f, 0x56, 0x70, 0x93, 0x47,
9552 	0x7f, 0xc7, 0x52, 0xfe, 0xc6, 0xf8, 0xf0, 0xcd, 0x95, 0x10, 0x57, 0xce,
9553 	0x37, 0x81, 0x3e, 0xa6, 0x47, 0xc8, 0x42, 0x4f, 0x69, 0x4d, 0x39, 0x1b,
9554 	0x38, 0x8b, 0xc3, 0xf5, 0x7f, 0x70, 0x21, 0xea
9555 };
9556 static const uint8_t nist_186_2_ecdsa_testvector_209_private[] = {
9557 /* d - byte alignment */
9558 	0x00, 0x02, 0x74, 0x8f, 0xaa, 0x0b, 0x51, 0x0d, 0x0f, 0x79, 0x14, 0xfb,
9559 	0x57, 0x0d, 0xf3, 0xd7, 0x17, 0x43, 0x58, 0x14, 0xc4, 0x9e, 0xe1, 0x21,
9560 	0x06, 0xbd, 0xa7, 0x93, 0xdd, 0x1c, 0xfa, 0xb5, 0x9b, 0x78, 0xe0, 0x94,
9561 	0xf1, 0x47, 0x54, 0x39, 0x4a, 0x05, 0xc1, 0x72, 0xaf, 0xcf, 0xa7, 0x37,
9562 	0xd3, 0xdc, 0xa8, 0x44
9563 };
9564 static const uint8_t nist_186_2_ecdsa_testvector_209_public_x[] = {
9565 /* Qx - byte alignment */
9566 	0x00, 0xf8, 0xbf, 0xfd, 0xe3, 0xab, 0x80, 0x2c, 0x82, 0xd6, 0xaa, 0xe2,
9567 	0x90, 0x17, 0x7b, 0xf5, 0xcd, 0x8a, 0x6d, 0x2a, 0x66, 0x9b, 0x0d, 0x4a,
9568 	0x42, 0x43, 0x29, 0x13, 0xa4, 0xa6, 0x28, 0x95, 0x29, 0x30, 0xf6, 0x05,
9569 	0x0c, 0x56, 0xb5, 0xfc, 0xaf, 0x08, 0xb9, 0x22, 0xab, 0x31, 0xdb, 0x48,
9570 	0x55, 0xb4, 0xa4, 0x71
9571 };
9572 static const uint8_t nist_186_2_ecdsa_testvector_209_public_y[] = {
9573 /* Qy - byte alignment */
9574 	0x00, 0xaf, 0xca, 0xe3, 0xc8, 0x34, 0x82, 0xba, 0xbc, 0x04, 0xe3, 0xc5,
9575 	0x80, 0x9d, 0x32, 0xb6, 0x2f, 0x45, 0x19, 0xe8, 0x6e, 0xa4, 0x45, 0x7d,
9576 	0x40, 0xbf, 0xaa, 0xa2, 0xd1, 0xe4, 0x9a, 0x8a, 0x99, 0x57, 0x2e, 0x9c,
9577 	0x1f, 0xaf, 0xeb, 0x76, 0x15, 0xd2, 0x5e, 0x7e, 0xa5, 0xc8, 0x13, 0x4d,
9578 	0x2a, 0x47, 0x9e, 0x7c
9579 };
9580 /* k = 060cd7168ba4135379d0766c577acbbceb2e713f9ce2b1babe49ce98cf68320ae0906ef2288560c4f0d7973bcbf7f9d3bd085bb */
9581 static const uint8_t nist_186_2_ecdsa_testvector_209_out[] = {
9582 /* R - byte alignment */
9583 	0x00, 0xfa, 0xf8, 0x3a, 0x27, 0x99, 0x14, 0x1b, 0xe5, 0x83, 0x2b, 0x39,
9584 	0x33, 0xcd, 0xfc, 0xe9, 0x36, 0x9b, 0xbb, 0x6a, 0x98, 0xfc, 0x8d, 0x82,
9585 	0x57, 0x1b, 0xe6, 0xb9, 0x73, 0x48, 0x83, 0x26, 0xce, 0x10, 0x37, 0xae,
9586 	0x72, 0x29, 0x14, 0x77, 0xa1, 0xff, 0x0e, 0xcc, 0xdb, 0xda, 0x12, 0x75,
9587 	0x02, 0xaa, 0x57, 0x99,
9588 /* S - byte alignment */
9589 	0x00, 0x7c, 0x2b, 0xfe, 0xa0, 0xd2, 0x7c, 0xc2, 0x5e, 0x95, 0xbe, 0xe0,
9590 	0x33, 0x33, 0xed, 0xca, 0x21, 0xa9, 0xc5, 0x63, 0xda, 0xcb, 0x6a, 0xfd,
9591 	0xe7, 0x12, 0x7a, 0x62, 0x08, 0x03, 0x65, 0xd5, 0x5a, 0xc3, 0x2a, 0xdf,
9592 	0xba, 0xd9, 0xa4, 0x4b, 0x8f, 0xcf, 0xcc, 0xae, 0x18, 0x1e, 0xf5, 0x1e,
9593 	0x70, 0xfa, 0x06, 0x30
9594 };
9595 static const uint8_t nist_186_2_ecdsa_testvector_210_ptx[] = {
9596 /* Msg */
9597 	0x6e, 0xe8, 0xbc, 0xaa, 0x0f, 0x01, 0xbc, 0x07, 0x24, 0x83, 0x33, 0xe9,
9598 	0xdf, 0x67, 0x86, 0x38, 0x5e, 0xe4, 0x5c, 0x0a, 0x2e, 0xe6, 0x47, 0xba,
9599 	0x0e, 0xbc, 0xa6, 0x3a, 0xf5, 0x10, 0xca, 0xaa, 0x56, 0x1d, 0x57, 0x29,
9600 	0xa2, 0x1c, 0xed, 0xeb, 0x0f, 0xff, 0x08, 0x8b, 0x98, 0x62, 0x25, 0xa3,
9601 	0x44, 0xbf, 0x27, 0x9b, 0xac, 0xe1, 0xf8, 0xbe, 0xb7, 0x9b, 0x73, 0x93,
9602 	0xa9, 0xb9, 0x82, 0x6a, 0x5c, 0x37, 0x83, 0x35, 0xcc, 0xb1, 0xf1, 0x99,
9603 	0xda, 0x1b, 0x40, 0x45, 0x49, 0xb2, 0x08, 0x83, 0x0d, 0x32, 0x66, 0x0c,
9604 	0xc5, 0x4a, 0xa0, 0x21, 0x86, 0x4d, 0x07, 0xd7, 0xda, 0x2a, 0x22, 0xb3,
9605 	0x08, 0x9e, 0x08, 0x76, 0x96, 0xa8, 0x0e, 0x3a, 0x0d, 0x3e, 0xa2, 0xbe,
9606 	0xfc, 0x3e, 0x77, 0xff, 0x3f, 0xa7, 0xe3, 0x08, 0x81, 0x09, 0x85, 0x0a,
9607 	0x00, 0x3a, 0x2a, 0xaf, 0x90, 0x4b, 0xf1, 0xac
9608 };
9609 static const uint8_t nist_186_2_ecdsa_testvector_210_private[] = {
9610 /* d - byte alignment */
9611 	0x00, 0x46, 0x79, 0xf6, 0x42, 0xe2, 0x68, 0xf4, 0x01, 0x78, 0x35, 0xa1,
9612 	0xfb, 0xba, 0x9b, 0xfd, 0x9b, 0x7b, 0x4a, 0x40, 0xe0, 0xc7, 0x5d, 0xcc,
9613 	0x57, 0x46, 0x16, 0xe7, 0x5a, 0x82, 0x7a, 0xf3, 0xd7, 0x07, 0x04, 0x49,
9614 	0x12, 0xd1, 0x8e, 0xb6, 0x21, 0xd2, 0x44, 0x1a, 0x38, 0xd1, 0xa9, 0xc8,
9615 	0x52, 0x3a, 0x30, 0x57
9616 };
9617 static const uint8_t nist_186_2_ecdsa_testvector_210_public_x[] = {
9618 /* Qx - byte alignment */
9619 	0x00, 0x0c, 0x98, 0x9d, 0xdd, 0x76, 0xe0, 0x8e, 0xf5, 0x3a, 0xb8, 0x58,
9620 	0x38, 0x49, 0xa2, 0xe3, 0x97, 0x3c, 0xfc, 0xeb, 0x31, 0x15, 0x58, 0xe1,
9621 	0x7c, 0x21, 0x70, 0x58, 0x95, 0x46, 0x5a, 0xee, 0x0b, 0x5c, 0xf5, 0x53,
9622 	0x51, 0x70, 0x1e, 0xc1, 0x24, 0x21, 0x01, 0x89, 0x66, 0xeb, 0xf9, 0x56,
9623 	0xa7, 0x68, 0xc9, 0x3b
9624 };
9625 static const uint8_t nist_186_2_ecdsa_testvector_210_public_y[] = {
9626 /* Qy - byte alignment */
9627 	0x00, 0x33, 0xc0, 0x1e, 0xcb, 0xfd, 0xe5, 0x03, 0xb7, 0xd3, 0xc4, 0xaa,
9628 	0xca, 0xfd, 0x05, 0xd9, 0xff, 0xad, 0xd2, 0x30, 0x00, 0x6b, 0xb0, 0xea,
9629 	0xda, 0x2c, 0x33, 0x13, 0x6c, 0x54, 0x92, 0xca, 0x5f, 0x22, 0x50, 0xf1,
9630 	0x59, 0x74, 0x3d, 0xe6, 0xe4, 0xa7, 0x9d, 0x82, 0x1a, 0xe4, 0x35, 0xfb,
9631 	0x6f, 0x0c, 0xaf, 0x45
9632 };
9633 /* k = 087740649e3f08744d614e862ec6c928f33682cd013f9ab67e3992452f5522dfaf8001641f7c798125106dd8b947b5e7c070fa1 */
9634 static const uint8_t nist_186_2_ecdsa_testvector_210_out[] = {
9635 /* R - byte alignment */
9636 	0x00, 0xc7, 0x0c, 0x32, 0x7c, 0x2d, 0x2c, 0x78, 0x9d, 0xaa, 0x7d, 0x25,
9637 	0xd9, 0xc4, 0x36, 0xd4, 0x54, 0x42, 0xff, 0xe1, 0x45, 0x32, 0x4f, 0x5f,
9638 	0x36, 0x74, 0x99, 0x4b, 0x4c, 0xd1, 0x0a, 0x15, 0x48, 0x3a, 0x64, 0xc2,
9639 	0xe9, 0xea, 0xe3, 0xee, 0x20, 0x39, 0x92, 0x36, 0xde, 0x5f, 0x21, 0x2b,
9640 	0x8c, 0x25, 0x06, 0x14,
9641 /* S - byte alignment */
9642 	0x00, 0xb4, 0xad, 0xb3, 0x9b, 0x33, 0xb9, 0x98, 0xb9, 0x4a, 0xc5, 0x0c,
9643 	0x22, 0x57, 0xbd, 0xe9, 0x45, 0xff, 0x77, 0x6f, 0xe9, 0x3b, 0x45, 0x8e,
9644 	0x68, 0xc7, 0x70, 0xc1, 0x7c, 0x9b, 0x19, 0x67, 0x26, 0x50, 0x68, 0x4c,
9645 	0x3a, 0x55, 0x36, 0xf2, 0x7f, 0x9a, 0x3d, 0xae, 0x20, 0x24, 0x48, 0x74,
9646 	0xb6, 0x0a, 0x63, 0x47
9647 };
9648 /* [B-571] - GP NOT SUPPORTED */
9649 static const uint8_t nist_186_2_ecdsa_testvector_211_ptx[] = {
9650 /* Msg */
9651 	0x70, 0x2b, 0x22, 0xb5, 0xc2, 0xba, 0x25, 0xdf, 0xf7, 0x4b, 0x28, 0xf5,
9652 	0x91, 0x24, 0xe7, 0x19, 0x40, 0x08, 0xab, 0xc0, 0xb3, 0xb8, 0xbf, 0x58,
9653 	0xae, 0xb9, 0x24, 0x2f, 0x5d, 0x58, 0x85, 0x90, 0xe8, 0xec, 0x6d, 0x2f,
9654 	0x47, 0x5b, 0xb8, 0xc6, 0x58, 0xdf, 0x48, 0x01, 0x2e, 0x0a, 0xf9, 0x98,
9655 	0xac, 0x08, 0xd6, 0xba, 0x53, 0x25, 0x8d, 0xb2, 0x59, 0x8e, 0x20, 0xc5,
9656 	0xfb, 0x5c, 0xde, 0x59, 0x14, 0xce, 0x92, 0x5d, 0xed, 0xd6, 0xfa, 0xe4,
9657 	0x57, 0xd8, 0x7a, 0x13, 0xf7, 0xae, 0x12, 0x3e, 0xe2, 0xef, 0x8e, 0x4e,
9658 	0x6a, 0x71, 0xfc, 0x66, 0x37, 0x0c, 0x63, 0xc6, 0x99, 0xa1, 0xb2, 0xef,
9659 	0x1c, 0x5b, 0xf7, 0x07, 0x5d, 0x35, 0xd1, 0x80, 0x1d, 0xbd, 0x28, 0xf5,
9660 	0x94, 0x17, 0x1b, 0x54, 0x07, 0x44, 0x3a, 0x42, 0x9d, 0xa5, 0xf6, 0xbb,
9661 	0x6f, 0xba, 0x55, 0xf9, 0xde, 0x30, 0xeb, 0x98
9662 };
9663 static const uint8_t nist_186_2_ecdsa_testvector_211_private[] = {
9664 /* d - byte alignment */
9665 	0x01, 0x60, 0x1d, 0x26, 0x08, 0xcc, 0xba, 0xc5, 0x9e, 0x9f, 0x16, 0xeb,
9666 	0x12, 0x3f, 0x98, 0x8c, 0xeb, 0x1e, 0xee, 0x23, 0x9c, 0xa0, 0x38, 0x80,
9667 	0xd1, 0xdc, 0x25, 0x44, 0x6d, 0x84, 0xae, 0x67, 0xff, 0xc4, 0xe0, 0xa7,
9668 	0xea, 0xf2, 0x6c, 0x33, 0xbf, 0x3d, 0x6d, 0x2b, 0x27, 0x91, 0x3e, 0x5e,
9669 	0x33, 0x7f, 0x58, 0xe4, 0x8b, 0x5e, 0xf2, 0xab, 0xa6, 0xbb, 0x5b, 0xeb,
9670 	0x42, 0x1d, 0x25, 0x58, 0x9e, 0xce, 0x18, 0xa6, 0x41, 0x2c, 0x0d, 0x50
9671 };
9672 static const uint8_t nist_186_2_ecdsa_testvector_211_public_x[] = {
9673 /* Qx - byte alignment */
9674 	0x05, 0xac, 0xc7, 0x28, 0x79, 0x8f, 0xfb, 0x2d, 0xea, 0x9f, 0x3b, 0x34,
9675 	0x5c, 0x7e, 0x4d, 0x86, 0xb9, 0xd0, 0x53, 0x00, 0xd2, 0xc5, 0x9d, 0x2d,
9676 	0x15, 0xef, 0x99, 0xad, 0x0b, 0xc9, 0x87, 0x32, 0x89, 0x74, 0xc4, 0xe1,
9677 	0x78, 0x00, 0x74, 0x2d, 0x98, 0xc7, 0x8b, 0x2b, 0x70, 0x10, 0x93, 0xba,
9678 	0xed, 0xe6, 0x86, 0x33, 0x93, 0x4b, 0xaa, 0xa8, 0x7e, 0xb2, 0xb0, 0xa0,
9679 	0xe0, 0x10, 0x8b, 0x0f, 0x48, 0x3e, 0xd1, 0x87, 0xa0, 0xc7, 0x25, 0xd3
9680 };
9681 static const uint8_t nist_186_2_ecdsa_testvector_211_public_y[] = {
9682 /* Qy - byte alignment */
9683 	0x00, 0x62, 0xe9, 0x27, 0xac, 0x17, 0xbf, 0xd2, 0x42, 0xdc, 0xac, 0x4a,
9684 	0xfa, 0xb0, 0xd2, 0x0c, 0x65, 0xba, 0xde, 0xf4, 0x64, 0x68, 0xf2, 0x02,
9685 	0x11, 0xad, 0xf5, 0x4e, 0xc4, 0xd2, 0x14, 0x5a, 0x85, 0x1d, 0x11, 0x21,
9686 	0xd4, 0xcb, 0xf0, 0x13, 0x10, 0x9e, 0x06, 0xc5, 0xaf, 0x21, 0x5c, 0xdb,
9687 	0x3d, 0x38, 0xa8, 0x5f, 0xf9, 0x2f, 0x6d, 0x54, 0x6b, 0x4a, 0xa8, 0x17,
9688 	0xa4, 0xe5, 0x80, 0x34, 0x9a, 0xea, 0xc0, 0xca, 0x74, 0x41, 0x25, 0x88
9689 };
9690 /* k = 1510cc95330968b97382d63c46071c75ab92e9175862e5272222735a12e906625bb59b1843908d0e94052e2d90f82291fbbb5f853a40d8a4354f37015e5dc8118266747c19bfa95 */
9691 static const uint8_t nist_186_2_ecdsa_testvector_211_out[] = {
9692 /* R - byte alignment */
9693 	0x03, 0xf4, 0x00, 0xdd, 0x5c, 0xc3, 0x87, 0xf1, 0xd8, 0xc5, 0x68, 0xd5,
9694 	0xbc, 0x6d, 0x3e, 0xb0, 0x7e, 0x79, 0x28, 0x23, 0x06, 0x1d, 0x38, 0x44,
9695 	0xe8, 0x04, 0x44, 0x0c, 0x3d, 0x78, 0x89, 0xa7, 0x78, 0x02, 0x19, 0x41,
9696 	0x00, 0x0d, 0x6a, 0x47, 0x55, 0xe4, 0x89, 0xdd, 0xcb, 0xb0, 0x34, 0x5b,
9697 	0x79, 0x8c, 0x4a, 0xbe, 0xbb, 0x7b, 0xb5, 0xfe, 0x57, 0x8e, 0x4a, 0x44,
9698 	0x09, 0x3d, 0x2b, 0x17, 0x00, 0x37, 0xd2, 0xe7, 0x8c, 0x7a, 0x18, 0x65,
9699 /* S - byte alignment */
9700 	0x00, 0x98, 0x66, 0xd2, 0x4d, 0x6f, 0x00, 0xc9, 0x4f, 0x67, 0xde, 0x16,
9701 	0xec, 0xfa, 0xa5, 0xaa, 0x8b, 0x87, 0xdb, 0x45, 0x88, 0xff, 0x32, 0x03,
9702 	0xf8, 0xdb, 0xc5, 0xee, 0x79, 0x01, 0x8a, 0x54, 0x12, 0x55, 0x76, 0x0c,
9703 	0xdb, 0xac, 0xdd, 0xe6, 0xda, 0xf6, 0xad, 0xa8, 0xf2, 0x2a, 0x5d, 0x13,
9704 	0x62, 0xc0, 0x81, 0x4d, 0xf4, 0x6d, 0x76, 0x64, 0x8b, 0x7a, 0x0f, 0xf1,
9705 	0x37, 0x2a, 0xcd, 0x89, 0x9f, 0x38, 0x5e, 0xd5, 0x12, 0xd6, 0x3a, 0x25
9706 };
9707 static const uint8_t nist_186_2_ecdsa_testvector_212_ptx[] = {
9708 /* Msg */
9709 	0x2b, 0x8a, 0x1e, 0x3e, 0x77, 0x71, 0x41, 0x82, 0xdd, 0xe3, 0x3c, 0xe1,
9710 	0x11, 0x97, 0x77, 0x72, 0xdd, 0xfb, 0x34, 0xbc, 0xb8, 0x7a, 0xc4, 0x1e,
9711 	0x99, 0xff, 0xfb, 0x6f, 0x0d, 0xb5, 0xe1, 0xe1, 0x88, 0x12, 0xaa, 0x2b,
9712 	0xf8, 0x13, 0xe9, 0xe7, 0xa0, 0xc9, 0x00, 0x38, 0x24, 0x14, 0xdb, 0xb1,
9713 	0xe0, 0xaf, 0xde, 0x72, 0x7e, 0x6c, 0x1b, 0x94, 0xc8, 0xc1, 0xc9, 0xc8,
9714 	0xba, 0x84, 0xf1, 0x3a, 0xdc, 0xf3, 0x6b, 0xbc, 0xcf, 0xf7, 0x09, 0x20,
9715 	0x25, 0xaa, 0x12, 0xe5, 0x76, 0x16, 0xf2, 0x17, 0xaf, 0x40, 0x2f, 0x70,
9716 	0xae, 0x65, 0x9f, 0xc3, 0x0c, 0x83, 0xd9, 0x9b, 0x3a, 0x1b, 0xe9, 0x1f,
9717 	0xd0, 0x35, 0x48, 0x38, 0x21, 0xa6, 0x0b, 0xf6, 0x13, 0x8e, 0x5a, 0x30,
9718 	0x2e, 0x24, 0x24, 0x6b, 0xf2, 0xb6, 0x11, 0xfd, 0x6e, 0xeb, 0xb8, 0x73,
9719 	0x0e, 0x4c, 0x13, 0x2f, 0xb5, 0x02, 0x2f, 0x56
9720 };
9721 static const uint8_t nist_186_2_ecdsa_testvector_212_private[] = {
9722 /* d - byte alignment */
9723 	0x01, 0x85, 0x07, 0x58, 0xe4, 0xf1, 0xc0, 0x73, 0x09, 0x27, 0x2f, 0xf2,
9724 	0xbf, 0x8d, 0xca, 0x7d, 0xf0, 0x07, 0xb4, 0xd9, 0x4e, 0x18, 0xbc, 0x41,
9725 	0xeb, 0xb8, 0xb4, 0x34, 0xda, 0x48, 0x2f, 0x8b, 0xf0, 0xed, 0x67, 0xf3,
9726 	0x66, 0xe8, 0xef, 0x6f, 0xcc, 0xd6, 0xc1, 0xd6, 0x54, 0xf6, 0xc4, 0x01,
9727 	0xed, 0x02, 0x8e, 0xe3, 0x1b, 0x7c, 0x4c, 0x92, 0xeb, 0x07, 0x5b, 0x02,
9728 	0xdd, 0xe7, 0xdd, 0xef, 0xe9, 0xa7, 0xad, 0x89, 0xb8, 0xd9, 0x4e, 0xfc
9729 };
9730 static const uint8_t nist_186_2_ecdsa_testvector_212_public_x[] = {
9731 /* Qx - byte alignment */
9732 	0x05, 0x28, 0x7b, 0x78, 0x75, 0x97, 0xd6, 0x61, 0x3d, 0xda, 0x0c, 0x27,
9733 	0xad, 0xb6, 0x41, 0x0b, 0x2b, 0xf3, 0xb9, 0x93, 0xbb, 0x7a, 0xfa, 0x71,
9734 	0xa8, 0xe0, 0x11, 0x3d, 0x48, 0xdb, 0x32, 0x94, 0x1a, 0x6f, 0xeb, 0x01,
9735 	0xca, 0xb6, 0x04, 0x5d, 0xcb, 0x68, 0x84, 0xe9, 0x86, 0x9e, 0xea, 0xd3,
9736 	0x58, 0xb2, 0xc5, 0x1f, 0x17, 0x36, 0xa9, 0xf8, 0x8f, 0xe3, 0x3a, 0x8b,
9737 	0x4c, 0xbc, 0xb8, 0x76, 0xa4, 0x56, 0x34, 0xdf, 0x41, 0xf7, 0x5e, 0x29
9738 };
9739 static const uint8_t nist_186_2_ecdsa_testvector_212_public_y[] = {
9740 /* Qy - byte alignment */
9741 	0x04, 0x63, 0x6e, 0x68, 0xf1, 0x97, 0x0d, 0x90, 0x58, 0xab, 0xd3, 0x4d,
9742 	0xd2, 0x90, 0xe1, 0x64, 0xb5, 0x96, 0xc1, 0xd1, 0xdd, 0xee, 0x8d, 0xb6,
9743 	0x04, 0x02, 0x74, 0xd9, 0xa5, 0x6a, 0x47, 0xbb, 0xf9, 0xd8, 0x2e, 0xd7,
9744 	0x34, 0x4b, 0x01, 0x7e, 0xf5, 0x9a, 0xe6, 0x33, 0x6f, 0xd0, 0x2d, 0x16,
9745 	0xcb, 0x32, 0x5a, 0xb2, 0x90, 0xc4, 0xbf, 0x0c, 0xa5, 0x61, 0xfd, 0xad,
9746 	0xc7, 0xcc, 0xcc, 0x81, 0x55, 0x5a, 0x25, 0x1d, 0xd7, 0x39, 0xe1, 0xf7
9747 };
9748 /* k = 0612df3727988c24712035d9070fae6eb3cf2ff2f2cac00265140a660afd738829906f479b5f55e9591e412f874f03adb8f09ff8faf91c5f86294296bbc2bf7c9fad3660bb47606 */
9749 static const uint8_t nist_186_2_ecdsa_testvector_212_out[] = {
9750 /* R - byte alignment */
9751 	0x01, 0x3b, 0x24, 0xdc, 0x81, 0xfb, 0x93, 0xfc, 0xdf, 0x70, 0xfa, 0xac,
9752 	0x12, 0x90, 0x72, 0xce, 0x5f, 0x95, 0x0a, 0xd3, 0xfb, 0x55, 0x3a, 0x4d,
9753 	0x32, 0x26, 0x07, 0xa6, 0x9a, 0x29, 0xb6, 0xbe, 0x3d, 0x9f, 0xf7, 0x27,
9754 	0x65, 0xd6, 0xee, 0x2d, 0x93, 0x43, 0xe0, 0x0a, 0x25, 0x2e, 0x67, 0x2e,
9755 	0x00, 0xb1, 0x99, 0x09, 0x52, 0x38, 0x34, 0x8c, 0x06, 0x6c, 0x95, 0xb4,
9756 	0x24, 0x32, 0x84, 0x60, 0xcc, 0xb1, 0x0d, 0xd7, 0x7b, 0x13, 0x71, 0x43,
9757 /* S - byte alignment */
9758 	0x00, 0xd6, 0x07, 0x5c, 0xbd, 0xf3, 0xa5, 0x3c, 0x93, 0x27, 0x76, 0x59,
9759 	0xcf, 0x1f, 0xdd, 0xfc, 0xfe, 0x7c, 0xf0, 0x97, 0x33, 0x19, 0xad, 0xe7,
9760 	0x0f, 0xce, 0x19, 0xf6, 0x6c, 0xf8, 0xb2, 0xd7, 0xd7, 0xae, 0x5e, 0xeb,
9761 	0x44, 0x71, 0x1d, 0x51, 0x9a, 0x16, 0xfb, 0x05, 0xa7, 0x11, 0x8d, 0x74,
9762 	0xf2, 0xc1, 0x17, 0x41, 0xa7, 0x29, 0x4b, 0x98, 0x51, 0x98, 0x9d, 0x5f,
9763 	0xad, 0xb8, 0x4c, 0xd6, 0x32, 0x49, 0xaf, 0x87, 0x70, 0x6d, 0x42, 0xe8
9764 };
9765 static const uint8_t nist_186_2_ecdsa_testvector_213_ptx[] = {
9766 /* Msg */
9767 	0x07, 0xe2, 0xce, 0x83, 0x25, 0x6d, 0xba, 0x59, 0x1a, 0x6f, 0x55, 0xe2,
9768 	0xb1, 0x51, 0xf6, 0x6a, 0x19, 0x5a, 0x56, 0x15, 0xf3, 0x76, 0x45, 0xc6,
9769 	0xaa, 0x36, 0x9b, 0x40, 0x03, 0x17, 0x72, 0x8b, 0xf5, 0x07, 0x92, 0x9a,
9770 	0xba, 0x25, 0x2d, 0x2a, 0x26, 0xc9, 0xcd, 0xed, 0x38, 0xc4, 0x8a, 0xe8,
9771 	0xef, 0xe9, 0x80, 0x19, 0x5e, 0xcc, 0x80, 0x5e, 0x03, 0xc9, 0x06, 0x92,
9772 	0x55, 0x48, 0x6b, 0xf9, 0x9c, 0x40, 0x5c, 0xde, 0x05, 0xfa, 0x8b, 0x7a,
9773 	0xf6, 0x18, 0xa4, 0x18, 0x9f, 0xd5, 0x83, 0x77, 0xd2, 0x8e, 0xa4, 0x70,
9774 	0x14, 0x82, 0xdb, 0xd8, 0xf4, 0xd6, 0x45, 0xa8, 0x9b, 0xdc, 0x7e, 0x5b,
9775 	0xa5, 0x94, 0x14, 0x98, 0x2f, 0x73, 0x3c, 0x11, 0x31, 0x64, 0xc4, 0xab,
9776 	0x0f, 0x0d, 0x49, 0xdf, 0x6a, 0x53, 0xaa, 0x60, 0x3c, 0x20, 0xbc, 0xfe,
9777 	0x24, 0x63, 0x40, 0xca, 0xfe, 0x59, 0x12, 0x7b
9778 };
9779 static const uint8_t nist_186_2_ecdsa_testvector_213_private[] = {
9780 /* d - byte alignment */
9781 	0x03, 0xf8, 0xe4, 0x73, 0x72, 0x8c, 0xd7, 0xaa, 0x7c, 0xe1, 0x52, 0xce,
9782 	0xf8, 0x99, 0x3b, 0xd6, 0x3b, 0xdd, 0xb3, 0x10, 0x75, 0xb2, 0x89, 0x0c,
9783 	0xd0, 0xc2, 0x2f, 0x36, 0xe8, 0xec, 0x39, 0xb7, 0xde, 0xae, 0xab, 0x89,
9784 	0x03, 0x28, 0x7f, 0x27, 0xbe, 0x9f, 0x6c, 0x69, 0x57, 0x47, 0xf9, 0x45,
9785 	0xf3, 0x43, 0x8b, 0xea, 0x91, 0x1d, 0xb8, 0xa0, 0x79, 0xdd, 0x27, 0x81,
9786 	0x44, 0x42, 0xb1, 0x64, 0x62, 0x4f, 0xdb, 0xe7, 0x0b, 0xea, 0xb9, 0xf9
9787 };
9788 static const uint8_t nist_186_2_ecdsa_testvector_213_public_x[] = {
9789 /* Qx - byte alignment */
9790 	0x00, 0x0e, 0x15, 0x36, 0x08, 0xa7, 0x3e, 0x25, 0xc0, 0xa7, 0x88, 0xbe,
9791 	0x27, 0xc7, 0x1b, 0xfb, 0x2d, 0x4c, 0x11, 0x35, 0xa4, 0xd6, 0xa9, 0x52,
9792 	0xc5, 0x39, 0x59, 0x32, 0xeb, 0x56, 0xfa, 0xfe, 0xbf, 0xc3, 0xda, 0xa1,
9793 	0xb8, 0xce, 0x6b, 0x38, 0x82, 0x5e, 0xf0, 0xe4, 0xfa, 0x08, 0xad, 0xa8,
9794 	0xcb, 0xf6, 0x5e, 0xae, 0x17, 0x5d, 0x59, 0xfc, 0x13, 0x71, 0x0f, 0x76,
9795 	0xc9, 0x19, 0x13, 0x7f, 0xbe, 0x23, 0x3e, 0x46, 0xd3, 0x4c, 0x72, 0x56
9796 };
9797 static const uint8_t nist_186_2_ecdsa_testvector_213_public_y[] = {
9798 /* Qy - byte alignment */
9799 	0x05, 0xbc, 0x33, 0x01, 0xb3, 0xb8, 0xee, 0xb3, 0xba, 0xb2, 0xc9, 0xc4,
9800 	0xed, 0x9e, 0x35, 0x39, 0x7d, 0x5a, 0x91, 0x2b, 0xdc, 0xf2, 0x62, 0xe2,
9801 	0x1c, 0xc3, 0xef, 0xab, 0x70, 0x69, 0xef, 0x61, 0xc4, 0x09, 0x21, 0xa1,
9802 	0xf2, 0x3c, 0x25, 0xc5, 0xcd, 0xaa, 0x86, 0x93, 0x5a, 0x15, 0x98, 0x3c,
9803 	0xf4, 0xa1, 0xe3, 0xdd, 0xdd, 0x7a, 0xeb, 0x52, 0x0c, 0x22, 0xeb, 0xb4,
9804 	0x89, 0x24, 0x37, 0x9e, 0x18, 0x49, 0x18, 0x21, 0x33, 0x56, 0x4a, 0xc1
9805 };
9806 /* k = 3e3aac20908ac81c6906f5c8d011ed9a2117997d16d6b0093f602278e13335718b22aa88e9f1d0b8373d513b3dd7138a914d26a5b4f7fb4a75881a83ef05ac61efa580caef69702 */
9807 static const uint8_t nist_186_2_ecdsa_testvector_213_out[] = {
9808 /* R - byte alignment */
9809 	0x02, 0x97, 0x8c, 0xcb, 0x53, 0x14, 0x5a, 0xfd, 0x54, 0x96, 0x23, 0x0f,
9810 	0x0f, 0x30, 0xf7, 0x11, 0x2b, 0x42, 0x5a, 0x0a, 0xf6, 0xf9, 0x1b, 0xeb,
9811 	0x64, 0xdd, 0xf0, 0xcc, 0x7d, 0xc2, 0xeb, 0xe0, 0x49, 0xe9, 0x7e, 0x73,
9812 	0xf5, 0xdd, 0xb7, 0xbe, 0xf6, 0xb4, 0x86, 0x91, 0xea, 0x7d, 0x78, 0x89,
9813 	0x23, 0x6e, 0xf5, 0x2c, 0x08, 0x41, 0x13, 0xe4, 0x06, 0x3f, 0x51, 0x99,
9814 	0x4b, 0x73, 0x75, 0xe3, 0x42, 0x82, 0x0f, 0x62, 0x45, 0x09, 0xb1, 0xe1,
9815 /* S - byte alignment */
9816 	0x03, 0xf2, 0x52, 0xc5, 0x6c, 0x6d, 0x4e, 0x56, 0x52, 0x36, 0x8c, 0x22,
9817 	0x43, 0x72, 0xd9, 0x83, 0xb9, 0xe4, 0x27, 0x4f, 0x57, 0x21, 0xc8, 0x85,
9818 	0xc7, 0x1a, 0x08, 0x9d, 0x31, 0x41, 0xf7, 0x06, 0x33, 0xfa, 0xb7, 0xa0,
9819 	0xe9, 0x80, 0x89, 0xea, 0x1a, 0x66, 0xaf, 0xa9, 0xb1, 0xc6, 0x57, 0xe8,
9820 	0x1a, 0xb7, 0xc5, 0x7c, 0x18, 0x96, 0xc6, 0xf4, 0xf8, 0xba, 0x74, 0x14,
9821 	0xf1, 0xcf, 0x2d, 0xaf, 0x53, 0xee, 0xaa, 0x43, 0xac, 0x1c, 0x71, 0x28
9822 };
9823 static const uint8_t nist_186_2_ecdsa_testvector_214_ptx[] = {
9824 /* Msg */
9825 	0xf6, 0xe7, 0x64, 0x6e, 0x7a, 0xc8, 0xba, 0xc1, 0xc9, 0x4a, 0x2b, 0xcb,
9826 	0xd6, 0xe1, 0x69, 0x45, 0x08, 0xab, 0x2c, 0xdb, 0xeb, 0x53, 0x82, 0x30,
9827 	0x26, 0x35, 0x66, 0x23, 0xad, 0xc3, 0x95, 0x51, 0x37, 0x27, 0x9d, 0xda,
9828 	0xf3, 0x2a, 0x37, 0x69, 0x76, 0x54, 0xd6, 0x6e, 0xf8, 0x54, 0x80, 0xae,
9829 	0xc1, 0xa3, 0xdd, 0xfe, 0xde, 0x65, 0x8e, 0x4b, 0x18, 0x90, 0xbf, 0xde,
9830 	0x27, 0x4f, 0x00, 0xde, 0x22, 0xa9, 0x50, 0x17, 0x3a, 0x5e, 0x7b, 0xf9,
9831 	0xa8, 0x11, 0xa7, 0xe4, 0xe4, 0xac, 0x29, 0xa3, 0x18, 0x01, 0x9d, 0x36,
9832 	0xd4, 0xad, 0x35, 0xd4, 0x03, 0x42, 0x51, 0x30, 0x1e, 0xa5, 0x50, 0xfc,
9833 	0x9f, 0xb4, 0xa6, 0xab, 0xb9, 0x2c, 0x2f, 0x7c, 0x46, 0xca, 0xc4, 0xb4,
9834 	0x01, 0xb1, 0x0b, 0x2a, 0xf5, 0x0c, 0x93, 0x09, 0x35, 0xf4, 0x20, 0xd2,
9835 	0xce, 0x94, 0x43, 0xa0, 0xfa, 0x8b, 0x2e, 0xb0
9836 };
9837 static const uint8_t nist_186_2_ecdsa_testvector_214_private[] = {
9838 /* d - byte alignment */
9839 	0x03, 0xc3, 0x26, 0x9d, 0x22, 0x23, 0xb2, 0xbf, 0xc9, 0x2e, 0x28, 0xdc,
9840 	0x58, 0x63, 0x77, 0xd5, 0x50, 0x11, 0xee, 0xd1, 0x37, 0x08, 0xcf, 0x47,
9841 	0x62, 0xc2, 0xec, 0x5b, 0x97, 0x7f, 0x40, 0x49, 0xe6, 0xab, 0x90, 0x90,
9842 	0xde, 0x5f, 0x3d, 0xc7, 0x6b, 0xb8, 0x6f, 0x2e, 0xce, 0x59, 0xd1, 0x4f,
9843 	0xd9, 0xb9, 0xc3, 0x15, 0x52, 0x94, 0x3e, 0x7b, 0xda, 0x92, 0x20, 0xb7,
9844 	0x73, 0xff, 0x2c, 0x0d, 0x61, 0x0e, 0xe7, 0xd2, 0xc7, 0x16, 0x57, 0xbd
9845 };
9846 static const uint8_t nist_186_2_ecdsa_testvector_214_public_x[] = {
9847 /* Qx - byte alignment */
9848 	0x03, 0x15, 0xad, 0x90, 0xc4, 0x4e, 0xe2, 0xa4, 0x24, 0x5e, 0x7a, 0x11,
9849 	0xb2, 0xbc, 0xa9, 0x6c, 0x86, 0x65, 0x7a, 0x60, 0x1f, 0xdc, 0x64, 0xb3,
9850 	0x96, 0x36, 0x12, 0x0c, 0xfd, 0x40, 0xfa, 0x35, 0xeb, 0xd8, 0xc5, 0xfe,
9851 	0x0c, 0xf8, 0xd2, 0x8e, 0x33, 0xb7, 0x3d, 0xb5, 0x2a, 0xf5, 0xd2, 0x77,
9852 	0x51, 0x5d, 0xee, 0x9f, 0x62, 0xd7, 0x55, 0x90, 0x77, 0x4a, 0xc2, 0x46,
9853 	0xc0, 0x1a, 0xe2, 0x3a, 0x96, 0x95, 0xf9, 0x31, 0x6d, 0xec, 0xd6, 0xb4
9854 };
9855 static const uint8_t nist_186_2_ecdsa_testvector_214_public_y[] = {
9856 /* Qy - byte alignment */
9857 	0x00, 0xb0, 0xd1, 0xb9, 0xf0, 0x48, 0x09, 0x23, 0x63, 0x78, 0xf8, 0xfe,
9858 	0xe9, 0x26, 0xb9, 0x2c, 0x2e, 0xf9, 0x87, 0x1e, 0xb9, 0x1b, 0xf6, 0xfa,
9859 	0xab, 0x54, 0x34, 0x8f, 0xda, 0x84, 0x86, 0xf8, 0x8b, 0xa6, 0x90, 0x2b,
9860 	0x97, 0x26, 0x8a, 0xf8, 0x93, 0x9d, 0x59, 0x0b, 0xec, 0xfa, 0x97, 0x7a,
9861 	0x90, 0xcf, 0x2a, 0xf0, 0x89, 0x3b, 0x3a, 0x0e, 0xe0, 0x4a, 0x6c, 0x37,
9862 	0x1a, 0x79, 0x57, 0x7e, 0x99, 0xf5, 0xc7, 0x20, 0x99, 0xe2, 0xaa, 0x6d
9863 };
9864 /* k = 1a2670992bc17d4be856b4aef9fe5ea6e5764f1215317657c77fec4feb0d94de2b2cf5cfd56218122fd3b5c24cfc23d3a9e1d289de99c61f1a64ea2a93597e78da2a8621c0cb84f */
9865 static const uint8_t nist_186_2_ecdsa_testvector_214_out[] = {
9866 /* R - byte alignment */
9867 	0x01, 0xa5, 0x36, 0x61, 0xe2, 0x8f, 0x57, 0xae, 0x75, 0xb3, 0x9c, 0xe0,
9868 	0x44, 0x3a, 0x13, 0xcf, 0xb8, 0x1b, 0xd6, 0xbf, 0x64, 0x96, 0x2d, 0x29,
9869 	0x99, 0x81, 0x54, 0xf3, 0xeb, 0x7d, 0xa9, 0x1e, 0x4e, 0x34, 0x82, 0xdd,
9870 	0x67, 0xc6, 0x4a, 0xb2, 0x27, 0x1e, 0x4e, 0xbd, 0x26, 0x8f, 0xb1, 0x0d,
9871 	0x36, 0xee, 0xe6, 0x74, 0xb3, 0xd0, 0xd7, 0xb1, 0xe0, 0xdd, 0x83, 0x4c,
9872 	0x02, 0x8f, 0x31, 0x4c, 0x68, 0xec, 0xdd, 0x59, 0xf0, 0x99, 0x76, 0xb0,
9873 /* S - byte alignment */
9874 	0x02, 0x56, 0x57, 0x15, 0xde, 0x56, 0x8b, 0x2e, 0x43, 0x28, 0xbb, 0xbc,
9875 	0x5a, 0xab, 0xd2, 0xc4, 0xdf, 0xde, 0xae, 0x5d, 0xf7, 0xcf, 0x85, 0x91,
9876 	0x06, 0x66, 0x47, 0x5b, 0xe4, 0x5b, 0x3b, 0xf8, 0xe5, 0x1c, 0x95, 0x32,
9877 	0x17, 0x75, 0x27, 0xcb, 0x0e, 0x4c, 0x41, 0x7d, 0x9e, 0x58, 0x91, 0x50,
9878 	0x29, 0x21, 0x07, 0x54, 0x8d, 0x8f, 0x53, 0x0b, 0xd8, 0xed, 0x27, 0x58,
9879 	0xbd, 0x23, 0xf3, 0x63, 0x2d, 0xef, 0x1d, 0x08, 0xcc, 0x7b, 0xd8, 0xaf
9880 };
9881 static const uint8_t nist_186_2_ecdsa_testvector_215_ptx[] = {
9882 /* Msg */
9883 	0x4b, 0x59, 0x6e, 0x1f, 0x2a, 0xe2, 0xa0, 0x65, 0x06, 0x81, 0x68, 0x5f,
9884 	0x69, 0xaa, 0x3d, 0x35, 0x29, 0xe6, 0x4f, 0xe8, 0x90, 0x6e, 0xc8, 0x8b,
9885 	0xb9, 0xf8, 0x52, 0xb1, 0x3d, 0xd1, 0xda, 0x22, 0x10, 0x2c, 0x94, 0xd2,
9886 	0xa5, 0xba, 0x40, 0x13, 0x59, 0x7a, 0xab, 0x09, 0x0e, 0xd3, 0x78, 0x5e,
9887 	0x16, 0xe0, 0x20, 0x38, 0x54, 0x0b, 0x38, 0x68, 0x9d, 0xdd, 0xf3, 0xe5,
9888 	0x64, 0x14, 0xe7, 0x78, 0x97, 0xf6, 0x14, 0xb8, 0xc4, 0xe6, 0x22, 0x39,
9889 	0x80, 0x35, 0xea, 0x01, 0x09, 0x3a, 0x38, 0x3b, 0x2a, 0xa5, 0xcf, 0x30,
9890 	0x5f, 0x10, 0xae, 0x72, 0x3a, 0xd7, 0x92, 0x5a, 0x05, 0x2a, 0xbc, 0xb5,
9891 	0xa9, 0x60, 0xf4, 0xbb, 0xcf, 0x8e, 0xce, 0x41, 0x44, 0x59, 0x2c, 0x2f,
9892 	0xa2, 0x08, 0x04, 0x33, 0x2d, 0xde, 0x64, 0xb7, 0xfb, 0xa6, 0xb3, 0x11,
9893 	0x58, 0x8f, 0x39, 0xfa, 0x68, 0x3a, 0xe2, 0x42
9894 };
9895 static const uint8_t nist_186_2_ecdsa_testvector_215_private[] = {
9896 /* d - byte alignment */
9897 	0x00, 0xc5, 0xfe, 0x0b, 0x12, 0xd4, 0x5a, 0x0e, 0xc0, 0xdb, 0x7f, 0x60,
9898 	0xfd, 0x0b, 0xb9, 0x6f, 0xe8, 0x92, 0x05, 0x05, 0xa8, 0xb6, 0xbe, 0xaa,
9899 	0x85, 0x3c, 0x0c, 0x85, 0xc8, 0xe0, 0x4d, 0x6c, 0x61, 0xdf, 0x5b, 0xac,
9900 	0x49, 0x05, 0x66, 0x29, 0xf8, 0x21, 0x18, 0x40, 0xf9, 0x78, 0xc9, 0x9c,
9901 	0x4f, 0x67, 0x3c, 0xbe, 0x5b, 0xf9, 0x8b, 0xcb, 0x0d, 0x1c, 0xfe, 0x85,
9902 	0xc0, 0x4f, 0x66, 0xed, 0x18, 0xd3, 0x46, 0xb8, 0x20, 0x1c, 0xa2, 0x36
9903 };
9904 static const uint8_t nist_186_2_ecdsa_testvector_215_public_x[] = {
9905 /* Qx - byte alignment */
9906 	0x07, 0xc6, 0x29, 0x37, 0xd0, 0xc4, 0x4b, 0xf8, 0x6c, 0x3a, 0xb5, 0x82,
9907 	0x25, 0x2a, 0x5e, 0x64, 0x57, 0xc4, 0x36, 0x7c, 0x6a, 0x0e, 0x41, 0xe2,
9908 	0xf9, 0x2e, 0xdb, 0x1c, 0x7a, 0x56, 0x05, 0xba, 0x4a, 0x42, 0xc6, 0xd5,
9909 	0xfe, 0x19, 0xa1, 0x63, 0xf9, 0xcf, 0x5c, 0x83, 0x12, 0xf8, 0xac, 0x47,
9910 	0x29, 0xef, 0x01, 0x53, 0xb5, 0x5c, 0xc9, 0x81, 0xd1, 0x13, 0xd6, 0xdc,
9911 	0x8b, 0x39, 0x61, 0x0f, 0x4f, 0x57, 0x7e, 0x73, 0x70, 0xb2, 0xfb, 0xb9
9912 };
9913 static const uint8_t nist_186_2_ecdsa_testvector_215_public_y[] = {
9914 /* Qy - byte alignment */
9915 	0x01, 0x48, 0x76, 0x4e, 0x23, 0xec, 0x53, 0x5b, 0x17, 0x1d, 0x3f, 0x9e,
9916 	0x70, 0x29, 0x54, 0x7f, 0x3c, 0xac, 0xe7, 0xfb, 0x06, 0xa8, 0x54, 0xa7,
9917 	0x54, 0xbe, 0x63, 0x5b, 0x69, 0xb8, 0xc1, 0x51, 0xa5, 0x1f, 0x5c, 0x5b,
9918 	0xf0, 0x11, 0x29, 0x92, 0x31, 0xd5, 0xad, 0x2f, 0x99, 0xf0, 0xdb, 0x96,
9919 	0xaa, 0x6e, 0x0d, 0xad, 0x4f, 0xef, 0x45, 0x00, 0x1a, 0x57, 0x63, 0x95,
9920 	0x19, 0x85, 0xa3, 0xb0, 0x91, 0xc5, 0xdb, 0xef, 0xe6, 0x8a, 0x2a, 0x09
9921 };
9922 /* k = 0d04bc12c2eefad9bca46c727801d39231e72a8d8c0cf3ea9416530da56f3339165406a08a45901e3b210ac8597cf588b0a48c61ef300ef2c96ee02d13a30ffeb4fc5f386d1a0ea */
9923 static const uint8_t nist_186_2_ecdsa_testvector_215_out[] = {
9924 /* R - byte alignment */
9925 	0x02, 0x63, 0x16, 0x99, 0x79, 0x89, 0xb9, 0xf7, 0x48, 0x34, 0x83, 0xc5,
9926 	0x2d, 0x3f, 0x68, 0x04, 0xe9, 0x2d, 0xb3, 0xb8, 0x21, 0x2d, 0x5b, 0x1f,
9927 	0xd0, 0x47, 0x4f, 0xd4, 0xfe, 0x51, 0xe3, 0xfe, 0xe6, 0xb7, 0x91, 0xbe,
9928 	0xfe, 0x7d, 0x5e, 0x07, 0x4b, 0xe9, 0xf0, 0xc5, 0x61, 0xcf, 0xa7, 0x3b,
9929 	0x7b, 0x2b, 0x6a, 0x8e, 0x46, 0x89, 0x18, 0xfe, 0x69, 0x41, 0x53, 0x25,
9930 	0x48, 0xb5, 0x99, 0x1d, 0xc0, 0x90, 0x31, 0xfb, 0x2f, 0xe1, 0xa0, 0x27,
9931 /* S - byte alignment */
9932 	0x03, 0x27, 0x4c, 0xe2, 0xca, 0x05, 0xd0, 0xfe, 0x8b, 0x0a, 0x95, 0x8c,
9933 	0x66, 0x60, 0x46, 0xcb, 0x0b, 0x94, 0x4e, 0x31, 0xa2, 0x8a, 0xef, 0xbb,
9934 	0x6b, 0x3f, 0xfa, 0x76, 0x6f, 0x68, 0xc5, 0xee, 0xf6, 0xeb, 0x34, 0xe9,
9935 	0x52, 0xc2, 0xf3, 0x12, 0x6d, 0x73, 0x59, 0x8e, 0x22, 0x26, 0x47, 0xfb,
9936 	0x70, 0x96, 0xbd, 0x98, 0x27, 0xec, 0x6c, 0x01, 0xf9, 0x7e, 0xd2, 0x3e,
9937 	0x3b, 0xac, 0xf7, 0xc7, 0xb3, 0x7c, 0xa6, 0xe8, 0x5f, 0xb1, 0x84, 0x42
9938 };
9939 static const uint8_t nist_186_2_ecdsa_testvector_216_ptx[] = {
9940 /* Msg */
9941 	0xff, 0x93, 0x70, 0xf9, 0x30, 0x84, 0x51, 0x7d, 0x70, 0xa1, 0xa1, 0xd6,
9942 	0xcf, 0x8a, 0x16, 0x30, 0xd7, 0x71, 0xa0, 0x09, 0x1c, 0x69, 0xa0, 0x96,
9943 	0x15, 0xe1, 0x55, 0x63, 0x2a, 0x6b, 0x96, 0x3b, 0x0e, 0xc3, 0xc7, 0x47,
9944 	0x4f, 0x0c, 0x06, 0x79, 0x2c, 0x5c, 0xa5, 0x2c, 0xa6, 0x7b, 0xdd, 0x04,
9945 	0xda, 0xe8, 0xc0, 0x1c, 0x8d, 0x1d, 0x70, 0x60, 0x09, 0x14, 0x8f, 0x37,
9946 	0x28, 0x0a, 0xf6, 0x66, 0xae, 0x83, 0xaa, 0x31, 0xdb, 0x8e, 0x0b, 0xc2,
9947 	0x41, 0x4a, 0x4f, 0xcf, 0xd4, 0xa9, 0x2f, 0x78, 0x40, 0x74, 0xe0, 0x6e,
9948 	0x7f, 0x90, 0x45, 0x5a, 0xaa, 0x7f, 0x63, 0x7d, 0x0f, 0x29, 0x15, 0x93,
9949 	0x85, 0xdd, 0x01, 0xfe, 0xfc, 0x93, 0xca, 0x20, 0x58, 0x74, 0x88, 0x09,
9950 	0x80, 0x9c, 0x75, 0x52, 0xb1, 0x1e, 0xe8, 0x48, 0x19, 0x48, 0x88, 0x4e,
9951 	0xa1, 0x29, 0xb9, 0x7c, 0x0a, 0x51, 0x5b, 0x8c
9952 };
9953 static const uint8_t nist_186_2_ecdsa_testvector_216_private[] = {
9954 /* d - byte alignment */
9955 	0x03, 0xe5, 0xa9, 0xc2, 0x5a, 0xe4, 0xb7, 0x42, 0x3a, 0xeb, 0xac, 0x13,
9956 	0x28, 0x3e, 0xb1, 0x0e, 0xce, 0x49, 0x53, 0x37, 0x1c, 0xcd, 0x3f, 0xca,
9957 	0xf2, 0x1f, 0x0c, 0x1f, 0x39, 0xfa, 0x75, 0x3c, 0xa2, 0x0a, 0x6a, 0x2f,
9958 	0x47, 0x9b, 0x82, 0x10, 0x64, 0xec, 0x52, 0xd4, 0x57, 0x45, 0x9c, 0xfd,
9959 	0xb6, 0xab, 0x6e, 0x7c, 0x7f, 0xcd, 0x86, 0x6c, 0x8b, 0x0b, 0x6c, 0x9d,
9960 	0x84, 0x8c, 0x4d, 0xbf, 0x22, 0x1c, 0x06, 0xa1, 0x6b, 0xb9, 0x91, 0x85
9961 };
9962 static const uint8_t nist_186_2_ecdsa_testvector_216_public_x[] = {
9963 /* Qx - byte alignment */
9964 	0x03, 0x42, 0xd3, 0x9b, 0x3f, 0x2c, 0xc9, 0x33, 0x6d, 0xcb, 0xf7, 0xa0,
9965 	0x9c, 0x06, 0xaf, 0x6f, 0x60, 0xa0, 0x8f, 0xb7, 0x63, 0x17, 0xb3, 0x71,
9966 	0x15, 0x5b, 0xf9, 0x96, 0x5b, 0x6b, 0x96, 0x9c, 0x99, 0xc7, 0xf5, 0x73,
9967 	0x65, 0xe6, 0x03, 0x10, 0xa8, 0xaf, 0xc5, 0x8b, 0xec, 0x92, 0x43, 0xfc,
9968 	0xf4, 0x81, 0x42, 0xa3, 0x19, 0xaa, 0xb1, 0x54, 0x25, 0xac, 0x09, 0x5f,
9969 	0x53, 0x8a, 0xdf, 0xd1, 0x20, 0x4c, 0x7b, 0xe6, 0x07, 0xb9, 0x97, 0x7d
9970 };
9971 static const uint8_t nist_186_2_ecdsa_testvector_216_public_y[] = {
9972 /* Qy - byte alignment */
9973 	0x00, 0x07, 0xfb, 0x19, 0xc9, 0xd3, 0xd0, 0xad, 0x25, 0x69, 0xa4, 0x63,
9974 	0x45, 0x53, 0x08, 0x46, 0xc3, 0xf6, 0x6a, 0x34, 0xd6, 0x24, 0x1e, 0x0b,
9975 	0x9d, 0xe4, 0xb8, 0x4b, 0xc5, 0x08, 0x2a, 0x09, 0xb7, 0xfc, 0x98, 0x58,
9976 	0x6b, 0x16, 0x8a, 0x9f, 0xed, 0xdf, 0x67, 0x58, 0x3f, 0x0f, 0xd9, 0xfb,
9977 	0x75, 0x9e, 0x95, 0x2c, 0xa4, 0x2c, 0xb6, 0x29, 0x44, 0x40, 0x47, 0x03,
9978 	0x9f, 0xd8, 0xc1, 0xc6, 0x01, 0xac, 0x80, 0x8d, 0x8b, 0xba, 0x06, 0xb4
9979 };
9980 /* k = 3d3c85e9b396d0b691dd3449647d786a06024e46ccfed1555b03ade3d57b339cdab9b0905d7395c603ea609b6175ce3083b2c38a93324acd08e7acc2a9b9d971fc4a80abe458574 */
9981 static const uint8_t nist_186_2_ecdsa_testvector_216_out[] = {
9982 /* R - byte alignment */
9983 	0x00, 0x7b, 0x4c, 0x54, 0x4e, 0x06, 0x35, 0x56, 0x71, 0xd6, 0x8b, 0xbc,
9984 	0xf7, 0xc7, 0x0d, 0x39, 0xc8, 0xb4, 0xd1, 0xee, 0xc2, 0xbe, 0x71, 0xd7,
9985 	0x61, 0x41, 0x7f, 0xda, 0x2d, 0xa7, 0x4f, 0x72, 0x60, 0x7b, 0xbc, 0xb0,
9986 	0x95, 0xe3, 0x80, 0x94, 0x48, 0xfa, 0xd6, 0x85, 0x62, 0x39, 0x59, 0xea,
9987 	0xe5, 0xb6, 0xb5, 0x66, 0x3d, 0xde, 0xf4, 0xcc, 0xda, 0x9b, 0x6c, 0xc9,
9988 	0x59, 0x84, 0x17, 0xfc, 0x9f, 0x6c, 0x93, 0xf9, 0xc2, 0xf3, 0xd4, 0xb8,
9989 /* S - byte alignment */
9990 	0x00, 0x7c, 0x15, 0x21, 0xdf, 0x33, 0xc2, 0x28, 0x2b, 0xf8, 0xb0, 0x5e,
9991 	0xf3, 0x86, 0x42, 0x40, 0xdd, 0x09, 0x87, 0x04, 0x78, 0x47, 0xdc, 0x33,
9992 	0x14, 0x99, 0x05, 0x0e, 0x1d, 0x86, 0xa9, 0x8f, 0x12, 0xe5, 0x8d, 0x55,
9993 	0x26, 0xd2, 0x29, 0x02, 0x23, 0x15, 0xc4, 0xd8, 0xfc, 0xcd, 0xe6, 0xf0,
9994 	0x83, 0x19, 0xeb, 0xd0, 0x25, 0x55, 0x49, 0xd2, 0x15, 0x22, 0x95, 0x93,
9995 	0x4e, 0xb1, 0xad, 0xb9, 0x8a, 0x34, 0x69, 0x60, 0x22, 0x6b, 0x8d, 0x39
9996 };
9997 static const uint8_t nist_186_2_ecdsa_testvector_217_ptx[] = {
9998 /* Msg */
9999 	0xf3, 0xa7, 0xf1, 0x92, 0x28, 0x29, 0x4d, 0x19, 0xfe, 0xa1, 0x2e, 0xd7,
10000 	0xe1, 0xe3, 0xee, 0x4d, 0x9b, 0x9b, 0x52, 0xbc, 0xbd, 0x28, 0x0f, 0x96,
10001 	0x41, 0xae, 0x8c, 0x32, 0x6d, 0x66, 0xea, 0xc3, 0xfb, 0x39, 0x42, 0x8b,
10002 	0x76, 0x8e, 0x2d, 0x4c, 0xe7, 0x60, 0x8a, 0x00, 0xb1, 0x93, 0x7b, 0xc9,
10003 	0xba, 0x88, 0xb1, 0x2b, 0xcb, 0xef, 0xea, 0x79, 0x3a, 0xdc, 0xb7, 0x8d,
10004 	0xc6, 0x1d, 0x83, 0xbc, 0xc2, 0xcc, 0xd1, 0x0a, 0x76, 0x20, 0xc5, 0x99,
10005 	0xc2, 0x88, 0xe6, 0x68, 0x04, 0xfb, 0x22, 0x3a, 0x3c, 0x89, 0x13, 0xd3,
10006 	0x6e, 0x37, 0x80, 0x6a, 0x48, 0x09, 0x27, 0x5c, 0x05, 0x60, 0xb9, 0x1e,
10007 	0x91, 0x86, 0x27, 0x75, 0xee, 0x88, 0x1c, 0xe9, 0xd6, 0x44, 0xca, 0x77,
10008 	0xa2, 0xc2, 0xea, 0x86, 0x6a, 0xc8, 0xfe, 0x1c, 0x6e, 0xa8, 0xda, 0x52,
10009 	0xb4, 0x5d, 0x62, 0x05, 0xf3, 0xd6, 0x95, 0xcf
10010 };
10011 static const uint8_t nist_186_2_ecdsa_testvector_217_private[] = {
10012 /* d - byte alignment */
10013 	0x02, 0x7c, 0xb0, 0x16, 0xc5, 0xe7, 0x48, 0xe1, 0xd1, 0xe9, 0xf3, 0x9e,
10014 	0xc9, 0x13, 0x7e, 0x5a, 0xee, 0xc4, 0xce, 0xb1, 0x7e, 0x26, 0x1e, 0x61,
10015 	0x4e, 0x29, 0xde, 0x53, 0x3d, 0xe5, 0x82, 0x30, 0xd3, 0xd8, 0x17, 0xb6,
10016 	0x5a, 0xec, 0x05, 0x11, 0xad, 0x1a, 0x9d, 0x5d, 0x23, 0x58, 0x71, 0x59,
10017 	0xf5, 0xf8, 0x38, 0xed, 0xeb, 0x26, 0x56, 0xc2, 0x01, 0x6c, 0xcf, 0x21,
10018 	0x1f, 0xb3, 0x3d, 0xd1, 0x06, 0x0a, 0xbc, 0x01, 0xa4, 0xa3, 0x66, 0xaf
10019 };
10020 static const uint8_t nist_186_2_ecdsa_testvector_217_public_x[] = {
10021 /* Qx - byte alignment */
10022 	0x06, 0xdd, 0xbf, 0x57, 0xed, 0xe6, 0xbd, 0x2c, 0x24, 0x49, 0xdc, 0x49,
10023 	0xc2, 0xc9, 0x34, 0xfb, 0xd7, 0x59, 0x1f, 0x7b, 0xcb, 0xd6, 0x83, 0x26,
10024 	0x51, 0x9e, 0xef, 0xbe, 0x5e, 0xfe, 0x92, 0xd0, 0x54, 0x2f, 0x29, 0xc1,
10025 	0xad, 0xe9, 0xfd, 0x25, 0x1d, 0x36, 0x7d, 0xfd, 0x18, 0x17, 0x7c, 0x4f,
10026 	0xff, 0x10, 0xe3, 0x6c, 0xcb, 0xd4, 0xb4, 0x66, 0x63, 0x9e, 0x8f, 0x1b,
10027 	0x25, 0xad, 0xbd, 0xbe, 0x0f, 0x8d, 0xe8, 0x8a, 0x07, 0xf8, 0x25, 0xfc
10028 };
10029 static const uint8_t nist_186_2_ecdsa_testvector_217_public_y[] = {
10030 /* Qy - byte alignment */
10031 	0x04, 0x1e, 0x23, 0xa5, 0x43, 0x40, 0xe3, 0xed, 0x9b, 0x94, 0xdb, 0xbf,
10032 	0x40, 0xb5, 0x88, 0xfa, 0x83, 0x12, 0xe5, 0x76, 0x9f, 0xb4, 0x72, 0xe8,
10033 	0xca, 0x8c, 0x4d, 0xe1, 0x14, 0x9b, 0xab, 0xff, 0xc4, 0x2a, 0xee, 0xc3,
10034 	0x3a, 0xee, 0xb9, 0xc4, 0x66, 0xd2, 0xa6, 0x99, 0x34, 0x07, 0x48, 0xc0,
10035 	0xbf, 0xc4, 0xd3, 0x6c, 0xe1, 0x61, 0x5c, 0x09, 0x59, 0x2b, 0xa9, 0xe4,
10036 	0xbc, 0xee, 0x7e, 0x5b, 0xaf, 0xfc, 0xf4, 0xfd, 0x60, 0x04, 0xb8, 0xe5
10037 };
10038 /* k = 176e893cdb9bb48d19e67a2cf0fccdfeb8adfecbcc375b86efbb8b37245b7108332e149409643f916693f38f2f966e55c77cf19edee58584344bb159ab7aa93b6f59113d83e3b9b */
10039 static const uint8_t nist_186_2_ecdsa_testvector_217_out[] = {
10040 /* R - byte alignment */
10041 	0x01, 0x16, 0x03, 0x17, 0x82, 0x59, 0xb2, 0x8c, 0x0f, 0x94, 0xe1, 0xe9,
10042 	0xbd, 0xf2, 0xef, 0xe3, 0x23, 0x5f, 0xfb, 0x39, 0x4e, 0xc1, 0x43, 0xd7,
10043 	0x0a, 0xc0, 0xf0, 0xdc, 0xfa, 0x86, 0x37, 0xb0, 0x3c, 0x6e, 0xa9, 0x83,
10044 	0x30, 0xd3, 0x6b, 0x6b, 0x32, 0x0f, 0x2d, 0xfe, 0x77, 0x6d, 0x57, 0xdf,
10045 	0x71, 0x9a, 0xfd, 0xd7, 0x3c, 0x8b, 0x1b, 0x5a, 0x85, 0xdf, 0x65, 0xca,
10046 	0x09, 0xaf, 0xa5, 0xcf, 0xcf, 0xc3, 0x25, 0x77, 0x07, 0xe3, 0xa7, 0x1f,
10047 /* S - byte alignment */
10048 	0x03, 0xaa, 0x5f, 0xa8, 0x27, 0x2e, 0xd3, 0x4c, 0x09, 0xfc, 0x43, 0x21,
10049 	0xfe, 0x22, 0x3c, 0x2a, 0xc1, 0xaf, 0x03, 0xc1, 0x4a, 0x80, 0x37, 0xa1,
10050 	0x4d, 0x2c, 0x38, 0xf5, 0x81, 0x71, 0x89, 0xb7, 0xd1, 0xb1, 0xa7, 0xc9,
10051 	0x67, 0x05, 0xd4, 0xf9, 0x11, 0xbf, 0xe0, 0x3e, 0x00, 0xcf, 0xb0, 0xb3,
10052 	0x64, 0x94, 0x4b, 0x5b, 0x70, 0x27, 0x8d, 0xa5, 0x78, 0xf9, 0x6f, 0x57,
10053 	0xc0, 0x82, 0xb5, 0xa5, 0xd6, 0x40, 0xbf, 0x83, 0x87, 0xc3, 0xdb, 0x01
10054 };
10055 static const uint8_t nist_186_2_ecdsa_testvector_218_ptx[] = {
10056 /* Msg */
10057 	0x99, 0x75, 0x3b, 0xca, 0xab, 0xcd, 0xc6, 0xa8, 0xce, 0x6c, 0x15, 0x7d,
10058 	0x49, 0x4b, 0xc8, 0xb7, 0xe4, 0xe3, 0x03, 0x3c, 0xfa, 0xf2, 0x1e, 0x50,
10059 	0xd0, 0x7d, 0x9d, 0xb8, 0x25, 0x11, 0x62, 0x1f, 0x0a, 0x4f, 0x21, 0xba,
10060 	0xf4, 0xa8, 0x15, 0x28, 0x10, 0x64, 0xf1, 0x9c, 0xd6, 0xe9, 0x1a, 0x3d,
10061 	0xe1, 0x3a, 0x13, 0xcd, 0xfe, 0xbe, 0x38, 0x89, 0x83, 0x43, 0xb0, 0x51,
10062 	0xe2, 0x42, 0x9d, 0x09, 0x7d, 0x64, 0x95, 0x3f, 0xbc, 0x46, 0x56, 0x0e,
10063 	0x5d, 0x79, 0xb5, 0x42, 0x0c, 0xce, 0xd8, 0xbc, 0x34, 0xd0, 0xa5, 0x19,
10064 	0x14, 0x91, 0x7a, 0x8e, 0x15, 0xaa, 0x1f, 0x16, 0x5b, 0x7d, 0xf9, 0xd0,
10065 	0x9a, 0xbd, 0x80, 0xa2, 0x2b, 0x31, 0xf3, 0x23, 0x5f, 0xb4, 0x4a, 0xb8,
10066 	0x13, 0x81, 0x6c, 0xfd, 0x84, 0xad, 0xa2, 0x66, 0x65, 0xf5, 0x4b, 0x26,
10067 	0x2f, 0xba, 0xd2, 0x4f, 0xb9, 0x4a, 0xde, 0x3b
10068 };
10069 static const uint8_t nist_186_2_ecdsa_testvector_218_private[] = {
10070 /* d - byte alignment */
10071 	0x03, 0x4e, 0x5a, 0xd3, 0xa2, 0xd9, 0x7b, 0xd4, 0xef, 0x31, 0xa5, 0xbf,
10072 	0x0a, 0x91, 0x45, 0xc8, 0xaf, 0x88, 0x79, 0xca, 0xa8, 0x05, 0x62, 0xc1,
10073 	0xb0, 0x49, 0xe5, 0x81, 0x4b, 0x20, 0xb4, 0x71, 0x5d, 0xc6, 0xbe, 0x9a,
10074 	0x9c, 0xa6, 0x11, 0x2e, 0x58, 0x2d, 0x5c, 0x6e, 0xa3, 0xf3, 0x21, 0x81,
10075 	0xd3, 0x23, 0xbd, 0xca, 0x35, 0xd9, 0xd0, 0x95, 0x26, 0x07, 0x46, 0xa6,
10076 	0x03, 0xbb, 0xd6, 0xef, 0xeb, 0x4a, 0xf8, 0xcf, 0x8f, 0x55, 0x00, 0xa8
10077 };
10078 static const uint8_t nist_186_2_ecdsa_testvector_218_public_x[] = {
10079 /* Qx - byte alignment */
10080 	0x00, 0xd4, 0x9d, 0x90, 0x4b, 0x28, 0xff, 0x3a, 0x76, 0x54, 0x98, 0x3c,
10081 	0x1c, 0x14, 0x5c, 0x25, 0xd5, 0x1e, 0xbc, 0xfb, 0xa7, 0x67, 0x28, 0xd6,
10082 	0xdf, 0xc9, 0xb0, 0x8a, 0xe2, 0x41, 0xa7, 0x68, 0xb5, 0x6c, 0x2d, 0x7d,
10083 	0x04, 0x95, 0x34, 0x74, 0x69, 0xa5, 0xe3, 0xea, 0xc8, 0xf7, 0x69, 0x5c,
10084 	0xf8, 0x72, 0xec, 0x4d, 0x9f, 0x08, 0xe5, 0xe1, 0x40, 0xd4, 0x5d, 0x47,
10085 	0x52, 0x13, 0xe2, 0xeb, 0xfc, 0x43, 0x8f, 0x43, 0x53, 0x7d, 0x71, 0xed
10086 };
10087 static const uint8_t nist_186_2_ecdsa_testvector_218_public_y[] = {
10088 /* Qy - byte alignment */
10089 	0x04, 0x2e, 0x3d, 0x6e, 0xc8, 0xf7, 0xdc, 0x2c, 0xc1, 0x5d, 0xea, 0xaa,
10090 	0xae, 0x66, 0x59, 0x3f, 0x01, 0xb8, 0x0f, 0xa2, 0xcf, 0x40, 0xb5, 0x2a,
10091 	0xf6, 0x8c, 0x47, 0x16, 0x3a, 0x86, 0xd8, 0x4f, 0xaa, 0xa8, 0x34, 0x51,
10092 	0xc8, 0xc1, 0x69, 0x37, 0x80, 0xee, 0x6a, 0xbf, 0x3f, 0x9b, 0x91, 0xc1,
10093 	0x20, 0xd2, 0xd9, 0xc2, 0xeb, 0x9b, 0x7f, 0xf2, 0x13, 0x86, 0x16, 0x25,
10094 	0x52, 0x91, 0x64, 0x9e, 0xe3, 0xcb, 0x40, 0xd1, 0xf2, 0x76, 0x28, 0x17
10095 };
10096 /* k = 1fcb55dab8822e70a4ffeff66138660f48612175d26df8445f1da492f4b525d311031c6b41948e08a1f22e4cc81fbfd0298ce565bb65c2d1cb002d674f65f4aa235da0cd5baa7a6 */
10097 static const uint8_t nist_186_2_ecdsa_testvector_218_out[] = {
10098 /* R - byte alignment */
10099 	0x01, 0x70, 0xa3, 0x81, 0x06, 0x57, 0xa1, 0x73, 0x55, 0x42, 0xfd, 0xd8,
10100 	0xe1, 0xdf, 0xe0, 0x21, 0x93, 0x9e, 0xa2, 0xf3, 0x44, 0xd2, 0x9f, 0x92,
10101 	0x42, 0x82, 0x9c, 0x17, 0xe6, 0xf2, 0xfd, 0x59, 0x5f, 0xa4, 0xf7, 0xed,
10102 	0x58, 0xe2, 0x8e, 0xe8, 0xe5, 0xc3, 0x09, 0xe3, 0x43, 0x7b, 0xee, 0x82,
10103 	0x77, 0xcf, 0x47, 0xdb, 0x60, 0x93, 0xf6, 0x93, 0xa7, 0xf1, 0xac, 0x89,
10104 	0x65, 0x1c, 0x04, 0x31, 0x31, 0xfc, 0x58, 0x4a, 0x80, 0x57, 0x4f, 0x0d,
10105 /* S - byte alignment */
10106 	0x00, 0x57, 0xec, 0xdd, 0x33, 0xd0, 0x4a, 0x47, 0x1e, 0x8e, 0xd4, 0x48,
10107 	0xbb, 0xe0, 0xf8, 0x18, 0xf2, 0x11, 0x4c, 0x0b, 0x51, 0xcd, 0x22, 0x47,
10108 	0x3c, 0x19, 0x4d, 0xf0, 0x5b, 0x87, 0x00, 0xcf, 0x36, 0x99, 0x68, 0x42,
10109 	0xef, 0x0b, 0xbb, 0x41, 0x3c, 0x2f, 0xd3, 0x32, 0xe8, 0x2e, 0x24, 0x9b,
10110 	0xc2, 0xf9, 0x41, 0xe9, 0x18, 0x15, 0x25, 0x75, 0xa6, 0xf6, 0xd6, 0x6f,
10111 	0xdf, 0xd8, 0x6f, 0x42, 0xfe, 0xd9, 0x2f, 0x45, 0x7c, 0x06, 0xad, 0xda
10112 };
10113 static const uint8_t nist_186_2_ecdsa_testvector_219_ptx[] = {
10114 /* Msg */
10115 	0xb8, 0x3c, 0xf7, 0xe1, 0x01, 0x77, 0x4a, 0x1e, 0xe7, 0x30, 0x16, 0x13,
10116 	0x41, 0xba, 0xf4, 0x42, 0x9a, 0x3f, 0xf9, 0xbd, 0xcb, 0x02, 0xe8, 0x8b,
10117 	0xd0, 0xe6, 0xa5, 0x4e, 0xd4, 0x34, 0xed, 0x23, 0x8e, 0x99, 0x45, 0xca,
10118 	0xd0, 0x6e, 0x30, 0x07, 0x5d, 0x3c, 0xa5, 0x47, 0xfc, 0x80, 0xc0, 0x87,
10119 	0xca, 0xab, 0xb8, 0x72, 0xd4, 0x6d, 0x11, 0xc9, 0xe5, 0x33, 0x13, 0x08,
10120 	0x9d, 0xef, 0x7a, 0x47, 0xc3, 0x17, 0x6f, 0x5e, 0xdc, 0xf0, 0xb7, 0x4c,
10121 	0xfd, 0x0c, 0x2b, 0xda, 0xdd, 0x11, 0x68, 0x7b, 0x2e, 0xbd, 0xc7, 0x77,
10122 	0x2e, 0x27, 0x90, 0x48, 0x79, 0x48, 0x6a, 0x44, 0x21, 0xb9, 0x16, 0x7d,
10123 	0x00, 0xbe, 0x5d, 0xe6, 0x4d, 0x84, 0x47, 0xb7, 0x6e, 0xa7, 0x8e, 0x12,
10124 	0x0d, 0xf7, 0x52, 0xe6, 0x6e, 0x7c, 0x0e, 0x14, 0x00, 0xb8, 0xcb, 0xd0,
10125 	0x32, 0x2b, 0x94, 0x4a, 0x87, 0x1d, 0x29, 0x8e
10126 };
10127 static const uint8_t nist_186_2_ecdsa_testvector_219_private[] = {
10128 /* d - byte alignment */
10129 	0x02, 0x64, 0xee, 0xc5, 0x75, 0xfe, 0xac, 0x9b, 0x93, 0xd1, 0x46, 0xbf,
10130 	0xf0, 0x9d, 0x0a, 0x66, 0x78, 0x56, 0xca, 0x00, 0x62, 0x2b, 0x0c, 0x5a,
10131 	0xfb, 0x94, 0x7e, 0x3d, 0x21, 0x19, 0x6d, 0xa5, 0x4e, 0xc0, 0xaa, 0xad,
10132 	0x3e, 0xbd, 0xee, 0x0f, 0x76, 0x08, 0xf6, 0x4e, 0x48, 0x7b, 0x18, 0xcd,
10133 	0x7d, 0x45, 0xb0, 0x0a, 0x8f, 0xd9, 0x3c, 0xad, 0x39, 0x6d, 0xc1, 0xb2,
10134 	0xd1, 0xa3, 0x9a, 0xe1, 0x52, 0xb5, 0x10, 0x8e, 0x9c, 0xd2, 0x02, 0x6e
10135 };
10136 static const uint8_t nist_186_2_ecdsa_testvector_219_public_x[] = {
10137 /* Qx - byte alignment */
10138 	0x04, 0x34, 0xdc, 0x73, 0xbc, 0x7a, 0x96, 0xe7, 0x9c, 0x7d, 0x11, 0x8e,
10139 	0x2d, 0xf4, 0x19, 0xdb, 0x00, 0x30, 0xce, 0x90, 0xb3, 0xd2, 0xd7, 0x6d,
10140 	0x6e, 0x7a, 0x0d, 0xcf, 0x97, 0x19, 0x99, 0x13, 0x8e, 0xc8, 0x3b, 0x53,
10141 	0xc0, 0xbf, 0x54, 0x6d, 0x95, 0xa3, 0xa0, 0x54, 0x9b, 0xc9, 0xf6, 0x20,
10142 	0x48, 0xbf, 0xe4, 0x54, 0xf9, 0x6a, 0x1e, 0xfc, 0x7d, 0xd9, 0x72, 0x0f,
10143 	0xf8, 0x8b, 0x2c, 0x0f, 0x55, 0xbd, 0x9f, 0x8b, 0xbc, 0x0d, 0xeb, 0x79
10144 };
10145 static const uint8_t nist_186_2_ecdsa_testvector_219_public_y[] = {
10146 /* Qy - byte alignment */
10147 	0x02, 0x72, 0x68, 0xbf, 0x70, 0x31, 0x65, 0x4d, 0x96, 0xc4, 0x05, 0xb9,
10148 	0x4a, 0xcb, 0x9d, 0x2c, 0x9b, 0xa8, 0x33, 0xba, 0x71, 0x5c, 0x11, 0x23,
10149 	0xa4, 0x0d, 0x89, 0x50, 0xc9, 0x58, 0x6c, 0x1d, 0xcc, 0xce, 0xd0, 0xf7,
10150 	0x66, 0x19, 0x90, 0x9c, 0xd5, 0x4f, 0x3b, 0x36, 0x26, 0x80, 0xfc, 0x41,
10151 	0x2f, 0x87, 0xe9, 0x59, 0xa0, 0xd0, 0xfb, 0x70, 0x74, 0x1a, 0x99, 0x44,
10152 	0x2a, 0x85, 0xaa, 0xff, 0x09, 0x0c, 0x24, 0x23, 0x86, 0x76, 0x64, 0x8a
10153 };
10154 /* k = 0e24f9bdd9e99e974723782982cec708b7e479ff01f414fdfa32d5cd56b73a82802030cce77a7a3def73844901e6a1b6d7d7d7d4131925d20f8c2f1d57ed6c38a0c44343ef4354c */
10155 static const uint8_t nist_186_2_ecdsa_testvector_219_out[] = {
10156 /* R - byte alignment */
10157 	0x02, 0x0e, 0x3a, 0xb1, 0xba, 0x07, 0xbc, 0xee, 0xa8, 0xe0, 0x7b, 0x67,
10158 	0x5e, 0x4b, 0x99, 0x03, 0x6d, 0xd5, 0x99, 0x45, 0x2d, 0x46, 0x55, 0x4b,
10159 	0x20, 0x2d, 0xee, 0xf6, 0xb3, 0xc7, 0x3c, 0x95, 0x3f, 0xdf, 0x41, 0x1f,
10160 	0xcc, 0x62, 0xb9, 0x52, 0x4d, 0xee, 0xba, 0xf1, 0x7b, 0x70, 0x0a, 0x62,
10161 	0xa3, 0x51, 0xbb, 0xd8, 0xe2, 0xe7, 0xe1, 0x9e, 0x47, 0x23, 0x37, 0xc2,
10162 	0x8a, 0x25, 0xd8, 0x09, 0xe3, 0x94, 0xd5, 0x01, 0xd5, 0x0f, 0xe8, 0x29,
10163 /* S - byte alignment */
10164 	0x02, 0x4c, 0x08, 0x46, 0x4f, 0x28, 0x31, 0x5a, 0x0a, 0x07, 0xcb, 0x5a,
10165 	0x2d, 0x66, 0x98, 0x0b, 0xb5, 0x3d, 0x7d, 0x72, 0xc5, 0xf4, 0x32, 0x7e,
10166 	0x84, 0x19, 0xbf, 0xa2, 0x99, 0xf3, 0xf9, 0x3c, 0x4e, 0x42, 0xee, 0x4f,
10167 	0x9e, 0xc6, 0x01, 0x17, 0x28, 0x95, 0xc4, 0x59, 0xea, 0x08, 0x2b, 0xa1,
10168 	0xdd, 0xc1, 0x3d, 0x8b, 0x37, 0x66, 0xad, 0xd7, 0xc7, 0x4b, 0xdf, 0x69,
10169 	0xdb, 0x53, 0x72, 0x47, 0x20, 0x0e, 0x95, 0x94, 0x0c, 0x80, 0xab, 0xdc
10170 };
10171 static const uint8_t nist_186_2_ecdsa_testvector_220_ptx[] = {
10172 /* Msg */
10173 	0xb5, 0x7d, 0xfa, 0x37, 0xcf, 0xc8, 0x8d, 0x60, 0xf2, 0xcd, 0x75, 0x06,
10174 	0x22, 0x11, 0x70, 0x01, 0xb1, 0x2c, 0x06, 0xc7, 0x05, 0x7d, 0x6d, 0xca,
10175 	0x9c, 0x1c, 0xa9, 0x07, 0x4c, 0x10, 0xf7, 0xdb, 0xd0, 0xc2, 0x6c, 0x19,
10176 	0x80, 0xb2, 0xda, 0x5b, 0x60, 0x69, 0xf3, 0x95, 0x5c, 0xaf, 0xb1, 0xf0,
10177 	0xd2, 0xfd, 0xf5, 0xd5, 0x51, 0x35, 0x6e, 0x47, 0xa1, 0x91, 0xbc, 0x77,
10178 	0x03, 0xd9, 0xd5, 0x92, 0xb9, 0xda, 0xa8, 0xde, 0xc9, 0x13, 0x01, 0x05,
10179 	0xff, 0xb1, 0xad, 0xb1, 0x31, 0xbe, 0xde, 0x58, 0xc6, 0x95, 0xd1, 0x5a,
10180 	0x79, 0x99, 0xad, 0x49, 0x5b, 0x26, 0xaf, 0x87, 0x17, 0xc8, 0x84, 0x17,
10181 	0x7a, 0xab, 0xf6, 0xad, 0x33, 0x53, 0xcb, 0x07, 0xd7, 0x8d, 0xea, 0x80,
10182 	0x28, 0xa6, 0xc0, 0xe3, 0x96, 0xda, 0xe2, 0x7d, 0x06, 0x0f, 0xf4, 0x76,
10183 	0xd3, 0xc4, 0xc9, 0x61, 0x12, 0x44, 0xcb, 0x11
10184 };
10185 static const uint8_t nist_186_2_ecdsa_testvector_220_private[] = {
10186 /* d - byte alignment */
10187 	0x01, 0x23, 0x56, 0x16, 0x00, 0x10, 0x42, 0x2b, 0x88, 0x83, 0xb1, 0x8e,
10188 	0x1a, 0xda, 0xb3, 0xf9, 0xd3, 0xc8, 0xb4, 0x6c, 0x90, 0x70, 0x94, 0xcc,
10189 	0xc2, 0xc5, 0x8b, 0xa1, 0x40, 0x87, 0x6d, 0x81, 0x7d, 0x5c, 0x37, 0x49,
10190 	0xf6, 0xbb, 0x9d, 0x5f, 0x64, 0xfc, 0xe6, 0x53, 0x2d, 0x43, 0xef, 0x6f,
10191 	0xd2, 0xbe, 0x41, 0xf0, 0x1a, 0x33, 0xd9, 0xcd, 0x81, 0x3e, 0x18, 0x82,
10192 	0x8a, 0x84, 0xea, 0x99, 0x64, 0x40, 0x28, 0x85, 0x27, 0xa8, 0x1a, 0x09
10193 };
10194 static const uint8_t nist_186_2_ecdsa_testvector_220_public_x[] = {
10195 /* Qx - byte alignment */
10196 	0x04, 0x42, 0x4d, 0x5e, 0x39, 0x42, 0x31, 0xc8, 0x6d, 0xfd, 0x0d, 0xdc,
10197 	0x96, 0xe8, 0x49, 0xfc, 0xc5, 0xcb, 0x89, 0x9c, 0x32, 0x41, 0x78, 0xa1,
10198 	0xf0, 0x6f, 0x13, 0x50, 0x30, 0x4a, 0x31, 0x08, 0xf7, 0xd0, 0xc7, 0xa5,
10199 	0xe6, 0xd3, 0x22, 0x19, 0xaf, 0xac, 0x6e, 0x5d, 0x1f, 0x69, 0x7d, 0x82,
10200 	0x75, 0x79, 0x2a, 0x51, 0x2f, 0x33, 0x70, 0xdd, 0x0c, 0xb8, 0x7f, 0x09,
10201 	0xc9, 0xfb, 0x04, 0xb6, 0x14, 0xd9, 0xcd, 0xe0, 0xcf, 0xe8, 0x90, 0x70
10202 };
10203 static const uint8_t nist_186_2_ecdsa_testvector_220_public_y[] = {
10204 /* Qy - byte alignment */
10205 	0x00, 0x84, 0xfd, 0x10, 0x4b, 0x23, 0x89, 0xfb, 0x82, 0x77, 0x47, 0x94,
10206 	0xce, 0xd5, 0xe9, 0xcc, 0x39, 0x85, 0x1c, 0x11, 0xef, 0xde, 0xb7, 0xe4,
10207 	0x49, 0xb7, 0x35, 0xd1, 0x82, 0x15, 0xc6, 0xdd, 0xcb, 0xb7, 0xc5, 0xbb,
10208 	0xc0, 0x8b, 0x5e, 0xfe, 0x0b, 0x3d, 0x22, 0x14, 0x4f, 0x26, 0x56, 0xd5,
10209 	0xb0, 0x17, 0x1d, 0x3b, 0x57, 0x3d, 0x85, 0xa8, 0x0a, 0x92, 0x4d, 0xb3,
10210 	0x86, 0x87, 0xfe, 0x59, 0x35, 0x4b, 0x9a, 0x96, 0x06, 0xa6, 0x42, 0x83
10211 };
10212 /* k = 151f25d130f9e4bad9523c90ae32f53bebf95515a5ee5e8344c0766c2c9550fe139355bdaa5874d5cb1364c0591a8f0a6affd32234bb93252909b5ab475b87334101a4e257c8a16 */
10213 static const uint8_t nist_186_2_ecdsa_testvector_220_out[] = {
10214 /* R - byte alignment */
10215 	0x02, 0x39, 0x7d, 0x48, 0x45, 0x1c, 0x8c, 0x15, 0xd9, 0x32, 0x6d, 0x5a,
10216 	0x06, 0x15, 0xb4, 0xe3, 0x2d, 0x79, 0xa6, 0xdd, 0xe9, 0x24, 0x28, 0x0e,
10217 	0x1f, 0x4d, 0x10, 0x28, 0x0a, 0xd8, 0xd5, 0x38, 0x23, 0x2f, 0x22, 0x53,
10218 	0xa0, 0xcc, 0x9d, 0xc4, 0xdd, 0x3a, 0x7e, 0xdf, 0xa1, 0x2e, 0x4e, 0x00,
10219 	0x65, 0x26, 0x61, 0xd3, 0x61, 0xc9, 0x26, 0x6a, 0xb3, 0x52, 0xe2, 0x99,
10220 	0xd4, 0xae, 0x0f, 0x2f, 0x88, 0xb2, 0x17, 0x94, 0x25, 0x7f, 0x8e, 0xf7,
10221 /* S - byte alignment */
10222 	0x01, 0xe9, 0xae, 0x69, 0xac, 0x91, 0x4a, 0xa6, 0xa3, 0x37, 0x3f, 0x38,
10223 	0xf2, 0xf1, 0x96, 0x63, 0xb7, 0x79, 0x76, 0x65, 0x3a, 0x6a, 0x09, 0xba,
10224 	0x88, 0x46, 0x17, 0x65, 0xa3, 0x8a, 0x51, 0x99, 0x25, 0x1b, 0xb5, 0x63,
10225 	0xda, 0x93, 0xb9, 0x55, 0x7c, 0x19, 0x92, 0x84, 0xa6, 0x3f, 0x63, 0x47,
10226 	0xe9, 0x38, 0x07, 0xe7, 0xb3, 0xb3, 0xb7, 0x18, 0x72, 0x00, 0x07, 0x49,
10227 	0xf3, 0x9e, 0x53, 0x45, 0xe9, 0x93, 0xcb, 0x77, 0x8b, 0x56, 0x01, 0x09
10228 };
10229 static const uint8_t nist_186_2_ecdsa_testvector_221_ptx[] = {
10230 /* Msg */
10231 	0x98, 0xdc, 0xbb, 0x87, 0x95, 0x09, 0x0a, 0x5d, 0x0d, 0xf4, 0x89, 0x5b,
10232 	0xe0, 0x50, 0x35, 0x5e, 0x0d, 0x72, 0x19, 0x0f, 0x21, 0xfb, 0x66, 0xac,
10233 	0xf6, 0xb8, 0xc6, 0x0c, 0x99, 0xc6, 0xee, 0xdd, 0x8c, 0xfa, 0x72, 0x31,
10234 	0x2e, 0x7f, 0xde, 0x39, 0x77, 0xc1, 0x02, 0x4f, 0xe8, 0x8a, 0x8d, 0x3a,
10235 	0xc2, 0x6b, 0xde, 0xae, 0x77, 0x5e, 0x16, 0x13, 0x5e, 0xa9, 0x72, 0x87,
10236 	0xaa, 0x06, 0xd8, 0x26, 0x9d, 0x00, 0xaf, 0x89, 0xf9, 0xa0, 0xf4, 0x8c,
10237 	0xb8, 0x49, 0x8a, 0x55, 0xfc, 0xe1, 0xd2, 0x92, 0x49, 0x31, 0x7c, 0x01,
10238 	0xf2, 0x8f, 0x9d, 0x36, 0xd1, 0xba, 0x01, 0x99, 0x3b, 0x05, 0xc2, 0xae,
10239 	0x33, 0xb8, 0x19, 0x99, 0xde, 0xb3, 0x75, 0xe1, 0x38, 0x54, 0xca, 0x74,
10240 	0x04, 0x9b, 0x2c, 0xeb, 0x09, 0x8c, 0x9c, 0x10, 0x7b, 0xd5, 0x22, 0x9d,
10241 	0xb8, 0xb1, 0x1c, 0x47, 0x35, 0x0c, 0xd5, 0xfb
10242 };
10243 static const uint8_t nist_186_2_ecdsa_testvector_221_private[] = {
10244 /* d - byte alignment */
10245 	0x02, 0xe2, 0x3e, 0xdb, 0xb2, 0x01, 0xcf, 0xc1, 0x32, 0xcb, 0x7b, 0x77,
10246 	0xa1, 0x6c, 0xa6, 0x9d, 0x60, 0xcb, 0x62, 0x23, 0x26, 0x6a, 0x20, 0xd3,
10247 	0xfe, 0x76, 0xb5, 0x21, 0x06, 0x08, 0xf4, 0x15, 0x81, 0x7d, 0xae, 0x6d,
10248 	0x0b, 0xb2, 0x30, 0x2e, 0x51, 0x9b, 0xde, 0xda, 0x4b, 0xd7, 0x9e, 0x3d,
10249 	0x7d, 0x36, 0xd3, 0x9d, 0x63, 0x65, 0xe1, 0x06, 0xd4, 0xe4, 0x54, 0x40,
10250 	0x2d, 0xef, 0xbf, 0xa8, 0xe5, 0xce, 0x54, 0xff, 0xec, 0x45, 0xcd, 0x4b
10251 };
10252 static const uint8_t nist_186_2_ecdsa_testvector_221_public_x[] = {
10253 /* Qx - byte alignment */
10254 	0x01, 0x52, 0x6d, 0x32, 0xef, 0x32, 0xd7, 0xad, 0xa5, 0xc1, 0xf0, 0x0f,
10255 	0x1a, 0x3c, 0x27, 0xaa, 0x76, 0x7f, 0x6e, 0x33, 0x4e, 0x7d, 0x9d, 0x5b,
10256 	0x20, 0x5b, 0x59, 0x5f, 0xc9, 0x29, 0x9c, 0xd2, 0xaf, 0x61, 0xdc, 0x8f,
10257 	0xc6, 0x7b, 0xef, 0x93, 0x75, 0xf7, 0xc9, 0x1a, 0xfd, 0xd6, 0x0d, 0x8c,
10258 	0xca, 0xaf, 0x63, 0x25, 0x41, 0xb0, 0xeb, 0xd6, 0xbe, 0x28, 0x5a, 0xfa,
10259 	0x85, 0xaa, 0x5d, 0xd8, 0x9c, 0x2d, 0xab, 0xac, 0xba, 0x2a, 0x24, 0x56
10260 };
10261 static const uint8_t nist_186_2_ecdsa_testvector_221_public_y[] = {
10262 /* Qy - byte alignment */
10263 	0x03, 0xe4, 0x48, 0x32, 0x2e, 0x90, 0x00, 0x97, 0x1b, 0x6f, 0x1f, 0xcf,
10264 	0x5d, 0xbd, 0x37, 0xd9, 0xa0, 0x07, 0xcb, 0xca, 0x6e, 0xed, 0xc1, 0x6e,
10265 	0xf8, 0xd8, 0x34, 0x40, 0xf7, 0x42, 0x1b, 0xa1, 0xf7, 0xac, 0xe1, 0x3a,
10266 	0x17, 0x3c, 0x36, 0x34, 0xd7, 0x13, 0x06, 0x1b, 0x54, 0x97, 0xff, 0x9a,
10267 	0xf9, 0xb7, 0x2f, 0x1a, 0x88, 0xf6, 0xba, 0xad, 0xa7, 0x1b, 0xa4, 0x26,
10268 	0x79, 0x2e, 0x3b, 0xd8, 0xe9, 0x7a, 0x82, 0x60, 0x61, 0x11, 0xe1, 0xd0
10269 };
10270 /* k = 21aa9009e6abca6b88fd0cbf68ae4a40bf7014b427c2e31cded299652e924f214e006853f72b957796c35b12425e9d3b0f12d01a02303e6f2ead725d056340bcd4c58214d770b73 */
10271 static const uint8_t nist_186_2_ecdsa_testvector_221_out[] = {
10272 /* R - byte alignment */
10273 	0x00, 0xc5, 0xc9, 0xc8, 0xa5, 0xe2, 0x72, 0xd3, 0x25, 0x4e, 0x3c, 0xeb,
10274 	0x1a, 0x9c, 0x5c, 0x6a, 0xf4, 0xcf, 0x2f, 0xa8, 0x5b, 0xed, 0x53, 0xaa,
10275 	0x78, 0xc4, 0x8f, 0xc2, 0x86, 0x20, 0x0b, 0x31, 0xe6, 0xc8, 0x45, 0x88,
10276 	0xb4, 0x38, 0x2e, 0xfd, 0x98, 0x57, 0x90, 0x2c, 0x1b, 0x68, 0xd8, 0xe3,
10277 	0x33, 0xa2, 0x3b, 0x3c, 0x62, 0x18, 0x81, 0x65, 0x3c, 0x69, 0xb5, 0x5e,
10278 	0x63, 0x93, 0xe4, 0x05, 0x7b, 0x70, 0x3d, 0xcd, 0xd4, 0x3f, 0x0c, 0x39,
10279 /* S - byte alignment */
10280 	0x00, 0xaf, 0x3e, 0xb2, 0x1d, 0xd6, 0x7b, 0x0f, 0x9d, 0x4a, 0x5d, 0x43,
10281 	0x07, 0x4e, 0xf8, 0x1e, 0x95, 0x51, 0x57, 0x63, 0x34, 0xfe, 0xf6, 0xde,
10282 	0xf4, 0x32, 0xdd, 0x97, 0x3e, 0x67, 0x30, 0x9e, 0x42, 0xd9, 0x50, 0x0b,
10283 	0xed, 0x14, 0xc7, 0x8a, 0x40, 0x2a, 0x41, 0x22, 0xaa, 0xfb, 0xc9, 0xba,
10284 	0xc6, 0x94, 0x30, 0x8b, 0x00, 0xb6, 0x0e, 0xcf, 0x5a, 0x1e, 0xa2, 0xdd,
10285 	0xdf, 0x77, 0xb5, 0xb8, 0xa5, 0xc1, 0x06, 0x2b, 0x82, 0xe6, 0xa3, 0x2f
10286 };
10287 static const uint8_t nist_186_2_ecdsa_testvector_222_ptx[] = {
10288 /* Msg */
10289 	0x41, 0x38, 0xb2, 0x52, 0xb9, 0x65, 0xac, 0x22, 0x4e, 0xcd, 0x35, 0x83,
10290 	0x7d, 0x92, 0x3a, 0xbb, 0x3d, 0x56, 0x22, 0xa7, 0xcc, 0xf2, 0xb1, 0x0a,
10291 	0xad, 0x6b, 0x2d, 0x25, 0xf2, 0x22, 0xc0, 0x88, 0xb7, 0x4a, 0x1e, 0x27,
10292 	0xef, 0x9f, 0x67, 0xb0, 0x63, 0x55, 0x4f, 0x1c, 0xf7, 0x4f, 0x7c, 0x85,
10293 	0x2f, 0x92, 0x30, 0x37, 0xf3, 0xf9, 0x27, 0x09, 0x8f, 0x2a, 0xc3, 0xee,
10294 	0xfe, 0xc8, 0x66, 0xc7, 0x68, 0xeb, 0x1f, 0x7b, 0xe9, 0xcd, 0x8a, 0x4a,
10295 	0x94, 0xc6, 0xf1, 0x5e, 0xb8, 0x7a, 0xb7, 0xa3, 0x61, 0x51, 0xf7, 0xd9,
10296 	0x22, 0x27, 0x68, 0xe8, 0x12, 0x45, 0x84, 0x73, 0x15, 0x90, 0xe9, 0xaf,
10297 	0x5d, 0x01, 0xff, 0x76, 0x30, 0x55, 0xdb, 0x97, 0xeb, 0x06, 0x63, 0x71,
10298 	0x47, 0x79, 0xb3, 0xc0, 0xdb, 0x79, 0xc0, 0xb6, 0xe2, 0xe4, 0x3b, 0x4e,
10299 	0x3f, 0xa4, 0xb9, 0xdd, 0xbe, 0xe1, 0x10, 0xe9
10300 };
10301 static const uint8_t nist_186_2_ecdsa_testvector_222_private[] = {
10302 /* d - byte alignment */
10303 	0x01, 0x13, 0x5a, 0xfa, 0xea, 0x83, 0x71, 0x7f, 0x9c, 0xd4, 0xe8, 0xc0,
10304 	0xb2, 0x3b, 0xd9, 0x12, 0x84, 0xc4, 0x06, 0xf2, 0x23, 0x3e, 0x05, 0x00,
10305 	0xca, 0x18, 0xec, 0xe6, 0x24, 0x18, 0x47, 0x55, 0xfc, 0xe5, 0x69, 0xb5,
10306 	0xf3, 0x62, 0x11, 0x5b, 0xd9, 0x2f, 0xf5, 0xc5, 0xa9, 0x27, 0x74, 0x42,
10307 	0x14, 0x96, 0x6a, 0xfe, 0x28, 0x1a, 0x7c, 0xcb, 0x3e, 0x56, 0x6e, 0x87,
10308 	0xc3, 0x53, 0x1f, 0x85, 0xac, 0x7f, 0xda, 0xcc, 0x75, 0xcd, 0x13, 0x59
10309 };
10310 static const uint8_t nist_186_2_ecdsa_testvector_222_public_x[] = {
10311 /* Qx - byte alignment */
10312 	0x02, 0x1a, 0x07, 0xd9, 0x09, 0x01, 0x29, 0x30, 0xc0, 0x49, 0x76, 0xa1,
10313 	0xae, 0x44, 0x1b, 0x1f, 0x99, 0x9f, 0x9f, 0x9d, 0x64, 0xd7, 0xcd, 0x0e,
10314 	0xd8, 0xdc, 0x1a, 0xd3, 0x3f, 0x78, 0x51, 0x8d, 0x7c, 0xa7, 0x77, 0x3b,
10315 	0x65, 0x23, 0x4a, 0xd8, 0xfe, 0x45, 0x44, 0xf6, 0xbe, 0xdd, 0x07, 0x12,
10316 	0x30, 0xbb, 0x00, 0x70, 0x1d, 0xfa, 0x9b, 0xea, 0xca, 0x6e, 0x47, 0x40,
10317 	0x80, 0x06, 0x0c, 0xb7, 0xfc, 0xb4, 0x87, 0xd3, 0x55, 0x15, 0x66, 0xe5
10318 };
10319 static const uint8_t nist_186_2_ecdsa_testvector_222_public_y[] = {
10320 /* Qy - byte alignment */
10321 	0x07, 0xe4, 0xa9, 0x1b, 0x8d, 0xc9, 0x5b, 0x8b, 0x7a, 0x17, 0x7d, 0x6b,
10322 	0x18, 0x34, 0xa0, 0xa2, 0x34, 0x6a, 0x62, 0xd3, 0xe2, 0x66, 0xb7, 0x3a,
10323 	0x29, 0x73, 0x25, 0xeb, 0xcf, 0xcc, 0x9a, 0x33, 0xe0, 0x7c, 0x4d, 0x3e,
10324 	0x27, 0x79, 0xd3, 0x64, 0x7e, 0x8d, 0x51, 0xac, 0x4e, 0x55, 0x44, 0x7d,
10325 	0xff, 0x5a, 0xc2, 0x39, 0x87, 0x86, 0x33, 0x8a, 0xc1, 0x55, 0x94, 0x42,
10326 	0xac, 0xcc, 0x8f, 0x52, 0x75, 0x9e, 0x4f, 0xe9, 0x9e, 0x37, 0x94, 0x8b
10327 };
10328 /* k = 041b977a3a59f4faf5d2dfd47d3a1a58c39c615e0c366b3f81c775bd360a05721fdaea34078de53f22cc082bd48f341bc658c458424c3fbbc8f4c472818a37f79838db8ca8e687c */
10329 static const uint8_t nist_186_2_ecdsa_testvector_222_out[] = {
10330 /* R - byte alignment */
10331 	0x01, 0x2c, 0x92, 0x87, 0x46, 0xf5, 0x16, 0x9d, 0x2d, 0x3d, 0x4b, 0xc0,
10332 	0xad, 0x5c, 0x00, 0x15, 0xd1, 0x3e, 0xd3, 0x9e, 0xf0, 0xe1, 0xd5, 0xa4,
10333 	0x5d, 0x64, 0x60, 0xc7, 0xa0, 0x2f, 0xdb, 0xd0, 0x28, 0x97, 0x61, 0x62,
10334 	0x24, 0xfa, 0x94, 0x94, 0xd2, 0x2f, 0xfd, 0xde, 0x6b, 0x7a, 0xf6, 0x6a,
10335 	0xfe, 0xc2, 0x16, 0x65, 0x53, 0x89, 0x27, 0x54, 0x8c, 0x3f, 0x5a, 0x42,
10336 	0xc9, 0x13, 0x52, 0x5e, 0x7e, 0x95, 0x68, 0xbd, 0x10, 0xf2, 0x8a, 0x52,
10337 /* S - byte alignment */
10338 	0x01, 0x9b, 0x1b, 0x02, 0xb2, 0x32, 0x02, 0x62, 0x1f, 0x1a, 0x9a, 0x5b,
10339 	0x10, 0x50, 0x50, 0x07, 0x6f, 0x9f, 0x97, 0x7b, 0x2b, 0xc9, 0x23, 0x94,
10340 	0xe9, 0x55, 0xa2, 0x98, 0x5b, 0x33, 0x6a, 0x96, 0xbc, 0x4f, 0xbf, 0xd7,
10341 	0xf0, 0xc4, 0xc7, 0x68, 0x64, 0xbf, 0x4e, 0x8c, 0x5a, 0x44, 0x7f, 0x30,
10342 	0x58, 0x69, 0x8e, 0xef, 0x6a, 0x27, 0xfd, 0xa1, 0x64, 0x23, 0xcb, 0xbe,
10343 	0x9f, 0x53, 0xe1, 0x35, 0x97, 0x67, 0x2c, 0x30, 0xf3, 0x97, 0xb5, 0x9b
10344 };
10345 static const uint8_t nist_186_2_ecdsa_testvector_223_ptx[] = {
10346 /* Msg */
10347 	0xdd, 0x4f, 0x69, 0xfb, 0x13, 0x11, 0x36, 0x99, 0x6b, 0xb2, 0x99, 0xe0,
10348 	0x82, 0xec, 0xb1, 0x88, 0xfe, 0x59, 0xff, 0x19, 0x17, 0xe6, 0x0f, 0x01,
10349 	0x57, 0x86, 0x5b, 0xe4, 0x9d, 0x23, 0x6c, 0x33, 0x68, 0xda, 0x42, 0x00,
10350 	0x52, 0x67, 0xf6, 0x11, 0xdb, 0xde, 0x9e, 0x33, 0x68, 0x9d, 0x71, 0xd0,
10351 	0x8c, 0x7e, 0x2c, 0xc4, 0x85, 0x51, 0xb4, 0x6d, 0x0a, 0x89, 0xfc, 0x01,
10352 	0x44, 0x35, 0x29, 0x25, 0x1a, 0x32, 0xf4, 0xbb, 0xb1, 0x9f, 0x50, 0xfb,
10353 	0x33, 0x92, 0x4d, 0xc5, 0xd0, 0x09, 0x3d, 0x35, 0x03, 0x24, 0x15, 0x79,
10354 	0x17, 0x91, 0x16, 0xdf, 0xe9, 0x47, 0xac, 0x32, 0xef, 0x77, 0x96, 0x47,
10355 	0x79, 0xbf, 0x47, 0xd3, 0x37, 0xa2, 0x8c, 0x7f, 0xfc, 0x35, 0x70, 0x3f,
10356 	0xc1, 0x1a, 0x5d, 0xdf, 0xed, 0xb2, 0x83, 0xdf, 0xd4, 0x8f, 0x7d, 0x80,
10357 	0x7d, 0x28, 0x32, 0x1f, 0xa8, 0xd1, 0xfa, 0xc2
10358 };
10359 static const uint8_t nist_186_2_ecdsa_testvector_223_private[] = {
10360 /* d - byte alignment */
10361 	0x01, 0x15, 0xe7, 0x47, 0xfb, 0xc4, 0x5a, 0xd1, 0x10, 0x2b, 0x61, 0x1b,
10362 	0x57, 0x5e, 0xf3, 0x9c, 0x6c, 0x47, 0xd3, 0xb7, 0x70, 0x79, 0x60, 0x75,
10363 	0xfa, 0xc4, 0x4b, 0xa5, 0x7f, 0x94, 0x80, 0xed, 0xc6, 0xb6, 0xe0, 0x9d,
10364 	0xbe, 0xe1, 0x08, 0x57, 0x66, 0xb9, 0x7c, 0x8e, 0x08, 0x63, 0xff, 0xd7,
10365 	0x5e, 0x18, 0x1f, 0x13, 0x8d, 0x80, 0x0f, 0x58, 0x50, 0x77, 0xf9, 0xd7,
10366 	0x38, 0x23, 0xaa, 0x0d, 0x25, 0xd4, 0xed, 0xb6, 0x46, 0xda, 0x54, 0xeb
10367 };
10368 static const uint8_t nist_186_2_ecdsa_testvector_223_public_x[] = {
10369 /* Qx - byte alignment */
10370 	0x04, 0x94, 0xf3, 0x8a, 0xd1, 0x02, 0x0f, 0x0c, 0x66, 0xe1, 0xb7, 0xbe,
10371 	0x27, 0x6e, 0x67, 0x84, 0x56, 0xa8, 0x6f, 0x5a, 0x14, 0x43, 0x60, 0x8c,
10372 	0x34, 0x32, 0xa1, 0xe4, 0xef, 0xe1, 0xed, 0x9c, 0xc3, 0x27, 0x16, 0xbd,
10373 	0x65, 0xee, 0x78, 0x66, 0xa6, 0x38, 0x66, 0x7f, 0x70, 0x70, 0x30, 0x64,
10374 	0x28, 0x84, 0x9d, 0x5c, 0x66, 0xb5, 0x43, 0xa4, 0xe7, 0x59, 0x21, 0xc3,
10375 	0x63, 0x76, 0xef, 0x91, 0xbe, 0xdf, 0xee, 0x36, 0xf8, 0xfe, 0x5b, 0xb5
10376 };
10377 static const uint8_t nist_186_2_ecdsa_testvector_223_public_y[] = {
10378 /* Qy - byte alignment */
10379 	0x03, 0xd1, 0xc4, 0xe1, 0xcc, 0xa6, 0x10, 0xb1, 0x8f, 0x1f, 0x8a, 0x8c,
10380 	0x80, 0x27, 0x09, 0x77, 0x29, 0x14, 0x71, 0xaf, 0x9d, 0xff, 0xe5, 0xa3,
10381 	0x92, 0xf6, 0x92, 0x97, 0x94, 0x08, 0xc7, 0x3e, 0xb5, 0x38, 0x11, 0x4f,
10382 	0x3e, 0x3e, 0xfe, 0x16, 0xeb, 0xac, 0x44, 0x08, 0x4c, 0xb4, 0x03, 0xe7,
10383 	0x0e, 0xf1, 0xc7, 0x9f, 0xb7, 0xa0, 0x45, 0xc0, 0x9f, 0x82, 0x01, 0x19,
10384 	0xf6, 0x2f, 0x7c, 0x6e, 0xf7, 0xd1, 0x9b, 0x29, 0xe5, 0xe2, 0xce, 0xd5
10385 };
10386 /* k = 28228918e93708cfe1c8c283f368696f93e618a85d544aa87e9e1181dcc2017a747058ed6db1deda0a51e4754d53a7823c894981fc691e8f5d9d27d88acaba16b2b973733f24f13 */
10387 static const uint8_t nist_186_2_ecdsa_testvector_223_out[] = {
10388 /* R - byte alignment */
10389 	0x00, 0x3e, 0xd5, 0xa1, 0x7a, 0x6b, 0x70, 0xa1, 0x01, 0xe9, 0xb9, 0x10,
10390 	0xbf, 0x1a, 0xc4, 0x2b, 0xc2, 0xce, 0x81, 0x75, 0xb5, 0x8a, 0x9b, 0x3f,
10391 	0xb7, 0x96, 0xe8, 0x09, 0xf8, 0x33, 0x14, 0x1d, 0x75, 0x07, 0x0d, 0xee,
10392 	0x73, 0xc7, 0x06, 0x1e, 0xa7, 0xee, 0x1a, 0x72, 0x7a, 0xbd, 0x76, 0x25,
10393 	0x96, 0x23, 0x36, 0x1a, 0xf4, 0xe0, 0xe7, 0xdb, 0x7c, 0x7f, 0x44, 0x09,
10394 	0x6b, 0x3a, 0x88, 0xe4, 0x21, 0x04, 0x0b, 0x48, 0xb9, 0xe7, 0x11, 0xc7,
10395 /* S - byte alignment */
10396 	0x02, 0x70, 0x89, 0x2e, 0x50, 0x23, 0x71, 0x55, 0x46, 0x57, 0x27, 0xee,
10397 	0xf7, 0xb1, 0x5e, 0x97, 0x01, 0xa0, 0xf8, 0x6a, 0x1b, 0x79, 0xe9, 0x3e,
10398 	0x47, 0x4a, 0xf1, 0xb9, 0x57, 0xb9, 0xbf, 0xf5, 0x0f, 0x81, 0x8b, 0x6e,
10399 	0x71, 0x8e, 0x07, 0xc0, 0x1a, 0x69, 0x07, 0xc8, 0x99, 0x4c, 0x26, 0x9a,
10400 	0xc6, 0x23, 0x26, 0xd2, 0xa6, 0x40, 0x7b, 0xb3, 0x07, 0x9e, 0x19, 0x54,
10401 	0xd9, 0x7d, 0x2a, 0x79, 0xbb, 0x6e, 0x10, 0x6d, 0x3f, 0x2a, 0xdf, 0x9a
10402 };
10403 static const uint8_t nist_186_2_ecdsa_testvector_224_ptx[] = {
10404 /* Msg */
10405 	0xe1, 0xd2, 0x4f, 0x97, 0x74, 0xec, 0xca, 0x0d, 0x9e, 0x0d, 0xc9, 0x2c,
10406 	0x2d, 0xdf, 0x1f, 0x0c, 0x29, 0x53, 0xc5, 0x4f, 0xff, 0x38, 0x22, 0x54,
10407 	0xde, 0x0d, 0x89, 0xad, 0x62, 0x13, 0x04, 0xd4, 0x70, 0xa7, 0x50, 0x19,
10408 	0x61, 0xcf, 0x28, 0xdf, 0x62, 0x13, 0xc7, 0x08, 0x1a, 0x8e, 0xa8, 0xae,
10409 	0x8e, 0x44, 0x90, 0x14, 0x42, 0xb6, 0xce, 0xdc, 0xa1, 0xb4, 0xc1, 0x7a,
10410 	0x9f, 0x73, 0x9c, 0xe8, 0x9d, 0xdf, 0x66, 0x9b, 0x8d, 0x32, 0x45, 0xb7,
10411 	0x56, 0xc6, 0xfb, 0x7f, 0x7a, 0x27, 0xb1, 0x0f, 0xf6, 0x6d, 0xf4, 0x4d,
10412 	0x6a, 0xc9, 0xfd, 0x1d, 0x79, 0x5d, 0x35, 0xd4, 0x73, 0x51, 0xf8, 0xf0,
10413 	0x31, 0x23, 0x99, 0x06, 0x41, 0x3e, 0xa7, 0xfb, 0x44, 0xcf, 0x6f, 0x77,
10414 	0x93, 0xd4, 0xc2, 0x97, 0x29, 0x75, 0xf9, 0xe2, 0xbd, 0x98, 0x35, 0x7f,
10415 	0x2e, 0xb0, 0xec, 0xa5, 0x24, 0xd5, 0xa1, 0x52
10416 };
10417 static const uint8_t nist_186_2_ecdsa_testvector_224_private[] = {
10418 /* d - byte alignment */
10419 	0x03, 0x1a, 0xa2, 0x47, 0xb6, 0x9d, 0x1b, 0x0f, 0xa8, 0xef, 0x8c, 0x2e,
10420 	0x47, 0xa7, 0xb6, 0xc6, 0xf2, 0x59, 0x26, 0xdc, 0xa4, 0x2e, 0xab, 0x73,
10421 	0x07, 0x85, 0x04, 0x6c, 0x12, 0x42, 0x57, 0x74, 0xa3, 0x60, 0x02, 0x73,
10422 	0xfe, 0x41, 0x08, 0x35, 0xbc, 0x0c, 0xdd, 0x20, 0xd1, 0x0c, 0x21, 0xc4,
10423 	0x0a, 0x07, 0xd8, 0x56, 0x7f, 0xb4, 0x98, 0x70, 0x93, 0x15, 0x47, 0xb2,
10424 	0x2e, 0x60, 0xa6, 0xea, 0xdb, 0x2e, 0x26, 0x24, 0x7b, 0x10, 0x82, 0x57
10425 };
10426 static const uint8_t nist_186_2_ecdsa_testvector_224_public_x[] = {
10427 /* Qx - byte alignment */
10428 	0x00, 0x98, 0x10, 0xb1, 0xdf, 0x87, 0x95, 0xcf, 0x27, 0x93, 0x86, 0xfb,
10429 	0x65, 0xce, 0xe6, 0x9b, 0x89, 0xe0, 0xb6, 0xb3, 0x53, 0x97, 0x42, 0x04,
10430 	0xbf, 0xa1, 0xc7, 0xb0, 0xd8, 0xd4, 0x22, 0x8c, 0x7e, 0x9a, 0xbc, 0x46,
10431 	0xdc, 0xbb, 0x8c, 0xff, 0xc6, 0x24, 0x41, 0x5f, 0x57, 0xbf, 0xad, 0x60,
10432 	0xe1, 0x7c, 0x8b, 0x36, 0xb1, 0x13, 0xb1, 0xb9, 0xbb, 0x03, 0x21, 0xe0,
10433 	0xd0, 0x77, 0xdf, 0x7a, 0x1c, 0xdf, 0x82, 0xe1, 0x09, 0xbd, 0xae, 0x7f
10434 };
10435 static const uint8_t nist_186_2_ecdsa_testvector_224_public_y[] = {
10436 /* Qy - byte alignment */
10437 	0x04, 0x16, 0xbe, 0x11, 0x79, 0x44, 0x68, 0xa2, 0x7a, 0xb6, 0xf4, 0x4a,
10438 	0x54, 0xfb, 0x27, 0x38, 0x15, 0x08, 0x4d, 0xb4, 0xf0, 0xb7, 0x93, 0xb5,
10439 	0x73, 0x1e, 0xad, 0x8e, 0x9d, 0xff, 0xe2, 0xec, 0x6d, 0x19, 0x9d, 0xe1,
10440 	0x06, 0xeb, 0xca, 0xba, 0xed, 0x14, 0x7e, 0xd1, 0x79, 0x3b, 0xde, 0xb0,
10441 	0xc0, 0xbf, 0x1f, 0x40, 0x81, 0xe5, 0xe8, 0xc7, 0x2b, 0xd3, 0x29, 0x15,
10442 	0xd0, 0xb0, 0xb4, 0xb1, 0x8e, 0x16, 0xaa, 0xb4, 0x51, 0x32, 0xaf, 0x6f
10443 };
10444 /* k = 16804100a6aa43fac2c18325b07acf9782fa957ead28e30bfb991f5c1526f1b8c6a82c9e5ffc4fdf7981fa12f961bdac94f9f6a441760cd9cc391ac43956ce32719a96a11f4e792 */
10445 static const uint8_t nist_186_2_ecdsa_testvector_224_out[] = {
10446 /* R - byte alignment */
10447 	0x00, 0xd3, 0x01, 0xbe, 0x45, 0x90, 0xf7, 0x54, 0xbb, 0x46, 0x82, 0x3e,
10448 	0x7b, 0x9f, 0x67, 0x71, 0x18, 0x6f, 0x77, 0xb6, 0xf4, 0xa4, 0x7f, 0x6b,
10449 	0x4b, 0xd7, 0x74, 0xc4, 0xea, 0xcd, 0x2d, 0x9b, 0x3d, 0x3c, 0x5f, 0x9e,
10450 	0xa3, 0xc9, 0x41, 0x66, 0x6f, 0x94, 0x62, 0xc7, 0x52, 0x49, 0xbc, 0x50,
10451 	0xb4, 0x24, 0x93, 0x70, 0xf6, 0xbb, 0xc0, 0x9f, 0x98, 0x35, 0xdb, 0xbc,
10452 	0xe1, 0x0f, 0x1a, 0x00, 0x10, 0x80, 0xc3, 0x31, 0x1d, 0x3d, 0x08, 0xd9,
10453 /* S - byte alignment */
10454 	0x01, 0x67, 0x07, 0x61, 0x30, 0x2b, 0x30, 0xc3, 0xba, 0x1d, 0xe4, 0x5b,
10455 	0x44, 0x2a, 0xbb, 0xe6, 0x36, 0xeb, 0x8c, 0x47, 0xf6, 0x6f, 0x77, 0x83,
10456 	0x36, 0x32, 0x80, 0x11, 0x3d, 0xa8, 0xdc, 0x47, 0x09, 0x74, 0x15, 0x8f,
10457 	0xcd, 0x0d, 0x27, 0xb7, 0x09, 0xce, 0xa7, 0xae, 0x31, 0xa1, 0x27, 0x63,
10458 	0xf4, 0x5d, 0xde, 0x13, 0x47, 0xb6, 0x63, 0xc8, 0x80, 0x55, 0xa0, 0xaf,
10459 	0xf0, 0xbd, 0xc9, 0xc3, 0xfd, 0x73, 0x0c, 0x3b, 0xbb, 0xe9, 0x84, 0xcb
10460 };
10461 static const uint8_t nist_186_2_ecdsa_testvector_225_ptx[] = {
10462 /* Msg */
10463 	0xa9, 0xe2, 0xa7, 0xba, 0x51, 0x4d, 0x81, 0x18, 0xab, 0x1d, 0xb6, 0xcc,
10464 	0xd7, 0x06, 0xf9, 0x4d, 0xbb, 0x61, 0x0e, 0xda, 0xee, 0x7f, 0xd4, 0x6b,
10465 	0xd4, 0x3d, 0x82, 0xe7, 0x0b, 0xd8, 0x31, 0x97, 0x06, 0x03, 0x9b, 0xdb,
10466 	0xf8, 0x37, 0x22, 0x1b, 0xf4, 0x4b, 0x14, 0x01, 0x52, 0x44, 0x2d, 0xe5,
10467 	0x54, 0x6e, 0x5d, 0x89, 0x0a, 0xac, 0xcc, 0x07, 0x72, 0x0c, 0x1c, 0x07,
10468 	0xe4, 0x9e, 0xee, 0x35, 0xad, 0x87, 0xa7, 0xf3, 0xfb, 0x51, 0x74, 0x4a,
10469 	0xf9, 0x85, 0x8b, 0x27, 0x3a, 0x7c, 0xb4, 0xc4, 0x5b, 0x72, 0x08, 0x64,
10470 	0xe4, 0xdc, 0xf9, 0x43, 0x70, 0xfb, 0x93, 0xcd, 0x0e, 0xb2, 0x02, 0x0e,
10471 	0xe6, 0x95, 0x53, 0x6a, 0x20, 0x42, 0x7f, 0x8e, 0x01, 0xf4, 0xa5, 0xa6,
10472 	0x57, 0x55, 0x97, 0xd0, 0x18, 0x94, 0x98, 0xd1, 0x46, 0xb8, 0x64, 0x08,
10473 	0x15, 0x34, 0x71, 0xa0, 0x50, 0xbb, 0x75, 0x09
10474 };
10475 static const uint8_t nist_186_2_ecdsa_testvector_225_private[] = {
10476 /* d - byte alignment */
10477 	0x01, 0x62, 0x40, 0xcb, 0xf2, 0x1f, 0x7c, 0x2e, 0x8f, 0x74, 0xd1, 0xda,
10478 	0x2e, 0xc4, 0xb0, 0xa5, 0xec, 0xe0, 0x6d, 0x00, 0x23, 0x85, 0x2c, 0xf3,
10479 	0xae, 0x09, 0x49, 0xc6, 0xac, 0xb4, 0x4b, 0xc4, 0x88, 0x1d, 0x1a, 0x13,
10480 	0x66, 0x12, 0xfd, 0xf2, 0x7a, 0x26, 0xfe, 0x59, 0x4e, 0xee, 0xa7, 0x00,
10481 	0xe6, 0x31, 0x16, 0x4f, 0x21, 0x34, 0x30, 0xff, 0xab, 0x45, 0x61, 0x17,
10482 	0x91, 0xa6, 0x41, 0xd5, 0x69, 0x88, 0x18, 0x27, 0x2c, 0x8b, 0xb4, 0xff
10483 };
10484 static const uint8_t nist_186_2_ecdsa_testvector_225_public_x[] = {
10485 /* Qx - byte alignment */
10486 	0x01, 0x16, 0xce, 0xd6, 0xa8, 0x20, 0x56, 0xa3, 0x69, 0x27, 0x56, 0x81,
10487 	0x72, 0x10, 0x88, 0xef, 0x79, 0x4c, 0xff, 0xe7, 0x1b, 0x61, 0xd4, 0x0d,
10488 	0x54, 0x4e, 0xf7, 0x41, 0x5a, 0xfb, 0x8e, 0x97, 0xd2, 0xc9, 0x1e, 0xf0,
10489 	0x13, 0xc2, 0x07, 0xeb, 0x43, 0x45, 0xdb, 0xec, 0x26, 0x0c, 0xff, 0x31,
10490 	0x5f, 0x2e, 0x93, 0xfb, 0xe4, 0x92, 0x67, 0x18, 0x13, 0x9a, 0x6d, 0xf6,
10491 	0x5b, 0xa7, 0x07, 0xe4, 0xca, 0xa9, 0x23, 0x6a, 0xce, 0x08, 0x23, 0xa0
10492 };
10493 static const uint8_t nist_186_2_ecdsa_testvector_225_public_y[] = {
10494 /* Qy - byte alignment */
10495 	0x00, 0x02, 0x29, 0xa0, 0xe0, 0x2c, 0xcf, 0x8c, 0x4d, 0x52, 0xce, 0xba,
10496 	0xff, 0x42, 0xa0, 0x0e, 0x13, 0x43, 0xb8, 0xdb, 0xfd, 0x79, 0x5d, 0xa4,
10497 	0x2e, 0x21, 0x3a, 0xf4, 0xdd, 0x24, 0x90, 0x49, 0x73, 0x36, 0x01, 0xad,
10498 	0xfb, 0x0b, 0x3e, 0x98, 0x23, 0xf0, 0xf0, 0x3f, 0xcc, 0xb2, 0x21, 0xd1,
10499 	0x8d, 0x31, 0x48, 0x94, 0xb8, 0xba, 0xf3, 0x80, 0x14, 0xa1, 0x2d, 0x0c,
10500 	0x8c, 0xd0, 0xaf, 0xf7, 0x57, 0x2c, 0x1c, 0x0b, 0x63, 0xbd, 0x6d, 0x55
10501 };
10502 /* k = 0d4e667480b9abef5c841ff725972b8f8543bdb689b28a0ab7c21105dee935dce3fde34bcefa7da3e44e9915ce1788b2ff421abbd36bd336c3f9e66c57b499e97ce93d5bc657472 */
10503 static const uint8_t nist_186_2_ecdsa_testvector_225_out[] = {
10504 /* R - byte alignment */
10505 	0x01, 0x70, 0x20, 0xca, 0x84, 0xab, 0x6e, 0x1d, 0xf5, 0xd8, 0x44, 0xb5,
10506 	0x5d, 0xac, 0xe5, 0x40, 0x88, 0xa2, 0x69, 0x5d, 0xa7, 0x60, 0x40, 0x87,
10507 	0x85, 0x55, 0xc9, 0xb2, 0xd1, 0x2d, 0x8c, 0x2c, 0x3d, 0x32, 0x0d, 0x7d,
10508 	0x8d, 0xd6, 0x22, 0x10, 0xde, 0x5d, 0x3a, 0xb7, 0x0b, 0x58, 0xbd, 0x86,
10509 	0xa9, 0x56, 0x59, 0x9c, 0x69, 0x92, 0xde, 0x0d, 0x16, 0xe6, 0xe9, 0x7c,
10510 	0x62, 0x76, 0xe4, 0xa1, 0xce, 0x77, 0x35, 0x9d, 0x35, 0x03, 0xb3, 0xba,
10511 /* S - byte alignment */
10512 	0x02, 0xf7, 0x8c, 0x46, 0xc3, 0xe5, 0x84, 0xd6, 0x16, 0x9a, 0x85, 0x61,
10513 	0xf4, 0x88, 0xa3, 0xc0, 0xfd, 0x9f, 0xe8, 0x6d, 0xdd, 0x77, 0x49, 0x62,
10514 	0x6c, 0xb1, 0xea, 0x30, 0xfa, 0xe0, 0x9b, 0x3c, 0x18, 0x03, 0xf1, 0x4a,
10515 	0x80, 0xa7, 0xde, 0x23, 0xe9, 0xe3, 0xaa, 0x44, 0x7b, 0x5b, 0x20, 0x3a,
10516 	0x53, 0x01, 0xcf, 0x70, 0x37, 0x5e, 0xcf, 0x9d, 0xe3, 0x83, 0x8f, 0xd3,
10517 	0x8c, 0x75, 0xed, 0xd6, 0x64, 0x32, 0x53, 0xe6, 0x0d, 0x8a, 0xd7, 0xc1
10518 };
10519