| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef UDP2RAW_ENCRYPTION_H_
- #define UDP2RAW_ENCRYPTION_H_
- //#include "aes.h"
- //#include "md5.h"
- #include "common.h"
- // using namespace std;
- // extern char key[16];
- const int aes_key_optimize = 1; // if enabled,once you used a key for aes,you cant change it anymore
- extern int aes128cfb_old;
- int my_init_keys(const char *, int);
- int my_encrypt(const char *data, char *output, int &len);
- int my_decrypt(const char *data, char *output, int &len);
- unsigned short csum(const unsigned short *ptr, int nbytes);
- enum auth_mode_t { auth_none = 0,
- auth_md5,
- auth_crc32,
- auth_simple,
- auth_hmac_sha1,
- auth_end };
- enum cipher_mode_t { cipher_none = 0,
- cipher_aes128cbc,
- cipher_xor,
- cipher_aes128cfb,
- cipher_end };
- extern auth_mode_t auth_mode;
- extern cipher_mode_t cipher_mode;
- extern unordered_map<int, const char *> auth_mode_tostring;
- extern unordered_map<int, const char *> cipher_mode_tostring;
- extern char gro_xor[256 + 100];
- int cipher_decrypt(const char *data, char *output, int &len, char *key); // internal interface ,exposed for test only
- int cipher_encrypt(const char *data, char *output, int &len, char *key); // internal interface ,exposed for test only
- void aes_ecb_encrypt(const char *data, char *output);
- void aes_ecb_decrypt(const char *data, char *output);
- void aes_ecb_encrypt1(char *data);
- void aes_ecb_decrypt1(char *data);
- #endif
|