/home/dko/projects/mobilec/trunk/src/security/xyssl-0.7/include/xyssl/sha2.h

Go to the documentation of this file.
00001 
00004 #ifndef _SHA2_H
00005 #define _SHA2_H
00006 
00007 #ifdef __cplusplus
00008 extern "C" {
00009 #endif
00010 
00014 typedef struct
00015 {
00016     unsigned long total[2];     
00017     unsigned long state[8];     
00018     unsigned char buffer[64];   
00019     unsigned char ipad[64];     
00020     unsigned char opad[64];     
00021     int is224;                  
00022 }
00023 sha2_context;
00024 
00031 void sha2_starts( sha2_context *ctx, int is224 );
00032 
00040 void sha2_update( sha2_context *ctx, unsigned char *input, int ilen );
00041 
00048 void sha2_finish( sha2_context *ctx, unsigned char *output );
00049 
00058 void sha2( unsigned char *input,  int ilen,
00059            unsigned char *output, int is224 );
00060 
00071 int sha2_file( char *path, unsigned char *output, int is224 );
00072 
00081 void sha2_hmac_starts( sha2_context *ctx,  int is224,
00082                        unsigned char *key, int keylen );
00083 
00091 void sha2_hmac_update( sha2_context *ctx,
00092                        unsigned char *input, int ilen );
00093 
00100 void sha2_hmac_finish( sha2_context *ctx, unsigned char *output );
00101 
00112 void sha2_hmac( unsigned char *key,  int keylen,
00113                 unsigned char *input,  int ilen,
00114                 unsigned char *output, int is224 );
00115 
00121 int sha2_self_test( int verbose );
00122 
00123 #ifdef __cplusplus
00124 }
00125 #endif
00126 
00127 #endif /* sha2.h */

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