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.
|