Added md_process() to MD layer for generic internal access to hash

process functions

Access to process functions is needed to reduce possible timing attacks
on SSL MAC checks. As SSL is set to move to using the dynamic MD layer,
the MD layer needs access to these process functions as well.
This commit is contained in:
Paul Bakker 2013-03-13 10:26:44 +01:00
parent 90f042d4cb
commit 1bd3ae826c
9 changed files with 77 additions and 3 deletions

View file

@ -111,6 +111,8 @@ typedef struct {
/** Free the given context */
void (*ctx_free_func)( void *ctx );
/** Internal use only */
void (*process_func)( void *ctx, const unsigned char *input );
} md_info_t;
/**
@ -347,6 +349,9 @@ int md_hmac( const md_info_t *md_info, const unsigned char *key, size_t keylen,
const unsigned char *input, size_t ilen,
unsigned char *output );
/* Internal use */
int md_process( md_context_t *ctx, const unsigned char *data );
#ifdef __cplusplus
}
#endif

View file

@ -146,6 +146,9 @@ void md2_hmac( const unsigned char *key, size_t keylen,
*/
int md2_self_test( int verbose );
/* Internal use */
void md2_process( md2_context *ctx );
#ifdef __cplusplus
}
#endif

View file

@ -152,6 +152,9 @@ void md4_hmac( const unsigned char *key, size_t keylen,
*/
int md4_self_test( int verbose );
/* Internal use */
void md4_process( md4_context *ctx, const unsigned char data[64] );
#ifdef __cplusplus
}
#endif

View file

@ -161,6 +161,9 @@ void sha4_hmac( const unsigned char *key, size_t keylen,
*/
int sha4_self_test( int verbose );
/* Internal use */
void sha4_process( sha4_context *ctx, const unsigned char data[128] );
#ifdef __cplusplus
}
#endif