Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Cripto

Este módulo incluye funciones criptográficas.

Resumen

Typedefs

otCryptoSha256Hash typedef
Esta estructura representa un hash SHA-256.

Variables

OT_TOOL_PACKED_END

Funciones

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)
void
Este método realiza el 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 crea el letrero ECDSA.
otCryptoHmacSha256 (const uint8_t *aKey, uint16_t aKeyLength, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Esta función realiza el cálculo HMAC.

Estructuras

otCryptoSha256Hash

Esta estructura representa un hash SHA-256.

Typedefs

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Esta estructura representa un hash SHA-256.

Variables

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

Funciones

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
)

Este método realiza el cálculo AES CCM.

Detalles
Parámetros
[in] aKey
Un puntero a la clave.
[in] aKeyLength
Longitud de la clave en bytes.
[in] aTagLength
Longitud de la etiqueta en bytes.
[in] aNonce
Un puntero al nonce.
[in] aNonceLength
Longitud de nonce en bytes.
[in] aHeader
Un puntero al encabezado.
[in] aHeaderLength
Longitud del encabezado en bytes.
[in,out] aPlainText
Un puntero al texto sin formato.
[in,out] aCipherText
Un puntero al texto cifrado.
[in] aLength
Longitud del texto sin formato en bytes.
[in] aEncrypt
true al cifrar y false al descifrar.
[out] aTag
Un puntero a la etiqueta.

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 crea el letrero ECDSA.

Detalles
Parámetros
[out] aOutput
Un búfer de salida donde se debe almacenar el signo ECDSA.
[in,out] aOutputLength
La longitud del búfer aOutput .
[in] aInputHash
Un hash de entrada.
[in] aInputHashLength
La longitud del búfer aInputHash .
[in] aPrivateKey
Una clave privada en formato PEM.
[in] aPrivateKeyLength
La longitud del búfer aPrivateKey .
Valores devueltos
OT_ERROR_NONE
El letrero ECDSA se ha creado correctamente.
OT_ERROR_NO_BUFS
El búfer de salida es demasiado pequeño.
OT_ERROR_INVALID_ARGS
La clave privada no es una clave privada EC válida.
OT_ERROR_FAILED
Error durante la firma.

otCryptoHmacSha256

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

Esta función realiza el cálculo HMAC.

Detalles
Parámetros
[in] aKey
Un puntero a la clave.
[in] aKeyLength
La longitud de la clave en bytes.
[in] aBuf
Un puntero al búfer de entrada.
[in] aBufLength
La longitud de aBuf en bytes.
[out] aHash
Un puntero a una estructura otCryptoSha256Hash para generar el valor hash.

Macros

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Longitud del hash SHA256 (en bytes).