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

Go to the documentation of this file.
00001 /* SVN FILE INFO
00002  * $Revision: 174 $ : Last Committed Revision
00003  * $Date: 2008-06-24 10:50:29 -0700 (Tue, 24 Jun 2008) $ : Last Committed Date */
00007 #ifndef _SHA2_H
00008 #define _SHA2_H
00009 
00010 #ifdef __cplusplus
00011 extern "C" {
00012 #endif
00013 
00017 typedef struct
00018 {
00019     unsigned long total[2];     
00020     unsigned long state[8];     
00021     unsigned char buffer[64];   
00022     unsigned char ipad[64];     
00023     unsigned char opad[64];     
00024     int is224;                  
00025 }
00026 sha2_context;
00027 
00034 void sha2_starts( sha2_context *ctx, int is224 );
00035 
00043 void sha2_update( sha2_context *ctx, unsigned char *input, int ilen );
00044 
00051 void sha2_finish( sha2_context *ctx, unsigned char *output );
00052 
00061 void sha2( unsigned char *input,  int ilen,
00062            unsigned char *output, int is224 );
00063 
00074 int sha2_file( char *path, unsigned char *output, int is224 );
00075 
00084 void sha2_hmac_starts( sha2_context *ctx,  int is224,
00085                        unsigned char *key, int keylen );
00086 
00094 void sha2_hmac_update( sha2_context *ctx,
00095                        unsigned char *input, int ilen );
00096 
00103 void sha2_hmac_finish( sha2_context *ctx, unsigned char *output );
00104 
00115 void sha2_hmac( unsigned char *key,  int keylen,
00116                 unsigned char *input,  int ilen,
00117                 unsigned char *output, int is224 );
00118 
00124 int sha2_self_test( int verbose );
00125 
00126 #ifdef __cplusplus
00127 }
00128 #endif
00129 
00130 #endif /* sha2.h */

Generated on Tue Jul 1 15:29:58 2008 for Mobile-C by  doxygen 1.5.4