d3des.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. #ifndef D3DES_H
  13. #define D3DES_H 1
  14. /* d3des.h -
  15. *
  16. * Headers and defines for d3des.c
  17. * Graven Imagery, 1992.
  18. *
  19. * Copyright (c) 1988,1989,1990,1991,1992 by Richard Outerbridge
  20. * (GEnie : OUTER; CIS : [71755,204])
  21. */
  22. #define EN0 0 /* MODE == encrypt */
  23. #define DE1 1 /* MODE == decrypt */
  24. void deskey(unsigned char *, int);
  25. /* hexkey[8] MODE
  26. * Sets the internal key register according to the hexadecimal
  27. * key contained in the 8 bytes of hexkey, according to the DES,
  28. * for encryption or decryption according to MODE.
  29. */
  30. void usekey(unsigned long *);
  31. /* cookedkey[32]
  32. * Loads the internal key register with the data in cookedkey.
  33. */
  34. void cpkey(unsigned long *);
  35. /* cookedkey[32]
  36. * Copies the contents of the internal key register into the storage
  37. * located at &cookedkey[0].
  38. */
  39. void des(unsigned char *, unsigned char *);
  40. /* from[8] to[8]
  41. * Encrypts/Decrypts (according to the key currently loaded in the
  42. * internal key register) one block of eight bytes at address 'from'
  43. * into the block at address 'to'. They can be the same.
  44. */
  45. /* d3des.h V5.09 rwo 9208.04 15:06 Graven Imagery
  46. ********************************************************************/
  47. #endif