Add additional sanity checks, remove unused arguments to vm_page_startup().
[dragonfly.git] / sys / opencrypto / castsb.h
1 /*      $FreeBSD: src/sys/opencrypto/castsb.h,v 1.1.2.1 2002/11/21 23:34:23 sam Exp $   */
2 /*      $DragonFly: src/sys/opencrypto/castsb.h,v 1.2 2003/06/17 04:28:54 dillon Exp $  */
3 /*      $OpenBSD: castsb.h,v 1.1 2000/02/28 23:13:04 deraadt Exp $       */
4 /*
5  *      CAST-128 in C
6  *      Written by Steve Reid <sreid@sea-to-sky.net>
7  *      100% Public Domain - no warranty
8  *      Released 1997.10.11
9  */
10
11 static const u_int32_t cast_sbox1[256] = {
12         0x30FB40D4, 0x9FA0FF0B, 0x6BECCD2F, 0x3F258C7A,
13         0x1E213F2F, 0x9C004DD3, 0x6003E540, 0xCF9FC949,
14         0xBFD4AF27, 0x88BBBDB5, 0xE2034090, 0x98D09675,
15         0x6E63A0E0, 0x15C361D2, 0xC2E7661D, 0x22D4FF8E,
16         0x28683B6F, 0xC07FD059, 0xFF2379C8, 0x775F50E2,
17         0x43C340D3, 0xDF2F8656, 0x887CA41A, 0xA2D2BD2D,
18         0xA1C9E0D6, 0x346C4819, 0x61B76D87, 0x22540F2F,
19         0x2ABE32E1, 0xAA54166B, 0x22568E3A, 0xA2D341D0,
20         0x66DB40C8, 0xA784392F, 0x004DFF2F, 0x2DB9D2DE,
21         0x97943FAC, 0x4A97C1D8, 0x527644B7, 0xB5F437A7,
22         0xB82CBAEF, 0xD751D159, 0x6FF7F0ED, 0x5A097A1F,
23         0x827B68D0, 0x90ECF52E, 0x22B0C054, 0xBC8E5935,
24         0x4B6D2F7F, 0x50BB64A2, 0xD2664910, 0xBEE5812D,
25         0xB7332290, 0xE93B159F, 0xB48EE411, 0x4BFF345D,
26         0xFD45C240, 0xAD31973F, 0xC4F6D02E, 0x55FC8165,
27         0xD5B1CAAD, 0xA1AC2DAE, 0xA2D4B76D, 0xC19B0C50,
28         0x882240F2, 0x0C6E4F38, 0xA4E4BFD7, 0x4F5BA272,
29         0x564C1D2F, 0xC59C5319, 0xB949E354, 0xB04669FE,
30         0xB1B6AB8A, 0xC71358DD, 0x6385C545, 0x110F935D,
31         0x57538AD5, 0x6A390493, 0xE63D37E0, 0x2A54F6B3,
32         0x3A787D5F, 0x6276A0B5, 0x19A6FCDF, 0x7A42206A,
33         0x29F9D4D5, 0xF61B1891, 0xBB72275E, 0xAA508167,
34         0x38901091, 0xC6B505EB, 0x84C7CB8C, 0x2AD75A0F,
35         0x874A1427, 0xA2D1936B, 0x2AD286AF, 0xAA56D291,
36         0xD7894360, 0x425C750D, 0x93B39E26, 0x187184C9,
37         0x6C00B32D, 0x73E2BB14, 0xA0BEBC3C, 0x54623779,
38         0x64459EAB, 0x3F328B82, 0x7718CF82, 0x59A2CEA6,
39         0x04EE002E, 0x89FE78E6, 0x3FAB0950, 0x325FF6C2,
40         0x81383F05, 0x6963C5C8, 0x76CB5AD6, 0xD49974C9,
41         0xCA180DCF, 0x380782D5, 0xC7FA5CF6, 0x8AC31511,
42         0x35E79E13, 0x47DA91D0, 0xF40F9086, 0xA7E2419E,
43         0x31366241, 0x051EF495, 0xAA573B04, 0x4A805D8D,
44         0x548300D0, 0x00322A3C, 0xBF64CDDF, 0xBA57A68E,
45         0x75C6372B, 0x50AFD341, 0xA7C13275, 0x915A0BF5,
46         0x6B54BFAB, 0x2B0B1426, 0xAB4CC9D7, 0x449CCD82,
47         0xF7FBF265, 0xAB85C5F3, 0x1B55DB94, 0xAAD4E324,
48         0xCFA4BD3F, 0x2DEAA3E2, 0x9E204D02, 0xC8BD25AC,
49         0xEADF55B3, 0xD5BD9E98, 0xE31231B2, 0x2AD5AD6C,
50         0x954329DE, 0xADBE4528, 0xD8710F69, 0xAA51C90F,
51         0xAA786BF6, 0x22513F1E, 0xAA51A79B, 0x2AD344CC,
52         0x7B5A41F0, 0xD37CFBAD, 0x1B069505, 0x41ECE491,
53         0xB4C332E6, 0x032268D4, 0xC9600ACC, 0xCE387E6D,
54         0xBF6BB16C, 0x6A70FB78, 0x0D03D9C9, 0xD4DF39DE,
55         0xE01063DA, 0x4736F464, 0x5AD328D8, 0xB347CC96,
56         0x75BB0FC3, 0x98511BFB, 0x4FFBCC35, 0xB58BCF6A,
57         0xE11F0ABC, 0xBFC5FE4A, 0xA70AEC10, 0xAC39570A,
58         0x3F04442F, 0x6188B153, 0xE0397A2E, 0x5727CB79,
59         0x9CEB418F, 0x1CACD68D, 0x2AD37C96, 0x0175CB9D,
60         0xC69DFF09, 0xC75B65F0, 0xD9DB40D8, 0xEC0E7779,
61         0x4744EAD4, 0xB11C3274, 0xDD24CB9E, 0x7E1C54BD,
62         0xF01144F9, 0xD2240EB1, 0x9675B3FD, 0xA3AC3755,
63         0xD47C27AF, 0x51C85F4D, 0x56907596, 0xA5BB15E6,
64         0x580304F0, 0xCA042CF1, 0x011A37EA, 0x8DBFAADB,
65         0x35BA3E4A, 0x3526FFA0, 0xC37B4D09, 0xBC306ED9,
66         0x98A52666, 0x5648F725, 0xFF5E569D, 0x0CED63D0,
67         0x7C63B2CF, 0x700B45E1, 0xD5EA50F1, 0x85A92872,
68         0xAF1FBDA7, 0xD4234870, 0xA7870BF3, 0x2D3B4D79,
69         0x42E04198, 0x0CD0EDE7, 0x26470DB8, 0xF881814C,
70         0x474D6AD7, 0x7C0C5E5C, 0xD1231959, 0x381B7298,
71         0xF5D2F4DB, 0xAB838653, 0x6E2F1E23, 0x83719C9E,
72         0xBD91E046, 0x9A56456E, 0xDC39200C, 0x20C8C571,
73         0x962BDA1C, 0xE1E696FF, 0xB141AB08, 0x7CCA89B9,
74         0x1A69E783, 0x02CC4843, 0xA2F7C579, 0x429EF47D,
75         0x427B169C, 0x5AC9F049, 0xDD8F0F00, 0x5C8165BF
76 };
77
78 static const u_int32_t cast_sbox2[256] = {
79         0x1F201094, 0xEF0BA75B, 0x69E3CF7E, 0x393F4380,
80         0xFE61CF7A, 0xEEC5207A, 0x55889C94, 0x72FC0651,
81         0xADA7EF79, 0x4E1D7235, 0xD55A63CE, 0xDE0436BA,
82         0x99C430EF, 0x5F0C0794, 0x18DCDB7D, 0xA1D6EFF3,
83         0xA0B52F7B, 0x59E83605, 0xEE15B094, 0xE9FFD909,
84         0xDC440086, 0xEF944459, 0xBA83CCB3, 0xE0C3CDFB,
85         0xD1DA4181, 0x3B092AB1, 0xF997F1C1, 0xA5E6CF7B,
86         0x01420DDB, 0xE4E7EF5B, 0x25A1FF41, 0xE180F806,
87         0x1FC41080, 0x179BEE7A, 0xD37AC6A9, 0xFE5830A4,
88         0x98DE8B7F, 0x77E83F4E, 0x79929269, 0x24FA9F7B,
89         0xE113C85B, 0xACC40083, 0xD7503525, 0xF7EA615F,
90         0x62143154, 0x0D554B63, 0x5D681121, 0xC866C359,
91         0x3D63CF73, 0xCEE234C0, 0xD4D87E87, 0x5C672B21,
92         0x071F6181, 0x39F7627F, 0x361E3084, 0xE4EB573B,
93         0x602F64A4, 0xD63ACD9C, 0x1BBC4635, 0x9E81032D,
94         0x2701F50C, 0x99847AB4, 0xA0E3DF79, 0xBA6CF38C,
95         0x10843094, 0x2537A95E, 0xF46F6FFE, 0xA1FF3B1F,
96         0x208CFB6A, 0x8F458C74, 0xD9E0A227, 0x4EC73A34,
97         0xFC884F69, 0x3E4DE8DF, 0xEF0E0088, 0x3559648D,
98         0x8A45388C, 0x1D804366, 0x721D9BFD, 0xA58684BB,
99         0xE8256333, 0x844E8212, 0x128D8098, 0xFED33FB4,
100         0xCE280AE1, 0x27E19BA5, 0xD5A6C252, 0xE49754BD,
101         0xC5D655DD, 0xEB667064, 0x77840B4D, 0xA1B6A801,
102         0x84DB26A9, 0xE0B56714, 0x21F043B7, 0xE5D05860,
103         0x54F03084, 0x066FF472, 0xA31AA153, 0xDADC4755,
104         0xB5625DBF, 0x68561BE6, 0x83CA6B94, 0x2D6ED23B,
105         0xECCF01DB, 0xA6D3D0BA, 0xB6803D5C, 0xAF77A709,
106         0x33B4A34C, 0x397BC8D6, 0x5EE22B95, 0x5F0E5304,
107         0x81ED6F61, 0x20E74364, 0xB45E1378, 0xDE18639B,
108         0x881CA122, 0xB96726D1, 0x8049A7E8, 0x22B7DA7B,
109         0x5E552D25, 0x5272D237, 0x79D2951C, 0xC60D894C,
110         0x488CB402, 0x1BA4FE5B, 0xA4B09F6B, 0x1CA815CF,
111         0xA20C3005, 0x8871DF63, 0xB9DE2FCB, 0x0CC6C9E9,
112         0x0BEEFF53, 0xE3214517, 0xB4542835, 0x9F63293C,
113         0xEE41E729, 0x6E1D2D7C, 0x50045286, 0x1E6685F3,
114         0xF33401C6, 0x30A22C95, 0x31A70850, 0x60930F13,
115         0x73F98417, 0xA1269859, 0xEC645C44, 0x52C877A9,
116         0xCDFF33A6, 0xA02B1741, 0x7CBAD9A2, 0x2180036F,
117         0x50D99C08, 0xCB3F4861, 0xC26BD765, 0x64A3F6AB,
118         0x80342676, 0x25A75E7B, 0xE4E6D1FC, 0x20C710E6,
119         0xCDF0B680, 0x17844D3B, 0x31EEF84D, 0x7E0824E4,
120         0x2CCB49EB, 0x846A3BAE, 0x8FF77888, 0xEE5D60F6,
121         0x7AF75673, 0x2FDD5CDB, 0xA11631C1, 0x30F66F43,
122         0xB3FAEC54, 0x157FD7FA, 0xEF8579CC, 0xD152DE58,
123         0xDB2FFD5E, 0x8F32CE19, 0x306AF97A, 0x02F03EF8,
124         0x99319AD5, 0xC242FA0F, 0xA7E3EBB0, 0xC68E4906,
125         0xB8DA230C, 0x80823028, 0xDCDEF3C8, 0xD35FB171,
126         0x088A1BC8, 0xBEC0C560, 0x61A3C9E8, 0xBCA8F54D,
127         0xC72FEFFA, 0x22822E99, 0x82C570B4, 0xD8D94E89,
128         0x8B1C34BC, 0x301E16E6, 0x273BE979, 0xB0FFEAA6,
129         0x61D9B8C6, 0x00B24869, 0xB7FFCE3F, 0x08DC283B,
130         0x43DAF65A, 0xF7E19798, 0x7619B72F, 0x8F1C9BA4,
131         0xDC8637A0, 0x16A7D3B1, 0x9FC393B7, 0xA7136EEB,
132         0xC6BCC63E, 0x1A513742, 0xEF6828BC, 0x520365D6,
133         0x2D6A77AB, 0x3527ED4B, 0x821FD216, 0x095C6E2E,
134         0xDB92F2FB, 0x5EEA29CB, 0x145892F5, 0x91584F7F,
135         0x5483697B, 0x2667A8CC, 0x85196048, 0x8C4BACEA,
136         0x833860D4, 0x0D23E0F9, 0x6C387E8A, 0x0AE6D249,
137         0xB284600C, 0xD835731D, 0xDCB1C647, 0xAC4C56EA,
138         0x3EBD81B3, 0x230EABB0, 0x6438BC87, 0xF0B5B1FA,
139         0x8F5EA2B3, 0xFC184642, 0x0A036B7A, 0x4FB089BD,
140         0x649DA589, 0xA345415E, 0x5C038323, 0x3E5D3BB9,
141         0x43D79572, 0x7E6DD07C, 0x06DFDF1E, 0x6C6CC4EF,
142         0x7160A539, 0x73BFBE70, 0x83877605, 0x4523ECF1
143 };
144
145 static const u_int32_t cast_sbox3[256] = {
146         0x8DEFC240, 0x25FA5D9F, 0xEB903DBF, 0xE810C907,
147         0x47607FFF, 0x369FE44B, 0x8C1FC644, 0xAECECA90,
148         0xBEB1F9BF, 0xEEFBCAEA, 0xE8CF1950, 0x51DF07AE,
149         0x920E8806, 0xF0AD0548, 0xE13C8D83, 0x927010D5,
150         0x11107D9F, 0x07647DB9, 0xB2E3E4D4, 0x3D4F285E,
151         0xB9AFA820, 0xFADE82E0, 0xA067268B, 0x8272792E,
152         0x553FB2C0, 0x489AE22B, 0xD4EF9794, 0x125E3FBC,
153         0x21FFFCEE, 0x825B1BFD, 0x9255C5ED, 0x1257A240,
154         0x4E1A8302, 0xBAE07FFF, 0x528246E7, 0x8E57140E,
155         0x3373F7BF, 0x8C9F8188, 0xA6FC4EE8, 0xC982B5A5,
156         0xA8C01DB7, 0x579FC264, 0x67094F31, 0xF2BD3F5F,
157         0x40FFF7C1, 0x1FB78DFC, 0x8E6BD2C1, 0x437BE59B,
158         0x99B03DBF, 0xB5DBC64B, 0x638DC0E6, 0x55819D99,
159         0xA197C81C, 0x4A012D6E, 0xC5884A28, 0xCCC36F71,
160         0xB843C213, 0x6C0743F1, 0x8309893C, 0x0FEDDD5F,
161         0x2F7FE850, 0xD7C07F7E, 0x02507FBF, 0x5AFB9A04,
162         0xA747D2D0, 0x1651192E, 0xAF70BF3E, 0x58C31380,
163         0x5F98302E, 0x727CC3C4, 0x0A0FB402, 0x0F7FEF82,
164         0x8C96FDAD, 0x5D2C2AAE, 0x8EE99A49, 0x50DA88B8,
165         0x8427F4A0, 0x1EAC5790, 0x796FB449, 0x8252DC15,
166         0xEFBD7D9B, 0xA672597D, 0xADA840D8, 0x45F54504,
167         0xFA5D7403, 0xE83EC305, 0x4F91751A, 0x925669C2,
168         0x23EFE941, 0xA903F12E, 0x60270DF2, 0x0276E4B6,
169         0x94FD6574, 0x927985B2, 0x8276DBCB, 0x02778176,
170         0xF8AF918D, 0x4E48F79E, 0x8F616DDF, 0xE29D840E,
171         0x842F7D83, 0x340CE5C8, 0x96BBB682, 0x93B4B148,
172         0xEF303CAB, 0x984FAF28, 0x779FAF9B, 0x92DC560D,
173         0x224D1E20, 0x8437AA88, 0x7D29DC96, 0x2756D3DC,
174         0x8B907CEE, 0xB51FD240, 0xE7C07CE3, 0xE566B4A1,
175         0xC3E9615E, 0x3CF8209D, 0x6094D1E3, 0xCD9CA341,
176         0x5C76460E, 0x00EA983B, 0xD4D67881, 0xFD47572C,
177         0xF76CEDD9, 0xBDA8229C, 0x127DADAA, 0x438A074E,
178         0x1F97C090, 0x081BDB8A, 0x93A07EBE, 0xB938CA15,
179         0x97B03CFF, 0x3DC2C0F8, 0x8D1AB2EC, 0x64380E51,
180         0x68CC7BFB, 0xD90F2788, 0x12490181, 0x5DE5FFD4,
181         0xDD7EF86A, 0x76A2E214, 0xB9A40368, 0x925D958F,
182         0x4B39FFFA, 0xBA39AEE9, 0xA4FFD30B, 0xFAF7933B,
183         0x6D498623, 0x193CBCFA, 0x27627545, 0x825CF47A,
184         0x61BD8BA0, 0xD11E42D1, 0xCEAD04F4, 0x127EA392,
185         0x10428DB7, 0x8272A972, 0x9270C4A8, 0x127DE50B,
186         0x285BA1C8, 0x3C62F44F, 0x35C0EAA5, 0xE805D231,
187         0x428929FB, 0xB4FCDF82, 0x4FB66A53, 0x0E7DC15B,
188         0x1F081FAB, 0x108618AE, 0xFCFD086D, 0xF9FF2889,
189         0x694BCC11, 0x236A5CAE, 0x12DECA4D, 0x2C3F8CC5,
190         0xD2D02DFE, 0xF8EF5896, 0xE4CF52DA, 0x95155B67,
191         0x494A488C, 0xB9B6A80C, 0x5C8F82BC, 0x89D36B45,
192         0x3A609437, 0xEC00C9A9, 0x44715253, 0x0A874B49,
193         0xD773BC40, 0x7C34671C, 0x02717EF6, 0x4FEB5536,
194         0xA2D02FFF, 0xD2BF60C4, 0xD43F03C0, 0x50B4EF6D,
195         0x07478CD1, 0x006E1888, 0xA2E53F55, 0xB9E6D4BC,
196         0xA2048016, 0x97573833, 0xD7207D67, 0xDE0F8F3D,
197         0x72F87B33, 0xABCC4F33, 0x7688C55D, 0x7B00A6B0,
198         0x947B0001, 0x570075D2, 0xF9BB88F8, 0x8942019E,
199         0x4264A5FF, 0x856302E0, 0x72DBD92B, 0xEE971B69,
200         0x6EA22FDE, 0x5F08AE2B, 0xAF7A616D, 0xE5C98767,
201         0xCF1FEBD2, 0x61EFC8C2, 0xF1AC2571, 0xCC8239C2,
202         0x67214CB8, 0xB1E583D1, 0xB7DC3E62, 0x7F10BDCE,
203         0xF90A5C38, 0x0FF0443D, 0x606E6DC6, 0x60543A49,
204         0x5727C148, 0x2BE98A1D, 0x8AB41738, 0x20E1BE24,
205         0xAF96DA0F, 0x68458425, 0x99833BE5, 0x600D457D,
206         0x282F9350, 0x8334B362, 0xD91D1120, 0x2B6D8DA0,
207         0x642B1E31, 0x9C305A00, 0x52BCE688, 0x1B03588A,
208         0xF7BAEFD5, 0x4142ED9C, 0xA4315C11, 0x83323EC5,
209         0xDFEF4636, 0xA133C501, 0xE9D3531C, 0xEE353783
210 };
211
212 static const u_int32_t cast_sbox4[256] = {
213         0x9DB30420, 0x1FB6E9DE, 0xA7BE7BEF, 0xD273A298,
214         0x4A4F7BDB, 0x64AD8C57, 0x85510443, 0xFA020ED1,
215         0x7E287AFF, 0xE60FB663, 0x095F35A1, 0x79EBF120,
216         0xFD059D43, 0x6497B7B1, 0xF3641F63, 0x241E4ADF,
217         0x28147F5F, 0x4FA2B8CD, 0xC9430040, 0x0CC32220,
218         0xFDD30B30, 0xC0A5374F, 0x1D2D00D9, 0x24147B15,
219         0xEE4D111A, 0x0FCA5167, 0x71FF904C, 0x2D195FFE,
220         0x1A05645F, 0x0C13FEFE, 0x081B08CA, 0x05170121,
221         0x80530100, 0xE83E5EFE, 0xAC9AF4F8, 0x7FE72701,
222         0xD2B8EE5F, 0x06DF4261, 0xBB9E9B8A, 0x7293EA25,
223         0xCE84FFDF, 0xF5718801, 0x3DD64B04, 0xA26F263B,
224         0x7ED48400, 0x547EEBE6, 0x446D4CA0, 0x6CF3D6F5,
225         0x2649ABDF, 0xAEA0C7F5, 0x36338CC1, 0x503F7E93,
226         0xD3772061, 0x11B638E1, 0x72500E03, 0xF80EB2BB,
227         0xABE0502E, 0xEC8D77DE, 0x57971E81, 0xE14F6746,
228         0xC9335400, 0x6920318F, 0x081DBB99, 0xFFC304A5,
229         0x4D351805, 0x7F3D5CE3, 0xA6C866C6, 0x5D5BCCA9,
230         0xDAEC6FEA, 0x9F926F91, 0x9F46222F, 0x3991467D,
231         0xA5BF6D8E, 0x1143C44F, 0x43958302, 0xD0214EEB,
232         0x022083B8, 0x3FB6180C, 0x18F8931E, 0x281658E6,
233         0x26486E3E, 0x8BD78A70, 0x7477E4C1, 0xB506E07C,
234         0xF32D0A25, 0x79098B02, 0xE4EABB81, 0x28123B23,
235         0x69DEAD38, 0x1574CA16, 0xDF871B62, 0x211C40B7,
236         0xA51A9EF9, 0x0014377B, 0x041E8AC8, 0x09114003,
237         0xBD59E4D2, 0xE3D156D5, 0x4FE876D5, 0x2F91A340,
238         0x557BE8DE, 0x00EAE4A7, 0x0CE5C2EC, 0x4DB4BBA6,
239         0xE756BDFF, 0xDD3369AC, 0xEC17B035, 0x06572327,
240         0x99AFC8B0, 0x56C8C391, 0x6B65811C, 0x5E146119,
241         0x6E85CB75, 0xBE07C002, 0xC2325577, 0x893FF4EC,
242         0x5BBFC92D, 0xD0EC3B25, 0xB7801AB7, 0x8D6D3B24,
243         0x20C763EF, 0xC366A5FC, 0x9C382880, 0x0ACE3205,
244         0xAAC9548A, 0xECA1D7C7, 0x041AFA32, 0x1D16625A,
245         0x6701902C, 0x9B757A54, 0x31D477F7, 0x9126B031,
246         0x36CC6FDB, 0xC70B8B46, 0xD9E66A48, 0x56E55A79,
247         0x026A4CEB, 0x52437EFF, 0x2F8F76B4, 0x0DF980A5,
248         0x8674CDE3, 0xEDDA04EB, 0x17A9BE04, 0x2C18F4DF,
249         0xB7747F9D, 0xAB2AF7B4, 0xEFC34D20, 0x2E096B7C,
250         0x1741A254, 0xE5B6A035, 0x213D42F6, 0x2C1C7C26,
251         0x61C2F50F, 0x6552DAF9, 0xD2C231F8, 0x25130F69,
252         0xD8167FA2, 0x0418F2C8, 0x001A96A6, 0x0D1526AB,
253         0x63315C21, 0x5E0A72EC, 0x49BAFEFD, 0x187908D9,
254         0x8D0DBD86, 0x311170A7, 0x3E9B640C, 0xCC3E10D7,
255         0xD5CAD3B6, 0x0CAEC388, 0xF73001E1, 0x6C728AFF,
256         0x71EAE2A1, 0x1F9AF36E, 0xCFCBD12F, 0xC1DE8417,
257         0xAC07BE6B, 0xCB44A1D8, 0x8B9B0F56, 0x013988C3,
258         0xB1C52FCA, 0xB4BE31CD, 0xD8782806, 0x12A3A4E2,
259         0x6F7DE532, 0x58FD7EB6, 0xD01EE900, 0x24ADFFC2,
260         0xF4990FC5, 0x9711AAC5, 0x001D7B95, 0x82E5E7D2,
261         0x109873F6, 0x00613096, 0xC32D9521, 0xADA121FF,
262         0x29908415, 0x7FBB977F, 0xAF9EB3DB, 0x29C9ED2A,
263         0x5CE2A465, 0xA730F32C, 0xD0AA3FE8, 0x8A5CC091,
264         0xD49E2CE7, 0x0CE454A9, 0xD60ACD86, 0x015F1919,
265         0x77079103, 0xDEA03AF6, 0x78A8565E, 0xDEE356DF,
266         0x21F05CBE, 0x8B75E387, 0xB3C50651, 0xB8A5C3EF,
267         0xD8EEB6D2, 0xE523BE77, 0xC2154529, 0x2F69EFDF,
268         0xAFE67AFB, 0xF470C4B2, 0xF3E0EB5B, 0xD6CC9876,
269         0x39E4460C, 0x1FDA8538, 0x1987832F, 0xCA007367,
270         0xA99144F8, 0x296B299E, 0x492FC295, 0x9266BEAB,
271         0xB5676E69, 0x9BD3DDDA, 0xDF7E052F, 0xDB25701C,
272         0x1B5E51EE, 0xF65324E6, 0x6AFCE36C, 0x0316CC04,
273         0x8644213E, 0xB7DC59D0, 0x7965291F, 0xCCD6FD43,
274         0x41823979, 0x932BCDF6, 0xB657C34D, 0x4EDFD282,
275         0x7AE5290C, 0x3CB9536B, 0x851E20FE, 0x9833557E,
276         0x13ECF0B0, 0xD3FFB372, 0x3F85C5C1, 0x0AEF7ED2
277 };
278
279 static const u_int32_t cast_sbox5[256] = {
280         0x7EC90C04, 0x2C6E74B9, 0x9B0E66DF, 0xA6337911,
281         0xB86A7FFF, 0x1DD358F5, 0x44DD9D44, 0x1731167F,
282         0x08FBF1FA, 0xE7F511CC, 0xD2051B00, 0x735ABA00,
283         0x2AB722D8, 0x386381CB, 0xACF6243A, 0x69BEFD7A,
284         0xE6A2E77F, 0xF0C720CD, 0xC4494816, 0xCCF5C180,
285         0x38851640, 0x15B0A848, 0xE68B18CB, 0x4CAADEFF,
286         0x5F480A01, 0x0412B2AA, 0x259814FC, 0x41D0EFE2,
287         0x4E40B48D, 0x248EB6FB, 0x8DBA1CFE, 0x41A99B02,
288         0x1A550A04, 0xBA8F65CB, 0x7251F4E7, 0x95A51725,
289         0xC106ECD7, 0x97A5980A, 0xC539B9AA, 0x4D79FE6A,
290         0xF2F3F763, 0x68AF8040, 0xED0C9E56, 0x11B4958B,
291         0xE1EB5A88, 0x8709E6B0, 0xD7E07156, 0x4E29FEA7,
292         0x6366E52D, 0x02D1C000, 0xC4AC8E05, 0x9377F571,
293         0x0C05372A, 0x578535F2, 0x2261BE02, 0xD642A0C9,
294         0xDF13A280, 0x74B55BD2, 0x682199C0, 0xD421E5EC,
295         0x53FB3CE8, 0xC8ADEDB3, 0x28A87FC9, 0x3D959981,
296         0x5C1FF900, 0xFE38D399, 0x0C4EFF0B, 0x062407EA,
297         0xAA2F4FB1, 0x4FB96976, 0x90C79505, 0xB0A8A774,
298         0xEF55A1FF, 0xE59CA2C2, 0xA6B62D27, 0xE66A4263,
299         0xDF65001F, 0x0EC50966, 0xDFDD55BC, 0x29DE0655,
300         0x911E739A, 0x17AF8975, 0x32C7911C, 0x89F89468,
301         0x0D01E980, 0x524755F4, 0x03B63CC9, 0x0CC844B2,
302         0xBCF3F0AA, 0x87AC36E9, 0xE53A7426, 0x01B3D82B,
303         0x1A9E7449, 0x64EE2D7E, 0xCDDBB1DA, 0x01C94910,
304         0xB868BF80, 0x0D26F3FD, 0x9342EDE7, 0x04A5C284,
305         0x636737B6, 0x50F5B616, 0xF24766E3, 0x8ECA36C1,
306         0x136E05DB, 0xFEF18391, 0xFB887A37, 0xD6E7F7D4,
307         0xC7FB7DC9, 0x3063FCDF, 0xB6F589DE, 0xEC2941DA,
308         0x26E46695, 0xB7566419, 0xF654EFC5, 0xD08D58B7,
309         0x48925401, 0xC1BACB7F, 0xE5FF550F, 0xB6083049,
310         0x5BB5D0E8, 0x87D72E5A, 0xAB6A6EE1, 0x223A66CE,
311         0xC62BF3CD, 0x9E0885F9, 0x68CB3E47, 0x086C010F,
312         0xA21DE820, 0xD18B69DE, 0xF3F65777, 0xFA02C3F6,
313         0x407EDAC3, 0xCBB3D550, 0x1793084D, 0xB0D70EBA,
314         0x0AB378D5, 0xD951FB0C, 0xDED7DA56, 0x4124BBE4,
315         0x94CA0B56, 0x0F5755D1, 0xE0E1E56E, 0x6184B5BE,
316         0x580A249F, 0x94F74BC0, 0xE327888E, 0x9F7B5561,
317         0xC3DC0280, 0x05687715, 0x646C6BD7, 0x44904DB3,
318         0x66B4F0A3, 0xC0F1648A, 0x697ED5AF, 0x49E92FF6,
319         0x309E374F, 0x2CB6356A, 0x85808573, 0x4991F840,
320         0x76F0AE02, 0x083BE84D, 0x28421C9A, 0x44489406,
321         0x736E4CB8, 0xC1092910, 0x8BC95FC6, 0x7D869CF4,
322         0x134F616F, 0x2E77118D, 0xB31B2BE1, 0xAA90B472,
323         0x3CA5D717, 0x7D161BBA, 0x9CAD9010, 0xAF462BA2,
324         0x9FE459D2, 0x45D34559, 0xD9F2DA13, 0xDBC65487,
325         0xF3E4F94E, 0x176D486F, 0x097C13EA, 0x631DA5C7,
326         0x445F7382, 0x175683F4, 0xCDC66A97, 0x70BE0288,
327         0xB3CDCF72, 0x6E5DD2F3, 0x20936079, 0x459B80A5,
328         0xBE60E2DB, 0xA9C23101, 0xEBA5315C, 0x224E42F2,
329         0x1C5C1572, 0xF6721B2C, 0x1AD2FFF3, 0x8C25404E,
330         0x324ED72F, 0x4067B7FD, 0x0523138E, 0x5CA3BC78,
331         0xDC0FD66E, 0x75922283, 0x784D6B17, 0x58EBB16E,
332         0x44094F85, 0x3F481D87, 0xFCFEAE7B, 0x77B5FF76,
333         0x8C2302BF, 0xAAF47556, 0x5F46B02A, 0x2B092801,
334         0x3D38F5F7, 0x0CA81F36, 0x52AF4A8A, 0x66D5E7C0,
335         0xDF3B0874, 0x95055110, 0x1B5AD7A8, 0xF61ED5AD,
336         0x6CF6E479, 0x20758184, 0xD0CEFA65, 0x88F7BE58,
337         0x4A046826, 0x0FF6F8F3, 0xA09C7F70, 0x5346ABA0,
338         0x5CE96C28, 0xE176EDA3, 0x6BAC307F, 0x376829D2,
339         0x85360FA9, 0x17E3FE2A, 0x24B79767, 0xF5A96B20,
340         0xD6CD2595, 0x68FF1EBF, 0x7555442C, 0xF19F06BE,
341         0xF9E0659A, 0xEEB9491D, 0x34010718, 0xBB30CAB8,
342         0xE822FE15, 0x88570983, 0x750E6249, 0xDA627E55,
343         0x5E76FFA8, 0xB1534546, 0x6D47DE08, 0xEFE9E7D4
344 };
345
346 static const u_int32_t cast_sbox6[256] = {
347         0xF6FA8F9D, 0x2CAC6CE1, 0x4CA34867, 0xE2337F7C,
348         0x95DB08E7, 0x016843B4, 0xECED5CBC, 0x325553AC,
349         0xBF9F0960, 0xDFA1E2ED, 0x83F0579D, 0x63ED86B9,
350         0x1AB6A6B8, 0xDE5EBE39, 0xF38FF732, 0x8989B138,
351         0x33F14961, 0xC01937BD, 0xF506C6DA, 0xE4625E7E,
352         0xA308EA99, 0x4E23E33C, 0x79CBD7CC, 0x48A14367,
353         0xA3149619, 0xFEC94BD5, 0xA114174A, 0xEAA01866,
354         0xA084DB2D, 0x09A8486F, 0xA888614A, 0x2900AF98,
355         0x01665991, 0xE1992863, 0xC8F30C60, 0x2E78EF3C,
356         0xD0D51932, 0xCF0FEC14, 0xF7CA07D2, 0xD0A82072,
357         0xFD41197E, 0x9305A6B0, 0xE86BE3DA, 0x74BED3CD,
358         0x372DA53C, 0x4C7F4448, 0xDAB5D440, 0x6DBA0EC3,
359         0x083919A7, 0x9FBAEED9, 0x49DBCFB0, 0x4E670C53,
360         0x5C3D9C01, 0x64BDB941, 0x2C0E636A, 0xBA7DD9CD,
361         0xEA6F7388, 0xE70BC762, 0x35F29ADB, 0x5C4CDD8D,
362         0xF0D48D8C, 0xB88153E2, 0x08A19866, 0x1AE2EAC8,
363         0x284CAF89, 0xAA928223, 0x9334BE53, 0x3B3A21BF,
364         0x16434BE3, 0x9AEA3906, 0xEFE8C36E, 0xF890CDD9,
365         0x80226DAE, 0xC340A4A3, 0xDF7E9C09, 0xA694A807,
366         0x5B7C5ECC, 0x221DB3A6, 0x9A69A02F, 0x68818A54,
367         0xCEB2296F, 0x53C0843A, 0xFE893655, 0x25BFE68A,
368         0xB4628ABC, 0xCF222EBF, 0x25AC6F48, 0xA9A99387,
369         0x53BDDB65, 0xE76FFBE7, 0xE967FD78, 0x0BA93563,
370         0x8E342BC1, 0xE8A11BE9, 0x4980740D, 0xC8087DFC,
371         0x8DE4BF99, 0xA11101A0, 0x7FD37975, 0xDA5A26C0,
372         0xE81F994F, 0x9528CD89, 0xFD339FED, 0xB87834BF,
373         0x5F04456D, 0x22258698, 0xC9C4C83B, 0x2DC156BE,
374         0x4F628DAA, 0x57F55EC5, 0xE2220ABE, 0xD2916EBF,
375         0x4EC75B95, 0x24F2C3C0, 0x42D15D99, 0xCD0D7FA0,
376         0x7B6E27FF, 0xA8DC8AF0, 0x7345C106, 0xF41E232F,
377         0x35162386, 0xE6EA8926, 0x3333B094, 0x157EC6F2,
378         0x372B74AF, 0x692573E4, 0xE9A9D848, 0xF3160289,
379         0x3A62EF1D, 0xA787E238, 0xF3A5F676, 0x74364853,
380         0x20951063, 0x4576698D, 0xB6FAD407, 0x592AF950,
381         0x36F73523, 0x4CFB6E87, 0x7DA4CEC0, 0x6C152DAA,
382         0xCB0396A8, 0xC50DFE5D, 0xFCD707AB, 0x0921C42F,
383         0x89DFF0BB, 0x5FE2BE78, 0x448F4F33, 0x754613C9,
384         0x2B05D08D, 0x48B9D585, 0xDC049441, 0xC8098F9B,
385         0x7DEDE786, 0xC39A3373, 0x42410005, 0x6A091751,
386         0x0EF3C8A6, 0x890072D6, 0x28207682, 0xA9A9F7BE,
387         0xBF32679D, 0xD45B5B75, 0xB353FD00, 0xCBB0E358,
388         0x830F220A, 0x1F8FB214, 0xD372CF08, 0xCC3C4A13,
389         0x8CF63166, 0x061C87BE, 0x88C98F88, 0x6062E397,
390         0x47CF8E7A, 0xB6C85283, 0x3CC2ACFB, 0x3FC06976,
391         0x4E8F0252, 0x64D8314D, 0xDA3870E3, 0x1E665459,
392         0xC10908F0, 0x513021A5, 0x6C5B68B7, 0x822F8AA0,
393         0x3007CD3E, 0x74719EEF, 0xDC872681, 0x073340D4,
394         0x7E432FD9, 0x0C5EC241, 0x8809286C, 0xF592D891,
395         0x08A930F6, 0x957EF305, 0xB7FBFFBD, 0xC266E96F,
396         0x6FE4AC98, 0xB173ECC0, 0xBC60B42A, 0x953498DA,
397         0xFBA1AE12, 0x2D4BD736, 0x0F25FAAB, 0xA4F3FCEB,
398         0xE2969123, 0x257F0C3D, 0x9348AF49, 0x361400BC,
399         0xE8816F4A, 0x3814F200, 0xA3F94043, 0x9C7A54C2,
400         0xBC704F57, 0xDA41E7F9, 0xC25AD33A, 0x54F4A084,
401         0xB17F5505, 0x59357CBE, 0xEDBD15C8, 0x7F97C5AB,
402         0xBA5AC7B5, 0xB6F6DEAF, 0x3A479C3A, 0x5302DA25,
403         0x653D7E6A, 0x54268D49, 0x51A477EA, 0x5017D55B,
404         0xD7D25D88, 0x44136C76, 0x0404A8C8, 0xB8E5A121,
405         0xB81A928A, 0x60ED5869, 0x97C55B96, 0xEAEC991B,
406         0x29935913, 0x01FDB7F1, 0x088E8DFA, 0x9AB6F6F5,
407         0x3B4CBF9F, 0x4A5DE3AB, 0xE6051D35, 0xA0E1D855,
408         0xD36B4CF1, 0xF544EDEB, 0xB0E93524, 0xBEBB8FBD,
409         0xA2D762CF, 0x49C92F54, 0x38B5F331, 0x7128A454,
410         0x48392905, 0xA65B1DB8, 0x851C97BD, 0xD675CF2F
411 };
412
413 static const u_int32_t cast_sbox7[256] = {
414         0x85E04019, 0x332BF567, 0x662DBFFF, 0xCFC65693,
415         0x2A8D7F6F, 0xAB9BC912, 0xDE6008A1, 0x2028DA1F,
416         0x0227BCE7, 0x4D642916, 0x18FAC300, 0x50F18B82,
417         0x2CB2CB11, 0xB232E75C, 0x4B3695F2, 0xB28707DE,
418         0xA05FBCF6, 0xCD4181E9, 0xE150210C, 0xE24EF1BD,
419         0xB168C381, 0xFDE4E789, 0x5C79B0D8, 0x1E8BFD43,
420         0x4D495001, 0x38BE4341, 0x913CEE1D, 0x92A79C3F,
421         0x089766BE, 0xBAEEADF4, 0x1286BECF, 0xB6EACB19,
422         0x2660C200, 0x7565BDE4, 0x64241F7A, 0x8248DCA9,
423         0xC3B3AD66, 0x28136086, 0x0BD8DFA8, 0x356D1CF2,
424         0x107789BE, 0xB3B2E9CE, 0x0502AA8F, 0x0BC0351E,
425         0x166BF52A, 0xEB12FF82, 0xE3486911, 0xD34D7516,
426         0x4E7B3AFF, 0x5F43671B, 0x9CF6E037, 0x4981AC83,
427         0x334266CE, 0x8C9341B7, 0xD0D854C0, 0xCB3A6C88,
428         0x47BC2829, 0x4725BA37, 0xA66AD22B, 0x7AD61F1E,
429         0x0C5CBAFA, 0x4437F107, 0xB6E79962, 0x42D2D816,
430         0x0A961288, 0xE1A5C06E, 0x13749E67, 0x72FC081A,
431         0xB1D139F7, 0xF9583745, 0xCF19DF58, 0xBEC3F756,
432         0xC06EBA30, 0x07211B24, 0x45C28829, 0xC95E317F,
433         0xBC8EC511, 0x38BC46E9, 0xC6E6FA14, 0xBAE8584A,
434         0xAD4EBC46, 0x468F508B, 0x7829435F, 0xF124183B,
435         0x821DBA9F, 0xAFF60FF4, 0xEA2C4E6D, 0x16E39264,
436         0x92544A8B, 0x009B4FC3, 0xABA68CED, 0x9AC96F78,
437         0x06A5B79A, 0xB2856E6E, 0x1AEC3CA9, 0xBE838688,
438         0x0E0804E9, 0x55F1BE56, 0xE7E5363B, 0xB3A1F25D,
439         0xF7DEBB85, 0x61FE033C, 0x16746233, 0x3C034C28,
440         0xDA6D0C74, 0x79AAC56C, 0x3CE4E1AD, 0x51F0C802,
441         0x98F8F35A, 0x1626A49F, 0xEED82B29, 0x1D382FE3,
442         0x0C4FB99A, 0xBB325778, 0x3EC6D97B, 0x6E77A6A9,
443         0xCB658B5C, 0xD45230C7, 0x2BD1408B, 0x60C03EB7,
444         0xB9068D78, 0xA33754F4, 0xF430C87D, 0xC8A71302,
445         0xB96D8C32, 0xEBD4E7BE, 0xBE8B9D2D, 0x7979FB06,
446         0xE7225308, 0x8B75CF77, 0x11EF8DA4, 0xE083C858,
447         0x8D6B786F, 0x5A6317A6, 0xFA5CF7A0, 0x5DDA0033,
448         0xF28EBFB0, 0xF5B9C310, 0xA0EAC280, 0x08B9767A,
449         0xA3D9D2B0, 0x79D34217, 0x021A718D, 0x9AC6336A,
450         0x2711FD60, 0x438050E3, 0x069908A8, 0x3D7FEDC4,
451         0x826D2BEF, 0x4EEB8476, 0x488DCF25, 0x36C9D566,
452         0x28E74E41, 0xC2610ACA, 0x3D49A9CF, 0xBAE3B9DF,
453         0xB65F8DE6, 0x92AEAF64, 0x3AC7D5E6, 0x9EA80509,
454         0xF22B017D, 0xA4173F70, 0xDD1E16C3, 0x15E0D7F9,
455         0x50B1B887, 0x2B9F4FD5, 0x625ABA82, 0x6A017962,
456         0x2EC01B9C, 0x15488AA9, 0xD716E740, 0x40055A2C,
457         0x93D29A22, 0xE32DBF9A, 0x058745B9, 0x3453DC1E,
458         0xD699296E, 0x496CFF6F, 0x1C9F4986, 0xDFE2ED07,
459         0xB87242D1, 0x19DE7EAE, 0x053E561A, 0x15AD6F8C,
460         0x66626C1C, 0x7154C24C, 0xEA082B2A, 0x93EB2939,
461         0x17DCB0F0, 0x58D4F2AE, 0x9EA294FB, 0x52CF564C,
462         0x9883FE66, 0x2EC40581, 0x763953C3, 0x01D6692E,
463         0xD3A0C108, 0xA1E7160E, 0xE4F2DFA6, 0x693ED285,
464         0x74904698, 0x4C2B0EDD, 0x4F757656, 0x5D393378,
465         0xA132234F, 0x3D321C5D, 0xC3F5E194, 0x4B269301,
466         0xC79F022F, 0x3C997E7E, 0x5E4F9504, 0x3FFAFBBD,
467         0x76F7AD0E, 0x296693F4, 0x3D1FCE6F, 0xC61E45BE,
468         0xD3B5AB34, 0xF72BF9B7, 0x1B0434C0, 0x4E72B567,
469         0x5592A33D, 0xB5229301, 0xCFD2A87F, 0x60AEB767,
470         0x1814386B, 0x30BCC33D, 0x38A0C07D, 0xFD1606F2,
471         0xC363519B, 0x589DD390, 0x5479F8E6, 0x1CB8D647,
472         0x97FD61A9, 0xEA7759F4, 0x2D57539D, 0x569A58CF,
473         0xE84E63AD, 0x462E1B78, 0x6580F87E, 0xF3817914,
474         0x91DA55F4, 0x40A230F3, 0xD1988F35, 0xB6E318D2,
475         0x3FFA50BC, 0x3D40F021, 0xC3C0BDAE, 0x4958C24C,
476         0x518F36B2, 0x84B1D370, 0x0FEDCE83, 0x878DDADA,
477         0xF2A279C7, 0x94E01BE8, 0x90716F4B, 0x954B8AA3
478 };
479
480 static const u_int32_t cast_sbox8[256] = {
481         0xE216300D, 0xBBDDFFFC, 0xA7EBDABD, 0x35648095,
482         0x7789F8B7, 0xE6C1121B, 0x0E241600, 0x052CE8B5,
483         0x11A9CFB0, 0xE5952F11, 0xECE7990A, 0x9386D174,
484         0x2A42931C, 0x76E38111, 0xB12DEF3A, 0x37DDDDFC,
485         0xDE9ADEB1, 0x0A0CC32C, 0xBE197029, 0x84A00940,
486         0xBB243A0F, 0xB4D137CF, 0xB44E79F0, 0x049EEDFD,
487         0x0B15A15D, 0x480D3168, 0x8BBBDE5A, 0x669DED42,
488         0xC7ECE831, 0x3F8F95E7, 0x72DF191B, 0x7580330D,
489         0x94074251, 0x5C7DCDFA, 0xABBE6D63, 0xAA402164,
490         0xB301D40A, 0x02E7D1CA, 0x53571DAE, 0x7A3182A2,
491         0x12A8DDEC, 0xFDAA335D, 0x176F43E8, 0x71FB46D4,
492         0x38129022, 0xCE949AD4, 0xB84769AD, 0x965BD862,
493         0x82F3D055, 0x66FB9767, 0x15B80B4E, 0x1D5B47A0,
494         0x4CFDE06F, 0xC28EC4B8, 0x57E8726E, 0x647A78FC,
495         0x99865D44, 0x608BD593, 0x6C200E03, 0x39DC5FF6,
496         0x5D0B00A3, 0xAE63AFF2, 0x7E8BD632, 0x70108C0C,
497         0xBBD35049, 0x2998DF04, 0x980CF42A, 0x9B6DF491,
498         0x9E7EDD53, 0x06918548, 0x58CB7E07, 0x3B74EF2E,
499         0x522FFFB1, 0xD24708CC, 0x1C7E27CD, 0xA4EB215B,
500         0x3CF1D2E2, 0x19B47A38, 0x424F7618, 0x35856039,
501         0x9D17DEE7, 0x27EB35E6, 0xC9AFF67B, 0x36BAF5B8,
502         0x09C467CD, 0xC18910B1, 0xE11DBF7B, 0x06CD1AF8,
503         0x7170C608, 0x2D5E3354, 0xD4DE495A, 0x64C6D006,
504         0xBCC0C62C, 0x3DD00DB3, 0x708F8F34, 0x77D51B42,
505         0x264F620F, 0x24B8D2BF, 0x15C1B79E, 0x46A52564,
506         0xF8D7E54E, 0x3E378160, 0x7895CDA5, 0x859C15A5,
507         0xE6459788, 0xC37BC75F, 0xDB07BA0C, 0x0676A3AB,
508         0x7F229B1E, 0x31842E7B, 0x24259FD7, 0xF8BEF472,
509         0x835FFCB8, 0x6DF4C1F2, 0x96F5B195, 0xFD0AF0FC,
510         0xB0FE134C, 0xE2506D3D, 0x4F9B12EA, 0xF215F225,
511         0xA223736F, 0x9FB4C428, 0x25D04979, 0x34C713F8,
512         0xC4618187, 0xEA7A6E98, 0x7CD16EFC, 0x1436876C,
513         0xF1544107, 0xBEDEEE14, 0x56E9AF27, 0xA04AA441,
514         0x3CF7C899, 0x92ECBAE6, 0xDD67016D, 0x151682EB,
515         0xA842EEDF, 0xFDBA60B4, 0xF1907B75, 0x20E3030F,
516         0x24D8C29E, 0xE139673B, 0xEFA63FB8, 0x71873054,
517         0xB6F2CF3B, 0x9F326442, 0xCB15A4CC, 0xB01A4504,
518         0xF1E47D8D, 0x844A1BE5, 0xBAE7DFDC, 0x42CBDA70,
519         0xCD7DAE0A, 0x57E85B7A, 0xD53F5AF6, 0x20CF4D8C,
520         0xCEA4D428, 0x79D130A4, 0x3486EBFB, 0x33D3CDDC,
521         0x77853B53, 0x37EFFCB5, 0xC5068778, 0xE580B3E6,
522         0x4E68B8F4, 0xC5C8B37E, 0x0D809EA2, 0x398FEB7C,
523         0x132A4F94, 0x43B7950E, 0x2FEE7D1C, 0x223613BD,
524         0xDD06CAA2, 0x37DF932B, 0xC4248289, 0xACF3EBC3,
525         0x5715F6B7, 0xEF3478DD, 0xF267616F, 0xC148CBE4,
526         0x9052815E, 0x5E410FAB, 0xB48A2465, 0x2EDA7FA4,
527         0xE87B40E4, 0xE98EA084, 0x5889E9E1, 0xEFD390FC,
528         0xDD07D35B, 0xDB485694, 0x38D7E5B2, 0x57720101,
529         0x730EDEBC, 0x5B643113, 0x94917E4F, 0x503C2FBA,
530         0x646F1282, 0x7523D24A, 0xE0779695, 0xF9C17A8F,
531         0x7A5B2121, 0xD187B896, 0x29263A4D, 0xBA510CDF,
532         0x81F47C9F, 0xAD1163ED, 0xEA7B5965, 0x1A00726E,
533         0x11403092, 0x00DA6D77, 0x4A0CDD61, 0xAD1F4603,
534         0x605BDFB0, 0x9EEDC364, 0x22EBE6A8, 0xCEE7D28A,
535         0xA0E736A0, 0x5564A6B9, 0x10853209, 0xC7EB8F37,
536         0x2DE705CA, 0x8951570F, 0xDF09822B, 0xBD691A6C,
537         0xAA12E4F2, 0x87451C0F, 0xE0F6A27A, 0x3ADA4819,
538         0x4CF1764F, 0x0D771C2B, 0x67CDB156, 0x350D8384,
539         0x5938FA0F, 0x42399EF3, 0x36997B07, 0x0E84093D,
540         0x4AA93E61, 0x8360D87B, 0x1FA98B0C, 0x1149382C,
541         0xE97625A5, 0x0614D1B7, 0x0E25244B, 0x0C768347,
542         0x589E8D82, 0x0D2059D1, 0xA466BB1E, 0xF8DA0A82,
543         0x04F19130, 0xBA6E4EC0, 0x99265164, 0x1EE7230D,
544         0x50B2AD80, 0xEAEE6801, 0x8DB2A283, 0xEA8BF59E
545 };
546