unsigned long encrypt(void *key, int keylen, void *pt, void *ct, int tlen);
unsigned long decrypt(void *key, int keylen, void *ct, void *pt, int tlen);
unsigned long hash(void *pt, int tlen, void *tag, int *taglen);
unsigned long encrypt(void *key, int keylen, void *pt, void *ct, int tlen);
unsigned long decrypt(void *key, int keylen, void *ct, void *pt, int tlen);
unsigned long hash(void *pt, int tlen, void *tag, int *taglen);