/home/dko/Projects/mobilec/src/security/xyssl-0.9/include/xyssl/sha2.h File Reference

Go to the source code of this file.

Data Structures

struct  sha2_context
 SHA-256 context structure. More...

Functions

void sha2_starts (sha2_context *ctx, int is224)
 SHA-256 context setup.
void sha2_update (sha2_context *ctx, unsigned char *input, int ilen)
 SHA-256 process buffer.
void sha2_finish (sha2_context *ctx, unsigned char output[32])
 SHA-256 final digest.
void sha2 (unsigned char *input, int ilen, unsigned char output[32], int is224)
 Output = SHA-256( input buffer ).
int sha2_file (char *path, unsigned char output[32], int is224)
 Output = SHA-256( file contents ).
void sha2_hmac_starts (sha2_context *ctx, unsigned char *key, int keylen, int is224)
 SHA-256 HMAC context setup.
void sha2_hmac_update (sha2_context *ctx, unsigned char *input, int ilen)
 SHA-256 HMAC process buffer.
void sha2_hmac_finish (sha2_context *ctx, unsigned char output[32])
 SHA-256 HMAC final digest.
void sha2_hmac (unsigned char *key, int keylen, unsigned char *input, int ilen, unsigned char output[32], int is224)
 Output = HMAC-SHA-256( hmac key, input buffer ).
int sha2_self_test (int verbose)
 Checkup routine.

Detailed Description

Definition in file sha2.h.


Function Documentation

void sha2 ( unsigned char *  input,
int  ilen,
unsigned char  output[32],
int  is224 
)

Output = SHA-256( input buffer ).

Parameters:
input buffer holding the data
ilen length of the input data
output SHA-224/256 checksum result
is224 0 = use SHA256, 1 = use SHA224

Definition at line 314 of file sha2.c.

References sha2_finish(), sha2_starts(), and sha2_update().

Referenced by main(), and sha2_hmac_starts().

int sha2_file ( char *  path,
unsigned char  output[32],
int  is224 
)

Output = SHA-256( file contents ).

Parameters:
path input file name
output SHA-224/256 checksum result
is224 0 = use SHA256, 1 = use SHA224
Returns:
0 if successful, 1 if fopen failed, or 2 if fread failed

Definition at line 329 of file sha2.c.

References buf, f, sha2_finish(), sha2_starts(), and sha2_update().

Referenced by sha2_wrapper().

void sha2_finish ( sha2_context ctx,
unsigned char  output[32] 
)

SHA-256 final digest.

Parameters:
ctx SHA-256 context
output SHA-224/256 checksum result

Definition at line 280 of file sha2.c.

References sha2_context::is224, PUT_ULONG_BE, sha2_padding, sha2_update(), sha2_context::state, and sha2_context::total.

Referenced by aes_en_de(), main(), sha2(), sha2_file(), sha2_hmac_finish(), and sha2_self_test().

void sha2_hmac ( unsigned char *  key,
int  keylen,
unsigned char *  input,
int  ilen,
unsigned char  output[32],
int  is224 
)

Output = HMAC-SHA-256( 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-SHA-224/256 result
is224 0 = use SHA256, 1 = use SHA224

Definition at line 420 of file sha2.c.

References sha2_hmac_finish(), sha2_hmac_starts(), and sha2_hmac_update().

void sha2_hmac_finish ( sha2_context ctx,
unsigned char  output[32] 
)

SHA-256 HMAC final digest.

Parameters:
ctx HMAC context
output SHA-224/256 HMAC checksum result

Definition at line 400 of file sha2.c.

References sha2_context::is224, sha2_context::opad, sha2_finish(), sha2_starts(), and sha2_update().

Referenced by aes_en_de(), main(), sha2_hmac(), and sha2_self_test().

void sha2_hmac_starts ( sha2_context ctx,
unsigned char *  key,
int  keylen,
int  is224 
)

SHA-256 HMAC context setup.

Parameters:
ctx HMAC context to be initialized
key HMAC secret key
keylen length of the HMAC key
is224 0 = use SHA256, 1 = use SHA224

Definition at line 361 of file sha2.c.

References sha2_context::ipad, sha2_context::opad, sha2(), sha2_starts(), and sha2_update().

Referenced by aes_en_de(), main(), sha2_hmac(), and sha2_self_test().

void sha2_hmac_update ( sha2_context ctx,
unsigned char *  input,
int  ilen 
)

SHA-256 HMAC process buffer.

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

Definition at line 392 of file sha2.c.

References sha2_update().

Referenced by aes_en_de(), main(), sha2_hmac(), and sha2_self_test().

int sha2_self_test ( int  verbose  ) 
void sha2_starts ( sha2_context ctx,
int  is224 
)

SHA-256 context setup.

Parameters:
ctx context to be initialized
is224 0 = use SHA256, 1 = use SHA224

Definition at line 61 of file sha2.c.

References sha2_context::is224, sha2_context::state, and sha2_context::total.

Referenced by aes_en_de(), main(), sha2(), sha2_file(), sha2_hmac_finish(), sha2_hmac_starts(), and sha2_self_test().

void sha2_update ( sha2_context ctx,
unsigned char *  input,
int  ilen 
)

SHA-256 process buffer.

Parameters:
ctx SHA-256 context
input buffer holding the data
ilen length of the input data

Definition at line 228 of file sha2.c.

References sha2_context::buffer, sha2_process(), and sha2_context::total.

Referenced by aes_en_de(), main(), sha2(), sha2_file(), sha2_finish(), sha2_hmac_finish(), sha2_hmac_starts(), sha2_hmac_update(), and sha2_self_test().

Generated on Tue Dec 28 15:15:28 2010 for Mobile-C by  doxygen 1.6.3