gwenhywfar
4.3.3
|
00001 /*************************************************************************** 00002 $RCSfile$ 00003 ------------------- 00004 cvs : $Id: crypttoken.h 1113 2007-01-10 09:14:16Z martin $ 00005 begin : Wed Mar 16 2005 00006 copyright : (C) 2005 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * Please see toplevel file COPYING for license details * 00011 ***************************************************************************/ 00012 00013 00014 #ifndef GWEN_CRYPT_KEY_SYM_H 00015 #define GWEN_CRYPT_KEY_SYM_H 00016 00017 #include "cryptkey.h" 00018 00019 00020 #ifdef __cplusplus 00021 extern "C" { 00022 #endif 00023 00024 GWENHYWFAR_API 00025 GWEN_CRYPT_KEY *GWEN_Crypt_KeyDes3K_Generate(GWEN_CRYPT_CRYPTMODE mode, 00026 int keySize, 00027 int quality); 00028 00029 GWENHYWFAR_API 00030 GWEN_CRYPT_KEY *GWEN_Crypt_KeyDes3K_fromData(GWEN_CRYPT_CRYPTMODE mode, int keySize, 00031 const uint8_t *kd, uint32_t kl); 00032 00033 GWENHYWFAR_API 00034 GWEN_CRYPT_KEY *GWEN_Crypt_KeyDes3K_fromDb(GWEN_CRYPT_CRYPTMODE mode, 00035 GWEN_DB_NODE *db); 00036 00037 GWENHYWFAR_API 00038 int GWEN_Crypt_KeyDes3K_toDb(const GWEN_CRYPT_KEY *k, GWEN_DB_NODE *db); 00039 00040 GWENHYWFAR_API 00041 int GWEN_Crypt_KeyDes3K_SetKeyData(GWEN_CRYPT_KEY *k, const uint8_t *kd, uint32_t kl); 00042 00043 GWENHYWFAR_API 00044 uint8_t *GWEN_Crypt_KeyDes3K_GetKeyDataPtr(const GWEN_CRYPT_KEY *k); 00045 00046 GWENHYWFAR_API 00047 uint32_t GWEN_Crypt_KeyDes3K_GetKeyDataLen(const GWEN_CRYPT_KEY *k); 00048 00049 00050 GWENHYWFAR_API 00051 int GWEN_Crypt_KeyDes3K_SetIV(GWEN_CRYPT_KEY *k, 00052 const uint8_t *kd, 00053 uint32_t kl); 00054 00055 00056 00057 GWENHYWFAR_API 00058 GWEN_CRYPT_KEY *GWEN_Crypt_KeyBlowFish_Generate(GWEN_CRYPT_CRYPTMODE mode, 00059 int keySize, 00060 int quality); 00061 00062 GWENHYWFAR_API 00063 GWEN_CRYPT_KEY *GWEN_Crypt_KeyBlowFish_fromData(GWEN_CRYPT_CRYPTMODE mode, int keySize, 00064 const uint8_t *kd, uint32_t kl); 00065 00066 GWENHYWFAR_API 00067 GWEN_CRYPT_KEY *GWEN_Crypt_KeyBlowFish_fromDb(GWEN_CRYPT_CRYPTMODE mode, 00068 GWEN_DB_NODE *db); 00069 00070 GWENHYWFAR_API 00071 int GWEN_Crypt_KeyBlowFish_toDb(const GWEN_CRYPT_KEY *k, GWEN_DB_NODE *db); 00072 00073 GWENHYWFAR_API 00074 int GWEN_Crypt_KeyBlowFish_SetKeyData(GWEN_CRYPT_KEY *k, const uint8_t *kd, uint32_t kl); 00075 00076 GWENHYWFAR_API 00077 uint8_t *GWEN_Crypt_KeyBlowFish_GetKeyDataPtr(const GWEN_CRYPT_KEY *k); 00078 00079 GWENHYWFAR_API 00080 uint32_t GWEN_Crypt_KeyBlowFish_GetKeyDataLen(const GWEN_CRYPT_KEY *k); 00081 00082 00083 00084 GWENHYWFAR_API 00085 GWEN_CRYPT_KEY *GWEN_Crypt_KeyAes128_Generate(GWEN_CRYPT_CRYPTMODE mode, 00086 int keySize, 00087 int quality); 00088 00089 GWENHYWFAR_API 00090 GWEN_CRYPT_KEY *GWEN_Crypt_KeyAes128_fromData(GWEN_CRYPT_CRYPTMODE mode, int keySize, 00091 const uint8_t *kd, uint32_t kl); 00092 00093 GWENHYWFAR_API 00094 GWEN_CRYPT_KEY *GWEN_Crypt_KeyAes128_fromDb(GWEN_CRYPT_CRYPTMODE mode, 00095 GWEN_DB_NODE *db); 00096 00097 GWENHYWFAR_API 00098 int GWEN_Crypt_KeyAes128_toDb(const GWEN_CRYPT_KEY *k, GWEN_DB_NODE *db); 00099 00100 GWENHYWFAR_API 00101 int GWEN_Crypt_KeyAes128_SetKeyData(GWEN_CRYPT_KEY *k, const uint8_t *kd, uint32_t kl); 00102 00103 GWENHYWFAR_API 00104 uint8_t *GWEN_Crypt_KeyAes128_GetKeyDataPtr(const GWEN_CRYPT_KEY *k); 00105 00106 GWENHYWFAR_API 00107 uint32_t GWEN_Crypt_KeyAes128_GetKeyDataLen(const GWEN_CRYPT_KEY *k); 00108 00109 00110 GWENHYWFAR_API 00111 int GWEN_Crypt_KeyAes128_SetIV(GWEN_CRYPT_KEY *k, 00112 const uint8_t *kd, 00113 uint32_t kl); 00114 00115 00116 00124 GWENHYWFAR_API 00125 GWEN_CRYPT_KEY *GWEN_Crypt_KeySym_dup(const GWEN_CRYPT_KEY *k); 00126 00127 00128 GWENHYWFAR_API 00129 GWEN_CRYPT_KEY *GWEN_Crypt_KeySym_fromDb(GWEN_CRYPT_CRYPTMODE mode, GWEN_DB_NODE *db); 00130 00131 GWENHYWFAR_API 00132 int GWEN_Crypt_KeySym_toDb(const GWEN_CRYPT_KEY *k, GWEN_DB_NODE *db); 00133 00134 00135 #ifdef __cplusplus 00136 } 00137 #endif 00138 00139 00140 #endif 00141