/home/dko/projects/mobilec/trunk/src/security/xyssl-0.7/include/xyssl/md5.h File Reference

Go to the source code of this file.

Data Structures

struct  md5_context
 MD5 context structure. More...

Functions

void md5_starts (md5_context *ctx)
 MD5 context setup.
void md5_update (md5_context *ctx, unsigned char *input, int ilen)
 MD5 process buffer.
void md5_finish (md5_context *ctx, unsigned char *output)
 MD5 final digest.
void md5 (unsigned char *input, int ilen, unsigned char *output)
 Output = MD5( input buffer ).
int md5_file (char *path, unsigned char *output)
 Output = MD5( file contents ).
void md5_hmac_starts (md5_context *ctx, unsigned char *key, int keylen)
 MD5 HMAC context setup.
void md5_hmac_update (md5_context *ctx, unsigned char *input, int ilen)
 MD5 HMAC process buffer.
void md5_hmac_finish (md5_context *ctx, unsigned char *output)
 MD5 HMAC final digest.
void md5_hmac (unsigned char *key, int keylen, unsigned char *input, int ilen, unsigned char *output)
 Output = HMAC-MD5( hmac key, input buffer ).
int md5_self_test (int verbose)
 Checkup routine.


Detailed Description

Definition in file md5.h.


Function Documentation

void md5 ( unsigned char *  input,
int  ilen,
unsigned char *  output 
)

Output = MD5( input buffer ).

Parameters:
input buffer holding the data
ilen length of the input data
output MD5 checksum result

Definition at line 278 of file md5.c.

References md5_finish(), md5_starts(), and md5_update().

Referenced by main(), ssl_calc_verify(), ssl_derive_keys(), ssl_mac_md5(), ssl_parse_server_key_exchange(), ssl_write_server_key_exchange(), and x509_hash().

int md5_file ( char *  path,
unsigned char *  output 
)

Output = MD5( file contents ).

Parameters:
path input file name
output MD5 checksum result
Returns:
0 if successful, 1 if fopen failed, or 2 if fread failed

Definition at line 293 of file md5.c.

References f, md5_finish(), md5_starts(), and md5_update().

Referenced by md5_wrapper().

void md5_finish ( md5_context ctx,
unsigned char *  output 
)

MD5 final digest.

Parameters:
ctx MD5 context
output MD5 checksum result

Definition at line 250 of file md5.c.

References md5_padding, md5_update(), PUT_UINT32_LE, md5_context::state, and md5_context::total.

Referenced by md5(), md5_file(), md5_hmac_finish(), ssl_calc_verify(), ssl_derive_keys(), ssl_mac_md5(), ssl_parse_server_key_exchange(), ssl_write_server_key_exchange(), and x509_des3_decrypt().

void md5_hmac ( unsigned char *  key,
int  keylen,
unsigned char *  input,
int  ilen,
unsigned char *  output 
)

Output = HMAC-MD5( hmac key, input buffer ).

Parameters:
key HMAC secret key
keylen length of the HMAC key
input buffer holding the data
ilen length of the input data
output HMAC-MD5 result

Definition at line 373 of file md5.c.

References md5_hmac_finish(), md5_hmac_starts(), and md5_hmac_update().

Referenced by ssl_decrypt_buf(), ssl_encrypt_buf(), and tls1_prf().

void md5_hmac_finish ( md5_context ctx,
unsigned char *  output 
)

MD5 HMAC final digest.

Parameters:
ctx HMAC context
output MD5 HMAC checksum result

Definition at line 357 of file md5.c.

References md5_finish(), md5_starts(), md5_update(), and md5_context::opad.

Referenced by md5_hmac().

void md5_hmac_starts ( md5_context ctx,
unsigned char *  key,
int  keylen 
)

MD5 HMAC context setup.

Parameters:
ctx HMAC context to be initialized
key HMAC secret key
keylen length of the HMAC key

Definition at line 325 of file md5.c.

References md5_context::ipad, md5_starts(), md5_update(), and md5_context::opad.

Referenced by md5_hmac().

void md5_hmac_update ( md5_context ctx,
unsigned char *  input,
int  ilen 
)

MD5 HMAC process buffer.

Parameters:
ctx HMAC context
input buffer holding the data
ilen length of the input data

Definition at line 348 of file md5.c.

References md5_update().

Referenced by md5_hmac().

int md5_self_test ( int  verbose  ) 

Checkup routine.

Returns:
0 if successful, or 1 if the test failed

Definition at line 454 of file md5.c.

Referenced by main().

void md5_starts ( md5_context ctx  ) 

MD5 context setup.

Parameters:
ctx context to be initialized

Definition at line 61 of file md5.c.

References md5_context::state, and md5_context::total.

Referenced by md5(), md5_file(), md5_hmac_finish(), md5_hmac_starts(), ssl_calc_verify(), ssl_derive_keys(), ssl_mac_md5(), ssl_parse_client_hello(), ssl_parse_server_key_exchange(), ssl_write_client_hello(), ssl_write_server_key_exchange(), and x509_des3_decrypt().

void md5_update ( md5_context ctx,
unsigned char *  input,
int  ilen 
)

MD5 process buffer.

Parameters:
ctx MD5 context
input buffer holding the data
ilen length of the input data

Definition at line 198 of file md5.c.

References md5_context::buffer, md5_process(), and md5_context::total.

Referenced by md5(), md5_file(), md5_finish(), md5_hmac_finish(), md5_hmac_starts(), md5_hmac_update(), ssl_calc_verify(), ssl_derive_keys(), ssl_mac_md5(), ssl_parse_client_hello(), ssl_parse_server_key_exchange(), ssl_write_record(), ssl_write_server_key_exchange(), and x509_des3_decrypt().


Generated on Fri May 16 14:49:56 2008 for Mobile-C by  doxygen 1.5.4