00001 /* 00002 * This is D3DES (V5.09) by Richard Outerbridge with the double and 00003 * triple-length support removed for use in VNC. 00004 * 00005 * These changes are Copyright (C) 1998 Olivetti & Oracle Research Laboratory 00006 * 00007 * This software is distributed in the hope that it will be useful, 00008 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00009 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00010 */ 00011 00012 /* d3des.h - 00013 * 00014 * Headers and defines for d3des.c 00015 * Graven Imagery, 1992. 00016 * 00017 * Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge 00018 * (GEnie : OUTER; CIS : [71755,204]) 00019 */ 00020 00021 #define EN0 0 /* MODE == encrypt */ 00022 #define DE1 1 /* MODE == decrypt */ 00023 00024 extern void deskey(unsigned char *, short); 00025 /* hexkey[8] MODE 00026 * Sets the internal key register according to the hexadecimal 00027 * key contained in the 8 bytes of hexkey, according to the DES, 00028 * for encryption or decryption according to MODE. 00029 */ 00030 00031 extern void usekey(unsigned long *); 00032 /* cookedkey[32] 00033 * Loads the internal key register with the data in cookedkey. 00034 */ 00035 00036 extern void cpkey(unsigned long *); 00037 /* cookedkey[32] 00038 * Copies the contents of the internal key register into the storage 00039 * located at &cookedkey[0]. 00040 */ 00041 00042 extern void des(unsigned char *, unsigned char *); 00043 /* from[8] to[8] 00044 * Encrypts/Decrypts (according to the key currently loaded in the 00045 * internal key register) one block of eight bytes at address 'from' 00046 * into the block at address 'to'. They can be the same. 00047 */ 00048 00049 /* d3des.h V5.09 rwo 9208.04 15:06 Graven Imagery 00050 ********************************************************************/
1.4.2