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