1 |
nmav |
1.1 |
|
2 |
|
|
/* Local Defines */ |
3 |
|
|
|
4 |
|
|
typedef struct { |
5 |
|
|
lt_dlhandle algorithm_handle; |
6 |
|
|
lt_dlhandle mode_handle; |
7 |
|
|
|
8 |
|
|
/* Holds the algorithm's internal key */ |
9 |
nmav |
1.4 |
byte *akey; |
10 |
nmav |
1.1 |
|
11 |
nmav |
1.4 |
byte *abuf; /* holds the mode's internal buffers */ |
12 |
nmav |
1.1 |
|
13 |
|
|
/* holds the key */ |
14 |
nmav |
1.4 |
byte *keyword_given; |
15 |
nmav |
1.1 |
|
16 |
|
|
/* These were included to speed up encryption/decryption proccess, so |
17 |
|
|
* there is not need for resolving symbols every time. |
18 |
|
|
*/ |
19 |
|
|
lt_ptr_t m_encrypt; |
20 |
|
|
lt_ptr_t m_decrypt; |
21 |
|
|
lt_ptr_t a_encrypt; |
22 |
|
|
lt_ptr_t a_decrypt; |
23 |
|
|
lt_ptr_t a_block_size; |
24 |
|
|
} CRYPT_STREAM; |
25 |
|
|
|
26 |
|
|
typedef CRYPT_STREAM* MCRYPT; |
27 |
|
|
|
28 |
|
|
#define MCRYPT_FAILED 0x0 |
29 |
|
|
|
30 |
nmav |
1.3 |
int mcrypt_block_encrypt(MCRYPT td, void *); |
31 |
|
|
int mcrypt_block_decrypt(MCRYPT td, void *); |
32 |
|
|
int mcrypt_stream_encrypt(MCRYPT td, void *, int); |
33 |
|
|
int mcrypt_stream_decrypt(MCRYPT td, void *, int); |
34 |
nmav |
1.1 |
|
35 |
|
|
int mcrypt_module_close(MCRYPT td); |
36 |
|
|
|
37 |
|
|
/* frontends */ |
38 |
|
|
|
39 |
|
|
int end_mcrypt( MCRYPT td, void *buf); |
40 |
|
|
int mcrypt_enc_get_size(MCRYPT td); |
41 |
|
|
int mcrypt_mode_get_size(MCRYPT td); |
42 |
nmav |
1.3 |
int mcrypt_set_key(MCRYPT td, void *a, void *b, int c, void *d, int e); |
43 |
nmav |
1.1 |
int mcrypt_enc_get_block_size(MCRYPT td); |
44 |
|
|
int __mcrypt_get_block_size(MCRYPT td); |
45 |
|
|
int mcrypt_enc_get_algo_iv_size(MCRYPT td); |
46 |
|
|
int mcrypt_enc_get_iv_size(MCRYPT td); |
47 |
|
|
int mcrypt_enc_get_key_size(MCRYPT td); |
48 |
|
|
int* mcrypt_enc_get_supported_key_sizes(MCRYPT td, int* out_size); |
49 |
|
|
int mcrypt_enc_is_block_algorithm(MCRYPT td); |
50 |
|
|
char *mcrypt_enc_get_algorithms_name(MCRYPT td); |
51 |
|
|
int init_mcrypt(MCRYPT td, void*buf, void *a, int b, void *c); |
52 |
|
|
int mcrypt(MCRYPT td, void* buf, void *a, int b); |
53 |
|
|
int mdecrypt(MCRYPT td, void* buf, void *a, int b); |
54 |
|
|
char *mcrypt_enc_get_modes_name(MCRYPT td); |
55 |
|
|
int mcrypt_enc_is_block_mode(MCRYPT td); |
56 |
|
|
int mcrypt_enc_mode_has_iv(MCRYPT td); |
57 |
|
|
int mcrypt_enc_is_block_algorithm_mode(MCRYPT td); |
58 |
|
|
int mcrypt_module_algorithm_version(char *algorithm, char *a_directory); |
59 |
|
|
int mcrypt_module_mode_version(char *mode, char *m_directory); |
60 |
|
|
int mcrypt_get_size(MCRYPT td); |
61 |
|
|
int *mcrypt_enc_get_supported_key_sizes(MCRYPT td, int *len); |
62 |
|
|
|
63 |
|
|
|
64 |
|
|
#define MCRYPT_UNKNOWN_ERROR -1 |
65 |
|
|
#define MCRYPT_ALGORITHM_MODE_INCOMPATIBILITY -2 |
66 |
|
|
#define MCRYPT_KEY_LEN_ERROR -3 |
67 |
|
|
#define MCRYPT_MEMORY_ALLOCATION_ERROR -4 |
68 |
|
|
#define MCRYPT_UNKNOWN_MODE -5 |
69 |
|
|
#define MCRYPT_UNKNOWN_ALGORITHM -6 |
70 |
|
|
|