#ifndef __LIB_4__ #define __LIB_4__ #include "sha1.h" // sha1 constants #include unsigned int left_rotate(int shift, int value); int aes_ctr_edit(char *ciphertext, int ciphertext_length, int offset, char *newtext); void hash_sha1_core(char *text, int text_length, char **sha1_hash); void hash_sha1(char *text, int text_length, char **sha1_hash); void sha1_hash(char *text, int text_length); void sha1_hmac(unsigned int *mac, unsigned char *message, unsigned int msg_len, unsigned char *key, unsigned int key_len); int sha1_hmac_verify(unsigned int *mac, unsigned char *msg, unsigned int msg_len, unsigned char *key, unsigned int key_len); int sha1_padding(unsigned long msg_len, unsigned char **result); void sha1_hmac_forge(unsigned int *mac, unsigned char *text, unsigned int text_len, unsigned int *sha1_registers); void MD4(char *str, int len, uint32_t **hash, uint32_t *md4_registers); void md4_prefix_key_mac(uint32_t **mac, unsigned char *text, unsigned int text_len, unsigned char *key, unsigned int key_len); int md4_prefix_key_verify(uint32_t *mac, unsigned char *text, unsigned int text_len, unsigned char *key, unsigned int key_len); void md4_prefix_key_forge(uint32_t **mac, unsigned char *text, unsigned int text_len, unsigned int *md4_registers); int md4_padding(unsigned long msg_len, unsigned char **result); #endif