Crypto - Pile de fils de discussion

Ce module inclut des fonctions de chiffrement.

Résumé

Typedefs

otCryptoSha256Hash Typedef
Cette structure représente un hachage 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
Cette méthode effectue des calculs AES CCM.
otCryptoEcdsaSign(uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
Cette méthode crée le signe ECDSA.
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Cette fonction effectue des calculs HMAC.

Structure

otCryptoSha256Hash

Cette structure représente un hachage SHA-256.

Typedefs

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Cette structure représente un hachage SHA-256.

Variables

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

Cette méthode effectue des calculs AES CCM.

Détails
Paramètres
[in] aKey
Pointeur vers la clé
[in] aTagLength
Longueur du tag en octets.
[in] aNonce
Un pointeur vers le nonce.
[in] aNonceLength
Longueur du nonce en octets.
[in] aHeader
Pointeur vers l'en-tête.
[in] aHeaderLength
Longueur de l'en-tête en octets.
[in,out] aPlainText
Pointeur vers le texte brut.
[in,out] aCipherText
Pointeur vers le texte chiffré
[in] aLength
Longueur du texte brut en octets.
[in] aEncrypt
true lors du chiffrement et false lors du déchiffrement.
[out] aTag
Pointeur vers le tag

otCryptoEcdsaSign

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

Cette méthode crée le signe ECDSA.

Détails
Paramètres
[out] aOutput
Tampon de sortie dans lequel le signe ECDSA doit être stocké.
[in,out] aOutputLength
Longueur du tampon aOutput.
[in] aInputHash
Hachage d'entrée
[in] aInputHashLength
Longueur du tampon aInputHash.
[in] aPrivateKey
Clé privée au format PEM.
[in] aPrivateKeyLength
Longueur du tampon aPrivateKey.
Valeurs renvoyées
OT_ERROR_NONE
Le signe ECDSA a bien été créé.
OT_ERROR_NO_BUFS
Le tampon de sortie est trop petit.
OT_ERROR_INVALID_ARGS
La clé privée n'est pas une clé privée EC valide.
OT_ERROR_FAILED
Erreur lors de la signature.

otCryptoHmacSha256

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

Cette fonction effectue des calculs HMAC.

Détails
Paramètres
[in] aKey
Pointeur vers la clé
[in] aBuf
Pointeur vers le tampon d'entrée.
[in] aBufLength
Longueur de aBuf en octets.
[out] aHash
Pointeur vers une structure otCryptoSha256Hash pour générer la valeur de hachage.

Macros

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Longueur du hachage SHA256 (en octets).

Resources

Les sujets de référence de l'API OpenThread proviennent du code source, disponible sur GitHub. Pour en savoir plus ou pour contribuer à notre documentation, consultez la page Ressources.