Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Crypto: pila de subprocesos

Este módulo incluye funciones criptográficas.

Resumen

Typedefs

otCryptoSha256Hash typedef
Esta estructura representa un 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
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 signo ECDSA.
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Esta función realiza el cálculo HMAC.

Structs

OtCryptoSha256Hash

Esta estructura representa un hash SHA-256.

Typedefs

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Esta estructura representa un hash SHA-256.

Variables

TS_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

Functions

oCCryptoAesCcm

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 realiza el cálculo AES CCM.

Detalles
Parámetros
[in] aKey
Un puntero para la clave.
[in] aTagLength
Longitud de la etiqueta en bytes.
[in] aNonce
Un puntero al nonce.
[in] aNonceLength
Longitud del nonce en bytes.
[in] aHeader
Un puntero para el encabezado.
[in] aHeaderLength
Longitud del encabezado en bytes.
[in,out] aPlainText
Un puntero para el texto simple.
[in,out] aCipherText
Un puntero para el texto cifrado.
[in] aLength
Longitud de texto sin formato en bytes.
[in] aEncrypt
true en encriptación y false en desencriptación.
[out] aTag
Un puntero para la etiqueta.

ocriptCryptoEcdsaSign

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 signo ECDSA.

Detalles
Parámetros
[out] aOutput
Es un búfer de salida en el que 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 que se muestran
OT_ERROR_NONE
Se creó correctamente el signo ECDSA.
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 de EC válida.
OT_ERROR_FAILED
Se produjo un error durante la firma.

otCryptoHmacSha256

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

Esta función realiza el cálculo HMAC.

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

Macros

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Longitud del hash SHA256 (en bytes).

Recursos

Los temas de referencia de la API de OpenThread se originan en el código fuente, disponible en GitHub. Para obtener más información o colaborar con nuestra documentación, consulta Recursos.