1*e0c4386eSCy Schubert /*
2*e0c4386eSCy Schubert * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved.
3*e0c4386eSCy Schubert *
4*e0c4386eSCy Schubert * Licensed under the Apache License 2.0 (the "License"). You may not use
5*e0c4386eSCy Schubert * this file except in compliance with the License. You can obtain a copy
6*e0c4386eSCy Schubert * in the file LICENSE in the source distribution or at
7*e0c4386eSCy Schubert * https://www.openssl.org/source/license.html
8*e0c4386eSCy Schubert */
9*e0c4386eSCy Schubert
10*e0c4386eSCy Schubert /* Internal tests for the poly1305 module */
11*e0c4386eSCy Schubert
12*e0c4386eSCy Schubert #include <stdio.h>
13*e0c4386eSCy Schubert #include <string.h>
14*e0c4386eSCy Schubert
15*e0c4386eSCy Schubert #include "testutil.h"
16*e0c4386eSCy Schubert #include "crypto/poly1305.h"
17*e0c4386eSCy Schubert #include "internal/nelem.h"
18*e0c4386eSCy Schubert
19*e0c4386eSCy Schubert typedef struct {
20*e0c4386eSCy Schubert size_t size;
21*e0c4386eSCy Schubert const unsigned char data[1024];
22*e0c4386eSCy Schubert } SIZED_DATA;
23*e0c4386eSCy Schubert
24*e0c4386eSCy Schubert typedef struct {
25*e0c4386eSCy Schubert SIZED_DATA input;
26*e0c4386eSCy Schubert SIZED_DATA key;
27*e0c4386eSCy Schubert SIZED_DATA expected;
28*e0c4386eSCy Schubert } TESTDATA;
29*e0c4386eSCy Schubert
30*e0c4386eSCy Schubert /**********************************************************************
31*e0c4386eSCy Schubert *
32*e0c4386eSCy Schubert * Test of poly1305 internal functions
33*e0c4386eSCy Schubert *
34*e0c4386eSCy Schubert ***/
35*e0c4386eSCy Schubert
36*e0c4386eSCy Schubert static TESTDATA tests[] = {
37*e0c4386eSCy Schubert /*
38*e0c4386eSCy Schubert * RFC7539
39*e0c4386eSCy Schubert */
40*e0c4386eSCy Schubert {
41*e0c4386eSCy Schubert {
42*e0c4386eSCy Schubert 34,
43*e0c4386eSCy Schubert {
44*e0c4386eSCy Schubert 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x67, 0x72,
45*e0c4386eSCy Schubert 0x61, 0x70, 0x68, 0x69, 0x63, 0x20, 0x46, 0x6f,
46*e0c4386eSCy Schubert 0x72, 0x75, 0x6d, 0x20, 0x52, 0x65, 0x73, 0x65,
47*e0c4386eSCy Schubert 0x61, 0x72, 0x63, 0x68, 0x20, 0x47, 0x72, 0x6f,
48*e0c4386eSCy Schubert
49*e0c4386eSCy Schubert 0x75, 0x70
50*e0c4386eSCy Schubert }
51*e0c4386eSCy Schubert },
52*e0c4386eSCy Schubert {
53*e0c4386eSCy Schubert 32,
54*e0c4386eSCy Schubert {
55*e0c4386eSCy Schubert 0x85, 0xd6, 0xbe, 0x78, 0x57, 0x55, 0x6d, 0x33,
56*e0c4386eSCy Schubert 0x7f, 0x44, 0x52, 0xfe, 0x42, 0xd5, 0x06, 0xa8,
57*e0c4386eSCy Schubert 0x01, 0x03, 0x80, 0x8a, 0xfb, 0x0d, 0xb2, 0xfd,
58*e0c4386eSCy Schubert 0x4a, 0xbf, 0xf6, 0xaf, 0x41, 0x49, 0xf5, 0x1b
59*e0c4386eSCy Schubert }
60*e0c4386eSCy Schubert },
61*e0c4386eSCy Schubert {
62*e0c4386eSCy Schubert 16,
63*e0c4386eSCy Schubert {
64*e0c4386eSCy Schubert 0xa8, 0x06, 0x1d, 0xc1, 0x30, 0x51, 0x36, 0xc6,
65*e0c4386eSCy Schubert 0xc2, 0x2b, 0x8b, 0xaf, 0x0c, 0x01, 0x27, 0xa9
66*e0c4386eSCy Schubert }
67*e0c4386eSCy Schubert }
68*e0c4386eSCy Schubert },
69*e0c4386eSCy Schubert /*
70*e0c4386eSCy Schubert * test vectors from "The Poly1305-AES message-authentication code"
71*e0c4386eSCy Schubert */
72*e0c4386eSCy Schubert {
73*e0c4386eSCy Schubert {
74*e0c4386eSCy Schubert 2,
75*e0c4386eSCy Schubert {
76*e0c4386eSCy Schubert 0xf3, 0xf6
77*e0c4386eSCy Schubert }
78*e0c4386eSCy Schubert },
79*e0c4386eSCy Schubert {
80*e0c4386eSCy Schubert 32,
81*e0c4386eSCy Schubert {
82*e0c4386eSCy Schubert 0x85, 0x1f, 0xc4, 0x0c, 0x34, 0x67, 0xac, 0x0b,
83*e0c4386eSCy Schubert 0xe0, 0x5c, 0xc2, 0x04, 0x04, 0xf3, 0xf7, 0x00,
84*e0c4386eSCy Schubert 0x58, 0x0b, 0x3b, 0x0f, 0x94, 0x47, 0xbb, 0x1e,
85*e0c4386eSCy Schubert 0x69, 0xd0, 0x95, 0xb5, 0x92, 0x8b, 0x6d, 0xbc
86*e0c4386eSCy Schubert }
87*e0c4386eSCy Schubert },
88*e0c4386eSCy Schubert {
89*e0c4386eSCy Schubert 16,
90*e0c4386eSCy Schubert {
91*e0c4386eSCy Schubert 0xf4, 0xc6, 0x33, 0xc3, 0x04, 0x4f, 0xc1, 0x45,
92*e0c4386eSCy Schubert 0xf8, 0x4f, 0x33, 0x5c, 0xb8, 0x19, 0x53, 0xde
93*e0c4386eSCy Schubert }
94*e0c4386eSCy Schubert }
95*e0c4386eSCy Schubert },
96*e0c4386eSCy Schubert {
97*e0c4386eSCy Schubert {
98*e0c4386eSCy Schubert 0,
99*e0c4386eSCy Schubert {
100*e0c4386eSCy Schubert 0
101*e0c4386eSCy Schubert }
102*e0c4386eSCy Schubert },
103*e0c4386eSCy Schubert {
104*e0c4386eSCy Schubert 32,
105*e0c4386eSCy Schubert {
106*e0c4386eSCy Schubert 0xa0, 0xf3, 0x08, 0x00, 0x00, 0xf4, 0x64, 0x00,
107*e0c4386eSCy Schubert 0xd0, 0xc7, 0xe9, 0x07, 0x6c, 0x83, 0x44, 0x03,
108*e0c4386eSCy Schubert 0xdd, 0x3f, 0xab, 0x22, 0x51, 0xf1, 0x1a, 0xc7,
109*e0c4386eSCy Schubert 0x59, 0xf0, 0x88, 0x71, 0x29, 0xcc, 0x2e, 0xe7
110*e0c4386eSCy Schubert }
111*e0c4386eSCy Schubert },
112*e0c4386eSCy Schubert {
113*e0c4386eSCy Schubert 16,
114*e0c4386eSCy Schubert {
115*e0c4386eSCy Schubert 0xdd, 0x3f, 0xab, 0x22, 0x51, 0xf1, 0x1a, 0xc7,
116*e0c4386eSCy Schubert 0x59, 0xf0, 0x88, 0x71, 0x29, 0xcc, 0x2e, 0xe7
117*e0c4386eSCy Schubert }
118*e0c4386eSCy Schubert }
119*e0c4386eSCy Schubert },
120*e0c4386eSCy Schubert {
121*e0c4386eSCy Schubert {
122*e0c4386eSCy Schubert 32,
123*e0c4386eSCy Schubert {
124*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
125*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
126*e0c4386eSCy Schubert 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
127*e0c4386eSCy Schubert 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36
128*e0c4386eSCy Schubert }
129*e0c4386eSCy Schubert },
130*e0c4386eSCy Schubert {
131*e0c4386eSCy Schubert 32,
132*e0c4386eSCy Schubert {
133*e0c4386eSCy Schubert 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
134*e0c4386eSCy Schubert 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
135*e0c4386eSCy Schubert 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
136*e0c4386eSCy Schubert 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef
137*e0c4386eSCy Schubert }
138*e0c4386eSCy Schubert },
139*e0c4386eSCy Schubert {
140*e0c4386eSCy Schubert 16,
141*e0c4386eSCy Schubert {
142*e0c4386eSCy Schubert 0x0e, 0xe1, 0xc1, 0x6b, 0xb7, 0x3f, 0x0f, 0x4f,
143*e0c4386eSCy Schubert 0xd1, 0x98, 0x81, 0x75, 0x3c, 0x01, 0xcd, 0xbe
144*e0c4386eSCy Schubert }
145*e0c4386eSCy Schubert }
146*e0c4386eSCy Schubert },
147*e0c4386eSCy Schubert {
148*e0c4386eSCy Schubert {
149*e0c4386eSCy Schubert 63,
150*e0c4386eSCy Schubert {
151*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
152*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
153*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
154*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
155*e0c4386eSCy Schubert
156*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
157*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
158*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
159*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9
160*e0c4386eSCy Schubert }
161*e0c4386eSCy Schubert },
162*e0c4386eSCy Schubert {
163*e0c4386eSCy Schubert 32,
164*e0c4386eSCy Schubert {
165*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
166*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
167*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
168*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
169*e0c4386eSCy Schubert }
170*e0c4386eSCy Schubert },
171*e0c4386eSCy Schubert {
172*e0c4386eSCy Schubert 16,
173*e0c4386eSCy Schubert {
174*e0c4386eSCy Schubert 0x51, 0x54, 0xad, 0x0d, 0x2c, 0xb2, 0x6e, 0x01,
175*e0c4386eSCy Schubert 0x27, 0x4f, 0xc5, 0x11, 0x48, 0x49, 0x1f, 0x1b
176*e0c4386eSCy Schubert }
177*e0c4386eSCy Schubert },
178*e0c4386eSCy Schubert },
179*e0c4386eSCy Schubert /*
180*e0c4386eSCy Schubert * self-generated vectors exercise "significant" lengths, such that
181*e0c4386eSCy Schubert * are handled by different code paths
182*e0c4386eSCy Schubert */
183*e0c4386eSCy Schubert {
184*e0c4386eSCy Schubert {
185*e0c4386eSCy Schubert 64,
186*e0c4386eSCy Schubert {
187*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
188*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
189*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
190*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
191*e0c4386eSCy Schubert
192*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
193*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
194*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
195*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf
196*e0c4386eSCy Schubert }
197*e0c4386eSCy Schubert },
198*e0c4386eSCy Schubert {
199*e0c4386eSCy Schubert 32,
200*e0c4386eSCy Schubert {
201*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
202*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
203*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
204*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
205*e0c4386eSCy Schubert }
206*e0c4386eSCy Schubert },
207*e0c4386eSCy Schubert {
208*e0c4386eSCy Schubert 16,
209*e0c4386eSCy Schubert {
210*e0c4386eSCy Schubert 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
211*e0c4386eSCy Schubert 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66
212*e0c4386eSCy Schubert }
213*e0c4386eSCy Schubert },
214*e0c4386eSCy Schubert },
215*e0c4386eSCy Schubert {
216*e0c4386eSCy Schubert {
217*e0c4386eSCy Schubert 48,
218*e0c4386eSCy Schubert {
219*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
220*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
221*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
222*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
223*e0c4386eSCy Schubert
224*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
225*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67
226*e0c4386eSCy Schubert }
227*e0c4386eSCy Schubert },
228*e0c4386eSCy Schubert {
229*e0c4386eSCy Schubert 32,
230*e0c4386eSCy Schubert {
231*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
232*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
233*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
234*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
235*e0c4386eSCy Schubert
236*e0c4386eSCy Schubert }
237*e0c4386eSCy Schubert },
238*e0c4386eSCy Schubert {
239*e0c4386eSCy Schubert 16,
240*e0c4386eSCy Schubert {
241*e0c4386eSCy Schubert 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
242*e0c4386eSCy Schubert 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61
243*e0c4386eSCy Schubert }
244*e0c4386eSCy Schubert },
245*e0c4386eSCy Schubert },
246*e0c4386eSCy Schubert {
247*e0c4386eSCy Schubert {
248*e0c4386eSCy Schubert 96,
249*e0c4386eSCy Schubert {
250*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
251*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
252*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
253*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
254*e0c4386eSCy Schubert
255*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
256*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
257*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
258*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
259*e0c4386eSCy Schubert
260*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
261*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
262*e0c4386eSCy Schubert 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
263*e0c4386eSCy Schubert 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36
264*e0c4386eSCy Schubert }
265*e0c4386eSCy Schubert },
266*e0c4386eSCy Schubert {
267*e0c4386eSCy Schubert 32,
268*e0c4386eSCy Schubert {
269*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
270*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
271*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
272*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
273*e0c4386eSCy Schubert }
274*e0c4386eSCy Schubert },
275*e0c4386eSCy Schubert {
276*e0c4386eSCy Schubert 16,
277*e0c4386eSCy Schubert {
278*e0c4386eSCy Schubert 0xbb, 0xb6, 0x13, 0xb2, 0xb6, 0xd7, 0x53, 0xba,
279*e0c4386eSCy Schubert 0x07, 0x39, 0x5b, 0x91, 0x6a, 0xae, 0xce, 0x15
280*e0c4386eSCy Schubert }
281*e0c4386eSCy Schubert },
282*e0c4386eSCy Schubert },
283*e0c4386eSCy Schubert {
284*e0c4386eSCy Schubert {
285*e0c4386eSCy Schubert 112,
286*e0c4386eSCy Schubert {
287*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
288*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
289*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
290*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
291*e0c4386eSCy Schubert
292*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
293*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
294*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
295*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
296*e0c4386eSCy Schubert
297*e0c4386eSCy Schubert 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
298*e0c4386eSCy Schubert 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
299*e0c4386eSCy Schubert 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
300*e0c4386eSCy Schubert 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
301*e0c4386eSCy Schubert
302*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
303*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24
304*e0c4386eSCy Schubert }
305*e0c4386eSCy Schubert },
306*e0c4386eSCy Schubert {
307*e0c4386eSCy Schubert 32,
308*e0c4386eSCy Schubert {
309*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
310*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
311*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
312*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
313*e0c4386eSCy Schubert }
314*e0c4386eSCy Schubert },
315*e0c4386eSCy Schubert {
316*e0c4386eSCy Schubert 16,
317*e0c4386eSCy Schubert {
318*e0c4386eSCy Schubert 0xc7, 0x94, 0xd7, 0x05, 0x7d, 0x17, 0x78, 0xc4,
319*e0c4386eSCy Schubert 0xbb, 0xee, 0x0a, 0x39, 0xb3, 0xd9, 0x73, 0x42
320*e0c4386eSCy Schubert }
321*e0c4386eSCy Schubert },
322*e0c4386eSCy Schubert },
323*e0c4386eSCy Schubert {
324*e0c4386eSCy Schubert {
325*e0c4386eSCy Schubert 128,
326*e0c4386eSCy Schubert {
327*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
328*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
329*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
330*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
331*e0c4386eSCy Schubert
332*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
333*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
334*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
335*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
336*e0c4386eSCy Schubert
337*e0c4386eSCy Schubert 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
338*e0c4386eSCy Schubert 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
339*e0c4386eSCy Schubert 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
340*e0c4386eSCy Schubert 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
341*e0c4386eSCy Schubert
342*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
343*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
344*e0c4386eSCy Schubert 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
345*e0c4386eSCy Schubert 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36
346*e0c4386eSCy Schubert }
347*e0c4386eSCy Schubert },
348*e0c4386eSCy Schubert {
349*e0c4386eSCy Schubert 32,
350*e0c4386eSCy Schubert {
351*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
352*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
353*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
354*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
355*e0c4386eSCy Schubert }
356*e0c4386eSCy Schubert },
357*e0c4386eSCy Schubert {
358*e0c4386eSCy Schubert 16,
359*e0c4386eSCy Schubert {
360*e0c4386eSCy Schubert 0xff, 0xbc, 0xb9, 0xb3, 0x71, 0x42, 0x31, 0x52,
361*e0c4386eSCy Schubert 0xd7, 0xfc, 0xa5, 0xad, 0x04, 0x2f, 0xba, 0xa9
362*e0c4386eSCy Schubert }
363*e0c4386eSCy Schubert },
364*e0c4386eSCy Schubert },
365*e0c4386eSCy Schubert {
366*e0c4386eSCy Schubert {
367*e0c4386eSCy Schubert 144,
368*e0c4386eSCy Schubert {
369*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
370*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
371*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
372*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
373*e0c4386eSCy Schubert
374*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
375*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
376*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
377*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
378*e0c4386eSCy Schubert
379*e0c4386eSCy Schubert 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
380*e0c4386eSCy Schubert 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
381*e0c4386eSCy Schubert 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
382*e0c4386eSCy Schubert 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
383*e0c4386eSCy Schubert
384*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
385*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
386*e0c4386eSCy Schubert 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
387*e0c4386eSCy Schubert 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
388*e0c4386eSCy Schubert
389*e0c4386eSCy Schubert 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
390*e0c4386eSCy Schubert 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66
391*e0c4386eSCy Schubert }
392*e0c4386eSCy Schubert },
393*e0c4386eSCy Schubert {
394*e0c4386eSCy Schubert 32,
395*e0c4386eSCy Schubert {
396*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
397*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
398*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
399*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
400*e0c4386eSCy Schubert }
401*e0c4386eSCy Schubert },
402*e0c4386eSCy Schubert {
403*e0c4386eSCy Schubert 16,
404*e0c4386eSCy Schubert {
405*e0c4386eSCy Schubert 0x06, 0x9e, 0xd6, 0xb8, 0xef, 0x0f, 0x20, 0x7b,
406*e0c4386eSCy Schubert 0x3e, 0x24, 0x3b, 0xb1, 0x01, 0x9f, 0xe6, 0x32
407*e0c4386eSCy Schubert }
408*e0c4386eSCy Schubert },
409*e0c4386eSCy Schubert },
410*e0c4386eSCy Schubert {
411*e0c4386eSCy Schubert {
412*e0c4386eSCy Schubert 160,
413*e0c4386eSCy Schubert {
414*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
415*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
416*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
417*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
418*e0c4386eSCy Schubert
419*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
420*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
421*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
422*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
423*e0c4386eSCy Schubert
424*e0c4386eSCy Schubert 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
425*e0c4386eSCy Schubert 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
426*e0c4386eSCy Schubert 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
427*e0c4386eSCy Schubert 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
428*e0c4386eSCy Schubert
429*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
430*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
431*e0c4386eSCy Schubert 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
432*e0c4386eSCy Schubert 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
433*e0c4386eSCy Schubert
434*e0c4386eSCy Schubert 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
435*e0c4386eSCy Schubert 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66,
436*e0c4386eSCy Schubert 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
437*e0c4386eSCy Schubert 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61
438*e0c4386eSCy Schubert }
439*e0c4386eSCy Schubert },
440*e0c4386eSCy Schubert {
441*e0c4386eSCy Schubert 32,
442*e0c4386eSCy Schubert {
443*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
444*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
445*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
446*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
447*e0c4386eSCy Schubert }
448*e0c4386eSCy Schubert },
449*e0c4386eSCy Schubert {
450*e0c4386eSCy Schubert 16,
451*e0c4386eSCy Schubert {
452*e0c4386eSCy Schubert 0xcc, 0xa3, 0x39, 0xd9, 0xa4, 0x5f, 0xa2, 0x36,
453*e0c4386eSCy Schubert 0x8c, 0x2c, 0x68, 0xb3, 0xa4, 0x17, 0x91, 0x33
454*e0c4386eSCy Schubert }
455*e0c4386eSCy Schubert },
456*e0c4386eSCy Schubert },
457*e0c4386eSCy Schubert {
458*e0c4386eSCy Schubert {
459*e0c4386eSCy Schubert 288,
460*e0c4386eSCy Schubert {
461*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
462*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
463*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
464*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
465*e0c4386eSCy Schubert
466*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
467*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
468*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
469*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
470*e0c4386eSCy Schubert
471*e0c4386eSCy Schubert 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
472*e0c4386eSCy Schubert 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
473*e0c4386eSCy Schubert 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
474*e0c4386eSCy Schubert 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
475*e0c4386eSCy Schubert
476*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
477*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
478*e0c4386eSCy Schubert 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
479*e0c4386eSCy Schubert 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
480*e0c4386eSCy Schubert
481*e0c4386eSCy Schubert 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
482*e0c4386eSCy Schubert 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66,
483*e0c4386eSCy Schubert 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
484*e0c4386eSCy Schubert 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61,
485*e0c4386eSCy Schubert
486*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
487*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
488*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
489*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
490*e0c4386eSCy Schubert
491*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
492*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
493*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
494*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
495*e0c4386eSCy Schubert
496*e0c4386eSCy Schubert 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
497*e0c4386eSCy Schubert 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
498*e0c4386eSCy Schubert 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
499*e0c4386eSCy Schubert 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
500*e0c4386eSCy Schubert
501*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
502*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
503*e0c4386eSCy Schubert 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
504*e0c4386eSCy Schubert 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36
505*e0c4386eSCy Schubert }
506*e0c4386eSCy Schubert },
507*e0c4386eSCy Schubert {
508*e0c4386eSCy Schubert 32,
509*e0c4386eSCy Schubert {
510*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
511*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
512*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
513*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
514*e0c4386eSCy Schubert }
515*e0c4386eSCy Schubert },
516*e0c4386eSCy Schubert {
517*e0c4386eSCy Schubert 16,
518*e0c4386eSCy Schubert {
519*e0c4386eSCy Schubert 0x53, 0xf6, 0xe8, 0x28, 0xa2, 0xf0, 0xfe, 0x0e,
520*e0c4386eSCy Schubert 0xe8, 0x15, 0xbf, 0x0b, 0xd5, 0x84, 0x1a, 0x34
521*e0c4386eSCy Schubert }
522*e0c4386eSCy Schubert },
523*e0c4386eSCy Schubert },
524*e0c4386eSCy Schubert {
525*e0c4386eSCy Schubert {
526*e0c4386eSCy Schubert 320,
527*e0c4386eSCy Schubert {
528*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
529*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
530*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
531*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
532*e0c4386eSCy Schubert
533*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
534*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
535*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
536*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
537*e0c4386eSCy Schubert
538*e0c4386eSCy Schubert 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
539*e0c4386eSCy Schubert 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
540*e0c4386eSCy Schubert 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
541*e0c4386eSCy Schubert 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
542*e0c4386eSCy Schubert
543*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
544*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
545*e0c4386eSCy Schubert 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
546*e0c4386eSCy Schubert 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
547*e0c4386eSCy Schubert
548*e0c4386eSCy Schubert 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
549*e0c4386eSCy Schubert 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66,
550*e0c4386eSCy Schubert 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
551*e0c4386eSCy Schubert 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61,
552*e0c4386eSCy Schubert
553*e0c4386eSCy Schubert 0xab, 0x08, 0x12, 0x72, 0x4a, 0x7f, 0x1e, 0x34,
554*e0c4386eSCy Schubert 0x27, 0x42, 0xcb, 0xed, 0x37, 0x4d, 0x94, 0xd1,
555*e0c4386eSCy Schubert 0x36, 0xc6, 0xb8, 0x79, 0x5d, 0x45, 0xb3, 0x81,
556*e0c4386eSCy Schubert 0x98, 0x30, 0xf2, 0xc0, 0x44, 0x91, 0xfa, 0xf0,
557*e0c4386eSCy Schubert
558*e0c4386eSCy Schubert 0x99, 0x0c, 0x62, 0xe4, 0x8b, 0x80, 0x18, 0xb2,
559*e0c4386eSCy Schubert 0xc3, 0xe4, 0xa0, 0xfa, 0x31, 0x34, 0xcb, 0x67,
560*e0c4386eSCy Schubert 0xfa, 0x83, 0xe1, 0x58, 0xc9, 0x94, 0xd9, 0x61,
561*e0c4386eSCy Schubert 0xc4, 0xcb, 0x21, 0x09, 0x5c, 0x1b, 0xf9, 0xaf,
562*e0c4386eSCy Schubert
563*e0c4386eSCy Schubert 0x48, 0x44, 0x3d, 0x0b, 0xb0, 0xd2, 0x11, 0x09,
564*e0c4386eSCy Schubert 0xc8, 0x9a, 0x10, 0x0b, 0x5c, 0xe2, 0xc2, 0x08,
565*e0c4386eSCy Schubert 0x83, 0x14, 0x9c, 0x69, 0xb5, 0x61, 0xdd, 0x88,
566*e0c4386eSCy Schubert 0x29, 0x8a, 0x17, 0x98, 0xb1, 0x07, 0x16, 0xef,
567*e0c4386eSCy Schubert
568*e0c4386eSCy Schubert 0x66, 0x3c, 0xea, 0x19, 0x0f, 0xfb, 0x83, 0xd8,
569*e0c4386eSCy Schubert 0x95, 0x93, 0xf3, 0xf4, 0x76, 0xb6, 0xbc, 0x24,
570*e0c4386eSCy Schubert 0xd7, 0xe6, 0x79, 0x10, 0x7e, 0xa2, 0x6a, 0xdb,
571*e0c4386eSCy Schubert 0x8c, 0xaf, 0x66, 0x52, 0xd0, 0x65, 0x61, 0x36,
572*e0c4386eSCy Schubert
573*e0c4386eSCy Schubert 0x81, 0x20, 0x59, 0xa5, 0xda, 0x19, 0x86, 0x37,
574*e0c4386eSCy Schubert 0xca, 0xc7, 0xc4, 0xa6, 0x31, 0xbe, 0xe4, 0x66,
575*e0c4386eSCy Schubert 0x5b, 0x88, 0xd7, 0xf6, 0x22, 0x8b, 0x11, 0xe2,
576*e0c4386eSCy Schubert 0xe2, 0x85, 0x79, 0xa5, 0xc0, 0xc1, 0xf7, 0x61
577*e0c4386eSCy Schubert }
578*e0c4386eSCy Schubert },
579*e0c4386eSCy Schubert {
580*e0c4386eSCy Schubert 32,
581*e0c4386eSCy Schubert {
582*e0c4386eSCy Schubert 0x12, 0x97, 0x6a, 0x08, 0xc4, 0x42, 0x6d, 0x0c,
583*e0c4386eSCy Schubert 0xe8, 0xa8, 0x24, 0x07, 0xc4, 0xf4, 0x82, 0x07,
584*e0c4386eSCy Schubert 0x80, 0xf8, 0xc2, 0x0a, 0xa7, 0x12, 0x02, 0xd1,
585*e0c4386eSCy Schubert 0xe2, 0x91, 0x79, 0xcb, 0xcb, 0x55, 0x5a, 0x57
586*e0c4386eSCy Schubert }
587*e0c4386eSCy Schubert },
588*e0c4386eSCy Schubert {
589*e0c4386eSCy Schubert 16,
590*e0c4386eSCy Schubert {
591*e0c4386eSCy Schubert 0xb8, 0x46, 0xd4, 0x4e, 0x9b, 0xbd, 0x53, 0xce,
592*e0c4386eSCy Schubert 0xdf, 0xfb, 0xfb, 0xb6, 0xb7, 0xfa, 0x49, 0x33
593*e0c4386eSCy Schubert }
594*e0c4386eSCy Schubert },
595*e0c4386eSCy Schubert },
596*e0c4386eSCy Schubert /*
597*e0c4386eSCy Schubert * 4th power of the key spills to 131th bit in SIMD key setup
598*e0c4386eSCy Schubert */
599*e0c4386eSCy Schubert {
600*e0c4386eSCy Schubert {
601*e0c4386eSCy Schubert 256,
602*e0c4386eSCy Schubert {
603*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
604*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
605*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
606*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
607*e0c4386eSCy Schubert
608*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
609*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
610*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
611*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
612*e0c4386eSCy Schubert
613*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
614*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
615*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
616*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
617*e0c4386eSCy Schubert
618*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
619*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
620*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
621*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
622*e0c4386eSCy Schubert
623*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
624*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
625*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
626*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
627*e0c4386eSCy Schubert
628*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
629*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
630*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
631*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
632*e0c4386eSCy Schubert
633*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
634*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
635*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
636*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
637*e0c4386eSCy Schubert
638*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
639*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
640*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
641*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
642*e0c4386eSCy Schubert }
643*e0c4386eSCy Schubert },
644*e0c4386eSCy Schubert {
645*e0c4386eSCy Schubert 32,
646*e0c4386eSCy Schubert {
647*e0c4386eSCy Schubert 0xad, 0x62, 0x81, 0x07, 0xe8, 0x35, 0x1d, 0x0f,
648*e0c4386eSCy Schubert 0x2c, 0x23, 0x1a, 0x05, 0xdc, 0x4a, 0x41, 0x06,
649*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
650*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
651*e0c4386eSCy Schubert }
652*e0c4386eSCy Schubert },
653*e0c4386eSCy Schubert {
654*e0c4386eSCy Schubert 16,
655*e0c4386eSCy Schubert {
656*e0c4386eSCy Schubert 0x07, 0x14, 0x5a, 0x4c, 0x02, 0xfe, 0x5f, 0xa3,
657*e0c4386eSCy Schubert 0x20, 0x36, 0xde, 0x68, 0xfa, 0xbe, 0x90, 0x66
658*e0c4386eSCy Schubert }
659*e0c4386eSCy Schubert },
660*e0c4386eSCy Schubert },
661*e0c4386eSCy Schubert /*
662*e0c4386eSCy Schubert * poly1305_ieee754.c failed this in final stage
663*e0c4386eSCy Schubert */
664*e0c4386eSCy Schubert {
665*e0c4386eSCy Schubert {
666*e0c4386eSCy Schubert 252,
667*e0c4386eSCy Schubert {
668*e0c4386eSCy Schubert 0x84, 0x23, 0x64, 0xe1, 0x56, 0x33, 0x6c, 0x09,
669*e0c4386eSCy Schubert 0x98, 0xb9, 0x33, 0xa6, 0x23, 0x77, 0x26, 0x18,
670*e0c4386eSCy Schubert 0x0d, 0x9e, 0x3f, 0xdc, 0xbd, 0xe4, 0xcd, 0x5d,
671*e0c4386eSCy Schubert 0x17, 0x08, 0x0f, 0xc3, 0xbe, 0xb4, 0x96, 0x14,
672*e0c4386eSCy Schubert
673*e0c4386eSCy Schubert 0xd7, 0x12, 0x2c, 0x03, 0x74, 0x63, 0xff, 0x10,
674*e0c4386eSCy Schubert 0x4d, 0x73, 0xf1, 0x9c, 0x12, 0x70, 0x46, 0x28,
675*e0c4386eSCy Schubert 0xd4, 0x17, 0xc4, 0xc5, 0x4a, 0x3f, 0xe3, 0x0d,
676*e0c4386eSCy Schubert 0x3c, 0x3d, 0x77, 0x14, 0x38, 0x2d, 0x43, 0xb0,
677*e0c4386eSCy Schubert
678*e0c4386eSCy Schubert 0x38, 0x2a, 0x50, 0xa5, 0xde, 0xe5, 0x4b, 0xe8,
679*e0c4386eSCy Schubert 0x44, 0xb0, 0x76, 0xe8, 0xdf, 0x88, 0x20, 0x1a,
680*e0c4386eSCy Schubert 0x1c, 0xd4, 0x3b, 0x90, 0xeb, 0x21, 0x64, 0x3f,
681*e0c4386eSCy Schubert 0xa9, 0x6f, 0x39, 0xb5, 0x18, 0xaa, 0x83, 0x40,
682*e0c4386eSCy Schubert
683*e0c4386eSCy Schubert 0xc9, 0x42, 0xff, 0x3c, 0x31, 0xba, 0xf7, 0xc9,
684*e0c4386eSCy Schubert 0xbd, 0xbf, 0x0f, 0x31, 0xae, 0x3f, 0xa0, 0x96,
685*e0c4386eSCy Schubert 0xbf, 0x8c, 0x63, 0x03, 0x06, 0x09, 0x82, 0x9f,
686*e0c4386eSCy Schubert 0xe7, 0x2e, 0x17, 0x98, 0x24, 0x89, 0x0b, 0xc8,
687*e0c4386eSCy Schubert
688*e0c4386eSCy Schubert 0xe0, 0x8c, 0x31, 0x5c, 0x1c, 0xce, 0x2a, 0x83,
689*e0c4386eSCy Schubert 0x14, 0x4d, 0xbb, 0xff, 0x09, 0xf7, 0x4e, 0x3e,
690*e0c4386eSCy Schubert 0xfc, 0x77, 0x0b, 0x54, 0xd0, 0x98, 0x4a, 0x8f,
691*e0c4386eSCy Schubert 0x19, 0xb1, 0x47, 0x19, 0xe6, 0x36, 0x35, 0x64,
692*e0c4386eSCy Schubert
693*e0c4386eSCy Schubert 0x1d, 0x6b, 0x1e, 0xed, 0xf6, 0x3e, 0xfb, 0xf0,
694*e0c4386eSCy Schubert 0x80, 0xe1, 0x78, 0x3d, 0x32, 0x44, 0x54, 0x12,
695*e0c4386eSCy Schubert 0x11, 0x4c, 0x20, 0xde, 0x0b, 0x83, 0x7a, 0x0d,
696*e0c4386eSCy Schubert 0xfa, 0x33, 0xd6, 0xb8, 0x28, 0x25, 0xff, 0xf4,
697*e0c4386eSCy Schubert
698*e0c4386eSCy Schubert 0x4c, 0x9a, 0x70, 0xea, 0x54, 0xce, 0x47, 0xf0,
699*e0c4386eSCy Schubert 0x7d, 0xf6, 0x98, 0xe6, 0xb0, 0x33, 0x23, 0xb5,
700*e0c4386eSCy Schubert 0x30, 0x79, 0x36, 0x4a, 0x5f, 0xc3, 0xe9, 0xdd,
701*e0c4386eSCy Schubert 0x03, 0x43, 0x92, 0xbd, 0xde, 0x86, 0xdc, 0xcd,
702*e0c4386eSCy Schubert
703*e0c4386eSCy Schubert 0xda, 0x94, 0x32, 0x1c, 0x5e, 0x44, 0x06, 0x04,
704*e0c4386eSCy Schubert 0x89, 0x33, 0x6c, 0xb6, 0x5b, 0xf3, 0x98, 0x9c,
705*e0c4386eSCy Schubert 0x36, 0xf7, 0x28, 0x2c, 0x2f, 0x5d, 0x2b, 0x88,
706*e0c4386eSCy Schubert 0x2c, 0x17, 0x1e, 0x74
707*e0c4386eSCy Schubert }
708*e0c4386eSCy Schubert },
709*e0c4386eSCy Schubert {
710*e0c4386eSCy Schubert 32,
711*e0c4386eSCy Schubert {
712*e0c4386eSCy Schubert 0x95, 0xd5, 0xc0, 0x05, 0x50, 0x3e, 0x51, 0x0d,
713*e0c4386eSCy Schubert 0x8c, 0xd0, 0xaa, 0x07, 0x2c, 0x4a, 0x4d, 0x06,
714*e0c4386eSCy Schubert 0x6e, 0xab, 0xc5, 0x2d, 0x11, 0x65, 0x3d, 0xf4,
715*e0c4386eSCy Schubert 0x7f, 0xbf, 0x63, 0xab, 0x19, 0x8b, 0xcc, 0x26
716*e0c4386eSCy Schubert }
717*e0c4386eSCy Schubert },
718*e0c4386eSCy Schubert {
719*e0c4386eSCy Schubert 16,
720*e0c4386eSCy Schubert {
721*e0c4386eSCy Schubert 0xf2, 0x48, 0x31, 0x2e, 0x57, 0x8d, 0x9d, 0x58,
722*e0c4386eSCy Schubert 0xf8, 0xb7, 0xbb, 0x4d, 0x19, 0x10, 0x54, 0x31
723*e0c4386eSCy Schubert }
724*e0c4386eSCy Schubert },
725*e0c4386eSCy Schubert },
726*e0c4386eSCy Schubert /*
727*e0c4386eSCy Schubert * AVX2 in poly1305-x86.pl failed this with 176+32 split
728*e0c4386eSCy Schubert */
729*e0c4386eSCy Schubert {
730*e0c4386eSCy Schubert {
731*e0c4386eSCy Schubert 208,
732*e0c4386eSCy Schubert {
733*e0c4386eSCy Schubert 0x24, 0x8a, 0xc3, 0x10, 0x85, 0xb6, 0xc2, 0xad,
734*e0c4386eSCy Schubert 0xaa, 0xa3, 0x82, 0x59, 0xa0, 0xd7, 0x19, 0x2c,
735*e0c4386eSCy Schubert 0x5c, 0x35, 0xd1, 0xbb, 0x4e, 0xf3, 0x9a, 0xd9,
736*e0c4386eSCy Schubert 0x4c, 0x38, 0xd1, 0xc8, 0x24, 0x79, 0xe2, 0xdd,
737*e0c4386eSCy Schubert
738*e0c4386eSCy Schubert 0x21, 0x59, 0xa0, 0x77, 0x02, 0x4b, 0x05, 0x89,
739*e0c4386eSCy Schubert 0xbc, 0x8a, 0x20, 0x10, 0x1b, 0x50, 0x6f, 0x0a,
740*e0c4386eSCy Schubert 0x1a, 0xd0, 0xbb, 0xab, 0x76, 0xe8, 0x3a, 0x83,
741*e0c4386eSCy Schubert 0xf1, 0xb9, 0x4b, 0xe6, 0xbe, 0xae, 0x74, 0xe8,
742*e0c4386eSCy Schubert
743*e0c4386eSCy Schubert 0x74, 0xca, 0xb6, 0x92, 0xc5, 0x96, 0x3a, 0x75,
744*e0c4386eSCy Schubert 0x43, 0x6b, 0x77, 0x61, 0x21, 0xec, 0x9f, 0x62,
745*e0c4386eSCy Schubert 0x39, 0x9a, 0x3e, 0x66, 0xb2, 0xd2, 0x27, 0x07,
746*e0c4386eSCy Schubert 0xda, 0xe8, 0x19, 0x33, 0xb6, 0x27, 0x7f, 0x3c,
747*e0c4386eSCy Schubert
748*e0c4386eSCy Schubert 0x85, 0x16, 0xbc, 0xbe, 0x26, 0xdb, 0xbd, 0x86,
749*e0c4386eSCy Schubert 0xf3, 0x73, 0x10, 0x3d, 0x7c, 0xf4, 0xca, 0xd1,
750*e0c4386eSCy Schubert 0x88, 0x8c, 0x95, 0x21, 0x18, 0xfb, 0xfb, 0xd0,
751*e0c4386eSCy Schubert 0xd7, 0xb4, 0xbe, 0xdc, 0x4a, 0xe4, 0x93, 0x6a,
752*e0c4386eSCy Schubert
753*e0c4386eSCy Schubert 0xff, 0x91, 0x15, 0x7e, 0x7a, 0xa4, 0x7c, 0x54,
754*e0c4386eSCy Schubert 0x44, 0x2e, 0xa7, 0x8d, 0x6a, 0xc2, 0x51, 0xd3,
755*e0c4386eSCy Schubert 0x24, 0xa0, 0xfb, 0xe4, 0x9d, 0x89, 0xcc, 0x35,
756*e0c4386eSCy Schubert 0x21, 0xb6, 0x6d, 0x16, 0xe9, 0xc6, 0x6a, 0x37,
757*e0c4386eSCy Schubert
758*e0c4386eSCy Schubert 0x09, 0x89, 0x4e, 0x4e, 0xb0, 0xa4, 0xee, 0xdc,
759*e0c4386eSCy Schubert 0x4a, 0xe1, 0x94, 0x68, 0xe6, 0x6b, 0x81, 0xf2,
760*e0c4386eSCy Schubert
761*e0c4386eSCy Schubert 0x71, 0x35, 0x1b, 0x1d, 0x92, 0x1e, 0xa5, 0x51,
762*e0c4386eSCy Schubert 0x04, 0x7a, 0xbc, 0xc6, 0xb8, 0x7a, 0x90, 0x1f,
763*e0c4386eSCy Schubert 0xde, 0x7d, 0xb7, 0x9f, 0xa1, 0x81, 0x8c, 0x11,
764*e0c4386eSCy Schubert 0x33, 0x6d, 0xbc, 0x07, 0x24, 0x4a, 0x40, 0xeb
765*e0c4386eSCy Schubert }
766*e0c4386eSCy Schubert },
767*e0c4386eSCy Schubert {
768*e0c4386eSCy Schubert 32,
769*e0c4386eSCy Schubert {
770*e0c4386eSCy Schubert 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
771*e0c4386eSCy Schubert 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
772*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
773*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
774*e0c4386eSCy Schubert }
775*e0c4386eSCy Schubert },
776*e0c4386eSCy Schubert {
777*e0c4386eSCy Schubert 16,
778*e0c4386eSCy Schubert {
779*e0c4386eSCy Schubert 0xbc, 0x93, 0x9b, 0xc5, 0x28, 0x14, 0x80, 0xfa,
780*e0c4386eSCy Schubert 0x99, 0xc6, 0xd6, 0x8c, 0x25, 0x8e, 0xc4, 0x2f
781*e0c4386eSCy Schubert }
782*e0c4386eSCy Schubert },
783*e0c4386eSCy Schubert },
784*e0c4386eSCy Schubert /*
785*e0c4386eSCy Schubert * test vectors from Google
786*e0c4386eSCy Schubert */
787*e0c4386eSCy Schubert {
788*e0c4386eSCy Schubert {
789*e0c4386eSCy Schubert 0,
790*e0c4386eSCy Schubert {
791*e0c4386eSCy Schubert 0x00,
792*e0c4386eSCy Schubert }
793*e0c4386eSCy Schubert },
794*e0c4386eSCy Schubert {
795*e0c4386eSCy Schubert 32,
796*e0c4386eSCy Schubert {
797*e0c4386eSCy Schubert 0xc8, 0xaf, 0xaa, 0xc3, 0x31, 0xee, 0x37, 0x2c,
798*e0c4386eSCy Schubert 0xd6, 0x08, 0x2d, 0xe1, 0x34, 0x94, 0x3b, 0x17,
799*e0c4386eSCy Schubert 0x47, 0x10, 0x13, 0x0e, 0x9f, 0x6f, 0xea, 0x8d,
800*e0c4386eSCy Schubert 0x72, 0x29, 0x38, 0x50, 0xa6, 0x67, 0xd8, 0x6c
801*e0c4386eSCy Schubert }
802*e0c4386eSCy Schubert },
803*e0c4386eSCy Schubert {
804*e0c4386eSCy Schubert 16,
805*e0c4386eSCy Schubert {
806*e0c4386eSCy Schubert 0x47, 0x10, 0x13, 0x0e, 0x9f, 0x6f, 0xea, 0x8d,
807*e0c4386eSCy Schubert 0x72, 0x29, 0x38, 0x50, 0xa6, 0x67, 0xd8, 0x6c
808*e0c4386eSCy Schubert }
809*e0c4386eSCy Schubert },
810*e0c4386eSCy Schubert },
811*e0c4386eSCy Schubert {
812*e0c4386eSCy Schubert {
813*e0c4386eSCy Schubert 12,
814*e0c4386eSCy Schubert {
815*e0c4386eSCy Schubert 0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x77, 0x6f,
816*e0c4386eSCy Schubert 0x72, 0x6c, 0x64, 0x21
817*e0c4386eSCy Schubert }
818*e0c4386eSCy Schubert },
819*e0c4386eSCy Schubert {
820*e0c4386eSCy Schubert 32,
821*e0c4386eSCy Schubert {
822*e0c4386eSCy Schubert 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20,
823*e0c4386eSCy Schubert 0x33, 0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20,
824*e0c4386eSCy Schubert 0x6b, 0x65, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20,
825*e0c4386eSCy Schubert 0x50, 0x6f, 0x6c, 0x79, 0x31, 0x33, 0x30, 0x35
826*e0c4386eSCy Schubert }
827*e0c4386eSCy Schubert },
828*e0c4386eSCy Schubert {
829*e0c4386eSCy Schubert 16,
830*e0c4386eSCy Schubert {
831*e0c4386eSCy Schubert 0xa6, 0xf7, 0x45, 0x00, 0x8f, 0x81, 0xc9, 0x16,
832*e0c4386eSCy Schubert 0xa2, 0x0d, 0xcc, 0x74, 0xee, 0xf2, 0xb2, 0xf0
833*e0c4386eSCy Schubert }
834*e0c4386eSCy Schubert },
835*e0c4386eSCy Schubert },
836*e0c4386eSCy Schubert {
837*e0c4386eSCy Schubert {
838*e0c4386eSCy Schubert 32,
839*e0c4386eSCy Schubert {
840*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
841*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
842*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
843*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
844*e0c4386eSCy Schubert }
845*e0c4386eSCy Schubert },
846*e0c4386eSCy Schubert {
847*e0c4386eSCy Schubert 32,
848*e0c4386eSCy Schubert {
849*e0c4386eSCy Schubert 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20,
850*e0c4386eSCy Schubert 0x33, 0x32, 0x2d, 0x62, 0x79, 0x74, 0x65, 0x20,
851*e0c4386eSCy Schubert 0x6b, 0x65, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20,
852*e0c4386eSCy Schubert 0x50, 0x6f, 0x6c, 0x79, 0x31, 0x33, 0x30, 0x35
853*e0c4386eSCy Schubert }
854*e0c4386eSCy Schubert },
855*e0c4386eSCy Schubert {
856*e0c4386eSCy Schubert 16,
857*e0c4386eSCy Schubert {
858*e0c4386eSCy Schubert 0x49, 0xec, 0x78, 0x09, 0x0e, 0x48, 0x1e, 0xc6,
859*e0c4386eSCy Schubert 0xc2, 0x6b, 0x33, 0xb9, 0x1c, 0xcc, 0x03, 0x07
860*e0c4386eSCy Schubert }
861*e0c4386eSCy Schubert },
862*e0c4386eSCy Schubert },
863*e0c4386eSCy Schubert {
864*e0c4386eSCy Schubert {
865*e0c4386eSCy Schubert 128,
866*e0c4386eSCy Schubert {
867*e0c4386eSCy Schubert 0x89, 0xda, 0xb8, 0x0b, 0x77, 0x17, 0xc1, 0xdb,
868*e0c4386eSCy Schubert 0x5d, 0xb4, 0x37, 0x86, 0x0a, 0x3f, 0x70, 0x21,
869*e0c4386eSCy Schubert 0x8e, 0x93, 0xe1, 0xb8, 0xf4, 0x61, 0xfb, 0x67,
870*e0c4386eSCy Schubert 0x7f, 0x16, 0xf3, 0x5f, 0x6f, 0x87, 0xe2, 0xa9,
871*e0c4386eSCy Schubert
872*e0c4386eSCy Schubert 0x1c, 0x99, 0xbc, 0x3a, 0x47, 0xac, 0xe4, 0x76,
873*e0c4386eSCy Schubert 0x40, 0xcc, 0x95, 0xc3, 0x45, 0xbe, 0x5e, 0xcc,
874*e0c4386eSCy Schubert 0xa5, 0xa3, 0x52, 0x3c, 0x35, 0xcc, 0x01, 0x89,
875*e0c4386eSCy Schubert 0x3a, 0xf0, 0xb6, 0x4a, 0x62, 0x03, 0x34, 0x27,
876*e0c4386eSCy Schubert
877*e0c4386eSCy Schubert 0x03, 0x72, 0xec, 0x12, 0x48, 0x2d, 0x1b, 0x1e,
878*e0c4386eSCy Schubert 0x36, 0x35, 0x61, 0x69, 0x8a, 0x57, 0x8b, 0x35,
879*e0c4386eSCy Schubert 0x98, 0x03, 0x49, 0x5b, 0xb4, 0xe2, 0xef, 0x19,
880*e0c4386eSCy Schubert 0x30, 0xb1, 0x7a, 0x51, 0x90, 0xb5, 0x80, 0xf1,
881*e0c4386eSCy Schubert
882*e0c4386eSCy Schubert 0x41, 0x30, 0x0d, 0xf3, 0x0a, 0xdb, 0xec, 0xa2,
883*e0c4386eSCy Schubert 0x8f, 0x64, 0x27, 0xa8, 0xbc, 0x1a, 0x99, 0x9f,
884*e0c4386eSCy Schubert 0xd5, 0x1c, 0x55, 0x4a, 0x01, 0x7d, 0x09, 0x5d,
885*e0c4386eSCy Schubert 0x8c, 0x3e, 0x31, 0x27, 0xda, 0xf9, 0xf5, 0x95
886*e0c4386eSCy Schubert }
887*e0c4386eSCy Schubert },
888*e0c4386eSCy Schubert {
889*e0c4386eSCy Schubert 32,
890*e0c4386eSCy Schubert {
891*e0c4386eSCy Schubert 0x2d, 0x77, 0x3b, 0xe3, 0x7a, 0xdb, 0x1e, 0x4d,
892*e0c4386eSCy Schubert 0x68, 0x3b, 0xf0, 0x07, 0x5e, 0x79, 0xc4, 0xee,
893*e0c4386eSCy Schubert 0x03, 0x79, 0x18, 0x53, 0x5a, 0x7f, 0x99, 0xcc,
894*e0c4386eSCy Schubert 0xb7, 0x04, 0x0f, 0xb5, 0xf5, 0xf4, 0x3a, 0xea
895*e0c4386eSCy Schubert }
896*e0c4386eSCy Schubert },
897*e0c4386eSCy Schubert {
898*e0c4386eSCy Schubert 16,
899*e0c4386eSCy Schubert {
900*e0c4386eSCy Schubert 0xc8, 0x5d, 0x15, 0xed, 0x44, 0xc3, 0x78, 0xd6,
901*e0c4386eSCy Schubert 0xb0, 0x0e, 0x23, 0x06, 0x4c, 0x7b, 0xcd, 0x51
902*e0c4386eSCy Schubert }
903*e0c4386eSCy Schubert },
904*e0c4386eSCy Schubert },
905*e0c4386eSCy Schubert {
906*e0c4386eSCy Schubert {
907*e0c4386eSCy Schubert 528,
908*e0c4386eSCy Schubert {
909*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,
910*e0c4386eSCy Schubert 0x17, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00,
911*e0c4386eSCy Schubert
912*e0c4386eSCy Schubert 0x06, 0xdb, 0x1f, 0x1f, 0x36, 0x8d, 0x69, 0x6a,
913*e0c4386eSCy Schubert 0x81, 0x0a, 0x34, 0x9c, 0x0c, 0x71, 0x4c, 0x9a,
914*e0c4386eSCy Schubert 0x5e, 0x78, 0x50, 0xc2, 0x40, 0x7d, 0x72, 0x1a,
915*e0c4386eSCy Schubert 0xcd, 0xed, 0x95, 0xe0, 0x18, 0xd7, 0xa8, 0x52,
916*e0c4386eSCy Schubert
917*e0c4386eSCy Schubert 0x66, 0xa6, 0xe1, 0x28, 0x9c, 0xdb, 0x4a, 0xeb,
918*e0c4386eSCy Schubert 0x18, 0xda, 0x5a, 0xc8, 0xa2, 0xb0, 0x02, 0x6d,
919*e0c4386eSCy Schubert 0x24, 0xa5, 0x9a, 0xd4, 0x85, 0x22, 0x7f, 0x3e,
920*e0c4386eSCy Schubert 0xae, 0xdb, 0xb2, 0xe7, 0xe3, 0x5e, 0x1c, 0x66,
921*e0c4386eSCy Schubert
922*e0c4386eSCy Schubert 0xcd, 0x60, 0xf9, 0xab, 0xf7, 0x16, 0xdc, 0xc9,
923*e0c4386eSCy Schubert 0xac, 0x42, 0x68, 0x2d, 0xd7, 0xda, 0xb2, 0x87,
924*e0c4386eSCy Schubert 0xa7, 0x02, 0x4c, 0x4e, 0xef, 0xc3, 0x21, 0xcc,
925*e0c4386eSCy Schubert 0x05, 0x74, 0xe1, 0x67, 0x93, 0xe3, 0x7c, 0xec,
926*e0c4386eSCy Schubert
927*e0c4386eSCy Schubert 0x03, 0xc5, 0xbd, 0xa4, 0x2b, 0x54, 0xc1, 0x14,
928*e0c4386eSCy Schubert 0xa8, 0x0b, 0x57, 0xaf, 0x26, 0x41, 0x6c, 0x7b,
929*e0c4386eSCy Schubert 0xe7, 0x42, 0x00, 0x5e, 0x20, 0x85, 0x5c, 0x73,
930*e0c4386eSCy Schubert 0xe2, 0x1d, 0xc8, 0xe2, 0xed, 0xc9, 0xd4, 0x35,
931*e0c4386eSCy Schubert
932*e0c4386eSCy Schubert 0xcb, 0x6f, 0x60, 0x59, 0x28, 0x00, 0x11, 0xc2,
933*e0c4386eSCy Schubert 0x70, 0xb7, 0x15, 0x70, 0x05, 0x1c, 0x1c, 0x9b,
934*e0c4386eSCy Schubert 0x30, 0x52, 0x12, 0x66, 0x20, 0xbc, 0x1e, 0x27,
935*e0c4386eSCy Schubert 0x30, 0xfa, 0x06, 0x6c, 0x7a, 0x50, 0x9d, 0x53,
936*e0c4386eSCy Schubert
937*e0c4386eSCy Schubert 0xc6, 0x0e, 0x5a, 0xe1, 0xb4, 0x0a, 0xa6, 0xe3,
938*e0c4386eSCy Schubert 0x9e, 0x49, 0x66, 0x92, 0x28, 0xc9, 0x0e, 0xec,
939*e0c4386eSCy Schubert 0xb4, 0xa5, 0x0d, 0xb3, 0x2a, 0x50, 0xbc, 0x49,
940*e0c4386eSCy Schubert 0xe9, 0x0b, 0x4f, 0x4b, 0x35, 0x9a, 0x1d, 0xfd,
941*e0c4386eSCy Schubert
942*e0c4386eSCy Schubert 0x11, 0x74, 0x9c, 0xd3, 0x86, 0x7f, 0xcf, 0x2f,
943*e0c4386eSCy Schubert 0xb7, 0xbb, 0x6c, 0xd4, 0x73, 0x8f, 0x6a, 0x4a,
944*e0c4386eSCy Schubert 0xd6, 0xf7, 0xca, 0x50, 0x58, 0xf7, 0x61, 0x88,
945*e0c4386eSCy Schubert 0x45, 0xaf, 0x9f, 0x02, 0x0f, 0x6c, 0x3b, 0x96,
946*e0c4386eSCy Schubert
947*e0c4386eSCy Schubert 0x7b, 0x8f, 0x4c, 0xd4, 0xa9, 0x1e, 0x28, 0x13,
948*e0c4386eSCy Schubert 0xb5, 0x07, 0xae, 0x66, 0xf2, 0xd3, 0x5c, 0x18,
949*e0c4386eSCy Schubert 0x28, 0x4f, 0x72, 0x92, 0x18, 0x60, 0x62, 0xe1,
950*e0c4386eSCy Schubert 0x0f, 0xd5, 0x51, 0x0d, 0x18, 0x77, 0x53, 0x51,
951*e0c4386eSCy Schubert
952*e0c4386eSCy Schubert 0xef, 0x33, 0x4e, 0x76, 0x34, 0xab, 0x47, 0x43,
953*e0c4386eSCy Schubert 0xf5, 0xb6, 0x8f, 0x49, 0xad, 0xca, 0xb3, 0x84,
954*e0c4386eSCy Schubert 0xd3, 0xfd, 0x75, 0xf7, 0x39, 0x0f, 0x40, 0x06,
955*e0c4386eSCy Schubert 0xef, 0x2a, 0x29, 0x5c, 0x8c, 0x7a, 0x07, 0x6a,
956*e0c4386eSCy Schubert
957*e0c4386eSCy Schubert 0xd5, 0x45, 0x46, 0xcd, 0x25, 0xd2, 0x10, 0x7f,
958*e0c4386eSCy Schubert 0xbe, 0x14, 0x36, 0xc8, 0x40, 0x92, 0x4a, 0xae,
959*e0c4386eSCy Schubert 0xbe, 0x5b, 0x37, 0x08, 0x93, 0xcd, 0x63, 0xd1,
960*e0c4386eSCy Schubert 0x32, 0x5b, 0x86, 0x16, 0xfc, 0x48, 0x10, 0x88,
961*e0c4386eSCy Schubert
962*e0c4386eSCy Schubert 0x6b, 0xc1, 0x52, 0xc5, 0x32, 0x21, 0xb6, 0xdf,
963*e0c4386eSCy Schubert 0x37, 0x31, 0x19, 0x39, 0x32, 0x55, 0xee, 0x72,
964*e0c4386eSCy Schubert 0xbc, 0xaa, 0x88, 0x01, 0x74, 0xf1, 0x71, 0x7f,
965*e0c4386eSCy Schubert 0x91, 0x84, 0xfa, 0x91, 0x64, 0x6f, 0x17, 0xa2,
966*e0c4386eSCy Schubert
967*e0c4386eSCy Schubert 0x4a, 0xc5, 0x5d, 0x16, 0xbf, 0xdd, 0xca, 0x95,
968*e0c4386eSCy Schubert 0x81, 0xa9, 0x2e, 0xda, 0x47, 0x92, 0x01, 0xf0,
969*e0c4386eSCy Schubert 0xed, 0xbf, 0x63, 0x36, 0x00, 0xd6, 0x06, 0x6d,
970*e0c4386eSCy Schubert 0x1a, 0xb3, 0x6d, 0x5d, 0x24, 0x15, 0xd7, 0x13,
971*e0c4386eSCy Schubert
972*e0c4386eSCy Schubert 0x51, 0xbb, 0xcd, 0x60, 0x8a, 0x25, 0x10, 0x8d,
973*e0c4386eSCy Schubert 0x25, 0x64, 0x19, 0x92, 0xc1, 0xf2, 0x6c, 0x53,
974*e0c4386eSCy Schubert 0x1c, 0xf9, 0xf9, 0x02, 0x03, 0xbc, 0x4c, 0xc1,
975*e0c4386eSCy Schubert 0x9f, 0x59, 0x27, 0xd8, 0x34, 0xb0, 0xa4, 0x71,
976*e0c4386eSCy Schubert
977*e0c4386eSCy Schubert 0x16, 0xd3, 0x88, 0x4b, 0xbb, 0x16, 0x4b, 0x8e,
978*e0c4386eSCy Schubert 0xc8, 0x83, 0xd1, 0xac, 0x83, 0x2e, 0x56, 0xb3,
979*e0c4386eSCy Schubert 0x91, 0x8a, 0x98, 0x60, 0x1a, 0x08, 0xd1, 0x71,
980*e0c4386eSCy Schubert 0x88, 0x15, 0x41, 0xd5, 0x94, 0xdb, 0x39, 0x9c,
981*e0c4386eSCy Schubert
982*e0c4386eSCy Schubert 0x6a, 0xe6, 0x15, 0x12, 0x21, 0x74, 0x5a, 0xec,
983*e0c4386eSCy Schubert 0x81, 0x4c, 0x45, 0xb0, 0xb0, 0x5b, 0x56, 0x54,
984*e0c4386eSCy Schubert 0x36, 0xfd, 0x6f, 0x13, 0x7a, 0xa1, 0x0a, 0x0c,
985*e0c4386eSCy Schubert 0x0b, 0x64, 0x37, 0x61, 0xdb, 0xd6, 0xf9, 0xa9,
986*e0c4386eSCy Schubert
987*e0c4386eSCy Schubert 0xdc, 0xb9, 0x9b, 0x1a, 0x6e, 0x69, 0x08, 0x54,
988*e0c4386eSCy Schubert 0xce, 0x07, 0x69, 0xcd, 0xe3, 0x97, 0x61, 0xd8,
989*e0c4386eSCy Schubert 0x2f, 0xcd, 0xec, 0x15, 0xf0, 0xd9, 0x2d, 0x7d,
990*e0c4386eSCy Schubert 0x8e, 0x94, 0xad, 0xe8, 0xeb, 0x83, 0xfb, 0xe0
991*e0c4386eSCy Schubert }
992*e0c4386eSCy Schubert },
993*e0c4386eSCy Schubert {
994*e0c4386eSCy Schubert 32,
995*e0c4386eSCy Schubert {
996*e0c4386eSCy Schubert 0x99, 0xe5, 0x82, 0x2d, 0xd4, 0x17, 0x3c, 0x99,
997*e0c4386eSCy Schubert 0x5e, 0x3d, 0xae, 0x0d, 0xde, 0xfb, 0x97, 0x74,
998*e0c4386eSCy Schubert 0x3f, 0xde, 0x3b, 0x08, 0x01, 0x34, 0xb3, 0x9f,
999*e0c4386eSCy Schubert 0x76, 0xe9, 0xbf, 0x8d, 0x0e, 0x88, 0xd5, 0x46
1000*e0c4386eSCy Schubert }
1001*e0c4386eSCy Schubert },
1002*e0c4386eSCy Schubert {
1003*e0c4386eSCy Schubert 16,
1004*e0c4386eSCy Schubert {
1005*e0c4386eSCy Schubert 0x26, 0x37, 0x40, 0x8f, 0xe1, 0x30, 0x86, 0xea,
1006*e0c4386eSCy Schubert 0x73, 0xf9, 0x71, 0xe3, 0x42, 0x5e, 0x28, 0x20
1007*e0c4386eSCy Schubert }
1008*e0c4386eSCy Schubert },
1009*e0c4386eSCy Schubert },
1010*e0c4386eSCy Schubert /*
1011*e0c4386eSCy Schubert * test vectors from Hanno Böck
1012*e0c4386eSCy Schubert */
1013*e0c4386eSCy Schubert {
1014*e0c4386eSCy Schubert {
1015*e0c4386eSCy Schubert 257,
1016*e0c4386eSCy Schubert {
1017*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1018*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1019*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1020*e0c4386eSCy Schubert 0xcc, 0x80, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1021*e0c4386eSCy Schubert
1022*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1023*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1024*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1025*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xce, 0xcc, 0xcc, 0xcc,
1026*e0c4386eSCy Schubert
1027*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1028*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xc5,
1029*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1030*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1031*e0c4386eSCy Schubert
1032*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xe3, 0xcc, 0xcc,
1033*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1034*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1035*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1036*e0c4386eSCy Schubert
1037*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xac, 0xcc, 0xcc, 0xcc,
1038*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xe6,
1039*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x00, 0x00, 0x00,
1040*e0c4386eSCy Schubert 0xaf, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc,
1041*e0c4386eSCy Schubert
1042*e0c4386eSCy Schubert 0xcc, 0xcc, 0xff, 0xff, 0xff, 0xf5, 0x00, 0x00,
1043*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1044*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1045*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1046*e0c4386eSCy Schubert
1047*e0c4386eSCy Schubert 0x00, 0xff, 0xff, 0xff, 0xe7, 0x00, 0x00, 0x00,
1048*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1049*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1050*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1051*e0c4386eSCy Schubert
1052*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1053*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1054*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1055*e0c4386eSCy Schubert 0x00, 0x00, 0x71, 0x92, 0x05, 0xa8, 0x52, 0x1d,
1056*e0c4386eSCy Schubert
1057*e0c4386eSCy Schubert 0xfc
1058*e0c4386eSCy Schubert }
1059*e0c4386eSCy Schubert },
1060*e0c4386eSCy Schubert {
1061*e0c4386eSCy Schubert 32,
1062*e0c4386eSCy Schubert {
1063*e0c4386eSCy Schubert 0x7f, 0x1b, 0x02, 0x64, 0x00, 0x00, 0x00, 0x00,
1064*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1065*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1066*e0c4386eSCy Schubert 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc
1067*e0c4386eSCy Schubert }
1068*e0c4386eSCy Schubert },
1069*e0c4386eSCy Schubert {
1070*e0c4386eSCy Schubert 16,
1071*e0c4386eSCy Schubert {
1072*e0c4386eSCy Schubert 0x85, 0x59, 0xb8, 0x76, 0xec, 0xee, 0xd6, 0x6e,
1073*e0c4386eSCy Schubert 0xb3, 0x77, 0x98, 0xc0, 0x45, 0x7b, 0xaf, 0xf9
1074*e0c4386eSCy Schubert }
1075*e0c4386eSCy Schubert },
1076*e0c4386eSCy Schubert },
1077*e0c4386eSCy Schubert {
1078*e0c4386eSCy Schubert {
1079*e0c4386eSCy Schubert 39,
1080*e0c4386eSCy Schubert {
1081*e0c4386eSCy Schubert 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
1082*e0c4386eSCy Schubert 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
1083*e0c4386eSCy Schubert 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
1084*e0c4386eSCy Schubert 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00,
1085*e0c4386eSCy Schubert
1086*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x80, 0x02, 0x64
1087*e0c4386eSCy Schubert }
1088*e0c4386eSCy Schubert },
1089*e0c4386eSCy Schubert {
1090*e0c4386eSCy Schubert 32,
1091*e0c4386eSCy Schubert {
1092*e0c4386eSCy Schubert 0xe0, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00,
1093*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1094*e0c4386eSCy Schubert 0x00, 0x00, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
1095*e0c4386eSCy Schubert 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa
1096*e0c4386eSCy Schubert }
1097*e0c4386eSCy Schubert },
1098*e0c4386eSCy Schubert {
1099*e0c4386eSCy Schubert 16,
1100*e0c4386eSCy Schubert {
1101*e0c4386eSCy Schubert 0x00, 0xbd, 0x12, 0x58, 0x97, 0x8e, 0x20, 0x54,
1102*e0c4386eSCy Schubert 0x44, 0xc9, 0xaa, 0xaa, 0x82, 0x00, 0x6f, 0xed
1103*e0c4386eSCy Schubert }
1104*e0c4386eSCy Schubert },
1105*e0c4386eSCy Schubert },
1106*e0c4386eSCy Schubert {
1107*e0c4386eSCy Schubert {
1108*e0c4386eSCy Schubert 2,
1109*e0c4386eSCy Schubert {
1110*e0c4386eSCy Schubert 0x02, 0xfc
1111*e0c4386eSCy Schubert }
1112*e0c4386eSCy Schubert },
1113*e0c4386eSCy Schubert {
1114*e0c4386eSCy Schubert 32,
1115*e0c4386eSCy Schubert {
1116*e0c4386eSCy Schubert 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
1117*e0c4386eSCy Schubert 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
1118*e0c4386eSCy Schubert 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
1119*e0c4386eSCy Schubert 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c
1120*e0c4386eSCy Schubert }
1121*e0c4386eSCy Schubert },
1122*e0c4386eSCy Schubert {
1123*e0c4386eSCy Schubert 16,
1124*e0c4386eSCy Schubert {
1125*e0c4386eSCy Schubert 0x06, 0x12, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
1126*e0c4386eSCy Schubert 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c
1127*e0c4386eSCy Schubert }
1128*e0c4386eSCy Schubert },
1129*e0c4386eSCy Schubert },
1130*e0c4386eSCy Schubert {
1131*e0c4386eSCy Schubert {
1132*e0c4386eSCy Schubert 415,
1133*e0c4386eSCy Schubert {
1134*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1135*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1136*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1137*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1138*e0c4386eSCy Schubert
1139*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7a, 0x7b,
1140*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1141*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1142*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1143*e0c4386eSCy Schubert
1144*e0c4386eSCy Schubert 0x7b, 0x7b, 0x5c, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1145*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1146*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1147*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1148*e0c4386eSCy Schubert
1149*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1150*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1151*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x6e, 0x7b, 0x00, 0x7b,
1152*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1153*e0c4386eSCy Schubert
1154*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1155*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1156*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7a, 0x7b, 0x7b, 0x7b, 0x7b,
1157*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1158*e0c4386eSCy Schubert
1159*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1160*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x5c,
1161*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1162*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1163*e0c4386eSCy Schubert
1164*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1165*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1166*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1167*e0c4386eSCy Schubert 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b, 0x7b,
1168*e0c4386eSCy Schubert
1169*e0c4386eSCy Schubert 0x7b, 0x6e, 0x7b, 0x00, 0x13, 0x00, 0x00, 0x00,
1170*e0c4386eSCy Schubert 0x00, 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1171*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1172*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1173*e0c4386eSCy Schubert
1174*e0c4386eSCy Schubert 0xf2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1175*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1176*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x20, 0x00, 0xef, 0xff, 0x00,
1177*e0c4386eSCy Schubert 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1178*e0c4386eSCy Schubert
1179*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
1180*e0c4386eSCy Schubert 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x64, 0x00,
1181*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1182*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x00,
1183*e0c4386eSCy Schubert
1184*e0c4386eSCy Schubert 0xb3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1185*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1186*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2,
1187*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1188*e0c4386eSCy Schubert
1189*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1190*e0c4386eSCy Schubert 0x00, 0x00, 0x20, 0x00, 0xef, 0xff, 0x00, 0x09,
1191*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1192*e0c4386eSCy Schubert 0x00, 0x7a, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
1193*e0c4386eSCy Schubert
1194*e0c4386eSCy Schubert 0x00, 0x09, 0x00, 0x00, 0x00, 0x64, 0x00, 0x00,
1195*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1196*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1197*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc
1198*e0c4386eSCy Schubert }
1199*e0c4386eSCy Schubert },
1200*e0c4386eSCy Schubert {
1201*e0c4386eSCy Schubert 32,
1202*e0c4386eSCy Schubert {
1203*e0c4386eSCy Schubert 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1204*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1205*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00,
1206*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7b, 0x7b
1207*e0c4386eSCy Schubert }
1208*e0c4386eSCy Schubert },
1209*e0c4386eSCy Schubert {
1210*e0c4386eSCy Schubert 16,
1211*e0c4386eSCy Schubert {
1212*e0c4386eSCy Schubert 0x33, 0x20, 0x5b, 0xbf, 0x9e, 0x9f, 0x8f, 0x72,
1213*e0c4386eSCy Schubert 0x12, 0xab, 0x9e, 0x2a, 0xb9, 0xb7, 0xe4, 0xa5
1214*e0c4386eSCy Schubert }
1215*e0c4386eSCy Schubert },
1216*e0c4386eSCy Schubert },
1217*e0c4386eSCy Schubert {
1218*e0c4386eSCy Schubert {
1219*e0c4386eSCy Schubert 118,
1220*e0c4386eSCy Schubert {
1221*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
1222*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
1223*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
1224*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
1225*e0c4386eSCy Schubert
1226*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
1227*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
1228*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
1229*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
1230*e0c4386eSCy Schubert
1231*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
1232*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0xff, 0xff, 0xff, 0xe9,
1233*e0c4386eSCy Schubert 0xe9, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac,
1234*e0c4386eSCy Schubert 0xac, 0xac, 0xac, 0xac, 0x00, 0x00, 0xac, 0xac,
1235*e0c4386eSCy Schubert
1236*e0c4386eSCy Schubert 0xec, 0x01, 0x00, 0xac, 0xac, 0xac, 0x2c, 0xac,
1237*e0c4386eSCy Schubert 0xa2, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac, 0xac,
1238*e0c4386eSCy Schubert 0xac, 0xac, 0xac, 0xac, 0x64, 0xf2
1239*e0c4386eSCy Schubert }
1240*e0c4386eSCy Schubert },
1241*e0c4386eSCy Schubert {
1242*e0c4386eSCy Schubert 32,
1243*e0c4386eSCy Schubert {
1244*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x7f,
1245*e0c4386eSCy Schubert 0x01, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00,
1246*e0c4386eSCy Schubert 0x00, 0x00, 0xcf, 0x77, 0x77, 0x77, 0x77, 0x77,
1247*e0c4386eSCy Schubert 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77
1248*e0c4386eSCy Schubert }
1249*e0c4386eSCy Schubert },
1250*e0c4386eSCy Schubert {
1251*e0c4386eSCy Schubert 16,
1252*e0c4386eSCy Schubert {
1253*e0c4386eSCy Schubert 0x02, 0xee, 0x7c, 0x8c, 0x54, 0x6d, 0xde, 0xb1,
1254*e0c4386eSCy Schubert 0xa4, 0x67, 0xe4, 0xc3, 0x98, 0x11, 0x58, 0xb9
1255*e0c4386eSCy Schubert }
1256*e0c4386eSCy Schubert },
1257*e0c4386eSCy Schubert },
1258*e0c4386eSCy Schubert /*
1259*e0c4386eSCy Schubert * test vectors from Andrew Moon
1260*e0c4386eSCy Schubert */
1261*e0c4386eSCy Schubert { /* nacl */
1262*e0c4386eSCy Schubert {
1263*e0c4386eSCy Schubert 131,
1264*e0c4386eSCy Schubert {
1265*e0c4386eSCy Schubert 0x8e, 0x99, 0x3b, 0x9f, 0x48, 0x68, 0x12, 0x73,
1266*e0c4386eSCy Schubert 0xc2, 0x96, 0x50, 0xba, 0x32, 0xfc, 0x76, 0xce,
1267*e0c4386eSCy Schubert 0x48, 0x33, 0x2e, 0xa7, 0x16, 0x4d, 0x96, 0xa4,
1268*e0c4386eSCy Schubert 0x47, 0x6f, 0xb8, 0xc5, 0x31, 0xa1, 0x18, 0x6a,
1269*e0c4386eSCy Schubert
1270*e0c4386eSCy Schubert 0xc0, 0xdf, 0xc1, 0x7c, 0x98, 0xdc, 0xe8, 0x7b,
1271*e0c4386eSCy Schubert 0x4d, 0xa7, 0xf0, 0x11, 0xec, 0x48, 0xc9, 0x72,
1272*e0c4386eSCy Schubert 0x71, 0xd2, 0xc2, 0x0f, 0x9b, 0x92, 0x8f, 0xe2,
1273*e0c4386eSCy Schubert 0x27, 0x0d, 0x6f, 0xb8, 0x63, 0xd5, 0x17, 0x38,
1274*e0c4386eSCy Schubert
1275*e0c4386eSCy Schubert 0xb4, 0x8e, 0xee, 0xe3, 0x14, 0xa7, 0xcc, 0x8a,
1276*e0c4386eSCy Schubert 0xb9, 0x32, 0x16, 0x45, 0x48, 0xe5, 0x26, 0xae,
1277*e0c4386eSCy Schubert 0x90, 0x22, 0x43, 0x68, 0x51, 0x7a, 0xcf, 0xea,
1278*e0c4386eSCy Schubert 0xbd, 0x6b, 0xb3, 0x73, 0x2b, 0xc0, 0xe9, 0xda,
1279*e0c4386eSCy Schubert
1280*e0c4386eSCy Schubert 0x99, 0x83, 0x2b, 0x61, 0xca, 0x01, 0xb6, 0xde,
1281*e0c4386eSCy Schubert 0x56, 0x24, 0x4a, 0x9e, 0x88, 0xd5, 0xf9, 0xb3,
1282*e0c4386eSCy Schubert 0x79, 0x73, 0xf6, 0x22, 0xa4, 0x3d, 0x14, 0xa6,
1283*e0c4386eSCy Schubert 0x59, 0x9b, 0x1f, 0x65, 0x4c, 0xb4, 0x5a, 0x74,
1284*e0c4386eSCy Schubert
1285*e0c4386eSCy Schubert 0xe3, 0x55, 0xa5
1286*e0c4386eSCy Schubert }
1287*e0c4386eSCy Schubert },
1288*e0c4386eSCy Schubert {
1289*e0c4386eSCy Schubert 32,
1290*e0c4386eSCy Schubert {
1291*e0c4386eSCy Schubert 0xee, 0xa6, 0xa7, 0x25, 0x1c, 0x1e, 0x72, 0x91,
1292*e0c4386eSCy Schubert 0x6d, 0x11, 0xc2, 0xcb, 0x21, 0x4d, 0x3c, 0x25,
1293*e0c4386eSCy Schubert 0x25, 0x39, 0x12, 0x1d, 0x8e, 0x23, 0x4e, 0x65,
1294*e0c4386eSCy Schubert 0x2d, 0x65, 0x1f, 0xa4, 0xc8, 0xcf, 0xf8, 0x80
1295*e0c4386eSCy Schubert }
1296*e0c4386eSCy Schubert },
1297*e0c4386eSCy Schubert {
1298*e0c4386eSCy Schubert 16,
1299*e0c4386eSCy Schubert {
1300*e0c4386eSCy Schubert 0xf3, 0xff, 0xc7, 0x70, 0x3f, 0x94, 0x00, 0xe5,
1301*e0c4386eSCy Schubert 0x2a, 0x7d, 0xfb, 0x4b, 0x3d, 0x33, 0x05, 0xd9
1302*e0c4386eSCy Schubert }
1303*e0c4386eSCy Schubert },
1304*e0c4386eSCy Schubert },
1305*e0c4386eSCy Schubert { /* wrap 2^130-5 */
1306*e0c4386eSCy Schubert {
1307*e0c4386eSCy Schubert 16,
1308*e0c4386eSCy Schubert {
1309*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1310*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
1311*e0c4386eSCy Schubert }
1312*e0c4386eSCy Schubert },
1313*e0c4386eSCy Schubert {
1314*e0c4386eSCy Schubert 32,
1315*e0c4386eSCy Schubert {
1316*e0c4386eSCy Schubert 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1317*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1318*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1319*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1320*e0c4386eSCy Schubert }
1321*e0c4386eSCy Schubert },
1322*e0c4386eSCy Schubert {
1323*e0c4386eSCy Schubert 16,
1324*e0c4386eSCy Schubert {
1325*e0c4386eSCy Schubert 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1326*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1327*e0c4386eSCy Schubert }
1328*e0c4386eSCy Schubert },
1329*e0c4386eSCy Schubert },
1330*e0c4386eSCy Schubert { /* wrap 2^128 */
1331*e0c4386eSCy Schubert {
1332*e0c4386eSCy Schubert 16,
1333*e0c4386eSCy Schubert {
1334*e0c4386eSCy Schubert 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1335*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1336*e0c4386eSCy Schubert }
1337*e0c4386eSCy Schubert },
1338*e0c4386eSCy Schubert {
1339*e0c4386eSCy Schubert 32,
1340*e0c4386eSCy Schubert {
1341*e0c4386eSCy Schubert 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1342*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1343*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1344*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
1345*e0c4386eSCy Schubert }
1346*e0c4386eSCy Schubert },
1347*e0c4386eSCy Schubert {
1348*e0c4386eSCy Schubert 16,
1349*e0c4386eSCy Schubert {
1350*e0c4386eSCy Schubert 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1351*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1352*e0c4386eSCy Schubert }
1353*e0c4386eSCy Schubert },
1354*e0c4386eSCy Schubert },
1355*e0c4386eSCy Schubert { /* limb carry */
1356*e0c4386eSCy Schubert {
1357*e0c4386eSCy Schubert 48,
1358*e0c4386eSCy Schubert {
1359*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1360*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1361*e0c4386eSCy Schubert 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1362*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1363*e0c4386eSCy Schubert
1364*e0c4386eSCy Schubert 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1365*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1366*e0c4386eSCy Schubert }
1367*e0c4386eSCy Schubert },
1368*e0c4386eSCy Schubert {
1369*e0c4386eSCy Schubert 32,
1370*e0c4386eSCy Schubert {
1371*e0c4386eSCy Schubert 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1372*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1373*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1374*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1375*e0c4386eSCy Schubert }
1376*e0c4386eSCy Schubert },
1377*e0c4386eSCy Schubert {
1378*e0c4386eSCy Schubert 16,
1379*e0c4386eSCy Schubert {
1380*e0c4386eSCy Schubert 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1381*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1382*e0c4386eSCy Schubert }
1383*e0c4386eSCy Schubert },
1384*e0c4386eSCy Schubert },
1385*e0c4386eSCy Schubert { /* 2^130-5 */
1386*e0c4386eSCy Schubert {
1387*e0c4386eSCy Schubert 48,
1388*e0c4386eSCy Schubert {
1389*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1390*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1391*e0c4386eSCy Schubert 0xfb, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
1392*e0c4386eSCy Schubert 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
1393*e0c4386eSCy Schubert
1394*e0c4386eSCy Schubert 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
1395*e0c4386eSCy Schubert 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
1396*e0c4386eSCy Schubert }
1397*e0c4386eSCy Schubert },
1398*e0c4386eSCy Schubert {
1399*e0c4386eSCy Schubert 32,
1400*e0c4386eSCy Schubert {
1401*e0c4386eSCy Schubert 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1402*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1403*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1404*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1405*e0c4386eSCy Schubert }
1406*e0c4386eSCy Schubert },
1407*e0c4386eSCy Schubert {
1408*e0c4386eSCy Schubert 16,
1409*e0c4386eSCy Schubert {
1410*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1411*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1412*e0c4386eSCy Schubert
1413*e0c4386eSCy Schubert }
1414*e0c4386eSCy Schubert },
1415*e0c4386eSCy Schubert },
1416*e0c4386eSCy Schubert { /* 2^130-6 */
1417*e0c4386eSCy Schubert {
1418*e0c4386eSCy Schubert 16,
1419*e0c4386eSCy Schubert {
1420*e0c4386eSCy Schubert 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1421*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
1422*e0c4386eSCy Schubert }
1423*e0c4386eSCy Schubert },
1424*e0c4386eSCy Schubert {
1425*e0c4386eSCy Schubert 32,
1426*e0c4386eSCy Schubert {
1427*e0c4386eSCy Schubert 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1428*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1429*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1430*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1431*e0c4386eSCy Schubert }
1432*e0c4386eSCy Schubert },
1433*e0c4386eSCy Schubert {
1434*e0c4386eSCy Schubert 16,
1435*e0c4386eSCy Schubert {
1436*e0c4386eSCy Schubert 0xfa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1437*e0c4386eSCy Schubert 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
1438*e0c4386eSCy Schubert }
1439*e0c4386eSCy Schubert },
1440*e0c4386eSCy Schubert },
1441*e0c4386eSCy Schubert { /* 5*H+L reduction intermediate */
1442*e0c4386eSCy Schubert {
1443*e0c4386eSCy Schubert 64,
1444*e0c4386eSCy Schubert {
1445*e0c4386eSCy Schubert 0xe3, 0x35, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0xb9,
1446*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1447*e0c4386eSCy Schubert 0x33, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0x79, 0xcd,
1448*e0c4386eSCy Schubert 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1449*e0c4386eSCy Schubert
1450*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1451*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1452*e0c4386eSCy Schubert 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1453*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1454*e0c4386eSCy Schubert }
1455*e0c4386eSCy Schubert },
1456*e0c4386eSCy Schubert {
1457*e0c4386eSCy Schubert 32,
1458*e0c4386eSCy Schubert {
1459*e0c4386eSCy Schubert 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1460*e0c4386eSCy Schubert 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1461*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1462*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1463*e0c4386eSCy Schubert }
1464*e0c4386eSCy Schubert },
1465*e0c4386eSCy Schubert {
1466*e0c4386eSCy Schubert 16,
1467*e0c4386eSCy Schubert {
1468*e0c4386eSCy Schubert 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1469*e0c4386eSCy Schubert 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1470*e0c4386eSCy Schubert }
1471*e0c4386eSCy Schubert },
1472*e0c4386eSCy Schubert },
1473*e0c4386eSCy Schubert { /* 5*H+L reduction final */
1474*e0c4386eSCy Schubert {
1475*e0c4386eSCy Schubert 48,
1476*e0c4386eSCy Schubert {
1477*e0c4386eSCy Schubert 0xe3, 0x35, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0xb9,
1478*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1479*e0c4386eSCy Schubert 0x33, 0x94, 0xd7, 0x50, 0x5e, 0x43, 0x79, 0xcd,
1480*e0c4386eSCy Schubert 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1481*e0c4386eSCy Schubert
1482*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1483*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1484*e0c4386eSCy Schubert
1485*e0c4386eSCy Schubert }
1486*e0c4386eSCy Schubert },
1487*e0c4386eSCy Schubert {
1488*e0c4386eSCy Schubert 32,
1489*e0c4386eSCy Schubert {
1490*e0c4386eSCy Schubert 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1491*e0c4386eSCy Schubert 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1492*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1493*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1494*e0c4386eSCy Schubert }
1495*e0c4386eSCy Schubert },
1496*e0c4386eSCy Schubert {
1497*e0c4386eSCy Schubert 16,
1498*e0c4386eSCy Schubert {
1499*e0c4386eSCy Schubert 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1500*e0c4386eSCy Schubert 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
1501*e0c4386eSCy Schubert }
1502*e0c4386eSCy Schubert }
1503*e0c4386eSCy Schubert }
1504*e0c4386eSCy Schubert };
1505*e0c4386eSCy Schubert
test_poly1305(int idx)1506*e0c4386eSCy Schubert static int test_poly1305(int idx)
1507*e0c4386eSCy Schubert {
1508*e0c4386eSCy Schubert POLY1305 poly1305;
1509*e0c4386eSCy Schubert const TESTDATA test = tests[idx];
1510*e0c4386eSCy Schubert const unsigned char *in = test.input.data;
1511*e0c4386eSCy Schubert size_t inlen = test.input.size;
1512*e0c4386eSCy Schubert const unsigned char *key = test.key.data;
1513*e0c4386eSCy Schubert const unsigned char *expected = test.expected.data;
1514*e0c4386eSCy Schubert size_t expectedlen = test.expected.size;
1515*e0c4386eSCy Schubert unsigned char out[16];
1516*e0c4386eSCy Schubert
1517*e0c4386eSCy Schubert if (!TEST_size_t_eq(expectedlen, sizeof(out)))
1518*e0c4386eSCy Schubert return 0;
1519*e0c4386eSCy Schubert
1520*e0c4386eSCy Schubert Poly1305_Init(&poly1305, key);
1521*e0c4386eSCy Schubert Poly1305_Update(&poly1305, in, inlen);
1522*e0c4386eSCy Schubert Poly1305_Final(&poly1305, out);
1523*e0c4386eSCy Schubert
1524*e0c4386eSCy Schubert if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) {
1525*e0c4386eSCy Schubert TEST_info("Poly1305 test #%d failed.", idx);
1526*e0c4386eSCy Schubert return 0;
1527*e0c4386eSCy Schubert }
1528*e0c4386eSCy Schubert
1529*e0c4386eSCy Schubert if (inlen > 16) {
1530*e0c4386eSCy Schubert Poly1305_Init(&poly1305, key);
1531*e0c4386eSCy Schubert Poly1305_Update(&poly1305, in, 1);
1532*e0c4386eSCy Schubert Poly1305_Update(&poly1305, in+1, inlen-1);
1533*e0c4386eSCy Schubert Poly1305_Final(&poly1305, out);
1534*e0c4386eSCy Schubert
1535*e0c4386eSCy Schubert if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) {
1536*e0c4386eSCy Schubert TEST_info("Poly1305 test #%d/1+(N-1) failed.", idx);
1537*e0c4386eSCy Schubert return 0;
1538*e0c4386eSCy Schubert }
1539*e0c4386eSCy Schubert }
1540*e0c4386eSCy Schubert
1541*e0c4386eSCy Schubert if (inlen > 32) {
1542*e0c4386eSCy Schubert size_t half = inlen / 2;
1543*e0c4386eSCy Schubert
1544*e0c4386eSCy Schubert Poly1305_Init(&poly1305, key);
1545*e0c4386eSCy Schubert Poly1305_Update(&poly1305, in, half);
1546*e0c4386eSCy Schubert Poly1305_Update(&poly1305, in+half, inlen-half);
1547*e0c4386eSCy Schubert Poly1305_Final(&poly1305, out);
1548*e0c4386eSCy Schubert
1549*e0c4386eSCy Schubert if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) {
1550*e0c4386eSCy Schubert TEST_info("Poly1305 test #%d/2 failed.", idx);
1551*e0c4386eSCy Schubert return 0;
1552*e0c4386eSCy Schubert }
1553*e0c4386eSCy Schubert
1554*e0c4386eSCy Schubert for (half = 16; half < inlen; half += 16) {
1555*e0c4386eSCy Schubert Poly1305_Init(&poly1305, key);
1556*e0c4386eSCy Schubert Poly1305_Update(&poly1305, in, half);
1557*e0c4386eSCy Schubert Poly1305_Update(&poly1305, in+half, inlen-half);
1558*e0c4386eSCy Schubert Poly1305_Final(&poly1305, out);
1559*e0c4386eSCy Schubert
1560*e0c4386eSCy Schubert if (!TEST_mem_eq(out, expectedlen, expected, expectedlen)) {
1561*e0c4386eSCy Schubert TEST_info("Poly1305 test #%d/%zu+%zu failed.",
1562*e0c4386eSCy Schubert idx, half, inlen-half);
1563*e0c4386eSCy Schubert return 0;
1564*e0c4386eSCy Schubert }
1565*e0c4386eSCy Schubert }
1566*e0c4386eSCy Schubert }
1567*e0c4386eSCy Schubert
1568*e0c4386eSCy Schubert return 1;
1569*e0c4386eSCy Schubert }
1570*e0c4386eSCy Schubert
setup_tests(void)1571*e0c4386eSCy Schubert int setup_tests(void)
1572*e0c4386eSCy Schubert {
1573*e0c4386eSCy Schubert ADD_ALL_TESTS(test_poly1305, OSSL_NELEM(tests));
1574*e0c4386eSCy Schubert return 1;
1575*e0c4386eSCy Schubert }
1576