এই মডিউলটি ক্রিপ্টোর জন্য প্ল্যাটফর্ম বিমূর্ততা অন্তর্ভুক্ত করে।
সারসংক্ষেপ গণনা anonymous enum { OT_CRYPTO_KEY_USAGE_NONE = 0, OT_CRYPTO_KEY_USAGE_EXPORT = 1 << 0, OT_CRYPTO_KEY_USAGE_ENCRYPT = 1 << 1, OT_CRYPTO_KEY_USAGE_DECRYPT = 1 << 2, OT_CRYPTO_KEY_USAGE_SIGN_HASH = 1 << 3, OT_CRYPTO_KEY_USAGE_VERIFY_HASH = 1 << 4 }
enum কী ব্যবহার পতাকা সংজ্ঞায়িত করে।
otCryptoKeyAlgorithm { OT_CRYPTO_KEY_ALG_VENDOR , OT_CRYPTO_KEY_ALG_AES_ECB , OT_CRYPTO_KEY_ALG_HMAC_SHA_256 , OT_CRYPTO_KEY_ALG_ECDSA }
enum মূল অ্যালগরিদম সংজ্ঞায়িত করে।
otCryptoKeyStorage { OT_CRYPTO_KEY_STORAGE_VOLATILE , OT_CRYPTO_KEY_STORAGE_PERSISTENT }
enum মূল স্টোরেজ প্রকারগুলি সংজ্ঞায়িত করে।
otCryptoKeyType { OT_CRYPTO_KEY_TYPE_RAW , OT_CRYPTO_KEY_TYPE_AES , OT_CRYPTO_KEY_TYPE_HMAC , OT_CRYPTO_KEY_TYPE_ECDSA }
enum মূল প্রকারগুলি সংজ্ঞায়িত করে।
ফাংশন otPlatCryptoAesEncrypt ( otCryptoContext *aContext, const uint8_t *aInput, uint8_t *aOutput)
প্রদত্ত ডেটা এনক্রিপ্ট করুন।
otPlatCryptoAesFree ( otCryptoContext *aContext)
AES প্রসঙ্গ বিনামূল্যে.
otPlatCryptoAesInit ( otCryptoContext *aContext)
AES অপারেশন শুরু করুন।
otPlatCryptoAesSetKey ( otCryptoContext *aContext, const otCryptoKey *aKey)
AES অপারেশনের জন্য কী সেট করুন।
otPlatCryptoDestroyKey ( otCryptoKeyRef aKeyRef)
PSA ITS-এ সংরক্ষিত একটি কী ধ্বংস করুন।
otPlatCryptoEcdsaExportPublicKey ( otCryptoKeyRef aKeyRef, otPlatCryptoEcdsaPublicKey *aPublicKey)
পাস করা কী রেফারেন্স থেকে সংশ্লিষ্ট পাবলিক কী পান।
otPlatCryptoEcdsaGenerateAndImportKey ( otCryptoKeyRef aKeyRef)
রেফারেন্স পাস করে একটি নতুন ECDSA কী-জোড়া তৈরি এবং আমদানি করুন।
otPlatCryptoEcdsaGenerateKey ( otPlatCryptoEcdsaKeyPair *aKeyPair)
একটি নতুন ECDSA কী-জোড়া দিয়ে আউটপুট বাফার তৈরি এবং পপুলেট করুন।
otPlatCryptoEcdsaGetPublicKey (const otPlatCryptoEcdsaKeyPair *aKeyPair, otPlatCryptoEcdsaPublicKey *aPublicKey)
ইনপুট প্রসঙ্গ থেকে সংশ্লিষ্ট পাবলিক কী পান।
otPlatCryptoEcdsaSign (const otPlatCryptoEcdsaKeyPair *aKeyPair, const otPlatCryptoSha256Hash *aHash, otPlatCryptoEcdsaSignature *aSignature)
ইনপুট প্রসঙ্গ থেকে ব্যক্তিগত কী ব্যবহার করে একটি হ্যাশড বার্তার জন্য ECDSA স্বাক্ষর গণনা করুন।
otPlatCryptoEcdsaSignUsingKeyRef ( otCryptoKeyRef aKeyRef, const otPlatCryptoSha256Hash *aHash, otPlatCryptoEcdsaSignature *aSignature)
পাস করা কী রেফারেন্স ব্যবহার করে হ্যাশ করা বার্তার জন্য ECDSA স্বাক্ষর গণনা করুন।
otPlatCryptoEcdsaVerify (const otPlatCryptoEcdsaPublicKey *aPublicKey, const otPlatCryptoSha256Hash *aHash, const otPlatCryptoEcdsaSignature *aSignature)
একটি হ্যাশড বার্তার ECDSA স্বাক্ষর যাচাই করতে ইনপুট প্রসঙ্গ থেকে কী ব্যবহার করুন৷
otPlatCryptoEcdsaVerifyUsingKeyRef ( otCryptoKeyRef aKeyRef, const otPlatCryptoSha256Hash *aHash, const otPlatCryptoEcdsaSignature *aSignature)
একটি হ্যাশ করা বার্তার ECDSA স্বাক্ষর যাচাই করতে keyref ব্যবহার করুন৷
otPlatCryptoExportKey ( otCryptoKeyRef aKeyRef, uint8_t *aBuffer, size_t aBufferLen, size_t *aKeyLen)
PSA ITS-এ সংরক্ষিত একটি কী রপ্তানি করুন।
otPlatCryptoHasKey ( otCryptoKeyRef aKeyRef)
bool
পাস করা কী রেফের পিএসএ আইটিএস-এ একটি সংশ্লিষ্ট কী আছে কিনা তা পরীক্ষা করুন।
otPlatCryptoHkdfDeinit ( otCryptoContext *aContext)
HKDF প্রসঙ্গটি চালু করুন।
otPlatCryptoHkdfExpand ( otCryptoContext *aContext, const uint8_t *aInfo, uint16_t aInfoLength, uint8_t *aOutputKey, uint16_t aOutputKeyLength)
HKDF প্রসারিত পদক্ষেপ সম্পাদন করুন।
otPlatCryptoHkdfExtract ( otCryptoContext *aContext, const uint8_t *aSalt, uint16_t aSaltLength, const otCryptoKey *aInputKey)
HKDF এক্সট্র্যাক্ট ধাপ সম্পাদন করুন।
otPlatCryptoHkdfInit ( otCryptoContext *aContext)
HKDF প্রসঙ্গ শুরু করুন।
otPlatCryptoHmacSha256Deinit ( otCryptoContext *aContext)
এইচএমএসি অপারেশনটি চালু করুন।
otPlatCryptoHmacSha256Finish ( otCryptoContext *aContext, uint8_t *aBuf, size_t aBufLength)
HMAC অপারেশন সম্পূর্ণ করুন।
otPlatCryptoHmacSha256Init ( otCryptoContext *aContext)
HMAC অপারেশন শুরু করুন।
otPlatCryptoHmacSha256Start ( otCryptoContext *aContext, const otCryptoKey *aKey)
HMAC অপারেশন শুরু করুন।
otPlatCryptoHmacSha256Update ( otCryptoContext *aContext, const void *aBuf, uint16_t aBufLength)
নতুন ইনপুট সহ HMAC অপারেশন আপডেট করুন।
otPlatCryptoImportKey ( otCryptoKeyRef *aKeyRef, otCryptoKeyType aKeyType, otCryptoKeyAlgorithm aKeyAlgorithm, int aKeyUsage, otCryptoKeyStorage aKeyPersistence, const uint8_t *aKey, size_t aKeyLen)
PSA ITS-এ একটি কী আমদানি করুন।
otPlatCryptoInit (void)
void
ক্রিপ্টো মডিউল শুরু করুন।
otPlatCryptoPbkdf2GenerateKey (const uint8_t *aPassword, uint16_t aPasswordLen, const uint8_t *aSalt, uint16_t aSaltLen, uint32_t aIterationCounter, uint16_t aKeyLen, uint8_t *aKey)
CMAC (AES-CMAC-PRF-128) ব্যবহার করে PKCS#5 PBKDF2 সম্পাদন করুন।
otPlatCryptoRandomDeinit (void)
void
ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত সিউডোর্যান্ডম নম্বর জেনারেটর (CSPRNG) ডিইনিশিয়ালাইজ করুন।
otPlatCryptoRandomGet (uint8_t *aBuffer, uint16_t aSize)
ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত র্যান্ডম বাইট দিয়ে একটি প্রদত্ত বাফার পূরণ করে।
otPlatCryptoRandomInit (void)
void
ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত সিউডোর্যান্ডম নম্বর জেনারেটর (CSPRNG) শুরু করুন।
otPlatCryptoSha256Deinit ( otCryptoContext *aContext)
SHA-256 অপারেশনটি চালু করুন।
otPlatCryptoSha256Finish ( otCryptoContext *aContext, uint8_t *aHash, uint16_t aHashSize)
SHA-256 অপারেশন শেষ করুন।
otPlatCryptoSha256Init ( otCryptoContext *aContext)
SHA-256 অপারেশন শুরু করুন।
otPlatCryptoSha256Start ( otCryptoContext *aContext)
SHA-256 অপারেশন শুরু করুন।
otPlatCryptoSha256Update ( otCryptoContext *aContext, const void *aBuf, uint16_t aBufLength)
নতুন ইনপুট সহ SHA-256 অপারেশন আপডেট করুন।
গণনা বেনামী enum anonymous enum কী ব্যবহার পতাকা সংজ্ঞায়িত করে।
বৈশিষ্ট্য OT_CRYPTO_KEY_USAGE_DECRYPT
কী ব্যবহার: AES ECB.
OT_CRYPTO_KEY_USAGE_ENCRYPT
কী ব্যবহার: এনক্রিপশন (বিক্রেতা সংজ্ঞায়িত)।
OT_CRYPTO_KEY_USAGE_EXPORT
কী ব্যবহার: কী রপ্তানি করা যেতে পারে।
OT_CRYPTO_KEY_USAGE_NONE
কী ব্যবহার: কী ব্যবহার খালি।
OT_CRYPTO_KEY_USAGE_SIGN_HASH
কী ব্যবহার: সাইন হ্যাশ।
OT_CRYPTO_KEY_USAGE_VERIFY_HASH
কী ব্যবহার: হ্যাশ যাচাই করুন।
#CryptoKeyAlgorithm otCryptoKeyAlgorithm মূল অ্যালগরিদম সংজ্ঞায়িত করে।
বৈশিষ্ট্য OT_CRYPTO_KEY_ALG_AES_ECB
কী অ্যালগরিদম: AES ECB।
OT_CRYPTO_KEY_ALG_ECDSA
মূল অ্যালগরিদম: ECDSA।
OT_CRYPTO_KEY_ALG_HMAC_SHA_256
কী অ্যালগরিদম: HMAC SHA-256।
OT_CRYPTO_KEY_ALG_VENDOR
কী অ্যালগরিদম: বিক্রেতা সংজ্ঞায়িত।
otCryptoKeyStorage otCryptoKeyStorage মূল স্টোরেজ প্রকারগুলি সংজ্ঞায়িত করে।
বৈশিষ্ট্য OT_CRYPTO_KEY_STORAGE_PERSISTENT
কী অধ্যবসায়: কী স্থায়ী।
OT_CRYPTO_KEY_STORAGE_VOLATILE
কী অধ্যবসায়: কী উদ্বায়ী।
otCryptoKeyType otCryptoKeyType মূল প্রকারগুলি সংজ্ঞায়িত করে।
বৈশিষ্ট্য OT_CRYPTO_KEY_TYPE_AES
কী প্রকার: AES।
OT_CRYPTO_KEY_TYPE_ECDSA
কী প্রকার: ECDSA।
OT_CRYPTO_KEY_TYPE_HMAC
কী প্রকার: HMAC।
OT_CRYPTO_KEY_TYPE_RAW
কী প্রকার: কাঁচা ডেটা।
Typedefs otCryptoKeyRef uint32_t otCryptoKeyRef এই ডেটাটাইপ মূল রেফারেন্স প্রতিনিধিত্ব করে.
otPlatCryptoSha256Hash struct otPlatCryptoSha256Hash otPlatCryptoSha256Hash একটি SHA-256 হ্যাশ প্রতিনিধিত্ব করে।
ভেরিয়েবল ফাংশন 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-এ সংরক্ষিত একটি কী ধ্বংস করুন।
দ্রষ্টব্য: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
সক্ষম থাকা অবস্থায় এই API শুধুমাত্র OT কোর দ্বারা ব্যবহৃত হয়৷
বিস্তারিত পরামিতি [in] aKeyRef
মূল রেফ ধ্বংস করা
রিটার্ন মান OT_ERROR_NONE
সফলভাবে চাবি ধ্বংস.
OT_ERROR_FAILED
চাবি ধ্বংস করতে ব্যর্থ হয়েছে.
otPlatCryptoEcdsaExportPublicKey otError otPlatCryptoEcdsaExportPublicKey(
otCryptoKeyRef aKeyRef,
otPlatCryptoEcdsaPublicKey *aPublicKey
) পাস করা কী রেফারেন্স থেকে সংশ্লিষ্ট পাবলিক কী পান।
ক্রিপ্টো ব্যাকএন্ড লাইব্রেরির (OPENTHREAD_CONFIG_CRYPTO_LIB) উপর নির্ভর করে সর্বজনীন কী আলাদাভাবে সংরক্ষণ করা হয়।
এই এপিআই অবশ্যই একটি আনকমপ্রেসড কার্ভ পয়েন্টের বাইট সিকোয়েন্স উপস্থাপনা হিসাবে সর্বজনীন কী ফেরত নিশ্চিত করতে হবে (RFC 6605 - সেকেন্ড 4)
দ্রষ্টব্য: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
সক্ষম থাকা অবস্থায় এই API শুধুমাত্র OT কোর দ্বারা ব্যবহৃত হয়৷
বিস্তারিত পরামিতি [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 কী-জোড়া তৈরি এবং আমদানি করুন।
দ্রষ্টব্য: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
সক্ষম থাকা অবস্থায় এই API শুধুমাত্র OT কোর দ্বারা ব্যবহৃত হয়৷
বিস্তারিত পরামিতি [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
একটি ইসিডিএসএ কী-পেয়ার কাঠামোর একটি পয়েন্টার যেখানে কী-জোড়া সংরক্ষণ করা হয়।
[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
একটি ইসিডিএসএ কী-পেয়ার কাঠামোর একটি পয়েন্টার যেখানে কী-জোড়া সংরক্ষণ করা হয়।
[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 থেকে ডিটারমিনিস্টিক ডিজিটাল সিগনেচার জেনারেশন পদ্ধতি ব্যবহার করে।
দ্রষ্টব্য: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
সক্ষম থাকা অবস্থায় এই API শুধুমাত্র OT কোর দ্বারা ব্যবহৃত হয়৷
বিস্তারিত পরামিতি [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 স্বাক্ষর যাচাই করতে keyref ব্যবহার করুন৷
দ্রষ্টব্য: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
সক্ষম থাকা অবস্থায় এই API শুধুমাত্র OT কোর দ্বারা ব্যবহৃত হয়৷
বিস্তারিত পরামিতি [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-এ সংরক্ষিত একটি কী রপ্তানি করুন।
দ্রষ্টব্য: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
সক্ষম থাকা অবস্থায় এই API শুধুমাত্র OT কোর দ্বারা ব্যবহৃত হয়৷
বিস্তারিত পরামিতি [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
) পাস করা কী রেফের পিএসএ আইটিএস-এ একটি সংশ্লিষ্ট কী আছে কিনা তা পরীক্ষা করুন।
দ্রষ্টব্য: OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
সক্ষম থাকা অবস্থায় এই API শুধুমাত্র OT কোর দ্বারা ব্যবহৃত হয়৷
বিস্তারিত পরামিতি [in] aKeyRef
চেক করার জন্য মূল রেফ.
রিটার্ন মান 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
তথ্য ক্রম নির্দেশক.
[in] aInfoLength
তথ্য অনুক্রমের দৈর্ঘ্য।
[out] aOutputKey
আউটপুট কী নির্দেশক.
[in] aOutputKeyLength
আউটপুট কী বাফারের আকার।
রিটার্ন মান OT_ERROR_NONE
HKDF বিস্তার সফল হয়েছে.
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
) এইচএমএসি অপারেশনটি চালু করুন।
বিস্তারিত পরামিতি [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 ছিল
otPlatCryptoHmacSha256Start 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-এ একটি কী আমদানি করুন।
দ্রষ্টব্য: যদি aKeyPersistence-এর জন্য OT_CRYPTO_KEY_STORAGE_PERSISTENT পাস করা হয় তাহলে aKeyRef
ইনপুট হয় এবং প্ল্যাটফর্মের দেওয়া aKeyRef ব্যবহার করা উচিত এবং এটি পরিবর্তন করা উচিত নয়। যদি aKeyPersistence-এর জন্য OT_CRYPTO_KEY_STORAGE_VOLATILE পাস করা হয় তাহলে aKeyRef
হল আউটপুট, প্রাথমিক মান কোন ব্যাপার নয় এবং নতুন কী রেফ ফেরত দিতে প্ল্যাটফর্ম API অবশ্যই আপডেট করতে হবে।
বিস্তারিত পরামিতি [in,out] aKeyRef
ক্রিপ্টো অপারেশনের জন্য ব্যবহার করা কী রেফের দিকে নির্দেশক।
[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 এ সেট করা হয়েছে।
OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE
সক্ষম হলেই এই APIটি OT কোর দ্বারা ব্যবহৃত হয়৷
otPlatCryptoInit void otPlatCryptoInit(
void
) ক্রিপ্টো মডিউল শুরু করুন।
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
) CMAC (AES-CMAC-PRF-128) ব্যবহার করে PKCS#5 PBKDF2 সম্পাদন করুন।
বিস্তারিত পরামিতি [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 ছিল
otPlatCryptoSha256Start 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 DER ফরম্যাটে EDCSA কী-পেয়ার প্রতিনিধিত্ব করার জন্য সর্বাধিক বাফার আকার (বাইটে)।
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 সল্ট দৈর্ঘ্য: লবণ উপসর্গ (6) + বর্ধিত প্যানিড (8) + নেটওয়ার্ক নাম (16)
OT_CRYPTO_SHA256_HASH_SIZE OT_CRYPTO_SHA256_HASH_SIZE 32 SHA256 হ্যাশের দৈর্ঘ্য (বাইটে)।
সম্পদ OpenThread API রেফারেন্স বিষয়গুলি উৎস কোড থেকে উদ্ভূত হয়, যা GitHub- এ উপলব্ধ। আরও তথ্যের জন্য, বা আমাদের ডকুমেন্টেশনে অবদান রাখতে, সম্পদ দেখুন।