Crypto - Thread Stack

این ماژول شامل توابع رمزنگاری است.

خلاصه

Typedefs

otCryptoSha256Hash typedef
این ساختار یک هش SHA-256 را نشان می دهد.

متغیرها

OT_TOOL_PACKED_END

کارکرد

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
این روش محاسبات AES CCM را انجام می دهد.
otCryptoEcdsaSign (uint8_t *aOutput, uint16_t *aOutputLength, const uint8_t *aInputHash, uint16_t aInputHashLength, const uint8_t *aPrivateKey, uint16_t aPrivateKeyLength)
این روش علامت ECDSA را ایجاد می کند.
otCryptoHmacSha256 (const otCryptoKey *aKey, const uint8_t *aBuf, uint16_t aBufLength, otCryptoSha256Hash *aHash)
void
این تابع محاسبات HMAC را انجام می دهد.

سازه ها

otCryptoSha256Hash

این ساختار یک هش SHA-256 را نشان می دهد.

Typedefs

otCryptoSha256Hash

struct otCryptoSha256Hash otCryptoSha256Hash

این ساختار یک هش SHA-256 را نشان می دهد.

متغیرها

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otCryptoSha256Hash OT_TOOL_PACKED_END

کارکرد

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
)

این روش محاسبات AES CCM را انجام می دهد.

جزئیات
مولفه های
[in] aKey
اشاره گر به کلید.
[in] aTagLength
طول تگ بر حسب بایت
[in] aNonce
اشاره ای به nonce.
[in] aNonceLength
طول nonce بر حسب بایت.
[in] aHeader
اشاره گر به هدر.
[in] aHeaderLength
طول هدر بر حسب بایت
[in,out] aPlainText
اشاره گر به متن ساده
[in,out] aCipherText
اشاره گر به متن رمز شده
[in] aLength
طول متن ساده بر حسب بایت
[in] aEncrypt
true در رمزگذاری و false در رمزگشایی.
[out] aTag
اشاره گر به تگ

otCryptoEcdsaSign

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

این روش علامت ECDSA را ایجاد می کند.

جزئیات
مولفه های
[out] aOutput
یک بافر خروجی که علامت ECDSA باید در آن ذخیره شود.
[in,out] aOutputLength
طول بافر aOutput .
[in] aInputHash
یک هش ورودی.
[in] aInputHashLength
طول بافر aInputHash .
[in] aPrivateKey
یک کلید خصوصی در قالب PEM.
[in] aPrivateKeyLength
طول بافر aPrivateKey .
ارزش های بازگشتی
OT_ERROR_NONE
علامت ECDSA با موفقیت ایجاد شد.
OT_ERROR_NO_BUFS
بافر خروجی خیلی کوچک است.
OT_ERROR_INVALID_ARGS
کلید خصوصی کلید خصوصی EC معتبر نیست.
OT_ERROR_FAILED
خطا در هنگام امضا

otCryptoHmacSha256

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

این تابع محاسبات HMAC را انجام می دهد.

جزئیات
مولفه های
[in] aKey
اشاره گر به کلید.
[in] aBuf
اشاره گر به بافر ورودی.
[in] aBufLength
طول aBuf بر حسب بایت.
[out] aHash
یک اشاره گر به ساختار otCryptoSha256Hash برای خروجی مقدار هش.

ماکروها

OT_CRYPTO_SHA256_HASH_SIZE

 OT_CRYPTO_SHA256_HASH_SIZE 32

طول هش SHA256 (بر حسب بایت).

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.