home *** CD-ROM | disk | FTP | other *** search
/ PSION CD 2 / PsionCDVol2.iso / Programs / 720 / PDF090B4-SorceCode / pdf / rc4.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-09-30  |  796 b   |  32 lines

  1. #include <limits.h>
  2.  
  3. /*
  4.  * Ported to EPOC by Sander van der Wal
  5.  *
  6.  * $Id: rc4.h 1.1 2000-09-17 13:39:39+02 svdwal Exp svdwal $
  7.  */
  8.  
  9. #if !defined(__RC4_H__)
  10. #define __RC4_H__
  11. /* If the system can handle byte ops, we use those so we don't have to do a
  12.    lot of masking.  Otherwise, we use machine-word-size ops which will be
  13.    faster on RISC machines */
  14.  
  15. #if UINT_MAX > 0xFFFFL        /* System has 32-bit ints */
  16. #define USE_LONG_RC4
  17. typedef unsigned int rc4word;
  18. #else
  19. typedef unsigned char rc4word;
  20. #endif /* UINT_MAX > 0xFFFFL */
  21.  
  22. /* The scheduled RC4 key */
  23.  
  24. typedef struct {
  25.     rc4word state[ 256 ];
  26.     rc4word x, y;
  27. } RC4KEY ;
  28.  
  29. void rc4ExpandKey( RC4KEY *rc4, unsigned char const *key, int keylen );
  30. void rc4Crypt( RC4KEY *rc4, unsigned char *data, int len );
  31. #endif
  32.