Şifreleme - İleti Dizisi Yığını

Bu modül şifreleme işlevleri içeriyor.

Özet

Typedef

otCryptoSha256Hash typedef
Bu yapı, bir SHA-256 karmasını temsil eder.

Değişkenler

OT_TOOL_PACKED_END

İşlevler

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
Bu yöntem, AES CCM hesaplaması yapar.
otCryptoEcdsaSign(uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
Bu yöntem, ECDSA işareti oluşturur.
otCryptoHmacSha256(const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
Bu işlev, HMAC hesaplaması gerçekleştirir.

Strucs

otCryptoSha256Hash

Bu yapı, bir SHA-256 karmasını temsil eder.

Typedef

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

Bu yapı, bir SHA-256 karmasını temsil eder.

Değişkenler

UD_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

İşlevler

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
)

Bu yöntem, AES CCM hesaplaması yapar.

Ayrıntılar
Parametreler
[in] aKey
Anahtarın işaretçisi.
[in] aTagLength
Etiketin bayt cinsinden uzunluğu.
[in] aNonce
Tek seferlik işaret.
[in] aNonceLength
Bayt cinsinden tek seferlik uzunluk.
[in] aHeader
Üstbilgiye işaret eden bir işarettir.
[in] aHeaderLength
Üst bilginin bayt cinsinden uzunluğu.
[in,out] aPlainText
Düz metnin işaretçisi.
[in,out] aCipherText
Şifreli metnin işaretçisi.
[in] aLength
Bayt cinsinden düz metin uzunluğu.
[in] aEncrypt
Şifrelemede true ve şifre çözmede false.
[out] aTag
Etikete bir işaretçi.

otCryptoEcdsaSign

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

Bu yöntem, ECDSA işareti oluşturur.

Ayrıntılar
Parametreler
[out] aOutput
ECDSA işaretinin depolanması gereken çıkış arabelleği.
[in,out] aOutputLength
aOutput arabelleğinin uzunluğu.
[in] aInputHash
Bir giriş karması.
[in] aInputHashLength
aInputHash arabelleğinin uzunluğu.
[in] aPrivateKey
PEM biçiminde bir özel anahtar.
[in] aPrivateKeyLength
aPrivateKey arabelleğinin uzunluğu.
Değerleri Döndür
OT_ERROR_NONE
ECDSA işareti başarıyla oluşturuldu.
OT_ERROR_NO_BUFS
Çıkış arabelleği çok küçük.
OT_ERROR_INVALID_ARGS
Özel anahtar, geçerli EC Özel Anahtarı değil.
OT_ERROR_FAILED
İmzalama sırasında hata oluştu.

kriptoHmacSha256

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

Bu işlev, HMAC hesaplaması gerçekleştirir.

Ayrıntılar
Parametreler
[in] aKey
Anahtarın işaretçisi.
[in] aBuf
Giriş arabelleğinin işaretçisi.
[in] aBufLength
Bayt cinsinden aBuf uzunluğudur.
[out] aHash
Karma değer çıkışı için bir otCryptoSha256Hash yapısının işaretçisi.

Makrolar

UD_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

SHA256 karmasının uzunluğu (bayt cinsinden).

Kaynaklar

OpenThread API Referansı konuları, GitHub'da bulunan kaynak koddan gelmektedir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar'a bakın.