TrustCore SDK Crypto Interface API reference  version 2.0
crypto_interface_des.h
Go to the documentation of this file.
1 /*
2  * crypto_interface_des.h
3  *
4  * Cryptographic Interface header file for declaring DES functions
5  * for the Crypto Interface.
6  *
7  * Copyright 2019-2024 DigiCert, Inc. All Rights Reserved.
8  * Proprietary and Confidential Material.
9  *
10  */
11 
18 #ifndef __CRYPTO_INTERFACE_DES_HEADER__
19 #define __CRYPTO_INTERFACE_DES_HEADER__
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
38 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DES_initKey(DES_CTX *pCtx, const ubyte *pKey, sbyte4 keyLen);
39 
58 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DES_encipher(DES_CTX *pCtx, ubyte *pSrc, ubyte *pDest, ubyte4 numBytes);
59 
78 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DES_decipher(DES_CTX *pCtx, ubyte *pSrc, ubyte *pDest, ubyte4 numBytes);
79 
93 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DES_clearKey(DES_CTX *pCtx);
94 
109 MOC_EXTERN BulkCtx CRYPTO_INTERFACE_CreateDESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte *pKeyMaterial, sbyte4 keyLen, sbyte4 encrypt);
110 
123 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DeleteDESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *pCtx);
124 
135 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_CloneDESCtx (
136  MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx,
137  BulkCtx *ppNewCtx
138  );
139 
163 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DoDES(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, ubyte *pData, sbyte4 dataLen, sbyte4 encrypt, ubyte *pIv);
164 
188 MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DoDESEx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, ubyte *pData, sbyte4 dataLen, sbyte4 encrypt, ubyte *pIv);
189 
190 #ifdef __cplusplus
191 }
192 #endif
193 
194 #endif /* __CRYPTO_INTERFACE_DES_HEADER__ */
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DoDES(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, ubyte *pData, sbyte4 dataLen, sbyte4 encrypt, ubyte *pIv)
Encrypt or decrypt data using the provided DES context in CBC mode.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DeleteDESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *pCtx)
Deletes a DES-CBC context previously created with CRYPTO_INTERFACE_CreateDESCtx.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DES_encipher(DES_CTX *pCtx, ubyte *pSrc, ubyte *pDest, ubyte4 numBytes)
Encrypts data using the provided DES context.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DES_decipher(DES_CTX *pCtx, ubyte *pSrc, ubyte *pDest, ubyte4 numBytes)
Decrypts data using the provided DES context.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DoDESEx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, ubyte *pData, sbyte4 dataLen, sbyte4 encrypt, ubyte *pIv)
Encrypt or decrypt data using the provided DES context in CBC mode.
MOC_EXTERN BulkCtx CRYPTO_INTERFACE_CreateDESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte *pKeyMaterial, sbyte4 keyLen, sbyte4 encrypt)
Creates a new DES-CBC context.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DES_initKey(DES_CTX *pCtx, const ubyte *pKey, sbyte4 keyLen)
Initialize a raw DES-ECB object for operation.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_DES_clearKey(DES_CTX *pCtx)
Delete a DES-ECB context previously initialized with CRYPTO_INTERFACE_DES_initKey.
MOC_EXTERN MSTATUS CRYPTO_INTERFACE_CloneDESCtx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, BulkCtx *ppNewCtx)
Copy a DES context previously created with CRYPTO_INTERFACE_CreateDESCtx.