Botan 2.19.2
Crypto and TLS for C&
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
10namespace Botan {
11
12alignas(64) 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
57alignas(64) 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
102alignas(64) 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
147alignas(64) 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
192alignas(64) 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
237alignas(64) 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
282alignas(64) 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
327alignas(64) 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}
Definition: alg_id.cpp:13
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_SPBOX2[256]
Definition: des_tab.cpp:57
const uint32_t DES_SPBOX4[256]
Definition: des_tab.cpp:147
const uint32_t DES_SPBOX1[256]
Definition: des_tab.cpp:12
const uint32_t DES_SPBOX5[256]
Definition: des_tab.cpp:192
const uint32_t DES_SPBOX3[256]
Definition: des_tab.cpp:102
const uint32_t DES_SPBOX8[256]
Definition: des_tab.cpp:327