|  | /* | 
|  | * This is D3DES (V5.09) by Richard Outerbridge with the double and | 
|  | * triple-length support removed for use in VNC. | 
|  | * | 
|  | * These changes are: | 
|  | *  Copyright (C) 1999 AT&T Laboratories Cambridge.  All Rights Reserved. | 
|  | * | 
|  | * This software is distributed in the hope that it will be useful, | 
|  | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | 
|  | */ | 
|  |  | 
|  | /* d3des.h - | 
|  | * | 
|  | *	Headers and defines for d3des.c | 
|  | *	Graven Imagery, 1992. | 
|  | * | 
|  | * Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge | 
|  | *	(GEnie : OUTER; CIS : [71755,204]) | 
|  | */ | 
|  |  | 
|  | #define EN0	0	/* MODE == encrypt */ | 
|  | #define DE1	1	/* MODE == decrypt */ | 
|  |  | 
|  | void deskey(unsigned char *, int); | 
|  | /*		      hexkey[8]     MODE | 
|  | * Sets the internal key register according to the hexadecimal | 
|  | * key contained in the 8 bytes of hexkey, according to the DES, | 
|  | * for encryption or decryption according to MODE. | 
|  | */ | 
|  |  | 
|  | void usekey(unsigned long *); | 
|  | /*		    cookedkey[32] | 
|  | * Loads the internal key register with the data in cookedkey. | 
|  | */ | 
|  |  | 
|  | void cpkey(unsigned long *); | 
|  | /*		   cookedkey[32] | 
|  | * Copies the contents of the internal key register into the storage | 
|  | * located at &cookedkey[0]. | 
|  | */ | 
|  |  | 
|  | void des(unsigned char *, unsigned char *); | 
|  | /*		    from[8]	      to[8] | 
|  | * Encrypts/Decrypts (according to the key currently loaded in the | 
|  | * internal key register) one block of eight bytes at address 'from' | 
|  | * into the block at address 'to'.  They can be the same. | 
|  | */ | 
|  |  | 
|  | /* d3des.h V5.09 rwo 9208.04 15:06 Graven Imagery | 
|  | ********************************************************************/ |