PolarSSL
|
00001 00025 #ifndef POLARSSL_MD2_H 00026 #define POLARSSL_MD2_H 00027 00031 typedef struct 00032 { 00033 unsigned char cksum[16]; 00034 unsigned char state[48]; 00035 unsigned char buffer[16]; 00037 unsigned char ipad[64]; 00038 unsigned char opad[64]; 00039 int left; 00040 } 00041 md2_context; 00042 00043 #ifdef __cplusplus 00044 extern "C" { 00045 #endif 00046 00052 void md2_starts( md2_context *ctx ); 00053 00061 void md2_update( md2_context *ctx, const unsigned char *input, int ilen ); 00062 00069 void md2_finish( md2_context *ctx, unsigned char output[16] ); 00070 00078 void md2( const unsigned char *input, int ilen, unsigned char output[16] ); 00079 00089 int md2_file( const char *path, unsigned char output[16] ); 00090 00098 void md2_hmac_starts( md2_context *ctx, const unsigned char *key, int keylen ); 00099 00107 void md2_hmac_update( md2_context *ctx, const unsigned char *input, int ilen ); 00108 00115 void md2_hmac_finish( md2_context *ctx, unsigned char output[16] ); 00116 00122 void md2_hmac_reset( md2_context *ctx ); 00123 00133 void md2_hmac( const unsigned char *key, int keylen, 00134 const unsigned char *input, int ilen, 00135 unsigned char output[16] ); 00136 00142 int md2_self_test( int verbose ); 00143 00144 #ifdef __cplusplus 00145 } 00146 #endif 00147 00148 #endif /* md2.h */