xref: /dflybsd-src/sys/opencrypto/castsb.h (revision 86d7f5d305c6adaa56ff4582ece9859d73106103)
186d7f5d3SJohn Marino /*	$FreeBSD: src/sys/opencrypto/castsb.h,v 1.2 2005/01/07 02:29:16 imp Exp $	*/
286d7f5d3SJohn Marino /*      $OpenBSD: castsb.h,v 1.1 2000/02/28 23:13:04 deraadt Exp $       */
386d7f5d3SJohn Marino /*-
486d7f5d3SJohn Marino  *	CAST-128 in C
586d7f5d3SJohn Marino  *	Written by Steve Reid <sreid@sea-to-sky.net>
686d7f5d3SJohn Marino  *	100% Public Domain - no warranty
786d7f5d3SJohn Marino  *	Released 1997.10.11
886d7f5d3SJohn Marino  */
986d7f5d3SJohn Marino 
1086d7f5d3SJohn Marino static const u_int32_t cast_sbox1[256] = {
1186d7f5d3SJohn Marino 	0x30FB40D4, 0x9FA0FF0B, 0x6BECCD2F, 0x3F258C7A,
1286d7f5d3SJohn Marino 	0x1E213F2F, 0x9C004DD3, 0x6003E540, 0xCF9FC949,
1386d7f5d3SJohn Marino 	0xBFD4AF27, 0x88BBBDB5, 0xE2034090, 0x98D09675,
1486d7f5d3SJohn Marino 	0x6E63A0E0, 0x15C361D2, 0xC2E7661D, 0x22D4FF8E,
1586d7f5d3SJohn Marino 	0x28683B6F, 0xC07FD059, 0xFF2379C8, 0x775F50E2,
1686d7f5d3SJohn Marino 	0x43C340D3, 0xDF2F8656, 0x887CA41A, 0xA2D2BD2D,
1786d7f5d3SJohn Marino 	0xA1C9E0D6, 0x346C4819, 0x61B76D87, 0x22540F2F,
1886d7f5d3SJohn Marino 	0x2ABE32E1, 0xAA54166B, 0x22568E3A, 0xA2D341D0,
1986d7f5d3SJohn Marino 	0x66DB40C8, 0xA784392F, 0x004DFF2F, 0x2DB9D2DE,
2086d7f5d3SJohn Marino 	0x97943FAC, 0x4A97C1D8, 0x527644B7, 0xB5F437A7,
2186d7f5d3SJohn Marino 	0xB82CBAEF, 0xD751D159, 0x6FF7F0ED, 0x5A097A1F,
2286d7f5d3SJohn Marino 	0x827B68D0, 0x90ECF52E, 0x22B0C054, 0xBC8E5935,
2386d7f5d3SJohn Marino 	0x4B6D2F7F, 0x50BB64A2, 0xD2664910, 0xBEE5812D,
2486d7f5d3SJohn Marino 	0xB7332290, 0xE93B159F, 0xB48EE411, 0x4BFF345D,
2586d7f5d3SJohn Marino 	0xFD45C240, 0xAD31973F, 0xC4F6D02E, 0x55FC8165,
2686d7f5d3SJohn Marino 	0xD5B1CAAD, 0xA1AC2DAE, 0xA2D4B76D, 0xC19B0C50,
2786d7f5d3SJohn Marino 	0x882240F2, 0x0C6E4F38, 0xA4E4BFD7, 0x4F5BA272,
2886d7f5d3SJohn Marino 	0x564C1D2F, 0xC59C5319, 0xB949E354, 0xB04669FE,
2986d7f5d3SJohn Marino 	0xB1B6AB8A, 0xC71358DD, 0x6385C545, 0x110F935D,
3086d7f5d3SJohn Marino 	0x57538AD5, 0x6A390493, 0xE63D37E0, 0x2A54F6B3,
3186d7f5d3SJohn Marino 	0x3A787D5F, 0x6276A0B5, 0x19A6FCDF, 0x7A42206A,
3286d7f5d3SJohn Marino 	0x29F9D4D5, 0xF61B1891, 0xBB72275E, 0xAA508167,
3386d7f5d3SJohn Marino 	0x38901091, 0xC6B505EB, 0x84C7CB8C, 0x2AD75A0F,
3486d7f5d3SJohn Marino 	0x874A1427, 0xA2D1936B, 0x2AD286AF, 0xAA56D291,
3586d7f5d3SJohn Marino 	0xD7894360, 0x425C750D, 0x93B39E26, 0x187184C9,
3686d7f5d3SJohn Marino 	0x6C00B32D, 0x73E2BB14, 0xA0BEBC3C, 0x54623779,
3786d7f5d3SJohn Marino 	0x64459EAB, 0x3F328B82, 0x7718CF82, 0x59A2CEA6,
3886d7f5d3SJohn Marino 	0x04EE002E, 0x89FE78E6, 0x3FAB0950, 0x325FF6C2,
3986d7f5d3SJohn Marino 	0x81383F05, 0x6963C5C8, 0x76CB5AD6, 0xD49974C9,
4086d7f5d3SJohn Marino 	0xCA180DCF, 0x380782D5, 0xC7FA5CF6, 0x8AC31511,
4186d7f5d3SJohn Marino 	0x35E79E13, 0x47DA91D0, 0xF40F9086, 0xA7E2419E,
4286d7f5d3SJohn Marino 	0x31366241, 0x051EF495, 0xAA573B04, 0x4A805D8D,
4386d7f5d3SJohn Marino 	0x548300D0, 0x00322A3C, 0xBF64CDDF, 0xBA57A68E,
4486d7f5d3SJohn Marino 	0x75C6372B, 0x50AFD341, 0xA7C13275, 0x915A0BF5,
4586d7f5d3SJohn Marino 	0x6B54BFAB, 0x2B0B1426, 0xAB4CC9D7, 0x449CCD82,
4686d7f5d3SJohn Marino 	0xF7FBF265, 0xAB85C5F3, 0x1B55DB94, 0xAAD4E324,
4786d7f5d3SJohn Marino 	0xCFA4BD3F, 0x2DEAA3E2, 0x9E204D02, 0xC8BD25AC,
4886d7f5d3SJohn Marino 	0xEADF55B3, 0xD5BD9E98, 0xE31231B2, 0x2AD5AD6C,
4986d7f5d3SJohn Marino 	0x954329DE, 0xADBE4528, 0xD8710F69, 0xAA51C90F,
5086d7f5d3SJohn Marino 	0xAA786BF6, 0x22513F1E, 0xAA51A79B, 0x2AD344CC,
5186d7f5d3SJohn Marino 	0x7B5A41F0, 0xD37CFBAD, 0x1B069505, 0x41ECE491,
5286d7f5d3SJohn Marino 	0xB4C332E6, 0x032268D4, 0xC9600ACC, 0xCE387E6D,
5386d7f5d3SJohn Marino 	0xBF6BB16C, 0x6A70FB78, 0x0D03D9C9, 0xD4DF39DE,
5486d7f5d3SJohn Marino 	0xE01063DA, 0x4736F464, 0x5AD328D8, 0xB347CC96,
5586d7f5d3SJohn Marino 	0x75BB0FC3, 0x98511BFB, 0x4FFBCC35, 0xB58BCF6A,
5686d7f5d3SJohn Marino 	0xE11F0ABC, 0xBFC5FE4A, 0xA70AEC10, 0xAC39570A,
5786d7f5d3SJohn Marino 	0x3F04442F, 0x6188B153, 0xE0397A2E, 0x5727CB79,
5886d7f5d3SJohn Marino 	0x9CEB418F, 0x1CACD68D, 0x2AD37C96, 0x0175CB9D,
5986d7f5d3SJohn Marino 	0xC69DFF09, 0xC75B65F0, 0xD9DB40D8, 0xEC0E7779,
6086d7f5d3SJohn Marino 	0x4744EAD4, 0xB11C3274, 0xDD24CB9E, 0x7E1C54BD,
6186d7f5d3SJohn Marino 	0xF01144F9, 0xD2240EB1, 0x9675B3FD, 0xA3AC3755,
6286d7f5d3SJohn Marino 	0xD47C27AF, 0x51C85F4D, 0x56907596, 0xA5BB15E6,
6386d7f5d3SJohn Marino 	0x580304F0, 0xCA042CF1, 0x011A37EA, 0x8DBFAADB,
6486d7f5d3SJohn Marino 	0x35BA3E4A, 0x3526FFA0, 0xC37B4D09, 0xBC306ED9,
6586d7f5d3SJohn Marino 	0x98A52666, 0x5648F725, 0xFF5E569D, 0x0CED63D0,
6686d7f5d3SJohn Marino 	0x7C63B2CF, 0x700B45E1, 0xD5EA50F1, 0x85A92872,
6786d7f5d3SJohn Marino 	0xAF1FBDA7, 0xD4234870, 0xA7870BF3, 0x2D3B4D79,
6886d7f5d3SJohn Marino 	0x42E04198, 0x0CD0EDE7, 0x26470DB8, 0xF881814C,
6986d7f5d3SJohn Marino 	0x474D6AD7, 0x7C0C5E5C, 0xD1231959, 0x381B7298,
7086d7f5d3SJohn Marino 	0xF5D2F4DB, 0xAB838653, 0x6E2F1E23, 0x83719C9E,
7186d7f5d3SJohn Marino 	0xBD91E046, 0x9A56456E, 0xDC39200C, 0x20C8C571,
7286d7f5d3SJohn Marino 	0x962BDA1C, 0xE1E696FF, 0xB141AB08, 0x7CCA89B9,
7386d7f5d3SJohn Marino 	0x1A69E783, 0x02CC4843, 0xA2F7C579, 0x429EF47D,
7486d7f5d3SJohn Marino 	0x427B169C, 0x5AC9F049, 0xDD8F0F00, 0x5C8165BF
7586d7f5d3SJohn Marino };
7686d7f5d3SJohn Marino 
7786d7f5d3SJohn Marino static const u_int32_t cast_sbox2[256] = {
7886d7f5d3SJohn Marino 	0x1F201094, 0xEF0BA75B, 0x69E3CF7E, 0x393F4380,
7986d7f5d3SJohn Marino 	0xFE61CF7A, 0xEEC5207A, 0x55889C94, 0x72FC0651,
8086d7f5d3SJohn Marino 	0xADA7EF79, 0x4E1D7235, 0xD55A63CE, 0xDE0436BA,
8186d7f5d3SJohn Marino 	0x99C430EF, 0x5F0C0794, 0x18DCDB7D, 0xA1D6EFF3,
8286d7f5d3SJohn Marino 	0xA0B52F7B, 0x59E83605, 0xEE15B094, 0xE9FFD909,
8386d7f5d3SJohn Marino 	0xDC440086, 0xEF944459, 0xBA83CCB3, 0xE0C3CDFB,
8486d7f5d3SJohn Marino 	0xD1DA4181, 0x3B092AB1, 0xF997F1C1, 0xA5E6CF7B,
8586d7f5d3SJohn Marino 	0x01420DDB, 0xE4E7EF5B, 0x25A1FF41, 0xE180F806,
8686d7f5d3SJohn Marino 	0x1FC41080, 0x179BEE7A, 0xD37AC6A9, 0xFE5830A4,
8786d7f5d3SJohn Marino 	0x98DE8B7F, 0x77E83F4E, 0x79929269, 0x24FA9F7B,
8886d7f5d3SJohn Marino 	0xE113C85B, 0xACC40083, 0xD7503525, 0xF7EA615F,
8986d7f5d3SJohn Marino 	0x62143154, 0x0D554B63, 0x5D681121, 0xC866C359,
9086d7f5d3SJohn Marino 	0x3D63CF73, 0xCEE234C0, 0xD4D87E87, 0x5C672B21,
9186d7f5d3SJohn Marino 	0x071F6181, 0x39F7627F, 0x361E3084, 0xE4EB573B,
9286d7f5d3SJohn Marino 	0x602F64A4, 0xD63ACD9C, 0x1BBC4635, 0x9E81032D,
9386d7f5d3SJohn Marino 	0x2701F50C, 0x99847AB4, 0xA0E3DF79, 0xBA6CF38C,
9486d7f5d3SJohn Marino 	0x10843094, 0x2537A95E, 0xF46F6FFE, 0xA1FF3B1F,
9586d7f5d3SJohn Marino 	0x208CFB6A, 0x8F458C74, 0xD9E0A227, 0x4EC73A34,
9686d7f5d3SJohn Marino 	0xFC884F69, 0x3E4DE8DF, 0xEF0E0088, 0x3559648D,
9786d7f5d3SJohn Marino 	0x8A45388C, 0x1D804366, 0x721D9BFD, 0xA58684BB,
9886d7f5d3SJohn Marino 	0xE8256333, 0x844E8212, 0x128D8098, 0xFED33FB4,
9986d7f5d3SJohn Marino 	0xCE280AE1, 0x27E19BA5, 0xD5A6C252, 0xE49754BD,
10086d7f5d3SJohn Marino 	0xC5D655DD, 0xEB667064, 0x77840B4D, 0xA1B6A801,
10186d7f5d3SJohn Marino 	0x84DB26A9, 0xE0B56714, 0x21F043B7, 0xE5D05860,
10286d7f5d3SJohn Marino 	0x54F03084, 0x066FF472, 0xA31AA153, 0xDADC4755,
10386d7f5d3SJohn Marino 	0xB5625DBF, 0x68561BE6, 0x83CA6B94, 0x2D6ED23B,
10486d7f5d3SJohn Marino 	0xECCF01DB, 0xA6D3D0BA, 0xB6803D5C, 0xAF77A709,
10586d7f5d3SJohn Marino 	0x33B4A34C, 0x397BC8D6, 0x5EE22B95, 0x5F0E5304,
10686d7f5d3SJohn Marino 	0x81ED6F61, 0x20E74364, 0xB45E1378, 0xDE18639B,
10786d7f5d3SJohn Marino 	0x881CA122, 0xB96726D1, 0x8049A7E8, 0x22B7DA7B,
10886d7f5d3SJohn Marino 	0x5E552D25, 0x5272D237, 0x79D2951C, 0xC60D894C,
10986d7f5d3SJohn Marino 	0x488CB402, 0x1BA4FE5B, 0xA4B09F6B, 0x1CA815CF,
11086d7f5d3SJohn Marino 	0xA20C3005, 0x8871DF63, 0xB9DE2FCB, 0x0CC6C9E9,
11186d7f5d3SJohn Marino 	0x0BEEFF53, 0xE3214517, 0xB4542835, 0x9F63293C,
11286d7f5d3SJohn Marino 	0xEE41E729, 0x6E1D2D7C, 0x50045286, 0x1E6685F3,
11386d7f5d3SJohn Marino 	0xF33401C6, 0x30A22C95, 0x31A70850, 0x60930F13,
11486d7f5d3SJohn Marino 	0x73F98417, 0xA1269859, 0xEC645C44, 0x52C877A9,
11586d7f5d3SJohn Marino 	0xCDFF33A6, 0xA02B1741, 0x7CBAD9A2, 0x2180036F,
11686d7f5d3SJohn Marino 	0x50D99C08, 0xCB3F4861, 0xC26BD765, 0x64A3F6AB,
11786d7f5d3SJohn Marino 	0x80342676, 0x25A75E7B, 0xE4E6D1FC, 0x20C710E6,
11886d7f5d3SJohn Marino 	0xCDF0B680, 0x17844D3B, 0x31EEF84D, 0x7E0824E4,
11986d7f5d3SJohn Marino 	0x2CCB49EB, 0x846A3BAE, 0x8FF77888, 0xEE5D60F6,
12086d7f5d3SJohn Marino 	0x7AF75673, 0x2FDD5CDB, 0xA11631C1, 0x30F66F43,
12186d7f5d3SJohn Marino 	0xB3FAEC54, 0x157FD7FA, 0xEF8579CC, 0xD152DE58,
12286d7f5d3SJohn Marino 	0xDB2FFD5E, 0x8F32CE19, 0x306AF97A, 0x02F03EF8,
12386d7f5d3SJohn Marino 	0x99319AD5, 0xC242FA0F, 0xA7E3EBB0, 0xC68E4906,
12486d7f5d3SJohn Marino 	0xB8DA230C, 0x80823028, 0xDCDEF3C8, 0xD35FB171,
12586d7f5d3SJohn Marino 	0x088A1BC8, 0xBEC0C560, 0x61A3C9E8, 0xBCA8F54D,
12686d7f5d3SJohn Marino 	0xC72FEFFA, 0x22822E99, 0x82C570B4, 0xD8D94E89,
12786d7f5d3SJohn Marino 	0x8B1C34BC, 0x301E16E6, 0x273BE979, 0xB0FFEAA6,
12886d7f5d3SJohn Marino 	0x61D9B8C6, 0x00B24869, 0xB7FFCE3F, 0x08DC283B,
12986d7f5d3SJohn Marino 	0x43DAF65A, 0xF7E19798, 0x7619B72F, 0x8F1C9BA4,
13086d7f5d3SJohn Marino 	0xDC8637A0, 0x16A7D3B1, 0x9FC393B7, 0xA7136EEB,
13186d7f5d3SJohn Marino 	0xC6BCC63E, 0x1A513742, 0xEF6828BC, 0x520365D6,
13286d7f5d3SJohn Marino 	0x2D6A77AB, 0x3527ED4B, 0x821FD216, 0x095C6E2E,
13386d7f5d3SJohn Marino 	0xDB92F2FB, 0x5EEA29CB, 0x145892F5, 0x91584F7F,
13486d7f5d3SJohn Marino 	0x5483697B, 0x2667A8CC, 0x85196048, 0x8C4BACEA,
13586d7f5d3SJohn Marino 	0x833860D4, 0x0D23E0F9, 0x6C387E8A, 0x0AE6D249,
13686d7f5d3SJohn Marino 	0xB284600C, 0xD835731D, 0xDCB1C647, 0xAC4C56EA,
13786d7f5d3SJohn Marino 	0x3EBD81B3, 0x230EABB0, 0x6438BC87, 0xF0B5B1FA,
13886d7f5d3SJohn Marino 	0x8F5EA2B3, 0xFC184642, 0x0A036B7A, 0x4FB089BD,
13986d7f5d3SJohn Marino 	0x649DA589, 0xA345415E, 0x5C038323, 0x3E5D3BB9,
14086d7f5d3SJohn Marino 	0x43D79572, 0x7E6DD07C, 0x06DFDF1E, 0x6C6CC4EF,
14186d7f5d3SJohn Marino 	0x7160A539, 0x73BFBE70, 0x83877605, 0x4523ECF1
14286d7f5d3SJohn Marino };
14386d7f5d3SJohn Marino 
14486d7f5d3SJohn Marino static const u_int32_t cast_sbox3[256] = {
14586d7f5d3SJohn Marino 	0x8DEFC240, 0x25FA5D9F, 0xEB903DBF, 0xE810C907,
14686d7f5d3SJohn Marino 	0x47607FFF, 0x369FE44B, 0x8C1FC644, 0xAECECA90,
14786d7f5d3SJohn Marino 	0xBEB1F9BF, 0xEEFBCAEA, 0xE8CF1950, 0x51DF07AE,
14886d7f5d3SJohn Marino 	0x920E8806, 0xF0AD0548, 0xE13C8D83, 0x927010D5,
14986d7f5d3SJohn Marino 	0x11107D9F, 0x07647DB9, 0xB2E3E4D4, 0x3D4F285E,
15086d7f5d3SJohn Marino 	0xB9AFA820, 0xFADE82E0, 0xA067268B, 0x8272792E,
15186d7f5d3SJohn Marino 	0x553FB2C0, 0x489AE22B, 0xD4EF9794, 0x125E3FBC,
15286d7f5d3SJohn Marino 	0x21FFFCEE, 0x825B1BFD, 0x9255C5ED, 0x1257A240,
15386d7f5d3SJohn Marino 	0x4E1A8302, 0xBAE07FFF, 0x528246E7, 0x8E57140E,
15486d7f5d3SJohn Marino 	0x3373F7BF, 0x8C9F8188, 0xA6FC4EE8, 0xC982B5A5,
15586d7f5d3SJohn Marino 	0xA8C01DB7, 0x579FC264, 0x67094F31, 0xF2BD3F5F,
15686d7f5d3SJohn Marino 	0x40FFF7C1, 0x1FB78DFC, 0x8E6BD2C1, 0x437BE59B,
15786d7f5d3SJohn Marino 	0x99B03DBF, 0xB5DBC64B, 0x638DC0E6, 0x55819D99,
15886d7f5d3SJohn Marino 	0xA197C81C, 0x4A012D6E, 0xC5884A28, 0xCCC36F71,
15986d7f5d3SJohn Marino 	0xB843C213, 0x6C0743F1, 0x8309893C, 0x0FEDDD5F,
16086d7f5d3SJohn Marino 	0x2F7FE850, 0xD7C07F7E, 0x02507FBF, 0x5AFB9A04,
16186d7f5d3SJohn Marino 	0xA747D2D0, 0x1651192E, 0xAF70BF3E, 0x58C31380,
16286d7f5d3SJohn Marino 	0x5F98302E, 0x727CC3C4, 0x0A0FB402, 0x0F7FEF82,
16386d7f5d3SJohn Marino 	0x8C96FDAD, 0x5D2C2AAE, 0x8EE99A49, 0x50DA88B8,
16486d7f5d3SJohn Marino 	0x8427F4A0, 0x1EAC5790, 0x796FB449, 0x8252DC15,
16586d7f5d3SJohn Marino 	0xEFBD7D9B, 0xA672597D, 0xADA840D8, 0x45F54504,
16686d7f5d3SJohn Marino 	0xFA5D7403, 0xE83EC305, 0x4F91751A, 0x925669C2,
16786d7f5d3SJohn Marino 	0x23EFE941, 0xA903F12E, 0x60270DF2, 0x0276E4B6,
16886d7f5d3SJohn Marino 	0x94FD6574, 0x927985B2, 0x8276DBCB, 0x02778176,
16986d7f5d3SJohn Marino 	0xF8AF918D, 0x4E48F79E, 0x8F616DDF, 0xE29D840E,
17086d7f5d3SJohn Marino 	0x842F7D83, 0x340CE5C8, 0x96BBB682, 0x93B4B148,
17186d7f5d3SJohn Marino 	0xEF303CAB, 0x984FAF28, 0x779FAF9B, 0x92DC560D,
17286d7f5d3SJohn Marino 	0x224D1E20, 0x8437AA88, 0x7D29DC96, 0x2756D3DC,
17386d7f5d3SJohn Marino 	0x8B907CEE, 0xB51FD240, 0xE7C07CE3, 0xE566B4A1,
17486d7f5d3SJohn Marino 	0xC3E9615E, 0x3CF8209D, 0x6094D1E3, 0xCD9CA341,
17586d7f5d3SJohn Marino 	0x5C76460E, 0x00EA983B, 0xD4D67881, 0xFD47572C,
17686d7f5d3SJohn Marino 	0xF76CEDD9, 0xBDA8229C, 0x127DADAA, 0x438A074E,
17786d7f5d3SJohn Marino 	0x1F97C090, 0x081BDB8A, 0x93A07EBE, 0xB938CA15,
17886d7f5d3SJohn Marino 	0x97B03CFF, 0x3DC2C0F8, 0x8D1AB2EC, 0x64380E51,
17986d7f5d3SJohn Marino 	0x68CC7BFB, 0xD90F2788, 0x12490181, 0x5DE5FFD4,
18086d7f5d3SJohn Marino 	0xDD7EF86A, 0x76A2E214, 0xB9A40368, 0x925D958F,
18186d7f5d3SJohn Marino 	0x4B39FFFA, 0xBA39AEE9, 0xA4FFD30B, 0xFAF7933B,
18286d7f5d3SJohn Marino 	0x6D498623, 0x193CBCFA, 0x27627545, 0x825CF47A,
18386d7f5d3SJohn Marino 	0x61BD8BA0, 0xD11E42D1, 0xCEAD04F4, 0x127EA392,
18486d7f5d3SJohn Marino 	0x10428DB7, 0x8272A972, 0x9270C4A8, 0x127DE50B,
18586d7f5d3SJohn Marino 	0x285BA1C8, 0x3C62F44F, 0x35C0EAA5, 0xE805D231,
18686d7f5d3SJohn Marino 	0x428929FB, 0xB4FCDF82, 0x4FB66A53, 0x0E7DC15B,
18786d7f5d3SJohn Marino 	0x1F081FAB, 0x108618AE, 0xFCFD086D, 0xF9FF2889,
18886d7f5d3SJohn Marino 	0x694BCC11, 0x236A5CAE, 0x12DECA4D, 0x2C3F8CC5,
18986d7f5d3SJohn Marino 	0xD2D02DFE, 0xF8EF5896, 0xE4CF52DA, 0x95155B67,
19086d7f5d3SJohn Marino 	0x494A488C, 0xB9B6A80C, 0x5C8F82BC, 0x89D36B45,
19186d7f5d3SJohn Marino 	0x3A609437, 0xEC00C9A9, 0x44715253, 0x0A874B49,
19286d7f5d3SJohn Marino 	0xD773BC40, 0x7C34671C, 0x02717EF6, 0x4FEB5536,
19386d7f5d3SJohn Marino 	0xA2D02FFF, 0xD2BF60C4, 0xD43F03C0, 0x50B4EF6D,
19486d7f5d3SJohn Marino 	0x07478CD1, 0x006E1888, 0xA2E53F55, 0xB9E6D4BC,
19586d7f5d3SJohn Marino 	0xA2048016, 0x97573833, 0xD7207D67, 0xDE0F8F3D,
19686d7f5d3SJohn Marino 	0x72F87B33, 0xABCC4F33, 0x7688C55D, 0x7B00A6B0,
19786d7f5d3SJohn Marino 	0x947B0001, 0x570075D2, 0xF9BB88F8, 0x8942019E,
19886d7f5d3SJohn Marino 	0x4264A5FF, 0x856302E0, 0x72DBD92B, 0xEE971B69,
19986d7f5d3SJohn Marino 	0x6EA22FDE, 0x5F08AE2B, 0xAF7A616D, 0xE5C98767,
20086d7f5d3SJohn Marino 	0xCF1FEBD2, 0x61EFC8C2, 0xF1AC2571, 0xCC8239C2,
20186d7f5d3SJohn Marino 	0x67214CB8, 0xB1E583D1, 0xB7DC3E62, 0x7F10BDCE,
20286d7f5d3SJohn Marino 	0xF90A5C38, 0x0FF0443D, 0x606E6DC6, 0x60543A49,
20386d7f5d3SJohn Marino 	0x5727C148, 0x2BE98A1D, 0x8AB41738, 0x20E1BE24,
20486d7f5d3SJohn Marino 	0xAF96DA0F, 0x68458425, 0x99833BE5, 0x600D457D,
20586d7f5d3SJohn Marino 	0x282F9350, 0x8334B362, 0xD91D1120, 0x2B6D8DA0,
20686d7f5d3SJohn Marino 	0x642B1E31, 0x9C305A00, 0x52BCE688, 0x1B03588A,
20786d7f5d3SJohn Marino 	0xF7BAEFD5, 0x4142ED9C, 0xA4315C11, 0x83323EC5,
20886d7f5d3SJohn Marino 	0xDFEF4636, 0xA133C501, 0xE9D3531C, 0xEE353783
20986d7f5d3SJohn Marino };
21086d7f5d3SJohn Marino 
21186d7f5d3SJohn Marino static const u_int32_t cast_sbox4[256] = {
21286d7f5d3SJohn Marino 	0x9DB30420, 0x1FB6E9DE, 0xA7BE7BEF, 0xD273A298,
21386d7f5d3SJohn Marino 	0x4A4F7BDB, 0x64AD8C57, 0x85510443, 0xFA020ED1,
21486d7f5d3SJohn Marino 	0x7E287AFF, 0xE60FB663, 0x095F35A1, 0x79EBF120,
21586d7f5d3SJohn Marino 	0xFD059D43, 0x6497B7B1, 0xF3641F63, 0x241E4ADF,
21686d7f5d3SJohn Marino 	0x28147F5F, 0x4FA2B8CD, 0xC9430040, 0x0CC32220,
21786d7f5d3SJohn Marino 	0xFDD30B30, 0xC0A5374F, 0x1D2D00D9, 0x24147B15,
21886d7f5d3SJohn Marino 	0xEE4D111A, 0x0FCA5167, 0x71FF904C, 0x2D195FFE,
21986d7f5d3SJohn Marino 	0x1A05645F, 0x0C13FEFE, 0x081B08CA, 0x05170121,
22086d7f5d3SJohn Marino 	0x80530100, 0xE83E5EFE, 0xAC9AF4F8, 0x7FE72701,
22186d7f5d3SJohn Marino 	0xD2B8EE5F, 0x06DF4261, 0xBB9E9B8A, 0x7293EA25,
22286d7f5d3SJohn Marino 	0xCE84FFDF, 0xF5718801, 0x3DD64B04, 0xA26F263B,
22386d7f5d3SJohn Marino 	0x7ED48400, 0x547EEBE6, 0x446D4CA0, 0x6CF3D6F5,
22486d7f5d3SJohn Marino 	0x2649ABDF, 0xAEA0C7F5, 0x36338CC1, 0x503F7E93,
22586d7f5d3SJohn Marino 	0xD3772061, 0x11B638E1, 0x72500E03, 0xF80EB2BB,
22686d7f5d3SJohn Marino 	0xABE0502E, 0xEC8D77DE, 0x57971E81, 0xE14F6746,
22786d7f5d3SJohn Marino 	0xC9335400, 0x6920318F, 0x081DBB99, 0xFFC304A5,
22886d7f5d3SJohn Marino 	0x4D351805, 0x7F3D5CE3, 0xA6C866C6, 0x5D5BCCA9,
22986d7f5d3SJohn Marino 	0xDAEC6FEA, 0x9F926F91, 0x9F46222F, 0x3991467D,
23086d7f5d3SJohn Marino 	0xA5BF6D8E, 0x1143C44F, 0x43958302, 0xD0214EEB,
23186d7f5d3SJohn Marino 	0x022083B8, 0x3FB6180C, 0x18F8931E, 0x281658E6,
23286d7f5d3SJohn Marino 	0x26486E3E, 0x8BD78A70, 0x7477E4C1, 0xB506E07C,
23386d7f5d3SJohn Marino 	0xF32D0A25, 0x79098B02, 0xE4EABB81, 0x28123B23,
23486d7f5d3SJohn Marino 	0x69DEAD38, 0x1574CA16, 0xDF871B62, 0x211C40B7,
23586d7f5d3SJohn Marino 	0xA51A9EF9, 0x0014377B, 0x041E8AC8, 0x09114003,
23686d7f5d3SJohn Marino 	0xBD59E4D2, 0xE3D156D5, 0x4FE876D5, 0x2F91A340,
23786d7f5d3SJohn Marino 	0x557BE8DE, 0x00EAE4A7, 0x0CE5C2EC, 0x4DB4BBA6,
23886d7f5d3SJohn Marino 	0xE756BDFF, 0xDD3369AC, 0xEC17B035, 0x06572327,
23986d7f5d3SJohn Marino 	0x99AFC8B0, 0x56C8C391, 0x6B65811C, 0x5E146119,
24086d7f5d3SJohn Marino 	0x6E85CB75, 0xBE07C002, 0xC2325577, 0x893FF4EC,
24186d7f5d3SJohn Marino 	0x5BBFC92D, 0xD0EC3B25, 0xB7801AB7, 0x8D6D3B24,
24286d7f5d3SJohn Marino 	0x20C763EF, 0xC366A5FC, 0x9C382880, 0x0ACE3205,
24386d7f5d3SJohn Marino 	0xAAC9548A, 0xECA1D7C7, 0x041AFA32, 0x1D16625A,
24486d7f5d3SJohn Marino 	0x6701902C, 0x9B757A54, 0x31D477F7, 0x9126B031,
24586d7f5d3SJohn Marino 	0x36CC6FDB, 0xC70B8B46, 0xD9E66A48, 0x56E55A79,
24686d7f5d3SJohn Marino 	0x026A4CEB, 0x52437EFF, 0x2F8F76B4, 0x0DF980A5,
24786d7f5d3SJohn Marino 	0x8674CDE3, 0xEDDA04EB, 0x17A9BE04, 0x2C18F4DF,
24886d7f5d3SJohn Marino 	0xB7747F9D, 0xAB2AF7B4, 0xEFC34D20, 0x2E096B7C,
24986d7f5d3SJohn Marino 	0x1741A254, 0xE5B6A035, 0x213D42F6, 0x2C1C7C26,
25086d7f5d3SJohn Marino 	0x61C2F50F, 0x6552DAF9, 0xD2C231F8, 0x25130F69,
25186d7f5d3SJohn Marino 	0xD8167FA2, 0x0418F2C8, 0x001A96A6, 0x0D1526AB,
25286d7f5d3SJohn Marino 	0x63315C21, 0x5E0A72EC, 0x49BAFEFD, 0x187908D9,
25386d7f5d3SJohn Marino 	0x8D0DBD86, 0x311170A7, 0x3E9B640C, 0xCC3E10D7,
25486d7f5d3SJohn Marino 	0xD5CAD3B6, 0x0CAEC388, 0xF73001E1, 0x6C728AFF,
25586d7f5d3SJohn Marino 	0x71EAE2A1, 0x1F9AF36E, 0xCFCBD12F, 0xC1DE8417,
25686d7f5d3SJohn Marino 	0xAC07BE6B, 0xCB44A1D8, 0x8B9B0F56, 0x013988C3,
25786d7f5d3SJohn Marino 	0xB1C52FCA, 0xB4BE31CD, 0xD8782806, 0x12A3A4E2,
25886d7f5d3SJohn Marino 	0x6F7DE532, 0x58FD7EB6, 0xD01EE900, 0x24ADFFC2,
25986d7f5d3SJohn Marino 	0xF4990FC5, 0x9711AAC5, 0x001D7B95, 0x82E5E7D2,
26086d7f5d3SJohn Marino 	0x109873F6, 0x00613096, 0xC32D9521, 0xADA121FF,
26186d7f5d3SJohn Marino 	0x29908415, 0x7FBB977F, 0xAF9EB3DB, 0x29C9ED2A,
26286d7f5d3SJohn Marino 	0x5CE2A465, 0xA730F32C, 0xD0AA3FE8, 0x8A5CC091,
26386d7f5d3SJohn Marino 	0xD49E2CE7, 0x0CE454A9, 0xD60ACD86, 0x015F1919,
26486d7f5d3SJohn Marino 	0x77079103, 0xDEA03AF6, 0x78A8565E, 0xDEE356DF,
26586d7f5d3SJohn Marino 	0x21F05CBE, 0x8B75E387, 0xB3C50651, 0xB8A5C3EF,
26686d7f5d3SJohn Marino 	0xD8EEB6D2, 0xE523BE77, 0xC2154529, 0x2F69EFDF,
26786d7f5d3SJohn Marino 	0xAFE67AFB, 0xF470C4B2, 0xF3E0EB5B, 0xD6CC9876,
26886d7f5d3SJohn Marino 	0x39E4460C, 0x1FDA8538, 0x1987832F, 0xCA007367,
26986d7f5d3SJohn Marino 	0xA99144F8, 0x296B299E, 0x492FC295, 0x9266BEAB,
27086d7f5d3SJohn Marino 	0xB5676E69, 0x9BD3DDDA, 0xDF7E052F, 0xDB25701C,
27186d7f5d3SJohn Marino 	0x1B5E51EE, 0xF65324E6, 0x6AFCE36C, 0x0316CC04,
27286d7f5d3SJohn Marino 	0x8644213E, 0xB7DC59D0, 0x7965291F, 0xCCD6FD43,
27386d7f5d3SJohn Marino 	0x41823979, 0x932BCDF6, 0xB657C34D, 0x4EDFD282,
27486d7f5d3SJohn Marino 	0x7AE5290C, 0x3CB9536B, 0x851E20FE, 0x9833557E,
27586d7f5d3SJohn Marino 	0x13ECF0B0, 0xD3FFB372, 0x3F85C5C1, 0x0AEF7ED2
27686d7f5d3SJohn Marino };
27786d7f5d3SJohn Marino 
27886d7f5d3SJohn Marino static const u_int32_t cast_sbox5[256] = {
27986d7f5d3SJohn Marino 	0x7EC90C04, 0x2C6E74B9, 0x9B0E66DF, 0xA6337911,
28086d7f5d3SJohn Marino 	0xB86A7FFF, 0x1DD358F5, 0x44DD9D44, 0x1731167F,
28186d7f5d3SJohn Marino 	0x08FBF1FA, 0xE7F511CC, 0xD2051B00, 0x735ABA00,
28286d7f5d3SJohn Marino 	0x2AB722D8, 0x386381CB, 0xACF6243A, 0x69BEFD7A,
28386d7f5d3SJohn Marino 	0xE6A2E77F, 0xF0C720CD, 0xC4494816, 0xCCF5C180,
28486d7f5d3SJohn Marino 	0x38851640, 0x15B0A848, 0xE68B18CB, 0x4CAADEFF,
28586d7f5d3SJohn Marino 	0x5F480A01, 0x0412B2AA, 0x259814FC, 0x41D0EFE2,
28686d7f5d3SJohn Marino 	0x4E40B48D, 0x248EB6FB, 0x8DBA1CFE, 0x41A99B02,
28786d7f5d3SJohn Marino 	0x1A550A04, 0xBA8F65CB, 0x7251F4E7, 0x95A51725,
28886d7f5d3SJohn Marino 	0xC106ECD7, 0x97A5980A, 0xC539B9AA, 0x4D79FE6A,
28986d7f5d3SJohn Marino 	0xF2F3F763, 0x68AF8040, 0xED0C9E56, 0x11B4958B,
29086d7f5d3SJohn Marino 	0xE1EB5A88, 0x8709E6B0, 0xD7E07156, 0x4E29FEA7,
29186d7f5d3SJohn Marino 	0x6366E52D, 0x02D1C000, 0xC4AC8E05, 0x9377F571,
29286d7f5d3SJohn Marino 	0x0C05372A, 0x578535F2, 0x2261BE02, 0xD642A0C9,
29386d7f5d3SJohn Marino 	0xDF13A280, 0x74B55BD2, 0x682199C0, 0xD421E5EC,
29486d7f5d3SJohn Marino 	0x53FB3CE8, 0xC8ADEDB3, 0x28A87FC9, 0x3D959981,
29586d7f5d3SJohn Marino 	0x5C1FF900, 0xFE38D399, 0x0C4EFF0B, 0x062407EA,
29686d7f5d3SJohn Marino 	0xAA2F4FB1, 0x4FB96976, 0x90C79505, 0xB0A8A774,
29786d7f5d3SJohn Marino 	0xEF55A1FF, 0xE59CA2C2, 0xA6B62D27, 0xE66A4263,
29886d7f5d3SJohn Marino 	0xDF65001F, 0x0EC50966, 0xDFDD55BC, 0x29DE0655,
29986d7f5d3SJohn Marino 	0x911E739A, 0x17AF8975, 0x32C7911C, 0x89F89468,
30086d7f5d3SJohn Marino 	0x0D01E980, 0x524755F4, 0x03B63CC9, 0x0CC844B2,
30186d7f5d3SJohn Marino 	0xBCF3F0AA, 0x87AC36E9, 0xE53A7426, 0x01B3D82B,
30286d7f5d3SJohn Marino 	0x1A9E7449, 0x64EE2D7E, 0xCDDBB1DA, 0x01C94910,
30386d7f5d3SJohn Marino 	0xB868BF80, 0x0D26F3FD, 0x9342EDE7, 0x04A5C284,
30486d7f5d3SJohn Marino 	0x636737B6, 0x50F5B616, 0xF24766E3, 0x8ECA36C1,
30586d7f5d3SJohn Marino 	0x136E05DB, 0xFEF18391, 0xFB887A37, 0xD6E7F7D4,
30686d7f5d3SJohn Marino 	0xC7FB7DC9, 0x3063FCDF, 0xB6F589DE, 0xEC2941DA,
30786d7f5d3SJohn Marino 	0x26E46695, 0xB7566419, 0xF654EFC5, 0xD08D58B7,
30886d7f5d3SJohn Marino 	0x48925401, 0xC1BACB7F, 0xE5FF550F, 0xB6083049,
30986d7f5d3SJohn Marino 	0x5BB5D0E8, 0x87D72E5A, 0xAB6A6EE1, 0x223A66CE,
31086d7f5d3SJohn Marino 	0xC62BF3CD, 0x9E0885F9, 0x68CB3E47, 0x086C010F,
31186d7f5d3SJohn Marino 	0xA21DE820, 0xD18B69DE, 0xF3F65777, 0xFA02C3F6,
31286d7f5d3SJohn Marino 	0x407EDAC3, 0xCBB3D550, 0x1793084D, 0xB0D70EBA,
31386d7f5d3SJohn Marino 	0x0AB378D5, 0xD951FB0C, 0xDED7DA56, 0x4124BBE4,
31486d7f5d3SJohn Marino 	0x94CA0B56, 0x0F5755D1, 0xE0E1E56E, 0x6184B5BE,
31586d7f5d3SJohn Marino 	0x580A249F, 0x94F74BC0, 0xE327888E, 0x9F7B5561,
31686d7f5d3SJohn Marino 	0xC3DC0280, 0x05687715, 0x646C6BD7, 0x44904DB3,
31786d7f5d3SJohn Marino 	0x66B4F0A3, 0xC0F1648A, 0x697ED5AF, 0x49E92FF6,
31886d7f5d3SJohn Marino 	0x309E374F, 0x2CB6356A, 0x85808573, 0x4991F840,
31986d7f5d3SJohn Marino 	0x76F0AE02, 0x083BE84D, 0x28421C9A, 0x44489406,
32086d7f5d3SJohn Marino 	0x736E4CB8, 0xC1092910, 0x8BC95FC6, 0x7D869CF4,
32186d7f5d3SJohn Marino 	0x134F616F, 0x2E77118D, 0xB31B2BE1, 0xAA90B472,
32286d7f5d3SJohn Marino 	0x3CA5D717, 0x7D161BBA, 0x9CAD9010, 0xAF462BA2,
32386d7f5d3SJohn Marino 	0x9FE459D2, 0x45D34559, 0xD9F2DA13, 0xDBC65487,
32486d7f5d3SJohn Marino 	0xF3E4F94E, 0x176D486F, 0x097C13EA, 0x631DA5C7,
32586d7f5d3SJohn Marino 	0x445F7382, 0x175683F4, 0xCDC66A97, 0x70BE0288,
32686d7f5d3SJohn Marino 	0xB3CDCF72, 0x6E5DD2F3, 0x20936079, 0x459B80A5,
32786d7f5d3SJohn Marino 	0xBE60E2DB, 0xA9C23101, 0xEBA5315C, 0x224E42F2,
32886d7f5d3SJohn Marino 	0x1C5C1572, 0xF6721B2C, 0x1AD2FFF3, 0x8C25404E,
32986d7f5d3SJohn Marino 	0x324ED72F, 0x4067B7FD, 0x0523138E, 0x5CA3BC78,
33086d7f5d3SJohn Marino 	0xDC0FD66E, 0x75922283, 0x784D6B17, 0x58EBB16E,
33186d7f5d3SJohn Marino 	0x44094F85, 0x3F481D87, 0xFCFEAE7B, 0x77B5FF76,
33286d7f5d3SJohn Marino 	0x8C2302BF, 0xAAF47556, 0x5F46B02A, 0x2B092801,
33386d7f5d3SJohn Marino 	0x3D38F5F7, 0x0CA81F36, 0x52AF4A8A, 0x66D5E7C0,
33486d7f5d3SJohn Marino 	0xDF3B0874, 0x95055110, 0x1B5AD7A8, 0xF61ED5AD,
33586d7f5d3SJohn Marino 	0x6CF6E479, 0x20758184, 0xD0CEFA65, 0x88F7BE58,
33686d7f5d3SJohn Marino 	0x4A046826, 0x0FF6F8F3, 0xA09C7F70, 0x5346ABA0,
33786d7f5d3SJohn Marino 	0x5CE96C28, 0xE176EDA3, 0x6BAC307F, 0x376829D2,
33886d7f5d3SJohn Marino 	0x85360FA9, 0x17E3FE2A, 0x24B79767, 0xF5A96B20,
33986d7f5d3SJohn Marino 	0xD6CD2595, 0x68FF1EBF, 0x7555442C, 0xF19F06BE,
34086d7f5d3SJohn Marino 	0xF9E0659A, 0xEEB9491D, 0x34010718, 0xBB30CAB8,
34186d7f5d3SJohn Marino 	0xE822FE15, 0x88570983, 0x750E6249, 0xDA627E55,
34286d7f5d3SJohn Marino 	0x5E76FFA8, 0xB1534546, 0x6D47DE08, 0xEFE9E7D4
34386d7f5d3SJohn Marino };
34486d7f5d3SJohn Marino 
34586d7f5d3SJohn Marino static const u_int32_t cast_sbox6[256] = {
34686d7f5d3SJohn Marino 	0xF6FA8F9D, 0x2CAC6CE1, 0x4CA34867, 0xE2337F7C,
34786d7f5d3SJohn Marino 	0x95DB08E7, 0x016843B4, 0xECED5CBC, 0x325553AC,
34886d7f5d3SJohn Marino 	0xBF9F0960, 0xDFA1E2ED, 0x83F0579D, 0x63ED86B9,
34986d7f5d3SJohn Marino 	0x1AB6A6B8, 0xDE5EBE39, 0xF38FF732, 0x8989B138,
35086d7f5d3SJohn Marino 	0x33F14961, 0xC01937BD, 0xF506C6DA, 0xE4625E7E,
35186d7f5d3SJohn Marino 	0xA308EA99, 0x4E23E33C, 0x79CBD7CC, 0x48A14367,
35286d7f5d3SJohn Marino 	0xA3149619, 0xFEC94BD5, 0xA114174A, 0xEAA01866,
35386d7f5d3SJohn Marino 	0xA084DB2D, 0x09A8486F, 0xA888614A, 0x2900AF98,
35486d7f5d3SJohn Marino 	0x01665991, 0xE1992863, 0xC8F30C60, 0x2E78EF3C,
35586d7f5d3SJohn Marino 	0xD0D51932, 0xCF0FEC14, 0xF7CA07D2, 0xD0A82072,
35686d7f5d3SJohn Marino 	0xFD41197E, 0x9305A6B0, 0xE86BE3DA, 0x74BED3CD,
35786d7f5d3SJohn Marino 	0x372DA53C, 0x4C7F4448, 0xDAB5D440, 0x6DBA0EC3,
35886d7f5d3SJohn Marino 	0x083919A7, 0x9FBAEED9, 0x49DBCFB0, 0x4E670C53,
35986d7f5d3SJohn Marino 	0x5C3D9C01, 0x64BDB941, 0x2C0E636A, 0xBA7DD9CD,
36086d7f5d3SJohn Marino 	0xEA6F7388, 0xE70BC762, 0x35F29ADB, 0x5C4CDD8D,
36186d7f5d3SJohn Marino 	0xF0D48D8C, 0xB88153E2, 0x08A19866, 0x1AE2EAC8,
36286d7f5d3SJohn Marino 	0x284CAF89, 0xAA928223, 0x9334BE53, 0x3B3A21BF,
36386d7f5d3SJohn Marino 	0x16434BE3, 0x9AEA3906, 0xEFE8C36E, 0xF890CDD9,
36486d7f5d3SJohn Marino 	0x80226DAE, 0xC340A4A3, 0xDF7E9C09, 0xA694A807,
36586d7f5d3SJohn Marino 	0x5B7C5ECC, 0x221DB3A6, 0x9A69A02F, 0x68818A54,
36686d7f5d3SJohn Marino 	0xCEB2296F, 0x53C0843A, 0xFE893655, 0x25BFE68A,
36786d7f5d3SJohn Marino 	0xB4628ABC, 0xCF222EBF, 0x25AC6F48, 0xA9A99387,
36886d7f5d3SJohn Marino 	0x53BDDB65, 0xE76FFBE7, 0xE967FD78, 0x0BA93563,
36986d7f5d3SJohn Marino 	0x8E342BC1, 0xE8A11BE9, 0x4980740D, 0xC8087DFC,
37086d7f5d3SJohn Marino 	0x8DE4BF99, 0xA11101A0, 0x7FD37975, 0xDA5A26C0,
37186d7f5d3SJohn Marino 	0xE81F994F, 0x9528CD89, 0xFD339FED, 0xB87834BF,
37286d7f5d3SJohn Marino 	0x5F04456D, 0x22258698, 0xC9C4C83B, 0x2DC156BE,
37386d7f5d3SJohn Marino 	0x4F628DAA, 0x57F55EC5, 0xE2220ABE, 0xD2916EBF,
37486d7f5d3SJohn Marino 	0x4EC75B95, 0x24F2C3C0, 0x42D15D99, 0xCD0D7FA0,
37586d7f5d3SJohn Marino 	0x7B6E27FF, 0xA8DC8AF0, 0x7345C106, 0xF41E232F,
37686d7f5d3SJohn Marino 	0x35162386, 0xE6EA8926, 0x3333B094, 0x157EC6F2,
37786d7f5d3SJohn Marino 	0x372B74AF, 0x692573E4, 0xE9A9D848, 0xF3160289,
37886d7f5d3SJohn Marino 	0x3A62EF1D, 0xA787E238, 0xF3A5F676, 0x74364853,
37986d7f5d3SJohn Marino 	0x20951063, 0x4576698D, 0xB6FAD407, 0x592AF950,
38086d7f5d3SJohn Marino 	0x36F73523, 0x4CFB6E87, 0x7DA4CEC0, 0x6C152DAA,
38186d7f5d3SJohn Marino 	0xCB0396A8, 0xC50DFE5D, 0xFCD707AB, 0x0921C42F,
38286d7f5d3SJohn Marino 	0x89DFF0BB, 0x5FE2BE78, 0x448F4F33, 0x754613C9,
38386d7f5d3SJohn Marino 	0x2B05D08D, 0x48B9D585, 0xDC049441, 0xC8098F9B,
38486d7f5d3SJohn Marino 	0x7DEDE786, 0xC39A3373, 0x42410005, 0x6A091751,
38586d7f5d3SJohn Marino 	0x0EF3C8A6, 0x890072D6, 0x28207682, 0xA9A9F7BE,
38686d7f5d3SJohn Marino 	0xBF32679D, 0xD45B5B75, 0xB353FD00, 0xCBB0E358,
38786d7f5d3SJohn Marino 	0x830F220A, 0x1F8FB214, 0xD372CF08, 0xCC3C4A13,
38886d7f5d3SJohn Marino 	0x8CF63166, 0x061C87BE, 0x88C98F88, 0x6062E397,
38986d7f5d3SJohn Marino 	0x47CF8E7A, 0xB6C85283, 0x3CC2ACFB, 0x3FC06976,
39086d7f5d3SJohn Marino 	0x4E8F0252, 0x64D8314D, 0xDA3870E3, 0x1E665459,
39186d7f5d3SJohn Marino 	0xC10908F0, 0x513021A5, 0x6C5B68B7, 0x822F8AA0,
39286d7f5d3SJohn Marino 	0x3007CD3E, 0x74719EEF, 0xDC872681, 0x073340D4,
39386d7f5d3SJohn Marino 	0x7E432FD9, 0x0C5EC241, 0x8809286C, 0xF592D891,
39486d7f5d3SJohn Marino 	0x08A930F6, 0x957EF305, 0xB7FBFFBD, 0xC266E96F,
39586d7f5d3SJohn Marino 	0x6FE4AC98, 0xB173ECC0, 0xBC60B42A, 0x953498DA,
39686d7f5d3SJohn Marino 	0xFBA1AE12, 0x2D4BD736, 0x0F25FAAB, 0xA4F3FCEB,
39786d7f5d3SJohn Marino 	0xE2969123, 0x257F0C3D, 0x9348AF49, 0x361400BC,
39886d7f5d3SJohn Marino 	0xE8816F4A, 0x3814F200, 0xA3F94043, 0x9C7A54C2,
39986d7f5d3SJohn Marino 	0xBC704F57, 0xDA41E7F9, 0xC25AD33A, 0x54F4A084,
40086d7f5d3SJohn Marino 	0xB17F5505, 0x59357CBE, 0xEDBD15C8, 0x7F97C5AB,
40186d7f5d3SJohn Marino 	0xBA5AC7B5, 0xB6F6DEAF, 0x3A479C3A, 0x5302DA25,
40286d7f5d3SJohn Marino 	0x653D7E6A, 0x54268D49, 0x51A477EA, 0x5017D55B,
40386d7f5d3SJohn Marino 	0xD7D25D88, 0x44136C76, 0x0404A8C8, 0xB8E5A121,
40486d7f5d3SJohn Marino 	0xB81A928A, 0x60ED5869, 0x97C55B96, 0xEAEC991B,
40586d7f5d3SJohn Marino 	0x29935913, 0x01FDB7F1, 0x088E8DFA, 0x9AB6F6F5,
40686d7f5d3SJohn Marino 	0x3B4CBF9F, 0x4A5DE3AB, 0xE6051D35, 0xA0E1D855,
40786d7f5d3SJohn Marino 	0xD36B4CF1, 0xF544EDEB, 0xB0E93524, 0xBEBB8FBD,
40886d7f5d3SJohn Marino 	0xA2D762CF, 0x49C92F54, 0x38B5F331, 0x7128A454,
40986d7f5d3SJohn Marino 	0x48392905, 0xA65B1DB8, 0x851C97BD, 0xD675CF2F
41086d7f5d3SJohn Marino };
41186d7f5d3SJohn Marino 
41286d7f5d3SJohn Marino static const u_int32_t cast_sbox7[256] = {
41386d7f5d3SJohn Marino 	0x85E04019, 0x332BF567, 0x662DBFFF, 0xCFC65693,
41486d7f5d3SJohn Marino 	0x2A8D7F6F, 0xAB9BC912, 0xDE6008A1, 0x2028DA1F,
41586d7f5d3SJohn Marino 	0x0227BCE7, 0x4D642916, 0x18FAC300, 0x50F18B82,
41686d7f5d3SJohn Marino 	0x2CB2CB11, 0xB232E75C, 0x4B3695F2, 0xB28707DE,
41786d7f5d3SJohn Marino 	0xA05FBCF6, 0xCD4181E9, 0xE150210C, 0xE24EF1BD,
41886d7f5d3SJohn Marino 	0xB168C381, 0xFDE4E789, 0x5C79B0D8, 0x1E8BFD43,
41986d7f5d3SJohn Marino 	0x4D495001, 0x38BE4341, 0x913CEE1D, 0x92A79C3F,
42086d7f5d3SJohn Marino 	0x089766BE, 0xBAEEADF4, 0x1286BECF, 0xB6EACB19,
42186d7f5d3SJohn Marino 	0x2660C200, 0x7565BDE4, 0x64241F7A, 0x8248DCA9,
42286d7f5d3SJohn Marino 	0xC3B3AD66, 0x28136086, 0x0BD8DFA8, 0x356D1CF2,
42386d7f5d3SJohn Marino 	0x107789BE, 0xB3B2E9CE, 0x0502AA8F, 0x0BC0351E,
42486d7f5d3SJohn Marino 	0x166BF52A, 0xEB12FF82, 0xE3486911, 0xD34D7516,
42586d7f5d3SJohn Marino 	0x4E7B3AFF, 0x5F43671B, 0x9CF6E037, 0x4981AC83,
42686d7f5d3SJohn Marino 	0x334266CE, 0x8C9341B7, 0xD0D854C0, 0xCB3A6C88,
42786d7f5d3SJohn Marino 	0x47BC2829, 0x4725BA37, 0xA66AD22B, 0x7AD61F1E,
42886d7f5d3SJohn Marino 	0x0C5CBAFA, 0x4437F107, 0xB6E79962, 0x42D2D816,
42986d7f5d3SJohn Marino 	0x0A961288, 0xE1A5C06E, 0x13749E67, 0x72FC081A,
43086d7f5d3SJohn Marino 	0xB1D139F7, 0xF9583745, 0xCF19DF58, 0xBEC3F756,
43186d7f5d3SJohn Marino 	0xC06EBA30, 0x07211B24, 0x45C28829, 0xC95E317F,
43286d7f5d3SJohn Marino 	0xBC8EC511, 0x38BC46E9, 0xC6E6FA14, 0xBAE8584A,
43386d7f5d3SJohn Marino 	0xAD4EBC46, 0x468F508B, 0x7829435F, 0xF124183B,
43486d7f5d3SJohn Marino 	0x821DBA9F, 0xAFF60FF4, 0xEA2C4E6D, 0x16E39264,
43586d7f5d3SJohn Marino 	0x92544A8B, 0x009B4FC3, 0xABA68CED, 0x9AC96F78,
43686d7f5d3SJohn Marino 	0x06A5B79A, 0xB2856E6E, 0x1AEC3CA9, 0xBE838688,
43786d7f5d3SJohn Marino 	0x0E0804E9, 0x55F1BE56, 0xE7E5363B, 0xB3A1F25D,
43886d7f5d3SJohn Marino 	0xF7DEBB85, 0x61FE033C, 0x16746233, 0x3C034C28,
43986d7f5d3SJohn Marino 	0xDA6D0C74, 0x79AAC56C, 0x3CE4E1AD, 0x51F0C802,
44086d7f5d3SJohn Marino 	0x98F8F35A, 0x1626A49F, 0xEED82B29, 0x1D382FE3,
44186d7f5d3SJohn Marino 	0x0C4FB99A, 0xBB325778, 0x3EC6D97B, 0x6E77A6A9,
44286d7f5d3SJohn Marino 	0xCB658B5C, 0xD45230C7, 0x2BD1408B, 0x60C03EB7,
44386d7f5d3SJohn Marino 	0xB9068D78, 0xA33754F4, 0xF430C87D, 0xC8A71302,
44486d7f5d3SJohn Marino 	0xB96D8C32, 0xEBD4E7BE, 0xBE8B9D2D, 0x7979FB06,
44586d7f5d3SJohn Marino 	0xE7225308, 0x8B75CF77, 0x11EF8DA4, 0xE083C858,
44686d7f5d3SJohn Marino 	0x8D6B786F, 0x5A6317A6, 0xFA5CF7A0, 0x5DDA0033,
44786d7f5d3SJohn Marino 	0xF28EBFB0, 0xF5B9C310, 0xA0EAC280, 0x08B9767A,
44886d7f5d3SJohn Marino 	0xA3D9D2B0, 0x79D34217, 0x021A718D, 0x9AC6336A,
44986d7f5d3SJohn Marino 	0x2711FD60, 0x438050E3, 0x069908A8, 0x3D7FEDC4,
45086d7f5d3SJohn Marino 	0x826D2BEF, 0x4EEB8476, 0x488DCF25, 0x36C9D566,
45186d7f5d3SJohn Marino 	0x28E74E41, 0xC2610ACA, 0x3D49A9CF, 0xBAE3B9DF,
45286d7f5d3SJohn Marino 	0xB65F8DE6, 0x92AEAF64, 0x3AC7D5E6, 0x9EA80509,
45386d7f5d3SJohn Marino 	0xF22B017D, 0xA4173F70, 0xDD1E16C3, 0x15E0D7F9,
45486d7f5d3SJohn Marino 	0x50B1B887, 0x2B9F4FD5, 0x625ABA82, 0x6A017962,
45586d7f5d3SJohn Marino 	0x2EC01B9C, 0x15488AA9, 0xD716E740, 0x40055A2C,
45686d7f5d3SJohn Marino 	0x93D29A22, 0xE32DBF9A, 0x058745B9, 0x3453DC1E,
45786d7f5d3SJohn Marino 	0xD699296E, 0x496CFF6F, 0x1C9F4986, 0xDFE2ED07,
45886d7f5d3SJohn Marino 	0xB87242D1, 0x19DE7EAE, 0x053E561A, 0x15AD6F8C,
45986d7f5d3SJohn Marino 	0x66626C1C, 0x7154C24C, 0xEA082B2A, 0x93EB2939,
46086d7f5d3SJohn Marino 	0x17DCB0F0, 0x58D4F2AE, 0x9EA294FB, 0x52CF564C,
46186d7f5d3SJohn Marino 	0x9883FE66, 0x2EC40581, 0x763953C3, 0x01D6692E,
46286d7f5d3SJohn Marino 	0xD3A0C108, 0xA1E7160E, 0xE4F2DFA6, 0x693ED285,
46386d7f5d3SJohn Marino 	0x74904698, 0x4C2B0EDD, 0x4F757656, 0x5D393378,
46486d7f5d3SJohn Marino 	0xA132234F, 0x3D321C5D, 0xC3F5E194, 0x4B269301,
46586d7f5d3SJohn Marino 	0xC79F022F, 0x3C997E7E, 0x5E4F9504, 0x3FFAFBBD,
46686d7f5d3SJohn Marino 	0x76F7AD0E, 0x296693F4, 0x3D1FCE6F, 0xC61E45BE,
46786d7f5d3SJohn Marino 	0xD3B5AB34, 0xF72BF9B7, 0x1B0434C0, 0x4E72B567,
46886d7f5d3SJohn Marino 	0x5592A33D, 0xB5229301, 0xCFD2A87F, 0x60AEB767,
46986d7f5d3SJohn Marino 	0x1814386B, 0x30BCC33D, 0x38A0C07D, 0xFD1606F2,
47086d7f5d3SJohn Marino 	0xC363519B, 0x589DD390, 0x5479F8E6, 0x1CB8D647,
47186d7f5d3SJohn Marino 	0x97FD61A9, 0xEA7759F4, 0x2D57539D, 0x569A58CF,
47286d7f5d3SJohn Marino 	0xE84E63AD, 0x462E1B78, 0x6580F87E, 0xF3817914,
47386d7f5d3SJohn Marino 	0x91DA55F4, 0x40A230F3, 0xD1988F35, 0xB6E318D2,
47486d7f5d3SJohn Marino 	0x3FFA50BC, 0x3D40F021, 0xC3C0BDAE, 0x4958C24C,
47586d7f5d3SJohn Marino 	0x518F36B2, 0x84B1D370, 0x0FEDCE83, 0x878DDADA,
47686d7f5d3SJohn Marino 	0xF2A279C7, 0x94E01BE8, 0x90716F4B, 0x954B8AA3
47786d7f5d3SJohn Marino };
47886d7f5d3SJohn Marino 
47986d7f5d3SJohn Marino static const u_int32_t cast_sbox8[256] = {
48086d7f5d3SJohn Marino 	0xE216300D, 0xBBDDFFFC, 0xA7EBDABD, 0x35648095,
48186d7f5d3SJohn Marino 	0x7789F8B7, 0xE6C1121B, 0x0E241600, 0x052CE8B5,
48286d7f5d3SJohn Marino 	0x11A9CFB0, 0xE5952F11, 0xECE7990A, 0x9386D174,
48386d7f5d3SJohn Marino 	0x2A42931C, 0x76E38111, 0xB12DEF3A, 0x37DDDDFC,
48486d7f5d3SJohn Marino 	0xDE9ADEB1, 0x0A0CC32C, 0xBE197029, 0x84A00940,
48586d7f5d3SJohn Marino 	0xBB243A0F, 0xB4D137CF, 0xB44E79F0, 0x049EEDFD,
48686d7f5d3SJohn Marino 	0x0B15A15D, 0x480D3168, 0x8BBBDE5A, 0x669DED42,
48786d7f5d3SJohn Marino 	0xC7ECE831, 0x3F8F95E7, 0x72DF191B, 0x7580330D,
48886d7f5d3SJohn Marino 	0x94074251, 0x5C7DCDFA, 0xABBE6D63, 0xAA402164,
48986d7f5d3SJohn Marino 	0xB301D40A, 0x02E7D1CA, 0x53571DAE, 0x7A3182A2,
49086d7f5d3SJohn Marino 	0x12A8DDEC, 0xFDAA335D, 0x176F43E8, 0x71FB46D4,
49186d7f5d3SJohn Marino 	0x38129022, 0xCE949AD4, 0xB84769AD, 0x965BD862,
49286d7f5d3SJohn Marino 	0x82F3D055, 0x66FB9767, 0x15B80B4E, 0x1D5B47A0,
49386d7f5d3SJohn Marino 	0x4CFDE06F, 0xC28EC4B8, 0x57E8726E, 0x647A78FC,
49486d7f5d3SJohn Marino 	0x99865D44, 0x608BD593, 0x6C200E03, 0x39DC5FF6,
49586d7f5d3SJohn Marino 	0x5D0B00A3, 0xAE63AFF2, 0x7E8BD632, 0x70108C0C,
49686d7f5d3SJohn Marino 	0xBBD35049, 0x2998DF04, 0x980CF42A, 0x9B6DF491,
49786d7f5d3SJohn Marino 	0x9E7EDD53, 0x06918548, 0x58CB7E07, 0x3B74EF2E,
49886d7f5d3SJohn Marino 	0x522FFFB1, 0xD24708CC, 0x1C7E27CD, 0xA4EB215B,
49986d7f5d3SJohn Marino 	0x3CF1D2E2, 0x19B47A38, 0x424F7618, 0x35856039,
50086d7f5d3SJohn Marino 	0x9D17DEE7, 0x27EB35E6, 0xC9AFF67B, 0x36BAF5B8,
50186d7f5d3SJohn Marino 	0x09C467CD, 0xC18910B1, 0xE11DBF7B, 0x06CD1AF8,
50286d7f5d3SJohn Marino 	0x7170C608, 0x2D5E3354, 0xD4DE495A, 0x64C6D006,
50386d7f5d3SJohn Marino 	0xBCC0C62C, 0x3DD00DB3, 0x708F8F34, 0x77D51B42,
50486d7f5d3SJohn Marino 	0x264F620F, 0x24B8D2BF, 0x15C1B79E, 0x46A52564,
50586d7f5d3SJohn Marino 	0xF8D7E54E, 0x3E378160, 0x7895CDA5, 0x859C15A5,
50686d7f5d3SJohn Marino 	0xE6459788, 0xC37BC75F, 0xDB07BA0C, 0x0676A3AB,
50786d7f5d3SJohn Marino 	0x7F229B1E, 0x31842E7B, 0x24259FD7, 0xF8BEF472,
50886d7f5d3SJohn Marino 	0x835FFCB8, 0x6DF4C1F2, 0x96F5B195, 0xFD0AF0FC,
50986d7f5d3SJohn Marino 	0xB0FE134C, 0xE2506D3D, 0x4F9B12EA, 0xF215F225,
51086d7f5d3SJohn Marino 	0xA223736F, 0x9FB4C428, 0x25D04979, 0x34C713F8,
51186d7f5d3SJohn Marino 	0xC4618187, 0xEA7A6E98, 0x7CD16EFC, 0x1436876C,
51286d7f5d3SJohn Marino 	0xF1544107, 0xBEDEEE14, 0x56E9AF27, 0xA04AA441,
51386d7f5d3SJohn Marino 	0x3CF7C899, 0x92ECBAE6, 0xDD67016D, 0x151682EB,
51486d7f5d3SJohn Marino 	0xA842EEDF, 0xFDBA60B4, 0xF1907B75, 0x20E3030F,
51586d7f5d3SJohn Marino 	0x24D8C29E, 0xE139673B, 0xEFA63FB8, 0x71873054,
51686d7f5d3SJohn Marino 	0xB6F2CF3B, 0x9F326442, 0xCB15A4CC, 0xB01A4504,
51786d7f5d3SJohn Marino 	0xF1E47D8D, 0x844A1BE5, 0xBAE7DFDC, 0x42CBDA70,
51886d7f5d3SJohn Marino 	0xCD7DAE0A, 0x57E85B7A, 0xD53F5AF6, 0x20CF4D8C,
51986d7f5d3SJohn Marino 	0xCEA4D428, 0x79D130A4, 0x3486EBFB, 0x33D3CDDC,
52086d7f5d3SJohn Marino 	0x77853B53, 0x37EFFCB5, 0xC5068778, 0xE580B3E6,
52186d7f5d3SJohn Marino 	0x4E68B8F4, 0xC5C8B37E, 0x0D809EA2, 0x398FEB7C,
52286d7f5d3SJohn Marino 	0x132A4F94, 0x43B7950E, 0x2FEE7D1C, 0x223613BD,
52386d7f5d3SJohn Marino 	0xDD06CAA2, 0x37DF932B, 0xC4248289, 0xACF3EBC3,
52486d7f5d3SJohn Marino 	0x5715F6B7, 0xEF3478DD, 0xF267616F, 0xC148CBE4,
52586d7f5d3SJohn Marino 	0x9052815E, 0x5E410FAB, 0xB48A2465, 0x2EDA7FA4,
52686d7f5d3SJohn Marino 	0xE87B40E4, 0xE98EA084, 0x5889E9E1, 0xEFD390FC,
52786d7f5d3SJohn Marino 	0xDD07D35B, 0xDB485694, 0x38D7E5B2, 0x57720101,
52886d7f5d3SJohn Marino 	0x730EDEBC, 0x5B643113, 0x94917E4F, 0x503C2FBA,
52986d7f5d3SJohn Marino 	0x646F1282, 0x7523D24A, 0xE0779695, 0xF9C17A8F,
53086d7f5d3SJohn Marino 	0x7A5B2121, 0xD187B896, 0x29263A4D, 0xBA510CDF,
53186d7f5d3SJohn Marino 	0x81F47C9F, 0xAD1163ED, 0xEA7B5965, 0x1A00726E,
53286d7f5d3SJohn Marino 	0x11403092, 0x00DA6D77, 0x4A0CDD61, 0xAD1F4603,
53386d7f5d3SJohn Marino 	0x605BDFB0, 0x9EEDC364, 0x22EBE6A8, 0xCEE7D28A,
53486d7f5d3SJohn Marino 	0xA0E736A0, 0x5564A6B9, 0x10853209, 0xC7EB8F37,
53586d7f5d3SJohn Marino 	0x2DE705CA, 0x8951570F, 0xDF09822B, 0xBD691A6C,
53686d7f5d3SJohn Marino 	0xAA12E4F2, 0x87451C0F, 0xE0F6A27A, 0x3ADA4819,
53786d7f5d3SJohn Marino 	0x4CF1764F, 0x0D771C2B, 0x67CDB156, 0x350D8384,
53886d7f5d3SJohn Marino 	0x5938FA0F, 0x42399EF3, 0x36997B07, 0x0E84093D,
53986d7f5d3SJohn Marino 	0x4AA93E61, 0x8360D87B, 0x1FA98B0C, 0x1149382C,
54086d7f5d3SJohn Marino 	0xE97625A5, 0x0614D1B7, 0x0E25244B, 0x0C768347,
54186d7f5d3SJohn Marino 	0x589E8D82, 0x0D2059D1, 0xA466BB1E, 0xF8DA0A82,
54286d7f5d3SJohn Marino 	0x04F19130, 0xBA6E4EC0, 0x99265164, 0x1EE7230D,
54386d7f5d3SJohn Marino 	0x50B2AD80, 0xEAEE6801, 0x8DB2A283, 0xEA8BF59E
54486d7f5d3SJohn Marino };
54586d7f5d3SJohn Marino 
546