PolarSSL v1.3.7
md2.h
Go to the documentation of this file.
1 
27 #ifndef POLARSSL_MD2_H
28 #define POLARSSL_MD2_H
29 
30 #if !defined(POLARSSL_CONFIG_FILE)
31 #include "config.h"
32 #else
33 #include POLARSSL_CONFIG_FILE
34 #endif
35 
36 #include <string.h>
37 
38 #define POLARSSL_ERR_MD2_FILE_IO_ERROR -0x0070
40 #if !defined(POLARSSL_MD2_ALT)
41 // Regular implementation
42 //
43 
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47 
51 typedef struct
52 {
53  unsigned char cksum[16];
54  unsigned char state[48];
55  unsigned char buffer[16];
57  unsigned char ipad[16];
58  unsigned char opad[16];
59  size_t left;
60 }
62 
68 void md2_starts( md2_context *ctx );
69 
77 void md2_update( md2_context *ctx, const unsigned char *input, size_t ilen );
78 
85 void md2_finish( md2_context *ctx, unsigned char output[16] );
86 
87 #ifdef __cplusplus
88 }
89 #endif
90 
91 #else /* POLARSSL_MD2_ALT */
92 #include "md2_alt.h"
93 #endif /* POLARSSL_MD2_ALT */
94 
95 #ifdef __cplusplus
96 extern "C" {
97 #endif
98 
106 void md2( const unsigned char *input, size_t ilen, unsigned char output[16] );
107 
116 int md2_file( const char *path, unsigned char output[16] );
117 
125 void md2_hmac_starts( md2_context *ctx, const unsigned char *key,
126  size_t keylen );
127 
135 void md2_hmac_update( md2_context *ctx, const unsigned char *input,
136  size_t ilen );
137 
144 void md2_hmac_finish( md2_context *ctx, unsigned char output[16] );
145 
151 void md2_hmac_reset( md2_context *ctx );
152 
162 void md2_hmac( const unsigned char *key, size_t keylen,
163  const unsigned char *input, size_t ilen,
164  unsigned char output[16] );
165 
171 int md2_self_test( int verbose );
172 
173 /* Internal use */
174 void md2_process( md2_context *ctx );
175 
176 #ifdef __cplusplus
177 }
178 #endif
179 
180 #endif /* md2.h */
void md2_update(md2_context *ctx, const unsigned char *input, size_t ilen)
MD2 process buffer.
void md2_process(md2_context *ctx)
void md2_hmac_update(md2_context *ctx, const unsigned char *input, size_t ilen)
MD2 HMAC process buffer.
Configuration options (set of defines)
void md2(const unsigned char *input, size_t ilen, unsigned char output[16])
Output = MD2( input buffer )
void md2_hmac_finish(md2_context *ctx, unsigned char output[16])
MD2 HMAC final digest.
int md2_file(const char *path, unsigned char output[16])
Output = MD2( file contents )
size_t left
Definition: md2.h:59
int md2_self_test(int verbose)
Checkup routine.
void md2_starts(md2_context *ctx)
MD2 context setup.
void md2_hmac_starts(md2_context *ctx, const unsigned char *key, size_t keylen)
MD2 HMAC context setup.
void md2_hmac(const unsigned char *key, size_t keylen, const unsigned char *input, size_t ilen, unsigned char output[16])
Output = HMAC-MD2( hmac key, input buffer )
void md2_hmac_reset(md2_context *ctx)
MD2 HMAC context reset.
MD2 context structure.
Definition: md2.h:51
void md2_finish(md2_context *ctx, unsigned char output[16])
MD2 final digest.