Google is committed to advancing racial equity for Black communities. See how.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Crypto

Questo modulo include funzioni crittografiche.

Sommario

Typedef

otCryptoSha256Hash typedef
Questa struttura rappresenta un hash SHA-256.

Variabili

OT_TOOL_PACKED_END

Funzioni

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
Questo metodo esegue il calcolo AES CCM.
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 segno ECDSA.
otCryptoHmacSha256 (const uint8_t *aKey, uint16_t aKeyLength, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Questa funzione esegue il calcolo HMAC.

Structs

otCryptoSha256Hash

Questa struttura rappresenta un hash SHA-256.

Typedef

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Questa struttura rappresenta un hash SHA-256.

Variabili

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

Funzioni

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
)

Questo metodo esegue il calcolo AES CCM.

Dettagli
Parametri
[in] aKey
Un puntatore alla chiave.
[in] aKeyLength
Lunghezza della chiave in byte.
[in] aTagLength
Lunghezza del tag in byte.
[in] aNonce
Un puntatore al nonce.
[in] aNonceLength
Lunghezza del nonce in byte.
[in] aHeader
Un puntatore all'intestazione.
[in] aHeaderLength
Lunghezza dell'intestazione in byte.
[in,out] aPlainText
Un puntatore al testo in chiaro.
[in,out] aCipherText
Un puntatore al testo cifrato.
[in] aLength
Lunghezza del testo in chiaro in byte.
[in] aEncrypt
true sulla crittografia e false sulla decrittografia.
[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 segno 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 aClaims .
[in] aPrivateKey
Una chiave privata in formato PEM.
[in] aPrivateKeyLength
La lunghezza del buffer aPrivateKey .
Valori restituiti
OT_ERROR_NONE
Il segno ECDSA è stato creato correttamente.
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 uint8_t *aKey,
  uint16_t aKeyLength,
  const uint8_t *aBuf,
  uint16_t aBufLength,
  otCryptoSha256Hash *aHash
)

Questa funzione esegue il calcolo HMAC.

Dettagli
Parametri
[in] aKey
Un puntatore alla chiave.
[in] aKeyLength
La lunghezza della chiave in byte.
[in] aBuf
Un puntatore al buffer di input.
[in] aBufLength
La lunghezza di aBuf in byte.
[out] aHash
Puntatore a una struttura otCryptoSha256Hash per l'output del valore hash.

Macro

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Lunghezza dell'hash SHA256 (in byte).