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