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

Criptográfico

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

Resumo

Typedefs

otCryptoSha256Hash typedef
Esta estrutura representa um hash SHA-256.

Variáveis

OT_TOOL_PACKED_END

Funções

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
Este método executa o cálculo AES CCM.
otCryptoEcdsaSign (uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
Este método cria o sinal ECDSA.
otCryptoHmacSha256 (const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Esta função realiza cálculos HMAC.

Structs

otCryptoSha256Hash

Esta estrutura representa um hash SHA-256.

Typedefs

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Esta estrutura representa um hash SHA-256.

Variáveis

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

Funções

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
)

Este método executa o cálculo AES CCM.

Detalhes
Parâmetros
[in] aKey
Um ponteiro para a chave.
[in] aTagLength
Comprimento da tag em bytes.
[in] aNonce
Um ponteiro para o nonce.
[in] aNonceLength
Comprimento do nonce em bytes.
[in] aHeader
Um ponteiro para o cabeçalho.
[in] aHeaderLength
Comprimento do cabeçalho em bytes.
[in,out] aPlainText
Um ponteiro para o texto simples.
[in,out] aCipherText
Um ponteiro para o texto cifrado.
[in] aLength
Comprimento do texto simples em bytes.
[in] aEncrypt
true sobre criptografar e false em descriptografar.
[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
)

Este método cria o sinal ECDSA.

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

otCryptoHmacSha256

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

Esta função realiza cálculos 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 apontador para um otCryptoSha256Hash estrutura à saída o valor de hash.

Macros

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Comprimento do hash SHA256 (em bytes).