TrustCore SDK NanoCrypto API reference  version 7.0
rc4algo.h
Go to the documentation of this file.
1 /*
2  * rc4algo.h
3  *
4  * RC4 Algorithm
5  *
6  * Copyright 2019-2024 DigiCert, Inc. All Rights Reserved.
7  * Proprietary and Confidential Material.
8  *
9  */
10 
20 /*------------------------------------------------------------------*/
21 
22 #ifndef __RC4ALGO_H__
23 #define __RC4ALGO_H__
24 
25 #if defined(__ENABLE_MOCANA_CRYPTO_INTERFACE__)
26 #include "../crypto_interface/crypto_interface_arc4_priv.h"
27 #endif
28 
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32 
33 #ifndef __DISABLE_ARC4_CIPHERS__
34 
49 MOC_EXTERN BulkCtx CreateRC4Ctx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte* keyMaterial, sbyte4 keyLength, sbyte4 encrypt);
50 
63 MOC_EXTERN MSTATUS DeleteRC4Ctx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *ctx);
64 
81 MOC_EXTERN MSTATUS DoRC4(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte* data, sbyte4 dataLength, sbyte4 encrypt, ubyte* iv);
82 
93 MOC_EXTERN MSTATUS CloneRC4Ctx (MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, BulkCtx *ppNewCtx);
94 #endif
95 
96 #ifdef __cplusplus
97 }
98 #endif
99 
100 
101 #endif
MOC_EXTERN MSTATUS DeleteRC4Ctx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx *ctx)
Deletes an RC4 context.
MOC_EXTERN MSTATUS CloneRC4Ctx(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx pCtx, BulkCtx *ppNewCtx)
Clone RC4 context previously created with CreateRC4Ctx.
MOC_EXTERN MSTATUS DoRC4(MOC_SYM(hwAccelDescr hwAccelCtx) BulkCtx ctx, ubyte *data, sbyte4 dataLength, sbyte4 encrypt, ubyte *iv)
Performs the RC4 stream cipher operation to encrypt or decrypt a buffer of data.
MOC_EXTERN BulkCtx CreateRC4Ctx(MOC_SYM(hwAccelDescr hwAccelCtx) ubyte *keyMaterial, sbyte4 keyLength, sbyte4 encrypt)
Creates and initializes a new RC4 context.