OT_TOOL_PACKED_BEGIN  struct otPlatCryptoSha256Hash  OT_TOOL_PACKED_END
 کارکرد   otPlatCryptoAesEncrypt  otError  otPlatCryptoAesEncrypt(
  otCryptoContext  *aContext,
  const uint8_t *aInput,
  uint8_t *aOutput
) داده های داده شده را رمزگذاری کنید.
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات AES.
 [in] aInput  اشاره گر به بافر ورودی.
 [in] aOutput  اشاره گر به بافر خروجی.
 ارزش های بازگشتی  OT_ERROR_NONE  aInput با موفقیت رمزگذاری شد.
 OT_ERROR_FAILED  رمزگذاری aInput ناموفق بود.
 OT_ERROR_INVALID_ARGS  aContext یا aKey یا aOutput NULL بودند 
 otPlatCryptoAesFree  otError  otPlatCryptoAesFree(
  otCryptoContext  *aContext
) زمینه AES را آزاد کنید.
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات AES.
 ارزش های بازگشتی  OT_ERROR_NONE  زمینه AES با موفقیت آزاد شد.
 OT_ERROR_FAILED  زمینه AES آزاد نشد.
 OT_ERROR_INVALID_ARGS  aContext NULL بود 
 otPlatCryptoAesInit  otError  otPlatCryptoAesInit(
  otCryptoContext  *aContext
) عملیات AES را راه اندازی کنید.
 توجه:  درایور پلتفرم باید متن را به شی درست مانند psa_key_id یا mbedtls_aes_context_t اشاره کند. 
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات AES.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات AES با موفقیت آغاز شد.
 OT_ERROR_FAILED  شروع عملیات AES ناموفق بود.
 OT_ERROR_INVALID_ARGS  aContext NULL بود
 OT_ERROR_NO_BUFS  نمی توان زمینه را اختصاص داد. 
 otPlatCryptoAesSetKey  otError  otPlatCryptoAesSetKey(
  otCryptoContext  *aContext,
  const otCryptoKey  *aKey
) کلید را برای عملکرد AES تنظیم کنید.
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات AES.
 [out] aKey  کلید مورد استفاده برای عملیات AES.
 ارزش های بازگشتی  OT_ERROR_NONE  کلید برای عملکرد AES با موفقیت تنظیم شد.
 OT_ERROR_FAILED  کلید برای عملکرد AES تنظیم نشد.
 OT_ERROR_INVALID_ARGS  aContext یا aKey NULL بود 
 otPlatCryptoDestroyKey  otError  otPlatCryptoDestroyKey(
  otCryptoKeyRef  aKeyRef
) یک کلید ذخیره شده در PSA ITS را نابود کنید.
 توجه:  این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE فعال باشد. 
 جزئیات  مولفه های  [in] aKeyRef  رفر کلیدی که از بین می رود
 ارزش های بازگشتی  OT_ERROR_NONE  کلید را با موفقیت از بین برد.
 OT_ERROR_FAILED  شکست در از بین بردن کلید. 
 otPlatCryptoEcdsaExportPublicKey  otError  otPlatCryptoEcdsaExportPublicKey(
  otCryptoKeyRef  aKeyRef,
  otPlatCryptoEcdsaPublicKey  *aPublicKey
) کلید عمومی مرتبط را از مرجع کلید دریافت کنید.
 بسته به کتابخانه پشتیبان رمزنگاری مورد استفاده (OPENTHREAD_CONFIG_CRYPTO_LIB) کلید عمومی به طور متفاوتی ذخیره می شود.
 این API باید مطمئن شود که کلید عمومی را به عنوان یک نمایش توالی بایت از یک نقطه منحنی فشرده نشده برمی گرداند (RFC 6605 - sec 4)
 توجه:  این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE فعال باشد. 
 جزئیات  مولفه های  [in] aKeyRef  اشاره کلید به شکافی که جفت کلید در آن ذخیره می شود.
 [out] aPublicKey  یک اشاره گر به ساختار کلید عمومی ECDSA برای ذخیره کلید عمومی.
 ارزش های بازگشتی  OT_ERROR_NONE  کلید عمومی با موفقیت بازیابی شد و aBuffer به روز شد.
 OT_ERROR_PARSE  قالب DER جفت کلید قابل تجزیه نیست (قالب نامعتبر).
 OT_ERROR_INVALID_ARGS  aContext NULL است. 
 otPlatCryptoEcdsaGenerateAndImportKey  otError  otPlatCryptoEcdsaGenerateAndImportKey(
  otCryptoKeyRef  aKeyRef
) ایجاد و وارد کردن یک جفت کلید ECDSA جدید در مرجع تصویب شده.
 توجه:  این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE فعال باشد. 
 جزئیات  مولفه های  [in] aKeyRef  اشاره کلید به شکافی که جفت کلید در آن ذخیره می شود.
 ارزش های بازگشتی  OT_ERROR_NONE  یک جفت کلید جدید با موفقیت ایجاد شد.
 OT_ERROR_NO_BUFS  تخصیص بافر برای تولید کلید انجام نشد.
 OT_ERROR_NOT_CAPABLE  ویژگی پشتیبانی نمی شود.
 OT_ERROR_FAILED  ایجاد جفت کلید ناموفق بود. 
 otPlatCryptoEcdsaGenerateKey  otError  otPlatCryptoEcdsaGenerateKey(
  otPlatCryptoEcdsaKeyPair  *aKeyPair
) بافر خروجی را با یک جفت کلید ECDSA جدید تولید و پر کنید.
 جزئیات  مولفه های  [out] aKeyPair  یک اشاره گر به ساختار جفت کلید ECDSA برای ذخیره جفت کلید تولید شده.
 ارزش های بازگشتی  OT_ERROR_NONE  یک جفت کلید جدید با موفقیت ایجاد شد.
 OT_ERROR_NO_BUFS  تخصیص بافر برای تولید کلید انجام نشد.
 OT_ERROR_NOT_CAPABLE  ویژگی پشتیبانی نمی شود.
 OT_ERROR_FAILED  ایجاد جفت کلید ناموفق بود. 
 otPlatCryptoEcdsaGetPublicKey  otError  otPlatCryptoEcdsaGetPublicKey(
  const otPlatCryptoEcdsaKeyPair  *aKeyPair,
  otPlatCryptoEcdsaPublicKey  *aPublicKey
) کلید عمومی مرتبط را از زمینه ورودی دریافت کنید.
 جزئیات  مولفه های  [in] aKeyPair  اشاره گر به ساختار جفت کلید ECDSA که در آن جفت کلید ذخیره می شود.
 [out] aPublicKey  یک اشاره گر به ساختار کلید عمومی ECDSA برای ذخیره کلید عمومی.
 ارزش های بازگشتی  OT_ERROR_NONE  کلید عمومی با موفقیت بازیابی شد و aBuffer به روز شد.
 OT_ERROR_PARSE  قالب DER جفت کلید قابل تجزیه نیست (قالب نامعتبر).
 OT_ERROR_INVALID_ARGS  aContext NULL است. 
 otPlatCryptoEcdsaSign  otError  otPlatCryptoEcdsaSign(
  const otPlatCryptoEcdsaKeyPair  *aKeyPair,
  const otPlatCryptoSha256Hash  *aHash,
  otPlatCryptoEcdsaSignature  *aSignature
) امضای ECDSA را برای یک پیام هش شده با استفاده از کلید خصوصی از زمینه ورودی محاسبه کنید.
 از روش تولید امضای دیجیتال قطعی از RFC 6979 استفاده می کند.
 جزئیات  مولفه های  [in] aKeyPair  اشاره گر به ساختار جفت کلید ECDSA که در آن جفت کلید ذخیره می شود.
 [in] aHash  یک اشاره گر به ساختار هش SHA-256 که در آن مقدار هش برای محاسبه امضا ذخیره می شود.
 [out] aSignature  یک اشاره گر به یک ساختار امضای ECDSA برای خروجی امضای محاسبه شده.
 ارزش های بازگشتی  OT_ERROR_NONE  امضا با موفقیت محاسبه شد، aSignature به روز شد.
 OT_ERROR_PARSE  قالب DER جفت کلید قابل تجزیه نیست (قالب نامعتبر).
 OT_ERROR_NO_BUFS  تخصیص بافر برای محاسبه امضا انجام نشد.
 OT_ERROR_INVALID_ARGS  aContext NULL است. 
 otPlatCryptoEcdsaSignUsingKeyRef  otError  otPlatCryptoEcdsaSignUsingKeyRef(
  otCryptoKeyRef  aKeyRef,
  const otPlatCryptoSha256Hash  *aHash,
  otPlatCryptoEcdsaSignature  *aSignature
) امضای ECDSA را برای یک پیام هش شده با استفاده از مرجع کلید ارسال شده محاسبه کنید.
 از روش تولید امضای دیجیتال قطعی از RFC 6979 استفاده می کند.
 توجه:  این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE فعال باشد. 
 جزئیات  مولفه های  [in] aKeyRef  اشاره کلید به شکافی که جفت کلید در آن ذخیره می شود.
 [in] aHash  یک اشاره گر به ساختار هش SHA-256 که در آن مقدار هش برای محاسبه امضا ذخیره می شود.
 [out] aSignature  یک اشاره گر به یک ساختار امضای ECDSA برای خروجی امضای محاسبه شده.
 ارزش های بازگشتی  OT_ERROR_NONE  امضا با موفقیت محاسبه شد، aSignature به روز شد.
 OT_ERROR_PARSE  قالب DER جفت کلید قابل تجزیه نیست (قالب نامعتبر).
 OT_ERROR_NO_BUFS  تخصیص بافر برای محاسبه امضا انجام نشد.
 OT_ERROR_INVALID_ARGS  aContext NULL است. 
 otPlatCryptoEcdsaVerify  otError  otPlatCryptoEcdsaVerify(
  const otPlatCryptoEcdsaPublicKey  *aPublicKey,
  const otPlatCryptoSha256Hash  *aHash,
  const otPlatCryptoEcdsaSignature  *aSignature
) از کلید زمینه ورودی برای تأیید امضای ECDSA یک پیام هش شده استفاده کنید.
 جزئیات  مولفه های  [in] aPublicKey  یک اشاره گر به ساختار کلید عمومی ECDSA که در آن کلید عمومی برای تأیید امضا ذخیره می شود.
 [in] aHash  یک اشاره گر به ساختار هش SHA-256 که در آن مقدار هش برای تأیید امضا ذخیره می شود.
 [in] aSignature  یک اشاره گر به ساختار امضای ECDSA که در آن مقدار امضایی که باید تأیید شود ذخیره می شود.
 ارزش های بازگشتی  OT_ERROR_NONE  امضا با موفقیت تأیید شد.
 OT_ERROR_SECURITY  امضا نامعتبر است.
 OT_ERROR_INVALID_ARGS  کلید یا هش نامعتبر است.
 OT_ERROR_NO_BUFS  تخصیص بافر برای تأیید امضا انجام نشد. 
 otPlatCryptoEcdsaVerifyUsingKeyRef  otError  otPlatCryptoEcdsaVerifyUsingKeyRef(
  otCryptoKeyRef  aKeyRef,
  const otPlatCryptoSha256Hash  *aHash,
  const otPlatCryptoEcdsaSignature  *aSignature
) از کلید کلید برای تأیید امضای ECDSA یک پیام هش شده استفاده کنید.
 توجه:  این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE فعال باشد. 
 جزئیات  مولفه های  [in] aKeyRef  اشاره کلید به شکافی که جفت کلید در آن ذخیره می شود.
 [in] aHash  یک اشاره گر به ساختار هش SHA-256 که در آن مقدار هش برای تأیید امضا ذخیره می شود.
 [in] aSignature  یک اشاره گر به ساختار امضای ECDSA که در آن مقدار امضایی که باید تأیید شود ذخیره می شود.
 ارزش های بازگشتی  OT_ERROR_NONE  امضا با موفقیت تأیید شد.
 OT_ERROR_SECURITY  امضا نامعتبر است.
 OT_ERROR_INVALID_ARGS  کلید یا هش نامعتبر است.
 OT_ERROR_NO_BUFS  تخصیص بافر برای تأیید امضا انجام نشد. 
 otPlatCryptoExportKey  otError  otPlatCryptoExportKey(
  otCryptoKeyRef  aKeyRef,
  uint8_t *aBuffer,
  size_t aBufferLen,
  size_t *aKeyLen
) یک کلید ذخیره شده در PSA ITS را صادر کنید.
 توجه:  این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE فعال باشد. 
 جزئیات  مولفه های  [in] aKeyRef  رمز کلیدی که برای عملیات کریپتو استفاده می شود.
 [out] aBuffer  اشاره گر به بافری که در آن کلید باید صادر شود.
 [in] aBufferLen  طول بافر برای ذخیره کلید صادر شده ارسال شده است.
 [out] aKeyLen  اشاره گر برای برگرداندن طول کلید صادر شده.
 ارزش های بازگشتی  OT_ERROR_NONE  aKeyRef با موفقیت صادر شد.
 OT_ERROR_FAILED  aKeyRef صادر نشد.
 OT_ERROR_INVALID_ARGS  aBuffer NULL بود 
 otPlatCryptoHasKey  bool otPlatCryptoHasKey(
  otCryptoKeyRef  aKeyRef
)  بررسی کنید که آیا کلید ref ارسال شده دارای یک کلید مرتبط در PSA ITS است یا خیر.
 توجه:  این API تنها زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE فعال باشد. 
 جزئیات  مولفه های  [in] aKeyRef  Ref کلید برای بررسی.
 ارزش های بازگشتی  TRUE  یک کلید مرتبط با aKeyRef وجود دارد.
 FALSE  هیچ کلید مرتبطی با aKeyRef وجود ندارد. 
 otPlatCryptoHkdfDeinit  otError  otPlatCryptoHkdfDeinit(
  otCryptoContext  *aContext
) زمینه HKDF را از حالت اولیه خارج کنید.
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات HKDF.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات HKDF با موفقیت لغو اولیه شد.
 OT_ERROR_FAILED  عملیات HKDF از حالت اولیه خارج نشد.
 OT_ERROR_INVALID_ARGS  aContext NULL بود 
 otPlatCryptoHkdfExpand  otError  otPlatCryptoHkdfExpand(
  otCryptoContext  *aContext,
  const uint8_t *aInfo,
  uint16_t aInfoLength,
  uint8_t *aOutputKey,
  uint16_t aOutputKeyLength
) مرحله گسترش HKDF را انجام دهید.
 جزئیات  مولفه های  [in] aContext  زمینه عملیات برای عملیات HKDF.
 [in] aInfo  به دنباله Info اشاره کنید.
 [in] aInfoLength  طول دنباله اطلاعات
 [out] aOutputKey  اشاره گر به کلید خروجی
 [in] aOutputKeyLength  اندازه بافر کلید خروجی
 ارزش های بازگشتی  OT_ERROR_NONE  HKDF Expand موفقیت آمیز بود.
 OT_ERROR_FAILED  گسترش HKDF ناموفق بود.
 OT_ERROR_INVALID_ARGS  aContext NULL بود 
 otError  otPlatCryptoHkdfExtract(
  otCryptoContext  *aContext,
  const uint8_t *aSalt,
  uint16_t aSaltLength,
  const otCryptoKey  *aInputKey
) مرحله استخراج HKDF را انجام دهید.
 جزئیات  مولفه های  [in] aContext  زمینه عملیات برای عملیات HKDF.
 [in] aSalt  اشاره به نمک برای HKDF.
 [in] aSaltLength  طول نمک.
 [in] aInputKey  اشاره گر به کلید ورودی
 ارزش های بازگشتی  OT_ERROR_NONE  استخراج HKDF موفقیت آمیز بود.
 OT_ERROR_FAILED  استخراج HKDF ناموفق بود. 
  otPlatCryptoHkdfInit  otError  otPlatCryptoHkdfInit(
  otCryptoContext  *aContext
) زمینه HKDF را راه اندازی کنید.
 توجه:  درایور پلتفرم باید متن را به شی درست مانند psa_key_derivation_operation_t یا HmacSha256::Hash اشاره کند. 
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات HKDF.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات AES با موفقیت آغاز شد.
 OT_ERROR_FAILED  شروع عملیات AES ناموفق بود.
 OT_ERROR_INVALID_ARGS  aContext NULL بود 
 otPlatCryptoHmacSha256Deinit  otError  otPlatCryptoHmacSha256Deinit(
  otCryptoContext  *aContext
) عملیات HMAC را از حالت اولیه خارج کنید.
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات HMAC.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات HMAC با موفقیت راه اندازی نشد.
 OT_ERROR_FAILED  عملیات HMAC اولیه ناموفق بود.
 OT_ERROR_INVALID_ARGS  aContext NULL بود 
 otPlatCryptoHmacSha256Finish  otError  otPlatCryptoHmacSha256Finish(
  otCryptoContext  *aContext,
  uint8_t *aBuf,
  size_t aBufLength
) عملیات HMAC را کامل کنید.
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات HMAC.
 [out] aBuf  اشاره گر به بافر خروجی.
 [in] aBufLength  طول aBuf بر حسب بایت.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات HMAC با موفقیت به پایان رسید.
 OT_ERROR_FAILED  عملیات HMAC کامل نشد.
 OT_ERROR_INVALID_ARGS  aContext یا aBuf NULL بود 
 otPlatCryptoHmacSha256Init  otError  otPlatCryptoHmacSha256Init(
  otCryptoContext  *aContext
) عملیات HMAC را راه اندازی کنید.
 توجه:  درایور پلتفرم باید متن را به شی درست مانند psa_mac_operation_t یا mbedtls_md_context_t اشاره کند. 
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات HMAC.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات HMAC با موفقیت راه اندازی شد.
 OT_ERROR_FAILED  شروع عملیات HMAC ناموفق بود.
 OT_ERROR_INVALID_ARGS  aContext NULL بود 
 otPlatCryptoHmacSha256شروع کنید  otError  otPlatCryptoHmacSha256Start(
  otCryptoContext  *aContext,
  const otCryptoKey  *aKey
) عملیات HMAC را شروع کنید.
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات HMAC.
 [in] aKey  مواد کلیدی مورد استفاده برای عملیات HMAC.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات HMAC با موفقیت شروع شد.
 OT_ERROR_FAILED  شروع عملیات HMAC ناموفق بود.
 OT_ERROR_INVALID_ARGS  aContext یا aKey NULL بود 
 otPlatCryptoHmacSha256 به روز رسانی  otError  otPlatCryptoHmacSha256Update(
  otCryptoContext  *aContext,
  const void *aBuf,
  uint16_t aBufLength
) عملیات HMAC را با ورودی جدید به روز کنید.
 جزئیات  مولفه های  [in] aContext  زمینه برای عملیات HMAC.
 [in] aBuf  اشاره گر به بافر ورودی.
 [in] aBufLength  طول aBuf بر حسب بایت.
 ارزش های بازگشتی  OT_ERROR_NONE  HMAC با عملیات ورودی جدید با موفقیت به روز شد.
 OT_ERROR_FAILED  عملیات HMAC به روز نشد.
 OT_ERROR_INVALID_ARGS  aContext یا aBuf NULL بود 
 otPlatCryptoImportKey  otError  otPlatCryptoImportKey(
  otCryptoKeyRef  *aKeyRef,
  otCryptoKeyType  aKeyType,
  otCryptoKeyAlgorithm  aKeyAlgorithm,
  int aKeyUsage,
  otCryptoKeyStorage  aKeyPersistence,
  const uint8_t *aKey,
  size_t aKeyLen
) یک کلید را به PSA ITS وارد کنید.
 توجه:  اگر OT_CRYPTO_KEY_STORAGE_PERSISTENT برای aKeyPersistence ارسال شود، aKeyRef ورودی است و پلتفرم باید از aKeyRef داده شده استفاده کند و نباید آن را تغییر دهد.  اگر OT_CRYPTO_KEY_STORAGE_VOLATILE برای aKeyPersistence ارسال شود، aKeyRef خروجی می شود، مقدار اولیه مهم نیست و API پلتفرم باید آن را به روز کند تا ref کلید جدید را برگرداند.
 جزئیات  مولفه های  [in,out] aKeyRef  اشاره گر به کلید ref که برای عملیات کریپتو استفاده می شود.
 [in] aKeyType  نوع کلید رمزگذاری برای کلید.
 [in] aKeyAlgorithm  رمزگذاری الگوریتم کلید برای کلید.
 [in] aKeyUsage  رمزگذاری استفاده از کلید برای کلید (ترکیبی از OT_CRYPTO_KEY_USAGE_* ).
 [in] aKeyPersistence  ماندگاری کلید برای این کلید
 [in] aKey  کلید واقعی برای وارد شدن
 [in] aKeyLen  طول کلیدی که باید وارد شود.
 ارزش های بازگشتی  OT_ERROR_NONE  کلید با موفقیت وارد شد.
 OT_ERROR_FAILED  وارد کردن کلید انجام نشد.
 OT_ERROR_INVALID_ARGS  aKey روی NULL تنظیم شد.
 این API فقط زمانی توسط OT core استفاده میشود که OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE فعال باشد. 
 otPlatCryptoInit  void otPlatCryptoInit(
  void
)  ماژول Crypto را راه اندازی کنید. 
 otPlatCryptoPbkdf2GenerateKey  otError  otPlatCryptoPbkdf2GenerateKey(
  const uint8_t *aPassword,
  uint16_t aPasswordLen,
  const uint8_t *aSalt,
  uint16_t aSaltLen,
  uint32_t aIterationCounter,
  uint16_t aKeyLen,
  uint8_t *aKey
) PKCS#5 PBKDF2 را با استفاده از CMAC (AES-CMAC-PRF-128) انجام دهید.
 جزئیات  مولفه های  [in] aPassword  رمز عبور برای استفاده در هنگام تولید کلید.
 [in] aPasswordLen  طول رمز عبور
 [in] aSalt  نمک برای استفاده در هنگام تولید کلید.
 [in] aSaltLen  طول نمک.
 [in] aIterationCounter  تعداد تکرار
 [in] aKeyLen  طول کلید تولید شده بر حسب بایت
 [out] aKey  اشاره گر به کلید تولید شده
 ارزش های بازگشتی  OT_ERROR_NONE  یک جفت کلید جدید با موفقیت ایجاد شد.
 OT_ERROR_NO_BUFS  تخصیص بافر برای تولید کلید انجام نشد.
 OT_ERROR_NOT_CAPABLE  ویژگی پشتیبانی نمی شود.
 OT_ERROR_FAILED  کلید تولید نشد. 
 otPlatCryptoRandomDeinit  void otPlatCryptoRandomDeinit(
  void
)  مولد اعداد شبه تصادفی امن رمزنگاری (CSPRNG) را از مقدار اولیه اولیه بردارید. 
 otPlatCryptoRandomGet  otError  otPlatCryptoRandomGet(
  uint8_t *aBuffer,
  uint16_t aSize
) یک بافر مشخص را با بایت های تصادفی امن رمزنگاری پر می کند.
 جزئیات  مولفه های  [out] aBuffer  یک اشاره گر به یک بافر برای پر کردن با بایت های تصادفی.
 [in] aSize  اندازه بافر (تعداد بایت برای پر کردن).
 ارزش های بازگشتی  OT_ERROR_NONE  بافر با مقادیر تصادفی با موفقیت پر شد.
 OT_ERROR_FAILED  عملیات شکست خورد. 
 otPlatCryptoRandomInit  void otPlatCryptoRandomInit(
  void
)  مولد اعداد شبه تصادفی با امنیت رمزنگاری (CSPRNG) را راه اندازی کنید. 
 otPlatCryptoSha256Deinit  otError  otPlatCryptoSha256Deinit(
  otCryptoContext  *aContext
) عملیات SHA-256 را از حالت اولیه خارج کنید.
 جزئیات  مولفه های  [in] aContext  زمینه عملیات SHA-256.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات SHA-256 با موفقیت لغو اولیه شد.
 OT_ERROR_FAILED  عملیات SHA-256 از حالت اولیه خارج نشد.
 OT_ERROR_INVALID_ARGS  aContext NULL بود 
 otPlatCryptoSha256Finish  otError  otPlatCryptoSha256Finish(
  otCryptoContext  *aContext,
  uint8_t *aHash,
  uint16_t aHashSize
) عملیات SHA-256 را به پایان برسانید.
 جزئیات  مولفه های  [in] aContext  زمینه عملیات SHA-256.
 [in] aHash  یک اشاره گر به بافر خروجی، جایی که هش باید در آن ذخیره شود.
 [in] aHashSize  طول aHash بر حسب بایت.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات SHA-256 را با موفقیت به پایان رساند.
 OT_ERROR_FAILED  عملیات SHA-256 تکمیل نشد.
 OT_ERROR_INVALID_ARGS  aContext یا aHash NULL بود 
 otPlatCryptoSha256Init  otError  otPlatCryptoSha256Init(
  otCryptoContext  *aContext
) عملیات SHA-256 را راه اندازی کنید.
 توجه:  درایور پلتفرم باید متن را به شی درستی مانند psa_hash_operation_t یا mbedtls_sha256_context اشاره کند. 
 جزئیات  مولفه های  [in] aContext  زمینه عملیات SHA-256.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات SHA-256 با موفقیت راه اندازی شد.
 OT_ERROR_FAILED  شروع عملیات SHA-256 ناموفق بود.
 OT_ERROR_INVALID_ARGS  aContext NULL بود 
 otPlatCryptoSha256شروع کنید  otError  otPlatCryptoSha256Start(
  otCryptoContext  *aContext
) عملیات SHA-256 را شروع کنید.
 جزئیات  مولفه های  [in] aContext  زمینه عملیات SHA-256.
 ارزش های بازگشتی  OT_ERROR_NONE  عملیات SHA-256 با موفقیت آغاز شد.
 OT_ERROR_FAILED  شروع عملیات SHA-256 ناموفق بود.
 OT_ERROR_INVALID_ARGS  aContext NULL بود 
 otPlatCryptoSha256 به روز رسانی  otError  otPlatCryptoSha256Update(
  otCryptoContext  *aContext,
  const void *aBuf,
  uint16_t aBufLength
) عملیات SHA-256 را با ورودی جدید به روز کنید.
 جزئیات  مولفه های  [in] aContext  زمینه عملیات SHA-256.
 [in] aBuf  اشاره گر به بافر ورودی.
 [in] aBufLength  طول aBuf بر حسب بایت.
 ارزش های بازگشتی  OT_ERROR_NONE  SHA-256 با عملیات ورودی جدید با موفقیت به روز شد.
 OT_ERROR_FAILED  عملیات SHA-256 به روز نشد.
 OT_ERROR_INVALID_ARGS  aContext یا aBuf NULL بود 
 ماکروها   OT_CRYPTO_ECDSA_MAX_DER_SIZE   OT_CRYPTO_ECDSA_MAX_DER_SIZE 125  حداکثر اندازه بافر (بر حسب بایت) برای نمایش جفت کلید EDCSA در قالب DER. 
 OT_CRYPTO_ECDSA_PUBLIC_KEY_SIZE   OT_CRYPTO_ECDSA_PUBLIC_KEY_SIZE 64  اندازه بافر (بر حسب بایت) برای نمایش کلید عمومی EDCSA. 
 OT_CRYPTO_ECDSA_SIGNATURE_SIZE   OT_CRYPTO_ECDSA_SIGNATURE_SIZE 64  اندازه بافر (بر حسب بایت) برای نشان دادن امضای EDCSA. 
 OT_CRYPTO_PBDKF2_MAX_SALT_SIZE   OT_CRYPTO_PBDKF2_MAX_SALT_SIZE 30  حداکثر طول PBKDF2 SALT: پیشوند salt (6) + panid گسترده (8) + نام شبکه (16) 
 OT_CRYPTO_SHA256_HASH_SIZE   OT_CRYPTO_SHA256_HASH_SIZE 32  طول هش SHA256 (بر حسب بایت).
 منابع  موضوعات مرجع OpenThread API از کد منبع موجود در GitHub  سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع  مراجعه کنید.
  
  
 
  
    
    
    
  
  
  جز در مواردی که غیراز این ذکر شده باشد، محتوای این صفحه تحت مجوز پروانه ارجاع مشترکات خلاقانه نسخه ۴.۰  است. نمونه کدها نیز دارای مجوز پروانه آپاچی نسخه ۲.۰  است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers  مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است. OpenThread و علائم مربوط به آن، علامتهای تجاری Thread Group هستند و تحت پروانه استفاده میشوند.
  تاریخ آخرین بهروزرسانی 2023-12-14 بهوقت ساعت هماهنگ جهانی.