O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Crypto - Stack Thread

Este módulo inclui funções criptográficas.

Resumo

Typedefs

otCryptoSha256Hash typedef
Essa estrutura representa um hash SHA-256.

Variables

OT_TOOL_PACKED_END

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
Esse método executa a computação do AES CCM.
otCryptoEcdsaSign(uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
Esse método cria um sinal ECDSA.
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Essa função executa a computação HMAC.

Estruturas

otCryptoSha256Hash (em inglês)

Essa estrutura representa um hash SHA-256.

Typedefs

OtCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Essa estrutura representa um hash SHA-256.

Variables

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

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
)

Esse método executa a computação do AES CCM.

Detalhes
Parâmetros
[in] aKey
Um ponteiro para a chave.
[in] aTagLength
Tamanho da tag em bytes.
[in] aNonce
Um ponteiro para o valor de uso único.
[in] aNonceLength
Tamanho do valor de uso único em bytes.
[in] aHeader
Um ponteiro para o cabeçalho.
[in] aHeaderLength
Tamanho do cabeçalho em bytes.
[in,out] aPlainText
Um ponteiro para o texto simples.
[in,out] aCipherText
Um ponteiro para o texto criptografado.
[in] aLength
Tamanho do texto simples em bytes.
[in] aEncrypt
true na criptografia e false na descriptografia.
[out] aTag
Um ponteiro para a tag.

OtCryptoEcdsaSign

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

Esse método cria um sinal ECDSA.

Detalhes
Parâmetros
[out] aOutput
Um buffer de saída em que o sinal ECDSA precisa ser armazenado.
[in,out] aOutputLength
O comprimento do buffer aOutput.
[in] aInputHash
Um hash de entrada.
[in] aInputHashLength
O comprimento do buffer aInputHash.
[in] aPrivateKey
Uma chave privada no formato PEM.
[in] aPrivateKeyLength
O comprimento do buffer aPrivateKey.
Valores de retorno
OT_ERROR_NONE
O sinal ECDSA foi criado.
OT_ERROR_NO_BUFS
O buffer de saída é muito pequeno.
OT_ERROR_INVALID_ARGS
A chave privada não é válida.
OT_ERROR_FAILED
Erro durante a assinatura.

OtCryptoHmacSha256

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

Essa função executa a computação HMAC.

Detalhes
Parâmetros
[in] aKey
Um ponteiro para a chave.
[in] aBuf
Um ponteiro para o buffer de entrada.
[in] aBufLength
O comprimento de aBuf em bytes.
[out] aHash
Um ponteiro para uma estrutura otCryptoSha256Hash para gerar o valor de hash.

Macros

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Comprimento do hash SHA256 (em bytes).

Recursos

Os tópicos de referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para saber mais ou contribuir com nossa documentação, consulte Recursos.