This module includes cryptographic functions.
Macros | |
#define | OT_CRYPTO_HMAC_SHA_HASH_SIZE 32 |
Length of HMAC SHA (in bytes). |
Functions | |
void | otCryptoHmacSha256 (const uint8_t *aKey, uint16_t aKeyLength, const uint8_t *aBuf, uint16_t aBufLength, uint8_t *aHash) |
This function performs HMAC computation. | |
void | otCryptoAesCcm (const uint8_t *aKey, uint16_t aKeyLength, uint8_t aTagLength, const void *aNonce, uint8_t aNonceLength, const void *aHeader, uint32_t aHeaderLength, void *aPlainText, void *aCipherText, uint32_t aLength, bool aEncrypt, void *aTag) |
This method performs AES CCM computation. | |
otError | otCryptoEcdsaSign (uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength) |
This method creates ECDSA sign. |
Detailed Description
This module includes cryptographic functions.
Function Documentation
◆ otCryptoAesCcm()
void otCryptoAesCcm | ( | const uint8_t * | aKey, |
uint16_t | aKeyLength, |
||
uint8_t | aTagLength, |
||
const void * | aNonce, |
||
uint8_t | aNonceLength, |
||
const void * | aHeader, |
||
uint32_t | aHeaderLength, |
||
void * | aPlainText, |
||
void * | aCipherText, |
||
uint32_t | aLength, |
||
bool | aEncrypt, |
||
void * | aTag |
||
) |
This method performs AES CCM computation.
- Parameters
-
[in] aKey
A pointer to the key. [in] aKeyLength
Length of the key in bytes. [in] aTagLength
Length of tag in bytes. [in] aNonce
A pointer to the nonce. [in] aNonceLength
Length of nonce in bytes. [in] aHeader
A pointer to the header. [in] aHeaderLength
Length of header in bytes. [in,out] aPlainText
A pointer to the plaintext. [in,out] aCipherText
A pointer to the ciphertext. [in] aLength
Plaintext length in bytes. [in] aEncrypt
true
on encrypt andfalse
on decrypt.[out] aTag
A pointer to the tag.
◆ otCryptoEcdsaSign()
otError otCryptoEcdsaSign | ( | uint8_t * | aOutput, |
uint16_t * | aOutputLength, |
||
const uint8_t * | aInputHash, |
||
uint16_t | aInputHashLength, |
||
const uint8_t * | aPrivateKey, |
||
uint16_t | aPrivateKeyLength |
||
) |
This method creates ECDSA sign.
- Parameters
-
[out] aOutput
An output buffer where ECDSA sign should be stored. [in,out] aOutputLength
The length of the aOutput
buffer.[in] aInputHash
An input hash. [in] aInputHashLength
The length of the aClaims
buffer.[in] aPrivateKey
A private key in PEM format. [in] aPrivateKeyLength
The length of the aPrivateKey
buffer.
- Return values
-
OT_ERROR_NONE
ECDSA sign has been created successfully. OT_ERROR_NO_BUFS
Output buffer is too small. OT_ERROR_INVALID_ARGS
Private key is not valid EC Private Key. OT_ERROR_FAILED
Error during signing.
◆ otCryptoHmacSha256()
void otCryptoHmacSha256 | ( | const uint8_t * | aKey, |
uint16_t | aKeyLength, |
||
const uint8_t * | aBuf, |
||
uint16_t | aBufLength, |
||
uint8_t * | aHash |
||
) |
This function performs HMAC computation.
- Parameters
-
[in] aKey
A pointer to the key. [in] aKeyLength
The key length in bytes. [in] aBuf
A pointer to the input buffer. [in] aBufLength
The length of aBuf
in bytes.[out] aHash
A pointer to the output hash buffer.