39 0200, 0100, 040, 020, 010, 04, 02, 01
44 0x800000
UL, 0x400000
UL, 0x200000
UL, 0x100000
UL,
45 0x80000
UL, 0x40000
UL, 0x20000
UL, 0x10000
UL,
46 0x8000
UL, 0x4000
UL, 0x2000
UL, 0x1000
UL,
54 static const unsigned char pc1[56] = {
55 56, 48, 40, 32, 24, 16, 8, 0, 57, 49, 41, 33, 25, 17,
56 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35,
57 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21,
58 13, 5, 60, 52, 44, 36, 28, 20, 12, 4, 27, 19, 11, 3
61 static const unsigned char totrot[16] = {
68 static const unsigned char pc2[48] = {
69 13, 16, 10, 23, 0, 4, 2, 27, 14, 5, 20, 9,
70 22, 18, 11, 3, 25, 7, 15, 6, 26, 19, 12, 1,
71 40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47,
72 43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31
78 0x01010400
UL, 0x00000000
UL, 0x00010000
UL, 0x01010404
UL,
79 0x01010004
UL, 0x00010404
UL, 0x00000004
UL, 0x00010000
UL,
80 0x00000400
UL, 0x01010400
UL, 0x01010404
UL, 0x00000400
UL,
81 0x01000404
UL, 0x01010004
UL, 0x01000000
UL, 0x00000004
UL,
82 0x00000404
UL, 0x01000400
UL, 0x01000400
UL, 0x00010400
UL,
83 0x00010400
UL, 0x01010000
UL, 0x01010000
UL, 0x01000404
UL,
84 0x00010004
UL, 0x01000004
UL, 0x01000004
UL, 0x00010004
UL,
85 0x00000000
UL, 0x00000404
UL, 0x00010404
UL, 0x01000000
UL,
86 0x00010000
UL, 0x01010404
UL, 0x00000004
UL, 0x01010000
UL,
87 0x01010400
UL, 0x01000000
UL, 0x01000000
UL, 0x00000400
UL,
88 0x01010004
UL, 0x00010000
UL, 0x00010400
UL, 0x01000004
UL,
89 0x00000400
UL, 0x00000004
UL, 0x01000404
UL, 0x00010404
UL,
90 0x01010404
UL, 0x00010004
UL, 0x01010000
UL, 0x01000404
UL,
91 0x01000004
UL, 0x00000404
UL, 0x00010404
UL, 0x01010400
UL,
92 0x00000404
UL, 0x01000400
UL, 0x01000400
UL, 0x00000000
UL,
93 0x00010004
UL, 0x00010400
UL, 0x00000000
UL, 0x01010004
UL 98 0x80108020
UL, 0x80008000
UL, 0x00008000
UL, 0x00108020
UL,
99 0x00100000
UL, 0x00000020
UL, 0x80100020
UL, 0x80008020
UL,
100 0x80000020
UL, 0x80108020
UL, 0x80108000
UL, 0x80000000
UL,
101 0x80008000
UL, 0x00100000
UL, 0x00000020
UL, 0x80100020
UL,
102 0x00108000
UL, 0x00100020
UL, 0x80008020
UL, 0x00000000
UL,
103 0x80000000
UL, 0x00008000
UL, 0x00108020
UL, 0x80100000
UL,
104 0x00100020
UL, 0x80000020
UL, 0x00000000
UL, 0x00108000
UL,
105 0x00008020
UL, 0x80108000
UL, 0x80100000
UL, 0x00008020
UL,
106 0x00000000
UL, 0x00108020
UL, 0x80100020
UL, 0x00100000
UL,
107 0x80008020
UL, 0x80100000
UL, 0x80108000
UL, 0x00008000
UL,
108 0x80100000
UL, 0x80008000
UL, 0x00000020
UL, 0x80108020
UL,
109 0x00108020
UL, 0x00000020
UL, 0x00008000
UL, 0x80000000
UL,
110 0x00008020
UL, 0x80108000
UL, 0x00100000
UL, 0x80000020
UL,
111 0x00100020
UL, 0x80008020
UL, 0x80000020
UL, 0x00100020
UL,
112 0x00108000
UL, 0x00000000
UL, 0x80008000
UL, 0x00008020
UL,
113 0x80000000
UL, 0x80100020
UL, 0x80108020
UL, 0x00108000
UL 118 0x00000208
UL, 0x08020200
UL, 0x00000000
UL, 0x08020008
UL,
119 0x08000200
UL, 0x00000000
UL, 0x00020208
UL, 0x08000200
UL,
120 0x00020008
UL, 0x08000008
UL, 0x08000008
UL, 0x00020000
UL,
121 0x08020208
UL, 0x00020008
UL, 0x08020000
UL, 0x00000208
UL,
122 0x08000000
UL, 0x00000008
UL, 0x08020200
UL, 0x00000200
UL,
123 0x00020200
UL, 0x08020000
UL, 0x08020008
UL, 0x00020208
UL,
124 0x08000208
UL, 0x00020200
UL, 0x00020000
UL, 0x08000208
UL,
125 0x00000008
UL, 0x08020208
UL, 0x00000200
UL, 0x08000000
UL,
126 0x08020200
UL, 0x08000000
UL, 0x00020008
UL, 0x00000208
UL,
127 0x00020000
UL, 0x08020200
UL, 0x08000200
UL, 0x00000000
UL,
128 0x00000200
UL, 0x00020008
UL, 0x08020208
UL, 0x08000200
UL,
129 0x08000008
UL, 0x00000200
UL, 0x00000000
UL, 0x08020008
UL,
130 0x08000208
UL, 0x00020000
UL, 0x08000000
UL, 0x08020208
UL,
131 0x00000008
UL, 0x00020208
UL, 0x00020200
UL, 0x08000008
UL,
132 0x08020000
UL, 0x08000208
UL, 0x00000208
UL, 0x08020000
UL,
133 0x00020208
UL, 0x00000008
UL, 0x08020008
UL, 0x00020200
UL 138 0x00802001
UL, 0x00002081
UL, 0x00002081
UL, 0x00000080
UL,
139 0x00802080
UL, 0x00800081
UL, 0x00800001
UL, 0x00002001
UL,
140 0x00000000
UL, 0x00802000
UL, 0x00802000
UL, 0x00802081
UL,
141 0x00000081
UL, 0x00000000
UL, 0x00800080
UL, 0x00800001
UL,
142 0x00000001
UL, 0x00002000
UL, 0x00800000
UL, 0x00802001
UL,
143 0x00000080
UL, 0x00800000
UL, 0x00002001
UL, 0x00002080
UL,
144 0x00800081
UL, 0x00000001
UL, 0x00002080
UL, 0x00800080
UL,
145 0x00002000
UL, 0x00802080
UL, 0x00802081
UL, 0x00000081
UL,
146 0x00800080
UL, 0x00800001
UL, 0x00802000
UL, 0x00802081
UL,
147 0x00000081
UL, 0x00000000
UL, 0x00000000
UL, 0x00802000
UL,
148 0x00002080
UL, 0x00800080
UL, 0x00800081
UL, 0x00000001
UL,
149 0x00802001
UL, 0x00002081
UL, 0x00002081
UL, 0x00000080
UL,
150 0x00802081
UL, 0x00000081
UL, 0x00000001
UL, 0x00002000
UL,
151 0x00800001
UL, 0x00002001
UL, 0x00802080
UL, 0x00800081
UL,
152 0x00002001
UL, 0x00002080
UL, 0x00800000
UL, 0x00802001
UL,
153 0x00000080
UL, 0x00800000
UL, 0x00002000
UL, 0x00802080
UL 158 0x00000100
UL, 0x02080100
UL, 0x02080000
UL, 0x42000100
UL,
159 0x00080000
UL, 0x00000100
UL, 0x40000000
UL, 0x02080000
UL,
160 0x40080100
UL, 0x00080000
UL, 0x02000100
UL, 0x40080100
UL,
161 0x42000100
UL, 0x42080000
UL, 0x00080100
UL, 0x40000000
UL,
162 0x02000000
UL, 0x40080000
UL, 0x40080000
UL, 0x00000000
UL,
163 0x40000100
UL, 0x42080100
UL, 0x42080100
UL, 0x02000100
UL,
164 0x42080000
UL, 0x40000100
UL, 0x00000000
UL, 0x42000000
UL,
165 0x02080100
UL, 0x02000000
UL, 0x42000000
UL, 0x00080100
UL,
166 0x00080000
UL, 0x42000100
UL, 0x00000100
UL, 0x02000000
UL,
167 0x40000000
UL, 0x02080000
UL, 0x42000100
UL, 0x40080100
UL,
168 0x02000100
UL, 0x40000000
UL, 0x42080000
UL, 0x02080100
UL,
169 0x40080100
UL, 0x00000100
UL, 0x02000000
UL, 0x42080000
UL,
170 0x42080100
UL, 0x00080100
UL, 0x42000000
UL, 0x42080100
UL,
171 0x02080000
UL, 0x00000000
UL, 0x40080000
UL, 0x42000000
UL,
172 0x00080100
UL, 0x02000100
UL, 0x40000100
UL, 0x00080000
UL,
173 0x00000000
UL, 0x40080000
UL, 0x02080100
UL, 0x40000100
UL 178 0x20000010
UL, 0x20400000
UL, 0x00004000
UL, 0x20404010
UL,
179 0x20400000
UL, 0x00000010
UL, 0x20404010
UL, 0x00400000
UL,
180 0x20004000
UL, 0x00404010
UL, 0x00400000
UL, 0x20000010
UL,
181 0x00400010
UL, 0x20004000
UL, 0x20000000
UL, 0x00004010
UL,
182 0x00000000
UL, 0x00400010
UL, 0x20004010
UL, 0x00004000
UL,
183 0x00404000
UL, 0x20004010
UL, 0x00000010
UL, 0x20400010
UL,
184 0x20400010
UL, 0x00000000
UL, 0x00404010
UL, 0x20404000
UL,
185 0x00004010
UL, 0x00404000
UL, 0x20404000
UL, 0x20000000
UL,
186 0x20004000
UL, 0x00000010
UL, 0x20400010
UL, 0x00404000
UL,
187 0x20404010
UL, 0x00400000
UL, 0x00004010
UL, 0x20000010
UL,
188 0x00400000
UL, 0x20004000
UL, 0x20000000
UL, 0x00004010
UL,
189 0x20000010
UL, 0x20404010
UL, 0x00404000
UL, 0x20400000
UL,
190 0x00404010
UL, 0x20404000
UL, 0x00000000
UL, 0x20400010
UL,
191 0x00000010
UL, 0x00004000
UL, 0x20400000
UL, 0x00404010
UL,
192 0x00004000
UL, 0x00400010
UL, 0x20004010
UL, 0x00000000
UL,
193 0x20404000
UL, 0x20000000
UL, 0x00400010
UL, 0x20004010
UL 198 0x00200000
UL, 0x04200002
UL, 0x04000802
UL, 0x00000000
UL,
199 0x00000800
UL, 0x04000802
UL, 0x00200802
UL, 0x04200800
UL,
200 0x04200802
UL, 0x00200000
UL, 0x00000000
UL, 0x04000002
UL,
201 0x00000002
UL, 0x04000000
UL, 0x04200002
UL, 0x00000802
UL,
202 0x04000800
UL, 0x00200802
UL, 0x00200002
UL, 0x04000800
UL,
203 0x04000002
UL, 0x04200000
UL, 0x04200800
UL, 0x00200002
UL,
204 0x04200000
UL, 0x00000800
UL, 0x00000802
UL, 0x04200802
UL,
205 0x00200800
UL, 0x00000002
UL, 0x04000000
UL, 0x00200800
UL,
206 0x04000000
UL, 0x00200800
UL, 0x00200000
UL, 0x04000802
UL,
207 0x04000802
UL, 0x04200002
UL, 0x04200002
UL, 0x00000002
UL,
208 0x00200002
UL, 0x04000000
UL, 0x04000800
UL, 0x00200000
UL,
209 0x04200800
UL, 0x00000802
UL, 0x00200802
UL, 0x04200800
UL,
210 0x00000802
UL, 0x04000002
UL, 0x04200802
UL, 0x04200000
UL,
211 0x00200800
UL, 0x00000000
UL, 0x00000002
UL, 0x04200802
UL,
212 0x00000000
UL, 0x00200802
UL, 0x04200000
UL, 0x00000800
UL,
213 0x04000002
UL, 0x04000800
UL, 0x00000800
UL, 0x00200002
UL 218 0x10001040
UL, 0x00001000
UL, 0x00040000
UL, 0x10041040
UL,
219 0x10000000
UL, 0x10001040
UL, 0x00000040
UL, 0x10000000
UL,
220 0x00040040
UL, 0x10040000
UL, 0x10041040
UL, 0x00041000
UL,
221 0x10041000
UL, 0x00041040
UL, 0x00001000
UL, 0x00000040
UL,
222 0x10040000
UL, 0x10000040
UL, 0x10001000
UL, 0x00001040
UL,
223 0x00041000
UL, 0x00040040
UL, 0x10040040
UL, 0x10041000
UL,
224 0x00001040
UL, 0x00000000
UL, 0x00000000
UL, 0x10040040
UL,
225 0x10000040
UL, 0x10001000
UL, 0x00041040
UL, 0x00040000
UL,
226 0x00041040
UL, 0x00040000
UL, 0x10041000
UL, 0x00001000
UL,
227 0x00000040
UL, 0x10040040
UL, 0x00001000
UL, 0x00041040
UL,
228 0x10001000
UL, 0x00000040
UL, 0x10000040
UL, 0x10040000
UL,
229 0x10040040
UL, 0x10000000
UL, 0x00040000
UL, 0x10001040
UL,
230 0x00000000
UL, 0x10041040
UL, 0x00040040
UL, 0x10000040
UL,
231 0x10040000
UL, 0x10001000
UL, 0x10001040
UL, 0x00000000
UL,
232 0x10041040
UL, 0x00041000
UL, 0x00041000
UL, 0x00001040
UL,
233 0x00001040
UL, 0x00040040
UL, 0x10000000
UL, 0x10041000
UL 1288 unsigned char pc1m[56], pcr[56];
1290 for (
j=0;
j < 56;
j++) {
1296 for (
i=0;
i < 16;
i++) {
1304 for (
j=0;
j < 28;
j++) {
1309 pcr[
j] = pc1m[
l - 28];
1312 for (;
j < 56;
j++) {
1317 pcr[
j] = pc1m[
l - 28];
1320 for (
j=0;
j < 24;
j++) {
1321 if ((
int)pcr[(
int)
pc2[
j]] != 0) {
1324 if ((
int)pcr[(
int)
pc2[
j+24]] != 0) {
1341 for(
i=0;
i < 16;
i++, raw1++)
1344 *cook = (*raw0 & 0x00fc0000
L) << 6;
1345 *cook |= (*raw0 & 0x00000fc0
L) << 10;
1346 *cook |= (*raw1 & 0x00fc0000
L) >> 10;
1347 *cook++ |= (*raw1 & 0x00000fc0
L) >> 6;
1348 *cook = (*raw0 & 0x0003f000
L) << 12;
1349 *cook |= (*raw0 & 0x0000003f
L) << 16;
1350 *cook |= (*raw1 & 0x0003f000
L) >> 4;
1351 *cook++ |= (*raw1 & 0x0000003f
L);
1354 memcpy(keyout, dough,
sizeof dough);
1377 for (cur_round = 0; cur_round < 8; cur_round++) {
1379 leftt ^=
SP7[work & 0x3f
L]
1380 ^
SP5[(work >> 8) & 0x3fL]
1381 ^
SP3[(work >> 16) & 0x3f
L]
1382 ^
SP1[(work >> 24) & 0x3fL];
1383 work =
right ^ *keys++;
1384 leftt ^=
SP8[ work & 0x3f
L]
1385 ^
SP6[(work >> 8) & 0x3fL]
1386 ^
SP4[(work >> 16) & 0x3f
L]
1387 ^
SP2[(work >> 24) & 0x3fL];
1389 work =
ROR(leftt, 4) ^ *keys++;
1391 ^
SP5[(work >> 8) & 0x3fL]
1392 ^
SP3[(work >> 16) & 0x3f
L]
1393 ^
SP1[(work >> 24) & 0x3fL];
1394 work = leftt ^ *keys++;
1396 ^
SP6[(work >> 8) & 0x3fL]
1397 ^
SP4[(work >> 16) & 0x3f
L]
1398 ^
SP2[(work >> 24) & 0x3fL];
1418 if (num_rounds != 0 && num_rounds != 16) {
1434 if(num_rounds != 0 && num_rounds != 16) {
static unsigned int block
static const ulong32 SP5[64]
static const unsigned char pc2[48]
static const ulong32 bigbyte[24]
static const unsigned char pc1[56]
static const ulong64 des_fp[8][256]
static void deskey(const unsigned char *key, short edf, ulong32 *keyout)
static const ulong32 SP3[64]
int des_setup(const unsigned char *key, int keylen, int num_rounds, des_key *des)
static const ulong32 SP4[64]
static const ulong32 SP7[64]
static const ulong32 SP1[64]
void des3_ecb_encrypt(const unsigned char *pt, unsigned char *ct, const des3_key *des3)
static const ulong32 SP6[64]
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
static const ulong32 bytebit[8]
void des_ecb_encrypt(const unsigned char *pt, unsigned char *ct, const des_key *des)
static const ulong64 des_ip[8][256]
static const unsigned char totrot[16]
#define memcpy(s1, s2, n)
static void desfunc(ulong32 *block, const ulong32 *keys)
void des3_ecb_decrypt(const unsigned char *ct, unsigned char *pt, const des3_key *des3)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
void des_ecb_decrypt(const unsigned char *ct, unsigned char *pt, const des_key *des)
static const ulong32 SP2[64]
static const ulong32 SP8[64]
int des3_setup(const unsigned char *key, int keylen, int num_rounds, des3_key *des3)
static void cookey(const ulong32 *raw1, ulong32 *keyout)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *