/home/dko/projects/mobilec/trunk/src/security/xyssl-0.9/include/xyssl/des.h

Go to the documentation of this file.
00001 
00004 #ifndef XYSSL_DES_H
00005 #define XYSSL_DES_H
00006 
00007 #define DES_ENCRYPT 1
00008 #define DES_DECRYPT 0
00009 
00013 typedef struct
00014 {
00015 int mode; 
00016 unsigned long sk[32]; 
00017 }
00018 des_context;
00019 
00023 typedef struct
00024 {
00025 int mode; 
00026 unsigned long sk[96]; 
00027 }
00028 des3_context;
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00040 void des_setkey_enc( des_context *ctx, unsigned char key[8] );
00041 
00048 void des_setkey_dec( des_context *ctx, unsigned char key[8] );
00049 
00056 void des3_set2key_enc( des3_context *ctx, unsigned char key[16] );
00057 
00064 void des3_set2key_dec( des3_context *ctx, unsigned char key[16] );
00065 
00072 void des3_set3key_enc( des3_context *ctx, unsigned char key[24] );
00073 
00080 void des3_set3key_dec( des3_context *ctx, unsigned char key[24] );
00081 
00089 void des_crypt_ecb( des_context *ctx,
00090 unsigned char input[8],
00091 unsigned char output[8] );
00092 
00103 void des_crypt_cbc( des_context *ctx,
00104 int mode,
00105 int length,
00106 unsigned char iv[8],
00107 unsigned char *input,
00108 unsigned char *output );
00109 
00117 void des3_crypt_ecb( des3_context *ctx,
00118 unsigned char input[8],
00119 unsigned char output[8] );
00120 
00131 void des3_crypt_cbc( des3_context *ctx,
00132 int mode,
00133 int length,
00134 unsigned char iv[8],
00135 unsigned char *input,
00136 unsigned char *output );
00137 
00138 /*
00139  * \brief Checkup routine
00140  *
00141  * \return 0 if successful, or 1 if the test failed
00142  */
00143 int des_self_test( int verbose );
00144 
00145 #ifdef __cplusplus
00146 }
00147 #endif
00148 
00149 #endif /* des.h */

Generated on Tue Oct 28 17:03:22 2008 for Mobile-C by doxygen 1.5.5

AltStyle によって変換されたページ (->オリジナル) /