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

Go to the source code of this file.

Data Structures

struct  sha4_context
 SHA-512 context structure. More...

Defines

#define UL64(x)   x##ULL
#define int64   long long

Functions

void sha4_starts (sha4_context *ctx, int is384)
 SHA-512 context setup.
void sha4_update (sha4_context *ctx, unsigned char *input, int ilen)
 SHA-512 process buffer.
void sha4_finish (sha4_context *ctx, unsigned char output[64])
 SHA-512 final digest.
void sha4 (unsigned char *input, int ilen, unsigned char output[64], int is384)
 Output = SHA-512( input buffer ).
int sha4_file (char *path, unsigned char output[64], int is384)
 Output = SHA-512( file contents ).
void sha4_hmac_starts (sha4_context *ctx, unsigned char *key, int keylen, int is384)
 SHA-512 HMAC context setup.
void sha4_hmac_update (sha4_context *ctx, unsigned char *input, int ilen)
 SHA-512 HMAC process buffer.
void sha4_hmac_finish (sha4_context *ctx, unsigned char output[64])
 SHA-512 HMAC final digest.
void sha4_hmac (unsigned char *key, int keylen, unsigned char *input, int ilen, unsigned char output[64], int is384)
 Output = HMAC-SHA-512( hmac key, input buffer ).
int sha4_self_test (int verbose)
 Checkup routine.

Detailed Description

Definition in file sha4.h.


Define Documentation

#define int64   long long

Definition at line 12 of file sha4.h.

Referenced by sha4_finish(), sha4_process(), and sha4_update().

#define UL64 (  )     x##ULL

Definition at line 11 of file sha4.h.

Referenced by sha4_starts().


Function Documentation

void sha4 ( unsigned char *  input,
int  ilen,
unsigned char  output[64],
int  is384 
)

Output = SHA-512( input buffer ).

Parameters:
input buffer holding the data
ilen length of the input data
output SHA-384/512 checksum result
is384 0 = use SHA512, 1 = use SHA384

Definition at line 312 of file sha4.c.

References sha4_finish(), sha4_starts(), and sha4_update().

Referenced by sha4_hmac_starts().

int sha4_file ( char *  path,
unsigned char  output[64],
int  is384 
)

Output = SHA-512( file contents ).

Parameters:
path input file name
output SHA-384/512 checksum result
is384 0 = use SHA512, 1 = use SHA384
Returns:
0 if successful, 1 if fopen failed, or 2 if fread failed

Definition at line 327 of file sha4.c.

References buf, f, sha4_finish(), sha4_starts(), and sha4_update().

void sha4_finish ( sha4_context ctx,
unsigned char  output[64] 
)

SHA-512 final digest.

Parameters:
ctx SHA-512 context
output SHA-384/512 checksum result

Definition at line 276 of file sha4.c.

References int, int64, sha4_context::is384, PUT_UINT64_BE, sha4_padding, sha4_update(), sha4_context::state, and sha4_context::total.

Referenced by sha4(), sha4_file(), sha4_hmac_finish(), and sha4_self_test().

void sha4_hmac ( unsigned char *  key,
int  keylen,
unsigned char *  input,
int  ilen,
unsigned char  output[64],
int  is384 
)

Output = HMAC-SHA-512( 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-384/512 result
is384 0 = use SHA512, 1 = use SHA384

Definition at line 419 of file sha4.c.

References sha4_hmac_finish(), sha4_hmac_starts(), and sha4_hmac_update().

void sha4_hmac_finish ( sha4_context ctx,
unsigned char  output[64] 
)

SHA-512 HMAC final digest.

Parameters:
ctx HMAC context
output SHA-384/512 HMAC checksum result

Definition at line 399 of file sha4.c.

References sha4_context::is384, sha4_context::opad, sha4_finish(), sha4_starts(), and sha4_update().

Referenced by sha4_hmac(), and sha4_self_test().

void sha4_hmac_starts ( sha4_context ctx,
unsigned char *  key,
int  keylen,
int  is384 
)

SHA-512 HMAC context setup.

Parameters:
ctx HMAC context to be initialized
is384 0 = use SHA512, 1 = use SHA384
key HMAC secret key
keylen length of the HMAC key

Definition at line 359 of file sha4.c.

References sha4_context::ipad, sha4_context::opad, sha4(), sha4_starts(), and sha4_update().

Referenced by sha4_hmac(), and sha4_self_test().

void sha4_hmac_update ( sha4_context ctx,
unsigned char *  input,
int  ilen 
)

SHA-512 HMAC process buffer.

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

Definition at line 390 of file sha4.c.

References sha4_update().

Referenced by sha4_hmac(), and sha4_self_test().

int sha4_self_test ( int  verbose  ) 
void sha4_starts ( sha4_context ctx,
int  is384 
)

SHA-512 context setup.

Parameters:
ctx context to be initialized
is384 0 = use SHA512, 1 = use SHA384

Definition at line 116 of file sha4.c.

References sha4_context::is384, sha4_context::state, sha4_context::total, and UL64.

Referenced by sha4(), sha4_file(), sha4_hmac_finish(), sha4_hmac_starts(), and sha4_self_test().

void sha4_update ( sha4_context ctx,
unsigned char *  input,
int  ilen 
)

SHA-512 process buffer.

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

Definition at line 221 of file sha4.c.

References sha4_context::buffer, int, int64, sha4_process(), and sha4_context::total.

Referenced by sha4(), sha4_file(), sha4_finish(), sha4_hmac_finish(), sha4_hmac_starts(), sha4_hmac_update(), and sha4_self_test().

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