This file contains all of the enums and definitions that are used for the CRYS CHACHA APIs, as well as the APIs themselves.
More...
|
enum | CRYS_CHACHA_EncryptMode_t {
CRYS_CHACHA_Encrypt = 0,
CRYS_CHACHA_Decrypt = 1,
CRYS_CHACHA_EncryptNumOfOptions,
CRYS_CHACHA_EncryptModeLast = 0x7FFFFFFF
} |
|
enum | CRYS_CHACHA_NonceSize_t {
CRYS_CHACHA_Nonce64BitSize = 0,
CRYS_CHACHA_Nonce96BitSize = 1,
CRYS_CHACHA_NonceSizeNumOfOptions,
CRYS_CHACHA_NonceSizeLast = 0x7FFFFFFF
} |
|
|
CRYSError_t | CRYS_CHACHA_Init (CRYS_CHACHAUserContext_t *pContextID, CRYS_CHACHA_Nonce_t pNonce, CRYS_CHACHA_NonceSize_t nonceSize, CRYS_CHACHA_Key_t pKey, uint32_t initialCounter, CRYS_CHACHA_EncryptMode_t EncryptDecryptFlag) |
| This function is used to initialize the context for CHACHA operations. More...
|
|
CRYSError_t | CRYS_CHACHA_Block (CRYS_CHACHAUserContext_t *pContextID, uint8_t *pDataIn, uint32_t dataInSize, uint8_t *pDataOut) |
| This function is used to process aligned blocks of CHACHA. The data in size should be a multiple of chacha block size. More...
|
|
CRYSError_t | CRYS_CHACHA_Finish (CRYS_CHACHAUserContext_t *pContextID, uint8_t *pDataIn, uint32_t dataInSize, uint8_t *pDataOut) |
| This function is used to process the remaining data of CHACHA. The data in size should be smaller than chacha block size. More...
|
|
CRYSError_t | CRYS_CHACHA_Free (CRYS_CHACHAUserContext_t *pContextID) |
| This function is used to free the context of CHACHA operations. More...
|
|
CRYSError_t | CRYS_CHACHA (CRYS_CHACHA_Nonce_t pNonce, CRYS_CHACHA_NonceSize_t nonceSize, CRYS_CHACHA_Key_t pKey, uint32_t initialCounter, CRYS_CHACHA_EncryptMode_t encryptDecryptFlag, uint8_t *pDataIn, uint32_t dataInSize, uint8_t *pDataOut) |
| This function is used to perform the CHACHA operation in one integrated process. More...
|
|
This file contains all of the enums and definitions that are used for the CRYS CHACHA APIs, as well as the APIs themselves.
#define CRYS_CHACHA_KEY_MAX_SIZE_IN_WORDS 8 |
The maximum size of the CHACHA KEY in words and bytes.
#define CRYS_CHACHA_NONCE_MAX_SIZE_IN_WORDS 3 |
The max size of the nonce buffer.
typedef uint8_t CRYS_CHACHA_Key_t[(8 *sizeof(uint32_t))] |
Defines the CHACHA key buffer.
typedef uint8_t CRYS_CHACHA_Nonce_t[(3 *sizeof(uint32_t))] |
Defines the Nonce buffer 12 bytes array.
CRYSError_t CRYS_CHACHA |
( |
CRYS_CHACHA_Nonce_t |
pNonce, |
|
|
CRYS_CHACHA_NonceSize_t |
nonceSize, |
|
|
CRYS_CHACHA_Key_t |
pKey, |
|
|
uint32_t |
initialCounter, |
|
|
CRYS_CHACHA_EncryptMode_t |
encryptDecryptFlag, |
|
|
uint8_t * |
pDataIn, |
|
|
uint32_t |
dataInSize, |
|
|
uint8_t * |
pDataOut |
|
) |
| |
This function is used to perform the CHACHA operation in one integrated process.
- Returns
- CRYS_OK on success.
-
A non-zero value on failure as defined crys_chacha_error.h.
- Parameters
-
[in] | pNonce | A buffer containing an nonce. |
[in] | nonceSize | Enumerator defining the nonce size (only 64 and 96 bit are valid). |
[in] | pKey | A pointer to the user's key buffer. |
[in] | initialCounter | An initial counter. |
[in] | encryptDecryptFlag | A flag specifying whether the CHACHA should perform an Encrypt operation or a Decrypt operation. |
[in] | pDataIn | A pointer to the buffer of the input data to the CHACHA. The pointer does not need to be aligned. must not be null. |
[in] | dataInSize | The size of the input data. must not be 0. |
[out] | pDataOut | A pointer to the buffer of the output data from the CHACHA. The pointer does not need to be aligned. must not be null. |
This function is used to process aligned blocks of CHACHA. The data in size should be a multiple of chacha block size.
- Returns
- CRYS_OK on success.
-
A non-zero value on failure as defined crys_chacha_error.h.
- Parameters
-
[in] | pContextID | Pointer to the context buffer. |
[in] | pDataIn | A pointer to the buffer of the input data to the CHACHA. The pointer does not need to be aligned. must not be null. |
[in] | dataInSize | The size of the input data. Must be a multiple of CRYS_CHACHA_BLOCK_SIZE_IN_BYTES bytes and must not be 0. |
[out] | pDataOut | A pointer to the buffer of the output data from the CHACHA. The pointer does not need to be aligned. must not be null. |
This function is used to process the remaining data of CHACHA. The data in size should be smaller than chacha block size.
- Returns
- CRYS_OK on success.
-
A non-zero value on failure as defined crys_chacha_error.h.
- Parameters
-
[in] | pContextID | Pointer to the context buffer. |
[in] | pDataIn | A pointer to the buffer of the input data to the CHACHA. The pointer does not need to be aligned. If dataInSize = 0, input buffer is not required. |
[in] | dataInSize | The size of the input data. zero and non multiple of CRYS_CHACHA_BLOCK_SIZE_IN_BYTES are valid. |
[out] | pDataOut | A pointer to the buffer of the output data from the CHACHA. The pointer does not need to be aligned. If dataInSize = 0, output buffer is not required. |
This function is used to free the context of CHACHA operations.
- Returns
- CRYS_OK on success.
-
A non-zero value on failure as defined crys_chacha_error.h.
- Parameters
-
[in] | pContextID | Pointer to the context buffer. |
This function is used to initialize the context for CHACHA operations.
- Returns
- CRYS_OK on success.
-
A non-zero value on failure as defined crys_chacha_error.h.
- Parameters
-
[in] | pContextID | Pointer to the CHACHA context buffer that is allocated by the user and is used for the CHACHA operation. |
[in] | pNonce | A buffer containing an nonce. |
[in] | nonceSize | Enumerator defining the nonce size (only 64 and 96 bit are valid). |
[in] | pKey | A pointer to the user's key buffer. |
[in] | initialCounter | An initial counter. |
[in] | EncryptDecryptFlag | A flag specifying whether the CHACHA should perform an Encrypt operation or a Decrypt operation. |