Eneboo - Documentación para desarrolladores
|
00001 /* crypto/des/spr.h */ 00002 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 00003 * All rights reserved. 00004 * 00005 * This package is an SSL implementation written 00006 * by Eric Young (eay@cryptsoft.com). 00007 * The implementation was written so as to conform with Netscapes SSL. 00008 * 00009 * This library is free for commercial and non-commercial use as long as 00010 * the following conditions are aheared to. The following conditions 00011 * apply to all code found in this distribution, be it the RC4, RSA, 00012 * lhash, DES, etc., code; not just the SSL code. The SSL documentation 00013 * included with this distribution is covered by the same copyright terms 00014 * except that the holder is Tim Hudson (tjh@cryptsoft.com). 00015 * 00016 * Copyright remains Eric Young's, and as such any Copyright notices in 00017 * the code are not to be removed. 00018 * If this package is used in a product, Eric Young should be given attribution 00019 * as the author of the parts of the library used. 00020 * This can be in the form of a textual message at program startup or 00021 * in documentation (online or textual) provided with the package. 00022 * 00023 * Redistribution and use in source and binary forms, with or without 00024 * modification, are permitted provided that the following conditions 00025 * are met: 00026 * 1. Redistributions of source code must retain the copyright 00027 * notice, this list of conditions and the following disclaimer. 00028 * 2. Redistributions in binary form must reproduce the above copyright 00029 * notice, this list of conditions and the following disclaimer in the 00030 * documentation and/or other materials provided with the distribution. 00031 * 3. All advertising materials mentioning features or use of this software 00032 * must display the following acknowledgement: 00033 * "This product includes cryptographic software written by 00034 * Eric Young (eay@cryptsoft.com)" 00035 * The word 'cryptographic' can be left out if the rouines from the library 00036 * being used are not cryptographic related :-). 00037 * 4. If you include any Windows specific code (or a derivative thereof) from 00038 * the apps directory (application code) you must include an acknowledgement: 00039 * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 00040 * 00041 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 00042 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00043 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 00044 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 00045 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00046 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 00047 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00048 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 00049 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 00050 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 00051 * SUCH DAMAGE. 00052 * 00053 * The licence and distribution terms for any publically available version or 00054 * derivative of this code cannot be changed. i.e. this code cannot simply be 00055 * copied and put under another distribution licence 00056 * [including the GNU Public Licence.] 00057 */ 00058 00059 OPENSSL_GLOBAL const DES_LONG DES_SPtrans[8][64]={ 00060 { 00061 /* nibble 0 */ 00062 0x02080800L, 0x00080000L, 0x02000002L, 0x02080802L, 00063 0x02000000L, 0x00080802L, 0x00080002L, 0x02000002L, 00064 0x00080802L, 0x02080800L, 0x02080000L, 0x00000802L, 00065 0x02000802L, 0x02000000L, 0x00000000L, 0x00080002L, 00066 0x00080000L, 0x00000002L, 0x02000800L, 0x00080800L, 00067 0x02080802L, 0x02080000L, 0x00000802L, 0x02000800L, 00068 0x00000002L, 0x00000800L, 0x00080800L, 0x02080002L, 00069 0x00000800L, 0x02000802L, 0x02080002L, 0x00000000L, 00070 0x00000000L, 0x02080802L, 0x02000800L, 0x00080002L, 00071 0x02080800L, 0x00080000L, 0x00000802L, 0x02000800L, 00072 0x02080002L, 0x00000800L, 0x00080800L, 0x02000002L, 00073 0x00080802L, 0x00000002L, 0x02000002L, 0x02080000L, 00074 0x02080802L, 0x00080800L, 0x02080000L, 0x02000802L, 00075 0x02000000L, 0x00000802L, 0x00080002L, 0x00000000L, 00076 0x00080000L, 0x02000000L, 0x02000802L, 0x02080800L, 00077 0x00000002L, 0x02080002L, 0x00000800L, 0x00080802L, 00078 },{ 00079 /* nibble 1 */ 00080 0x40108010L, 0x00000000L, 0x00108000L, 0x40100000L, 00081 0x40000010L, 0x00008010L, 0x40008000L, 0x00108000L, 00082 0x00008000L, 0x40100010L, 0x00000010L, 0x40008000L, 00083 0x00100010L, 0x40108000L, 0x40100000L, 0x00000010L, 00084 0x00100000L, 0x40008010L, 0x40100010L, 0x00008000L, 00085 0x00108010L, 0x40000000L, 0x00000000L, 0x00100010L, 00086 0x40008010L, 0x00108010L, 0x40108000L, 0x40000010L, 00087 0x40000000L, 0x00100000L, 0x00008010L, 0x40108010L, 00088 0x00100010L, 0x40108000L, 0x40008000L, 0x00108010L, 00089 0x40108010L, 0x00100010L, 0x40000010L, 0x00000000L, 00090 0x40000000L, 0x00008010L, 0x00100000L, 0x40100010L, 00091 0x00008000L, 0x40000000L, 0x00108010L, 0x40008010L, 00092 0x40108000L, 0x00008000L, 0x00000000L, 0x40000010L, 00093 0x00000010L, 0x40108010L, 0x00108000L, 0x40100000L, 00094 0x40100010L, 0x00100000L, 0x00008010L, 0x40008000L, 00095 0x40008010L, 0x00000010L, 0x40100000L, 0x00108000L, 00096 },{ 00097 /* nibble 2 */ 00098 0x04000001L, 0x04040100L, 0x00000100L, 0x04000101L, 00099 0x00040001L, 0x04000000L, 0x04000101L, 0x00040100L, 00100 0x04000100L, 0x00040000L, 0x04040000L, 0x00000001L, 00101 0x04040101L, 0x00000101L, 0x00000001L, 0x04040001L, 00102 0x00000000L, 0x00040001L, 0x04040100L, 0x00000100L, 00103 0x00000101L, 0x04040101L, 0x00040000L, 0x04000001L, 00104 0x04040001L, 0x04000100L, 0x00040101L, 0x04040000L, 00105 0x00040100L, 0x00000000L, 0x04000000L, 0x00040101L, 00106 0x04040100L, 0x00000100L, 0x00000001L, 0x00040000L, 00107 0x00000101L, 0x00040001L, 0x04040000L, 0x04000101L, 00108 0x00000000L, 0x04040100L, 0x00040100L, 0x04040001L, 00109 0x00040001L, 0x04000000L, 0x04040101L, 0x00000001L, 00110 0x00040101L, 0x04000001L, 0x04000000L, 0x04040101L, 00111 0x00040000L, 0x04000100L, 0x04000101L, 0x00040100L, 00112 0x04000100L, 0x00000000L, 0x04040001L, 0x00000101L, 00113 0x04000001L, 0x00040101L, 0x00000100L, 0x04040000L, 00114 },{ 00115 /* nibble 3 */ 00116 0x00401008L, 0x10001000L, 0x00000008L, 0x10401008L, 00117 0x00000000L, 0x10400000L, 0x10001008L, 0x00400008L, 00118 0x10401000L, 0x10000008L, 0x10000000L, 0x00001008L, 00119 0x10000008L, 0x00401008L, 0x00400000L, 0x10000000L, 00120 0x10400008L, 0x00401000L, 0x00001000L, 0x00000008L, 00121 0x00401000L, 0x10001008L, 0x10400000L, 0x00001000L, 00122 0x00001008L, 0x00000000L, 0x00400008L, 0x10401000L, 00123 0x10001000L, 0x10400008L, 0x10401008L, 0x00400000L, 00124 0x10400008L, 0x00001008L, 0x00400000L, 0x10000008L, 00125 0x00401000L, 0x10001000L, 0x00000008L, 0x10400000L, 00126 0x10001008L, 0x00000000L, 0x00001000L, 0x00400008L, 00127 0x00000000L, 0x10400008L, 0x10401000L, 0x00001000L, 00128 0x10000000L, 0x10401008L, 0x00401008L, 0x00400000L, 00129 0x10401008L, 0x00000008L, 0x10001000L, 0x00401008L, 00130 0x00400008L, 0x00401000L, 0x10400000L, 0x10001008L, 00131 0x00001008L, 0x10000000L, 0x10000008L, 0x10401000L, 00132 },{ 00133 /* nibble 4 */ 00134 0x08000000L, 0x00010000L, 0x00000400L, 0x08010420L, 00135 0x08010020L, 0x08000400L, 0x00010420L, 0x08010000L, 00136 0x00010000L, 0x00000020L, 0x08000020L, 0x00010400L, 00137 0x08000420L, 0x08010020L, 0x08010400L, 0x00000000L, 00138 0x00010400L, 0x08000000L, 0x00010020L, 0x00000420L, 00139 0x08000400L, 0x00010420L, 0x00000000L, 0x08000020L, 00140 0x00000020L, 0x08000420L, 0x08010420L, 0x00010020L, 00141 0x08010000L, 0x00000400L, 0x00000420L, 0x08010400L, 00142 0x08010400L, 0x08000420L, 0x00010020L, 0x08010000L, 00143 0x00010000L, 0x00000020L, 0x08000020L, 0x08000400L, 00144 0x08000000L, 0x00010400L, 0x08010420L, 0x00000000L, 00145 0x00010420L, 0x08000000L, 0x00000400L, 0x00010020L, 00146 0x08000420L, 0x00000400L, 0x00000000L, 0x08010420L, 00147 0x08010020L, 0x08010400L, 0x00000420L, 0x00010000L, 00148 0x00010400L, 0x08010020L, 0x08000400L, 0x00000420L, 00149 0x00000020L, 0x00010420L, 0x08010000L, 0x08000020L, 00150 },{ 00151 /* nibble 5 */ 00152 0x80000040L, 0x00200040L, 0x00000000L, 0x80202000L, 00153 0x00200040L, 0x00002000L, 0x80002040L, 0x00200000L, 00154 0x00002040L, 0x80202040L, 0x00202000L, 0x80000000L, 00155 0x80002000L, 0x80000040L, 0x80200000L, 0x00202040L, 00156 0x00200000L, 0x80002040L, 0x80200040L, 0x00000000L, 00157 0x00002000L, 0x00000040L, 0x80202000L, 0x80200040L, 00158 0x80202040L, 0x80200000L, 0x80000000L, 0x00002040L, 00159 0x00000040L, 0x00202000L, 0x00202040L, 0x80002000L, 00160 0x00002040L, 0x80000000L, 0x80002000L, 0x00202040L, 00161 0x80202000L, 0x00200040L, 0x00000000L, 0x80002000L, 00162 0x80000000L, 0x00002000L, 0x80200040L, 0x00200000L, 00163 0x00200040L, 0x80202040L, 0x00202000L, 0x00000040L, 00164 0x80202040L, 0x00202000L, 0x00200000L, 0x80002040L, 00165 0x80000040L, 0x80200000L, 0x00202040L, 0x00000000L, 00166 0x00002000L, 0x80000040L, 0x80002040L, 0x80202000L, 00167 0x80200000L, 0x00002040L, 0x00000040L, 0x80200040L, 00168 },{ 00169 /* nibble 6 */ 00170 0x00004000L, 0x00000200L, 0x01000200L, 0x01000004L, 00171 0x01004204L, 0x00004004L, 0x00004200L, 0x00000000L, 00172 0x01000000L, 0x01000204L, 0x00000204L, 0x01004000L, 00173 0x00000004L, 0x01004200L, 0x01004000L, 0x00000204L, 00174 0x01000204L, 0x00004000L, 0x00004004L, 0x01004204L, 00175 0x00000000L, 0x01000200L, 0x01000004L, 0x00004200L, 00176 0x01004004L, 0x00004204L, 0x01004200L, 0x00000004L, 00177 0x00004204L, 0x01004004L, 0x00000200L, 0x01000000L, 00178 0x00004204L, 0x01004000L, 0x01004004L, 0x00000204L, 00179 0x00004000L, 0x00000200L, 0x01000000L, 0x01004004L, 00180 0x01000204L, 0x00004204L, 0x00004200L, 0x00000000L, 00181 0x00000200L, 0x01000004L, 0x00000004L, 0x01000200L, 00182 0x00000000L, 0x01000204L, 0x01000200L, 0x00004200L, 00183 0x00000204L, 0x00004000L, 0x01004204L, 0x01000000L, 00184 0x01004200L, 0x00000004L, 0x00004004L, 0x01004204L, 00185 0x01000004L, 0x01004200L, 0x01004000L, 0x00004004L, 00186 },{ 00187 /* nibble 7 */ 00188 0x20800080L, 0x20820000L, 0x00020080L, 0x00000000L, 00189 0x20020000L, 0x00800080L, 0x20800000L, 0x20820080L, 00190 0x00000080L, 0x20000000L, 0x00820000L, 0x00020080L, 00191 0x00820080L, 0x20020080L, 0x20000080L, 0x20800000L, 00192 0x00020000L, 0x00820080L, 0x00800080L, 0x20020000L, 00193 0x20820080L, 0x20000080L, 0x00000000L, 0x00820000L, 00194 0x20000000L, 0x00800000L, 0x20020080L, 0x20800080L, 00195 0x00800000L, 0x00020000L, 0x20820000L, 0x00000080L, 00196 0x00800000L, 0x00020000L, 0x20000080L, 0x20820080L, 00197 0x00020080L, 0x20000000L, 0x00000000L, 0x00820000L, 00198 0x20800080L, 0x20020080L, 0x20020000L, 0x00800080L, 00199 0x20820000L, 0x00000080L, 0x00800080L, 0x20020000L, 00200 0x20820080L, 0x00800000L, 0x20800000L, 0x20000080L, 00201 0x00820000L, 0x00020080L, 0x20020080L, 0x20800000L, 00202 0x00000080L, 0x20820000L, 0x00820080L, 0x00000000L, 00203 0x20000000L, 0x20800080L, 0x00020000L, 0x00820080L, 00204 }};