
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: ********************************************************************/