Google 致力于为黑人社区推动种族平等。查看具体行动

加密 - 线程堆栈

此模块包含加密功能。

摘要

类型定义符

otCryptoSha256Hash typedef
此结构表示 SHA-256 哈希值。

变量

OT_TOOL_PACKED_END

函数

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
此方法会执行 AES CCM 计算。
otCryptoEcdsaSign(uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
此方法会创建 ECDSA 符号。
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
此函数执行 HMAC 计算。

结构体

otCryptoSha256Hash

此结构表示 SHA-256 哈希值。

类型定义符

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

此结构表示 SHA-256 哈希值。

变量

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

函数

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
)

此方法会执行 AES CCM 计算。

详情
参数
[in] aKey
指向按键的指针。
[in] aTagLength
标记的长度(以字节为单位)。
[in] aNonce
指向 Nonce 的指针。
[in] aNonceLength
随机数的长度(以字节为单位)。
[in] aHeader
指向标头的指针。
[in] aHeaderLength
标头长度(以字节为单位)。
[in,out] aPlainText
指向明文的指针。
[in,out] aCipherText
指向密文的指针。
[in] aLength
明文长度(以字节为单位)。
[in] aEncrypt
true(加密)和 false(解密)。
[out] aTag
指向代码的指针。

otCryptoEcdsaSign

otError otCryptoEcdsaSign(
  uint8_t *aOutput,
  uint16_t *aOutputLength,
  const uint8_t *aInputHash,
  uint16_t aInputHashLength,
  const uint8_t *aPrivateKey,
  uint16_t aPrivateKeyLength
)

此方法会创建 ECDSA 符号。

详情
参数
[out] aOutput
应存储 ECDSA 符号的输出缓冲区。
[in,out] aOutputLength
aOutput 缓冲区的长度。
[in] aInputHash
输入哈希值。
[in] aInputHashLength
aInputHash 缓冲区的长度。
[in] aPrivateKey
PEM 格式的私钥。
[in] aPrivateKeyLength
aPrivateKey 缓冲区的长度。
返回值
OT_ERROR_NONE
已成功创建 ECDSA 符号。
OT_ERROR_NO_BUFS
输出缓冲区太小。
OT_ERROR_INVALID_ARGS
私钥不是有效的 EC 私钥。
OT_ERROR_FAILED
签名时出错。

otCryptoHmacSha256

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

此函数执行 HMAC 计算。

详情
参数
[in] aKey
指向按键的指针。
[in] aBuf
指向输入缓冲区的指针。
[in] aBufLength
aBuf 的长度(以字节为单位)。
[out] aHash
指向 otCryptoSha256Hash 结构的指针,用于输出哈希值。

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

SHA256 哈希值的长度(以字节为单位)。

资源

OpenThread API 参考主题源自源代码,可在 GitHub 上找到。 如需了解详情或为我们的文档做贡献,请参阅资源