xref: /dragonfly/crypto/libressl/crypto/des/spr.h (revision 72c33676)
172c33676SMaxim Ag /* $OpenBSD: spr.h,v 1.6 2016/12/21 15:49:29 jsing Exp $ */
2f5b1c8a1SJohn Marino /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3f5b1c8a1SJohn Marino  * All rights reserved.
4f5b1c8a1SJohn Marino  *
5f5b1c8a1SJohn Marino  * This package is an SSL implementation written
6f5b1c8a1SJohn Marino  * by Eric Young (eay@cryptsoft.com).
7f5b1c8a1SJohn Marino  * The implementation was written so as to conform with Netscapes SSL.
8f5b1c8a1SJohn Marino  *
9f5b1c8a1SJohn Marino  * This library is free for commercial and non-commercial use as long as
10f5b1c8a1SJohn Marino  * the following conditions are aheared to.  The following conditions
11f5b1c8a1SJohn Marino  * apply to all code found in this distribution, be it the RC4, RSA,
12f5b1c8a1SJohn Marino  * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
13f5b1c8a1SJohn Marino  * included with this distribution is covered by the same copyright terms
14f5b1c8a1SJohn Marino  * except that the holder is Tim Hudson (tjh@cryptsoft.com).
15f5b1c8a1SJohn Marino  *
16f5b1c8a1SJohn Marino  * Copyright remains Eric Young's, and as such any Copyright notices in
17f5b1c8a1SJohn Marino  * the code are not to be removed.
18f5b1c8a1SJohn Marino  * If this package is used in a product, Eric Young should be given attribution
19f5b1c8a1SJohn Marino  * as the author of the parts of the library used.
20f5b1c8a1SJohn Marino  * This can be in the form of a textual message at program startup or
21f5b1c8a1SJohn Marino  * in documentation (online or textual) provided with the package.
22f5b1c8a1SJohn Marino  *
23f5b1c8a1SJohn Marino  * Redistribution and use in source and binary forms, with or without
24f5b1c8a1SJohn Marino  * modification, are permitted provided that the following conditions
25f5b1c8a1SJohn Marino  * are met:
26f5b1c8a1SJohn Marino  * 1. Redistributions of source code must retain the copyright
27f5b1c8a1SJohn Marino  *    notice, this list of conditions and the following disclaimer.
28f5b1c8a1SJohn Marino  * 2. Redistributions in binary form must reproduce the above copyright
29f5b1c8a1SJohn Marino  *    notice, this list of conditions and the following disclaimer in the
30f5b1c8a1SJohn Marino  *    documentation and/or other materials provided with the distribution.
31f5b1c8a1SJohn Marino  * 3. All advertising materials mentioning features or use of this software
32f5b1c8a1SJohn Marino  *    must display the following acknowledgement:
33f5b1c8a1SJohn Marino  *    "This product includes cryptographic software written by
34f5b1c8a1SJohn Marino  *     Eric Young (eay@cryptsoft.com)"
35f5b1c8a1SJohn Marino  *    The word 'cryptographic' can be left out if the rouines from the library
36f5b1c8a1SJohn Marino  *    being used are not cryptographic related :-).
37f5b1c8a1SJohn Marino  * 4. If you include any Windows specific code (or a derivative thereof) from
38f5b1c8a1SJohn Marino  *    the apps directory (application code) you must include an acknowledgement:
39f5b1c8a1SJohn Marino  *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
40f5b1c8a1SJohn Marino  *
41f5b1c8a1SJohn Marino  * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
42f5b1c8a1SJohn Marino  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
43f5b1c8a1SJohn Marino  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
44f5b1c8a1SJohn Marino  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
45f5b1c8a1SJohn Marino  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
46f5b1c8a1SJohn Marino  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
47f5b1c8a1SJohn Marino  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
48f5b1c8a1SJohn Marino  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
49f5b1c8a1SJohn Marino  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
50f5b1c8a1SJohn Marino  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51f5b1c8a1SJohn Marino  * SUCH DAMAGE.
52f5b1c8a1SJohn Marino  *
53f5b1c8a1SJohn Marino  * The licence and distribution terms for any publically available version or
54f5b1c8a1SJohn Marino  * derivative of this code cannot be changed.  i.e. this code cannot simply be
55f5b1c8a1SJohn Marino  * copied and put under another distribution licence
56f5b1c8a1SJohn Marino  * [including the GNU Public Licence.]
57f5b1c8a1SJohn Marino  */
58f5b1c8a1SJohn Marino 
5972c33676SMaxim Ag __BEGIN_HIDDEN_DECLS
6072c33676SMaxim Ag 
61f5b1c8a1SJohn Marino const DES_LONG DES_SPtrans[8][64]={
62f5b1c8a1SJohn Marino {
63f5b1c8a1SJohn Marino /* nibble 0 */
64f5b1c8a1SJohn Marino 0x02080800L, 0x00080000L, 0x02000002L, 0x02080802L,
65f5b1c8a1SJohn Marino 0x02000000L, 0x00080802L, 0x00080002L, 0x02000002L,
66f5b1c8a1SJohn Marino 0x00080802L, 0x02080800L, 0x02080000L, 0x00000802L,
67f5b1c8a1SJohn Marino 0x02000802L, 0x02000000L, 0x00000000L, 0x00080002L,
68f5b1c8a1SJohn Marino 0x00080000L, 0x00000002L, 0x02000800L, 0x00080800L,
69f5b1c8a1SJohn Marino 0x02080802L, 0x02080000L, 0x00000802L, 0x02000800L,
70f5b1c8a1SJohn Marino 0x00000002L, 0x00000800L, 0x00080800L, 0x02080002L,
71f5b1c8a1SJohn Marino 0x00000800L, 0x02000802L, 0x02080002L, 0x00000000L,
72f5b1c8a1SJohn Marino 0x00000000L, 0x02080802L, 0x02000800L, 0x00080002L,
73f5b1c8a1SJohn Marino 0x02080800L, 0x00080000L, 0x00000802L, 0x02000800L,
74f5b1c8a1SJohn Marino 0x02080002L, 0x00000800L, 0x00080800L, 0x02000002L,
75f5b1c8a1SJohn Marino 0x00080802L, 0x00000002L, 0x02000002L, 0x02080000L,
76f5b1c8a1SJohn Marino 0x02080802L, 0x00080800L, 0x02080000L, 0x02000802L,
77f5b1c8a1SJohn Marino 0x02000000L, 0x00000802L, 0x00080002L, 0x00000000L,
78f5b1c8a1SJohn Marino 0x00080000L, 0x02000000L, 0x02000802L, 0x02080800L,
79f5b1c8a1SJohn Marino 0x00000002L, 0x02080002L, 0x00000800L, 0x00080802L,
80f5b1c8a1SJohn Marino },{
81f5b1c8a1SJohn Marino /* nibble 1 */
82f5b1c8a1SJohn Marino 0x40108010L, 0x00000000L, 0x00108000L, 0x40100000L,
83f5b1c8a1SJohn Marino 0x40000010L, 0x00008010L, 0x40008000L, 0x00108000L,
84f5b1c8a1SJohn Marino 0x00008000L, 0x40100010L, 0x00000010L, 0x40008000L,
85f5b1c8a1SJohn Marino 0x00100010L, 0x40108000L, 0x40100000L, 0x00000010L,
86f5b1c8a1SJohn Marino 0x00100000L, 0x40008010L, 0x40100010L, 0x00008000L,
87f5b1c8a1SJohn Marino 0x00108010L, 0x40000000L, 0x00000000L, 0x00100010L,
88f5b1c8a1SJohn Marino 0x40008010L, 0x00108010L, 0x40108000L, 0x40000010L,
89f5b1c8a1SJohn Marino 0x40000000L, 0x00100000L, 0x00008010L, 0x40108010L,
90f5b1c8a1SJohn Marino 0x00100010L, 0x40108000L, 0x40008000L, 0x00108010L,
91f5b1c8a1SJohn Marino 0x40108010L, 0x00100010L, 0x40000010L, 0x00000000L,
92f5b1c8a1SJohn Marino 0x40000000L, 0x00008010L, 0x00100000L, 0x40100010L,
93f5b1c8a1SJohn Marino 0x00008000L, 0x40000000L, 0x00108010L, 0x40008010L,
94f5b1c8a1SJohn Marino 0x40108000L, 0x00008000L, 0x00000000L, 0x40000010L,
95f5b1c8a1SJohn Marino 0x00000010L, 0x40108010L, 0x00108000L, 0x40100000L,
96f5b1c8a1SJohn Marino 0x40100010L, 0x00100000L, 0x00008010L, 0x40008000L,
97f5b1c8a1SJohn Marino 0x40008010L, 0x00000010L, 0x40100000L, 0x00108000L,
98f5b1c8a1SJohn Marino },{
99f5b1c8a1SJohn Marino /* nibble 2 */
100f5b1c8a1SJohn Marino 0x04000001L, 0x04040100L, 0x00000100L, 0x04000101L,
101f5b1c8a1SJohn Marino 0x00040001L, 0x04000000L, 0x04000101L, 0x00040100L,
102f5b1c8a1SJohn Marino 0x04000100L, 0x00040000L, 0x04040000L, 0x00000001L,
103f5b1c8a1SJohn Marino 0x04040101L, 0x00000101L, 0x00000001L, 0x04040001L,
104f5b1c8a1SJohn Marino 0x00000000L, 0x00040001L, 0x04040100L, 0x00000100L,
105f5b1c8a1SJohn Marino 0x00000101L, 0x04040101L, 0x00040000L, 0x04000001L,
106f5b1c8a1SJohn Marino 0x04040001L, 0x04000100L, 0x00040101L, 0x04040000L,
107f5b1c8a1SJohn Marino 0x00040100L, 0x00000000L, 0x04000000L, 0x00040101L,
108f5b1c8a1SJohn Marino 0x04040100L, 0x00000100L, 0x00000001L, 0x00040000L,
109f5b1c8a1SJohn Marino 0x00000101L, 0x00040001L, 0x04040000L, 0x04000101L,
110f5b1c8a1SJohn Marino 0x00000000L, 0x04040100L, 0x00040100L, 0x04040001L,
111f5b1c8a1SJohn Marino 0x00040001L, 0x04000000L, 0x04040101L, 0x00000001L,
112f5b1c8a1SJohn Marino 0x00040101L, 0x04000001L, 0x04000000L, 0x04040101L,
113f5b1c8a1SJohn Marino 0x00040000L, 0x04000100L, 0x04000101L, 0x00040100L,
114f5b1c8a1SJohn Marino 0x04000100L, 0x00000000L, 0x04040001L, 0x00000101L,
115f5b1c8a1SJohn Marino 0x04000001L, 0x00040101L, 0x00000100L, 0x04040000L,
116f5b1c8a1SJohn Marino },{
117f5b1c8a1SJohn Marino /* nibble 3 */
118f5b1c8a1SJohn Marino 0x00401008L, 0x10001000L, 0x00000008L, 0x10401008L,
119f5b1c8a1SJohn Marino 0x00000000L, 0x10400000L, 0x10001008L, 0x00400008L,
120f5b1c8a1SJohn Marino 0x10401000L, 0x10000008L, 0x10000000L, 0x00001008L,
121f5b1c8a1SJohn Marino 0x10000008L, 0x00401008L, 0x00400000L, 0x10000000L,
122f5b1c8a1SJohn Marino 0x10400008L, 0x00401000L, 0x00001000L, 0x00000008L,
123f5b1c8a1SJohn Marino 0x00401000L, 0x10001008L, 0x10400000L, 0x00001000L,
124f5b1c8a1SJohn Marino 0x00001008L, 0x00000000L, 0x00400008L, 0x10401000L,
125f5b1c8a1SJohn Marino 0x10001000L, 0x10400008L, 0x10401008L, 0x00400000L,
126f5b1c8a1SJohn Marino 0x10400008L, 0x00001008L, 0x00400000L, 0x10000008L,
127f5b1c8a1SJohn Marino 0x00401000L, 0x10001000L, 0x00000008L, 0x10400000L,
128f5b1c8a1SJohn Marino 0x10001008L, 0x00000000L, 0x00001000L, 0x00400008L,
129f5b1c8a1SJohn Marino 0x00000000L, 0x10400008L, 0x10401000L, 0x00001000L,
130f5b1c8a1SJohn Marino 0x10000000L, 0x10401008L, 0x00401008L, 0x00400000L,
131f5b1c8a1SJohn Marino 0x10401008L, 0x00000008L, 0x10001000L, 0x00401008L,
132f5b1c8a1SJohn Marino 0x00400008L, 0x00401000L, 0x10400000L, 0x10001008L,
133f5b1c8a1SJohn Marino 0x00001008L, 0x10000000L, 0x10000008L, 0x10401000L,
134f5b1c8a1SJohn Marino },{
135f5b1c8a1SJohn Marino /* nibble 4 */
136f5b1c8a1SJohn Marino 0x08000000L, 0x00010000L, 0x00000400L, 0x08010420L,
137f5b1c8a1SJohn Marino 0x08010020L, 0x08000400L, 0x00010420L, 0x08010000L,
138f5b1c8a1SJohn Marino 0x00010000L, 0x00000020L, 0x08000020L, 0x00010400L,
139f5b1c8a1SJohn Marino 0x08000420L, 0x08010020L, 0x08010400L, 0x00000000L,
140f5b1c8a1SJohn Marino 0x00010400L, 0x08000000L, 0x00010020L, 0x00000420L,
141f5b1c8a1SJohn Marino 0x08000400L, 0x00010420L, 0x00000000L, 0x08000020L,
142f5b1c8a1SJohn Marino 0x00000020L, 0x08000420L, 0x08010420L, 0x00010020L,
143f5b1c8a1SJohn Marino 0x08010000L, 0x00000400L, 0x00000420L, 0x08010400L,
144f5b1c8a1SJohn Marino 0x08010400L, 0x08000420L, 0x00010020L, 0x08010000L,
145f5b1c8a1SJohn Marino 0x00010000L, 0x00000020L, 0x08000020L, 0x08000400L,
146f5b1c8a1SJohn Marino 0x08000000L, 0x00010400L, 0x08010420L, 0x00000000L,
147f5b1c8a1SJohn Marino 0x00010420L, 0x08000000L, 0x00000400L, 0x00010020L,
148f5b1c8a1SJohn Marino 0x08000420L, 0x00000400L, 0x00000000L, 0x08010420L,
149f5b1c8a1SJohn Marino 0x08010020L, 0x08010400L, 0x00000420L, 0x00010000L,
150f5b1c8a1SJohn Marino 0x00010400L, 0x08010020L, 0x08000400L, 0x00000420L,
151f5b1c8a1SJohn Marino 0x00000020L, 0x00010420L, 0x08010000L, 0x08000020L,
152f5b1c8a1SJohn Marino },{
153f5b1c8a1SJohn Marino /* nibble 5 */
154f5b1c8a1SJohn Marino 0x80000040L, 0x00200040L, 0x00000000L, 0x80202000L,
155f5b1c8a1SJohn Marino 0x00200040L, 0x00002000L, 0x80002040L, 0x00200000L,
156f5b1c8a1SJohn Marino 0x00002040L, 0x80202040L, 0x00202000L, 0x80000000L,
157f5b1c8a1SJohn Marino 0x80002000L, 0x80000040L, 0x80200000L, 0x00202040L,
158f5b1c8a1SJohn Marino 0x00200000L, 0x80002040L, 0x80200040L, 0x00000000L,
159f5b1c8a1SJohn Marino 0x00002000L, 0x00000040L, 0x80202000L, 0x80200040L,
160f5b1c8a1SJohn Marino 0x80202040L, 0x80200000L, 0x80000000L, 0x00002040L,
161f5b1c8a1SJohn Marino 0x00000040L, 0x00202000L, 0x00202040L, 0x80002000L,
162f5b1c8a1SJohn Marino 0x00002040L, 0x80000000L, 0x80002000L, 0x00202040L,
163f5b1c8a1SJohn Marino 0x80202000L, 0x00200040L, 0x00000000L, 0x80002000L,
164f5b1c8a1SJohn Marino 0x80000000L, 0x00002000L, 0x80200040L, 0x00200000L,
165f5b1c8a1SJohn Marino 0x00200040L, 0x80202040L, 0x00202000L, 0x00000040L,
166f5b1c8a1SJohn Marino 0x80202040L, 0x00202000L, 0x00200000L, 0x80002040L,
167f5b1c8a1SJohn Marino 0x80000040L, 0x80200000L, 0x00202040L, 0x00000000L,
168f5b1c8a1SJohn Marino 0x00002000L, 0x80000040L, 0x80002040L, 0x80202000L,
169f5b1c8a1SJohn Marino 0x80200000L, 0x00002040L, 0x00000040L, 0x80200040L,
170f5b1c8a1SJohn Marino },{
171f5b1c8a1SJohn Marino /* nibble 6 */
172f5b1c8a1SJohn Marino 0x00004000L, 0x00000200L, 0x01000200L, 0x01000004L,
173f5b1c8a1SJohn Marino 0x01004204L, 0x00004004L, 0x00004200L, 0x00000000L,
174f5b1c8a1SJohn Marino 0x01000000L, 0x01000204L, 0x00000204L, 0x01004000L,
175f5b1c8a1SJohn Marino 0x00000004L, 0x01004200L, 0x01004000L, 0x00000204L,
176f5b1c8a1SJohn Marino 0x01000204L, 0x00004000L, 0x00004004L, 0x01004204L,
177f5b1c8a1SJohn Marino 0x00000000L, 0x01000200L, 0x01000004L, 0x00004200L,
178f5b1c8a1SJohn Marino 0x01004004L, 0x00004204L, 0x01004200L, 0x00000004L,
179f5b1c8a1SJohn Marino 0x00004204L, 0x01004004L, 0x00000200L, 0x01000000L,
180f5b1c8a1SJohn Marino 0x00004204L, 0x01004000L, 0x01004004L, 0x00000204L,
181f5b1c8a1SJohn Marino 0x00004000L, 0x00000200L, 0x01000000L, 0x01004004L,
182f5b1c8a1SJohn Marino 0x01000204L, 0x00004204L, 0x00004200L, 0x00000000L,
183f5b1c8a1SJohn Marino 0x00000200L, 0x01000004L, 0x00000004L, 0x01000200L,
184f5b1c8a1SJohn Marino 0x00000000L, 0x01000204L, 0x01000200L, 0x00004200L,
185f5b1c8a1SJohn Marino 0x00000204L, 0x00004000L, 0x01004204L, 0x01000000L,
186f5b1c8a1SJohn Marino 0x01004200L, 0x00000004L, 0x00004004L, 0x01004204L,
187f5b1c8a1SJohn Marino 0x01000004L, 0x01004200L, 0x01004000L, 0x00004004L,
188f5b1c8a1SJohn Marino },{
189f5b1c8a1SJohn Marino /* nibble 7 */
190f5b1c8a1SJohn Marino 0x20800080L, 0x20820000L, 0x00020080L, 0x00000000L,
191f5b1c8a1SJohn Marino 0x20020000L, 0x00800080L, 0x20800000L, 0x20820080L,
192f5b1c8a1SJohn Marino 0x00000080L, 0x20000000L, 0x00820000L, 0x00020080L,
193f5b1c8a1SJohn Marino 0x00820080L, 0x20020080L, 0x20000080L, 0x20800000L,
194f5b1c8a1SJohn Marino 0x00020000L, 0x00820080L, 0x00800080L, 0x20020000L,
195f5b1c8a1SJohn Marino 0x20820080L, 0x20000080L, 0x00000000L, 0x00820000L,
196f5b1c8a1SJohn Marino 0x20000000L, 0x00800000L, 0x20020080L, 0x20800080L,
197f5b1c8a1SJohn Marino 0x00800000L, 0x00020000L, 0x20820000L, 0x00000080L,
198f5b1c8a1SJohn Marino 0x00800000L, 0x00020000L, 0x20000080L, 0x20820080L,
199f5b1c8a1SJohn Marino 0x00020080L, 0x20000000L, 0x00000000L, 0x00820000L,
200f5b1c8a1SJohn Marino 0x20800080L, 0x20020080L, 0x20020000L, 0x00800080L,
201f5b1c8a1SJohn Marino 0x20820000L, 0x00000080L, 0x00800080L, 0x20020000L,
202f5b1c8a1SJohn Marino 0x20820080L, 0x00800000L, 0x20800000L, 0x20000080L,
203f5b1c8a1SJohn Marino 0x00820000L, 0x00020080L, 0x20020080L, 0x20800000L,
204f5b1c8a1SJohn Marino 0x00000080L, 0x20820000L, 0x00820080L, 0x00000000L,
205f5b1c8a1SJohn Marino 0x20000000L, 0x20800080L, 0x00020000L, 0x00820080L,
206f5b1c8a1SJohn Marino }};
20772c33676SMaxim Ag 
20872c33676SMaxim Ag __END_HIDDEN_DECLS
209