r23455: These buffers may not be null terminated. Ensure we don't run past the
[samba.git] / source4 / heimdal / lib / des / des-tables.h
1 /* GENERATE FILE from gen-des.pl, do not edit */
2
3 /* pc1_c_3 bit pattern 5 13 21 */
4 static int pc1_c_3[8] = {
5     0x00000000, 0x00000010, 0x00001000, 0x00001010, 
6     0x00100000, 0x00100010, 0x00101000, 0x00101010
7 };
8 /* pc1_c_4 bit pattern 1 9 17 25 */
9 static int pc1_c_4[16] = {
10     0x00000000, 0x00000001, 0x00000100, 0x00000101, 
11     0x00010000, 0x00010001, 0x00010100, 0x00010101, 
12     0x01000000, 0x01000001, 0x01000100, 0x01000101, 
13     0x01010000, 0x01010001, 0x01010100, 0x01010101
14 };
15 /* pc1_d_3 bit pattern 49 41 33 */
16 static int pc1_d_3[8] = {
17     0x00000000, 0x01000000, 0x00010000, 0x01010000, 
18     0x00000100, 0x01000100, 0x00010100, 0x01010100
19 };
20 /* pc1_d_4 bit pattern 57 53 45 37 */
21 static int pc1_d_4[16] = {
22     0x00000000, 0x00100000, 0x00001000, 0x00101000, 
23     0x00000010, 0x00100010, 0x00001010, 0x00101010, 
24     0x00000001, 0x00100001, 0x00001001, 0x00101001, 
25     0x00000011, 0x00100011, 0x00001011, 0x00101011
26 };
27 /* pc2_c_1 bit pattern 5 24 7 16 6 10 */
28 static int pc2_c_1[64] = {
29     0x00000000, 0x00004000, 0x00040000, 0x00044000, 
30     0x00000100, 0x00004100, 0x00040100, 0x00044100, 
31     0x00020000, 0x00024000, 0x00060000, 0x00064000, 
32     0x00020100, 0x00024100, 0x00060100, 0x00064100, 
33     0x00000001, 0x00004001, 0x00040001, 0x00044001, 
34     0x00000101, 0x00004101, 0x00040101, 0x00044101, 
35     0x00020001, 0x00024001, 0x00060001, 0x00064001, 
36     0x00020101, 0x00024101, 0x00060101, 0x00064101, 
37     0x00080000, 0x00084000, 0x000c0000, 0x000c4000, 
38     0x00080100, 0x00084100, 0x000c0100, 0x000c4100, 
39     0x000a0000, 0x000a4000, 0x000e0000, 0x000e4000, 
40     0x000a0100, 0x000a4100, 0x000e0100, 0x000e4100, 
41     0x00080001, 0x00084001, 0x000c0001, 0x000c4001, 
42     0x00080101, 0x00084101, 0x000c0101, 0x000c4101, 
43     0x000a0001, 0x000a4001, 0x000e0001, 0x000e4001, 
44     0x000a0101, 0x000a4101, 0x000e0101, 0x000e4101
45 };
46 /* pc2_c_2 bit pattern 20 18 12 3 15 23 */
47 static int pc2_c_2[64] = {
48     0x00000000, 0x00000002, 0x00000200, 0x00000202, 
49     0x00200000, 0x00200002, 0x00200200, 0x00200202, 
50     0x00001000, 0x00001002, 0x00001200, 0x00001202, 
51     0x00201000, 0x00201002, 0x00201200, 0x00201202, 
52     0x00000040, 0x00000042, 0x00000240, 0x00000242, 
53     0x00200040, 0x00200042, 0x00200240, 0x00200242, 
54     0x00001040, 0x00001042, 0x00001240, 0x00001242, 
55     0x00201040, 0x00201042, 0x00201240, 0x00201242, 
56     0x00000010, 0x00000012, 0x00000210, 0x00000212, 
57     0x00200010, 0x00200012, 0x00200210, 0x00200212, 
58     0x00001010, 0x00001012, 0x00001210, 0x00001212, 
59     0x00201010, 0x00201012, 0x00201210, 0x00201212, 
60     0x00000050, 0x00000052, 0x00000250, 0x00000252, 
61     0x00200050, 0x00200052, 0x00200250, 0x00200252, 
62     0x00001050, 0x00001052, 0x00001250, 0x00001252, 
63     0x00201050, 0x00201052, 0x00201250, 0x00201252
64 };
65 /* pc2_c_3 bit pattern 1 9 19 2 14 22 */
66 static int pc2_c_3[64] = {
67     0x00000000, 0x00000004, 0x00000400, 0x00000404, 
68     0x00400000, 0x00400004, 0x00400400, 0x00400404, 
69     0x00000020, 0x00000024, 0x00000420, 0x00000424, 
70     0x00400020, 0x00400024, 0x00400420, 0x00400424, 
71     0x00008000, 0x00008004, 0x00008400, 0x00008404, 
72     0x00408000, 0x00408004, 0x00408400, 0x00408404, 
73     0x00008020, 0x00008024, 0x00008420, 0x00008424, 
74     0x00408020, 0x00408024, 0x00408420, 0x00408424, 
75     0x00800000, 0x00800004, 0x00800400, 0x00800404, 
76     0x00c00000, 0x00c00004, 0x00c00400, 0x00c00404, 
77     0x00800020, 0x00800024, 0x00800420, 0x00800424, 
78     0x00c00020, 0x00c00024, 0x00c00420, 0x00c00424, 
79     0x00808000, 0x00808004, 0x00808400, 0x00808404, 
80     0x00c08000, 0x00c08004, 0x00c08400, 0x00c08404, 
81     0x00808020, 0x00808024, 0x00808420, 0x00808424, 
82     0x00c08020, 0x00c08024, 0x00c08420, 0x00c08424
83 };
84 /* pc2_c_4 bit pattern 11 13 4 17 21 8 */
85 static int pc2_c_4[64] = {
86     0x00000000, 0x00010000, 0x00000008, 0x00010008, 
87     0x00000080, 0x00010080, 0x00000088, 0x00010088, 
88     0x00100000, 0x00110000, 0x00100008, 0x00110008, 
89     0x00100080, 0x00110080, 0x00100088, 0x00110088, 
90     0x00000800, 0x00010800, 0x00000808, 0x00010808, 
91     0x00000880, 0x00010880, 0x00000888, 0x00010888, 
92     0x00100800, 0x00110800, 0x00100808, 0x00110808, 
93     0x00100880, 0x00110880, 0x00100888, 0x00110888, 
94     0x00002000, 0x00012000, 0x00002008, 0x00012008, 
95     0x00002080, 0x00012080, 0x00002088, 0x00012088, 
96     0x00102000, 0x00112000, 0x00102008, 0x00112008, 
97     0x00102080, 0x00112080, 0x00102088, 0x00112088, 
98     0x00002800, 0x00012800, 0x00002808, 0x00012808, 
99     0x00002880, 0x00012880, 0x00002888, 0x00012888, 
100     0x00102800, 0x00112800, 0x00102808, 0x00112808, 
101     0x00102880, 0x00112880, 0x00102888, 0x00112888
102 };
103 /* pc2_d_1 bit pattern 51 35 31 52 39 45 */
104 static int pc2_d_1[64] = {
105     0x00000000, 0x00000080, 0x00002000, 0x00002080, 
106     0x00000001, 0x00000081, 0x00002001, 0x00002081, 
107     0x00200000, 0x00200080, 0x00202000, 0x00202080, 
108     0x00200001, 0x00200081, 0x00202001, 0x00202081, 
109     0x00020000, 0x00020080, 0x00022000, 0x00022080, 
110     0x00020001, 0x00020081, 0x00022001, 0x00022081, 
111     0x00220000, 0x00220080, 0x00222000, 0x00222080, 
112     0x00220001, 0x00220081, 0x00222001, 0x00222081, 
113     0x00000002, 0x00000082, 0x00002002, 0x00002082, 
114     0x00000003, 0x00000083, 0x00002003, 0x00002083, 
115     0x00200002, 0x00200082, 0x00202002, 0x00202082, 
116     0x00200003, 0x00200083, 0x00202003, 0x00202083, 
117     0x00020002, 0x00020082, 0x00022002, 0x00022082, 
118     0x00020003, 0x00020083, 0x00022003, 0x00022083, 
119     0x00220002, 0x00220082, 0x00222002, 0x00222082, 
120     0x00220003, 0x00220083, 0x00222003, 0x00222083
121 };
122 /* pc2_d_2 bit pattern 50 32 43 36 29 48 */
123 static int pc2_d_2[64] = {
124     0x00000000, 0x00000010, 0x00800000, 0x00800010, 
125     0x00010000, 0x00010010, 0x00810000, 0x00810010, 
126     0x00000200, 0x00000210, 0x00800200, 0x00800210, 
127     0x00010200, 0x00010210, 0x00810200, 0x00810210, 
128     0x00100000, 0x00100010, 0x00900000, 0x00900010, 
129     0x00110000, 0x00110010, 0x00910000, 0x00910010, 
130     0x00100200, 0x00100210, 0x00900200, 0x00900210, 
131     0x00110200, 0x00110210, 0x00910200, 0x00910210, 
132     0x00000004, 0x00000014, 0x00800004, 0x00800014, 
133     0x00010004, 0x00010014, 0x00810004, 0x00810014, 
134     0x00000204, 0x00000214, 0x00800204, 0x00800214, 
135     0x00010204, 0x00010214, 0x00810204, 0x00810214, 
136     0x00100004, 0x00100014, 0x00900004, 0x00900014, 
137     0x00110004, 0x00110014, 0x00910004, 0x00910014, 
138     0x00100204, 0x00100214, 0x00900204, 0x00900214, 
139     0x00110204, 0x00110214, 0x00910204, 0x00910214
140 };
141 /* pc2_d_3 bit pattern 41 38 47 33 40 42 */
142 static int pc2_d_3[64] = {
143     0x00000000, 0x00000400, 0x00001000, 0x00001400, 
144     0x00080000, 0x00080400, 0x00081000, 0x00081400, 
145     0x00000020, 0x00000420, 0x00001020, 0x00001420, 
146     0x00080020, 0x00080420, 0x00081020, 0x00081420, 
147     0x00004000, 0x00004400, 0x00005000, 0x00005400, 
148     0x00084000, 0x00084400, 0x00085000, 0x00085400, 
149     0x00004020, 0x00004420, 0x00005020, 0x00005420, 
150     0x00084020, 0x00084420, 0x00085020, 0x00085420, 
151     0x00000800, 0x00000c00, 0x00001800, 0x00001c00, 
152     0x00080800, 0x00080c00, 0x00081800, 0x00081c00, 
153     0x00000820, 0x00000c20, 0x00001820, 0x00001c20, 
154     0x00080820, 0x00080c20, 0x00081820, 0x00081c20, 
155     0x00004800, 0x00004c00, 0x00005800, 0x00005c00, 
156     0x00084800, 0x00084c00, 0x00085800, 0x00085c00, 
157     0x00004820, 0x00004c20, 0x00005820, 0x00005c20, 
158     0x00084820, 0x00084c20, 0x00085820, 0x00085c20
159 };
160 /* pc2_d_4 bit pattern 49 37 30 46 34 44 */
161 static int pc2_d_4[64] = {
162     0x00000000, 0x00000100, 0x00040000, 0x00040100, 
163     0x00000040, 0x00000140, 0x00040040, 0x00040140, 
164     0x00400000, 0x00400100, 0x00440000, 0x00440100, 
165     0x00400040, 0x00400140, 0x00440040, 0x00440140, 
166     0x00008000, 0x00008100, 0x00048000, 0x00048100, 
167     0x00008040, 0x00008140, 0x00048040, 0x00048140, 
168     0x00408000, 0x00408100, 0x00448000, 0x00448100, 
169     0x00408040, 0x00408140, 0x00448040, 0x00448140, 
170     0x00000008, 0x00000108, 0x00040008, 0x00040108, 
171     0x00000048, 0x00000148, 0x00040048, 0x00040148, 
172     0x00400008, 0x00400108, 0x00440008, 0x00440108, 
173     0x00400048, 0x00400148, 0x00440048, 0x00440148, 
174     0x00008008, 0x00008108, 0x00048008, 0x00048108, 
175     0x00008048, 0x00008148, 0x00048048, 0x00048148, 
176     0x00408008, 0x00408108, 0x00448008, 0x00448108, 
177     0x00408048, 0x00408148, 0x00448048, 0x00448148
178 };
179 static unsigned char odd_parity[256] = { 
180   1,  1,  2,  2,  4,  4,  7,  7,  8,  8, 11, 11, 13, 13, 14, 14,
181  16, 16, 19, 19, 21, 21, 22, 22, 25, 25, 26, 26, 28, 28, 31, 31,
182  32, 32, 35, 35, 37, 37, 38, 38, 41, 41, 42, 42, 44, 44, 47, 47,
183  49, 49, 50, 50, 52, 52, 55, 55, 56, 56, 59, 59, 61, 61, 62, 62,
184  64, 64, 67, 67, 69, 69, 70, 70, 73, 73, 74, 74, 76, 76, 79, 79,
185  81, 81, 82, 82, 84, 84, 87, 87, 88, 88, 91, 91, 93, 93, 94, 94,
186  97, 97, 98, 98,100,100,103,103,104,104,107,107,109,109,110,110,
187 112,112,115,115,117,117,118,118,121,121,122,122,124,124,127,127,
188 128,128,131,131,133,133,134,134,137,137,138,138,140,140,143,143,
189 145,145,146,146,148,148,151,151,152,152,155,155,157,157,158,158,
190 161,161,162,162,164,164,167,167,168,168,171,171,173,173,174,174,
191 176,176,179,179,181,181,182,182,185,185,186,186,188,188,191,191,
192 193,193,194,194,196,196,199,199,200,200,203,203,205,205,206,206,
193 208,208,211,211,213,213,214,214,217,217,218,218,220,220,223,223,
194 224,224,227,227,229,229,230,230,233,233,234,234,236,236,239,239,
195 241,241,242,242,244,244,247,247,248,248,251,251,253,253,254,254,
196  };