Crypto – stos wątków

Ten moduł zawiera funkcje kryptograficzne.

Podsumowanie

Typedefs

otCryptoSha256Hash typedef
Ta struktura reprezentuje identyfikator SHA-256.

Zmienne

OT_TOOL_PACKED_END

Funkcje

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
Ta metoda wykonuje obliczenia AES CCM.
otCryptoEcdsaSign(uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
Ta metoda tworzy znak ECDSA.
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Ta funkcja wykonuje obliczenia HMAC.

Strugi

otCryptoSha256Hash

Ta struktura reprezentuje identyfikator SHA-256.

Typedefs

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Ta struktura reprezentuje identyfikator SHA-256.

Zmienne

DO_NARZOLDZIA_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

Funkcje

cryptoAesCcm

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
)

Ta metoda wykonuje obliczenia AES CCM.

Szczegóły
Parametry
[in] aKey
Wskaźnik klucza.
[in] aTagLength
Długość tagu w bajtach.
[in] aNonce
Wskaźnik do liczby jednorazowej.
[in] aNonceLength
Długość liczby jednorazowej w bajtach.
[in] aHeader
Najedź kursorem na nagłówek.
[in] aHeaderLength
Długość nagłówka w bajtach.
[in,out] aPlainText
Wskaźnik do zwykłego tekstu.
[in,out] aCipherText
Wskaźnik do szyfrowania.
[in] aLength
Długość zwykłego tekstu w bajtach.
[in] aEncrypt
true w przypadku szyfrowania i false w przypadku odszyfrowywania.
[out] aTag
Wskaźnik tagu.

otCryptoEcdsaSign

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

Ta metoda tworzy znak ECDSA.

Szczegóły
Parametry
[out] aOutput
Bufor wyjściowy, w którym powinien być przechowywany znak ECDSA.
[in,out] aOutputLength
Długość bufora aOutput.
[in] aInputHash
Hasz danych wejściowych.
[in] aInputHashLength
Długość bufora aInputHash.
[in] aPrivateKey
Klucz prywatny w formacie PEM.
[in] aPrivateKeyLength
Długość bufora aPrivateKey.
Zwracane wartości
OT_ERROR_NONE
Znak ECDSA został utworzony.
OT_ERROR_NO_BUFS
Bufor wyjściowy jest za mały.
OT_ERROR_INVALID_ARGS
Klucz prywatny nie jest prawidłowym kluczem prywatnym EC.
OT_ERROR_FAILED
Podczas podpisywania wystąpił błąd.

ZdjęciaCryptoHmacSha256

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

Ta funkcja wykonuje obliczenia HMAC.

Szczegóły
Parametry
[in] aKey
Wskaźnik klucza.
[in] aBuf
Wskaźnik bufora wejściowego.
[in] aBufLength
Długość aBuf w bajtach.
[out] aHash
Wskaźnik do struktury otCryptoSha256Hash, który zwraca wartość skrótu.

Makra

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

Długość skrótu SHA256 (w bajtach).

Zasoby

Tematy referencyjne interfejsu API OpenThread pochodzą z kodu źródłowego, który jest dostępny w GitHub. Jeśli chcesz dowiedzieć się więcej lub utworzyć dokumentację, zapoznaj się z materiałami.