xref: /dragonfly/sys/opencrypto/castsb.h (revision 2cd2d2b5)
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 
547