/* * Header file for the C++ ICE encryption class. * * Written by Matthew Kwan - July 1996 */ #ifndef _IceKey_H #define _IceKey_H class IceSubkey; class IceKey { public: IceKey (int n); ~IceKey (); void set (const unsigned char *key); void encrypt (const unsigned char *plaintext, unsigned char *ciphertext) const; void decrypt (const unsigned char *ciphertext, unsigned char *plaintext) const; int keySize () const; int blockSize () const; private: void scheduleBuild (unsigned short *k, int n, const int *keyrot); int _size; int _rounds; IceSubkey *_keysched; }; #endif