Revision 780e264f
b/d3des.c | ||
---|---|---|
63 | 63 |
40, 51, 30, 36, 46, 54, 29, 39, 50, 44, 32, 47, |
64 | 64 |
43, 48, 38, 55, 33, 52, 45, 41, 49, 35, 28, 31 }; |
65 | 65 |
|
66 |
void deskey(key, edf) /* Thanks to James Gillogly & Phil Karn! */ |
|
67 |
unsigned char *key; |
|
68 |
int edf; |
|
66 |
/* Thanks to James Gillogly & Phil Karn! */ |
|
67 |
void deskey(unsigned char *key, int edf) |
|
69 | 68 |
{ |
70 | 69 |
register int i, j, l, m, n; |
71 | 70 |
unsigned char pc1m[56], pcr[56]; |
... | ... | |
100 | 99 |
return; |
101 | 100 |
} |
102 | 101 |
|
103 |
static void cookey(raw1) |
|
104 |
register unsigned long *raw1; |
|
102 |
static void cookey(register unsigned long *raw1) |
|
105 | 103 |
{ |
106 | 104 |
register unsigned long *cook, *raw0; |
107 | 105 |
unsigned long dough[32]; |
... | ... | |
123 | 121 |
return; |
124 | 122 |
} |
125 | 123 |
|
126 |
void cpkey(into) |
|
127 |
register unsigned long *into; |
|
124 |
void cpkey(register unsigned long *into) |
|
128 | 125 |
{ |
129 | 126 |
register unsigned long *from, *endp; |
130 | 127 |
|
... | ... | |
133 | 130 |
return; |
134 | 131 |
} |
135 | 132 |
|
136 |
void usekey(from) |
|
137 |
register unsigned long *from; |
|
133 |
void usekey(register unsigned long *from) |
|
138 | 134 |
{ |
139 | 135 |
register unsigned long *to, *endp; |
140 | 136 |
|
... | ... | |
143 | 139 |
return; |
144 | 140 |
} |
145 | 141 |
|
146 |
void des(inblock, outblock) |
|
147 |
unsigned char *inblock, *outblock; |
|
142 |
void des(unsigned char *inblock, unsigned char *outblock) |
|
148 | 143 |
{ |
149 | 144 |
unsigned long work[2]; |
150 | 145 |
|
... | ... | |
154 | 149 |
return; |
155 | 150 |
} |
156 | 151 |
|
157 |
static void scrunch(outof, into) |
|
158 |
register unsigned char *outof; |
|
159 |
register unsigned long *into; |
|
152 |
static void scrunch(register unsigned char *outof, register unsigned long *into) |
|
160 | 153 |
{ |
161 | 154 |
*into = (*outof++ & 0xffL) << 24; |
162 | 155 |
*into |= (*outof++ & 0xffL) << 16; |
... | ... | |
169 | 162 |
return; |
170 | 163 |
} |
171 | 164 |
|
172 |
static void unscrun(outof, into) |
|
173 |
register unsigned long *outof; |
|
174 |
register unsigned char *into; |
|
165 |
static void unscrun(register unsigned long *outof, register unsigned char *into) |
|
175 | 166 |
{ |
176 | 167 |
*into++ = (unsigned char)((*outof >> 24) & 0xffL); |
177 | 168 |
*into++ = (unsigned char)((*outof >> 16) & 0xffL); |
... | ... | |
328 | 319 |
0x10041040L, 0x00041000L, 0x00041000L, 0x00001040L, |
329 | 320 |
0x00001040L, 0x00040040L, 0x10000000L, 0x10041000L }; |
330 | 321 |
|
331 |
static void desfunc(block, keys) |
|
332 |
register unsigned long *block, *keys; |
|
322 |
static void desfunc(register unsigned long *block, register unsigned long *keys) |
|
333 | 323 |
{ |
334 | 324 |
register unsigned long fval, work, right, leftt; |
335 | 325 |
register int round; |
Also available in: Unified diff