ths | 6fd2740 | 2007-08-25 02:09:50 +0000 | [diff] [blame] | 1 | /* |
| 2 | * This is D3DES (V5.09) by Richard Outerbridge with the double and |
| 3 | * triple-length support removed for use in VNC. |
| 4 | * |
| 5 | * These changes are: |
| 6 | * Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved. |
| 7 | * |
| 8 | * This software is distributed in the hope that it will be useful, |
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| 11 | */ |
| 12 | |
| 13 | /* d3des.h - |
| 14 | * |
| 15 | * Headers and defines for d3des.c |
| 16 | * Graven Imagery, 1992. |
| 17 | * |
| 18 | * Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge |
| 19 | * (GEnie : OUTER; CIS : [71755,204]) |
| 20 | */ |
| 21 | |
| 22 | #define EN0 0 /* MODE == encrypt */ |
| 23 | #define DE1 1 /* MODE == decrypt */ |
| 24 | |
| 25 | extern void deskey(unsigned char *, int); |
| 26 | /* hexkey[8] MODE |
| 27 | * Sets the internal key register according to the hexadecimal |
| 28 | * key contained in the 8 bytes of hexkey, according to the DES, |
| 29 | * for encryption or decryption according to MODE. |
| 30 | */ |
| 31 | |
| 32 | extern void usekey(unsigned long *); |
| 33 | /* cookedkey[32] |
| 34 | * Loads the internal key register with the data in cookedkey. |
| 35 | */ |
| 36 | |
| 37 | extern void cpkey(unsigned long *); |
| 38 | /* cookedkey[32] |
| 39 | * Copies the contents of the internal key register into the storage |
| 40 | * located at &cookedkey[0]. |
| 41 | */ |
| 42 | |
| 43 | extern void des(unsigned char *, unsigned char *); |
| 44 | /* from[8] to[8] |
| 45 | * Encrypts/Decrypts (according to the key currently loaded in the |
| 46 | * internal key register) one block of eight bytes at address 'from' |
| 47 | * into the block at address 'to'. They can be the same. |
| 48 | */ |
| 49 | |
| 50 | /* d3des.h V5.09 rwo 9208.04 15:06 Graven Imagery |
| 51 | ********************************************************************/ |