Krypto – Thread-Stack

Dieses Modul enthält kryptografische Funktionen.

Zusammenfassung

Typdefekt

otCryptoSha256Hash typedef
Diese Struktur entspricht einem SHA-256-Hash.

Variablen

OT_TOOL_PACKED_END

Funktionen

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
Diese Methode führt eine AES-CCM-Berechnung durch.
otCryptoEcdsaSign(uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
Mit dieser Methode wird ein ECDSA-Zeichen erstellt.
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Diese Funktion führt eine HMAC-Berechnung durch.

Bauwerke

otCryptoSha256Hash

Diese Struktur entspricht einem SHA-256-Hash.

Typdefekt

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Diese Struktur entspricht einem SHA-256-Hash.

Variablen

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

Funktionen

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
)

Diese Methode führt eine AES-CCM-Berechnung durch.

Details
Parameter
[in] aKey
Ein Zeiger auf den Schlüssel.
[in] aTagLength
Länge des Tags in Byte
[in] aNonce
Ein Zeiger auf die Nonce.
[in] aNonceLength
Länge der Nonce in Byte
[in] aHeader
Ein Zeiger auf die Kopfzeile.
[in] aHeaderLength
Länge des Headers in Byte.
[in,out] aPlainText
Ein Zeiger auf den Klartext.
[in,out] aCipherText
Ein Zeiger auf den Geheimtext.
[in] aLength
Länge des Klartexts in Byte.
[in] aEncrypt
true für Verschlüsselung und false für Entschlüsselung.
[out] aTag
Ein Zeiger auf das Tag.

otCryptoEcdsaSign

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

Mit dieser Methode wird ein ECDSA-Zeichen erstellt.

Details
Parameter
[out] aOutput
Ein Ausgabepuffer, in dem das ECDSA-Zeichen gespeichert werden soll.
[in,out] aOutputLength
Die Länge des aOutput-Puffers.
[in] aInputHash
Ein Eingabe-Hash.
[in] aInputHashLength
Die Länge des aInputHash-Puffers.
[in] aPrivateKey
Ein privater Schlüssel im PEM-Format.
[in] aPrivateKeyLength
Die Länge des aPrivateKey-Puffers.
Rückgabewerte
OT_ERROR_NONE
Das ECDSA-Zeichen wurde erstellt.
OT_ERROR_NO_BUFS
Der Ausgabepuffer ist zu klein.
OT_ERROR_INVALID_ARGS
Der private Schlüssel ist kein gültiger privater EC-Schlüssel.
OT_ERROR_FAILED
Fehler beim Signieren.

otCryptoHmacSha256

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

Diese Funktion führt eine HMAC-Berechnung durch.

Details
Parameter
[in] aKey
Ein Zeiger auf den Schlüssel.
[in] aBuf
Ein Zeiger auf den Eingabepuffer.
[in] aBufLength
Die Länge von aBuf in Byte.
[out] aHash
Ein Zeiger auf eine otCryptoSha256Hash-Struktur zur Ausgabe des Hash-Werts.

Makros

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Länge von SHA256-Hash (in Byte).

Ressourcen

Die OpenThread API-Referenzthemen stammen aus dem Quellcode, der auf GitHub verfügbar ist. Weitere Informationen und einen Beitrag zu unserer Dokumentation finden Sie unter Ressourcen.