Cripto - Thread Stack

Questo modulo include funzioni crittografiche.

Riepilogo

Typedef

otCryptoSha256Hash typedef
Questa struttura rappresenta un hash SHA-256.

Variabili

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
Questo metodo esegue il calcolo CCM AES.
otCryptoEcdsaSign(uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
Questo metodo crea il simbolo ECDSA.
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Questa funzione esegue il calcolo HMAC.

Punti ristoro

otCryptoSha256Hash

Questa struttura rappresenta un hash SHA-256.

Typedef

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Questa struttura rappresenta un hash SHA-256.

Variabili

OGGER_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
)

Questo metodo esegue il calcolo CCM AES.

Dettagli
Parametri
[in] aKey
Un puntatore sulla chiave.
[in] aTagLength
Lunghezza del tag in byte.
[in] aNonce
Un puntatore al nonce.
[in] aNonceLength
Lunghezza di valori nonce in byte.
[in] aHeader
Un puntatore all'intestazione.
[in] aHeaderLength
Lunghezza dell'intestazione in byte.
[in,out] aPlainText
Un puntatore al testo non crittografato.
[in,out] aCipherText
Un puntatore al testo crittografato.
[in] aLength
Lunghezza del testo non crittografato in byte.
[in] aEncrypt
true per la crittografia e false per la decriptazione.
[out] aTag
Un puntatore al tag.

otCryptoEcdsaSign

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

Questo metodo crea il simbolo ECDSA.

Dettagli
Parametri
[out] aOutput
Un buffer di output in cui deve essere memorizzato il segno ECDSA.
[in,out] aOutputLength
La lunghezza del buffer aOutput.
[in] aInputHash
Un hash di input.
[in] aInputHashLength
La lunghezza del buffer aInputHash.
[in] aPrivateKey
Una chiave privata in formato PEM.
[in] aPrivateKeyLength
La lunghezza del buffer aPrivateKey.
Valori restituiti
OT_ERROR_NONE
Il simbolo ECDSA è stato creato.
OT_ERROR_NO_BUFS
Il buffer di output è troppo piccolo.
OT_ERROR_INVALID_ARGS
La chiave privata non è una chiave privata EC valida.
OT_ERROR_FAILED
Errore durante la firma.

otCryptoHmacSha256

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

Questa funzione esegue il calcolo HMAC.

Dettagli
Parametri
[in] aKey
Un puntatore sulla chiave.
[in] aBuf
Un puntatore al buffer di input.
[in] aBufLength
La lunghezza di aBuf in byte.
[out] aHash
Un puntatore a una struttura otCryptoSha256Hash per generare il valore hash.

Macro

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Lunghezza dell'hash SHA256 (in byte).

Risorse

Gli argomenti di riferimento dell'API OpenThread provengono dal codice sorgente, disponibile su GitHub. Per ulteriori informazioni, o per contribuire alla nostra documentazione, consulta la pagina Risorse.