00001 #ifndef DES_H
00002 #define DES_H
00003
00004
00005
00006 #if defined(__GNUC__) && __GNUC__ >= 4
00007 #pragma GCC visibility push(hidden)
00008 #endif
00009
00010 typedef unsigned char des_cblock[8];
00011
00012 typedef struct des_key
00013 {
00014 unsigned char kn[16][8];
00015 TDS_UINT sp[8][64];
00016 unsigned char iperm[16][16][8];
00017 unsigned char fperm[16][16][8];
00018 } DES_KEY;
00019
00020 void tds_des_set_odd_parity(des_cblock key);
00021 int tds_des_ecb_encrypt(const void *plaintext, int len, DES_KEY * akey, des_cblock output);
00022 int tds_des_set_key(DES_KEY * dkey, des_cblock user_key, int len);
00023 void tds_des_encrypt(DES_KEY * key, des_cblock block);
00024 void _mcrypt_decrypt(DES_KEY * key, unsigned char *block);
00025
00026 #if defined(__GNUC__) && __GNUC__ >= 4
00027 #pragma GCC visibility pop
00028 #endif
00029
00030 #endif