Stay organized with collections Save and categorize content based on your preferences.

Crypto - Thread Stack

This module includes cryptographic functions.

Summary

Typedefs

otCryptoSha256Hash typedef

Functions

otCryptoAesCcm(const otCryptoKey *aKey, 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)
void
This method performs AES CCM computation.
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
This function performs HMAC computation.

Structs

otCryptoSha256Hash

This structure represents a SHA-256 hash.

Typedefs

otCryptoSha256Hash

otPlatCryptoSha256Hash otCryptoSha256Hash

Functions

otCryptoAesCcm

void otCryptoAesCcm(
  const otCryptoKey *aKey,
  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.

Details
Parameters
[in] aKey
A pointer to the key.
[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 and false on decrypt.
[out] aTag
A pointer to the tag.

otCryptoHmacSha256

void otCryptoHmacSha256(
  const otCryptoKey *aKey,
  const uint8_t *aBuf,
  uint16_t aBufLength,
  otCryptoSha256Hash *aHash
)

This function performs HMAC computation.

Details
Parameters
[in] aKey
A pointer to the key.
[in] aBuf
A pointer to the input buffer.
[in] aBufLength
The length of aBuf in bytes.
[out] aHash
A pointer to a otCryptoSha256Hash structure to output the hash value.

Resources

OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.