// EPOS Crypter Interface // // Author: fabio // Documentation: $EPOS/doc/crypter Date: 29 Jun 2004 #ifndef __crypter_h #define __crypter_h #include <system/config.h> __BEGIN_SYS __BEGIN_INT class Crypter_Common { protected: Crypter_Common() {} public: // Crypter common types and constants }; class Crypter: public Crypter_Common { public: Crypter() __DEF; ~Crypter() __DEF; void encrypt(unsigned char * data_in, int size_in, unsigned char * data_out, int size_out); void decrypt(unsigned char * data_in, int size_in, unsigned char * data_out, int size_out); void seedKey(unsigned char * key_data, int key_size); void seedKeys(unsigned char * public_key_data, int public_key_size, unsigned char * private_key_data, int private_key_size); unsigned char * publicKey(int * key_size); }; class Simple: public Crypter_Common { public: Simple() __DEF; ~Simple() __DEF; void encrypt(unsigned char * data_in, int size_in, unsigned char * data_out, int size_out); void decrypt(unsigned char * data_in, int size_in, unsigned char * data_out, int size_out); }; class Simmetric: public Crypter_Common { public: Simmetric() __DEF; ~Simmetric() __DEF; void encrypt(unsigned char * data_in, int size_in, unsigned char * data_out, int size_out); void decrypt(unsigned char * data_in, int size_in, unsigned char * data_out, int size_out); void seedKey(unsigned char * key_data, int key_size); }; class Assimetric: public Crypter_Common { public: Assimetric() __DEF; ~Assimetric() __DEF; void encrypt(unsigned char * data_in, int size_in, unsigned char * data_out, int size_out); void decrypt(unsigned char * data_in, int size_in, unsigned char * data_out, int size_out); void seedKeys(unsigned char * public_key_data, int public_key_size, unsigned char * private_key_data, int private_key_size); unsigned char * publicKey(int * key_size); }; __END_INT __END_SYS #ifdef __SIMPLE_H #include __SIMPLE_H #endif #ifdef __SIMMETRIC_H #include __SIMMETRIC_H #endif #ifdef __ASSIMETRIC_H #include __ASSIMETRIC_H #endif #endif