Botan  2.11.0
Crypto and TLS for C++11
des_tab.cpp
Go to the documentation of this file.
1 /*
2 * Substitution/Permutation Tables for DES
3 * (C) 1999-2007 Jack Lloyd
4 *
5 * Botan is released under the Simplified BSD License (see license.txt)
6 */
7 
8 #include <botan/des.h>
9 
10 namespace Botan {
11 
12 const uint32_t DES_SPBOX1[256] = {
13  0x01010400, 0x00000000, 0x00010000, 0x01010404, 0x01010004, 0x00010404,
14  0x00000004, 0x00010000, 0x00000400, 0x01010400, 0x01010404, 0x00000400,
15  0x01000404, 0x01010004, 0x01000000, 0x00000004, 0x00000404, 0x01000400,
16  0x01000400, 0x00010400, 0x00010400, 0x01010000, 0x01010000, 0x01000404,
17  0x00010004, 0x01000004, 0x01000004, 0x00010004, 0x00000000, 0x00000404,
18  0x00010404, 0x01000000, 0x00010000, 0x01010404, 0x00000004, 0x01010000,
19  0x01010400, 0x01000000, 0x01000000, 0x00000400, 0x01010004, 0x00010000,
20  0x00010400, 0x01000004, 0x00000400, 0x00000004, 0x01000404, 0x00010404,
21  0x01010404, 0x00010004, 0x01010000, 0x01000404, 0x01000004, 0x00000404,
22  0x00010404, 0x01010400, 0x00000404, 0x01000400, 0x01000400, 0x00000000,
23  0x00010004, 0x00010400, 0x00000000, 0x01010004, 0x01010400, 0x00000000,
24  0x00010000, 0x01010404, 0x01010004, 0x00010404, 0x00000004, 0x00010000,
25  0x00000400, 0x01010400, 0x01010404, 0x00000400, 0x01000404, 0x01010004,
26  0x01000000, 0x00000004, 0x00000404, 0x01000400, 0x01000400, 0x00010400,
27  0x00010400, 0x01010000, 0x01010000, 0x01000404, 0x00010004, 0x01000004,
28  0x01000004, 0x00010004, 0x00000000, 0x00000404, 0x00010404, 0x01000000,
29  0x00010000, 0x01010404, 0x00000004, 0x01010000, 0x01010400, 0x01000000,
30  0x01000000, 0x00000400, 0x01010004, 0x00010000, 0x00010400, 0x01000004,
31  0x00000400, 0x00000004, 0x01000404, 0x00010404, 0x01010404, 0x00010004,
32  0x01010000, 0x01000404, 0x01000004, 0x00000404, 0x00010404, 0x01010400,
33  0x00000404, 0x01000400, 0x01000400, 0x00000000, 0x00010004, 0x00010400,
34  0x00000000, 0x01010004, 0x01010400, 0x00000000, 0x00010000, 0x01010404,
35  0x01010004, 0x00010404, 0x00000004, 0x00010000, 0x00000400, 0x01010400,
36  0x01010404, 0x00000400, 0x01000404, 0x01010004, 0x01000000, 0x00000004,
37  0x00000404, 0x01000400, 0x01000400, 0x00010400, 0x00010400, 0x01010000,
38  0x01010000, 0x01000404, 0x00010004, 0x01000004, 0x01000004, 0x00010004,
39  0x00000000, 0x00000404, 0x00010404, 0x01000000, 0x00010000, 0x01010404,
40  0x00000004, 0x01010000, 0x01010400, 0x01000000, 0x01000000, 0x00000400,
41  0x01010004, 0x00010000, 0x00010400, 0x01000004, 0x00000400, 0x00000004,
42  0x01000404, 0x00010404, 0x01010404, 0x00010004, 0x01010000, 0x01000404,
43  0x01000004, 0x00000404, 0x00010404, 0x01010400, 0x00000404, 0x01000400,
44  0x01000400, 0x00000000, 0x00010004, 0x00010400, 0x00000000, 0x01010004,
45  0x01010400, 0x00000000, 0x00010000, 0x01010404, 0x01010004, 0x00010404,
46  0x00000004, 0x00010000, 0x00000400, 0x01010400, 0x01010404, 0x00000400,
47  0x01000404, 0x01010004, 0x01000000, 0x00000004, 0x00000404, 0x01000400,
48  0x01000400, 0x00010400, 0x00010400, 0x01010000, 0x01010000, 0x01000404,
49  0x00010004, 0x01000004, 0x01000004, 0x00010004, 0x00000000, 0x00000404,
50  0x00010404, 0x01000000, 0x00010000, 0x01010404, 0x00000004, 0x01010000,
51  0x01010400, 0x01000000, 0x01000000, 0x00000400, 0x01010004, 0x00010000,
52  0x00010400, 0x01000004, 0x00000400, 0x00000004, 0x01000404, 0x00010404,
53  0x01010404, 0x00010004, 0x01010000, 0x01000404, 0x01000004, 0x00000404,
54  0x00010404, 0x01010400, 0x00000404, 0x01000400, 0x01000400, 0x00000000,
55  0x00010004, 0x00010400, 0x00000000, 0x01010004 };
56 
57 const uint32_t DES_SPBOX2[256] = {
58  0x80108020, 0x80008000, 0x00008000, 0x00108020, 0x00100000, 0x00000020,
59  0x80100020, 0x80008020, 0x80000020, 0x80108020, 0x80108000, 0x80000000,
60  0x80008000, 0x00100000, 0x00000020, 0x80100020, 0x00108000, 0x00100020,
61  0x80008020, 0x00000000, 0x80000000, 0x00008000, 0x00108020, 0x80100000,
62  0x00100020, 0x80000020, 0x00000000, 0x00108000, 0x00008020, 0x80108000,
63  0x80100000, 0x00008020, 0x00000000, 0x00108020, 0x80100020, 0x00100000,
64  0x80008020, 0x80100000, 0x80108000, 0x00008000, 0x80100000, 0x80008000,
65  0x00000020, 0x80108020, 0x00108020, 0x00000020, 0x00008000, 0x80000000,
66  0x00008020, 0x80108000, 0x00100000, 0x80000020, 0x00100020, 0x80008020,
67  0x80000020, 0x00100020, 0x00108000, 0x00000000, 0x80008000, 0x00008020,
68  0x80000000, 0x80100020, 0x80108020, 0x00108000, 0x80108020, 0x80008000,
69  0x00008000, 0x00108020, 0x00100000, 0x00000020, 0x80100020, 0x80008020,
70  0x80000020, 0x80108020, 0x80108000, 0x80000000, 0x80008000, 0x00100000,
71  0x00000020, 0x80100020, 0x00108000, 0x00100020, 0x80008020, 0x00000000,
72  0x80000000, 0x00008000, 0x00108020, 0x80100000, 0x00100020, 0x80000020,
73  0x00000000, 0x00108000, 0x00008020, 0x80108000, 0x80100000, 0x00008020,
74  0x00000000, 0x00108020, 0x80100020, 0x00100000, 0x80008020, 0x80100000,
75  0x80108000, 0x00008000, 0x80100000, 0x80008000, 0x00000020, 0x80108020,
76  0x00108020, 0x00000020, 0x00008000, 0x80000000, 0x00008020, 0x80108000,
77  0x00100000, 0x80000020, 0x00100020, 0x80008020, 0x80000020, 0x00100020,
78  0x00108000, 0x00000000, 0x80008000, 0x00008020, 0x80000000, 0x80100020,
79  0x80108020, 0x00108000, 0x80108020, 0x80008000, 0x00008000, 0x00108020,
80  0x00100000, 0x00000020, 0x80100020, 0x80008020, 0x80000020, 0x80108020,
81  0x80108000, 0x80000000, 0x80008000, 0x00100000, 0x00000020, 0x80100020,
82  0x00108000, 0x00100020, 0x80008020, 0x00000000, 0x80000000, 0x00008000,
83  0x00108020, 0x80100000, 0x00100020, 0x80000020, 0x00000000, 0x00108000,
84  0x00008020, 0x80108000, 0x80100000, 0x00008020, 0x00000000, 0x00108020,
85  0x80100020, 0x00100000, 0x80008020, 0x80100000, 0x80108000, 0x00008000,
86  0x80100000, 0x80008000, 0x00000020, 0x80108020, 0x00108020, 0x00000020,
87  0x00008000, 0x80000000, 0x00008020, 0x80108000, 0x00100000, 0x80000020,
88  0x00100020, 0x80008020, 0x80000020, 0x00100020, 0x00108000, 0x00000000,
89  0x80008000, 0x00008020, 0x80000000, 0x80100020, 0x80108020, 0x00108000,
90  0x80108020, 0x80008000, 0x00008000, 0x00108020, 0x00100000, 0x00000020,
91  0x80100020, 0x80008020, 0x80000020, 0x80108020, 0x80108000, 0x80000000,
92  0x80008000, 0x00100000, 0x00000020, 0x80100020, 0x00108000, 0x00100020,
93  0x80008020, 0x00000000, 0x80000000, 0x00008000, 0x00108020, 0x80100000,
94  0x00100020, 0x80000020, 0x00000000, 0x00108000, 0x00008020, 0x80108000,
95  0x80100000, 0x00008020, 0x00000000, 0x00108020, 0x80100020, 0x00100000,
96  0x80008020, 0x80100000, 0x80108000, 0x00008000, 0x80100000, 0x80008000,
97  0x00000020, 0x80108020, 0x00108020, 0x00000020, 0x00008000, 0x80000000,
98  0x00008020, 0x80108000, 0x00100000, 0x80000020, 0x00100020, 0x80008020,
99  0x80000020, 0x00100020, 0x00108000, 0x00000000, 0x80008000, 0x00008020,
100  0x80000000, 0x80100020, 0x80108020, 0x00108000 };
101 
102 const uint32_t DES_SPBOX3[256] = {
103  0x00000208, 0x08020200, 0x00000000, 0x08020008, 0x08000200, 0x00000000,
104  0x00020208, 0x08000200, 0x00020008, 0x08000008, 0x08000008, 0x00020000,
105  0x08020208, 0x00020008, 0x08020000, 0x00000208, 0x08000000, 0x00000008,
106  0x08020200, 0x00000200, 0x00020200, 0x08020000, 0x08020008, 0x00020208,
107  0x08000208, 0x00020200, 0x00020000, 0x08000208, 0x00000008, 0x08020208,
108  0x00000200, 0x08000000, 0x08020200, 0x08000000, 0x00020008, 0x00000208,
109  0x00020000, 0x08020200, 0x08000200, 0x00000000, 0x00000200, 0x00020008,
110  0x08020208, 0x08000200, 0x08000008, 0x00000200, 0x00000000, 0x08020008,
111  0x08000208, 0x00020000, 0x08000000, 0x08020208, 0x00000008, 0x00020208,
112  0x00020200, 0x08000008, 0x08020000, 0x08000208, 0x00000208, 0x08020000,
113  0x00020208, 0x00000008, 0x08020008, 0x00020200, 0x00000208, 0x08020200,
114  0x00000000, 0x08020008, 0x08000200, 0x00000000, 0x00020208, 0x08000200,
115  0x00020008, 0x08000008, 0x08000008, 0x00020000, 0x08020208, 0x00020008,
116  0x08020000, 0x00000208, 0x08000000, 0x00000008, 0x08020200, 0x00000200,
117  0x00020200, 0x08020000, 0x08020008, 0x00020208, 0x08000208, 0x00020200,
118  0x00020000, 0x08000208, 0x00000008, 0x08020208, 0x00000200, 0x08000000,
119  0x08020200, 0x08000000, 0x00020008, 0x00000208, 0x00020000, 0x08020200,
120  0x08000200, 0x00000000, 0x00000200, 0x00020008, 0x08020208, 0x08000200,
121  0x08000008, 0x00000200, 0x00000000, 0x08020008, 0x08000208, 0x00020000,
122  0x08000000, 0x08020208, 0x00000008, 0x00020208, 0x00020200, 0x08000008,
123  0x08020000, 0x08000208, 0x00000208, 0x08020000, 0x00020208, 0x00000008,
124  0x08020008, 0x00020200, 0x00000208, 0x08020200, 0x00000000, 0x08020008,
125  0x08000200, 0x00000000, 0x00020208, 0x08000200, 0x00020008, 0x08000008,
126  0x08000008, 0x00020000, 0x08020208, 0x00020008, 0x08020000, 0x00000208,
127  0x08000000, 0x00000008, 0x08020200, 0x00000200, 0x00020200, 0x08020000,
128  0x08020008, 0x00020208, 0x08000208, 0x00020200, 0x00020000, 0x08000208,
129  0x00000008, 0x08020208, 0x00000200, 0x08000000, 0x08020200, 0x08000000,
130  0x00020008, 0x00000208, 0x00020000, 0x08020200, 0x08000200, 0x00000000,
131  0x00000200, 0x00020008, 0x08020208, 0x08000200, 0x08000008, 0x00000200,
132  0x00000000, 0x08020008, 0x08000208, 0x00020000, 0x08000000, 0x08020208,
133  0x00000008, 0x00020208, 0x00020200, 0x08000008, 0x08020000, 0x08000208,
134  0x00000208, 0x08020000, 0x00020208, 0x00000008, 0x08020008, 0x00020200,
135  0x00000208, 0x08020200, 0x00000000, 0x08020008, 0x08000200, 0x00000000,
136  0x00020208, 0x08000200, 0x00020008, 0x08000008, 0x08000008, 0x00020000,
137  0x08020208, 0x00020008, 0x08020000, 0x00000208, 0x08000000, 0x00000008,
138  0x08020200, 0x00000200, 0x00020200, 0x08020000, 0x08020008, 0x00020208,
139  0x08000208, 0x00020200, 0x00020000, 0x08000208, 0x00000008, 0x08020208,
140  0x00000200, 0x08000000, 0x08020200, 0x08000000, 0x00020008, 0x00000208,
141  0x00020000, 0x08020200, 0x08000200, 0x00000000, 0x00000200, 0x00020008,
142  0x08020208, 0x08000200, 0x08000008, 0x00000200, 0x00000000, 0x08020008,
143  0x08000208, 0x00020000, 0x08000000, 0x08020208, 0x00000008, 0x00020208,
144  0x00020200, 0x08000008, 0x08020000, 0x08000208, 0x00000208, 0x08020000,
145  0x00020208, 0x00000008, 0x08020008, 0x00020200 };
146 
147 const uint32_t DES_SPBOX4[256] = {
148  0x00802001, 0x00002081, 0x00002081, 0x00000080, 0x00802080, 0x00800081,
149  0x00800001, 0x00002001, 0x00000000, 0x00802000, 0x00802000, 0x00802081,
150  0x00000081, 0x00000000, 0x00800080, 0x00800001, 0x00000001, 0x00002000,
151  0x00800000, 0x00802001, 0x00000080, 0x00800000, 0x00002001, 0x00002080,
152  0x00800081, 0x00000001, 0x00002080, 0x00800080, 0x00002000, 0x00802080,
153  0x00802081, 0x00000081, 0x00800080, 0x00800001, 0x00802000, 0x00802081,
154  0x00000081, 0x00000000, 0x00000000, 0x00802000, 0x00002080, 0x00800080,
155  0x00800081, 0x00000001, 0x00802001, 0x00002081, 0x00002081, 0x00000080,
156  0x00802081, 0x00000081, 0x00000001, 0x00002000, 0x00800001, 0x00002001,
157  0x00802080, 0x00800081, 0x00002001, 0x00002080, 0x00800000, 0x00802001,
158  0x00000080, 0x00800000, 0x00002000, 0x00802080, 0x00802001, 0x00002081,
159  0x00002081, 0x00000080, 0x00802080, 0x00800081, 0x00800001, 0x00002001,
160  0x00000000, 0x00802000, 0x00802000, 0x00802081, 0x00000081, 0x00000000,
161  0x00800080, 0x00800001, 0x00000001, 0x00002000, 0x00800000, 0x00802001,
162  0x00000080, 0x00800000, 0x00002001, 0x00002080, 0x00800081, 0x00000001,
163  0x00002080, 0x00800080, 0x00002000, 0x00802080, 0x00802081, 0x00000081,
164  0x00800080, 0x00800001, 0x00802000, 0x00802081, 0x00000081, 0x00000000,
165  0x00000000, 0x00802000, 0x00002080, 0x00800080, 0x00800081, 0x00000001,
166  0x00802001, 0x00002081, 0x00002081, 0x00000080, 0x00802081, 0x00000081,
167  0x00000001, 0x00002000, 0x00800001, 0x00002001, 0x00802080, 0x00800081,
168  0x00002001, 0x00002080, 0x00800000, 0x00802001, 0x00000080, 0x00800000,
169  0x00002000, 0x00802080, 0x00802001, 0x00002081, 0x00002081, 0x00000080,
170  0x00802080, 0x00800081, 0x00800001, 0x00002001, 0x00000000, 0x00802000,
171  0x00802000, 0x00802081, 0x00000081, 0x00000000, 0x00800080, 0x00800001,
172  0x00000001, 0x00002000, 0x00800000, 0x00802001, 0x00000080, 0x00800000,
173  0x00002001, 0x00002080, 0x00800081, 0x00000001, 0x00002080, 0x00800080,
174  0x00002000, 0x00802080, 0x00802081, 0x00000081, 0x00800080, 0x00800001,
175  0x00802000, 0x00802081, 0x00000081, 0x00000000, 0x00000000, 0x00802000,
176  0x00002080, 0x00800080, 0x00800081, 0x00000001, 0x00802001, 0x00002081,
177  0x00002081, 0x00000080, 0x00802081, 0x00000081, 0x00000001, 0x00002000,
178  0x00800001, 0x00002001, 0x00802080, 0x00800081, 0x00002001, 0x00002080,
179  0x00800000, 0x00802001, 0x00000080, 0x00800000, 0x00002000, 0x00802080,
180  0x00802001, 0x00002081, 0x00002081, 0x00000080, 0x00802080, 0x00800081,
181  0x00800001, 0x00002001, 0x00000000, 0x00802000, 0x00802000, 0x00802081,
182  0x00000081, 0x00000000, 0x00800080, 0x00800001, 0x00000001, 0x00002000,
183  0x00800000, 0x00802001, 0x00000080, 0x00800000, 0x00002001, 0x00002080,
184  0x00800081, 0x00000001, 0x00002080, 0x00800080, 0x00002000, 0x00802080,
185  0x00802081, 0x00000081, 0x00800080, 0x00800001, 0x00802000, 0x00802081,
186  0x00000081, 0x00000000, 0x00000000, 0x00802000, 0x00002080, 0x00800080,
187  0x00800081, 0x00000001, 0x00802001, 0x00002081, 0x00002081, 0x00000080,
188  0x00802081, 0x00000081, 0x00000001, 0x00002000, 0x00800001, 0x00002001,
189  0x00802080, 0x00800081, 0x00002001, 0x00002080, 0x00800000, 0x00802001,
190  0x00000080, 0x00800000, 0x00002000, 0x00802080 };
191 
192 const uint32_t DES_SPBOX5[256] = {
193  0x00000100, 0x02080100, 0x02080000, 0x42000100, 0x00080000, 0x00000100,
194  0x40000000, 0x02080000, 0x40080100, 0x00080000, 0x02000100, 0x40080100,
195  0x42000100, 0x42080000, 0x00080100, 0x40000000, 0x02000000, 0x40080000,
196  0x40080000, 0x00000000, 0x40000100, 0x42080100, 0x42080100, 0x02000100,
197  0x42080000, 0x40000100, 0x00000000, 0x42000000, 0x02080100, 0x02000000,
198  0x42000000, 0x00080100, 0x00080000, 0x42000100, 0x00000100, 0x02000000,
199  0x40000000, 0x02080000, 0x42000100, 0x40080100, 0x02000100, 0x40000000,
200  0x42080000, 0x02080100, 0x40080100, 0x00000100, 0x02000000, 0x42080000,
201  0x42080100, 0x00080100, 0x42000000, 0x42080100, 0x02080000, 0x00000000,
202  0x40080000, 0x42000000, 0x00080100, 0x02000100, 0x40000100, 0x00080000,
203  0x00000000, 0x40080000, 0x02080100, 0x40000100, 0x00000100, 0x02080100,
204  0x02080000, 0x42000100, 0x00080000, 0x00000100, 0x40000000, 0x02080000,
205  0x40080100, 0x00080000, 0x02000100, 0x40080100, 0x42000100, 0x42080000,
206  0x00080100, 0x40000000, 0x02000000, 0x40080000, 0x40080000, 0x00000000,
207  0x40000100, 0x42080100, 0x42080100, 0x02000100, 0x42080000, 0x40000100,
208  0x00000000, 0x42000000, 0x02080100, 0x02000000, 0x42000000, 0x00080100,
209  0x00080000, 0x42000100, 0x00000100, 0x02000000, 0x40000000, 0x02080000,
210  0x42000100, 0x40080100, 0x02000100, 0x40000000, 0x42080000, 0x02080100,
211  0x40080100, 0x00000100, 0x02000000, 0x42080000, 0x42080100, 0x00080100,
212  0x42000000, 0x42080100, 0x02080000, 0x00000000, 0x40080000, 0x42000000,
213  0x00080100, 0x02000100, 0x40000100, 0x00080000, 0x00000000, 0x40080000,
214  0x02080100, 0x40000100, 0x00000100, 0x02080100, 0x02080000, 0x42000100,
215  0x00080000, 0x00000100, 0x40000000, 0x02080000, 0x40080100, 0x00080000,
216  0x02000100, 0x40080100, 0x42000100, 0x42080000, 0x00080100, 0x40000000,
217  0x02000000, 0x40080000, 0x40080000, 0x00000000, 0x40000100, 0x42080100,
218  0x42080100, 0x02000100, 0x42080000, 0x40000100, 0x00000000, 0x42000000,
219  0x02080100, 0x02000000, 0x42000000, 0x00080100, 0x00080000, 0x42000100,
220  0x00000100, 0x02000000, 0x40000000, 0x02080000, 0x42000100, 0x40080100,
221  0x02000100, 0x40000000, 0x42080000, 0x02080100, 0x40080100, 0x00000100,
222  0x02000000, 0x42080000, 0x42080100, 0x00080100, 0x42000000, 0x42080100,
223  0x02080000, 0x00000000, 0x40080000, 0x42000000, 0x00080100, 0x02000100,
224  0x40000100, 0x00080000, 0x00000000, 0x40080000, 0x02080100, 0x40000100,
225  0x00000100, 0x02080100, 0x02080000, 0x42000100, 0x00080000, 0x00000100,
226  0x40000000, 0x02080000, 0x40080100, 0x00080000, 0x02000100, 0x40080100,
227  0x42000100, 0x42080000, 0x00080100, 0x40000000, 0x02000000, 0x40080000,
228  0x40080000, 0x00000000, 0x40000100, 0x42080100, 0x42080100, 0x02000100,
229  0x42080000, 0x40000100, 0x00000000, 0x42000000, 0x02080100, 0x02000000,
230  0x42000000, 0x00080100, 0x00080000, 0x42000100, 0x00000100, 0x02000000,
231  0x40000000, 0x02080000, 0x42000100, 0x40080100, 0x02000100, 0x40000000,
232  0x42080000, 0x02080100, 0x40080100, 0x00000100, 0x02000000, 0x42080000,
233  0x42080100, 0x00080100, 0x42000000, 0x42080100, 0x02080000, 0x00000000,
234  0x40080000, 0x42000000, 0x00080100, 0x02000100, 0x40000100, 0x00080000,
235  0x00000000, 0x40080000, 0x02080100, 0x40000100 };
236 
237 const uint32_t DES_SPBOX6[256] = {
238  0x20000010, 0x20400000, 0x00004000, 0x20404010, 0x20400000, 0x00000010,
239  0x20404010, 0x00400000, 0x20004000, 0x00404010, 0x00400000, 0x20000010,
240  0x00400010, 0x20004000, 0x20000000, 0x00004010, 0x00000000, 0x00400010,
241  0x20004010, 0x00004000, 0x00404000, 0x20004010, 0x00000010, 0x20400010,
242  0x20400010, 0x00000000, 0x00404010, 0x20404000, 0x00004010, 0x00404000,
243  0x20404000, 0x20000000, 0x20004000, 0x00000010, 0x20400010, 0x00404000,
244  0x20404010, 0x00400000, 0x00004010, 0x20000010, 0x00400000, 0x20004000,
245  0x20000000, 0x00004010, 0x20000010, 0x20404010, 0x00404000, 0x20400000,
246  0x00404010, 0x20404000, 0x00000000, 0x20400010, 0x00000010, 0x00004000,
247  0x20400000, 0x00404010, 0x00004000, 0x00400010, 0x20004010, 0x00000000,
248  0x20404000, 0x20000000, 0x00400010, 0x20004010, 0x20000010, 0x20400000,
249  0x00004000, 0x20404010, 0x20400000, 0x00000010, 0x20404010, 0x00400000,
250  0x20004000, 0x00404010, 0x00400000, 0x20000010, 0x00400010, 0x20004000,
251  0x20000000, 0x00004010, 0x00000000, 0x00400010, 0x20004010, 0x00004000,
252  0x00404000, 0x20004010, 0x00000010, 0x20400010, 0x20400010, 0x00000000,
253  0x00404010, 0x20404000, 0x00004010, 0x00404000, 0x20404000, 0x20000000,
254  0x20004000, 0x00000010, 0x20400010, 0x00404000, 0x20404010, 0x00400000,
255  0x00004010, 0x20000010, 0x00400000, 0x20004000, 0x20000000, 0x00004010,
256  0x20000010, 0x20404010, 0x00404000, 0x20400000, 0x00404010, 0x20404000,
257  0x00000000, 0x20400010, 0x00000010, 0x00004000, 0x20400000, 0x00404010,
258  0x00004000, 0x00400010, 0x20004010, 0x00000000, 0x20404000, 0x20000000,
259  0x00400010, 0x20004010, 0x20000010, 0x20400000, 0x00004000, 0x20404010,
260  0x20400000, 0x00000010, 0x20404010, 0x00400000, 0x20004000, 0x00404010,
261  0x00400000, 0x20000010, 0x00400010, 0x20004000, 0x20000000, 0x00004010,
262  0x00000000, 0x00400010, 0x20004010, 0x00004000, 0x00404000, 0x20004010,
263  0x00000010, 0x20400010, 0x20400010, 0x00000000, 0x00404010, 0x20404000,
264  0x00004010, 0x00404000, 0x20404000, 0x20000000, 0x20004000, 0x00000010,
265  0x20400010, 0x00404000, 0x20404010, 0x00400000, 0x00004010, 0x20000010,
266  0x00400000, 0x20004000, 0x20000000, 0x00004010, 0x20000010, 0x20404010,
267  0x00404000, 0x20400000, 0x00404010, 0x20404000, 0x00000000, 0x20400010,
268  0x00000010, 0x00004000, 0x20400000, 0x00404010, 0x00004000, 0x00400010,
269  0x20004010, 0x00000000, 0x20404000, 0x20000000, 0x00400010, 0x20004010,
270  0x20000010, 0x20400000, 0x00004000, 0x20404010, 0x20400000, 0x00000010,
271  0x20404010, 0x00400000, 0x20004000, 0x00404010, 0x00400000, 0x20000010,
272  0x00400010, 0x20004000, 0x20000000, 0x00004010, 0x00000000, 0x00400010,
273  0x20004010, 0x00004000, 0x00404000, 0x20004010, 0x00000010, 0x20400010,
274  0x20400010, 0x00000000, 0x00404010, 0x20404000, 0x00004010, 0x00404000,
275  0x20404000, 0x20000000, 0x20004000, 0x00000010, 0x20400010, 0x00404000,
276  0x20404010, 0x00400000, 0x00004010, 0x20000010, 0x00400000, 0x20004000,
277  0x20000000, 0x00004010, 0x20000010, 0x20404010, 0x00404000, 0x20400000,
278  0x00404010, 0x20404000, 0x00000000, 0x20400010, 0x00000010, 0x00004000,
279  0x20400000, 0x00404010, 0x00004000, 0x00400010, 0x20004010, 0x00000000,
280  0x20404000, 0x20000000, 0x00400010, 0x20004010 };
281 
282 const uint32_t DES_SPBOX7[256] = {
283  0x00200000, 0x04200002, 0x04000802, 0x00000000, 0x00000800, 0x04000802,
284  0x00200802, 0x04200800, 0x04200802, 0x00200000, 0x00000000, 0x04000002,
285  0x00000002, 0x04000000, 0x04200002, 0x00000802, 0x04000800, 0x00200802,
286  0x00200002, 0x04000800, 0x04000002, 0x04200000, 0x04200800, 0x00200002,
287  0x04200000, 0x00000800, 0x00000802, 0x04200802, 0x00200800, 0x00000002,
288  0x04000000, 0x00200800, 0x04000000, 0x00200800, 0x00200000, 0x04000802,
289  0x04000802, 0x04200002, 0x04200002, 0x00000002, 0x00200002, 0x04000000,
290  0x04000800, 0x00200000, 0x04200800, 0x00000802, 0x00200802, 0x04200800,
291  0x00000802, 0x04000002, 0x04200802, 0x04200000, 0x00200800, 0x00000000,
292  0x00000002, 0x04200802, 0x00000000, 0x00200802, 0x04200000, 0x00000800,
293  0x04000002, 0x04000800, 0x00000800, 0x00200002, 0x00200000, 0x04200002,
294  0x04000802, 0x00000000, 0x00000800, 0x04000802, 0x00200802, 0x04200800,
295  0x04200802, 0x00200000, 0x00000000, 0x04000002, 0x00000002, 0x04000000,
296  0x04200002, 0x00000802, 0x04000800, 0x00200802, 0x00200002, 0x04000800,
297  0x04000002, 0x04200000, 0x04200800, 0x00200002, 0x04200000, 0x00000800,
298  0x00000802, 0x04200802, 0x00200800, 0x00000002, 0x04000000, 0x00200800,
299  0x04000000, 0x00200800, 0x00200000, 0x04000802, 0x04000802, 0x04200002,
300  0x04200002, 0x00000002, 0x00200002, 0x04000000, 0x04000800, 0x00200000,
301  0x04200800, 0x00000802, 0x00200802, 0x04200800, 0x00000802, 0x04000002,
302  0x04200802, 0x04200000, 0x00200800, 0x00000000, 0x00000002, 0x04200802,
303  0x00000000, 0x00200802, 0x04200000, 0x00000800, 0x04000002, 0x04000800,
304  0x00000800, 0x00200002, 0x00200000, 0x04200002, 0x04000802, 0x00000000,
305  0x00000800, 0x04000802, 0x00200802, 0x04200800, 0x04200802, 0x00200000,
306  0x00000000, 0x04000002, 0x00000002, 0x04000000, 0x04200002, 0x00000802,
307  0x04000800, 0x00200802, 0x00200002, 0x04000800, 0x04000002, 0x04200000,
308  0x04200800, 0x00200002, 0x04200000, 0x00000800, 0x00000802, 0x04200802,
309  0x00200800, 0x00000002, 0x04000000, 0x00200800, 0x04000000, 0x00200800,
310  0x00200000, 0x04000802, 0x04000802, 0x04200002, 0x04200002, 0x00000002,
311  0x00200002, 0x04000000, 0x04000800, 0x00200000, 0x04200800, 0x00000802,
312  0x00200802, 0x04200800, 0x00000802, 0x04000002, 0x04200802, 0x04200000,
313  0x00200800, 0x00000000, 0x00000002, 0x04200802, 0x00000000, 0x00200802,
314  0x04200000, 0x00000800, 0x04000002, 0x04000800, 0x00000800, 0x00200002,
315  0x00200000, 0x04200002, 0x04000802, 0x00000000, 0x00000800, 0x04000802,
316  0x00200802, 0x04200800, 0x04200802, 0x00200000, 0x00000000, 0x04000002,
317  0x00000002, 0x04000000, 0x04200002, 0x00000802, 0x04000800, 0x00200802,
318  0x00200002, 0x04000800, 0x04000002, 0x04200000, 0x04200800, 0x00200002,
319  0x04200000, 0x00000800, 0x00000802, 0x04200802, 0x00200800, 0x00000002,
320  0x04000000, 0x00200800, 0x04000000, 0x00200800, 0x00200000, 0x04000802,
321  0x04000802, 0x04200002, 0x04200002, 0x00000002, 0x00200002, 0x04000000,
322  0x04000800, 0x00200000, 0x04200800, 0x00000802, 0x00200802, 0x04200800,
323  0x00000802, 0x04000002, 0x04200802, 0x04200000, 0x00200800, 0x00000000,
324  0x00000002, 0x04200802, 0x00000000, 0x00200802, 0x04200000, 0x00000800,
325  0x04000002, 0x04000800, 0x00000800, 0x00200002 };
326 
327 const uint32_t DES_SPBOX8[256] = {
328  0x10001040, 0x00001000, 0x00040000, 0x10041040, 0x10000000, 0x10001040,
329  0x00000040, 0x10000000, 0x00040040, 0x10040000, 0x10041040, 0x00041000,
330  0x10041000, 0x00041040, 0x00001000, 0x00000040, 0x10040000, 0x10000040,
331  0x10001000, 0x00001040, 0x00041000, 0x00040040, 0x10040040, 0x10041000,
332  0x00001040, 0x00000000, 0x00000000, 0x10040040, 0x10000040, 0x10001000,
333  0x00041040, 0x00040000, 0x00041040, 0x00040000, 0x10041000, 0x00001000,
334  0x00000040, 0x10040040, 0x00001000, 0x00041040, 0x10001000, 0x00000040,
335  0x10000040, 0x10040000, 0x10040040, 0x10000000, 0x00040000, 0x10001040,
336  0x00000000, 0x10041040, 0x00040040, 0x10000040, 0x10040000, 0x10001000,
337  0x10001040, 0x00000000, 0x10041040, 0x00041000, 0x00041000, 0x00001040,
338  0x00001040, 0x00040040, 0x10000000, 0x10041000, 0x10001040, 0x00001000,
339  0x00040000, 0x10041040, 0x10000000, 0x10001040, 0x00000040, 0x10000000,
340  0x00040040, 0x10040000, 0x10041040, 0x00041000, 0x10041000, 0x00041040,
341  0x00001000, 0x00000040, 0x10040000, 0x10000040, 0x10001000, 0x00001040,
342  0x00041000, 0x00040040, 0x10040040, 0x10041000, 0x00001040, 0x00000000,
343  0x00000000, 0x10040040, 0x10000040, 0x10001000, 0x00041040, 0x00040000,
344  0x00041040, 0x00040000, 0x10041000, 0x00001000, 0x00000040, 0x10040040,
345  0x00001000, 0x00041040, 0x10001000, 0x00000040, 0x10000040, 0x10040000,
346  0x10040040, 0x10000000, 0x00040000, 0x10001040, 0x00000000, 0x10041040,
347  0x00040040, 0x10000040, 0x10040000, 0x10001000, 0x10001040, 0x00000000,
348  0x10041040, 0x00041000, 0x00041000, 0x00001040, 0x00001040, 0x00040040,
349  0x10000000, 0x10041000, 0x10001040, 0x00001000, 0x00040000, 0x10041040,
350  0x10000000, 0x10001040, 0x00000040, 0x10000000, 0x00040040, 0x10040000,
351  0x10041040, 0x00041000, 0x10041000, 0x00041040, 0x00001000, 0x00000040,
352  0x10040000, 0x10000040, 0x10001000, 0x00001040, 0x00041000, 0x00040040,
353  0x10040040, 0x10041000, 0x00001040, 0x00000000, 0x00000000, 0x10040040,
354  0x10000040, 0x10001000, 0x00041040, 0x00040000, 0x00041040, 0x00040000,
355  0x10041000, 0x00001000, 0x00000040, 0x10040040, 0x00001000, 0x00041040,
356  0x10001000, 0x00000040, 0x10000040, 0x10040000, 0x10040040, 0x10000000,
357  0x00040000, 0x10001040, 0x00000000, 0x10041040, 0x00040040, 0x10000040,
358  0x10040000, 0x10001000, 0x10001040, 0x00000000, 0x10041040, 0x00041000,
359  0x00041000, 0x00001040, 0x00001040, 0x00040040, 0x10000000, 0x10041000,
360  0x10001040, 0x00001000, 0x00040000, 0x10041040, 0x10000000, 0x10001040,
361  0x00000040, 0x10000000, 0x00040040, 0x10040000, 0x10041040, 0x00041000,
362  0x10041000, 0x00041040, 0x00001000, 0x00000040, 0x10040000, 0x10000040,
363  0x10001000, 0x00001040, 0x00041000, 0x00040040, 0x10040040, 0x10041000,
364  0x00001040, 0x00000000, 0x00000000, 0x10040040, 0x10000040, 0x10001000,
365  0x00041040, 0x00040000, 0x00041040, 0x00040000, 0x10041000, 0x00001000,
366  0x00000040, 0x10040040, 0x00001000, 0x00041040, 0x10001000, 0x00000040,
367  0x10000040, 0x10040000, 0x10040040, 0x10000000, 0x00040000, 0x10001040,
368  0x00000000, 0x10041040, 0x00040040, 0x10000040, 0x10040000, 0x10001000,
369  0x10001040, 0x00000000, 0x10041040, 0x00041000, 0x00041000, 0x00001040,
370  0x00001040, 0x00040040, 0x10000000, 0x10041000 };
371 
372 }
const uint32_t DES_SPBOX6[256]
Definition: des_tab.cpp:237
const uint32_t DES_SPBOX7[256]
Definition: des_tab.cpp:282
const uint32_t DES_SPBOX4[256]
Definition: des_tab.cpp:147
const uint32_t DES_SPBOX3[256]
Definition: des_tab.cpp:102
const uint32_t DES_SPBOX8[256]
Definition: des_tab.cpp:327
class BOTAN_PUBLIC_API(2, 0) DES final class BOTAN_PUBLIC_API(2, 0) TripleDES final const uint32_t DES_SPBOX1[256]
Definition: des_tab.cpp:12
Definition: alg_id.cpp:13
const uint32_t DES_SPBOX5[256]
Definition: des_tab.cpp:192
const uint32_t DES_SPBOX2[256]
Definition: des_tab.cpp:57