23 #ifndef __CRYPTO_HEADER__ 24 #define __CRYPTO_HEADER__ 30 #define CERT_MAXDIGESTSIZE (64) 31 #define MAX_IV_LENGTH (16) 32 #define MAX_ENC_KEY_LENGTH (32) 38 typedef BulkCtx (*CreateBulkCtxFunc)(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte* keyMaterial, sbyte4 keyLength, sbyte4 encrypt);
39 typedef MSTATUS (*DeleteBulkCtxFunc)(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *ctx);
40 typedef MSTATUS (*CipherFunc) (MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte* data, sbyte4 dataLength, sbyte4 encrypt, ubyte* iv);
41 typedef MSTATUS (*CloneFunc) (MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, BulkCtx *ppNewCtx);
51 CreateBulkCtxFunc createFunc;
52 DeleteBulkCtxFunc deleteFunc;
53 CipherFunc cipherFunc;
58 #ifndef __DISABLE_3DES_CIPHERS__ 62 #ifndef __DISABLE_3DES_CIPHERS__ 66 #ifdef __ENABLE_DES_CIPHER__ 70 #ifndef __DISABLE_ARC4_CIPHERS__ 74 #ifdef __ENABLE_ARC2_CIPHERS__ 79 #ifdef __ENABLE_BLOWFISH_CIPHERS__ 83 #ifndef __DISABLE_AES_CIPHERS__ 88 #ifdef __ENABLE_NIL_CIPHER__ 115 ubyte* keyMaterial, sbyte4 keyLength,
116 ubyte* iv, ubyte* data, sbyte4 dataLength, sbyte4 encrypt);
119 typedef MSTATUS (*BulkCtxAllocFunc) (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pCtx);
120 typedef MSTATUS (*BulkCtxFreeFunc) (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx *pCtx);
121 typedef MSTATUS (*BulkCtxInitFunc) (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx ctx);
122 typedef MSTATUS (*BulkCtxUpdateFunc)(MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx ctx,
const ubyte *pData, ubyte4 datalength);
123 typedef MSTATUS (*BulkCtxFinalFunc) (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte *pResult);
124 typedef MSTATUS (*BulkCtxFinalXOFFunc) (MOC_HASH(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte *pResult, ubyte4 resultLen);
125 typedef MSTATUS (*BulkCtxDigestFunc) (MOC_HASH(hwAccelDescr hwAccelCtx) ubyte *pData, ubyte4 dataLen, ubyte *pResult);
126 typedef MSTATUS (*BulkCtxDigestXOFFunc) (MOC_HASH(hwAccelDescr hwAccelCtx) ubyte *pData, ubyte4 dataLen, ubyte *pResult, ubyte4 resultLen);
137 BulkCtxAllocFunc allocFunc;
138 BulkCtxFreeFunc freeFunc;
139 BulkCtxInitFunc initFunc;
140 BulkCtxUpdateFunc updateFunc;
141 BulkCtxFinalFunc finalFunc;
142 BulkCtxFinalXOFFunc finalXOFFunc;
143 BulkCtxDigestFunc digestFunc;
144 BulkCtxDigestXOFFunc digestXOFFunc;
158 md2withRSAEncryption = 2,
159 md4withRSAEncryption = 3,
160 md5withRSAEncryption = 4,
161 sha1withRSAEncryption = 5,
162 sha256withRSAEncryption = 11,
163 sha384withRSAEncryption = 12,
164 sha512withRSAEncryption = 13,
165 sha224withRSAEncryption = 14,
188 sha1_with_no_sig = 31
247 typedef BulkCtx (*CreateAeadCtxFunc)(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte* keyMaterial, sbyte4 keyLength, sbyte4 encrypt);
248 typedef MSTATUS (*DeleteAeadCtxFunc)(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *ctx);
249 typedef MSTATUS (*AeadCipherFunc) (MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte* nonce, ubyte4 nlen, ubyte* adata, ubyte4 alen, ubyte* data, ubyte4 dataLength, ubyte4 verifyLen, sbyte4 encrypt);
250 typedef MSTATUS (*AeadCloneFunc) ( MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, BulkCtx *ppNewCtx);
252 typedef struct AeadAlgo
254 ubyte4 implicitNonceSize;
255 ubyte4 explicitNonceSize;
257 CreateAeadCtxFunc createFunc;
258 DeleteAeadCtxFunc deleteFunc;
259 AeadCipherFunc cipherFunc;
260 AeadCloneFunc cloneFunc;
Structure to hold function pointers to hashing or extenable output methods.
Definition: crypto.h:133
MOC_EXTERN MSTATUS CRYPTO_getECCHashAlgo(ubyte eccAlgoId, BulkHashAlgo **ppBulkHashAlgo)
Gets a hash suite of function pointers, appropriate for ECC, given a hash identifier.
MOC_EXTERN MSTATUS CRYPTO_Process(MOC_SYM(hwAccelDescr hwAccelCtx) const BulkEncryptionAlgo *pAlgo, ubyte *keyMaterial, sbyte4 keyLength, ubyte *iv, ubyte *data, sbyte4 dataLength, sbyte4 encrypt)
Performs a symmetric key cipher algorithm on a buffer of data.
MOC_EXTERN MSTATUS CRYPTO_getRSAHashAlgo(ubyte rsaAlgoId, const BulkHashAlgo **ppBulkHashAlgo)
Gets a hash suite of function pointers, appropriate for RSA, given a hash identifier.
MOC_EXTERN MSTATUS CRYPTO_computeBufferHash(MOC_HASH(hwAccelDescr hwAccelCtx) const ubyte *buffer, ubyte4 bytesToHash, ubyte hash[], sbyte4 *hashSize, ubyte4 rsaAlgoId)
Computes a hash of a buffer of data given a hash identifier.
Structure to hold function pointers to symmetric key cipher methods.
Definition: crypto.h:48