Merge tag 'block-5.15-2021-09-05' of git://git.kernel.dk/linux-block
[linux-2.6-microblaze.git] / crypto / cast_common.c
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Common lookup tables for CAST-128 (cast5) and CAST-256 (cast6)
4  *
5  * Copyright © 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
6  * Copyright © 2003 Kartikey Mahendra Bhatt <kartik_me@hotmail.com>
7  * Copyright © 2012 Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
8  */
9
10 #include <linux/module.h>
11 #include <crypto/cast_common.h>
12
13 __visible const u32 cast_s1[256] = {
14         0x30fb40d4, 0x9fa0ff0b, 0x6beccd2f, 0x3f258c7a, 0x1e213f2f,
15         0x9c004dd3, 0x6003e540, 0xcf9fc949,
16         0xbfd4af27, 0x88bbbdb5, 0xe2034090, 0x98d09675, 0x6e63a0e0,
17         0x15c361d2, 0xc2e7661d, 0x22d4ff8e,
18         0x28683b6f, 0xc07fd059, 0xff2379c8, 0x775f50e2, 0x43c340d3,
19         0xdf2f8656, 0x887ca41a, 0xa2d2bd2d,
20         0xa1c9e0d6, 0x346c4819, 0x61b76d87, 0x22540f2f, 0x2abe32e1,
21         0xaa54166b, 0x22568e3a, 0xa2d341d0,
22         0x66db40c8, 0xa784392f, 0x004dff2f, 0x2db9d2de, 0x97943fac,
23         0x4a97c1d8, 0x527644b7, 0xb5f437a7,
24         0xb82cbaef, 0xd751d159, 0x6ff7f0ed, 0x5a097a1f, 0x827b68d0,
25         0x90ecf52e, 0x22b0c054, 0xbc8e5935,
26         0x4b6d2f7f, 0x50bb64a2, 0xd2664910, 0xbee5812d, 0xb7332290,
27         0xe93b159f, 0xb48ee411, 0x4bff345d,
28         0xfd45c240, 0xad31973f, 0xc4f6d02e, 0x55fc8165, 0xd5b1caad,
29         0xa1ac2dae, 0xa2d4b76d, 0xc19b0c50,
30         0x882240f2, 0x0c6e4f38, 0xa4e4bfd7, 0x4f5ba272, 0x564c1d2f,
31         0xc59c5319, 0xb949e354, 0xb04669fe,
32         0xb1b6ab8a, 0xc71358dd, 0x6385c545, 0x110f935d, 0x57538ad5,
33         0x6a390493, 0xe63d37e0, 0x2a54f6b3,
34         0x3a787d5f, 0x6276a0b5, 0x19a6fcdf, 0x7a42206a, 0x29f9d4d5,
35         0xf61b1891, 0xbb72275e, 0xaa508167,
36         0x38901091, 0xc6b505eb, 0x84c7cb8c, 0x2ad75a0f, 0x874a1427,
37         0xa2d1936b, 0x2ad286af, 0xaa56d291,
38         0xd7894360, 0x425c750d, 0x93b39e26, 0x187184c9, 0x6c00b32d,
39         0x73e2bb14, 0xa0bebc3c, 0x54623779,
40         0x64459eab, 0x3f328b82, 0x7718cf82, 0x59a2cea6, 0x04ee002e,
41         0x89fe78e6, 0x3fab0950, 0x325ff6c2,
42         0x81383f05, 0x6963c5c8, 0x76cb5ad6, 0xd49974c9, 0xca180dcf,
43         0x380782d5, 0xc7fa5cf6, 0x8ac31511,
44         0x35e79e13, 0x47da91d0, 0xf40f9086, 0xa7e2419e, 0x31366241,
45         0x051ef495, 0xaa573b04, 0x4a805d8d,
46         0x548300d0, 0x00322a3c, 0xbf64cddf, 0xba57a68e, 0x75c6372b,
47         0x50afd341, 0xa7c13275, 0x915a0bf5,
48         0x6b54bfab, 0x2b0b1426, 0xab4cc9d7, 0x449ccd82, 0xf7fbf265,
49         0xab85c5f3, 0x1b55db94, 0xaad4e324,
50         0xcfa4bd3f, 0x2deaa3e2, 0x9e204d02, 0xc8bd25ac, 0xeadf55b3,
51         0xd5bd9e98, 0xe31231b2, 0x2ad5ad6c,
52         0x954329de, 0xadbe4528, 0xd8710f69, 0xaa51c90f, 0xaa786bf6,
53         0x22513f1e, 0xaa51a79b, 0x2ad344cc,
54         0x7b5a41f0, 0xd37cfbad, 0x1b069505, 0x41ece491, 0xb4c332e6,
55         0x032268d4, 0xc9600acc, 0xce387e6d,
56         0xbf6bb16c, 0x6a70fb78, 0x0d03d9c9, 0xd4df39de, 0xe01063da,
57         0x4736f464, 0x5ad328d8, 0xb347cc96,
58         0x75bb0fc3, 0x98511bfb, 0x4ffbcc35, 0xb58bcf6a, 0xe11f0abc,
59         0xbfc5fe4a, 0xa70aec10, 0xac39570a,
60         0x3f04442f, 0x6188b153, 0xe0397a2e, 0x5727cb79, 0x9ceb418f,
61         0x1cacd68d, 0x2ad37c96, 0x0175cb9d,
62         0xc69dff09, 0xc75b65f0, 0xd9db40d8, 0xec0e7779, 0x4744ead4,
63         0xb11c3274, 0xdd24cb9e, 0x7e1c54bd,
64         0xf01144f9, 0xd2240eb1, 0x9675b3fd, 0xa3ac3755, 0xd47c27af,
65         0x51c85f4d, 0x56907596, 0xa5bb15e6,
66         0x580304f0, 0xca042cf1, 0x011a37ea, 0x8dbfaadb, 0x35ba3e4a,
67         0x3526ffa0, 0xc37b4d09, 0xbc306ed9,
68         0x98a52666, 0x5648f725, 0xff5e569d, 0x0ced63d0, 0x7c63b2cf,
69         0x700b45e1, 0xd5ea50f1, 0x85a92872,
70         0xaf1fbda7, 0xd4234870, 0xa7870bf3, 0x2d3b4d79, 0x42e04198,
71         0x0cd0ede7, 0x26470db8, 0xf881814c,
72         0x474d6ad7, 0x7c0c5e5c, 0xd1231959, 0x381b7298, 0xf5d2f4db,
73         0xab838653, 0x6e2f1e23, 0x83719c9e,
74         0xbd91e046, 0x9a56456e, 0xdc39200c, 0x20c8c571, 0x962bda1c,
75         0xe1e696ff, 0xb141ab08, 0x7cca89b9,
76         0x1a69e783, 0x02cc4843, 0xa2f7c579, 0x429ef47d, 0x427b169c,
77         0x5ac9f049, 0xdd8f0f00, 0x5c8165bf
78 };
79 EXPORT_SYMBOL_GPL(cast_s1);
80
81 __visible const u32 cast_s2[256] = {
82         0x1f201094, 0xef0ba75b, 0x69e3cf7e, 0x393f4380, 0xfe61cf7a,
83         0xeec5207a, 0x55889c94, 0x72fc0651,
84         0xada7ef79, 0x4e1d7235, 0xd55a63ce, 0xde0436ba, 0x99c430ef,
85         0x5f0c0794, 0x18dcdb7d, 0xa1d6eff3,
86         0xa0b52f7b, 0x59e83605, 0xee15b094, 0xe9ffd909, 0xdc440086,
87         0xef944459, 0xba83ccb3, 0xe0c3cdfb,
88         0xd1da4181, 0x3b092ab1, 0xf997f1c1, 0xa5e6cf7b, 0x01420ddb,
89         0xe4e7ef5b, 0x25a1ff41, 0xe180f806,
90         0x1fc41080, 0x179bee7a, 0xd37ac6a9, 0xfe5830a4, 0x98de8b7f,
91         0x77e83f4e, 0x79929269, 0x24fa9f7b,
92         0xe113c85b, 0xacc40083, 0xd7503525, 0xf7ea615f, 0x62143154,
93         0x0d554b63, 0x5d681121, 0xc866c359,
94         0x3d63cf73, 0xcee234c0, 0xd4d87e87, 0x5c672b21, 0x071f6181,
95         0x39f7627f, 0x361e3084, 0xe4eb573b,
96         0x602f64a4, 0xd63acd9c, 0x1bbc4635, 0x9e81032d, 0x2701f50c,
97         0x99847ab4, 0xa0e3df79, 0xba6cf38c,
98         0x10843094, 0x2537a95e, 0xf46f6ffe, 0xa1ff3b1f, 0x208cfb6a,
99         0x8f458c74, 0xd9e0a227, 0x4ec73a34,
100         0xfc884f69, 0x3e4de8df, 0xef0e0088, 0x3559648d, 0x8a45388c,
101         0x1d804366, 0x721d9bfd, 0xa58684bb,
102         0xe8256333, 0x844e8212, 0x128d8098, 0xfed33fb4, 0xce280ae1,
103         0x27e19ba5, 0xd5a6c252, 0xe49754bd,
104         0xc5d655dd, 0xeb667064, 0x77840b4d, 0xa1b6a801, 0x84db26a9,
105         0xe0b56714, 0x21f043b7, 0xe5d05860,
106         0x54f03084, 0x066ff472, 0xa31aa153, 0xdadc4755, 0xb5625dbf,
107         0x68561be6, 0x83ca6b94, 0x2d6ed23b,
108         0xeccf01db, 0xa6d3d0ba, 0xb6803d5c, 0xaf77a709, 0x33b4a34c,
109         0x397bc8d6, 0x5ee22b95, 0x5f0e5304,
110         0x81ed6f61, 0x20e74364, 0xb45e1378, 0xde18639b, 0x881ca122,
111         0xb96726d1, 0x8049a7e8, 0x22b7da7b,
112         0x5e552d25, 0x5272d237, 0x79d2951c, 0xc60d894c, 0x488cb402,
113         0x1ba4fe5b, 0xa4b09f6b, 0x1ca815cf,
114         0xa20c3005, 0x8871df63, 0xb9de2fcb, 0x0cc6c9e9, 0x0beeff53,
115         0xe3214517, 0xb4542835, 0x9f63293c,
116         0xee41e729, 0x6e1d2d7c, 0x50045286, 0x1e6685f3, 0xf33401c6,
117         0x30a22c95, 0x31a70850, 0x60930f13,
118         0x73f98417, 0xa1269859, 0xec645c44, 0x52c877a9, 0xcdff33a6,
119         0xa02b1741, 0x7cbad9a2, 0x2180036f,
120         0x50d99c08, 0xcb3f4861, 0xc26bd765, 0x64a3f6ab, 0x80342676,
121         0x25a75e7b, 0xe4e6d1fc, 0x20c710e6,
122         0xcdf0b680, 0x17844d3b, 0x31eef84d, 0x7e0824e4, 0x2ccb49eb,
123         0x846a3bae, 0x8ff77888, 0xee5d60f6,
124         0x7af75673, 0x2fdd5cdb, 0xa11631c1, 0x30f66f43, 0xb3faec54,
125         0x157fd7fa, 0xef8579cc, 0xd152de58,
126         0xdb2ffd5e, 0x8f32ce19, 0x306af97a, 0x02f03ef8, 0x99319ad5,
127         0xc242fa0f, 0xa7e3ebb0, 0xc68e4906,
128         0xb8da230c, 0x80823028, 0xdcdef3c8, 0xd35fb171, 0x088a1bc8,
129         0xbec0c560, 0x61a3c9e8, 0xbca8f54d,
130         0xc72feffa, 0x22822e99, 0x82c570b4, 0xd8d94e89, 0x8b1c34bc,
131         0x301e16e6, 0x273be979, 0xb0ffeaa6,
132         0x61d9b8c6, 0x00b24869, 0xb7ffce3f, 0x08dc283b, 0x43daf65a,
133         0xf7e19798, 0x7619b72f, 0x8f1c9ba4,
134         0xdc8637a0, 0x16a7d3b1, 0x9fc393b7, 0xa7136eeb, 0xc6bcc63e,
135         0x1a513742, 0xef6828bc, 0x520365d6,
136         0x2d6a77ab, 0x3527ed4b, 0x821fd216, 0x095c6e2e, 0xdb92f2fb,
137         0x5eea29cb, 0x145892f5, 0x91584f7f,
138         0x5483697b, 0x2667a8cc, 0x85196048, 0x8c4bacea, 0x833860d4,
139         0x0d23e0f9, 0x6c387e8a, 0x0ae6d249,
140         0xb284600c, 0xd835731d, 0xdcb1c647, 0xac4c56ea, 0x3ebd81b3,
141         0x230eabb0, 0x6438bc87, 0xf0b5b1fa,
142         0x8f5ea2b3, 0xfc184642, 0x0a036b7a, 0x4fb089bd, 0x649da589,
143         0xa345415e, 0x5c038323, 0x3e5d3bb9,
144         0x43d79572, 0x7e6dd07c, 0x06dfdf1e, 0x6c6cc4ef, 0x7160a539,
145         0x73bfbe70, 0x83877605, 0x4523ecf1
146 };
147 EXPORT_SYMBOL_GPL(cast_s2);
148
149 __visible const u32 cast_s3[256] = {
150         0x8defc240, 0x25fa5d9f, 0xeb903dbf, 0xe810c907, 0x47607fff,
151         0x369fe44b, 0x8c1fc644, 0xaececa90,
152         0xbeb1f9bf, 0xeefbcaea, 0xe8cf1950, 0x51df07ae, 0x920e8806,
153         0xf0ad0548, 0xe13c8d83, 0x927010d5,
154         0x11107d9f, 0x07647db9, 0xb2e3e4d4, 0x3d4f285e, 0xb9afa820,
155         0xfade82e0, 0xa067268b, 0x8272792e,
156         0x553fb2c0, 0x489ae22b, 0xd4ef9794, 0x125e3fbc, 0x21fffcee,
157         0x825b1bfd, 0x9255c5ed, 0x1257a240,
158         0x4e1a8302, 0xbae07fff, 0x528246e7, 0x8e57140e, 0x3373f7bf,
159         0x8c9f8188, 0xa6fc4ee8, 0xc982b5a5,
160         0xa8c01db7, 0x579fc264, 0x67094f31, 0xf2bd3f5f, 0x40fff7c1,
161         0x1fb78dfc, 0x8e6bd2c1, 0x437be59b,
162         0x99b03dbf, 0xb5dbc64b, 0x638dc0e6, 0x55819d99, 0xa197c81c,
163         0x4a012d6e, 0xc5884a28, 0xccc36f71,
164         0xb843c213, 0x6c0743f1, 0x8309893c, 0x0feddd5f, 0x2f7fe850,
165         0xd7c07f7e, 0x02507fbf, 0x5afb9a04,
166         0xa747d2d0, 0x1651192e, 0xaf70bf3e, 0x58c31380, 0x5f98302e,
167         0x727cc3c4, 0x0a0fb402, 0x0f7fef82,
168         0x8c96fdad, 0x5d2c2aae, 0x8ee99a49, 0x50da88b8, 0x8427f4a0,
169         0x1eac5790, 0x796fb449, 0x8252dc15,
170         0xefbd7d9b, 0xa672597d, 0xada840d8, 0x45f54504, 0xfa5d7403,
171         0xe83ec305, 0x4f91751a, 0x925669c2,
172         0x23efe941, 0xa903f12e, 0x60270df2, 0x0276e4b6, 0x94fd6574,
173         0x927985b2, 0x8276dbcb, 0x02778176,
174         0xf8af918d, 0x4e48f79e, 0x8f616ddf, 0xe29d840e, 0x842f7d83,
175         0x340ce5c8, 0x96bbb682, 0x93b4b148,
176         0xef303cab, 0x984faf28, 0x779faf9b, 0x92dc560d, 0x224d1e20,
177         0x8437aa88, 0x7d29dc96, 0x2756d3dc,
178         0x8b907cee, 0xb51fd240, 0xe7c07ce3, 0xe566b4a1, 0xc3e9615e,
179         0x3cf8209d, 0x6094d1e3, 0xcd9ca341,
180         0x5c76460e, 0x00ea983b, 0xd4d67881, 0xfd47572c, 0xf76cedd9,
181         0xbda8229c, 0x127dadaa, 0x438a074e,
182         0x1f97c090, 0x081bdb8a, 0x93a07ebe, 0xb938ca15, 0x97b03cff,
183         0x3dc2c0f8, 0x8d1ab2ec, 0x64380e51,
184         0x68cc7bfb, 0xd90f2788, 0x12490181, 0x5de5ffd4, 0xdd7ef86a,
185         0x76a2e214, 0xb9a40368, 0x925d958f,
186         0x4b39fffa, 0xba39aee9, 0xa4ffd30b, 0xfaf7933b, 0x6d498623,
187         0x193cbcfa, 0x27627545, 0x825cf47a,
188         0x61bd8ba0, 0xd11e42d1, 0xcead04f4, 0x127ea392, 0x10428db7,
189         0x8272a972, 0x9270c4a8, 0x127de50b,
190         0x285ba1c8, 0x3c62f44f, 0x35c0eaa5, 0xe805d231, 0x428929fb,
191         0xb4fcdf82, 0x4fb66a53, 0x0e7dc15b,
192         0x1f081fab, 0x108618ae, 0xfcfd086d, 0xf9ff2889, 0x694bcc11,
193         0x236a5cae, 0x12deca4d, 0x2c3f8cc5,
194         0xd2d02dfe, 0xf8ef5896, 0xe4cf52da, 0x95155b67, 0x494a488c,
195         0xb9b6a80c, 0x5c8f82bc, 0x89d36b45,
196         0x3a609437, 0xec00c9a9, 0x44715253, 0x0a874b49, 0xd773bc40,
197         0x7c34671c, 0x02717ef6, 0x4feb5536,
198         0xa2d02fff, 0xd2bf60c4, 0xd43f03c0, 0x50b4ef6d, 0x07478cd1,
199         0x006e1888, 0xa2e53f55, 0xb9e6d4bc,
200         0xa2048016, 0x97573833, 0xd7207d67, 0xde0f8f3d, 0x72f87b33,
201         0xabcc4f33, 0x7688c55d, 0x7b00a6b0,
202         0x947b0001, 0x570075d2, 0xf9bb88f8, 0x8942019e, 0x4264a5ff,
203         0x856302e0, 0x72dbd92b, 0xee971b69,
204         0x6ea22fde, 0x5f08ae2b, 0xaf7a616d, 0xe5c98767, 0xcf1febd2,
205         0x61efc8c2, 0xf1ac2571, 0xcc8239c2,
206         0x67214cb8, 0xb1e583d1, 0xb7dc3e62, 0x7f10bdce, 0xf90a5c38,
207         0x0ff0443d, 0x606e6dc6, 0x60543a49,
208         0x5727c148, 0x2be98a1d, 0x8ab41738, 0x20e1be24, 0xaf96da0f,
209         0x68458425, 0x99833be5, 0x600d457d,
210         0x282f9350, 0x8334b362, 0xd91d1120, 0x2b6d8da0, 0x642b1e31,
211         0x9c305a00, 0x52bce688, 0x1b03588a,
212         0xf7baefd5, 0x4142ed9c, 0xa4315c11, 0x83323ec5, 0xdfef4636,
213         0xa133c501, 0xe9d3531c, 0xee353783
214 };
215 EXPORT_SYMBOL_GPL(cast_s3);
216
217 __visible const u32 cast_s4[256] = {
218         0x9db30420, 0x1fb6e9de, 0xa7be7bef, 0xd273a298, 0x4a4f7bdb,
219         0x64ad8c57, 0x85510443, 0xfa020ed1,
220         0x7e287aff, 0xe60fb663, 0x095f35a1, 0x79ebf120, 0xfd059d43,
221         0x6497b7b1, 0xf3641f63, 0x241e4adf,
222         0x28147f5f, 0x4fa2b8cd, 0xc9430040, 0x0cc32220, 0xfdd30b30,
223         0xc0a5374f, 0x1d2d00d9, 0x24147b15,
224         0xee4d111a, 0x0fca5167, 0x71ff904c, 0x2d195ffe, 0x1a05645f,
225         0x0c13fefe, 0x081b08ca, 0x05170121,
226         0x80530100, 0xe83e5efe, 0xac9af4f8, 0x7fe72701, 0xd2b8ee5f,
227         0x06df4261, 0xbb9e9b8a, 0x7293ea25,
228         0xce84ffdf, 0xf5718801, 0x3dd64b04, 0xa26f263b, 0x7ed48400,
229         0x547eebe6, 0x446d4ca0, 0x6cf3d6f5,
230         0x2649abdf, 0xaea0c7f5, 0x36338cc1, 0x503f7e93, 0xd3772061,
231         0x11b638e1, 0x72500e03, 0xf80eb2bb,
232         0xabe0502e, 0xec8d77de, 0x57971e81, 0xe14f6746, 0xc9335400,
233         0x6920318f, 0x081dbb99, 0xffc304a5,
234         0x4d351805, 0x7f3d5ce3, 0xa6c866c6, 0x5d5bcca9, 0xdaec6fea,
235         0x9f926f91, 0x9f46222f, 0x3991467d,
236         0xa5bf6d8e, 0x1143c44f, 0x43958302, 0xd0214eeb, 0x022083b8,
237         0x3fb6180c, 0x18f8931e, 0x281658e6,
238         0x26486e3e, 0x8bd78a70, 0x7477e4c1, 0xb506e07c, 0xf32d0a25,
239         0x79098b02, 0xe4eabb81, 0x28123b23,
240         0x69dead38, 0x1574ca16, 0xdf871b62, 0x211c40b7, 0xa51a9ef9,
241         0x0014377b, 0x041e8ac8, 0x09114003,
242         0xbd59e4d2, 0xe3d156d5, 0x4fe876d5, 0x2f91a340, 0x557be8de,
243         0x00eae4a7, 0x0ce5c2ec, 0x4db4bba6,
244         0xe756bdff, 0xdd3369ac, 0xec17b035, 0x06572327, 0x99afc8b0,
245         0x56c8c391, 0x6b65811c, 0x5e146119,
246         0x6e85cb75, 0xbe07c002, 0xc2325577, 0x893ff4ec, 0x5bbfc92d,
247         0xd0ec3b25, 0xb7801ab7, 0x8d6d3b24,
248         0x20c763ef, 0xc366a5fc, 0x9c382880, 0x0ace3205, 0xaac9548a,
249         0xeca1d7c7, 0x041afa32, 0x1d16625a,
250         0x6701902c, 0x9b757a54, 0x31d477f7, 0x9126b031, 0x36cc6fdb,
251         0xc70b8b46, 0xd9e66a48, 0x56e55a79,
252         0x026a4ceb, 0x52437eff, 0x2f8f76b4, 0x0df980a5, 0x8674cde3,
253         0xedda04eb, 0x17a9be04, 0x2c18f4df,
254         0xb7747f9d, 0xab2af7b4, 0xefc34d20, 0x2e096b7c, 0x1741a254,
255         0xe5b6a035, 0x213d42f6, 0x2c1c7c26,
256         0x61c2f50f, 0x6552daf9, 0xd2c231f8, 0x25130f69, 0xd8167fa2,
257         0x0418f2c8, 0x001a96a6, 0x0d1526ab,
258         0x63315c21, 0x5e0a72ec, 0x49bafefd, 0x187908d9, 0x8d0dbd86,
259         0x311170a7, 0x3e9b640c, 0xcc3e10d7,
260         0xd5cad3b6, 0x0caec388, 0xf73001e1, 0x6c728aff, 0x71eae2a1,
261         0x1f9af36e, 0xcfcbd12f, 0xc1de8417,
262         0xac07be6b, 0xcb44a1d8, 0x8b9b0f56, 0x013988c3, 0xb1c52fca,
263         0xb4be31cd, 0xd8782806, 0x12a3a4e2,
264         0x6f7de532, 0x58fd7eb6, 0xd01ee900, 0x24adffc2, 0xf4990fc5,
265         0x9711aac5, 0x001d7b95, 0x82e5e7d2,
266         0x109873f6, 0x00613096, 0xc32d9521, 0xada121ff, 0x29908415,
267         0x7fbb977f, 0xaf9eb3db, 0x29c9ed2a,
268         0x5ce2a465, 0xa730f32c, 0xd0aa3fe8, 0x8a5cc091, 0xd49e2ce7,
269         0x0ce454a9, 0xd60acd86, 0x015f1919,
270         0x77079103, 0xdea03af6, 0x78a8565e, 0xdee356df, 0x21f05cbe,
271         0x8b75e387, 0xb3c50651, 0xb8a5c3ef,
272         0xd8eeb6d2, 0xe523be77, 0xc2154529, 0x2f69efdf, 0xafe67afb,
273         0xf470c4b2, 0xf3e0eb5b, 0xd6cc9876,
274         0x39e4460c, 0x1fda8538, 0x1987832f, 0xca007367, 0xa99144f8,
275         0x296b299e, 0x492fc295, 0x9266beab,
276         0xb5676e69, 0x9bd3ddda, 0xdf7e052f, 0xdb25701c, 0x1b5e51ee,
277         0xf65324e6, 0x6afce36c, 0x0316cc04,
278         0x8644213e, 0xb7dc59d0, 0x7965291f, 0xccd6fd43, 0x41823979,
279         0x932bcdf6, 0xb657c34d, 0x4edfd282,
280         0x7ae5290c, 0x3cb9536b, 0x851e20fe, 0x9833557e, 0x13ecf0b0,
281         0xd3ffb372, 0x3f85c5c1, 0x0aef7ed2
282 };
283 EXPORT_SYMBOL_GPL(cast_s4);
284
285 MODULE_LICENSE("GPL");